eServiceMP3::getInfoString didn't return info for sServiceref.
Without sServiceref Picons for GStreamer services cannot rendered cause sServiceref was empty.
I wrote two patches, please commit what you think is better
First patch uses only if.
--- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -1083,6 +1083,14 @@ int eServiceMP3::getInfo(int w) std::string eServiceMP3::getInfoString(int w) { + if ( m_sourceinfo.is_streaming && w == sServiceref ) + { + eServiceReference ref(m_ref); + ref.type = eServiceFactoryMP3::id; + ref.path.clear(); + return ref.toString(); + } + if ( !m_stream_tags && w < sUser && w > 26 ) return ""; const gchar *tag = 0;0001-ServiceMP3-Handle-sServiceref-on-getInfoString1.patch.txt 933bytes 3 downloads
Second patch uses tries to be more "generic". Also returns "Internet" for sProvider.
--- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -1083,6 +1083,25 @@ int eServiceMP3::getInfo(int w) std::string eServiceMP3::getInfoString(int w) { + if ( m_sourceinfo.is_streaming ) + { + switch (w) + { + case sProvider: + return "Internet"; + case sServiceref: + { + eServiceReference ref(m_ref); + ref.type = eServiceFactoryMP3::id; + ref.path.clear(); + return ref.toString(); + } + default: + break; + } + return iServiceInformation::getInfoString(w); + } + if ( !m_stream_tags && w < sUser && w > 26 ) return ""; const gchar *tag = 0;0001-ServiceMP3-Handle-sServiceref-on-getInfoString2.patch.txt 1.06KB 5 downloads
Thanks!