aboutsummaryrefslogtreecommitdiffstats
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-10-29 20:25:39 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-10-29 20:25:39 +0200
commite71aaad283533f879cb09faaa58060412c55aaa3 (patch)
treed66706bdb836c3451ef1b9b37f24b632c818cd38 /ffmpeg.c
parenta18ecfeb365c9fe3e97a782d2d1aeb4e875b469c (diff)
downloadffmpeg-e71aaad283533f879cb09faaa58060412c55aaa3.tar.gz
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.
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index 38464f7c13..f2c0bf2aed 100644
--- a/ffmpeg.c
+++ b/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)\