platform/upstream/gstreamer.git
6 years agogldownload: plug a memory leak
Matthew Waters [Sun, 15 Jun 2014 05:17:07 +0000 (15:17 +1000)]
gldownload: plug a memory leak

6 years agoglvideomixer: wire up the alpha pad property
Matthew Waters [Sun, 15 Jun 2014 03:59:07 +0000 (13:59 +1000)]
glvideomixer: wire up the alpha pad property

6 years agoglvideomixer: support input frame scaling
Matthew Waters [Sun, 15 Jun 2014 03:44:04 +0000 (13:44 +1000)]
glvideomixer: support input frame scaling

6 years agoglvideomixer: add positioning of input streams
Matthew Waters [Sun, 15 Jun 2014 02:26:21 +0000 (12:26 +1000)]
glvideomixer: add positioning of input streams

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

6 years agoglmixer: allow the subclass to choose the sink pad type
Matthew Waters [Sun, 15 Jun 2014 02:24:38 +0000 (12:24 +1000)]
glmixer: allow the subclass to choose the sink pad type

Allows custom properties to be placed on the sink pads by subclasses

6 years agoglfilterapp: actually emit the client-draw signal
Matthew Waters [Thu, 12 Jun 2014 13:14:45 +0000 (23:14 +1000)]
glfilterapp: actually emit the client-draw signal

6 years agogl/examples: update for TEXTURE_2D change
Matthew Waters [Thu, 12 Jun 2014 13:13:11 +0000 (23:13 +1000)]
gl/examples: update for TEXTURE_2D change

6 years agoglmixer: send the stream-start event
Matthew Waters [Thu, 12 Jun 2014 04:58:47 +0000 (14:58 +1000)]
glmixer: send the stream-start event

and the caps event after.

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

6 years agogl/examples: add GST_PLUGINS_BASE_CFLAGS
Matthew Waters [Thu, 12 Jun 2014 03:37:51 +0000 (13:37 +1000)]
gl/examples: add GST_PLUGINS_BASE_CFLAGS

6 years agogl/examples: remove spurious include for doublecube example
Matthew Waters [Thu, 12 Jun 2014 03:15:10 +0000 (13:15 +1000)]
gl/examples: remove spurious include for doublecube example

6 years agogl/examples: add the srcdir and builddir includes
Matthew Waters [Thu, 12 Jun 2014 03:06:31 +0000 (13:06 +1000)]
gl/examples: add the srcdir and builddir includes

And remove references to $(GST_PLUGINS_GL_*)

6 years agoglfilterapp: remove the reshape/draw properties
Matthew Waters [Thu, 12 Jun 2014 02:49:42 +0000 (12:49 +1000)]
glfilterapp: remove the reshape/draw properties

The reshape property was never used.
Replace the draw property with a signal.

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

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

6 years agoglmixer: lock the size of mix->frames to the number of pads
Matthew Waters [Thu, 12 Jun 2014 02:14:35 +0000 (12:14 +1000)]
glmixer: lock the size of mix->frames to the number of pads

Fixes a segfault with decodebin ! glmixer where the request pads on
both sides were being requested after the state change to PAUSED.

Also fixes dynamically adding and removing pads while glmixer is
in a state >= PAUSED.

6 years agogl/examples: Port to using signals instead of properties
Matthew Waters [Thu, 12 Jun 2014 02:09:56 +0000 (12:09 +1000)]
gl/examples: Port to using signals instead of properties

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

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

6 years agoglimagesink: replace pointer properties with signals
Matthew Waters [Sun, 1 Jun 2014 05:02:52 +0000 (15:02 +1000)]
glimagesink: replace pointer properties with signals

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

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

6 years agogl/wayland: create a dummy display instead of an EGLDisplay
Matthew Waters [Thu, 5 Jun 2014 08:43:30 +0000 (18:43 +1000)]
gl/wayland: create a dummy display instead of an EGLDisplay

Currently, GstGLWindowWaylandEGL holds the wayland display connection
If we create the EGLDisplay at the GstDisplay creation time, then
libEGL will internally open another connection to the wayland server.
These two display connections are unable to communicate resulting in
no window output/display and hangs inside libEGL.

Eventually we will move the wl_display from GstGLWindow to GstGLDisplay.

6 years agoglimagesink: improve state change debug message
Matthieu Bouron [Sun, 25 May 2014 20:43:22 +0000 (21:43 +0100)]
glimagesink: improve state change debug message

6 years agoglupload: always release the previous buffer
Matthew Waters [Tue, 3 Jun 2014 03:59:51 +0000 (13:59 +1000)]
glupload: always release the previous buffer

Fixes the case where _perform_with_buffer() is called without
intervening calls to _release_buffer() as is the case on start up
with glimagesink.

Also release the buffer when reseting the upload.

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

6 years agoglcontext: Handle (unlikely) NULL return of gl->GetString (GL_VERSION) more gracefully
Sebastian Dröge [Mon, 2 Jun 2014 07:23:39 +0000 (09:23 +0200)]
glcontext: Handle (unlikely) NULL return of gl->GetString (GL_VERSION) more gracefully

CID 1219858

6 years agoglmemory: remove uneeded gl api ifdefs
Matthew Waters [Fri, 30 May 2014 02:23:09 +0000 (12:23 +1000)]
glmemory: remove uneeded gl api ifdefs

6 years agoglwindow_x11: allow expose events to redraw our window
Matthew Waters [Fri, 30 May 2014 01:51:01 +0000 (11:51 +1000)]
glwindow_x11: allow expose events to redraw our window

otherwise we will not update the window contents on low framerate
streams until the next buffer

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

6 years agoglimagesink: unref the old buffer outside the lock
Matthew Waters [Fri, 30 May 2014 01:46:00 +0000 (11:46 +1000)]
glimagesink: unref the old buffer outside the lock

it could very well deadlock

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

6 years agoRevert "[880/906] glimagesink: remove unused stored_buffer field"
Matthew Waters [Fri, 30 May 2014 01:35:04 +0000 (11:35 +1000)]
Revert "[880/906] glimagesink: remove unused stored_buffer field"

This reverts commit af3a68db7dc473fb6903c18966b39e4c3f1464d7.

Conflicts:
ext/gl/gstglimagesink.c

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

6 years agoglcontext: fix up assertion
Matthew Waters [Fri, 30 May 2014 00:46:25 +0000 (10:46 +1000)]
glcontext: fix up assertion

error: 'return' with no value, in function returning non-void

6 years agoglfeature: remove GST_GL_API_GLES3
Matthew Waters [Fri, 30 May 2014 00:27:14 +0000 (10:27 +1000)]
glfeature: remove GST_GL_API_GLES3

instead check the gl version using gst_gl_context_check_gl_version()

6 years agoglcontext: check for GLES versions
Matthew Waters [Fri, 30 May 2014 00:25:18 +0000 (10:25 +1000)]
glcontext: check for GLES versions

6 years agogl/context: add check_gl_version
Matthew Waters [Thu, 29 May 2014 10:35:48 +0000 (20:35 +1000)]
gl/context: add check_gl_version

6 years agoglcontext: Try GLX support before EGL support
Edward Hervey [Thu, 29 May 2014 15:09:26 +0000 (17:09 +0200)]
glcontext: Try GLX support before EGL support

If available, glx has got a better chance of being the Gl platform
we want to use compared to EGL

6 years agoglcontext: Try to open lib{EGL|GL|GLESv2}.so.1 before lib{EGL|GL|GLESv2}
Edward Hervey [Thu, 29 May 2014 14:59:28 +0000 (16:59 +0200)]
glcontext: Try to open lib{EGL|GL|GLESv2}.so.1 before lib{EGL|GL|GLESv2}

Fixes issues with .so (without numbering) being installed for development
(such as from mesa-dev) but actual driver (with numbering) coming from
some other place (like nvidia drivers)

6 years agoglupload: Fix assertion after API changes
Sebastian Dröge [Thu, 29 May 2014 08:37:02 +0000 (10:37 +0200)]
glupload: Fix assertion after API changes

6 years agogl/colorconvert: keep our private pointer
Matthew Waters [Thu, 29 May 2014 08:33:10 +0000 (18:33 +1000)]
gl/colorconvert: keep our private pointer

again, avoid to much trigger

6 years agotests: update for glupload changes
Matthew Waters [Thu, 29 May 2014 08:32:48 +0000 (18:32 +1000)]
tests: update for glupload changes

6 years agogl/colorconvert: use GstObject's lock instead of our own
Matthew Waters [Thu, 29 May 2014 07:29:41 +0000 (17:29 +1000)]
gl/colorconvert: use GstObject's lock instead of our own

6 years agogl/colorconvert: remove unnecassary pointer inderection
Matthew Waters [Thu, 29 May 2014 07:12:03 +0000 (17:12 +1000)]
gl/colorconvert: remove unnecassary pointer inderection

6 years agogl/upload: re add the upload meta to the private struct
Matthew Waters [Thu, 29 May 2014 06:45:37 +0000 (16:45 +1000)]
gl/upload: re add the upload meta to the private struct

try and avoid being to trigger happy

6 years agogl/upload: small code cleanup and gst-indent
Matthew Waters [Thu, 29 May 2014 06:29:09 +0000 (16:29 +1000)]
gl/upload: small code cleanup and gst-indent

6 years agogl/download: use GstObject's lock instead of out own
Matthew Waters [Thu, 29 May 2014 06:22:52 +0000 (16:22 +1000)]
gl/download: use GstObject's lock instead of out own

6 years agogl/upload: use GstObject's lock instead of our own
Matthew Waters [Thu, 29 May 2014 06:20:30 +0000 (16:20 +1000)]
gl/upload: use GstObject's lock instead of our own

6 years agogl/filter: also remove the width/height in transform_caps
Matthew Waters [Thu, 29 May 2014 06:18:08 +0000 (16:18 +1000)]
gl/filter: also remove the width/height in transform_caps

allows scaling in the filters

6 years agogl/colorconvert: optimise the same format case
Matthew Waters [Thu, 29 May 2014 06:11:20 +0000 (16:11 +1000)]
gl/colorconvert: optimise the same format case

simply return the input buffer unchanged

6 years agogl/colorconvert: fix YUY2/UYVY download for RG/LA textures
Matthew Waters [Thu, 29 May 2014 06:07:40 +0000 (16:07 +1000)]
gl/colorconvert: fix YUY2/UYVY download for RG/LA textures

6 years agogl/colorconvert: allocate output buffers
Matthew Waters [Thu, 29 May 2014 05:50:56 +0000 (15:50 +1000)]
gl/colorconvert: allocate output buffers

Allows the nop optimisation by simply reffing the input buffer.

6 years agotests: update for recent glupload changes
Matthew Waters [Wed, 28 May 2014 13:21:07 +0000 (23:21 +1000)]
tests: update for recent glupload changes

GstGLUploadMeta object is now the GstVideoGLTextureUploadMeta
provider.

6 years agogl/upload: fix incorrect type in macros
Matthew Waters [Wed, 28 May 2014 04:43:43 +0000 (14:43 +1000)]
gl/upload: fix incorrect type in macros

6 years agogl/upload: add GstGLUploadMeta object
Matthew Waters [Wed, 28 May 2014 04:40:10 +0000 (14:40 +1000)]
gl/upload: add GstGLUploadMeta object

That simply deals with the provider aspect of GstVideoGLTextureUploadMeta.

6 years agogl/win32: make send_message reentrant
Matthew Waters [Tue, 27 May 2014 14:56:05 +0000 (00:56 +1000)]
gl/win32: make send_message reentrant

I could not find a comparable win32API function so keep the running
thread pointer to compare against.

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

6 years agoglcolorconvert: fix compiler warning
Tim-Philipp Müller [Tue, 27 May 2014 12:56:34 +0000 (13:56 +0100)]
glcolorconvert: fix compiler warning

gstglcolorconvert.c:1133:11: error: 'j' may be used uninitialized in this function

Was used uninitialized when jumping to out label
in error case.

6 years agogl/colorconvert: operate on buffers instead of memories
Matthew Waters [Tue, 27 May 2014 08:20:29 +0000 (18:20 +1000)]
gl/colorconvert: operate on buffers instead of memories

6 years agoglimagesink: make it actually honor show-preroll-frame property
Julien Isorce [Tue, 27 May 2014 10:28:27 +0000 (11:28 +0100)]
glimagesink: make it actually honor show-preroll-frame property

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

6 years agogl: add missing cgl and eagl context type
Julien Isorce [Tue, 27 May 2014 07:54:20 +0000 (08:54 +0100)]
gl: add missing cgl and eagl context type

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

6 years agogl: rename platform cocoa to cgl
Julien Isorce [Tue, 27 May 2014 07:46:16 +0000 (08:46 +0100)]
gl: rename platform cocoa to cgl

Before:
GST_GL_PLATFORM=cocoa GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

After:
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

but still pass --enable-cocoa to configure script
because currently it can only be used with cocoa API.

We could later have cgl/gstglcontext_cgl.h that manages
a CGLContextObj directly and cocoa/gstglcontext_cocoa.h
would just wrap it.
So that it could be used with other Apple's window APIs.

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

6 years agogl/mixer: don't segfault when we don't have a buffer
Matthew Waters [Tue, 27 May 2014 03:55:15 +0000 (13:55 +1000)]
gl/mixer: don't segfault when we don't have a buffer

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

6 years agogl/window_x11: avoid BadDrawable error on shutdown
Matthew Waters [Tue, 27 May 2014 03:04:39 +0000 (13:04 +1000)]
gl/window_x11: avoid BadDrawable error on shutdown

6 years agogl/context_egl: pass the vars in the right order to DestroySurface
Matthew Waters [Tue, 27 May 2014 00:47:25 +0000 (10:47 +1000)]
gl/context_egl: pass the vars in the right order to DestroySurface

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

6 years agoglfilter: Remove format information to allow color convert again
Nicolas Dufresne [Sun, 25 May 2014 13:03:32 +0000 (09:03 -0400)]
glfilter: Remove format information to allow color convert again

We also need to remove the format information,  as glfilter can do
color convertion. This code was imported from videoconvert.

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

6 years agogl/memory: allocate the correct memory size
Matthew Waters [Sun, 25 May 2014 01:44:57 +0000 (11:44 +1000)]
gl/memory: allocate the correct memory size

and avoid wasting resources we will never need

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

6 years agoglcolorconvert: Fix YUY2 and UYVY support with luminance_alpha
Nicolas Dufresne [Sat, 24 May 2014 03:02:32 +0000 (23:02 -0400)]
glcolorconvert: Fix YUY2 and UYVY support with luminance_alpha

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

6 years agogl/memory: provide compatability defines
Matthew Waters [Fri, 23 May 2014 02:07:50 +0000 (12:07 +1000)]
gl/memory: provide compatability defines

fixes build on android/OS X

6 years agogl/colorconvert: remove scratch texture for YUY2/UYVY
Matthew Waters [Fri, 23 May 2014 01:01:06 +0000 (11:01 +1000)]
gl/colorconvert: remove scratch texture for YUY2/UYVY

We can get all our data from the one RG/LA texture with some shader magic.

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

6 years agogl/memory: RGBA/UNSIGNED_BYTE only format supported by ReadPixels GLES2
Matthew Waters [Fri, 23 May 2014 00:59:05 +0000 (10:59 +1000)]
gl/memory: RGBA/UNSIGNED_BYTE only format supported by ReadPixels GLES2

Error out in case we attempt to read with any other invalid format.

6 years agogl/memory: generate textures with a sized internal format
Matthew Waters [Fri, 23 May 2014 00:57:24 +0000 (10:57 +1000)]
gl/memory: generate textures with a sized internal format

Required in order to generate RG and RED textured with GLES3.

6 years agogl/memory: implement GL_EXT_texture_rg support
Matthew Waters [Wed, 21 May 2014 11:47:45 +0000 (21:47 +1000)]
gl/memory: implement GL_EXT_texture_rg support

Which is used by default over the Luminance formats due to it
being color renderable with fbos (and deprecation/removal with
GL 3.x).

https://bugzilla.gnome.org/show_bug.cgi?id=729750
https://bugzilla.gnome.org/show_bug.cgi?id=704222
https://bugzilla.gnome.org/show_bug.cgi?id=728890

6 years agogl/context: add gl extension checking to check_feature()
Matthew Waters [Wed, 21 May 2014 11:44:40 +0000 (21:44 +1000)]
gl/context: add gl extension checking to check_feature()

Useful for extensions that do not define any new GL API entrypoints
but can still modify behaviour when used.

6 years agogl/download: fixup YUY2/UYVY download
Matthew Waters [Wed, 21 May 2014 10:36:37 +0000 (20:36 +1000)]
gl/download: fixup YUY2/UYVY download

Regression from 2da979831ec3b1a8d993eb6f2d3999c5810c4d67 as it did
not update the download code to reflect the change in texture format.

6 years agogl/filter: fixup passthrough bufferpool
Matthew Waters [Wed, 21 May 2014 09:47:22 +0000 (19:47 +1000)]
gl/filter: fixup passthrough bufferpool

In a pipeline like so:
  videotestsrc ! gleffects ! videoconvert ! sink
gleffects was simply passing the videoconvert bufferpool to videotestsrc
and not creating a glbufferpool. videobufferpool would then fail
to allocate from the glallocator.

6 years agogl/upload: switch the 'master' texture for YUY2, UYVY
Matthew Waters [Wed, 21 May 2014 00:26:21 +0000 (10:26 +1000)]
gl/upload: switch the 'master' texture for YUY2, UYVY

From d4bcef3204709159713ff1630978ecac0bd91dc9 on, using a RGBA
texture to hold the data causes the glmemory to have half width
and a scaling of [2, 1].  Using a LA texture solves this problem
however cannot be attached to the framebuffer for copying into
a RGBA texture.  Which will be solved by moving to EXT_texture_rg.

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

6 years agogl/eglimage: add eglimage context feature
Matthew Waters [Wed, 14 May 2014 07:59:52 +0000 (17:59 +1000)]
gl/eglimage: add eglimage context feature

Allows us to selectively use EGLImages only when available

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

6 years agogl/context: add generic feature checking
Matthew Waters [Wed, 14 May 2014 07:33:21 +0000 (17:33 +1000)]
gl/context: add generic feature checking

At the moment it simply delegates to the subclass.

6 years agoglimagesink: Check if context creation failed before trying to use it
Sebastian Dröge [Mon, 19 May 2014 10:25:51 +0000 (12:25 +0200)]
glimagesink: Check if context creation failed before trying to use it

Otherwise we will cause assertions everywhere by passing NULL to functions
and eventually crash when dereferencing a NULL pointer.

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

6 years agoglcontext: Add more assertions to make sure that everything sets the GError during...
Sebastian Dröge [Mon, 19 May 2014 10:21:13 +0000 (12:21 +0200)]
glcontext: Add more assertions to make sure that everything sets the GError during context creation if something fails

6 years agogl/download: update to be similar to the glupload semantics
Matthew Waters [Tue, 13 May 2014 04:13:57 +0000 (14:13 +1000)]
gl/download: update to be similar to the glupload semantics

6 years agogl/colorconvert: fix up alpha clobbering
Matthew Waters [Tue, 13 May 2014 04:07:39 +0000 (14:07 +1000)]
gl/colorconvert: fix up alpha clobbering

Previously it would only work if the alpha value was in the last
component (RGBx, BGRx).  Now it works wherever the alpha value may
be (xRGB, xBGR, etc).

6 years agoglfilter: Fix building without EGL support
Nicolas Dufresne [Tue, 13 May 2014 17:16:34 +0000 (13:16 -0400)]
glfilter: Fix building without EGL support

This fixes the OSX build and any builds with --disable-egl. That issue
was introduced in "glfilter: rewrite transform_caps to preserve caps fields".

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

6 years agoglfilter: rewrite transform_caps to preserve caps fields
Julien Isorce [Tue, 13 May 2014 12:30:47 +0000 (13:30 +0100)]
glfilter: rewrite transform_caps to preserve caps fields

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

6 years agogl/colorconvert: use the texture scaling from the gl memory
Matthew Waters [Tue, 13 May 2014 00:53:19 +0000 (10:53 +1000)]
gl/colorconvert: use the texture scaling from the gl memory

The colorconvert values were not being used at all.

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

6 years agoglmemory: Fix handling of stride with alignement larger then 8
Nicolas Dufresne [Mon, 12 May 2014 23:29:45 +0000 (19:29 -0400)]
glmemory: Fix handling of stride with alignement larger then 8

Setting a scaled factor for X coordinate is not enough as the indexer
will still think stride is shorter and will not fully skip it. Instead,
update width, so the lines are as expected. Combined with the scale, it
will hide the cropped portion.

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

6 years agoglupload: Ensure we still have a texture after upload_set_format()
Nicolas Dufresne [Mon, 12 May 2014 17:50:47 +0000 (13:50 -0400)]
glupload: Ensure we still have a texture after upload_set_format()

gst_gl_upload_set_format() resets the upload, hence the texture.
So we need to ensure we have a texture after this call when
uploading.

6 years agoglupload: Correctly update the video info from video meta
Nicolas Dufresne [Mon, 12 May 2014 16:59:59 +0000 (12:59 -0400)]
glupload: Correctly update the video info from video meta

Using gst_video_info_set_format() isn't complete when updating
a video info from video meta.

6 years agoglupload: Correctly update video info in upload fallback
Nicolas Dufresne [Mon, 12 May 2014 16:57:18 +0000 (12:57 -0400)]
glupload: Correctly update video info in upload fallback

When the upload accelerated method fails, we fallback to an upload,
but the video info was not correctly updated.

6 years agogl/upload: set out_tex after reset, not before
Julien Isorce [Mon, 12 May 2014 12:32:31 +0000 (13:32 +0100)]
gl/upload: set out_tex after reset, not before

Fix a regression introduced recently with the lazy init.
It was happening when calling gst_video_gl_texture_upload_meta_upload
from an aplication. So not using gst_gl_upload_perform_with_buffer.

6 years agogl/upload: update the video info on mapping a video frame
Matthew Waters [Sun, 11 May 2014 02:48:52 +0000 (12:48 +1000)]
gl/upload: update the video info on mapping a video frame

The buffer should contain the most specific data on how the data is
formatted.  We should use this information.

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

6 years agogl/convert: clobber alpha channel when needed
Matthew Waters [Mon, 12 May 2014 11:56:06 +0000 (21:56 +1000)]
gl/convert: clobber alpha channel when needed

Needed in the conversion from padded RGB formats to formats with an
alpha channel.  e.g. BGRx -> ABGR, etc

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

6 years agogl/upload: avoid performing color conversion when there is no need
Matthew Waters [Mon, 12 May 2014 11:51:38 +0000 (21:51 +1000)]
gl/upload: avoid performing color conversion when there is no need

One such example is when the buffer contains GstGLMemory in the
RGBA format

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

6 years agogl/colorconvert: choose the right alpha component for AYUV -> RGBA
Matthew Waters [Sun, 11 May 2014 04:02:34 +0000 (14:02 +1000)]
gl/colorconvert: choose the right alpha component for AYUV -> RGBA

6 years agogl/upload: update the respective state when we cache textures/data
Matthew Waters [Sun, 11 May 2014 00:27:02 +0000 (10:27 +1000)]
gl/upload: update the respective state when we cache textures/data

6 years agogl/upload: cache the textures that we are using
Matthew Waters [Sat, 10 May 2014 13:33:24 +0000 (23:33 +1000)]
gl/upload: cache the textures that we are using

6 years agogl/upload: avoid recreating the GLMemory struct for output textures
Matthew Waters [Sat, 10 May 2014 12:48:05 +0000 (22:48 +1000)]
gl/upload: avoid recreating the GLMemory struct for output textures

6 years agogl: Fix some of the error handling
Nicolas Dufresne [Fri, 9 May 2014 22:59:46 +0000 (18:59 -0400)]
gl: Fix some of the error handling

6 years agoglupload: Update GstVideoInfo after the buffer is mapped
Nicolas Dufresne [Fri, 9 May 2014 21:59:43 +0000 (17:59 -0400)]
glupload: Update GstVideoInfo after the buffer is mapped

gst_video_frame_map() will store an updated video info base
on the video meta. In order to have the right stride and offset
we should update that video info accordingly.

6 years agogl: Fix memory leak
Sebastian Dröge [Fri, 9 May 2014 13:42:08 +0000 (15:42 +0200)]
gl: Fix memory leak

CID #1212171

6 years agogl/colorconvert: preserve alpha in AYUV <-> RGBA conversions
Matthew Waters [Fri, 9 May 2014 12:22:43 +0000 (22:22 +1000)]
gl/colorconvert: preserve alpha in AYUV <-> RGBA conversions

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

6 years agogl/colorconvert: implement lazy init
Matthew Waters [Fri, 9 May 2014 08:07:03 +0000 (18:07 +1000)]
gl/colorconvert: implement lazy init

6 years agogl/upload: set initted to TRUE when _init_upload succeeded
Julien Isorce [Thu, 8 May 2014 14:38:24 +0000 (15:38 +0100)]
gl/upload: set initted to TRUE when _init_upload succeeded

6 years agogldisplay: Use GST_STR_NULL() for printing possibly NULL strings and print all variab...
Sebastian Dröge [Thu, 8 May 2014 20:49:33 +0000 (22:49 +0200)]
gldisplay: Use GST_STR_NULL() for printing possibly NULL strings and print all variables we use

Fixes compiler warning about set but not used platform_choice variable
among other things.

6 years agogleffects: use gl_vtable
Julien Isorce [Thu, 8 May 2014 15:08:08 +0000 (16:08 +0100)]
gleffects: use gl_vtable

6 years agogl/upload: fix compilation on OS X
Matthew Waters [Thu, 8 May 2014 07:28:11 +0000 (17:28 +1000)]
gl/upload: fix compilation on OS X

6 years agogl/upload: fail propoerly if init fails
Matthew Waters [Thu, 8 May 2014 05:40:33 +0000 (15:40 +1000)]
gl/upload: fail propoerly if init fails

6 years agogl: make all GObjects inherit from GstObject
Matthew Waters [Thu, 8 May 2014 05:30:49 +0000 (15:30 +1000)]
gl: make all GObjects inherit from GstObject

Aids memory leak debugging with GST_TRACE=mem-live

6 years agogl/upload: implement lazy init
Matthew Waters [Thu, 8 May 2014 03:46:29 +0000 (13:46 +1000)]
gl/upload: implement lazy init

Rename init_format to set_format

6 years agogl/upload: add get_format method
Matthew Waters [Wed, 7 May 2014 14:59:42 +0000 (00:59 +1000)]
gl/upload: add get_format method

Simply retreives the format set by init_format