VAAPI + meta:GstVideoGLTextureUploadMeta

Christophe Lafolet christophe.lafolet at laposte.net
Sun Jan 17 11:32:12 PST 2016


Hello,

I've troubles with VAAPI and OpenGL :) 

I'm developping a Java OpenGL application with dynamic streams and use
DecodeBin + AppSink to be notified of buffer reception.


No problem when I disable VAAPI plugin selection and do texture upload
myself.

Now I want to use hardware decoding 

It's not clear to me which API should I use to shared openGL context with
VAAPI

- in this post :
http://ystreet00.blogspot.com.au/2015/09/gstreamer-16-and-opengl-contexts.html
the new way should be to set a context on GST_MESSAGE_NEED_CONTEXT reception
but the VAAPI plugin seems only verify that the given context contains a
VAAPI display and delegate to element_class->set_context() but this callback
is unset for VaapiDecode so no context is saved  
Question : why do I need to add a VAAPI display in this context ? DecodeBin
is a black box for me and I'm surprised to specify a VAAPI display.

- the old way seems to use allocation query :
AppSink do not provide configurable "signal" to add callback to handle
allocation query : I update the AppSink.propose_allocation field directly
from Java with my callback and it works ...   yes
So, I add GstVideoGLTextureUploadMeta to the allocation query :
"gst.gl.GstGLContext" with a gl_context build with
gst_gl_context_new_wrapped(), VAAPI detects my parameters
(GST_GL_PLATFORM_GLX, GST_GL_API_OPENGL) 
but a SIGSEGV is generated later.
I receive samples containing no raw data (OK), a VideoGLTextureUploadMeta
with one texture (OK) but can't upload 

Is there a example to use VAAPI + meta:GstVideoGLTextureUploadMeta ?


My config : 
Linux + X11 + GLX
gstreamer 1.6.2-1
gstreamer-vaapi 0.7.0
gstopengl not used.



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/VAAPI-meta-GstVideoGLTextureUploadMeta-tp4675312.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list