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