summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorphintuka <phintuka>2007-06-17 09:11:22 +0000
committerphintuka <phintuka>2007-06-17 09:11:22 +0000
commit732cb71b03d385c27d6499a8833b6b945c9282fb (patch)
tree0cff18ea9b5ad7302f49e1ea9bb85fcc1abc94dc /device.c
parentddbc44d6320175865e17899d15f56b4e2ca5673f (diff)
downloadxineliboutput-732cb71b03d385c27d6499a8833b6b945c9282fb.tar.gz
xineliboutput-732cb71b03d385c27d6499a8833b6b945c9282fb.tar.bz2
Select first SPU track if automatic SPU track selection is on and none of track languages matches
Diffstat (limited to 'device.c')
-rw-r--r--device.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/device.c b/device.c
index f7651f0b..20c1428e 100644
--- a/device.c
+++ b/device.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: device.c,v 1.37 2007-04-12 22:53:36 phintuka Exp $
+ * $Id: device.c,v 1.38 2007-06-17 09:11:22 phintuka Exp $
*
*/
@@ -1633,6 +1633,15 @@ void cXinelibDevice::EnsureDvdSpuTrack(void)
track = 64;
pref = 99;
}
+ if(pref < 99) {
+ for(track = 0; track < 64; track++)
+ if(m_DvdSpuTrack[track].id != 0xffff)
+ if(m_CurrentDvdSpuTrack != track) {
+ LOGMSG("Auto-selecting (non-matching) %d. SPU track \'%s\'",
+ track, m_DvdSpuTrack[track].language);
+ cXinelibDevice::SetCurrentDvdSpuTrack(track);
+ }
+ }
}
if(!m_spuPresent) {