plugins: Add more check for allowed raw caps.
authorHe Junyan <junyan.he@hotmail.com>
Mon, 24 Dec 2018 06:08:42 +0000 (14:08 +0800)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Mon, 24 Dec 2018 10:46:23 +0000 (10:46 +0000)
commit7663fa263c5c0bd3fd26887bc5dbd3e59a8c5ead
tree69773ea2786b83d745ee1b2b1f10eec3b4c97d27
parent63ea81a98370c4f96e29ac7a523457418d9034c1
plugins: Add more check for allowed raw caps.

The gst_vaapi_plugin_base_get_allowed_raw_caps is used for both sink
pad and src pad, which cause some bugs. For sink pad, we need to verify
vaPutImage() while for the src pad we need to verify vaGetImage().
For vaapidecoderXXX kind of plugins, the case is more complex. We need
to verify whether the decoded result(in some surface, NV12 format most
of the time) can be vaGetImage to some raw image format. Add more check
to fix all these problems.

https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/123

Signed-off-by: He Junyan <junyan.he@hotmail.com>
gst/vaapi/gstvaapidecode.c
gst/vaapi/gstvaapipluginbase.c
gst/vaapi/gstvaapipluginbase.h
gst/vaapi/gstvaapipostproc.c
gst/vaapi/gstvaapisink.c