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
Sebastian Dröge [Sun, 26 Apr 2015 19:42:03 +0000 (21:42 +0200)]
glfilter: De-camelcase onInitFBO() vfunc
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.
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
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);
^
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
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
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.
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
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
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
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
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
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
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
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
Lubosz Sarnecki [Tue, 21 Apr 2015 05:28:58 +0000 (07:28 +0200)]
gltransformation: fix shader memory leak
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.
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.
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>
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>
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>
Sebastian Dröge [Fri, 17 Apr 2015 13:20:12 +0000 (15:20 +0200)]
gldownloadelement: Download *from* OpenGL, not into
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
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
Sebastian Dröge [Fri, 17 Apr 2015 12:09:47 +0000 (14:09 +0200)]
gl: Remove some empty ::finalize() implementations
Sebastian Dröge [Fri, 17 Apr 2015 12:06:03 +0000 (14:06 +0200)]
gldownloadelement: Fix element description
Sebastian Dröge [Fri, 17 Apr 2015 12:05:44 +0000 (14:05 +0200)]
gldownloadelement: Remove unused ::finalize() implementation
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.
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
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.
Sebastian Dröge [Sat, 11 Apr 2015 17:35:48 +0000 (19:35 +0200)]
glcolorconvert: Fix last commit
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
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
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
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
Sebastian Dröge [Tue, 7 Apr 2015 03:24:06 +0000 (20:24 -0700)]
glimagesink: Guard against disconnecting invalid signal ids
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
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
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
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
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
Julien Isorce [Sun, 22 Mar 2015 18:12:15 +0000 (19:12 +0100)]
glwindow: remove unused gl_thread field
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
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
Matthew Waters [Wed, 18 Mar 2015 17:12:49 +0000 (10:12 -0700)]
gl/docs: update some doc comments
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
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
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
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
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
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
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
Julien Isorce [Sat, 14 Mar 2015 15:37:05 +0000 (15:37 +0000)]
sdlshare: use glupload and unmap frame
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
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.
Matthew Waters [Sat, 14 Mar 2015 10:39:06 +0000 (10:39 +0000)]
glupload/colorconvert: only copy timestamps if the input buffer != output
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
Julien Isorce [Fri, 13 Mar 2015 09:07:16 +0000 (09:07 +0000)]
examples: initialize NSApp at the beginning
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
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.
Matthew Waters [Fri, 13 Mar 2015 17:41:17 +0000 (17:41 +0000)]
glshader: attribute locations are -1 on error
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
Jan Schmidt [Fri, 13 Mar 2015 15:53:00 +0000 (02:53 +1100)]
GL: Remove annoying printf in the filterbin class_init
Matthew Waters [Fri, 13 Mar 2015 12:43:13 +0000 (12:43 +0000)]
glimagesink: add pixel-aspect-ratio property on the bin
Matthew Waters [Fri, 13 Mar 2015 12:40:04 +0000 (12:40 +0000)]
glupload: unref the bufferpool
Matthew Waters [Fri, 13 Mar 2015 12:29:54 +0000 (12:29 +0000)]
glimagesink: forward ALL the properties on the bin
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
Matthew Waters [Fri, 13 Mar 2015 10:25:35 +0000 (10:25 +0000)]
gl: get the context from basemixer/basefilter
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
Matthew Waters [Fri, 13 Mar 2015 09:37:46 +0000 (09:37 +0000)]
gl/tests: fix deadlock on glcontext wrapped context test
Julien Isorce [Thu, 12 Mar 2015 16:46:44 +0000 (16:46 +0000)]
glcolorconvert: cache indices in a buffer object
Matthew Waters [Sun, 8 Mar 2015 07:16:04 +0000 (18:16 +1100)]
caopengllayersink: implement as a bin like glimagesink
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.
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.
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
Matthew Waters [Tue, 3 Mar 2015 05:38:56 +0000 (16:38 +1100)]
gltestsrc: remove usage of gldownload library object
Matthew Waters [Fri, 27 Feb 2015 13:30:38 +0000 (00:30 +1100)]
glcontext: store the thread current context
Matthew Waters [Thu, 26 Feb 2015 07:26:36 +0000 (18:26 +1100)]
gl: new glsrcbin element
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.
Matthew Waters [Wed, 25 Feb 2015 13:20:37 +0000 (00:20 +1100)]
glmixer: remove usage of upload/download objects
Matthew Waters [Wed, 25 Feb 2015 12:48:56 +0000 (23:48 +1100)]
gl: new glmixerbin element
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.
Matthew Waters [Thu, 19 Feb 2015 07:23:37 +0000 (18:23 +1100)]
gl: new glsinkbin element
similar to glfilterbin but for sinks
Matthew Waters [Thu, 19 Feb 2015 03:19:59 +0000 (14:19 +1100)]
glfilter: don't use the library upload/convert objects
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.
Matthew Waters [Thu, 19 Feb 2015 02:24:59 +0000 (13:24 +1100)]
gl: add new gldownloadelement
Simply transforms caps to/from raw/glmemory capsfeatures
Matthew Waters [Thu, 12 Feb 2015 06:59:27 +0000 (17:59 +1100)]
gl: add a new glcolorconvert element based on the glcolorconvert library object
Matthew Waters [Wed, 11 Mar 2015 16:56:16 +0000 (16:56 +0000)]
glupload: implement propose_allocation pool handling for glmemory upload
Matthew Waters [Wed, 11 Feb 2015 12:29:01 +0000 (23:29 +1100)]
gl: add a new glupload element based on the glupload library object
Matthew Waters [Wed, 11 Feb 2015 03:48:45 +0000 (14:48 +1100)]
gl: add a new glbasemixer class below glmixer
It deals with propagating the gl display/contexts throughout the
application/pipeline
Matthew Waters [Tue, 10 Feb 2015 14:48:11 +0000 (01:48 +1100)]
gl: add a new glbasefilter class below glfilter
It deals with propagating the gl display/contexts throughout the
application/pipeline
Matthew Waters [Tue, 10 Feb 2015 14:27:28 +0000 (01:27 +1100)]
glutils: expose running a query on a set of src/sink pads
Matthew Waters [Thu, 12 Mar 2015 10:14:50 +0000 (10:14 +0000)]
glfilter: advertise resize in the caps negotiation properly
Matthew Waters [Thu, 12 Mar 2015 09:46:02 +0000 (09:46 +0000)]
glcolorconvert: we don't do resizing of the video frames
As we cannot do accurate texel sampling then due to the texture
coordinates being interpolated based on the output frame size.
Matthew Waters [Wed, 11 Mar 2015 18:49:22 +0000 (18:49 +0000)]
gl/x11: don't XGetWindowAttributes every XEvent
fixes a deadlock in xcb where the X window may not exist.
https://bugzilla.gnome.org/show_bug.cgi?id=745633
Matthew Waters [Wed, 11 Mar 2015 14:50:28 +0000 (14:50 +0000)]
gl/window: hopefully fixup compile warnings on android/ios
Jan Schmidt [Wed, 11 Mar 2015 06:19:17 +0000 (17:19 +1100)]
glfilter: Remove redundant check for clearing context on reset.
The context is already cleared a few lines above.
Jan Schmidt [Wed, 11 Mar 2015 05:55:14 +0000 (16:55 +1100)]
Remove a bunch of silly ';;' typos at the end of lines
Matthew Waters [Fri, 6 Mar 2015 04:31:18 +0000 (15:31 +1100)]
gl/window: create the main loop/context on init/finalize
Avoids races setting the window handle from the main thread.
https://bugzilla.gnome.org/show_bug.cgi?id=745633