diff options
author | Björn Axelsson <gecko@acc.umu.se> | 2009-02-09 01:38:12 +0000 |
---|---|---|
committer | Robert Swain <robert.swain@gmail.com> | 2009-02-09 01:38:12 +0000 |
commit | 16a59a7bb69399170b8060c4f9805362d9d31ab3 (patch) | |
tree | 22d05a4e779285d168a2d4ebd6e2ba64f45ad1da | |
parent | f54b31b9ef1b3b4f6271ae7d58cbea398a4f5576 (diff) | |
download | ffmpeg-16a59a7bb69399170b8060c4f9805362d9d31ab3.tar.gz |
Add ffplay subtitle stream selection command-line parameter
Patch by Björn Axelsson ( gecko A acc D umu D se )
Originally committed as revision 17089 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | ffplay.c | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -191,6 +191,7 @@ static int audio_disable; static int video_disable; static int wanted_audio_stream= 0; static int wanted_video_stream= 0; +static int wanted_subtitle_stream= -1; static int seek_by_bytes; static int display_disable; static int show_status; @@ -1917,12 +1918,13 @@ static int decode_thread(void *arg) { VideoState *is = arg; AVFormatContext *ic; - int err, i, ret, video_index, audio_index; + int err, i, ret, video_index, audio_index, subtitle_index; AVPacket pkt1, *pkt = &pkt1; AVFormatParameters params, *ap = ¶ms; video_index = -1; audio_index = -1; + subtitle_index = -1; is->video_stream = -1; is->audio_stream = -1; is->subtitle_stream = -1; @@ -1984,6 +1986,11 @@ static int decode_thread(void *arg) if ((video_index < 0 || wanted_video_stream-- > 0) && !video_disable) video_index = i; break; + case CODEC_TYPE_SUBTITLE: + if (wanted_subtitle_stream >= 0 && !video_disable && + (subtitle_index < 0 || wanted_subtitle_stream-- > 0)) + subtitle_index = i; + break; default: break; } @@ -2005,6 +2012,10 @@ static int decode_thread(void *arg) is->show_audio = 1; } + if (subtitle_index >= 0) { + stream_component_open(is, subtitle_index); + } + if (is->video_stream < 0 && is->audio_stream < 0) { fprintf(stderr, "%s: could not open codecs\n", is->filename); ret = -1; @@ -2486,6 +2497,7 @@ static const OptionDef options[] = { { "vn", OPT_BOOL, {(void*)&video_disable}, "disable video" }, { "ast", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&wanted_audio_stream}, "", "" }, { "vst", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&wanted_video_stream}, "", "" }, + { "sst", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&wanted_subtitle_stream}, "", "" }, { "ss", HAS_ARG | OPT_FUNC2, {(void*)&opt_seek}, "seek to a given position in seconds", "pos" }, { "bytes", OPT_BOOL, {(void*)&seek_by_bytes}, "seek by bytes" }, { "nodisp", OPT_BOOL, {(void*)&display_disable}, "disable graphical display" }, |