X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ab4b0f90b14df623075a8b3fc1b321a370800cc6..9a47cf98658ea064ce5cb7ddbd5f22d4ecbc36ac:/lib/service/servicemp3.cpp diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index 79098f2c..73a12430 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -17,6 +17,12 @@ /* for subtitles */ #include +#ifndef GST_SEEK_FLAG_SKIP +#warning Compiling for legacy gstreamer, things will break +#define GST_SEEK_FLAG_SKIP 0 +#define GST_TAG_HOMEPAGE "" +#endif + // eServiceFactoryMP3 eServiceFactoryMP3::eServiceFactoryMP3() @@ -603,7 +609,7 @@ RESULT eServiceMP3::getName(std::string &name) int eServiceMP3::getInfo(int w) { - gchar *tag = 0; + const gchar *tag = 0; switch (w) { @@ -702,9 +708,9 @@ int eServiceMP3::getInfo(int w) std::string eServiceMP3::getInfoString(int w) { - if ( !m_stream_tags ) + if ( !m_stream_tags && w < sUser && w > 26 ) return ""; - gchar *tag = 0; + const gchar *tag = 0; switch (w) { case sTagTitle: @@ -800,7 +806,6 @@ std::string eServiceMP3::getInfoString(int w) case sTagChannelMode: tag = "channel-mode"; break; - case sUser+12: return m_error_message; default: @@ -820,7 +825,7 @@ std::string eServiceMP3::getInfoString(int w) PyObject *eServiceMP3::getInfoObject(int w) { - gchar *tag = 0; + const gchar *tag = 0; bool isBuffer = false; switch (w) { @@ -1039,7 +1044,7 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg) GstTagList *tags, *result; gst_message_parse_tag(msg, &tags); - result = gst_tag_list_merge(m_stream_tags, tags, GST_TAG_MERGE_PREPEND); + result = gst_tag_list_merge(m_stream_tags, tags, GST_TAG_MERGE_REPLACE); if (result) { if (m_stream_tags) @@ -1128,6 +1133,7 @@ eDebug("AUDIO STRUCT=%s", g_type); g_free (g_lang); // g_free (g_type); } + m_event((iPlayableService*)this, evUpdatedEventInfo); } case GST_MESSAGE_ELEMENT: {