Hi,
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?
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?
3. Is my understanding correct that vaapidecode creates the textures and 
uploads them and gstglimagesink draws them? 
ThanksRegards
> Date: Tue, 29 Sep 2015 18:11:47 +0200
> From: [email protected]
> To: [email protected]
> Subject: Re: [Libva] gst-vaapi, uploading to own textures
> 
> You can either use clutter-gst, (if you are using gstreamer 1.6)
> glimagesink, or craft your on video sink.
> 
> The simplest way is, if you use clutter, embedded a cluttervideosink actor in
> your code.
> 
> If you write your own video sink, you would handle the GstVidoeGLTextureUpload
> meta:
> 
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideometa.html#GstVideoGLTextureUpload
> 
> WebKitGTK+ does that with its own video sink (though, it is moving to use
> glimagesink).
> 
> 
> In the case of using glimagesink, you can connect the 'client-draw' signal and
> render the given texture:
> 
> http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/gl/sdl/sdlshare2.c?h=1.6
> 
> There's another option, juggling with the GL context:
> 
> http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/gl/sdl/sdlshare.c?h=1.6
> 
> 
> vmjl
> 
> On 09/29/15 at 12:38pm, Dolevo Jay wrote:
> > Hi,
> > In my device, I receive video streams from different sources (local or 
> > remote). After decoding them, I show them on the display using OpenGL. So 
> > far, all decoding was done in software. I was receiving RGB frames from 
> > each source and uploading them to certain textures to render them. The 
> > sources are now decoded in hardware using gstreamer-vaapi. An example gst 
> > line is as follows: gst-launch-1.0 filesrc location=/store/1.mp4 ! qtdemux 
> > ! vaapidecode ! vaapisink display=2This works great. However, as you might 
> > imagine, vaapisink creates its own wondow and draw the decoded frames onto 
> > it. What I would like to do is to feed the textures that I created in my 
> > application and feed them to vaapidecode or vaapisink element so that the 
> > rendering can happen in my canvas. I have been digging into the vaapidecode 
> > and vaapisink elements to see where the textures are uploaded, but couldn't 
> > spot the exact line to feed my texture info into. Could anyone help me? A 
> > function name, or a line number or any hint would be greatly appreciated.
> > Thanks,
> >                                       
> 
> > _______________________________________________
> > Libva mailing list
> > [email protected]
> > http://lists.freedesktop.org/mailman/listinfo/libva
> 
> _______________________________________________
> Libva mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/libva
                                          
_______________________________________________
Libva mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to