playbin2 with MJPEG streams over http: long delay before playback starts, and buffering delays on each frame

Mark Boots at
Sun Jul 3 20:31:42 PDT 2011

Thanks a lot!  I was able to apply your patch to gst-plugins-good-0.10.30, and patch the QtMobility QGStreamerPlayerSession class to set the property.  That fixed it!

  This certainly solves the problem of 30s delays before HTTP MJPEG cameras start to stream.  However, like you said, it's an ugly and cumbersome thing to do... You need to connect three signals and follow three callbacks make it work.  Two questions:

1) Inside a player application that uses playbin2, is there any disadvantage to always setting the "single-stream" property to true? For example, are there any cases where making 'single-stream=true' the default would be undesirable?  Does it break, for example, playing a mpeg4 movie with sound and video from a local file?

2) Should it be considered a bug that, by default, playbin2 and decodebin2 can't play from HTTP MJPEG sources (at least without excessively long delays on playback start, and messed-up buffering)?


On 2011-06-30, at 6:56 PM, Hoyt, David wrote:

>> I'm using GStreamer version 0.10.35, and gst-plugins-good-0.10.30.  What version was the single-stream property added in?
> It appears that it was committed before the gst-plugins-good 0.10.30 release, but 0.10.30 was just a minor bump from 0.10.29 with a few cherry picked patches. So even though it was committed before the 0.10.30 release, it's not included in it. Apparently it seems it will be available in the next major release. For now, you could compile from git.
> See dated May 25, 2011 and then dated June 15, 2011. Look at the source in the tree for the 0.10.30 release and you'll see the property isn't there: 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at

More information about the gstreamer-devel mailing list