[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