[Bug 767176] vaapiencode: implement flush() vmethod

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jul 6 02:07:09 UTC 2016


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

--- Comment #37 from Hyunjun Ko <zzoon at igalia.com> ---
(In reply to Víctor Manuel Jáquez Leal from comment #34)

> Let me know how it works with your tests.
> 
> During my tests, I found deadlocks, but they don't happen in the encoder,
> but in the multiqueue before the demuxer (qtdmeux, asfdemux)

I guess the deadlock you met is same as my case (PAUSE and SEEK)
That's why I call gst_pad_puase_task after send_event.
(This kind of logic can be found in other plugin...)

It's ok that calling gst_pad_stop_task instead of gst_pad_pause_task but it
also waits for finishing the task to join the task-thread inside
gst_pad_stop_task.

As far as I tested, if I call it after send_event, working fine.

One more small thing. 
IMHO, calling gst_pad_pause_task is also OK, even we destroy VA encoder when
flushing. Because it's not destroying encoder plugin and plugin's
infrastructure including gst_pad.
Is this same sense as that you don't want to close plugin? :)

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