vaapidecodebin: ensure VPP before going to READY
authorVíctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
Thu, 6 Aug 2015 16:48:13 +0000 (18:48 +0200)
committerVíctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
Thu, 13 Aug 2015 15:34:42 +0000 (17:34 +0200)
commitee5d8ee2023df8b3983bde199f513d48c87f951b
tree6e2a1fc76478a47c9b21a9badf91a88addd7fffb
parent1e061c54e196da7f66fc37fdee28bfba819f2def
vaapidecodebin: ensure VPP before going to READY

There are sometimes that the VA-API display context is not shared among the
pipeline, but it is important to know it before going to READY state (when the
pipeline is already linked).

One instance of this case is this:

gst-launch-1.0 filesrc location=media ! decodebin ! vaapipostproc ! vaapisink

This patch adds a new function in gstvaapipluginutil called
gst_vaapi_create_test_display(). Its purpose is to create a disposable VA-API
display, which only will be used for verify if the VAEntrypointVideoProc is
available by the hardware. Afterwards, it should be unrefed.

If the vaapidecodebin is going to READY state, and the element still doesn't
know if VPP is available, the last resort is to create a new instance of the
VA-API display and test for it.

https://bugzilla.gnome.org/show_bug.cgi?id=749554
gst/vaapi/gstvaapidecodebin.c
gst/vaapi/gstvaapipluginutil.c
gst/vaapi/gstvaapipluginutil.h