summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorphintuka <phintuka>2006-10-13 04:41:03 +0000
committerphintuka <phintuka>2006-10-13 04:41:03 +0000
commit255e6e0c0c5421870c70cbd6923bd69f0d2e104b (patch)
tree7b84ae7f9de076a5f591a8f9380e56f03def00e7 /device.c
parent42ef7e61fb75060ab19c41c9d76c5e8bd2a2591b (diff)
downloadxineliboutput-255e6e0c0c5421870c70cbd6923bd69f0d2e104b.tar.gz
xineliboutput-255e6e0c0c5421870c70cbd6923bd69f0d2e104b.tar.bz2
DVD SPU languages
Diffstat (limited to 'device.c')
-rw-r--r--device.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/device.c b/device.c
index c79d75b1..287b4353 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.22 2006-09-09 23:09:56 phintuka Exp $
+ * $Id: device.c,v 1.23 2006-10-13 04:41:03 phintuka Exp $
*
*/
@@ -516,6 +516,7 @@ void cXinelibDevice::StopOutput(void)
Clear();
ForEach(m_clients, &cXinelibThread::QueueBlankDisplay);
ForEach(m_clients, &cXinelibThread::SetNoVideo, false);
+ ClrAvailableDvdSpuTracks();
}
void cXinelibDevice::SetTvMode(cChannel *Channel)
@@ -928,7 +929,7 @@ int cXinelibDevice::PlaySpu(const uchar *buf, int length, uchar Id)
if(!m_spuPresent) {
TRACE("cXinelibDevice::PlaySpu first DVD SPU frame");
- Skins.QueueMessage(mtInfo,"DVD SPU");
+ Skins.QueueMessage(mtInfo,"DVD Subtitles");
m_spuPresent = true;
ForEach(m_clients, &cXinelibThread::SpuStreamChanged, (int)Id);
@@ -1317,11 +1318,22 @@ void cXinelibDevice::ClrAvailableDvdSpuTracks(void)
}
}
-bool cXinelibDevice::SetAvailableDvdSpuTrack(int Type)
+const char *cXinelibDevice::GetDvdSpuLang(int Type)
+{
+ if(Type >= 0 && Type < 64 &&
+ m_DvdSpuTrack[Type])
+ return m_DvdSpuLang[Type][0] ? m_DvdSpuLang[Type] : NULL;
+ return NULL;
+}
+
+bool cXinelibDevice::SetAvailableDvdSpuTrack(int Type, const char *lang)
{
if(Type >= 0 && Type < 64 &&
! m_DvdSpuTrack[Type]) {
m_DvdSpuTrack[Type] = true;
+ m_DvdSpuLang[Type][0] = 0;
+ if(lang)
+ strn0cpy(m_DvdSpuLang[Type], lang, 32);
m_DvdSpuTracks++;
return true;
}