[Bug 752213] New: tee: Avoid race condition while forwarding sticky events

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Jul 10 01:48:16 PDT 2015


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

            Bug ID: 752213
           Summary: tee: Avoid race condition while forwarding sticky
                    events
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: santoscadenas at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 307207
  --> https://bugzilla.gnome.org/attachment.cgi?id=307207&action=edit
tee: Avoid race condition while forwarding sticky events

I have found that in some circumstances a source pad receives data without
having a segment event, printing this error:

Unexpected critical/warning: gstpad.c:4258:gst_pad_push_data:<tee10:src_1> Got
data flow before segment event

It is a race condition, because sink pad did not have segment event while
adding the new source pad and it is received before the source pad is added to
the tee but after the sticky events are forwarded, so this event is not in the
new src pad.

Previous pads are not failing, just the new one. And this happens rarely 1 on
500 or so.

The solution I found is to lock the sink stream while adding the pad and once
it is added forward the sticky events. With this patch I can not reproduce the
issue.

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