diff --git a/ffmpeg.c b/ffmpeg.c index 347348f70b..e81d38af41 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1512,29 +1512,29 @@ static int av_encode(AVFormatContext **output_files, found = 1; } } else { - /* get corresponding input stream index : we select the first one with the right type */ - found = 0; - for(j=0;jdiscard && - ist->st->codec->codec_type == ost->st->codec->codec_type) { - ost->source_index = j; - found = 1; - break; - } - } - } - - if (!found) { - if(! opt_programid) { - /* try again and reuse existing stream */ + /* get corresponding input stream index : we select the first one with the right type */ + found = 0; for(j=0;jst->codec->codec_type == ost->st->codec->codec_type) { + if (ist->discard && + ist->st->codec->codec_type == ost->st->codec->codec_type) { ost->source_index = j; found = 1; + break; } } + } + + if (!found) { + if(! opt_programid) { + /* try again and reuse existing stream */ + for(j=0;jst->codec->codec_type == ost->st->codec->codec_type) { + ost->source_index = j; + found = 1; + } + } } if (!found) { fprintf(stderr, "Could not find input stream matching output stream #%d.%d\n",