ffprobe: replace av_destruct_packet() with av_free_packet()

av_destruct_packet() always frees the packet data even when the demuxer
is going to re-use it, thus causing crashes when decoding audio
frames (as implemented in a pending patch).

av_free_packet() is used instead, as it allows each demuxer to set the
right packet data releasing mechanism through the pkt->destruct callback.
This commit is contained in:
Stefano Sabatini 2012-01-12 00:16:21 +01:00
parent a8b0ece6e5
commit 7328c2fc21

View File

@ -1349,7 +1349,7 @@ static void show_packets(WriterContext *w, AVFormatContext *fmt_ctx)
if (do_show_frames &&
get_video_frame(fmt_ctx, &frame, &pkt)) {
show_frame(w, &frame, fmt_ctx->streams[pkt.stream_index]);
av_destruct_packet(&pkt);
av_free_packet(&pkt);
}
}
av_init_packet(&pkt);