extensions.push_back("mp4");
extensions.push_back("mov");
extensions.push_back("m4a");
+ extensions.push_back("flv");
+ extensions.push_back("3gp");
+ extensions.push_back("3g2");
+ extensions.push_back("dts");
sc->addServiceFactory(eServiceFactoryMP3::id, this, extensions);
}
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)
//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;
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);
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 )
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;
}
{
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
{