[FFmpeg-cvslog] Revert "avcodec/decode: copy the output parameters from the last bsf in the chain back to the AVCodecContext"
James Almer
git at videolan.org
Wed Oct 24 22:43:45 EEST 2018
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Wed Sep 12 15:01:14 2018 -0300| [87588caf8cff318cd022ad5002304198c6ddbd51] | committer: James Almer
Revert "avcodec/decode: copy the output parameters from the last bsf in the chain back to the AVCodecContext"
This reverts commit f631c328e680a3dd491936b92f69970c20cdcfc7.
The avcodec_parameters_to_context() call was freeing and reallocating
AVCodecContext->extradata, essentially taking ownership of it, which according
to the doxy is user owned. This is an API break and has produced crashes in
some library users like Firefox[1].
Revert until a better solution is found to internally propagate the filtered
extradata back into the decoder context, or a decision is made to change the
API.
[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1486080
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=87588caf8cff318cd022ad5002304198c6ddbd51
---
libavcodec/decode.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index 4607e9f318..2e82f6b506 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -281,10 +281,6 @@ int ff_decode_bsfs_init(AVCodecContext *avctx)
bsfs_str++;
}
- ret = avcodec_parameters_to_context(avctx, s->bsfs[s->nb_bsfs - 1]->par_out);
- if (ret < 0)
- return ret;
-
return 0;
fail:
ff_decode_bsfs_uninit(avctx);
More information about the ffmpeg-cvslog
mailing list