more correct and simpler

Originally committed as revision 11904 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Baptiste Coudurier 2008-02-11 14:10:29 +00:00
parent f1618fd939
commit 4f0e712ecb

View File

@ -1539,19 +1539,12 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
sc->ffindex, sample->pos); sc->ffindex, sample->pos);
return -1; 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); av_get_packet(s->pb, pkt, sample->size);
#ifdef CONFIG_DV_DEMUXER #ifdef CONFIG_DV_DEMUXER
if (mov->dv_demux) { if (mov->dv_demux && sc->dv_audio_container) {
void *pkt_destruct_func = pkt->destruct;
dv_produce_packet(mov->dv_demux, pkt, pkt->data, pkt->size); 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 #endif
pkt->stream_index = sc->ffindex; pkt->stream_index = sc->ffindex;