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

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Oct 1 04:10:29 PDT 2015


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

--- Comment #65 from Florin Apostol <florin.apostol at oregan.net> ---
Review of attachment 312440:
 --> (https://bugzilla.gnome.org/review?bug=755169&attachment=312440)

1. the gst_adaptive_demux_src_event function, case GST_EVENT_RECONFIGURE still
uses demux->priv->exposing. It should use use_lock flag.

2. gst_adaptive_demux_reset sets demux->priv->exposing = FALSE; It should hold
the GST_ADAPTIVE_DEMUX_EXPOSING_LOCK when doing that.

::: gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ +455,3 @@
   GstAdaptiveDemuxClass *demux_class;

+  GST_ADAPTIVE_DEMUX_API_LOCK (demux);

don't need to lock it for SEGMENT events.

@@ +1339,3 @@
+  if (use_lock)
+    GST_ADAPTIVE_DEMUX_API_LOCK (demux);
+

besides EOS and SEEK, gst_adaptive_demux_expose_streams can also be called from
gst_adaptive_demux_advance_period (called from
gst_adaptive_demux_stream_download_loop) or from
gst_adaptive_demux_stream_advance_fragment_unlocked (which can be called from
_src_event). In those situations the system will deadlock when it will try to
create the pads which call the gst_adaptive_demux_src_query.

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