From: Fraxinas Date: Tue, 1 Sep 2009 12:52:33 +0000 (+0200) Subject: mediaplayer: stop playback if async-done message reports zero audio or video streams... X-Git-Tag: 2.6.0~88 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/f4f3ff0f6bac194589233d2211f3e0572e3a1c90 mediaplayer: stop playback if async-done message reports zero audio or video streams (work around spinlock when trying to play weird containers) --- diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index 2844b477..149a1906 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -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();