Hi,
I have been working on hacking the phonon-gstreamer backend recently and as I'm a significant degree short of even having a rudimentary knowledge of gstreamer, this was a bit of an uphill struggle. I've managed to get a few things working now, but I have a couple of questions that hopefully some of the development gurus can answer me. 1) Is it possible to find out which sink is really used when you use gconfsink, autoaudiosink or halsink? 2) When streaming data from shoutcast, it is possible to decode the StreamTitle= header via icydemux. I have hacked phonon-gstreamer backed to do this now (in a similar way to how playbin does it). However it only extracts the title. When I use the Xine backend it appears to be able to extract inline metadata out of the stream content itself (e.g. when it finds a vorbis comment header or an id3 tag). That's as much as I can tell from observation. I've hacked the phonon-gstreamer to be able to "guess" the artist name from the StreamTitle but it's really not very nice. So my main question is, can the decoders handle inline metadata decoding and if so how can I enabled this? Many thanks Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mandriva Linux Contributor [http://www.mandriva.com/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/] ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
On Mon, Sep 22, 2008 at 1:41 AM, Colin Guthrie <[hidden email]> wrote:
> Hi, > > I have been working on hacking the phonon-gstreamer backend recently and > as I'm a significant degree short of even having a rudimentary knowledge > of gstreamer, this was a bit of an uphill struggle. > > I've managed to get a few things working now, but I have a couple of > questions that hopefully some of the development gurus can answer me. > > > 1) Is it possible to find out which sink is really used when you use > gconfsink, autoaudiosink or halsink? These are all bins (they contain other elements); so you can just iterate (possibly recursively) over all the elements in them, looking for sinks, and then look at the type of the sink. autoaudiosink and halsink are both pretty easy, but gconfsink lets you have a more-or-less arbitrary bin, which could even contain multiple sinks (though that would be rare). > > > 2) When streaming data from shoutcast, it is possible to decode the > StreamTitle= header via icydemux. I have hacked phonon-gstreamer backed > to do this now (in a similar way to how playbin does it). However it > only extracts the title. > > When I use the Xine backend it appears to be able to extract inline > metadata out of the stream content itself (e.g. when it finds a vorbis > comment header or an id3 tag). That's as much as I can tell from > observation. I've hacked the phonon-gstreamer to be able to "guess" the > artist name from the StreamTitle but it's really not very nice. So my > main question is, can the decoders handle inline metadata decoding and > if so how can I enabled this? > I guess it'd be useful to point us at a stream that behaves like this. 'icydemux' will extract metadata properly from shoutcast streams (so long as the source is providing this data). Vorbis streams have inline metadata that should be handled automatically, without anything special being needed. I've never seen inline id3 being streamed, nor have I ever seen software that would handle it at all. So you shouldn't need to do anything special apart from requesting the http sources to get shoutcast-style metadata. Mike ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
(Sorry for the late reply... I'm not subscribed and post via Gmane, but
hoped that after having my first message validated manually my subsequent messages would pass. Alas that didn't happen, so I've now subscribed officially and disabled delivery so gmane can still be used :)) Michael Smith wrote: >> 1) Is it possible to find out which sink is really used when you use >> gconfsink, autoaudiosink or halsink? > > These are all bins (they contain other elements); so you can just > iterate (possibly recursively) over all the elements in them, looking > for sinks, and then look at the type of the sink. autoaudiosink and > halsink are both pretty easy, but gconfsink lets you have a > more-or-less arbitrary bin, which could even contain multiple sinks > (though that would be rare). OK, thanks for the info. I'll look into doing that :) >> 2) When streaming data from shoutcast, it is possible to decode the >> StreamTitle= header via icydemux. I have hacked phonon-gstreamer backed >> to do this now (in a similar way to how playbin does it). However it >> only extracts the title. >> >> When I use the Xine backend it appears to be able to extract inline >> metadata out of the stream content itself (e.g. when it finds a vorbis >> comment header or an id3 tag). That's as much as I can tell from >> observation. I've hacked the phonon-gstreamer to be able to "guess" the >> artist name from the StreamTitle but it's really not very nice. So my >> main question is, can the decoders handle inline metadata decoding and >> if so how can I enabled this? >> > > I guess it'd be useful to point us at a stream that behaves like this. Oh, erm, yeah that would help wouldn't it. I've been playing with this one: http://87.117.200.136:8010 (it's not my musical taste: http://www.last.fm/user/coling) It seems to be an AAC stream and the xine backend for phonon can update the artist and title streams properly from this it seems. > 'icydemux' will extract metadata properly from shoutcast streams (so > long as the source is providing this data). Vorbis streams have inline > metadata that should be handled automatically, without anything > special being needed. I've never seen inline id3 being streamed, nor > have I ever seen software that would handle it at all. Yeah I think I inferred too much from my initial observations for which I apologise :) I see now with more testing that the xine metadata extraction seems to be using ORGANIZATION for ARTIST and ALBUM fields on streams. The above mentioned stream has it's artist/album data extracted properly with xine, but it doesn't seem to happen with gstreamer (at least I don't get any TAG messages on the bus). I guess this is a shortcoming of the faad implementation? > So you shouldn't need to do anything special apart from requesting the > http sources to get shoutcast-style metadata. From what I can tell icydebux only parses the StreamTitle= header and sets the TITLE metadata accordingly. This is useful but inline metadata extraction is nicer. As you've said, vorbis comments should work fine, so I'll have to find some streams that do this so I can test. Thanks for your help Mike :) Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mandriva Linux Contributor [http://www.mandriva.com/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/] ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by michael smith-6-3
(Sorry for the late reply... I'm not subscribed and post via Gmane, but
hoped that after having my first message validated manually my subsequent messages would pass. Alas that didn't happen, so I've now subscribed officially and disabled delivery so gmane can still be used :)) Michael Smith wrote: >> 1) Is it possible to find out which sink is really used when you use >> gconfsink, autoaudiosink or halsink? > > These are all bins (they contain other elements); so you can just > iterate (possibly recursively) over all the elements in them, looking > for sinks, and then look at the type of the sink. autoaudiosink and > halsink are both pretty easy, but gconfsink lets you have a > more-or-less arbitrary bin, which could even contain multiple sinks > (though that would be rare). OK, thanks for the info. I'll look into doing that :) >> 2) When streaming data from shoutcast, it is possible to decode the >> StreamTitle= header via icydemux. I have hacked phonon-gstreamer backed >> to do this now (in a similar way to how playbin does it). However it >> only extracts the title. >> >> When I use the Xine backend it appears to be able to extract inline >> metadata out of the stream content itself (e.g. when it finds a vorbis >> comment header or an id3 tag). That's as much as I can tell from >> observation. I've hacked the phonon-gstreamer to be able to "guess" the >> artist name from the StreamTitle but it's really not very nice. So my >> main question is, can the decoders handle inline metadata decoding and >> if so how can I enabled this? >> > > I guess it'd be useful to point us at a stream that behaves like this. Oh, erm, yeah that would help wouldn't it. I've been playing with this one: http://87.117.200.136:8010 (it's not my musical taste: http://www.last.fm/user/coling) It seems to be an AAC stream and the xine backend for phonon can update the artist and title streams properly from this it seems. > 'icydemux' will extract metadata properly from shoutcast streams (so > long as the source is providing this data). Vorbis streams have inline > metadata that should be handled automatically, without anything > special being needed. I've never seen inline id3 being streamed, nor > have I ever seen software that would handle it at all. Yeah I think I inferred too much from my initial observations for which I apologise :) I see now with more testing that the xine metadata extraction seems to be using ORGANIZATION for ARTIST and ALBUM fields on streams. The above mentioned stream has it's artist/album data extracted properly with xine, but it doesn't seem to happen with gstreamer (at least I don't get any TAG messages on the bus). I guess this is a shortcoming of the faad implementation? > So you shouldn't need to do anything special apart from requesting the > http sources to get shoutcast-style metadata. From what I can tell icydebux only parses the StreamTitle= header and sets the TITLE metadata accordingly. This is useful but inline metadata extraction is nicer. As you've said, vorbis comments should work fine, so I'll have to find some streams that do this so I can test. Thanks for your help Mike :) Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mandriva Linux Contributor [http://www.mandriva.com/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/] ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |