From cedc5705b479c73287e37113f964442550466eab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Thu, 26 Oct 2023 11:06:51 -0400
Subject: [PATCH] choose_sample_fmt: check for codec->sample_fmts

Change-Id: I3af7827e436e1e78d643c3c06186c1c412f909b5
---
 src/media/libav_utils.cpp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/media/libav_utils.cpp b/src/media/libav_utils.cpp
index 8cf6da14c4..cd54e8fdbe 100644
--- a/src/media/libav_utils.cpp
+++ b/src/media/libav_utils.cpp
@@ -61,12 +61,13 @@ choose_sample_fmt(const AVCodec* codec,
                   const AVSampleFormat* preferred_formats,
                   int preferred_formats_count)
 {
-    for (int i = 0; i < preferred_formats_count; ++i) {
-        for (auto it = codec->sample_fmts; *it != -1; ++it) {
-            if (*it == preferred_formats[i])
-                return preferred_formats[i];
+    if (codec->sample_fmts)
+        for (int i = 0; i < preferred_formats_count; ++i) {
+            for (auto it = codec->sample_fmts; *it != -1; ++it) {
+                if (*it == preferred_formats[i])
+                    return preferred_formats[i];
+            }
         }
-    }
     return AV_SAMPLE_FMT_NONE;
 }
 
-- 
GitLab