[gstreamer-bugs] [Bug 324387] "Seek in ready" for Mad plugin

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Apr 27 02:14:02 PDT 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=324387
 GStreamer | gst-plugins-ugly | Ver: HEAD CVS


Wim Taymans changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wim at fluendo.com




------- Comment #2 from Wim Taymans  2006-04-27 09:14 UTC -------
I have some problems with the seek in READY patches for _chain based elements.

1) you cannot sanely execute a seek in the _chain function, the upstream
element might want to pause/synchronize its streaming thread, which is
impossible since it's executing the seek.

2) when the seek is to be performed by an upstream demuxer, the downstream
chain based elements should flush their stored seek event.

There is no problem for seek-in-READY for pull based elements, so patches for
that go in directly (also making the mp3 plugin support pull based
scheduling+seek-in-READY is a possibility).

I would like to extend the seek-in-READY to work in a complete pipeline. It
would go a bit like this: you seek on the pipeline, it stores the event. When
setting the elements to READY the bin issues the seek on each element (from
sink to source). The elements go to PLAYING, the one driving the pipeline
(source/demuxer) issues the seek to start producing data from the right
position. Upon the FLUSH_STOP event all downstream elements flush the seek
event. Elements activated in pull mode discard the seek event as well. 

If the source/demuxer cannot issue the seek for some reason, an http source
that does not support time based seeks, for example, a seek might be performed
by a downstream _chain based element. It's not clear to me how this seek should
be performed, some options:

collect info in the chain based element (mostly bitrate to do a byte seek)
which can then be used to:
 -- ask the pipeline to issue a seek by posting a message.
 -- perform a seek in another thread.
 -- fail the seek.
 -- ...


-- 
Configure bugmail: http://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