[Bug 758960] New GstStream API and decodebin3/playbin3

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue May 24 10:53:00 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=758960

--- Comment #4 from Carlos Rafael Giani <dv at pseudoterminal.org> ---
Next topic: How will playbin3/decodebin3 handle gapless playback? I don't just
mean the immediate switch from the next to the current track. Some form of
preparing/prebuffering is absolutely vital to gapless.

The way playbin currently does it is insufficient in many cases. For example,
I've observed that when trying to play a FLAC HD 192 kHz 24 bit gapless album
froma  DLNA server on some embedded platforms, prebuffering had to start 10
seconds before the current track ended, otherwise the the network buffer would
not be 100% full by the time the switch happened. playbin relied on ring
buffers covering the switch period.

Also, during prebuffering, the pipeline is essentially running 2 decoder chains
in parallel, which of course increases CPU usage, and the next track's
prebuffering runs as fast as it can, further increasing CPU%. So, some form of
throttling may be good. Also, with prebuffering mechanisms, parsers have to be
able to respond to duration&position queries to know that a track is about to
end in N seconds.

Generally I strongly recommend to develop this on single-core embedded
platforms like a BeagleBoard to catch as many corner cases as possible. Do not
rely on PC figures.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list