[Bug 755169] dashdemux: can we have multiple seek events at the same time?

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Sep 21 10:03:18 PDT 2015


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

--- Comment #5 from Florin Apostol <florin.apostol at oregan.net> ---
(In reply to Vincent Penquerc'h from comment #4)
> Created attachment 311778 [details] [review]
> lock access to _stop_tasks
> 
> Indeed, fixed. That's some unexpected mutex use.

This solution solves the problem of stopping tasks from 2 different threads.
But this is not enough. The manifest lock must be taken at a higher level. The
gst_adaptive_demux_stop_tasks is just a step in a sequence of steps that must
all be guarded by the manifest lock.

For example, during a seek event handling (gst_adaptive_demux_src_event) the
manifest lock is taken for the call of gst_adaptive_demux_can_seek. But is not
taken for calls to gst_adaptive_demux_is_live,
gst_adaptive_demux_get_live_seek_range or even worse gst_segment_copy_into. The
gst_adaptive_demux_src_event function makes several accesses to demux object
(using the above mentioned functions). In my opinion, the manifest lock should
guard the whole "case GST_EVENT_SEEK:" block.

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