diff options
author | Anssi Hannula <anssi.hannula@iki.fi> | 2016-07-26 13:23:43 +0300 |
---|---|---|
committer | Anssi Hannula <anssi.hannula@iki.fi> | 2016-07-28 01:24:57 +0300 |
commit | 60873bf992eab1d3bad8dd0fd11336363d44854d (patch) | |
tree | 1f417bace304a78d349c09943a314fd2a0ac7e83 /libavformat | |
parent | c26305f6aec005db39e04e628f6294635ddebaad (diff) | |
download | ffmpeg-streaming-60873bf992eab1d3bad8dd0fd11336363d44854d.zip ffmpeg-streaming-60873bf992eab1d3bad8dd0fd11336363d44854d.tar.gz |
avformat/utils: Fix find_stream_info not considering the extradata it found
Commit 9200514ad8717c6 ("lavf: replace AVStream.codec with
AVStream.codecpar") merged in commit 6f69f7a8bf6a0d01 changed
avformat_find_stream_info() to put the extradata it got from
st->parser->parser->split() to st->internal->avctx instead of st->codec
(extradata in st->internal->avctx will be later copied to st->codecpar).
However, in the same function, the "is stream ready?" check was changed
to check for extradata in st->codecpar instead of st->codec, even
though st->codecpar is not yet updated at that point.
Extradata retrieved from split() is therefore not considered anymore,
and avformat_find_stream_info() will therefore needlessly continue
probing in some cases.
Fix that by checking for the extradata at st->internal->avctx where it
is actually put.
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/utils.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index e5a99ff..5a902ea 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -3432,7 +3432,7 @@ FF_ENABLE_DEPRECATION_WARNINGS break; } if (st->parser && st->parser->parser->split && - !st->codecpar->extradata) + !st->internal->avctx->extradata) break; if (st->first_dts == AV_NOPTS_VALUE && !(ic->iformat->flags & AVFMT_NOTIMESTAMPS) && |