platform/upstream/gstreamer.git
6 years agoRevert "glvideomixer: implement with glmixerbin"
Matthew Waters [Wed, 29 Apr 2015 12:55:00 +0000 (22:55 +1000)]
Revert "glvideomixer: implement with glmixerbin"

This reverts commit 0fb56738a14391f248aa0be8756adeaf978baa0c.

6 years agoRevert "glimagesink: implement as a bin"
Matthew Waters [Wed, 29 Apr 2015 12:38:00 +0000 (22:38 +1000)]
Revert "glimagesink: implement as a bin"

This reverts commit 8a0017e21d5f9a8507f0593c6b24f723aa415258.

6 years agoRevert "glimagesink: forward ALL the properties on the bin"
Matthew Waters [Wed, 29 Apr 2015 12:32:33 +0000 (22:32 +1000)]
Revert "glimagesink: forward ALL the properties on the bin"

This reverts commit 4be45e5f30dc6121f2769323603447f591ca4a0a.

6 years agoRevert "glimagesink: add pixel-aspect-ratio property on the bin"
Matthew Waters [Wed, 29 Apr 2015 12:32:20 +0000 (22:32 +1000)]
Revert "glimagesink: add pixel-aspect-ratio property on the bin"

This reverts commit 2ba6bb9b9325b63f58a9ff0b2c82fa28759dcabc.

6 years agoglimagesink: Cache caps for passing to the client draw call
Jan Schmidt [Tue, 28 Apr 2015 16:30:05 +0000 (02:30 +1000)]
glimagesink: Cache caps for passing to the client draw call

Don't convert the GstVideoInfo to caps on every draw call,
just cache the caps and pass them into the GstSample.

6 years agoglupload: Make upload method static caps non-const.
Jan Schmidt [Tue, 28 Apr 2015 16:20:09 +0000 (02:20 +1000)]
glupload: Make upload method static caps non-const.

Retrieving a GstStaticCaps does a one time internal
initialisation and caches it - they can't be stored as
const structures.

6 years agoglmemory: remove uneeded unref
Matthew Waters [Tue, 28 Apr 2015 10:46:52 +0000 (20:46 +1000)]
glmemory: remove uneeded unref

The call to _gl_mem_alloc_data will unref and NULLify 'dest' for us.
We just need to return.

https://bugzilla.gnome.org/show_bug.cgi?id=744246

6 years agoglimagesink: Use gst_pad_get_pad_template_caps in ::get_caps()
Matthieu Bouron [Tue, 28 Apr 2015 07:37:59 +0000 (09:37 +0200)]
glimagesink: Use gst_pad_get_pad_template_caps in ::get_caps()

6 years agoglupload: provide the sink template caps that could be used
Matthew Waters [Tue, 28 Apr 2015 10:11:07 +0000 (20:11 +1000)]
glupload: provide the sink template caps that could be used

https://bugzilla.gnome.org/show_bug.cgi?id=746399

6 years agoegl: Use maximum bits per color instead of minimum
Xavier Claessens [Mon, 27 Apr 2015 14:11:41 +0000 (10:11 -0400)]
egl: Use maximum bits per color instead of minimum

https://bugzilla.gnome.org/show_bug.cgi?id=748425

6 years agoglfiltercube: Don't initialize multiple shaders on renegotiation
Matthieu Bouron [Mon, 27 Apr 2015 12:49:59 +0000 (14:49 +0200)]
glfiltercube: Don't initialize multiple shaders on renegotiation

6 years agoglimagesink: Remove unused stop function
Matthieu Bouron [Mon, 27 Apr 2015 08:24:00 +0000 (10:24 +0200)]
glimagesink: Remove unused stop function

6 years agoglimagesink: unref the pool in the correct place
Matthew Waters [Mon, 27 Apr 2015 06:04:50 +0000 (16:04 +1000)]
glimagesink: unref the pool in the correct place

Otherwise we could hold a pool to a context that is never going to be used.

https://bugzilla.gnome.org/show_bug.cgi?id=748405

6 years agogltransformation: Unref shader in ::stop()
Matthieu Bouron [Mon, 27 Apr 2015 08:01:53 +0000 (10:01 +0200)]
gltransformation: Unref shader in ::stop()

6 years agogl: unref display/other-context in the correct place
Matthew Waters [Mon, 27 Apr 2015 05:20:56 +0000 (15:20 +1000)]
gl: unref display/other-context in the correct place

Otherwise state changes from PLAYING->READY->PAUSED will cause there to
to be no display configured on the element.

https://bugzilla.gnome.org/show_bug.cgi?id=748405

6 years agoglfilter: De-camelcase onInitFBO() vfunc
Sebastian Dröge [Sun, 26 Apr 2015 19:42:03 +0000 (21:42 +0200)]
glfilter: De-camelcase onInitFBO() vfunc

6 years agoglfilter: Remove onStart/onStop vfuncs, and unused onReset()
Sebastian Dröge [Sun, 26 Apr 2015 19:39:06 +0000 (21:39 +0200)]
glfilter: Remove onStart/onStop vfuncs, and unused onReset()

onStart/onStop are just duplicates of the basetransform ones, onReset
was never called but was used everywhere when stop should've been used.

6 years agogltransformation: don't initialize multiple shaders on renegotiation
Lubosz Sarnecki [Tue, 21 Apr 2015 07:43:58 +0000 (09:43 +0200)]
gltransformation: don't initialize multiple shaders on renegotiation

https://bugzilla.gnome.org/show_bug.cgi?id=748407

* delete shader if one exists
* set it to NULL after unrefing

6 years agoglcolorconvert: Fix compiler warning
Sebastian Dröge [Sun, 26 Apr 2015 19:11:17 +0000 (21:11 +0200)]
glcolorconvert: Fix compiler warning

gstglcolorconvertelement.c:230:19: error: unused variable 'in_structure'
      [-Werror,-Wunused-variable]
    GstStructure *in_structure = gst_caps_get_structure (caps, 0);
                  ^

6 years agoglbasefilter: Unref other context in finalize, and display in READY->NULL
Matthew Waters [Sun, 26 Apr 2015 18:33:41 +0000 (20:33 +0200)]
glbasefilter: Unref other context in finalize, and display in READY->NULL

https://bugzilla.gnome.org/show_bug.cgi?id=748405

6 years agoglcolorconvert: Keep colorimetry and chroma-site fields if passthrough
Matthieu Bouron [Sun, 19 Apr 2015 17:16:55 +0000 (19:16 +0200)]
glcolorconvert: Keep colorimetry and chroma-site fields if passthrough

https://bugzilla.gnome.org/show_bug.cgi?id=748141

6 years agoglimagesink: balance change_state display ref/unref
Matthew Waters [Fri, 24 Apr 2015 07:13:10 +0000 (17:13 +1000)]
glimagesink: balance change_state display ref/unref

the display was being unreffed on the incorrect state change causing
invalid state when changing from PLAYING/PAUSED->READY->PAUSED/PLAYING.

6 years agoglupload: Release glupload buffer when caps are changed
Matthieu Bouron [Thu, 23 Apr 2015 14:47:40 +0000 (16:47 +0200)]
glupload: Release glupload buffer when caps are changed

https://bugzilla.gnome.org/show_bug.cgi?id=748371

6 years agoglmixer: Possible null pointer dereference
Vineeth T M [Wed, 22 Apr 2015 09:54:45 +0000 (18:54 +0900)]
glmixer: Possible null pointer dereference

While printing error message when context fails, error variable is not being used anymore
so it will lead to null pointer dereference

https://bugzilla.gnome.org/show_bug.cgi?id=748287

6 years agogleffects: Create element for each effect
Michał Dębski [Sun, 5 Apr 2015 18:18:56 +0000 (20:18 +0200)]
gleffects: Create element for each effect

https://bugzilla.gnome.org/show_bug.cgi?id=746209

6 years agogleffects: Merge laplacian filter into effects
Michał Dębski [Sun, 22 Mar 2015 10:22:52 +0000 (11:22 +0100)]
gleffects: Merge laplacian filter into effects

https://bugzilla.gnome.org/show_bug.cgi?id=746209

6 years agogleffects: Merge sobel filter into effects
Michał Dębski [Sun, 22 Mar 2015 10:20:49 +0000 (11:20 +0100)]
gleffects: Merge sobel filter into effects

https://bugzilla.gnome.org/show_bug.cgi?id=746209

6 years agogleffects: Merge blur filter into effects
Michał Dębski [Sun, 22 Mar 2015 10:13:30 +0000 (11:13 +0100)]
gleffects: Merge blur filter into effects

https://bugzilla.gnome.org/show_bug.cgi?id=746209

6 years agogleffects: Correct attributes for hconv and vconv shaders
Michał Dębski [Sat, 21 Mar 2015 22:50:33 +0000 (23:50 +0100)]
gleffects: Correct attributes for hconv and vconv shaders

Width and height were switched for glow shaders. For blur
filter attributes names were obsolete.

https://bugzilla.gnome.org/show_bug.cgi?id=746209

6 years agogleffects: Fix fisheye shader - pass float to sqrt
Michał Dębski [Sat, 21 Mar 2015 22:21:13 +0000 (23:21 +0100)]
gleffects: Fix fisheye shader - pass float to sqrt

On OSX passing literal int to sqrt() in GLSL results in error.

https://bugzilla.gnome.org/show_bug.cgi?id=746209

6 years agogltransformation: fix shader memory leak
Lubosz Sarnecki [Tue, 21 Apr 2015 05:28:58 +0000 (07:28 +0200)]
gltransformation: fix shader memory leak

6 years agoglwindow: track context activation properly
Matthew Waters [Tue, 21 Apr 2015 02:25:11 +0000 (12:25 +1000)]
glwindow: track context activation properly

We only need to deactivate/reactivate the context iff it was already
active.

6 years agogldisplay: synchronize the searching and creation of GstGLContext's
Matthew Waters [Tue, 21 Apr 2015 02:19:46 +0000 (12:19 +1000)]
gldisplay: synchronize the searching and creation of GstGLContext's

Ootherwise we could end up with multiple elements in different chains
each creating a context.  Fixes context creation with glvideomixer.

6 years agoglmixer: fix caps leak in gst_gl_mixer_pad_sink_getcaps()
Guillaume Desmottes [Wed, 15 Apr 2015 13:22:37 +0000 (15:22 +0200)]
glmixer: fix caps leak in gst_gl_mixer_pad_sink_getcaps()

Caps refcounting was all wrong in this function. Rewrote it and add some
comments to make it clearer.

Fix caps leaks with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.

https://bugzilla.gnome.org/show_bug.cgi?id=747915

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
6 years agoglmixer: unref owned caps when finalizing the mixer
Guillaume Desmottes [Thu, 16 Apr 2015 12:21:16 +0000 (14:21 +0200)]
glmixer: unref owned caps when finalizing the mixer

Fix a caps leak with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.

https://bugzilla.gnome.org/show_bug.cgi?id=747915

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
6 years agoglmixer: pass the proper free function to frames and buffers array
Guillaume Desmottes [Wed, 15 Apr 2015 13:16:33 +0000 (15:16 +0200)]
glmixer: pass the proper free function to frames and buffers array

'array_buffers' contain borrowed GstBuffer and so shouldn't have a free
function. 'frames' is the one containing GstGLMixerFrameData and so should use
_free_glmixer_frame_data as free function.

Fix GstGLMixerFrameData leaks with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.

https://bugzilla.gnome.org/show_bug.cgi?id=747913

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
6 years agogldownloadelement: Download *from* OpenGL, not into
Sebastian Dröge [Fri, 17 Apr 2015 13:20:12 +0000 (15:20 +0200)]
gldownloadelement: Download *from* OpenGL, not into

6 years agoglcontext: Make gst_gl_context_egl_activate fail if the old surface could not be...
Matthieu Bouron [Fri, 17 Apr 2015 12:24:28 +0000 (14:24 +0200)]
glcontext: Make gst_gl_context_egl_activate fail if the old surface could not be destroyed

https://bugzilla.gnome.org/show_bug.cgi?id=746251

6 years agogluploadelement: Unref GstGLUpload object and caps in ::stop()
Matthieu Bouron [Fri, 17 Apr 2015 08:38:16 +0000 (10:38 +0200)]
gluploadelement: Unref GstGLUpload object and caps in ::stop()

Fix leak of the GstGLUpload object.

https://bugzilla.gnome.org/show_bug.cgi?id=748033

6 years agogl: Remove some empty ::finalize() implementations
Sebastian Dröge [Fri, 17 Apr 2015 12:09:47 +0000 (14:09 +0200)]
gl: Remove some empty ::finalize() implementations

6 years agogldownloadelement: Fix element description
Sebastian Dröge [Fri, 17 Apr 2015 12:06:03 +0000 (14:06 +0200)]
gldownloadelement: Fix element description

6 years agogldownloadelement: Remove unused ::finalize() implementation
Sebastian Dröge [Fri, 17 Apr 2015 12:05:44 +0000 (14:05 +0200)]
gldownloadelement: Remove unused ::finalize() implementation

6 years agoglcolorconvertelement: Also unref caps in ::stop() already
Sebastian Dröge [Fri, 17 Apr 2015 12:03:21 +0000 (14:03 +0200)]
glcolorconvertelement: Also unref caps in ::stop() already

They are not useful anymore afterwards, so keeping them until ::finalize()
might only cause someone to use them later and then fail.

6 years agoglcolorconvertelement: fix GstGLColorConvert leak
Guillaume Desmottes [Wed, 15 Apr 2015 12:49:02 +0000 (14:49 +0200)]
glcolorconvertelement: fix GstGLColorConvert leak

convert->convert was never unreffed.

This can be reproduce with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.

https://bugzilla.gnome.org/show_bug.cgi?id=747911

6 years agoglcontext: Make gst_gl_context_egl_activate fail if the surface could not be created
Matthieu Bouron [Thu, 16 Apr 2015 08:42:45 +0000 (10:42 +0200)]
glcontext: Make gst_gl_context_egl_activate fail if the surface could not be created

Also add some error logging.

6 years agoglcolorconvert: Fix last commit
Sebastian Dröge [Sat, 11 Apr 2015 17:35:48 +0000 (19:35 +0200)]
glcolorconvert: Fix last commit

6 years agogl: Remove iOS/EAGL workaround for R/RG textures
Sebastian Dröge [Sat, 11 Apr 2015 17:17:00 +0000 (19:17 +0200)]
gl: Remove iOS/EAGL workaround for R/RG textures

This should be unneeded now after https://bugzilla.gnome.org/show_bug.cgi?id=732507

6 years agoglcolorconvert: Add correct check for RG/R textures in glcolorconvert too
Sebastian Dröge [Sat, 11 Apr 2015 17:14:34 +0000 (19:14 +0200)]
glcolorconvert: Add correct check for RG/R textures in glcolorconvert too

https://bugzilla.gnome.org/show_bug.cgi?id=732507

6 years agoglbasefilter: avoid segfault when gl platform is not available
Anton Obzhirov [Tue, 31 Mar 2015 16:10:45 +0000 (17:10 +0100)]
glbasefilter: avoid segfault when gl platform is not available

https://bugzilla.gnome.org/show_bug.cgi?id=747124

6 years agoglimagesink: Disconnect mouse/key event signal handlers from window when shutting...
Sebastian Dröge [Tue, 7 Apr 2015 03:28:22 +0000 (20:28 -0700)]
glimagesink: Disconnect mouse/key event signal handlers from window when shutting down context

6 years agoglimagesink: Guard against disconnecting invalid signal ids
Sebastian Dröge [Tue, 7 Apr 2015 03:24:06 +0000 (20:24 -0700)]
glimagesink: Guard against disconnecting invalid signal ids

6 years agolibgstgl: fix rendering on iOS
Alessandro Decina [Thu, 2 Apr 2015 07:05:55 +0000 (18:05 +1100)]
libgstgl: fix rendering on iOS

Stop assuming that the handle has been set by the time ->create_context is
called. After bc7a7259f357b0065dd94e0668b5a895d83fa53a set_window_handle always
happens after ->create_context in fact.

See also https://bugzilla.gnome.org/show_bug.cgi?id=745090

6 years agoglvideomixer: Don't use context if not present
Edward Hervey [Tue, 31 Mar 2015 14:27:00 +0000 (16:27 +0200)]
glvideomixer: Don't use context if not present

Avoids assertions at runtime

6 years agointrospection: Don't use g-ir-scanner cache at compile time
Edward Hervey [Tue, 31 Mar 2015 09:24:57 +0000 (11:24 +0200)]
introspection: Don't use g-ir-scanner cache at compile time

It pollutes user directories and we don't need to cache it

https://bugzilla.gnome.org/show_bug.cgi?id=747095

6 years agogleffects: port all effects to GLES2.0
Anton Obzhirov [Mon, 30 Mar 2015 12:49:01 +0000 (13:49 +0100)]
gleffects: port all effects to GLES2.0

https://bugzilla.gnome.org/show_bug.cgi?id=745955

6 years agogl/dispmanx: surfaceless EGL context support
Philippe Normand [Mon, 23 Mar 2015 15:43:01 +0000 (16:43 +0100)]
gl/dispmanx: surfaceless EGL context support

Show the DispmanX window only if there's no shared external GL context
set up. When a window is required by the context a transparent
DispmanX element is created and later on made visible by the ::show
method.

https://bugzilla.gnome.org/show_bug.cgi?id=746632

6 years agoglwindow: remove unused gl_thread field
Julien Isorce [Sun, 22 Mar 2015 18:12:15 +0000 (19:12 +0100)]
glwindow: remove unused gl_thread field

6 years agogldisplay: fix GThread leak
Julien Isorce [Sun, 22 Mar 2015 18:03:19 +0000 (19:03 +0100)]
gldisplay: fix GThread leak

https://bugzilla.gnome.org/show_bug.cgi?id=746541

6 years agoglimagesink: fix caps leak
Nicola Murino [Fri, 20 Mar 2015 17:33:45 +0000 (18:33 +0100)]
glimagesink: fix caps leak

https://bugzilla.gnome.org/show_bug.cgi?id=746541

6 years agogl/docs: update some doc comments
Matthew Waters [Wed, 18 Mar 2015 17:12:49 +0000 (10:12 -0700)]
gl/docs: update some doc comments

6 years agogldisplay: tentative proper context collision detection
Matthew Waters [Sun, 15 Mar 2015 12:58:26 +0000 (12:58 +0000)]
gldisplay: tentative proper context collision detection

Fixes
tee name=t ! queue ! gliamgesink t. ! queue ! glimagesink

6 years agoglupload: move meta-data copy into gst-gl library
Víctor Manuel Jáquez Leal [Sat, 14 Mar 2015 18:48:21 +0000 (19:48 +0100)]
glupload: move meta-data copy into gst-gl library

In some upload implementations the out buffer has more than one references,
turning the buffer not writable, so it won't be possible to modify its
meta-data.

This patch moves the meta-data copy before increasing the reference of the out
buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=746173

6 years agoglmemory: fix the slight difference between EXT_rg and ARB_rg
Matthew Waters [Sat, 14 Mar 2015 18:45:01 +0000 (18:45 +0000)]
glmemory: fix the slight difference between EXT_rg and ARB_rg

GL_EXT_texture_rg doesn't take sized formats for the internalformat
parameter of TexImage* but GL_ARB_texture_rg and GL(ES)3 do.

https://bugzilla.gnome.org/show_bug.cgi?id=732507

6 years agogl/examples: fixup generic cube example for NDC
Matthew Waters [Sat, 14 Mar 2015 18:10:24 +0000 (18:10 +0000)]
gl/examples: fixup generic cube example for NDC

translating outside the clip region doesn't work

6 years agogl/examples: add sdlshare2 that uses glimagesink to output textures
Julien Isorce [Sat, 14 Mar 2015 15:38:28 +0000 (15:38 +0000)]
gl/examples: add sdlshare2 that uses glimagesink to output textures

https://bugzilla.gnome.org/show_bug.cgi?id=739681

6 years agoglimagesink: keep window invisible when sharing output
Julien Isorce [Sat, 14 Mar 2015 16:30:42 +0000 (16:30 +0000)]
glimagesink: keep window invisible when sharing output

https://bugzilla.gnome.org/show_bug.cgi?id=739681

6 years agoglimagesink: provide GstSample in client-draw signal
Julien Isorce [Sat, 14 Mar 2015 15:16:55 +0000 (15:16 +0000)]
glimagesink: provide GstSample in client-draw signal

Instead of prividing texture and size directly.
And apply changes to examples.

https://bugzilla.gnome.org/show_bug.cgi?id=739681

6 years agosdlshare: use glupload and unmap frame
Julien Isorce [Sat, 14 Mar 2015 15:37:05 +0000 (15:37 +0000)]
sdlshare: use glupload and unmap frame

6 years agoglsyncmeta: make context to wait and set sync explicit
Matthew Waters [Sat, 14 Mar 2015 16:25:29 +0000 (16:25 +0000)]
glsyncmeta: make context to wait and set sync explicit

otherwise we may wait on a sync object in same context by accident

6 years agoglimagesink: Add NULL check in error case
Nicolas Dufresne [Sat, 14 Mar 2015 12:58:22 +0000 (12:58 +0000)]
glimagesink: Add NULL check in error case

Other context may be NULL if something went wrong. Avoid trying to unref
a NULL pointer.

6 years agoglupload/colorconvert: only copy timestamps if the input buffer != output
Matthew Waters [Sat, 14 Mar 2015 10:39:06 +0000 (10:39 +0000)]
glupload/colorconvert: only copy timestamps if the input buffer != output

6 years agogl: add GstGLDisplayCocoa
Julien Isorce [Wed, 11 Mar 2015 00:06:55 +0000 (00:06 +0000)]
gl: add GstGLDisplayCocoa

https://bugzilla.gnome.org/show_bug.cgi?id=746012

6 years agoexamples: initialize NSApp at the beginning
Julien Isorce [Fri, 13 Mar 2015 09:07:16 +0000 (09:07 +0000)]
examples: initialize NSApp at the beginning

6 years agogl/cocoa: do not terminate loop in gst_gl_window_cocoa_close
Julien Isorce [Sat, 14 Mar 2015 07:49:14 +0000 (07:49 +0000)]
gl/cocoa: do not terminate loop in gst_gl_window_cocoa_close

It is now done in _finalize.

Fix regression introduced by
"gl/window: create the main loop/context on init/finalize"
bc7a7259f357b0065dd94e0668b5a895d83fa53a

6 years agogl: avoid overwriting display and context to NULL
Julien Isorce [Fri, 13 Mar 2015 15:34:55 +0000 (15:34 +0000)]
gl: avoid overwriting display and context to NULL

It happens when the application provides display
and/or context.

6 years agoglshader: attribute locations are -1 on error
Matthew Waters [Fri, 13 Mar 2015 17:41:17 +0000 (17:41 +0000)]
glshader: attribute locations are -1 on error

6 years agoglshader: prevent from getting attributes without vertex shader
Neos3452 [Fri, 13 Mar 2015 17:04:17 +0000 (17:04 +0000)]
glshader: prevent from getting attributes without vertex shader

It doesn't make sense to query for vertex attributes without a vertex
shader. Moreover this is causing a crash on OSX.

https://bugzilla.gnome.org/show_bug.cgi?id=746168

6 years agoGL: Remove annoying printf in the filterbin class_init
Jan Schmidt [Fri, 13 Mar 2015 15:53:00 +0000 (02:53 +1100)]
GL: Remove annoying printf in the filterbin class_init

6 years agoglimagesink: add pixel-aspect-ratio property on the bin
Matthew Waters [Fri, 13 Mar 2015 12:43:13 +0000 (12:43 +0000)]
glimagesink: add pixel-aspect-ratio property on the bin

6 years agoglupload: unref the bufferpool
Matthew Waters [Fri, 13 Mar 2015 12:40:04 +0000 (12:40 +0000)]
glupload: unref the bufferpool

6 years agoglimagesink: forward ALL the properties on the bin
Matthew Waters [Fri, 13 Mar 2015 12:29:54 +0000 (12:29 +0000)]
glimagesink: forward ALL the properties on the bin

6 years agogluploadelement: properly unref buffers that are the same as the input
Matthew Waters [Fri, 13 Mar 2015 12:28:36 +0000 (12:28 +0000)]
gluploadelement: properly unref buffers that are the same as the input

basetransform doesn't unref equal input and output buffers

6 years agogl: get the context from basemixer/basefilter
Matthew Waters [Fri, 13 Mar 2015 10:25:35 +0000 (10:25 +0000)]
gl: get the context from basemixer/basefilter

6 years agogl: retreive the gldisplay/app gl context as soon as possible
Matthew Waters [Fri, 13 Mar 2015 09:38:54 +0000 (09:38 +0000)]
gl: retreive the gldisplay/app gl context as soon as possible

fixes the usage of gst_gl_display_filter_gl_api

6 years agogl/tests: fix deadlock on glcontext wrapped context test
Matthew Waters [Fri, 13 Mar 2015 09:37:46 +0000 (09:37 +0000)]
gl/tests: fix deadlock on glcontext wrapped context test

6 years agoglcolorconvert: cache indices in a buffer object
Julien Isorce [Thu, 12 Mar 2015 16:46:44 +0000 (16:46 +0000)]
glcolorconvert: cache indices in a buffer object

6 years agocaopengllayersink: implement as a bin like glimagesink
Matthew Waters [Sun, 8 Mar 2015 07:16:04 +0000 (18:16 +1100)]
caopengllayersink: implement as a bin like glimagesink

6 years agogl/cocoa: avoid deadlock when creating context on the main thread.
Matthew Waters [Tue, 3 Mar 2015 07:05:04 +0000 (18:05 +1100)]
gl/cocoa: avoid deadlock when creating context on the main thread.

Make window/view creation async so that it is possible to
gst_gl_context_create from the main thread.

6 years agogl: store the list of contexts within gldisplay
Matthew Waters [Tue, 3 Mar 2015 06:26:47 +0000 (17:26 +1100)]
gl: store the list of contexts within gldisplay

Removes the reliance on the allocation query to propogate GL contexts.

Allows thread safely getting a context for the a specific thread.

6 years agoglimagesink: unset the current shader after rendering
Matthew Waters [Tue, 3 Mar 2015 05:48:24 +0000 (16:48 +1100)]
glimagesink: unset the current shader after rendering

fixes gltestsrc ! glimagesink when gltestsrc doesn't use a shader

6 years agogltestsrc: remove usage of gldownload library object
Matthew Waters [Tue, 3 Mar 2015 05:38:56 +0000 (16:38 +1100)]
gltestsrc: remove usage of gldownload library object

6 years agoglcontext: store the thread current context
Matthew Waters [Fri, 27 Feb 2015 13:30:38 +0000 (00:30 +1100)]
glcontext: store the thread current context

6 years agogl: new glsrcbin element
Matthew Waters [Thu, 26 Feb 2015 07:26:36 +0000 (18:26 +1100)]
gl: new glsrcbin element

6 years agoglvideomixer: implement with glmixerbin
Matthew Waters [Thu, 26 Feb 2015 02:45:56 +0000 (13:45 +1100)]
glvideomixer: implement with glmixerbin

The relevant properties are forwarded to/from the containing bin
and sink pads.

6 years agoglmixer: remove usage of upload/download objects
Matthew Waters [Wed, 25 Feb 2015 13:20:37 +0000 (00:20 +1100)]
glmixer: remove usage of upload/download objects

6 years agogl: new glmixerbin element
Matthew Waters [Wed, 25 Feb 2015 12:48:56 +0000 (23:48 +1100)]
gl: new glmixerbin element

6 years agoglimagesink: implement as a bin
Matthew Waters [Fri, 20 Feb 2015 05:47:01 +0000 (16:47 +1100)]
glimagesink: implement as a bin

glupload ! glcolorconvert ! sink

Some properties are manually forwarded.  The rest are available using
GstChildProxy.

The two signals are forwarded as well.

6 years agogl: new glsinkbin element
Matthew Waters [Thu, 19 Feb 2015 07:23:37 +0000 (18:23 +1100)]
gl: new glsinkbin element

similar to glfilterbin but for sinks

6 years agoglfilter: don't use the library upload/convert objects
Matthew Waters [Thu, 19 Feb 2015 03:19:59 +0000 (14:19 +1100)]
glfilter: don't use the library upload/convert objects

6 years agogl: new element glfilterbin
Matthew Waters [Thu, 19 Feb 2015 02:33:28 +0000 (13:33 +1100)]
gl: new element glfilterbin

It encapsulates a confiurable GL processing element in the
upload/colorconvert/download dance required to transparently process
the majority of GstBuffer's.