summaryrefslogtreecommitdiff
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-08-18 15:10:13 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-08-18 15:20:32 +0200
commit6c180b35c43f0738d8a3d5c08a01209b51eda569 (patch)
treeb278223305ed9dc4af792f53a376a558ad9155ee /ffmpeg.c
parent69fc2489c4059886fcda2de91029b43447330951 (diff)
parent7f9aaa499b8a5ce066cc17aac6ebbdf0111980b6 (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: mpegvideo_enc: don't use deprecated avcodec_encode_video(). cmdutils: refactor -codecs option. avconv: make -shortest a per-output file option. lavc: add avcodec_descriptor_get_by_name(). lavc: add const to AVCodec* function parameters. swf(dec): replace CODEC_ID with AV_CODEC_ID dvenc: don't use deprecated AVCODEC_MAX_AUDIO_FRAME_SIZE rtmpdh: Do not generate the same private key every time when using libnettle rtp: remove ff_rtp_get_rtcp_file_handle(). rtsp.c: use ffurl_get_multi_file_handle() instead of ff_rtp_get_rtcp_file_handle() avio: add (ff)url_get_multi_file_handle() for getting more than one fd h264: vdpau: fix crash with unsupported colorspace amrwbdec: Decode the fr_quality bit properly Conflicts: Changelog cmdutils.c cmdutils_common_opts.h doc/ffmpeg.texi ffmpeg.c ffmpeg.h ffmpeg_opt.c libavcodec/h264.c libavcodec/options.c libavcodec/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index b97ad7bdbf..860499a1f3 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2783,10 +2783,20 @@ static int process_input(void)
poll_filters();
}
- if (opt_shortest)
- return AVERROR_EOF;
- else
- return AVERROR(EAGAIN);
+ for (i = 0; i < nb_output_streams; i++) {
+ OutputStream *ost = output_streams[i];
+ OutputFile *of = output_files[ost->file_index];
+ AVFormatContext *os = output_files[ost->file_index]->ctx;
+
+ if (of->shortest) {
+ int j;
+ for (j = 0; j < of->ctx->nb_streams; j++)
+ output_streams[of->ost_index + j]->finished = 1;
+ continue;
+ }
+ }
+
+ return AVERROR(EAGAIN);
}
reset_eagain();