diff options
| author | Andreas Frisch <andreas.frisch@multimedia-labs.de> | 2008-10-20 11:52:18 +0000 |
|---|---|---|
| committer | Andreas Frisch <andreas.frisch@multimedia-labs.de> | 2008-10-20 11:52:18 +0000 |
| commit | 0e7fc97cfaaecf1b7fc93a73157a6a380e9058f4 (patch) | |
| tree | a00c14cb29db615f7c4e53d653707be2f73fb9c7 /lib/service | |
| parent | 585d209a9fc6d0a7a31ebd4deeca527d093fea1c (diff) | |
| download | enigma2-0e7fc97cfaaecf1b7fc93a73157a6a380e9058f4.tar.gz enigma2-0e7fc97cfaaecf1b7fc93a73157a6a380e9058f4.zip | |
hide subtitles after actual duration timeout, unescape entities and simulate bold and italic
Diffstat (limited to 'lib/service')
| -rw-r--r-- | lib/service/servicemp3.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index 225d90f6..be3536b6 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -1168,14 +1168,16 @@ eAutoInitPtr<eServiceFactoryMP3> init_eServiceFactoryMP3(eAutoInitNumbers::servi void eServiceMP3::gstCBsubtitleAvail(GstElement *element, GstBuffer *buffer, GstPad *pad, gpointer user_data) { + gint64 duration_ns = GST_BUFFER_DURATION(buffer); const unsigned char *text = (unsigned char *)GST_BUFFER_DATA(buffer); eDebug("gstCBsubtitleAvail: %s",text); eServiceMP3 *_this = (eServiceMP3*)user_data; if ( _this->m_subtitle_widget ) { - eDVBTeletextSubtitlePage page; + ePangoSubtitlePage page; gRGB rgbcol(0xD0,0xD0,0xD0); - page.m_elements.push_back(eDVBTeletextSubtitlePageElement(rgbcol, (const char*)text)); + page.m_elements.push_back(ePangoSubtitlePageElement(rgbcol, (const char*)text)); + page.m_timeout = duration_ns / 1000000; (_this->m_subtitle_widget)->setPage(page); } } |
