[Bug 755230] New: dashdemux: need for task_cancelled variable

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Sep 18 09:26:55 PDT 2015


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

            Bug ID: 755230
           Summary: dashdemux: need for task_cancelled variable
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: florin.apostol at oregan.net
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

To stop the stream download task, a function can set the
stream->demux->cancelled or stream->download_finished variables and signal the
task. But a dash task can perform 3 downloads (header, index and media segment)
(gst_adaptive_demux_stream_download_uri is called 3 times each time the task is
run) so we need a separate flag to signal that download must stop and thread
must exit as soon as possible.

stream->demux->cancelled cannot be used because that is set only when all
streams must stop. We cannot use that when trying to stop only tasks from
old_streams list.

stream->download_finished cannot be used because that signals normal thread
operation and after a sleep on it the thread is allowed to perform a second
download and sleep again.

So, in order to force a demux task to exit without waiting on new downloads, we
need a new variable (e.g. task_cancelled). It will be set to true from
gst_adaptive_demux_stream_free and gst_adaptive_demux_stop_tasks. The
gst_adaptive_demux_stream_download_uri function should check this at entry and
exit with error if it is set.

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