more correct and simpler
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Mon, 11 Feb 2008 14:10:29 +0000 (14:10 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Mon, 11 Feb 2008 14:10:29 +0000 (14:10 +0000)
Originally committed as revision 11904 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index 151bd60..d0a3157 100644 (file)
@@ -1539,20 +1539,13 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
                sc->ffindex, sample->pos);
         return -1;
     }
-#ifdef CONFIG_DV_DEMUXER
-    if (sc->dv_audio_container) {
-        dv_get_packet(mov->dv_demux, pkt);
-        dprintf(s, "dv audio pkt size %d\n", pkt->size);
-    } else {
-#endif
         av_get_packet(s->pb, pkt, sample->size);
 #ifdef CONFIG_DV_DEMUXER
-        if (mov->dv_demux) {
-            void *pkt_destruct_func = pkt->destruct;
+        if (mov->dv_demux && sc->dv_audio_container) {
             dv_produce_packet(mov->dv_demux, pkt, pkt->data, pkt->size);
-            pkt->destruct = pkt_destruct_func;
+            av_free(pkt->data);
+            dv_get_packet(mov->dv_demux, pkt);
         }
-    }
 #endif
     pkt->stream_index = sc->ffindex;
     pkt->dts = sample->timestamp;