aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhao Zhili <zhilizhao@tencent.com>2023-12-19 23:37:03 +0800
committerZhao Zhili <zhilizhao@tencent.com>2023-12-21 19:30:25 +0800
commitf72d781339716ba5cb086f4043b8626cea814213 (patch)
tree34475c7622dfbda861891871c1a23bc82931818b
parent42a4c59e592dbe142c2451e0ac8132b2de574b3e (diff)
downloadffmpeg-f72d781339716ba5cb086f4043b8626cea814213.tar.gz
fftools/ffmpeg_enc: assert necessary frame fields before create encoder
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
-rw-r--r--fftools/ffmpeg_enc.c6
1 files changed, 6 insertions, 0 deletions
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 =