---
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
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel