ffmpeg: use close_output_stream more systematically.

pull/28/head
Nicolas George 13 years ago
parent 666fd092be
commit 8b61abac2e
  1. 6
      ffmpeg.c

@ -591,7 +591,7 @@ static int check_recording_time(OutputStream *ost)
if (of->recording_time != INT64_MAX && if (of->recording_time != INT64_MAX &&
av_compare_ts(ost->sync_opts - ost->first_pts, ost->st->codec->time_base, of->recording_time, av_compare_ts(ost->sync_opts - ost->first_pts, ost->st->codec->time_base, of->recording_time,
AV_TIME_BASE_Q) >= 0) { AV_TIME_BASE_Q) >= 0) {
ost->finished = 1; close_output_stream(ost);
return 0; return 0;
} }
return 1; return 1;
@ -1325,7 +1325,7 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
if (of->recording_time != INT64_MAX && if (of->recording_time != INT64_MAX &&
ist->pts >= of->recording_time + of->start_time) { ist->pts >= of->recording_time + of->start_time) {
ost->finished = 1; close_output_stream(ost);
return; return;
} }
@ -2410,7 +2410,7 @@ static int need_output(void)
if (ost->frame_number >= ost->max_frames) { if (ost->frame_number >= ost->max_frames) {
int j; int j;
for (j = 0; j < of->ctx->nb_streams; 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; continue;
} }

Loading…
Cancel
Save