[FFmpeg-devel] [PATCH 04/22] lavc/encode: improve input sample rate validation

Anton Khirnov anton at khirnov.net
Fri Jul 7 12:48:29 EEST 2023


Reject zero sample rates in addition to negative ones and describe them
as 'invalid' rather than 'unsupported'.
---
 libavcodec/encode.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/libavcodec/encode.c b/libavcodec/encode.c
index ba91dcc31e..9a279d9842 100644
--- a/libavcodec/encode.c
+++ b/libavcodec/encode.c
@@ -634,6 +634,11 @@ static int encode_preinit_audio(AVCodecContext *avctx)
                avctx->sample_fmt);
         return AVERROR(EINVAL);
     }
+    if (avctx->sample_rate <= 0) {
+        av_log(avctx, AV_LOG_ERROR, "Invalid audio sample rate: %d\n",
+               avctx->sample_rate);
+        return AVERROR(EINVAL);
+    }
 
     if (c->sample_fmts) {
         for (i = 0; c->sample_fmts[i] != AV_SAMPLE_FMT_NONE; i++) {
@@ -662,11 +667,6 @@ static int encode_preinit_audio(AVCodecContext *avctx)
             return AVERROR(EINVAL);
         }
     }
-    if (avctx->sample_rate < 0) {
-        av_log(avctx, AV_LOG_ERROR, "Specified sample rate %d is not supported\n",
-                avctx->sample_rate);
-        return AVERROR(EINVAL);
-    }
     if (c->ch_layouts) {
         for (i = 0; c->ch_layouts[i].nb_channels; i++) {
             if (!av_channel_layout_compare(&avctx->ch_layout, &c->ch_layouts[i]))
-- 
2.40.1



More information about the ffmpeg-devel mailing list