X-Git-Url: http://git.ffmpeg.org/gitweb/ffmpeg.git/blobdiff_plain/fe5bc46f60c0ebd82593999520ebff1d230b0483..8f899545502c287653223ca27522c4abcd3a2e91:/ffmpeg.c diff --git a/ffmpeg.c b/ffmpeg.c index 5c6a94fba5..cef7e425d1 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2959,7 +2959,11 @@ static int transcode_init(void) } if (ost->stream_copy) { - uint64_t extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE; + uint64_t extra_size; + + av_assert0(ist && !ost->filter); + + extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE; if (extra_size > INT_MAX) { return AVERROR(EINVAL); @@ -4893,6 +4897,13 @@ static void init_output_filter(OutputFilter *ofilter, OptionsContext *o, ofilter->ost = ost; + if (ost->stream_copy) { + av_log(NULL, AV_LOG_ERROR, "Streamcopy requested for output stream %d:%d, " + "which is fed from a complex filtergraph. Filtering and streamcopy " + "cannot be used together.\n", ost->file_index, ost->index); + exit_program(1); + } + if (configure_output_filter(ofilter->graph, ofilter, ofilter->out_tmp) < 0) { av_log(NULL, AV_LOG_FATAL, "Error configuring filter.\n"); exit_program(1);