[Bug 767176] vaapiencode: implement flush() vmethod

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


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

--- Comment #38 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
(In reply to Hyunjun Ko from comment #37)
> (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? :)

D'accord. Let's keep the pause but don't destroy the VA encoder at
ensure_encoder().

Hyunjun, Can you cook the patch?

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