[Bug 765728] adaptivedemux: Segfault since "use realtime_clock for waiting for a condition" commit
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Fri May 6 08:52:55 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=765728
Tim-Philipp Müller <t.i.m at zen.co.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Target Milestone|git master |1.9.1
--- Comment #32 from Tim-Philipp Müller <t.i.m at zen.co.uk> ---
Thanks, pushed (with minor fixup of comment formatting, removing the gtk-doc
marker for function and adding '*' for all lines in multi-line comment)
commit 792e9a60330d4559e119263400558b5be2f01715
Author: Alex Ashley <bugzilla at ashley-family.net>
Date: Fri Apr 29 12:31:01 2016 +0100
adaptivedemux: fix threading issues in gst_adaptive_demux_wait_until
function
The gst_adaptive_demux_wait_until() function can be woken up either
by its end_time being reached, or from other threads that want to
interrupt the waiting thread.
If the thread is interrupted, it needs to cancel its async clock callback
by unscheduling the clock callback. However, the callback task might
already
have been activated, but is waiting for the mutex to become available. In
this
case, the call to unschedule does not stop the callback from executing.
The solution to this second issue is to use a reference counted object that
is decremented by both the gst_adaptive_demux_wait_until() function and the
call to gst_clock_id_wait_async (). In this way, the GstAdaptiveDemuxTimer
object is only deleted when both the gst_adaptive_demux_wait_until()
function
and the async callback are finished with the object.
https://bugzilla.gnome.org/show_bug.cgi?id=765728
--
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