[FFmpeg-devel] [PATCH] cmdutils: allow to specify a stream by its ID.
Nicolas George
nicolas.george at normalesup.org
Sun May 20 12:48:12 CEST 2012
The stream can be specified as "#129" or "#0x81".
It is especially useful for VOBs dumped from a DVD,
where the language-id mapping is available externally
and the probing can find the streams in a random order.
Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
cmdutils.c | 6 ++++++
doc/avtools-common-opts.texi | 2 ++
2 files changed, 8 insertions(+)
diff --git a/cmdutils.c b/cmdutils.c
index 2879a42..2c84394 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -1109,6 +1109,12 @@ int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)
return 1;
}
return 0;
+ } else if (*spec == '#') {
+ int sid;
+ char *endptr;
+ sid = strtol(spec + 1, &endptr, 0);
+ if (!*endptr)
+ return st->id == sid;
} else if (!*spec) /* empty specifier, matches everything */
return 1;
diff --git a/doc/avtools-common-opts.texi b/doc/avtools-common-opts.texi
index c25b535..8246a7c 100644
--- a/doc/avtools-common-opts.texi
+++ b/doc/avtools-common-opts.texi
@@ -41,6 +41,8 @@ streams of this type.
@item p:@var{program_id}[:@var{stream_index}]
If @var{stream_index} is given, then matches stream number @var{stream_index} in
program with id @var{program_id}. Otherwise matches all streams in this program.
+ at item #@var{stream_id}
+Matches the stream by format-specific ID.
@end table
@section Generic options
--
1.7.10
More information about the ffmpeg-devel
mailing list