summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xine_input_vdr.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/xine_input_vdr.c b/xine_input_vdr.c
index 16d07626..c00e3b32 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.115 2008-02-19 01:08:59 phelin Exp $
+ * $Id: xine_input_vdr.c,v 1.116 2008-02-22 06:43:44 phintuka Exp $
*
*/
@@ -2862,6 +2862,7 @@ static int handle_control_playfile(vdr_input_plugin_t *this, const char *cmd)
xine_event_create_listener_thread (this->slave_event_queue,
vdr_event_cb, this);
}
+ _x_select_spu_channel(this->slave_stream, -2); /* -> auto */
errno = 0;
err = !xine_open(this->slave_stream, filename);
@@ -3900,7 +3901,13 @@ static void slave_track_maps_changed(vdr_input_plugin_t *this)
n = 0;
strcpy(tracks, "INFO TRACKMAP SPU ");
cnt = strlen(tracks);
- current = xine_get_param(this->slave_stream, XINE_PARAM_SPU_CHANNEL);
+ current = _x_get_spu_channel (stream);
+ if(current < 0) {
+ /* -1 == none, -2 == auto */
+ cnt += snprintf(tracks+cnt, sizeof(tracks)-cnt-32,
+ "*%d:%s ", current, current==-1?"none":"auto");
+ n++;
+ }
for(i=0; i<32 && cnt<sizeof(tracks)-32; i++)
if(xine_get_spu_lang(this->slave_stream, i, lang)) {
while(lang[0]==' ') strcpy(lang, lang+1);