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

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Sep 22 05:43:25 PDT 2015


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

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

::: gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ +1371,3 @@
   }

+  GST_MANIFEST_UNLOCK (demux);

you cannot do this because you still access demux->streams without a lock
taken.

For a multithreaded application you simply are not allowed to access a shared
variable if you do not hold a lock that is used by all accesses to it.
For example, imagine that you release the lock and while you are getting the
iter to point to a stream, another thread comes and erases the whole
demux->streams list. Next, your thread does GstAdaptiveDemuxStream *stream =
iter->data; stream->download_error_count = 0; Bang. Illegal memory access
because stream points to a memory no longer valid.

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