[gstreamer-bugs] [Bug 603378] New: [API][event] New event to flush all buffered data
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Nov 30 06:38:11 PST 2009
https://bugzilla.gnome.org/show_bug.cgi?id=603378
GStreamer | gstreamer (core) | git
Summary: [API][event] New event to flush all buffered data
Classification: Desktop
Product: GStreamer
Version: git
OS/Version: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: thiago.sousa.santos at collabora.co.uk
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME target: ---
GNOME version: ---
This event would work just like flush, but it would only drop buffers queued
along the pipeline and unlock sinks that are rendering data, not segments/time
informations reset.
Check https://bugzilla.gnome.org/show_bug.cgi?id=537382 for the motivation for
this.
The use case here is to allow 'instantaneous' track switching. Currently, when
using playbin2, a track change simply makes input-selector push data from a new
pad to downstream elements. The problem here is that there are buffers queue
downstream and already at the sink that will get rendered before the new track
buffers are rendered. (In case of a slideshow, like the file of the referred
bug, this might take a long time to happen).
This new event would drop all those buffers downstream, allowing the new
activated track buffers to be rendered immediately.
There is still another problem involved in fixing #537382, multiqueue takes a
long time to 'detect' that the track it is pushing is now 'not-linked' and he
should retry pushing buffers on other pads (the newly activated track is on
this group) and all the above would not work. I hacked my way around this for
focusing on this new event solution by making input-selector property
'always-ok' true in playbin2.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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