Jan Schmidt
920d295c97
gl: Remove duplicate typedef of GstGLFramebufferClass
...
The GstGLFramebufferClass struct is typedeffed in
gstgl_fwd.h, and having a duplicate elsewhere is
breaking the cerbero build on my OSX machine,
even though it seems to be working in CI.
2017-12-09 19:32:27 +00:00
Josep Torra
2cdce1d75f
glwindow/cocoa: fix warnings reported by XCode 8.1.0
...
gstglwindow_cocoa.m:345:16: error: unused variable 'window' [-Werror,-Wunused-variable]
GstGLWindow *window = GST_GL_WINDOW (window_cocoa);
^
gstglwindow_cocoa.m:445:11: error: unused variable 'external_view' [-Werror,-Wunused-variable]
NSView *external_view = (__bridge NSView *)priv->external_view;
^
2017-12-09 19:32:27 +00:00
Nicolas Dufresne
ae30818f7b
gldisplay: Fix assert caused by missing debug category
2017-12-09 19:32:27 +00:00
Scott D Phillips
8d3d6d3595
gl/format: correct return enums in gst_gl_format_from_video_info
...
In commit
> 956c4d0
gl/format: use our own GL format enum's instead of gstvideo's
the name and return type of gst_gl_format_from_video_info changed,
but some returns of the old type were missed. Here they are
updated to the correct type.
https://bugzilla.gnome.org/show_bug.cgi?id=780064
2017-12-09 19:32:27 +00:00
George Kiagiadakis
6b6a8a46b5
glupload: adjust memory offset calculation for dmabuf buffers
...
The data in the dmabuf fd may not start from byte 0, therefore
we need to inform EGL about this additional offset.
https://bugzilla.gnome.org/show_bug.cgi?id=779790
2017-12-09 19:32:27 +00:00
Matthew Waters
61ee2685c0
gl: GL_ARRAY_BUFFER is not a part of VAO state
...
As a result we need to bind it on every draw in order to have the
correct state in the GL state machine.
2017-12-09 19:32:27 +00:00
Matthew Waters
66468b4245
gl/format: use our own GL format enum's instead of gstvideo's
...
They can describe in more detail (such as component sizes) the requested format.
2017-12-09 19:32:27 +00:00
Vincent Penquerc'h
b71e104d00
glupload: fix GValue leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=779869
2017-12-09 19:32:27 +00:00
Sebastian Dröge
e976c200b0
gl/eagl: It's -fobjc-arc not -fobj-arc
2017-12-09 19:32:27 +00:00
Nick Kallen
7b42f26b80
applemedia/gl: Update code to use ARC
...
All code interacting with Objective-C objects should now use Automated
Reference Counting rather than manual memory management or Garbage
Collection. Because ARC prohibits C-structs from containing
references to Objective-C objects, all such fields are now typed
'gpointer'. Setting and gettings Objective-C fields on such a
struct now uses explicit __bridge_* calls to tell ARC about
object lifetimes.
https://bugzilla.gnome.org/show_bug.cgi?id=777847
2017-12-09 19:32:27 +00:00
Arun Raghavan
ee49afed97
gl: Missed one backwards compat define in GST_GL_TYPE_CONTEXT
...
Continued from 296b4251e3
2017-12-09 19:32:27 +00:00
Sebastian Dröge
a4a8ef5507
gl: Fixup for last commit
2017-12-09 19:32:27 +00:00
Sebastian Dröge
de16dc2555
gl: Fix backwards compat GST_GL_TYPE_* functions/macros
...
These have to be macros instead of inline function as they must behave
more or less like an integer literal, i.e. include the function call.
2017-12-09 19:32:26 +00:00
Sebastian Dröge
dde95e8270
gl/viv-fb: Don't use deprecated symbols and make macros more consistent
...
https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-12-09 19:32:26 +00:00
Sebastian Dröge
f5ea12a471
glcolorconvert: Check return value of gst_gl_context_check_framebuffer_status()
...
CID 1401588
2017-12-09 19:32:26 +00:00
Sebastian Dröge
6a32795949
gl: Add viv-fb to DIST_SUBDIRS to fix "make distcheck"
2017-12-09 19:32:26 +00:00
Sebastian Dröge
108eef7ac7
glutils: Mark private functions as G_GNUC_INTERNAL
2017-12-09 19:32:26 +00:00
Sebastian Dröge
1c1094e4e7
glupload: Add support for Vivante DirectTexture uploads
...
Together with the upcoming gstreamer-imx patch, this allows zerocopy
between imxvpudec and other elements and glimagesink.
This is losely based on a patch by Haihua Hu <b55597@freescale.com>
from https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/
https://bugzilla.gnome.org/show_bug.cgi?id=779067
2017-12-09 19:32:26 +00:00
Sebastian Dröge
ed7c9f70d9
gl: Add support for Vivante EGL FB windowing system
...
This is very similar to how dispmanx on the Raspberry Pi works.
Based on a patch by Haihua Hu <b55597@freescale.com> from
https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad
https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-12-09 19:32:26 +00:00
Sebastian Dröge
a6cbe2a2cb
glmemory: Use glBlitFramebuffer() instead of glCopyTexImage2D() if available
...
glBlitFramebuffer() is new GLES3/GL3 API. They are probably often
implemented in terms of each other, and glBlitFramebuffer() can
potentially be implemented more flexible. Let's use it if available.
Also it actually works on imx6 with DirectVIV textures.
Based on a patch by Haihua Hu <jared.hu@nxp.com> from
https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/
https://bugzilla.gnome.org/show_bug.cgi?id=779070
2017-12-09 19:32:26 +00:00
Sebastian Dröge
48f79e9f60
configure: Remove unused Mali EGL/fbdev_window support
...
This existed a long time ago but there's no actual code for this
anymore.
2017-12-09 19:32:26 +00:00
Thibault Saunier
cdec2d0181
meson: Build GIR files
2017-12-09 19:32:26 +00:00
Matthew Waters
ad20a945de
gl: update sys dependants for function removals
...
4315a4b54d
forgot to change the androidmedia/videotoolbox/caopengllayer
sources as required.
2017-12-09 19:32:26 +00:00
Juan Pablo Ugarte
c469827ddb
glslstage: define GL constants if needed instead of using #ifdef
...
https://bugzilla.gnome.org/show_bug.cgi?id=777144
2017-12-09 19:32:26 +00:00
Matthew Waters
69da104456
glutils: document functions
2017-12-09 19:32:26 +00:00
Matthew Waters
de6c39189f
glutils: privatise matrix multiplication/videoaffinetransformation retrieval
2017-12-09 19:32:26 +00:00
Matthew Waters
ceda9dc1aa
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-12-09 19:32:26 +00:00
Matthew Waters
d00a13f01d
glutils: remove trivial helper function
...
gst_gl_caps_replace_all_caps_features() is only used in two places and can
be trivially reproduced.
2017-12-09 19:32:26 +00:00
Matthew Waters
0348225001
gl/docs: add symbols from -unused.txt
2017-12-09 19:32:26 +00:00
Matthew Waters
0a0a45fefd
gl/docs: some type fixes of type names
2017-12-09 19:32:26 +00:00
Matthew Waters
cbc7efdcb6
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-12-09 19:32:26 +00:00
Matthew Waters
e4c7f28bf7
glbasememory: type fix for GstGLBaseMemoryAllocatorAllocFunction
2017-12-09 19:32:26 +00:00
Matthew Waters
738cd580c9
gldisplay: add missing transfer annotations
2017-12-09 19:32:26 +00:00
Matthew Waters
87a4eafaf9
gl: add skip annotations to non-GI possible struct constructors
2017-12-09 19:32:26 +00:00
Matthew Waters
f7d300b28e
glbasememory: remove unused and #if 0'ed function definitions
2017-12-09 19:32:26 +00:00
Matthew Waters
31b38a5f54
gl: add necessary get_type() functions for allocation params structures
...
All using the existing GstGLAllocationParams infrastructure
2017-12-09 19:32:26 +00:00
Matthew Waters
53cc73b5f4
gldisplay: some annotation updates/typo fixes
2017-12-09 19:32:25 +00:00
Matthew Waters
2fa355c761
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-12-09 19:32:25 +00:00
Matthew Waters
cfc16f6dae
gl: remove custom control binding proxy
...
Use the existing GstProxyControlBinding instead.
2017-12-09 19:32:25 +00:00
Matthew Waters
a3e593d2a9
gl: remove unneeded gst_gl_buffer_alloc from header file
...
There's no implementation anymore!
2017-12-09 19:32:25 +00:00
Matthew Waters
e80337e374
gl/egl: remove use of texture orientation
2017-12-09 19:32:25 +00:00
Matthew Waters
cec46fc75e
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-12-09 19:32:25 +00:00
Matthew Waters
054b26411a
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
2017-12-09 19:32:25 +00:00
Matthew Waters
fe3298993b
gl/window: remove unused priv variable
...
https://ci.gstreamer.net/job/GStreamer-master/7989/console
2017-12-09 19:32:25 +00:00
Matthew Waters
f532e699df
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
2017-12-09 19:32:25 +00:00
Sebastian Dröge
aeb5d4edaf
gst: Don't declare variables inside the for loop header
...
This is a C99 feature.
2017-12-09 19:32:25 +00:00
Julien Isorce
7da132c327
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
2017-12-09 19:32:25 +00:00
Julien Isorce
22e78529dd
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
2017-12-09 19:32:25 +00:00
Matthew Waters
bf7b608728
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
2017-12-09 19:32:25 +00:00
Matthew Waters
7306f2de2c
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
2017-12-09 19:32:25 +00:00