diff options
author | phintuka <phintuka> | 2008-09-25 19:40:00 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2008-09-25 19:40:00 +0000 |
commit | a8c58e28c5ccc43dffb8886c4cd173e31e7e87c9 (patch) | |
tree | cae9f8d5bb0cbae38753df62cc5292295bb51291 | |
parent | 1706c82b694ad8a73728ed6ba0837b5eb1ee1e7a (diff) | |
download | xineliboutput-a8c58e28c5ccc43dffb8886c4cd173e31e7e87c9.tar.gz xineliboutput-a8c58e28c5ccc43dffb8886c4cd173e31e7e87c9.tar.bz2 |
Forward preferred SPU language to DVD input plugin
-rw-r--r-- | xine_input_vdr.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/xine_input_vdr.c b/xine_input_vdr.c index d78eaf65..8de9c05c 100644 --- a/xine_input_vdr.c +++ b/xine_input_vdr.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_input_vdr.c,v 1.180 2008-09-25 19:37:47 phintuka Exp $ + * $Id: xine_input_vdr.c,v 1.181 2008-09-25 19:40:00 phintuka Exp $ * */ @@ -3671,6 +3671,13 @@ static int vdr_plugin_parse_control(vdr_input_plugin_if_t *this_if, const char * ch = ch > -2 ? ch-1 : max_ch-1; else if(1 == sscanf(cmd+10, "%d", &tmp32)) { ch = tmp32; + } else if(cmd[10] && cmd[11] && (cmd[12] < 'a' || cmd[12] > 'z')) { + /* ISO 639-1 language code */ + const char spu_lang[3] = {cmd[10], cmd[11], 0}; + LOGMSG("Preferred SPU language: %s", spu_lang); + this->class->xine->config->update_string(this->class->xine->config, + "media.dvd.language", spu_lang); + ch = old_ch = 0; } else err = CONTROL_PARAM_ERROR; |