gstreamer/tests/examples/gl/qt/qglwtextureshare
Julien Isorce fbe6dd9c5f gl: rename platform cocoa to cgl
Before:
GST_GL_PLATFORM=cocoa GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

After:
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

but still pass --enable-cocoa to configure script
because currently it can only be used with cocoa API.

We could later have cgl/gstglcontext_cgl.h that manages
a CGLContextObj directly and cocoa/gstglcontext_cocoa.h
would just wrap it.
So that it could be used with other Apple's window APIs.

https://bugzilla.gnome.org/show_bug.cgi?id=729245
2014-05-27 08:46:16 +01:00
..
AsyncQueue.h gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
cocoa_utils.mm gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
glcontextid.h gl: rename platform cocoa to cgl 2014-05-27 08:46:16 +01:00
gstthread.cpp gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
gstthread.h gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
main.cpp gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
moc_gstthread.cpp gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
moc_pipeline.cpp gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
moc_qglrenderer.cpp gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
pipeline.cpp gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
pipeline.h gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
qglrenderer.cpp gl: rename platform cocoa to cgl 2014-05-27 08:46:16 +01:00
qglrenderer.h gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
qglwtextureshare gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
qglwtextureshare.pro gl/examples: move to -bad 2014-04-29 16:40:08 +10:00
README gl/examples: move to -bad 2014-04-29 16:40:08 +10:00

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)