* fixing DV-in-AVI type1 packet production bug
authorRoman Shaposhnik <roman@shaposhnik.org>
Sat, 1 Apr 2006 23:13:53 +0000 (23:13 +0000)
committerRoman Shaposhnik <roman@shaposhnik.org>
Sat, 1 Apr 2006 23:13:53 +0000 (23:13 +0000)
Originally committed as revision 5262 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/dv.c

index 88680fc07c7eac718a46e869cdd6e1dca8c52da0..bec1759202abc60a36925cde7de4bebc3be9e5ee 100644 (file)
@@ -834,8 +834,11 @@ int dv_produce_packet(DVDemuxContext *c, AVPacket *pkt,
 {
     int size, i;
 
-    if (buf_size < 4 || buf_size < c->sys->frame_size)
-        return -1;   /* Broken frame, or not enough data */
+    if (buf_size < DV_PROFILE_BYTES ||
+        !(c->sys = dv_frame_profile(buf)) ||
+        buf_size < c->sys->frame_size) {
+          return -1;   /* Broken frame, or not enough data */
+    }
 
     /* Queueing audio packet */
     /* FIXME: in case of no audio/bad audio we have to do something */