mediaplayer: stop playback if async-done message reports zero audio or video streams...
authorFraxinas <andreas.frisch@multimedia-labs.de>
Tue, 1 Sep 2009 12:52:33 +0000 (14:52 +0200)
committerFraxinas <andreas.frisch@multimedia-labs.de>
Tue, 1 Sep 2009 12:52:33 +0000 (14:52 +0200)
lib/service/servicemp3.cpp

index 2844b4775e4b4fba9e55c95fd98d2e7fd42504b2..149a1906dc95e706b809d5bc7bafd04878ea4219 100644 (file)
@@ -1095,7 +1095,6 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
                        eWarning("Gstreamer error: %s (%i) from %s", err->message, err->code, sourceName );
                        if ( err->domain == GST_STREAM_ERROR )
                        {
-                               eDebug("err->code %d", err->code);
                                if ( err->code == GST_STREAM_ERROR_CODEC_NOT_FOUND )
                                {
                                        if ( g_strrstr(sourceName, "videosink") )
@@ -1164,6 +1163,9 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
 
                        eDebug("eServiceMP3::async-done - %d video, %d audio, %d subtitle", n_video, n_audio, n_text);
 
+                       if ( n_video + n_audio <= 0 )
+                               stop();
+
                        active_idx = 0;
 
                        m_audioStreams.clear();