[Bug 706779] oggmux: support flushing seeks

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Aug 27 23:49:26 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=706779
  GStreamer | gst-plugins-base | git

Alessandro Decina <alessandro.d> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #253094|0                           |1
        is obsolete|                            |

--- Comment #4 from Alessandro Decina <alessandro.d at gmail.com> 2013-08-28 06:49:23 UTC ---
Created an attachment (id=253344)
 View: https://bugzilla.gnome.org/attachment.cgi?id=253344
 Review: https://bugzilla.gnome.org/review?bug=706779&attachment=253344

new attempt

Here's a better attempt which (i think) implements what we discussed on IRC. 

The steps involved are:

1) when the flushing seek is received, mark that we're flushing and forward the
event upstream. Do not set collectpads as flushing here else forwarding the
event wouldn't work obviously (and doing set_flushing(TRUE);
set_flushing(FALSE); forward; would be racy)

2a) on the first FLUSH_START coming from an upstream pad, flush internal state
and set collectpads as flushing. Setting collectpads as flushing means that
every pad is marked as FLUSHING until it gets the next FLUSH_STOP

2b) mark that we need to send FLUSH_STOP in the first next _collected call

3) in the first _collected call, send FLUSH_STOP downstream. We flush here
since if we're in _collected, it means that all the pads have finished flushing
(FLUSH_STOP) and have a buffer queued belonging to the new segment

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