[Bug 793412] msdk: session close failure if there are multiple sessions in a pipeline

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Feb 26 20:48:37 UTC 2018


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

Víctor Manuel Jáquez Leal <vjaquez at igalia.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vjaquez at igalia.com

--- Comment #3 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
(In reply to sreerenj from comment #2)
> Review of attachment 368816 [details] [review]:
> 
> ::: sys/msdk/gstmsdkcontext.c
> @@ +216,3 @@
> +{
> +  mfxSession _session = session;
> +  MFXDisjoinSession (_session);
> 
> Ideally, it should make sure there is no active task.
> According to spec, if this API returns MFX_WRN_IN_EXECUTION:
> "Active tasks are in execution or in queue. Wait for
> the completion of the tasks and then call this
> function again."

Would that lead to a deadlock?

As the list is iterated sequentially, perhaps the dependency chain might not
follow the sequence and we would wait for a task forever.

> 
> @@ +292,3 @@
>    priv->job_type = parent_priv->job_type;
> +  parent_priv->child_session_list =
> +      g_list_append (parent_priv->child_session_list, priv->session);
> 
> It is recommended to use g_list_prepend whenever possible.
> https://developer.gnome.org/glib/stable/glib-Doubly-Linked-Lists.html#g-list-
> append

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