support flv playback.
[vuplus_dvbapp] / lib / service / servicemp3.cpp
old mode 100644 (file)
new mode 100755 (executable)
index 6aac29e..b0077d7
@@ -47,6 +47,7 @@ eServiceFactoryMP3::eServiceFactoryMP3()
                extensions.push_back("mp4");
                extensions.push_back("mov");
                extensions.push_back("m4a");
+               extensions.push_back("flv");
                sc->addServiceFactory(eServiceFactoryMP3::id, this, extensions);
        }
 
@@ -696,8 +697,6 @@ RESULT eServiceMP3::isCurrentlySeekable()
                return 0;
        if (m_state != stRunning)
                return 0;
-       if (m_sourceinfo.is_streaming)
-               return 0;
 
        g_object_get (G_OBJECT (m_gst_playbin), "video-sink", &sink, NULL);
 
@@ -1253,7 +1252,7 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
                        GError *err;
                        gst_message_parse_error (msg, &err, &debug);
                        g_free (debug);
-                       eWarning("Gstreamer error: %s (%i) from %s", err->message, err->code, sourceName );
+                       eWarning("Gstreamer error: %s (domain:%i, code:%i) from %s", err->message, err->domain, err->code, sourceName );
                        if ( err->domain == GST_STREAM_ERROR )
                        {
                                if ( err->code == GST_STREAM_ERROR_CODEC_NOT_FOUND )
@@ -1264,6 +1263,11 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
                                                m_event((iPlayableService*)this, evUser+10);
                                }
                        }
+                       else //if( err->domain == 1232 )
+                       {
+                               if ( err->code == 5 )
+                                       m_event((iPlayableService*)this, evUser+20);
+                       }
                        g_error_free(err);
                        break;
                }