[Bug 773093] New: basetransform: Fix race when toggling passthrough

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Oct 17 12:17:29 UTC 2016


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

            Bug ID: 773093
           Summary: basetransform: Fix race when toggling passthrough
    Classification: Platform
           Product: GStreamer
           Version: unspecified
                OS: All
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: stian.selnes at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

This fixes a race where priv->passthrough is changed from TRUE to FALSE
while processing a buffer and we end up passing a non-writable buffer to
transform_ip(). More precicely if passthrough is changed just after
prepare_output_buffer() is finished.

Since priv->passthrough and other priv variables are accessed throughout
the chain function a lock is introduced and held while processing the
buffer, but released before pushing downstream. Since sub-classes may
call is_passthrough() and similar functions during for instance
transform_ip() a recursive lock is needed.

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