[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