OSDN Git Service

streamid does not work with newaudio, newvideo, newsubtitle
authorMike Scheutzow <mjs973@optonline.net>
Sat, 15 Jan 2011 16:11:55 +0000 (16:11 +0000)
committerJanne Grunau <janne-ffmpeg@jannau.net>
Sat, 22 Jan 2011 03:10:22 +0000 (04:10 +0100)
fixes issue2465.

The problem is that the ffmpeg (the app) -streamid option did not work
with -newaudio/-newvideo/-newsubtitle.

The cause was a conflict between the feature where streamid values were
reset to default for each output filename, and the implementation of
-new*, which requires that the -new* option be specified after the
target filename.

My patch changes the ffmpeg behavior so that user-specified streamid
values apply to all the following output files on the command line
(rather than just the next output filename.)

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
doc/ffmpeg.texi
ffmpeg.c

index c2fff7c..1732c9b 100644 (file)
@@ -712,8 +712,10 @@ Set the maximum demux-decode delay.
 @item -muxpreload @var{seconds}
 Set the initial demux-decode delay.
 @item -streamid @var{output-stream-index}:@var{new-value}
-Assign a new value to a stream's stream-id field in the next output file.
-All stream-id fields are reset to default for each output file.
+Assign a new stream-id value to an output stream. This option should be
+specified prior to the output filename to which it applies.
+For the situation where multiple output files exist, a streamid
+may be reassigned to a different value.
 
 For example, to set the stream 0 PID to 33 and the stream 1 PID to 36 for
 an output mpegts file:
index 7cce343..0b2bab2 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3816,7 +3816,6 @@ static void opt_output_file(const char *filename)
 
     set_context_opts(oc, avformat_opts, AV_OPT_FLAG_ENCODING_PARAM, NULL);
 
-    nb_streamid_map = 0;
     av_freep(&forced_key_frames);
 }