Matthew Waters
c086540291
qt: use a static_cast instead of dynamic one
...
The dynamic_cast is a little but of overkill as the app will still crash if it
fails in the later g_assert.
Allows compilation with -fno-rtti
https://bugzilla.gnome.org/show_bug.cgi?id=762526
2016-02-24 21:20:18 +11:00
Sergey Borovkov
0d80be0ce0
qmlglsink: Schedule onSceneGrpahInitialized to execute on render thread
...
onSceneGraphInitialized() is called from non render thread currently when
scene graph is already initialized.
https://bugzilla.gnome.org/show_bug.cgi?id=761003
2016-02-22 20:26:41 +11:00
Matthew Waters
6ab40e8531
qt: specify that we currently only take 2D textures
...
Fixes black screen video playback on android without a caps filter.
2016-01-27 16:13:28 +11:00
Sergey Borovkov
155f0acfab
qml: Mark material dirty when texture buffer is updated
...
Qt might not redraw the scene otherwise.
https://bugzilla.gnome.org/show_bug.cgi?id=758286
2016-01-15 14:11:52 +11:00
Nicolas Dufresne
516047f66f
qtsink: Add configured GL cflags to the build
...
We don't directly link to GL in the element, though we use GL headers.
For this reason we need to include the proper GL headers path. This
prevent this element from using a different GL header then libgstgl.
2015-12-15 19:28:22 -05:00
Matthew Waters
2b7495bbc1
glmemory: base classify and add the pbo memory on top
...
The base class is useful for having multiple backing memory types other
than the default. e.g. IOSurface, EGLImage, dmabuf?
The PBO transfer logic is now inside GstGLMemoryPBO which uses GstGLBuffer
to manage the PBO memory.
This also moves the format utility functions into their own file.
2015-12-14 16:35:32 +11:00
Roman Nowicki
21348cf772
qml: reuse existing GstQSGTexture
...
Fixes a memory leak leaking the texture objects.
https://bugzilla.gnome.org/show_bug.cgi?id=758286
2015-11-20 11:18:43 +11:00
Matthew Waters
33d98ddf48
qml: activate the wrapped context when binding
...
Mitigates the following critical
gst_gl_context_thread_add: assertion 'context->priv->active_thread == g_thread_self ()' failed
2015-11-20 11:09:45 +11:00
Roman Nowicki
27c94f3375
qml: proper initialization if scene is already initialized
...
The scene graph can be initialized when the we receive window handle change
notification and so we will not receive a scenegraph initialization
notification. Initialize ourself in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=758337
2015-11-20 09:41:56 +11:00
Matthew Waters
3dfc6899ad
gl: be consistent in gobject boilerpate
...
GST_GL_IS_* vs GST_IS_GL_*
git grep -l 'GST_GL_IS_' | xargs sed -i 's/GST_GL_IS_/GST_IS_GL_/g'
2015-10-19 15:15:30 +11:00
Matthew Waters
30194cc368
qt: add support for building on osx/ios
...
Including:
- Necessary configure checks
- Necessary compile time platform checks
- Necessary runtime qt iOS/OSX platform detection
https://bugzilla.gnome.org/show_bug.cgi?id=755100
2015-10-02 22:29:45 +10:00
Luis de Bethencourt
ff8f648f37
qtsink: explicitely fallthrough switch statement
...
In case ret is False, fallthrough to default case.
CID #1320705
2015-09-29 13:37:08 +01:00
Luis de Bethencourt
86151cbf06
qml: remove overwritten value
...
Value in tex is overwritten before being used. Removing it.
CID 1320715
https://bugzilla.gnome.org/show_bug.cgi?id=754253
2015-09-28 18:17:22 +10:00
Matthew Waters
18d5ed0408
qt: add support for building/running on android
...
Including:
- Necessary configure checks
- Necessary compile time platform checks
- Necessary runtime qt android platform detection
- Escaping GLsync definition with Qt's GLES2 implementation
https://bugzilla.gnome.org/show_bug.cgi?id=754466
2015-09-28 16:47:00 +10:00
Matthew Waters
f12caa5c22
qt: don't use CPPFLAGS for tools that cannot use them
...
For example moc will bail out when given arguments it does not
know about. The moc specific MOC_CPPFLAGS can still be used
to pass flags to moc.
https://bugzilla.gnome.org/show_bug.cgi?id=754466
2015-09-28 16:47:00 +10:00
Matthew Waters
fdf2a73ec0
qt: rename library to include gst prefix
...
libqtsink -> libgstqtsink
https://bugzilla.gnome.org/show_bug.cgi?id=754466
2015-09-28 16:47:00 +10:00
Matthew Waters
38d360675c
gtk, qt: more specifically define the compile time requirements
...
Otherwise we could include headers/configurations that will
never been installed.
https://bugzilla.gnome.org/show_bug.cgi?id=754732
2015-09-10 13:11:06 +10:00
Matthew Waters
bca1fd1040
qt: use our function table instead of directly calling gl functions
...
Otherwise when building with --as-needed we would need to link to
a GL or GLES library.
https://bugzilla.gnome.org/show_bug.cgi?id=754732
2015-09-10 00:33:40 +10:00
Nirbheek Chauhan
77f68f6e10
qmlsink: Ensure that at least one windowing system is available
...
Otherwise, we'll just crash at runtime because the gl context is NULL
https://bugzilla.gnome.org/show_bug.cgi?id=754108
2015-08-31 23:16:07 +01:00
Tim-Philipp Müller
1cb3e8c591
gtk, qt, gl: fix typo in debug and error messages
2015-08-31 18:06:31 +01:00
Matthew Waters
6b8cf8419d
qml: implement the required multiple GL context synchonisation
...
From GStreamer's GL context into the QML context
2015-08-08 17:30:42 +02:00
Edward Hervey
3b751bf775
qt: Don't dist files that might not exist
...
We only require moc building at build time.
2015-07-22 15:14:28 +02:00
Edward Hervey
5f8633b6f3
qt: Tidy up makefile a bit more
...
Separate generated files, from disted files
2015-07-22 08:06:19 +02:00
Matthew Waters
d5996de5d7
glcontext: fix get_current_gl_api on x11/nvidia drivers
...
They require to get_proc_address some functions through the
platform specific {glX,egl}GetProcAddress rather than the default
GL library symbol lookup.
2015-07-18 18:18:22 +10:00
Edward Hervey
7cb734b1cd
configure/qt: Fix build without Qt5X11Extras
2015-07-10 14:01:59 +02:00
Matthew Waters
769fffa3d9
new qt5 qml GL video sink
...
Very much in the same spirit as the Gtk GL sink
Two things are provided
1. A QQuickItem subclass that renders out RGBA filled GstGLMemory
buffers that is instantiated from qml.
2. A sink element that will push buffers into (1)
To use
1. Declare the GstGLVideoItem in qml with an appropriate
objectName property set.
2. Get the aforementioned GstGLVideoItem from qml using something like
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
QObject *rootObject = engine.rootObjects().first();
QQuickItem *videoItem = rootObject->findChild<QQuickItem *> ("videoItem");
3. Set the videoItem on the sink
https://bugzilla.gnome.org/show_bug.cgi?id=752185
2015-07-10 15:25:26 +10:00