|
|
@ -1539,20 +1539,13 @@ 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; |
|
|
|
pkt->dts = sample->timestamp; |
|
|
|
pkt->dts = sample->timestamp; |
|
|
|