Mercurial > mplayer.hg
comparison libmpdemux/demux_lavf.c @ 18775:bdcbf1070680
support for -alang
author | nicodvb |
---|---|
date | Wed, 21 Jun 2006 19:24:17 +0000 |
parents | 369074e0eb7b |
children | df3924884fd0 |
comparison
equal
deleted
inserted
replaced
18774:332e5ad0ed53 | 18775:bdcbf1070680 |
---|---|
34 #include "avformat.h" | 34 #include "avformat.h" |
35 #include "avi.h" | 35 #include "avi.h" |
36 #endif | 36 #endif |
37 | 37 |
38 #define PROBE_BUF_SIZE 2048 | 38 #define PROBE_BUF_SIZE 2048 |
39 | |
40 extern char *audio_lang; | |
39 | 41 |
40 typedef struct lavf_priv_t{ | 42 typedef struct lavf_priv_t{ |
41 AVInputFormat *avif; | 43 AVInputFormat *avif; |
42 AVFormatContext *avfc; | 44 AVFormatContext *avfc; |
43 ByteIOContext pb; | 45 ByteIOContext pb; |
242 case CODEC_ID_PCM_MULAW: | 244 case CODEC_ID_PCM_MULAW: |
243 sh_audio->format = 0x7; | 245 sh_audio->format = 0x7; |
244 break; | 246 break; |
245 } | 247 } |
246 if( mp_msg_test(MSGT_HEADER,MSGL_V) ) print_wave_header(sh_audio->wf, MSGL_V); | 248 if( mp_msg_test(MSGT_HEADER,MSGL_V) ) print_wave_header(sh_audio->wf, MSGL_V); |
247 if(demuxer->audio->id != i && demuxer->audio->id != -1) | 249 if((audio_lang && st->language[0] && !strncmp(audio_lang, st->language, 3)) |
250 || (demuxer->audio->id == i || demuxer->audio->id == -1) | |
251 ) { | |
252 demuxer->audio->id = i; | |
253 demuxer->audio->sh= demuxer->a_streams[i]; | |
254 } | |
255 else | |
248 st->discard= AVDISCARD_ALL; | 256 st->discard= AVDISCARD_ALL; |
249 else{ | |
250 demuxer->audio->id = i; | |
251 demuxer->audio->sh= demuxer->a_streams[i]; | |
252 } | |
253 break;} | 257 break;} |
254 case CODEC_TYPE_VIDEO:{ | 258 case CODEC_TYPE_VIDEO:{ |
255 BITMAPINFOHEADER *bih=calloc(sizeof(BITMAPINFOHEADER) + codec->extradata_size,1); | 259 BITMAPINFOHEADER *bih=calloc(sizeof(BITMAPINFOHEADER) + codec->extradata_size,1); |
256 sh_video_t* sh_video=new_sh_video(demuxer, i); | 260 sh_video_t* sh_video=new_sh_video(demuxer, i); |
257 | 261 |