ffmpeg: move packet deallocation into write_frame
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 24 Mar 2014 18:50:39 +0000 (19:50 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 24 Mar 2014 18:50:39 +0000 (19:50 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c

index 2f8cc0e..a5c1026 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -666,6 +666,7 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
         main_return_code = 1;
         close_all_output_streams(ost, MUXER_FINISHED | ENCODER_FINISHED, ENCODER_FINISHED);
     }
+    av_free_packet(pkt);
 }
 
 static void close_output_stream(OutputStream *ost)
@@ -743,8 +744,6 @@ static void do_audio_out(AVFormatContext *s, OutputStream *ost,
         }
 
         write_frame(s, &pkt, ost);
-
-        av_free_packet(&pkt);
     }
 }
 
@@ -1037,7 +1036,6 @@ static void do_video_out(AVFormatContext *s,
 
             frame_size = pkt.size;
             write_frame(s, &pkt, ost);
-            av_free_packet(&pkt);
 
             /* if two pass, output log */
             if (ost->logfile && enc->stats_out) {