[FFmpeg-cvslog] fftools/ffmpeg_enc: assert necessary frame fields before create encoder

Zhao Zhili git at videolan.org
Thu Dec 21 05:38:22 EET 2023


ffmpeg | branch: master | Zhao Zhili <zhilizhao at tencent.com> | Tue Dec 19 23:37:03 2023 +0800| [f72d781339716ba5cb086f4043b8626cea814213] | committer: Zhao Zhili

fftools/ffmpeg_enc: assert necessary frame fields before create encoder

Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f72d781339716ba5cb086f4043b8626cea814213
---

 fftools/ffmpeg_enc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
index 57590a43a3..2a7fba0c51 100644
--- a/fftools/ffmpeg_enc.c
+++ b/fftools/ffmpeg_enc.c
@@ -206,6 +206,9 @@ int enc_open(void *opaque, const AVFrame *frame)
 
     switch (enc_ctx->codec_type) {
     case AVMEDIA_TYPE_AUDIO:
+        av_assert0(frame->format != AV_SAMPLE_FMT_NONE &&
+                   frame->sample_rate > 0 &&
+                   frame->ch_layout.nb_channels > 0);
         enc_ctx->sample_fmt     = frame->format;
         enc_ctx->sample_rate    = frame->sample_rate;
         ret = av_channel_layout_copy(&enc_ctx->ch_layout, &frame->ch_layout);
@@ -220,6 +223,9 @@ int enc_open(void *opaque, const AVFrame *frame)
         break;
 
     case AVMEDIA_TYPE_VIDEO: {
+        av_assert0(frame->format != AV_PIX_FMT_NONE &&
+                   frame->width > 0 &&
+                   frame->height > 0);
         enc_ctx->width  = frame->width;
         enc_ctx->height = frame->height;
         enc_ctx->sample_aspect_ratio = ost->st->sample_aspect_ratio =



More information about the ffmpeg-cvslog mailing list