[FFmpeg-cvslog] avformat/swfdec: Use side data to communicate w/h changes to the decoder
Michael Niedermayer
git at videolan.org
Tue Oct 7 04:22:40 CEST 2014
ffmpeg | branch: release/1.2 | Michael Niedermayer <michaelni at gmx.at> | Tue Sep 2 05:22:26 2014 +0200| [248a2fca908478d5036c8f5e418e2ead41b2f0a6] | committer: Michael Niedermayer
avformat/swfdec: Use side data to communicate w/h changes to the decoder
Fixes reading from freed data
Fixes part of Ticket3539
Reviewed-by: Paul B Mahol <onemda at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 1c55d0ff3202a04ebc67a72d72391104e9bdb633)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit a9734e7d3017ffc9539eaac2a8acce3ad427f746)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=248a2fca908478d5036c8f5e418e2ead41b2f0a6
---
libavformat/swfdec.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libavformat/swfdec.c b/libavformat/swfdec.c
index 54e0f6d..00926c8 100644
--- a/libavformat/swfdec.c
+++ b/libavformat/swfdec.c
@@ -347,11 +347,15 @@ static int swf_read_packet(AVFormatContext *s, AVPacket *pkt)
avpriv_set_pts_info(vst, 64, 256, swf->frame_rate);
st = vst;
}
- st->codec->width = width;
- st->codec->height = height;
if ((res = av_new_packet(pkt, out_len - colormapsize * colormapbpp)) < 0)
goto bitmap_end;
+ if (!st->codec->width && !st->codec->height) {
+ st->codec->width = width;
+ st->codec->height = height;
+ } else {
+ ff_add_param_change(pkt, 0, 0, 0, width, height);
+ }
pkt->pos = pos;
pkt->stream_index = st->index;
More information about the ffmpeg-cvslog
mailing list