support AVDISCARD_ALL
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 6 Mar 2008 13:40:29 +0000 (13:40 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 6 Mar 2008 13:40:29 +0000 (13:40 +0000)
Originally committed as revision 12350 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mxf.c

index 0c69cd2..5a824ac 100644 (file)
@@ -353,6 +353,8 @@ static int mxf_read_packet(AVFormatContext *s, AVPacket *pkt)
                 url_fskip(s->pb, klv.length);
                 return -1;
             }
+            if (s->streams[index]->discard == AVDISCARD_ALL)
+                goto skip;
             /* check for 8 channels AES3 element */
             if (klv.key[12] == 0x06 && klv.key[13] == 0x01 && klv.key[14] == 0x10) {
                 if (mxf_get_d10_aes3_packet(s->pb, s->streams[index], pkt, klv.length) < 0) {
@@ -365,6 +367,7 @@ static int mxf_read_packet(AVFormatContext *s, AVPacket *pkt)
             pkt->pos = klv.offset;
             return 0;
         } else
+        skip:
             url_fskip(s->pb, klv.length);
     }
     return AVERROR(EIO);