aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2016-06-30 14:10:42 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2016-06-30 17:43:01 +0200
commitc2e13d2ecd388bab28e743c34ed146c5ed213fc9 (patch)
treecd46b24626286691fbe0a7045d409e111f69df61
parent042fb69deb5303d147b21ab1061387fb6e0c7afc (diff)
downloadffmpeg-c2e13d2ecd388bab28e743c34ed146c5ed213fc9.tar.gz
avformat/utils: update deprecated AVStream->codec when the context is updated
This ensures the AVStream->codec entry is kept in sync when new streams are discovered mid-playback or changes to the context occur from other sources. Fixes trac 5678. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavformat/utils.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 6f343f228c..d2a709c9a4 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1483,6 +1483,15 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
if (ret < 0)
return ret;
+#if FF_API_LAVF_AVCTX
+FF_DISABLE_DEPRECATION_WARNINGS
+ /* update deprecated public codec context */
+ ret = avcodec_parameters_to_context(st->codec, st->codecpar);
+ if (ret < 0)
+ return ret;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
+
st->internal->need_context_update = 0;
}