From d84994ed60cfcf7a8f4a05a292149bd39cfd66cf Mon Sep 17 00:00:00 2001 From: Led Date: Sat, 25 May 2013 05:53:57 +0300 Subject: [PATCH] fix stream_dvd --- MPlayer/stream/stream_dvd.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/MPlayer/stream/stream_dvd.c b/MPlayer/stream/stream_dvd.c index dba1711881..0d2fec5d6f 100644 --- a/MPlayer/stream/stream_dvd.c +++ b/MPlayer/stream/stream_dvd.c @@ -131,12 +131,15 @@ int dvd_aid_from_lang(stream_t *stream, const unsigned char* lang) { int code,i; if(lang) { while(strlen(lang)>=2) { + int c=isdigit(lang[2]) && lang[2]!='0'?lang[2]-0x30:1; code=lang[1]|(lang[0]<<8); for(i=0;inr_of_channels;i++) { if(d->audio_streams[i].language==code) { - mp_msg(MSGT_OPEN,MSGL_INFO,MSGTR_DVDaudioChannel, - d->audio_streams[i].id, lang[0],lang[1]); - return d->audio_streams[i].id; + if (c == 1){ + mp_msg(MSGT_OPEN,MSGL_INFO,MSGTR_DVDaudioChannel, d->audio_streams[i].id, lang[0],lang[1]); + return d->audio_streams[i].id; + } else + --c; } //printf("%X != %X (%c%c)\n",code,d->audio_streams[i].language,lang[0],lang[1]); } -- 2.33.7