changeset 3026:6acb70995546 libavformat

more correct and simpler
author bcoudurier
date Mon, 11 Feb 2008 14:10:29 +0000
parents 41d68d056417
children 8ba21013bcbf
files mov.c
diffstat 1 files changed, 3 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/mov.c	Mon Feb 11 03:30:42 2008 +0000
+++ b/mov.c	Mon Feb 11 14:10:29 2008 +0000
@@ -1539,20 +1539,13 @@
                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;