summaryrefslogtreecommitdiffstats
path: root/stream/stream_dvdnav.c
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-25 15:00:08 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-25 15:00:08 +0000
commita813415ee7b1c1cae6d161749667c150e5370682 (patch)
tree827d7af7478791d550522f941962b93f87635ec9 /stream/stream_dvdnav.c
parent6913dd5d92cbeb14da37815ba7f4310d71c728a9 (diff)
downloadmpv-a813415ee7b1c1cae6d161749667c150e5370682.tar.bz2
mpv-a813415ee7b1c1cae6d161749667c150e5370682.tar.xz
support for comma-separated language codes in -slang
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21220 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream/stream_dvdnav.c')
-rw-r--r--stream/stream_dvdnav.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c
index 5652f573b4..25ec6b387a 100644
--- a/stream/stream_dvdnav.c
+++ b/stream/stream_dvdnav.c
@@ -466,8 +466,10 @@ void mp_dvdnav_update_mouse_pos(stream_t *stream, int32_t x, int32_t y, int* but
int dvdnav_sid_from_lang(stream_t *stream, unsigned char *language) {
dvdnav_priv_t * priv=(dvdnav_priv_t*)stream->priv;
uint8_t format, lg, k;
- uint16_t lang, lcode = (language[0] << 8) | (language[1]);
+ uint16_t lang, lcode;
+ while(language && strlen(language)>=2) {
+ lcode = (language[0] << 8) | (language[1]);
for(k=0; k<32; k++) {
lg = dvdnav_get_spu_logical_stream(priv->dvdnav, k);
if(lg == 0xff) continue;
@@ -476,6 +478,9 @@ int dvdnav_sid_from_lang(stream_t *stream, unsigned char *language) {
return k;
}
}
+ language += 2;
+ while(language[0]==',' || language[0]==' ') ++language;
+ }
return -1;
}