Discussion:
[Bug 778763] New: adaptivedemux: Add pad probe for upstream event/query
Add Reply
"GStreamer" (GNOME Bugzilla)
2017-02-16 14:41:56 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

Bug ID: 778763
Summary: adaptivedemux: Add pad probe for upstream event/query
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-bad
Assignee: gstreamer-***@lists.freedesktop.org
Reporter: ***@lge.com
QA Contact: gstreamer-***@lists.freedesktop.org
GNOME version: ---

Add probe to fix deadlock and bug on seeking.

* About deadlock
Assume that seek event was forwarded from a srcpad, and demux is handling it
now.
At the same time, any queries/event which take manifest lock might be forwarded
from the other pads. Since _handle_seek_event() takes manifest lock,
the queries/event can never be handled until _handle_seek_event() is finished.
Also, demux cannot push flush event since the pads are stream locked by
the queries/event.

* Delay handle seek until preroll done
Because subclass handles seeking only for existing stream (not preparing
stream),
wait on preroll.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-02-16 14:45:50 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

--- Comment #1 from Seungha Yang <***@lge.com> ---
Created attachment 345944
--> https://bugzilla.gnome.org/attachment.cgi?id=345944&action=edit
adaptivedemux: Add pad probe for upstream event/query
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-02-16 14:46:07 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

--- Comment #2 from Seungha Yang <***@lge.com> ---
Created attachment 345945
--> https://bugzilla.gnome.org/attachment.cgi?id=345945&action=edit
adaptivedemux: Print preroll lock/unlock log
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-02-16 14:46:41 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

--- Comment #3 from Seungha Yang <***@lge.com> ---
Created attachment 345946
--> https://bugzilla.gnome.org/attachment.cgi?id=345946&action=edit
adaptivedemux: Stop prepare stream's task if needed

When demux chagnes state from PAUSED to READY, there can be prepared
but not yet exposed streams. To unload pipeline, the tasks of those streams
and corresponding source elements should be stopped.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-02-17 02:16:32 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

--- Comment #4 from Nicolas Dufresne (stormer) <***@ndufresne.ca> ---
*** Bug 776606 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-02-21 03:15:30 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

Seungha Yang <***@lge.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #345944|0 |1
is obsolete| |

--- Comment #5 from Seungha Yang <***@lge.com> ---
Created attachment 346297
--> https://bugzilla.gnome.org/attachment.cgi?id=346297&action=edit
adaptivedemux: Release manifest lock before pushing flush event
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-02-21 04:40:35 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

--- Comment #6 from Seungha Yang <***@lge.com> ---
Created attachment 346298
--> https://bugzilla.gnome.org/attachment.cgi?id=346298&action=edit
adaptivedemux: Reset "cancelled" to FALSE whatever target stream is

No reason to restrict only non prepared stream.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-02-21 04:40:56 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

--- Comment #7 from Seungha Yang <***@lge.com> ---
Created attachment 346299
--> https://bugzilla.gnome.org/attachment.cgi?id=346299&action=edit
adaptivedemux: Handle seek event during prerolling
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-02-21 04:41:43 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

--- Comment #8 from Seungha Yang <***@lge.com> ---
Created attachment 346300
--> https://bugzilla.gnome.org/attachment.cgi?id=346300&action=edit
hlsdemux: Select target seeking stream depending on demux's preroll state

Although demux is doing preroll (not yet finished), demux can get seek event.
In this case, demux needs to do seek only for prepared streams, since existing
streams will be removed after preroll done.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-02-21 05:36:00 UTC
Reply
Permalink
Raw Message
https://bugzilla.gnome.org/show_bug.cgi?id=778763

--- Comment #9 from Seungha Yang <***@lge.com> ---
Created attachment 346302
--> https://bugzilla.gnome.org/attachment.cgi?id=346302&action=edit
adaptivedemux: Move preroll count to _start_tasks () function

To reset preroll pending count whenever start new tasks
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
Loading...