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;