mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 10:40:34 +00:00
6b96a87003
We need to pass the X11 display to GstGL or else it will use its own X11 Display pointer, and the GL Context won't get shared correctly on newer X servers
32 lines
1.3 KiB
Text
32 lines
1.3 KiB
Text
Requires: >= Qt 5.1 for the x11extras module (or else you need to
|
|
get x11extras from gitorious yourself)
|
|
|
|
This example illustrates how to integrate Gstreamer GL plugin with
|
|
Qt. In particular it uses glupload with fakesink elements to create
|
|
texture with decoded video frame. This texture is shared with
|
|
QGLWidget derived class, which paints a cube with video texture on
|
|
each face.
|
|
|
|
To compile the example, include and library paths might be adjusted in
|
|
.pro file according to your installation of the gstreamer and
|
|
corresponding development files. Most probably, the adjustments will
|
|
be necessary on Windows.
|
|
|
|
To run the example simply start executable file after compilation. If
|
|
there is no command line arguments provided, then videotestsrc element
|
|
will be used to generate video. The following pipeline will be created
|
|
in this case:
|
|
|
|
videotestsrc ! video/x-raw, width=640, height=480, framerate=(fraction)30/1 ! glupload ! fakesink sync=1
|
|
|
|
It is also possible to provide the video file name as a first command
|
|
line parameter, i.e. ./qglwtextureshare myvideo.ogv . In this case,
|
|
the following pipeline will be executed:
|
|
|
|
filesrc location=myvideo.ogv ! decodebin2 ! glupload ! fakesink sync=1
|
|
|
|
I would appreciate any feedback and improvement suggestions for this
|
|
example.
|
|
|
|
Have fun :-)
|
|
Andrey Nechypurenko (andreynech@gmail.com)
|