Commit graph

1566 commits

Author SHA1 Message Date
Matthew Waters
03b539bdfc gl: update sys dependants for function removals
4315a4b54d forgot to change the androidmedia/videotoolbox/caopengllayer
sources as required.
2017-01-13 13:01:28 +11:00
Juan Pablo Ugarte
fb5339a387 glslstage: define GL constants if needed instead of using #ifdef
https://bugzilla.gnome.org/show_bug.cgi?id=777144
2017-01-13 11:20:51 +11:00
Matthew Waters
6919b4ca66 glutils: document functions 2017-01-13 11:20:51 +11:00
Matthew Waters
4de388278a glutils: privatise matrix multiplication/videoaffinetransformation retrieval 2017-01-13 11:20:51 +11:00
Matthew Waters
4315a4b54d gl/utils: also take care of the local GL context in query functions
Simplifies a deduplicates a lot of code in elements retrieving/setting
the local OpenGL context.
2017-01-13 11:20:51 +11:00
Matthew Waters
3fba290979 glutils: remove trivial helper function
gst_gl_caps_replace_all_caps_features() is only used in two places and can
be trivially reproduced.
2017-01-13 11:20:51 +11:00
Matthew Waters
6f4657c464 gl/docs: add symbols from -unused.txt 2017-01-13 11:20:50 +11:00
Matthew Waters
f032334eac gl/docs: some type fixes of type names 2017-01-13 11:20:50 +11:00
Matthew Waters
1c12c21653 glwindow: use the same parameter names between vfuncs and functions of the same name
Silences GI warnings about symbol's not being used from source code
comment block
2017-01-10 20:07:09 +11:00
Matthew Waters
91ed9fe362 glbasememory: type fix for GstGLBaseMemoryAllocatorAllocFunction 2017-01-10 20:06:39 +11:00
Matthew Waters
b76f14f004 gldisplay: add missing transfer annotations 2017-01-10 20:05:42 +11:00
Matthew Waters
b65ecbaa2b gl: add skip annotations to non-GI possible struct constructors 2017-01-10 20:04:30 +11:00
Matthew Waters
f8a2721388 glbasememory: remove unused and #if 0'ed function definitions 2017-01-10 20:03:09 +11:00
Matthew Waters
a1f2da88bf gl: add necessary get_type() functions for allocation params structures
All using the existing GstGLAllocationParams infrastructure
2017-01-10 19:58:48 +11:00
Matthew Waters
a20d064304 gldisplay: some annotation updates/typo fixes 2017-01-10 15:35:52 +11:00
Matthew Waters
01cf3547dd gl: remove reference to non-existant header
../../../../gst-libs/gst/gl/gl.h:57:45: fatal error: gst/gl/gstglcontrolbindingproxy.h: No such file or directory
 #include <gst/gl/gstglcontrolbindingproxy.h>
                                             ^
2017-01-10 14:29:46 +11:00
Matthew Waters
a4024b61cf gl: remove custom control binding proxy
Use the existing GstProxyControlBinding instead.
2017-01-10 13:57:37 +11:00
Matthew Waters
f3d2be1e4f gl: remove unneeded gst_gl_buffer_alloc from header file
There's no implementation anymore!
2017-01-10 13:57:37 +11:00
Matthew Waters
66d616f5ed gl/egl: remove use of texture orientation 2017-01-10 13:57:37 +11:00
Matthew Waters
d9f553bff5 glcontext/egl: don't overwrite set GError
Doing so is an error and will cause a glib warning to be printed.

https://bugzilla.gnome.org/show_bug.cgi?id=776722
2017-01-10 01:00:12 +11:00
Matthew Waters
d8d28e4426 gl/format: use the unsized format for RGB on GLES2
In GLES2 GL_RGB8 doesn't exist so we cannot use it, use GL_RGB
instead.

https://bugzilla.gnome.org/show_bug.cgi?id=776141
2016-12-17 01:13:44 +11:00
Matthew Waters
e6e403a6c9 gl/window: remove unused priv variable
https://ci.gstreamer.net/job/GStreamer-master/7989/console
2016-12-16 00:22:41 +11:00
Matthew Waters
f58eb98440 gl/window: remove use of main_context_push/pop_thread_default()
No-one's using/depending on it (it would have criticalled and not worked)
and it's causing more problems than it's solving.  Store the GMainContext
in the public struct instead for subclasses to optionally use instead of
relying on the push/pop state to be correct.

https://bugzilla.gnome.org/show_bug.cgi?id=775970
2016-12-16 00:02:47 +11:00
Sebastian Dröge
5c99f9cf37 gst: Don't declare variables inside the for loop header
This is a C99 feature.
2016-12-13 22:39:01 +02:00
Julien Isorce
f7b039e7df gstglupload: relax EGL context check
Check for GST_GL_PLATFORM_EGL enum instead of type GstGLContextEGL.

https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-12-01 10:50:10 +00:00
Julien Isorce
119955bea4 gstglcontext: is_shared should return FALSE if no group
If a sub class of GstGLContext does not create a group
then it currently crashes:

0 g_atomic_int_get (&share->refcount)
1 _context_share_group_is_shared (context->priv->sharegroup)
2 gst_gl_context_is_shared
3 _default_set_sync_gl

https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-12-01 10:50:05 +00:00
Matthew Waters
1db88cbee7 glmemoryegl: remove spurious #if GST_GL_HAVE_DMABUF conditions
8c2118823b had some incorrect preprocessor
conditions that aren't actually needed.  Remove them.

https://bugzilla.gnome.org/show_bug.cgi?id=775248
2016-11-30 19:29:27 +11:00
Matthew Waters
024e92afe7 glwindow: move g_main_context_push/pop_thread_default() to run()
Calling g_main_context_push_thread and then g_main_context_invoke()
(used by gst_gl_window_send_message_async()) in the same thread will
cause the invoked function to run immediately instead of being delayed.

This had implications for the creation of the OpenGL context not waiting
until the main loop had completely started up and as a result would
sometimes deadlock in short create/destroy scenarios.

https://bugzilla.gnome.org/show_bug.cgi?id=775171
2016-11-28 14:27:03 +11:00
Matthew Waters
25fbc6d877 glcontext: fix race between creation/shutdown
626bcccff9 removed some locks that
allowed the main loop quit to occur before the context was fully
created.

2776cef25d attempted to readd them but
missed the scop of the quit() call.

Also remove the use of g_thread_join() as that's not safe to use when
it's possible to lose the last reference from the GL thread.

https://bugzilla.gnome.org/show_bug.cgi?id=775171
2016-11-28 14:27:03 +11:00
Sebastian Dröge
939528e542 gl/x11: Remove unused static function 2016-11-25 23:44:25 +02:00
Matthew Waters
4a0214335f gl/contextglx: error out on more invalid display/window combinations
https://bugzilla.gnome.org/show_bug.cgi?id=774851
2016-11-23 17:04:34 +11:00
Matthew Waters
7ab4abb3ab gl: add necessary context_egl.h #includes to the source files 2016-11-23 15:57:05 +11:00
Matthew Waters
75d36b990d gl/memoryegl: remove access to private header gstglcontext_egl.h
It's been removed and thus compiling anything against GstGLMemoryEGL
would error with:

In file included from gstomxvideodec.c:41:0:
usr/include/gstreamer-1.0/gst/gl/egl/gstglmemoryegl.h:32:41: fatal error: gst/gl/egl/gstglcontext_egl.h: No such file or directory
 #include <gst/gl/egl/gstglcontext_egl.h>
                                         ^

https://bugzilla.gnome.org/show_bug.cgi?id=774886
2016-11-23 13:36:45 +11:00
David Evans
5591f55db5 gl: add gstreamer-video to pkg-config path
https://bugzilla.gnome.org/show_bug.cgi?id=774624
2016-11-21 09:34:44 +02:00
Matthew Waters
39b59beace meson: gl/egl: add missing source file
d42145e8c1 didn't add the necessary
meson build changes.
2016-11-17 14:32:10 +11:00
Matthew Waters
8c2118823b gl/egl: remove EGLImage functions from egl context
By adding the necessary GstEGLImage entry points to create a GstEGLImage
from a GstGLMemory.

https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-17 14:06:21 +11:00
Matthew Waters
f2e9190229 glcontext: add vfunc to retrieve the OpenGL platform version
i.e. the version of EGL, GLX, etc implemented.

https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-17 14:06:21 +11:00
Matthew Waters
d42145e8c1 gl/egl: move get_error_string() into gstegl
So others can use it without #include-ing a private header

https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-17 14:06:21 +11:00
Matthew Waters
cdaada4300 display/egl: implement getting the EGLDisplay of a specific platform
https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-17 14:06:21 +11:00
Víctor Manuel Jáquez Leal
9ca4c8ec35 gl/egl: check the feature in the extensions list
https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-16 19:52:54 +01:00
Matthew Waters
bb84f7357b glcontext/cocoa: implement empty swap_buffers
Fixes some GL tests on OS X.
2016-11-16 17:34:29 +11:00
Matthew Waters
9f690fa241 glwindow/cocoa: remove unneeded window code in NSWindow
This is all taken care of by GstGLWindowCocoa/GstGLNSView now.
2016-11-16 00:01:00 +11:00
Matthew Waters
23ec5aeb83 glwindow/cocoa: remove our view from the parent when closing
Otherwise, when the application reuses the same UIView, we were getting
draw notifications on the previous view/layer's which weren't valid anymore
and were referencing pointers that had been freed.

https://bugzilla.gnome.org/show_bug.cgi?id=753003
2016-11-16 00:00:17 +11:00
Matthew Waters
5602cab04d gl/caopengllayer: add a debug category 2016-11-15 23:55:00 +11:00
Matthew Waters
f2d09b8cd4 glbufferpool: introduce check for GLMemory allocators
The last missing piece of EGLImage support has been pushed.
2016-11-15 23:55:00 +11:00
Tim-Philipp Müller
ba6b8c33e0 gl: x11-xcb is not a required dependency
Don't fail if it's not found..
2016-11-11 01:06:23 +00:00
Matthew Waters
3f7b549881 gl/utils: move gen_shader() to the plugin and remove del_shader()
gst_gl_context_del_shader() can be replaced by a g_object_unref().
gst_gl_context_gen_shader() should be replaced by using GstGLSLStage.
2016-11-10 20:11:03 +11:00
Matthew Waters
59350d078b glwindow: remove unused field in public struct 2016-11-10 20:05:45 +11:00
Matthew Waters
01fa90c1e7 glwindow: remove is_running() function
It isn't necessary in correctly written programs.
2016-11-10 20:05:45 +11:00
Nirbheek Chauhan
de4552d279 meson/gl: XCB changes also need x11-xcb as a dependency
https://ci.gstreamer.net/job/GStreamer-master-meson/380/console

[...]
gst-libs/gst/gl/x11/xcb_event_source.c:98: undefined reference to `xcb_get_file_descriptor'
2016-11-08 17:52:02 +05:30