[Bug 696952] bin: Implement seek in READY/NULL

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue May 8 07:30:26 UTC 2018


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

Edward Hervey <bilboed at bilboed.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bilboed at bilboed.com

--- Comment #25 from Edward Hervey <bilboed at bilboed.com> ---
Summary of discussions that happened during the hackfest.

The generic issue to be solved here is to be able to specify an initial
playback region for a given stream provider (or more generically seek handler).
And the problem is:
* Knowing the earliest moment when a seek handler can respond to seeks, so that
it has enough info to respond and configure itself, but hasn't started
outputting yet
* Knowing which element that seek should be sent to.

That moment in time does exist: It's when stream providers post a
GST_MESSAGE_COLLECTION on the bus (i.e. they know all available streams and are
about to start pushing data).

The solution is therefore to listen synchronously on the bus for a
GST_MESSAGE_COLLECTION and then:
* Optionally send a GST_EVENT_SELECT_STREAMS (if you only want the element to
start with a specific stream set)
* Send a seek event on that element (you know which element it is, it hasn't
started outputting, and will be able to respond to seek events).

When the element posting that collection gets back control, it is fully
configured for:
* Which streams it should really use (in case there are multiple)
* The playback interval you want

Bonus points:
* No messing around with GstContext
* You can select streams in addition to configuring a playback range

-- 
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