VASurface to OpengGL Texture and other questions

Arnaud Loonstra arnaud at sphaero.org
Wed Mar 18 01:29:56 PDT 2015


The pipeline looks good. I recall running a similar pipeline on nvidia 
hardware using 14.10. I think even using the provided gstreamer (1.4.3)
Have you tried a different nvidia driver? Usually multiple versions are 
supplied or nvidia provides a newer one.

There are also examples of openGL context sharing available, including 
a new one since last Gst hack fest.
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=7dd3a2ec9e27473bde9f636581fd7e71d59d1df3

This questions pops every now and then. I think we're in the need of a 
good reference where the answer to this question is explained.

Rg,

Arnaud

On 2015-03-18 08:31, Jorge Fernandez Monteagudo wrote:
> Hi,
>
> I'm back to my troubles with VAAPI and OpenGL :)
>
> I've installed the last gstreamer/gst-plugins 1.4.5 and
> gstreamer-vaapi-0.5.9 in my
> Ubuntu 14.04 workstation with vdpau 0.7 and NVIDIA VDPAU Driver
> Shared Library 331.113
>
> I'm trying to test the zero copy to implement a video player embedded
> in a OpenGL
> application. First of all I've tested a VAAPI only pipeline and is
> working ok.
>
> gst-launch-1.0 filesrc location=big_buck_bunny_720p_surround.avi !
> avidemux ! vaapidecode ! vaapisink
>
> Then I've tried to use the OpenGL sink
>
> gst-launch-1.0 filesrc location=big_buck_bunny_720p_surround.avi !
> avidemux ! vaapidecode ! glimagesink
>
> but a SIGSEGV is generated. Is it expected to work this pipeline??
>
> I was thinking using this pipeline in my videoplayer because
> glimagesink is able to use an external context,
> 'other-context' property, an glx context created by my application,
> and has a signal, 'client-draw', where you
> can do the painting process with a given texture from the videoframe.
> Is it correct??
>
> The second option could be change glimagesink with the appsink then
> the message question. Is it possible
> to convert the VASurface I get from vaapidecode to a OpenGL texture?
> Any example?
>
> Anybody has implemented something similar? What's the way to go?
>
> In order to allow debugging the SIGSEGV here is the gdb backtrace:
>
>
[snip]


More information about the gstreamer-devel mailing list