diff options
author | phintuka <phintuka> | 2008-02-22 06:43:44 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2008-02-22 06:43:44 +0000 |
commit | f9583244d3e4b95d15c47e9a7ff2f963577143d9 (patch) | |
tree | ec5dac8d3f81332121bc734e519d24bb3f19f415 /xine_input_vdr.c | |
parent | 2f09b6a4495eda9095c89087785d33aec3b1aa57 (diff) | |
download | xineliboutput-f9583244d3e4b95d15c47e9a7ff2f963577143d9.tar.gz xineliboutput-f9583244d3e4b95d15c47e9a7ff2f963577143d9.tar.bz2 |
Signal also "none"/"auto" in SPU track map
Diffstat (limited to 'xine_input_vdr.c')
-rw-r--r-- | xine_input_vdr.c | 11 |
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); |