[Bug 723473] New: [PATCH] rtpbasepayload: wait for all buffers in a list to be sent before flushing

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Feb 2 05:23:16 PST 2014


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

           Summary: [PATCH] rtpbasepayload: wait for all buffers in a list
                    to be sent before flushing
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: vincent.penquerch at collabora.co.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=267846)
 View: https://bugzilla.gnome.org/attachment.cgi?id=267846
 Review: https://bugzilla.gnome.org/review?bug=723473&attachment=267846

locking patch

Pushing a buffer list locks the payloader's source pad only
when pushing a buffer. If an intervening flush comes through,
this means only the first few buffers may be pushed before
the soure pad becomes flushing. This could cause a spurious
discontinuity, so we lock the (recursive) stream lock on the
source pad to ensure all buffers are pushed atomically.

However, there are two cases where one needs the flush to
break in the middle of a list:

- when the flush is triggered by a seek from downstream (in
this case, since downstream will block till the original
request finishes, it will not process any further buffers
(if it does both in the same thread anyway)).

- when a state change occurs


Not 100% sure about this. It fixes a spurious discontinuity in a test case, but
the need for exceptions feels a bit unfortunate.

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