disable subtitles until not finished
[enigma2.git] / lib / service / servicedvb.cpp
index 75b55215b9158099309f3785d8ce55c5ae2fa873..c95923c94aca405cb367f62ee6f36ae0a16f4ba5 100644 (file)
@@ -396,6 +396,7 @@ RESULT eDVBServiceList::getContent(std::list<eServiceReference> &list, bool sort
 //   useable format options are
 //   R = Service Reference (as swig object .. this is very slow)
 //   S = Service Reference (as python string object .. same as ref.toString())
+//   C = Service Reference (as python string object .. same as ref.toCompareString())
 //   N = Service Name (as python string object)
 //   when exactly one return value per service is selected in the format string,
 //   then each value is directly a list entry
@@ -435,6 +436,9 @@ PyObject *eDVBServiceList::getContent(const char* format, bool sorted)
                                case 'R':  // service reference (swig)object
                                        tmp = New_eServiceReference(ref);
                                        break;
+                               case 'C':  // service reference compare string
+                                       tmp = PyString_FromString(ref.toCompareString().c_str());
+                                       break;
                                case 'S':  // service reference string
                                        tmp = PyString_FromString(ref.toString().c_str());
                                        break;
@@ -1636,9 +1640,11 @@ void eDVBServicePlay::switchToLive()
        m_decode_demux = 0;
        m_teletext_parser = 0;
        m_radiotext_parser = 0;
+       m_subtitle_parser = 0;
+       m_new_dvb_subtitle_region_connection = 0;
        m_new_subtitle_page_connection = 0;
        m_radiotext_updated_connection = 0;
-       
+
                /* free the timeshift service handler, we need the resources */
        m_service_handler_timeshift.free();
        m_timeshift_active = 0;
@@ -1657,7 +1663,9 @@ void eDVBServicePlay::switchToTimeshift()
        m_decoder = 0;
        m_teletext_parser = 0;
        m_radiotext_parser = 0;
+       m_subtitle_parser = 0;
        m_new_subtitle_page_connection = 0;
+       m_new_dvb_subtitle_region_connection = 0;
        m_radiotext_updated_connection = 0;
 
        m_timeshift_active = 1;
@@ -1682,7 +1690,7 @@ void eDVBServicePlay::updateDecoder()
        std::string default_ac3;
 
        if (!ePythonConfigQuery::getConfigValue("config.av.defaultac3", default_ac3))
-               defaultac3 = default_ac3 == "enable";
+               defaultac3 = default_ac3 == "True";
 
        eDVBServicePMTHandler::program program;
        if (h.getProgramInfo(program))
@@ -1747,6 +1755,8 @@ void eDVBServicePlay::updateDecoder()
                m_teletext_parser = new eDVBTeletextParser(m_decode_demux);
                m_teletext_parser->connectNewPage(slot(*this, &eDVBServicePlay::newSubtitlePage), m_new_subtitle_page_connection);
 #endif
+               m_subtitle_parser = new eDVBSubtitleParser(m_decode_demux);
+               m_subtitle_parser->connectNewRegion(slot(*this, &eDVBServicePlay::newDVBSubtitleRegion), m_new_dvb_subtitle_region_connection);
        }
 
        if (m_decoder)
@@ -1809,6 +1819,9 @@ void eDVBServicePlay::updateDecoder()
                if (m_teletext_parser)
                        m_teletext_parser->start(tpid);
 
+//             if (m_subtitle_parser && program.subtitleStreams.size() > 0)
+//                     m_subtitle_parser->start(program.subtitleStreams[0].pid);
+
                if (!m_is_primary)
                        m_decoder->setTrickmode(1);
 
@@ -2071,6 +2084,16 @@ void eDVBServicePlay::checkSubtitleTiming()
        }
 }
 
+void eDVBServicePlay::newDVBSubtitleRegion(const eDVBSubtitleRegion &p)
+{
+       eDebug("new dvb subtitle region");
+}
+
+void eDVBServicePlay::checkDvbSubtitleTiming()
+{
+       eDebug("check dvb subtitle timing");
+}
+
 int eDVBServicePlay::getAC3Delay()
 {
        if (m_dvb_service)