[Bug 774831] New: queue2: handle overwriting the current range correctly

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Nov 22 08:38:33 UTC 2016


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

            Bug ID: 774831
           Summary: queue2: handle overwriting the current range correctly
    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: m.olbrich at pengutronix.de
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 340491
  --> https://bugzilla.gnome.org/attachment.cgi?id=340491&action=edit
queue2: handle overwriting the current range correctly

This basically reverts b3802f7a9e7988901367196dd3dc45cf4053d850 ("queue2:
fix crash deleting current region for small ring buffers") and fixes the
original problem correctly.

Ignoring the current range while checking which ranges must be truncated or
removed is incorrect. With just one range, it it possible, that the offset
of the current range must be adjusted because the corresponding data will
be overwritten.
To fix the original problem, the current range is never removed. Instead it
may be truncated to zero length before the new data is appended.


Note: The test-case from the original commit still works and my test-case
(seeking backwards to a position in the current range that was overwritten but
not removed from the range) works again. But I'm not 100% sure I got all
possible corner cases, so someone with better understanding of queue2 should
probably double check this.

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