When resetting vst->pkt.data to NULL, also set vst->slices.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 13 Sep 2009 11:08:59 +0000 (11:08 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 13 Sep 2009 11:08:59 +0000 (11:08 +0000)
This avoids a crash when the next slice is not a start slice and thus
pkt->data is still NULL.
This probably only happens with broken or unsupported files like
http://samples.mplayerhq.hu/real/multirate/JustaSpa1937_64kb.rm
that need further fixes, but keeping vst state consistent is still a good idea.

Originally committed as revision 19830 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/rmdec.c

index 10e7c2a..8cf98c2 100644 (file)
@@ -637,6 +637,7 @@ static int rm_assemble_video_frame(AVFormatContext *s, ByteIOContext *pb,
         pkt->size = vst->videobufpos + 8*(vst->cur_slice - vst->slices);
         pkt->pts = AV_NOPTS_VALUE;
         pkt->pos = vst->pktpos;
+        vst->slices = 0;
         return 0;
     }