summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-06-21 19:24:17 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-06-21 19:24:17 +0000
commit4e5235e91f453e44a45268b5d9114627e87c20d0 (patch)
tree71031f5e645659a7b4df38c7e319f7c9ae35a144 /libmpdemux
parentdd6c38075d95e9ef8918b207455775cc6ba79c12 (diff)
downloadmpv-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')
-rw-r--r--libmpdemux/demux_lavf.c14
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);