X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fservice%2Fservicemp3.cpp;h=69e626237fb93e9cbd42b11489831ad2b70a9fbc;hp=6aed8655896ad62687de7da0782515b3c32bcf5a;hb=fd0ee85977125975fa45da6fce3f841844d2b9c3;hpb=d46cbdadbe961cd1100040d67ebe54b89679ca95;ds=sidebyside diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index 6aed865..69e6262 100755 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -1411,18 +1411,21 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg) { if ( gst_is_missing_plugin_message(msg) ) { - GstCaps *caps; - gst_structure_get (msgstruct, "detail", GST_TYPE_CAPS, &caps, NULL); - std::string codec = (const char*) gst_caps_to_string(caps); - gchar *description = gst_missing_plugin_message_get_description(msg); - if ( description ) + GstCaps *caps= NULL; + gboolean ret = gst_structure_get (msgstruct, "detail", GST_TYPE_CAPS, &caps, NULL); + if (ret) { - eDebug("eServiceMP3::m_errorInfo.missing_codec = %s", codec.c_str()); - m_errorInfo.error_message = "GStreamer plugin " + (std::string)description + " not available!\n"; - m_errorInfo.missing_codec = codec.substr(0,(codec.find_first_of(','))); - g_free(description); + std::string codec = (const char*) gst_caps_to_string(caps); + gchar *description = gst_missing_plugin_message_get_description(msg); + if ( description ) + { + eDebug("eServiceMP3::m_errorInfo.missing_codec = %s", codec.c_str()); + m_errorInfo.error_message = "GStreamer plugin " + (std::string)description + " not available!\n"; + m_errorInfo.missing_codec = codec.substr(0,(codec.find_first_of(','))); + g_free(description); + } + gst_caps_unref(caps); } - gst_caps_unref(caps); } else {