ffprobe: replace av_destruct_packet() with av_free_packet()
authorStefano Sabatini <stefasab@gmail.com>
Wed, 11 Jan 2012 23:16:21 +0000 (00:16 +0100)
committerStefano Sabatini <stefasab@gmail.com>
Thu, 12 Jan 2012 09:39:24 +0000 (10:39 +0100)
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.

ffprobe.c

index be6ed19..44f2a15 100644 (file)
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -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);