[Bug 648195] New: outputselector: make it "swap-safe"

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Apr 19 03:53:50 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=648195
  GStreamer | gstreamer (core) | git

           Summary: outputselector: make it "swap-safe"
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: havard.graff at tandberg.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=186266)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=186266)
test-case that defines the desired behavior

With this patch, setting active-pad blocks against any activity on that pad.
After you have sat active-pad, you are guaranteed that all pad-traffic,
aka. chain, bufferalloc and event, have ceased on the pad being switched
from.

This is very useful for dynamic pipelinbuilding, where you now safely can
swap-out, unlink and remove any element without having to worry about a push
or a pad-alloc sneaking in at the last minute, hitting elements that are on
their way out.

All pad-traffic is still kept non-serialized, aka, you can have a pad-alloc
while a push in in progress, while an OOB-event is underway.

Also some general cleanup and bugfixes for MT-safety.

Attached is a test-case for this behavior, as well as a proposed patch.

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