[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