diff options
author | nicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-06-21 19:24:17 +0000 |
---|---|---|
committer | nicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-06-21 19:24:17 +0000 |
commit | 4e5235e91f453e44a45268b5d9114627e87c20d0 (patch) | |
tree | 71031f5e645659a7b4df38c7e319f7c9ae35a144 /libmpdemux/demux_lavf.c | |
parent | dd6c38075d95e9ef8918b207455775cc6ba79c12 (diff) | |
download | mpv-4e5235e91f453e44a45268b5d9114627e87c20d0.tar.bz2 mpv-4e5235e91f453e44a45268b5d9114627e87c20d0.tar.xz |
support for -alang
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18778 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_lavf.c')
-rw-r--r-- | libmpdemux/demux_lavf.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c index 94ade929db..d1d08f3a57 100644 --- a/libmpdemux/demux_lavf.c +++ b/libmpdemux/demux_lavf.c @@ -37,6 +37,8 @@ #define PROBE_BUF_SIZE 2048 +extern char *audio_lang; + typedef struct lavf_priv_t{ AVInputFormat *avif; AVFormatContext *avfc; @@ -244,12 +246,14 @@ static demuxer_t* demux_open_lavf(demuxer_t *demuxer){ break; } if( mp_msg_test(MSGT_HEADER,MSGL_V) ) print_wave_header(sh_audio->wf, MSGL_V); - if(demuxer->audio->id != i && demuxer->audio->id != -1) - st->discard= AVDISCARD_ALL; - else{ - demuxer->audio->id = i; + if((audio_lang && st->language[0] && !strncmp(audio_lang, st->language, 3)) + || (demuxer->audio->id == i || demuxer->audio->id == -1) + ) { + demuxer->audio->id = i; demuxer->audio->sh= demuxer->a_streams[i]; - } + } + else + st->discard= AVDISCARD_ALL; break;} case CODEC_TYPE_VIDEO:{ BITMAPINFOHEADER *bih=calloc(sizeof(BITMAPINFOHEADER) + codec->extradata_size,1); |