1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-10 06:10:52 +02:00

avconv: fix a segfault on -c copy with -filter_complex.

This commit is contained in:
Anton Khirnov
2012-04-21 07:03:06 +02:00
parent 462a5b7839
commit 8c4022aceb

View File

@@ -2612,7 +2612,11 @@ static int transcode_init(void)
} }
if (ost->stream_copy) { 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) { if (extra_size > INT_MAX) {
return AVERROR(EINVAL); return AVERROR(EINVAL);
@@ -4194,6 +4198,13 @@ static void init_output_filter(OutputFilter *ofilter, OptionsContext *o,
ofilter->ost = ost; 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) { if (configure_output_filter(ofilter->graph, ofilter, ofilter->out_tmp) < 0) {
av_log(NULL, AV_LOG_FATAL, "Error configuring filter.\n"); av_log(NULL, AV_LOG_FATAL, "Error configuring filter.\n");
exit_program(1); exit_program(1);