use 720x576 subtitle pixmap, and scale to fullscreen
[enigma2.git] / lib / python / Plugins / Extensions / DVDPlayer / src / servicedvd.cpp
index c2590af56cccc46ec8fb34ab27d49a5f1f04094c..ea1afec402ca933d58da7220d1485bce900fe5f1 100644 (file)
@@ -103,7 +103,10 @@ eServiceDVD::eServiceDVD(const char *filename):
        // create handle
        ddvd_set_dvd_path(m_ddvdconfig, filename);
        ddvd_set_ac3thru(m_ddvdconfig, 0);
-       ddvd_set_language(m_ddvdconfig, "de");
+
+       std::string ddvd_language;
+       if (!ePythonConfigQuery::getConfigValue("config.osd.language", ddvd_language))
+               ddvd_set_language(m_ddvdconfig, (ddvd_language.substr(0,2)).c_str());
 
        int fd = open("/proc/stb/video/aspect", O_RDONLY);
        if (fd > -1)
@@ -299,7 +302,7 @@ RESULT eServiceDVD::connectEvent(const Slot2<void,iPlayableService*,int> &event,
 
 RESULT eServiceDVD::start()
 {
-       assert(m_state == stIdle);
+       ASSERT(m_state == stIdle);
        m_state = stRunning;
        eDebug("eServiceDVD starting");
 //     m_event(this, evStart);
@@ -308,7 +311,7 @@ RESULT eServiceDVD::start()
 
 RESULT eServiceDVD::stop()
 {
-       assert(m_state != stIdle);
+       ASSERT(m_state != stIdle);
        if (m_state == stStopped)
                return -1;
        eDebug("DVD: stop %s", m_filename.c_str());
@@ -559,11 +562,11 @@ RESULT eServiceDVD::enableSubtitles(eWidget *parent, SWIG_PYOBJECT(ePyObject) /*
        m_subtitle_widget = new eSubtitleWidget(parent);
        m_subtitle_widget->resize(parent->size());
 
-       eSize size = parent->size();
+       eSize size = eSize(720, 576);
 
        if (!m_pixmap)
        {
-               m_pixmap = new gPixmap(size, 32);
+               m_pixmap = new gPixmap(size, 32, 1); /* allocate accel surface (if possible) */
                ddvd_set_lfb(m_ddvdconfig, (unsigned char *)m_pixmap->surface->data, size.width(), size.height(), 4, size.width()*4);
                run(); // start the thread
        }