mopidy/mopidy — pull request #460 by adamcik (2013-05-28 22:02:23+00:00)
Title: Add playlist support to gstreamer

This should fix #303. Basically this adds typefinder support for m3u, pls and xspf files, "decoders" that convert them to text/uri-list data and then a generic uri-list element that simply plays the first element. See the notes in the code and commit message for more details.

There are still a few TODOs in the code, important ones are parser error related ones, nice to have one is the cycle through all the URIs as they fail type support. Other big thing misssing is tests for parsers and detection code.

For reference the model I ended up going with was http://dev.1024.no/tmp/debug4.svg - that is have an internal uridecodebin that takes over pushing the pipeline. This is done as we get better stream/buffering handling from this upstream code than what we would be able to coble together. It's also important to note that it runs with any caps, resulting in the uridecodebin essentially on working as a urisrc+typefind. This is relevant as this ensures we don't sudenly have a 1-to-n element by accident (playlists with video streams for instance).

But overall this seems to work surprisingly well given how little time went into hammering out the GStreamer code to make this work.