mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-17 20:17:55 +02:00
ffmpeg: Fix regression where various fields where not initialized leading to segfaults
Bug introduced by: commit f12f40b31aa7f030393cfc756e83f4aa4265e448 Author: Anton Khirnov <anton@khirnov.net> Date: Tue Aug 30 04:05:20 2011 +0200 ffmpeg: get rid of new* options. They are confusing, irregular and redundant -- -map already contains all the information. Stream maps can now be parsed in opt_output_file(). Add a more user-friendly default behavior in case no maps are present. Breaks -programid for now, but it never worked properly anyway. A better solution will be written soon.
This commit is contained in:
parent
a18ecfeb36
commit
e71aaad283
13
ffmpeg.c
13
ffmpeg.c
@ -3681,6 +3681,7 @@ static void opt_output_file(void *optctx, const char *filename)
|
||||
|
||||
if (!strcmp(file_oformat->name, "ffm") &&
|
||||
av_strstart(filename, "http:", NULL)) {
|
||||
int j;
|
||||
/* special case for files sent to ffserver: we get the stream
|
||||
parameters from ffserver */
|
||||
int err = read_ffserver_streams(o, oc, filename);
|
||||
@ -3688,6 +3689,18 @@ static void opt_output_file(void *optctx, const char *filename)
|
||||
print_error(filename, err);
|
||||
exit_program(1);
|
||||
}
|
||||
for(j = nb_output_streams - oc->nb_streams; j < nb_output_streams; j++) {
|
||||
ost = &output_streams[j];
|
||||
for (i = 0; i < nb_input_streams; i++) {
|
||||
ist = &input_streams[i];
|
||||
if(ist->st->codec->codec_type == ost->st->codec->codec_type){
|
||||
ost->sync_ist= ist;
|
||||
ost->source_index= i;
|
||||
ist->discard = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (!o->nb_stream_maps) {
|
||||
/* pick the "best" stream of each type */
|
||||
#define NEW_STREAM(type, index)\
|
||||
|
Loading…
x
Reference in New Issue
Block a user