--- libavformat/mux.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavformat/mux.c b/libavformat/mux.c index 33301f1..0ed0c3d 100644 --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -1054,6 +1054,16 @@ int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt) } } + if (!st->internal->avctx->extradata && st->codecpar->extradata) { + int size = st->codecpar->extradata_size; + if (size < 0 || size >= INT32_MAX - AV_INPUT_BUFFER_PADDING_SIZE) + return AVERROR(EINVAL); + st->internal->avctx->extradata = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE); + if (!st->internal->avctx->extradata) + return AVERROR(ENOMEM); + st->internal->avctx->extradata_size = size; + memcpy(st->internal->avctx->extradata, st->codecpar->extradata, size); + } av_apply_bitstream_filters(st->internal->avctx, pkt, st->internal->bsfc); if (pkt->size == 0 && pkt->side_data_elems == 0) return 0; -- 2.7.3
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel