servicemp3 : fix getSubtitleType
[vuplus_dvbapp] / lib / service / servicemp3.cpp
index 69e6262..0e7cca9 100755 (executable)
@@ -51,6 +51,9 @@ eServiceFactoryMP3::eServiceFactoryMP3()
                extensions.push_back("3gp");
                extensions.push_back("3g2");
                extensions.push_back("dts");
+               extensions.push_back("wmv");
+               extensions.push_back("asf");
+               extensions.push_back("wma");
                sc->addServiceFactory(eServiceFactoryMP3::id, this, extensions);
        }
 
@@ -330,7 +333,8 @@ eServiceMP3::eServiceMP3(eServiceReference ref)
 
                uri = g_filename_to_uri(filename, NULL, NULL);
 
-       eDebug("eServiceMP3::playbin2 uri=%s", uri);
+       //eDebug("eServiceMP3::playbin2 uri=%s", uri);
+       eDebug("eServiceMP3::playbin2");
 
        m_gst_playbin = gst_element_factory_make("playbin2", "playbin");
        if (!m_gst_playbin)
@@ -453,7 +457,8 @@ RESULT eServiceMP3::stop()
        
        //GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN(m_gst_playbin),GST_DEBUG_GRAPH_SHOW_ALL,"e2-playbin");
 
-       eDebug("eServiceMP3::stop %s", m_ref.path.c_str());
+       //eDebug("eServiceMP3::stop %s", m_ref.path.c_str());
+       eDebug("eServiceMP3::stop service..");
        gst_element_set_state(m_gst_playbin, GST_STATE_NULL);
        m_state = stStopped;
 
@@ -1129,6 +1134,11 @@ subtype_t getSubtitleType(GstPad* pad, gchar *g_codec=NULL)
        subtype_t type = stUnknown;
        GstCaps* caps = gst_pad_get_negotiated_caps(pad);
 
+       if (!caps && !g_codec)
+       {
+               caps = gst_pad_get_allowed_caps(pad);
+       }
+
        if ( caps )
        {
                GstStructure* str = gst_caps_get_structure(caps, 0);