mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-23 04:24:35 +02:00
avformat/utils: Update codec_id before using it in the parser init
Fixes assertion failure Fixes: input.avi Found-by: 连一汉 <lianyihan@360.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
47d2be3056
commit
987690799d
@ -3383,6 +3383,17 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
if (!avctx->time_base.num)
|
||||
avctx->time_base = st->time_base;
|
||||
}
|
||||
|
||||
/* check if the caller has overridden the codec id */
|
||||
#if FF_API_LAVF_AVCTX
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
if (st->codec->codec_id != st->internal->orig_codec_id) {
|
||||
st->codecpar->codec_id = st->codec->codec_id;
|
||||
st->codecpar->codec_type = st->codec->codec_type;
|
||||
st->internal->orig_codec_id = st->codec->codec_id;
|
||||
}
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
// only for the split stuff
|
||||
if (!st->parser && !(ic->flags & AVFMT_FLAG_NOPARSE) && st->request_probe <= 0) {
|
||||
st->parser = av_parser_init(st->codecpar->codec_id);
|
||||
@ -3399,16 +3410,6 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
}
|
||||
}
|
||||
|
||||
/* check if the caller has overridden the codec id */
|
||||
#if FF_API_LAVF_AVCTX
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
if (st->codec->codec_id != st->internal->orig_codec_id) {
|
||||
st->codecpar->codec_id = st->codec->codec_id;
|
||||
st->codecpar->codec_type = st->codec->codec_type;
|
||||
st->internal->orig_codec_id = st->codec->codec_id;
|
||||
}
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
if (st->codecpar->codec_id != st->internal->orig_codec_id)
|
||||
st->internal->orig_codec_id = st->codecpar->codec_id;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user