summaryrefslogtreecommitdiff
path: root/frontend.c
diff options
context:
space:
mode:
Diffstat (limited to 'frontend.c')
-rw-r--r--frontend.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/frontend.c b/frontend.c
index 1e21cba2..9d70a191 100644
--- a/frontend.c
+++ b/frontend.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: frontend.c,v 1.51 2008-03-16 21:34:45 phintuka Exp $
+ * $Id: frontend.c,v 1.52 2008-03-16 21:40:55 phintuka Exp $
*
*/
@@ -105,7 +105,7 @@ void cXinelibThread::InfoHandler(const char *info)
*pt = 0;
if(!strncmp(info, "TRACKMAP SPU", 12)) {
- int CurrentTrack = -2; /* auto */
+ int CurrentTrack = ttXSubtitleAuto;
map += 12;
#if VDRVERSNUM < 10515 && !defined(VDRSPUPATCH)
cXinelibDevice::Instance().ClrAvailableDvdSpuTracks(false);
@@ -141,9 +141,9 @@ void cXinelibThread::InfoHandler(const char *info)
#if VDRVERSNUM < 10515 && !defined(VDRSPUPATCH)
cXinelibDevice::Instance().EnsureDvdSpuTrack();
#else
- if (CurrentTrack == -2)
+ if (CurrentTrack == ttXSubtitleAuto)
cXinelibDevice::Instance().EnsureSubtitleTrack();
- else if (CurrentTrack == -1)
+ else if (CurrentTrack == ttXSubtitleNone)
cXinelibDevice::Instance().SetCurrentSubtitleTrack(ttNone, true);
else
cXinelibDevice::Instance().SetCurrentSubtitleTrack(eTrackType(CurrentTrack+ttSubtitleFirst), true);
@@ -372,11 +372,22 @@ void cXinelibThread::AudioStreamChanged(bool ac3, int StreamId)
Xine_Control("AUDIOSTREAM", StreamId);
}
+#if VDRVERSNUM < 10515
void cXinelibThread::SpuStreamChanged(int StreamId)
{
TRACEF("cXinelibThread::SpuStreamChanged");
Xine_Control("SPUSTREAM", StreamId);
}
+#else
+void cXinelibThread::SetSubtitleTrack(eTrackType Track)
+{
+ TRACEF("cXinelibThread::SetSubtitleTrack");
+ cString buf = cString::sprintf("SPUSTREAM %d%s",
+ Track==ttNone ? ttXSubtitleNone : (Track - ttSubtitleFirst),
+ m_SpuLangAuto ? " auto" : "");
+ Xine_Control(buf);
+}
+#endif
void cXinelibThread::Clear(void)
{