ffmpeg: use close_output_stream more systematically.
authorNicolas George <nicolas.george@normalesup.org>
Mon, 20 Aug 2012 09:08:34 +0000 (11:08 +0200)
committerNicolas George <nicolas.george@normalesup.org>
Wed, 22 Aug 2012 17:04:30 +0000 (19:04 +0200)
ffmpeg.c

index c39e5a3..4e8d32d 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -591,7 +591,7 @@ static int check_recording_time(OutputStream *ost)
     if (of->recording_time != INT64_MAX &&
         av_compare_ts(ost->sync_opts - ost->first_pts, ost->st->codec->time_base, of->recording_time,
                       AV_TIME_BASE_Q) >= 0) {
-        ost->finished = 1;
+        close_output_stream(ost);
         return 0;
     }
     return 1;
@@ -1325,7 +1325,7 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
 
     if (of->recording_time != INT64_MAX &&
         ist->pts >= of->recording_time + of->start_time) {
-        ost->finished = 1;
+        close_output_stream(ost);
         return;
     }
 
@@ -2410,7 +2410,7 @@ static int need_output(void)
         if (ost->frame_number >= ost->max_frames) {
             int j;
             for (j = 0; j < of->ctx->nb_streams; j++)
-                output_streams[of->ost_index + j]->finished = 1;
+                close_output_stream(output_streams[of->ost_index + j]);
             continue;
         }