Comment 56 for bug 1200818

Revision history for this message
Jiří Janoušek (fenryxo) wrote :

Colin Guthrie posted on Google+ page:

FWIW, I did a little digging into the Google Music + GST problem.

I dug a bit in the GST code and the basic problem is that URLs decoded via dataurisrc seem to operate in "pull" mode and even although the "caps" are supplied, the "type find" system does not do a query for caps when operating in pull mode, so tries to guess the type from the URIs "extension" and (obviously) fails miserably.

Even if I hack the dataurisrc to fake the URL to the rest of the pipeline (i.e. give it a .mp3 extension) it still fails, but I suspect this is simply due to one frame not being enough data for detection, which is all the base64 encoded data contains (piping the data through base64 -d and playing with playbin fails with the same detection error, but setting up a manual pipeline decodes it fine, suggesting that the fix in GST is indeed to honour any caps set even in pull mode).

I found a reference to a similar problem on the GStreamer-devel mailing list: http://gstreamer-devel.966125.n4.nabble.com/Handling-force-caps-from-playbin-td4665303.html

As I know Sebastian, I've sent him a quick mail to see if there is anything in the works to address this. Will let you know when he gets back to me.