@ -322,6 +322,7 @@ typedef struct InputFile {
int ist_index ; /* index of first stream in ist_table */
int buffer_size ; /* current total buffer size */
int64_t ts_offset ;
int nb_streams ; /* nb streams we are aware of */
} InputFile ;
static InputStream * input_streams = NULL ;
@ -1968,7 +1969,7 @@ static int transcode(AVFormatContext **output_files,
int si = stream_maps [ i ] . stream_index ;
if ( fi < 0 | | fi > nb_input_files - 1 | |
si < 0 | | si > input_files [ fi ] . ctx - > nb_streams - 1 ) {
si < 0 | | si > input_files [ fi ] . nb_streams - 1 ) {
fprintf ( stderr , " Could not find input stream #%d.%d \n " , fi , si ) ;
ret = AVERROR ( EINVAL ) ;
goto fail ;
@ -1976,7 +1977,7 @@ static int transcode(AVFormatContext **output_files,
fi = stream_maps [ i ] . sync_file_index ;
si = stream_maps [ i ] . sync_stream_index ;
if ( fi < 0 | | fi > nb_input_files - 1 | |
si < 0 | | si > input_files [ fi ] . ctx - > nb_streams - 1 ) {
si < 0 | | si > input_files [ fi ] . nb_streams - 1 ) {
fprintf ( stderr , " Could not find sync stream #%d.%d \n " , fi , si ) ;
ret = AVERROR ( EINVAL ) ;
goto fail ;
@ -2600,7 +2601,7 @@ static int transcode(AVFormatContext **output_files,
}
/* the following test is needed in case new streams appear
dynamically in stream : we ignore them */
if ( pkt . stream_index > = input_files [ file_index ] . ctx - > nb_streams )
if ( pkt . stream_index > = input_files [ file_index ] . nb_streams )
goto discard_packet ;
ist_index = input_files [ file_index ] . ist_index + pkt . stream_index ;
ist = & input_streams [ ist_index ] ;
@ -3326,6 +3327,7 @@ static int opt_input_file(const char *opt, const char *filename)
input_files [ nb_input_files - 1 ] . ctx = ic ;
input_files [ nb_input_files - 1 ] . ist_index = nb_input_streams - ic - > nb_streams ;
input_files [ nb_input_files - 1 ] . ts_offset = input_ts_offset - ( copy_ts ? 0 : timestamp ) ;
input_files [ nb_input_files - 1 ] . nb_streams = ic - > nb_streams ;
frame_rate = ( AVRational ) { 0 , 0 } ;
frame_pix_fmt = PIX_FMT_NONE ;