On 09/30/15 at 05:30pm, Dolevo Jay wrote: > Hi, Hi,
First, this is not the correct mailing list to discuss these topics. Please subscribe to the gstreamer mailing[1] list and start a thread there. 1. http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > I have decided to go for glimagesink path and I have get the basic > pipeline up and running with gstreamer 1.6 in my platform. Here is my next > questions. > > 1. We use triple buffers in our application. As far as I could read from the > gst-vaapi code, the textures are created in gl_create_texture function in > gstvaapiutils_glx.c. However, I couldn't find out where this is used > exactly in gst-vaapidecode. Can anybody help? gstvaapidecode doesn't create any texture. It provides a meta [2] that could be used by downstream to upload the surface into a texture. 2. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideometa.html#gst-video-gl-texture-upload-meta-upload > > 2. I see in gstglimagesink code that many times next_buffer and next_buffer2 > or similarly stored_buffer[0] and stored_buffer[1] are used. Are we using > dual buffer there? I don't know. > > 3. Is my understanding correct that vaapidecode creates the textures and > uploads them and gstglimagesink draws them? Nope. The gstglimagesink upload the buffer, provided by gstvaapidecode, using the gst_video_gl_texture_upload_meta_upload(). This function receives the texture id, created by gstglimagesink. This only work for OpenGL and OpenGLES, but not for OpenGL3 currently. If you read the code of sdlshare2.c[3] you'll notice that the client shares the GLContext to the sink, hence glimagesink creates the required textures using the client's GLContext. 3. http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/gl/sdl/sdlshare2.c Regards, vmjl _______________________________________________ Libva mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libva
