From ea07063fd82686af3fabb45e5ed10aa48d084d61 Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Sun, 20 May 2012 12:30:16 +0200 Subject: [PATCH] cmdutils: allow to specify a stream by its ID. 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. --- cmdutils.c | 6 ++++++ doc/avtools-common-opts.texi | 2 ++ 2 files changed, 8 insertions(+) diff --git a/cmdutils.c b/cmdutils.c index 2879a420c1..2c8439499d 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 c25b535a9d..8246a7cc8f 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. +@item #@var{stream_id} +Matches the stream by format-specific ID. @end table @section Generic options