gstreamer/tests/examples/gl/qt/qglwtextureshare
Guillaume Desmottes dd5f7f1bf9 gl: move each gl platform specific API to its own gir
With contributions from:
Thibault Saunier <tsaunier@igalia.com>
Matthew Waters <matthew@centricular.com>

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/651

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/661>
2020-08-06 04:09:09 +00:00
..
AsyncQueue.h gl/examples: move to -bad 2017-12-09 19:31:38 +00:00
cocoa_utils.mm gl/qt/examples: update for NSOpenGL -> CGL change 2017-12-09 19:31:53 +00:00
gstthread.cpp examples: Fix Qt/GL qglwtextureshare example for X11 2017-12-09 19:31:47 +00:00
gstthread.h examples: Fix Qt/GL qglwtextureshare example for X11 2017-12-09 19:31:47 +00:00
main.cpp gl/examples/qt: restrict the GL API to opengl where needed 2017-12-09 19:32:18 +00:00
meson.build gl: move each gl platform specific API to its own gir 2020-08-06 04:09:09 +00:00
pipeline.cpp examples/gl/qt: silence compiler warnings 2020-07-14 17:07:54 +10:00
pipeline.h examples: Fix Qt/GL qglwtextureshare example for X11 2017-12-09 19:31:47 +00:00
qglrenderer.cpp examples/gl/qt: Don't include GL/glx.h unconditionally 2020-07-07 23:12:47 +00:00
qglrenderer.h examples/gl/qt: silence compiler warnings 2020-07-14 17:07:54 +10:00
qglwtextureshare.pro gl/examples: update qt examples for api changes 2017-12-09 19:32:04 +00:00
README examples: Fix Qt/GL qglwtextureshare example for X11 2017-12-09 19:31:47 +00:00

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)