platform/upstream/gstreamer.git
6 years agoglimagesink: clobber the alpha channel by default
Matthew Waters [Fri, 30 Jan 2015 04:13:27 +0000 (15:13 +1100)]
glimagesink: clobber the alpha channel by default

this can be disabled with the ignore-alpha property

6 years agoRevert "libgstgl: gstglcaopengllayer: set the layer as opaque"
Alessandro Decina [Fri, 30 Jan 2015 01:32:17 +0000 (12:32 +1100)]
Revert "libgstgl: gstglcaopengllayer: set the layer as opaque"

This reverts commit 6f152d381ca21595cdc823f32341c8f2fe71b9c7.

The layer shouldn't be always opaque, it should be made a property.

6 years agolibgstgl: gstglcaopengllayer: set the layer as opaque
Alessandro Decina [Fri, 30 Jan 2015 01:22:25 +0000 (12:22 +1100)]
libgstgl: gstglcaopengllayer: set the layer as opaque

6 years agoglcolorconvert: Add FIXME comment about possibility of non-Apple YCbCr422 rectangular...
Sebastian Dröge [Thu, 29 Jan 2015 15:30:34 +0000 (16:30 +0100)]
glcolorconvert: Add FIXME comment about possibility of non-Apple YCbCr422 rectangular textures

6 years agoglcolorconvert: Only use GL_TEXTURE_RECTANGLE with OpenGL
Sebastian Dröge [Thu, 29 Jan 2015 15:26:26 +0000 (16:26 +0100)]
glcolorconvert: Only use GL_TEXTURE_RECTANGLE with OpenGL

It's not defined for GLES.

6 years agolibgstgl: run a custom shader to convert YUV to RGB on mac and ios
Alessandro Decina [Tue, 27 Jan 2015 13:48:27 +0000 (00:48 +1100)]
libgstgl: run a custom shader to convert YUV to RGB on mac and ios

When GL_APPLE_ycbcr_422 is available, run a custom shader to convert
GL_TEXTURE_RECTANGLE textures from YUV to RGB.

See https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt

6 years agogl: initial support for texture targets other than GL_TEXTURE_2D
Alessandro Decina [Tue, 27 Jan 2015 13:13:46 +0000 (00:13 +1100)]
gl: initial support for texture targets other than GL_TEXTURE_2D

Make GstGLMemory hold the texture target (tex_target) the texture it represents
(tex_id) is bound to. Modify gst_gl_memory_wrapped_texture and
gst_gl_download_perform_with_data to take the texture target as an argument.

This change is needed to support wrapping textures created outside libgstgl,
which might be bound to a target other than GL_TEXTURE_2D. For example on OSX
textures coming from VideoToolbox have target GL_TEXTURE_RECTANGLE.

With this change we still keep (and sometimes imply) GL_TEXTURE_2D as the
target of textures created with libgstgl.

API: modify GstGLMemory
API: modify gst_gl_memory_wrapped_texture
API: gst_gl_download_perform_with_data

6 years agogstglcolorconvert: micro optimization
Alessandro Decina [Thu, 22 Jan 2015 02:18:23 +0000 (13:18 +1100)]
gstglcolorconvert: micro optimization

Don't call glClear && glClearColor at each draw since we're going to draw the
whole viewport anyway. Gets rid of a glFlush triggered by glClear on OSX.

6 years agogstglcolorconvert: relax caps features check
Alessandro Decina [Thu, 22 Jan 2015 02:11:46 +0000 (13:11 +1100)]
gstglcolorconvert: relax caps features check

Require caps to have the GST_CAPS_FEATURE_MEMORY_GL_MEMORY feature but allow
them to have more features.

6 years agogl/win32: fixup compilation
Matthew Waters [Thu, 29 Jan 2015 12:45:15 +0000 (23:45 +1100)]
gl/win32: fixup compilation

6 years agoglwindow: make showing a window explicit
Matthew Waters [Thu, 29 Jan 2015 11:25:00 +0000 (22:25 +1100)]
glwindow: make showing a window explicit

Also fixes the cgl context always displaying a window to render to for
every GstGLContextCocoa created

6 years agogl/calayer: add resize callback based on the bounds rectangle
Matthew Waters [Thu, 29 Jan 2015 06:31:09 +0000 (17:31 +1100)]
gl/calayer: add resize callback based on the bounds rectangle

6 years agogl/caopengllayer: draw asynchronously
Matthew Waters [Thu, 29 Jan 2015 04:26:21 +0000 (15:26 +1100)]
gl/caopengllayer: draw asynchronously

This essentially makes the CAOpenGLLayer draw every refresh cycle.

6 years agogl/cocoa: don't segfault if we have a NULL draw/resize/close callback
Matthew Waters [Wed, 28 Jan 2015 06:59:42 +0000 (17:59 +1100)]
gl/cocoa: don't segfault if we have a NULL draw/resize/close callback

6 years agocgl/calayer: use a callback instead of hardcoding the draw functionality
Matthew Waters [Wed, 28 Jan 2015 06:16:14 +0000 (17:16 +1100)]
cgl/calayer: use a callback instead of hardcoding the draw functionality

6 years agocgl: install the gl context and gl layer headers
Matthew Waters [Wed, 28 Jan 2015 06:13:05 +0000 (17:13 +1100)]
cgl: install the gl context and gl layer headers

6 years agocgl: add a header for the CAOpenGLLayer support
Matthew Waters [Wed, 28 Jan 2015 06:05:14 +0000 (17:05 +1100)]
cgl: add a header for the CAOpenGLLayer support

6 years agogl/dispmanx: fix build
Philippe Normand [Tue, 27 Jan 2015 10:25:53 +0000 (11:25 +0100)]
gl/dispmanx: fix build

Commit ab48bb6f0f55091662e595a001e178154ce60cdb changed the API of
GstGLWindow.

6 years agoglmemory: more compatibility defines for gles2 systems
Matthew Waters [Tue, 27 Jan 2015 03:52:47 +0000 (14:52 +1100)]
glmemory: more compatibility defines for gles2 systems

6 years agoglmemory: add some thread safety for gl operations
Matthew Waters [Tue, 27 Jan 2015 01:15:43 +0000 (12:15 +1100)]
glmemory: add some thread safety for gl operations

6 years agoglmemory: use pbo's for download
Matthew Waters [Tue, 27 Jan 2015 00:53:51 +0000 (11:53 +1100)]
glmemory: use pbo's for download

In order to use pbo's efficiently, the transfer operation has to
be separated from the use of the downloaded data which requires some
rearchitecturing around glcolorconvert/gldownload and elements

6 years agoglprototypes: add some (un)map buffer variants for GL/GLES
Matthew Waters [Tue, 27 Jan 2015 00:04:07 +0000 (11:04 +1100)]
glprototypes: add some (un)map buffer variants for GL/GLES

6 years agogltestsrc: Ensure variable is initialized before usage
Edward Hervey [Fri, 23 Jan 2015 11:41:29 +0000 (12:41 +0100)]
gltestsrc: Ensure variable is initialized before usage

Coverity CID: 1256569

6 years agogl/tests: update glwindow api change
Matthew Waters [Fri, 23 Jan 2015 06:27:42 +0000 (17:27 +1100)]
gl/tests: update glwindow api change

6 years agogl/window/eagl: fix a couple of typos
Matthew Waters [Fri, 23 Jan 2015 05:52:25 +0000 (16:52 +1100)]
gl/window/eagl: fix a couple of typos

6 years agoglwindow: cleanup/reorganize functions/members into logical groups
Matthew Waters [Fri, 23 Jan 2015 05:39:44 +0000 (16:39 +1100)]
glwindow: cleanup/reorganize functions/members into logical groups

6 years agogl/qt/examples: update for NSOpenGL -> CGL change
Matthew Waters [Fri, 23 Jan 2015 03:18:12 +0000 (14:18 +1100)]
gl/qt/examples: update for NSOpenGL -> CGL change

6 years agoglwindow: remove width/height from _draw()
Matthew Waters [Fri, 23 Jan 2015 03:11:48 +0000 (14:11 +1100)]
glwindow: remove width/height from _draw()

Depending on the platform, it was only ever implemented to 1) set a
default surface size, 2) resize based on the video frame or 3) nothing.
Instead, provide a set_preferred_size () that elements/applications
can use to request a certain size which may be ignored for
videooverlay/other cases.

6 years agoglcontext/cocoa: avoid destroying a possibly 0 GSource id
Matthew Waters [Thu, 22 Jan 2015 10:43:51 +0000 (21:43 +1100)]
glcontext/cocoa: avoid destroying a possibly 0 GSource id

6 years agogl/cocoa: move to CGL and CAOpenGLLayer for rendering
Matthew Waters [Tue, 20 Jan 2015 11:01:39 +0000 (22:01 +1100)]
gl/cocoa: move to CGL and CAOpenGLLayer for rendering

Removes the use of NSOpenGL* variety and functions.  Any Cocoa
specific functions that took/returned a NSOpenGL* object now
take/return the CGL equivalents.

6 years agoglcontext/cocoa: add debug category
Matthew Waters [Thu, 22 Jan 2015 05:08:11 +0000 (16:08 +1100)]
glcontext/cocoa: add debug category

6 years agoConstify some static arrays everywhere
Sebastian Dröge [Wed, 21 Jan 2015 09:17:04 +0000 (10:17 +0100)]
Constify some static arrays everywhere

6 years agoglimagesink: fix memleak
Nicola Murino [Sun, 18 Jan 2015 20:05:44 +0000 (21:05 +0100)]
glimagesink: fix memleak

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

6 years agoglapi: fix compilation with latest MSVC
Lasse Laursen [Fri, 16 Jan 2015 23:06:40 +0000 (10:06 +1100)]
glapi: fix compilation with latest MSVC

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

6 years agoglmemory: use the correct size for the pbo
Matthew Waters [Thu, 15 Jan 2015 01:57:59 +0000 (12:57 +1100)]
glmemory: use the correct size for the pbo

It was missing the GstVideoAlignment padding which could cause GL
errors related to overrunning the size of the pbo.

6 years agoglvideomixer: don't upload if alpha <= 0
Matthew Waters [Wed, 14 Jan 2015 22:47:45 +0000 (09:47 +1100)]
glvideomixer: don't upload if alpha <= 0

Implemented using a upload_buffer vfunc within GstGLMixer allowing
NULL uploaded buffers.

6 years agoglmemory: remove spurious gst_video_info_align
Matthew Waters [Wed, 14 Jan 2015 22:45:21 +0000 (09:45 +1100)]
glmemory: remove spurious gst_video_info_align

That will be taken care of by the calling code (typically a bufferpool).
The GstVideoAlignment is purely informational to compute plane data sizes.

6 years agogl: split glcolorconvert usage from glupload
Matthew Waters [Wed, 14 Jan 2015 11:08:43 +0000 (22:08 +1100)]
gl: split glcolorconvert usage from glupload

the separation allows the transfer operation to occur in a separate
thread/time which may increase performance in specific circumstances.

6 years agoglmemory: offset the data pointer for upload for GstVideoAlignment
Matthew Waters [Wed, 14 Jan 2015 01:39:11 +0000 (12:39 +1100)]
glmemory: offset the data pointer for upload for GstVideoAlignment

otherwise we attempt to read from the padding data

6 years agoglmemory: use pbo's for upload
Matthew Waters [Tue, 13 Jan 2015 13:08:11 +0000 (00:08 +1100)]
glmemory: use pbo's for upload

6 years agoglupload: relax the GLMemory uploader check for input caps features
Matthew Waters [Tue, 13 Jan 2015 12:47:06 +0000 (23:47 +1100)]
glupload: relax the GLMemory uploader check for input caps features

As there may be a sysmem caps features with GLMemory filled buffers.
e.g.

videotestsrc ! glimagesink

6 years agoglcolorconvert: fix memleak
Nicola Murino [Thu, 25 Dec 2014 22:10:19 +0000 (23:10 +0100)]
glcolorconvert: fix memleak

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

6 years agoglupload: fix some memory leaks
Nicola Murino [Thu, 25 Dec 2014 21:59:42 +0000 (22:59 +0100)]
glupload: fix some memory leaks

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

6 years agoglcontext: allow wrapped contexts to be utilised like non-wrapped contexts
Matthew Waters [Wed, 31 Dec 2014 06:45:53 +0000 (17:45 +1100)]
glcontext: allow wrapped contexts to be utilised like non-wrapped contexts

Fill in the missing pieces like get_proc_address, the gl function vtable

6 years agogl/cocoa: Disable hack for NSApp iteration with a special #define
Sebastian Dröge [Sat, 10 Jan 2015 14:34:57 +0000 (15:34 +0100)]
gl/cocoa: Disable hack for NSApp iteration with a special #define

The hack causes deadlocks and other interesting problems and it really
can only be fixed properly inside GLib. We will include a patch for
GLib in our builds for now that handles this, and hopefully at some
point GLib will also merge a proper solution.

A proper solution would first require to refactor the polling in
GMainContext to only provide a single fd, e.g. via epoll/kqueue
or a thread like the one added by our patch. Then this single
fd could be retrieved from the GMainContext and directly integrated
into a NSRunLoop.

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

6 years agogl/cocoa: Don't init and clear static GMutex / GCond
Sebastian Dröge [Thu, 8 Jan 2015 08:35:23 +0000 (09:35 +0100)]
gl/cocoa: Don't init and clear static GMutex / GCond

We would potentially use it from the main loop later in
gst_gl_window_cocoa_init_nsapp() if it timed out before.

6 years agoglfilter: remove logically dead code
Luis de Bethencourt [Wed, 7 Jan 2015 16:53:41 +0000 (16:53 +0000)]
glfilter: remove logically dead code

Soon after setting two variables to 1, the code checks if their values are
different from each other. This would never be true. Removing this.

CID 1226443

6 years agoglmixer, glvideomixer: update for GstAggregatorPadForeachFunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 19:43:43 +0000 (19:43 +0000)]
glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change

6 years agoglmixer: update for aggregator start/stop vfunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 19:26:47 +0000 (19:26 +0000)]
glmixer: update for aggregator start/stop vfunc change

6 years agoglvideomixer: Point to compositor for the pad properties documentation
Nirbheek Chauhan [Sat, 27 Dec 2014 10:20:17 +0000 (15:50 +0530)]
glvideomixer: Point to compositor for the pad properties documentation

6 years agogltest: Port to new API
Nicolas Dufresne [Fri, 19 Dec 2014 18:18:50 +0000 (13:18 -0500)]
gltest: Port to new API

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

6 years agoglbufferpool: Always recalculate buffer size
Nicolas Dufresne [Fri, 19 Dec 2014 17:22:12 +0000 (12:22 -0500)]
glbufferpool: Always recalculate buffer size

Actually we should always recalculate buffer size since our buffer size
even when not-padded is smaller for many sub-sampled formats. This is
because we don't add padding between the planes.

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

6 years agoglmemory: No need for padding
Nicolas Dufresne [Fri, 19 Dec 2014 17:12:08 +0000 (12:12 -0500)]
glmemory: No need for padding

A memory object cannot be put on stack, so no need for padding.

6 years agogl: Add support for GstVideoAlignment
Nicolas Dufresne [Fri, 19 Dec 2014 17:11:08 +0000 (12:11 -0500)]
gl: Add support for GstVideoAlignment

This allow saving a copy with libav video decoders or decoders with
similar padding requirement.

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

6 years agoglmemory: Handle upload/download flags from map
Nicolas Dufresne [Sat, 22 Nov 2014 16:25:23 +0000 (11:25 -0500)]
glmemory: Handle upload/download flags from map

Problem was that if buffer was mapped READWRITE (state of buffers from
libav right now), mapping it READ/GL will not upload. This is because the
flag is only set when the buffer is unmapped. We can fix this by setting
the flags in map. This result in already mapped buffer that get mapped
to be read in GL will be uploaded. The problem is that if the write
mapper makes modification afterward, the modification will never get
uploaded.

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

6 years agoglmemory: Handle custom stride with OPENGL3
Nicolas Dufresne [Sun, 14 Dec 2014 02:47:38 +0000 (21:47 -0500)]
glmemory: Handle custom stride with OPENGL3

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

6 years agoglfilter: fix position/texcoord attrib index usage
Wang Xin-yu (王昕宇) [Mon, 8 Dec 2014 03:02:51 +0000 (11:02 +0800)]
glfilter: fix position/texcoord attrib index usage

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

6 years agoglfiltercube: use a shader everywhere
Matthew Waters [Thu, 11 Dec 2014 07:17:02 +0000 (18:17 +1100)]
glfiltercube: use a shader everywhere

6 years agogl: fixup vao and vbo usage for legacy GL
Matthew Waters [Thu, 11 Dec 2014 07:15:02 +0000 (18:15 +1100)]
gl: fixup vao and vbo usage for legacy GL

6 years agogleffects: don't abort when setting the effect to 0,1,2
Matthew Waters [Thu, 11 Dec 2014 03:57:18 +0000 (14:57 +1100)]
gleffects: don't abort when setting the effect to 0,1,2

6 years agogl/examples: fixup sdl example for gluPerspective removal
Matthew Waters [Wed, 10 Dec 2014 01:48:33 +0000 (12:48 +1100)]
gl/examples: fixup sdl example for gluPerspective removal

6 years agogl: Rename gst-launch-0.10 to gst-launch-1.0 in docs
Ramprakash Jelari [Thu, 4 Dec 2014 15:07:51 +0000 (20:37 +0530)]
gl: Rename gst-launch-0.10 to gst-launch-1.0 in docs

6 years agoglsyncmeta: add G_END_DECLS
Philippe Normand [Wed, 3 Dec 2014 14:30:43 +0000 (15:30 +0100)]
glsyncmeta: add G_END_DECLS

6 years agoglcontext: try cgl before glx
Julien Isorce [Wed, 3 Dec 2014 08:02:58 +0000 (08:02 +0000)]
glcontext: try cgl before glx

It was already done by commit
f506e80686eedc66912583db11914ec3f713b478
but it has been broken by commit
45ec777cea0e69b2597d1ec02b18ec31d618c920

6 years agogl/cocoa: Fix example on Mac OS X 10.10
Thijs Vermeir [Mon, 1 Dec 2014 09:59:32 +0000 (10:59 +0100)]
gl/cocoa: Fix example on Mac OS X 10.10

Using NSApp directly seems to confuse something, as the compiler
was expecting an id<NSFileManagerDelegate>. Switched to using
[NSApplication sharedApplication], and specified the delegate
protocol on the window class as well.

Similar to https://bugzilla.gnome.org/show_bug.cgi?id=738740

6 years agoglcontext: require GL_ARB_ES2_compatibility for opengl3
Matthew Waters [Sat, 29 Nov 2014 13:42:17 +0000 (00:42 +1100)]
glcontext: require GL_ARB_ES2_compatibility for opengl3

until we generate gl3 compliant shaders

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

6 years agoglimagesink: properly handle the !opengl3 case
Matthew Waters [Sat, 29 Nov 2014 13:18:55 +0000 (00:18 +1100)]
glimagesink: properly handle the !opengl3 case

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

6 years agoglfilterapp: fix unused variable compiler warning
Tim-Philipp Müller [Fri, 28 Nov 2014 16:04:54 +0000 (16:04 +0000)]
glfilterapp: fix unused variable compiler warning

When GST_GL_HAVE_OPENGL is 0 or unset.

6 years agoglfilterapp is now available on gles2 as well so build it
Matthew Waters [Fri, 28 Nov 2014 03:08:40 +0000 (14:08 +1100)]
glfilterapp is now available on gles2 as well so build it

6 years agogl: fixup compat definition for GLuint64 for OS X
Matthew Waters [Fri, 28 Nov 2014 02:04:21 +0000 (13:04 +1100)]
gl: fixup compat definition for GLuint64 for OS X

6 years agogl: add compat definition for GLuint64 for android
Matthew Waters [Fri, 28 Nov 2014 00:56:10 +0000 (11:56 +1100)]
gl: add compat definition for GLuint64 for android

../../../../gst-libs/gst/gl/glprototypes/sync.h:41:23: error: unknown type name 'GLuint64'
                       GLuint64 timeout))

6 years agoglsync: fix build with desktop gl
Matthew Waters [Fri, 28 Nov 2014 00:11:43 +0000 (11:11 +1100)]
glsync: fix build with desktop gl

6 years agogl: fix typo in #if
Matthew Waters [Fri, 28 Nov 2014 00:04:22 +0000 (11:04 +1100)]
gl: fix typo in #if

GST_GL_API_HAVE_OPENGL doesn't exist

6 years agogl: fix various build errors without desktop gl
Matthew Waters [Thu, 27 Nov 2014 23:59:46 +0000 (10:59 +1100)]
gl: fix various build errors without desktop gl

6 years agogldisplay: fix build error
Matthew Waters [Thu, 27 Nov 2014 23:03:18 +0000 (10:03 +1100)]
gldisplay: fix build error

gstgldisplay.c:234:541: error: 'return' with no value, in function returning non-void [-Werror]
   g_return_if_fail (GST_IS_GL_DISPLAY (display));

6 years agogldisplay: implement runtime GL api filtering
Matthew Waters [Thu, 27 Nov 2014 10:05:45 +0000 (21:05 +1100)]
gldisplay: implement runtime GL api filtering

Needed so that the pipeline/application can limit the choice of GL api
to what it supports

6 years agogl: remove the use of glu
Matthew Waters [Thu, 27 Nov 2014 05:17:50 +0000 (16:17 +1100)]
gl: remove the use of glu

6 years agogl: add a sync meta for synchronizing across GL contexts
Matthew Waters [Fri, 17 Oct 2014 13:22:24 +0000 (15:22 +0200)]
gl: add a sync meta for synchronizing across GL contexts

A context can create a GLsync object that can be waited on in order
to ensure that GL resources created in one context are able to be
used in another shared context without any chance of reading invalid
data.

This meta would be placed on buffers that are known to cross from
one context to another.  The receiving element would then wait
on the sync object to ensure that the data to be used is complete.

6 years agoglprototypes: add sync function definitions
Matthew Waters [Fri, 17 Oct 2014 13:08:29 +0000 (15:08 +0200)]
glprototypes: add sync function definitions

6 years agoglfilterapp: port to gles2 and gl3
Matthew Waters [Mon, 17 Nov 2014 07:06:20 +0000 (18:06 +1100)]
glfilterapp: port to gles2 and gl3

6 years agogloverlay: support gl3
Matthew Waters [Fri, 14 Nov 2014 12:24:48 +0000 (23:24 +1100)]
gloverlay: support gl3

6 years agoglvideomixer: add support for gl3
Matthew Waters [Thu, 13 Nov 2014 13:20:10 +0000 (00:20 +1100)]
glvideomixer: add support for gl3

6 years agoglfiltercube: add a gl3 code path
Matthew Waters [Thu, 13 Nov 2014 10:30:38 +0000 (21:30 +1100)]
glfiltercube: add a gl3 code path

6 years agoglfiltershader: support gl3
Matthew Waters [Thu, 13 Nov 2014 04:09:04 +0000 (15:09 +1100)]
glfiltershader: support gl3

6 years agogltransformation: support gl3
Matthew Waters [Thu, 13 Nov 2014 01:12:46 +0000 (12:12 +1100)]
gltransformation: support gl3

6 years agogleffects: support gl3 whereever gles2 is supported
Matthew Waters [Wed, 12 Nov 2014 12:48:32 +0000 (23:48 +1100)]
gleffects: support gl3 whereever gles2 is supported

6 years agoglcolorscale: support gl3
Matthew Waters [Wed, 12 Nov 2014 12:47:13 +0000 (23:47 +1100)]
glcolorscale: support gl3

6 years agoglfilter: add a gl3 code path using vao's and vbo's
Matthew Waters [Wed, 12 Nov 2014 11:49:11 +0000 (22:49 +1100)]
glfilter: add a gl3 code path using vao's and vbo's

6 years agoglframebuffer: add support for gl3
Matthew Waters [Wed, 12 Nov 2014 11:48:04 +0000 (22:48 +1100)]
glframebuffer: add support for gl3

6 years agoglcolorconvert: add support for gl3
Matthew Waters [Thu, 23 Oct 2014 11:35:20 +0000 (22:35 +1100)]
glcolorconvert: add support for gl3

6 years agoglimagesink: use vbo's and vao's for gl3
Matthew Waters [Tue, 21 Oct 2014 11:18:51 +0000 (22:18 +1100)]
glimagesink: use vbo's and vao's for gl3

6 years agoglshader add support for gl3
Matthew Waters [Tue, 21 Oct 2014 08:30:38 +0000 (19:30 +1100)]
glshader add support for gl3

6 years agoglx: ask for a GL3 core context
Matthew Waters [Sun, 19 Oct 2014 04:09:37 +0000 (08:09 +0400)]
glx: ask for a GL3 core context

6 years agovideoaggregator: Expose vmethods to set converters and prepare/clean frames
Thibault Saunier [Wed, 26 Nov 2014 17:24:05 +0000 (18:24 +0100)]
videoaggregator: Expose vmethods to set converters and prepare/clean frames

This gives more flexibility to the subclasses and permits to remove the
GstVideoAggregatorClass->disable_frame_conversion ugly API.

WARNING: This breaks the API as it removes the disable_frame_conversion
field

API:
  + GstVideoAggregatorClass->find_best_format
  + GstVideoAggregatorPadClass->set_format
  + GstVideoAggregatorPadClass->prepare_frame
  + GstVideoAggregatorPadClass->clean_frame

  - GstVideoAggregatorClass->disable_frame_conversion

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

6 years agoglcolorconvert: Unref buffer with the correct function
Sebastian Dröge [Thu, 27 Nov 2014 17:09:58 +0000 (18:09 +0100)]
glcolorconvert: Unref buffer with the correct function

6 years agoglmemory: Handle failure of memory allocation gracefully
Sebastian Dröge [Thu, 27 Nov 2014 17:09:14 +0000 (18:09 +0100)]
glmemory: Handle failure of memory allocation gracefully

6 years agoglmemory: Use g_try_malloc() in the appropriate places
Sebastian Dröge [Thu, 27 Nov 2014 17:04:58 +0000 (18:04 +0100)]
glmemory: Use g_try_malloc() in the appropriate places

g_malloc() aborts if allocation fails, it's pointless to check against NULL
afterwards. That's why g_try_malloc() exists.

6 years agoglcolorconvert: support RGB16/BGR16 video format download
Wang Xin-yu (王昕宇) [Thu, 27 Nov 2014 02:48:43 +0000 (10:48 +0800)]
glcolorconvert: support RGB16/BGR16 video format download

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

6 years agoglimagesink: only attempt a resize when the window has already resized
Matthew Waters [Thu, 27 Nov 2014 02:01:19 +0000 (13:01 +1100)]
glimagesink: only attempt a resize when the window has already resized

fixes a black startup screen on wayland

6 years agogl/wayland: implement resizing the window using the right mouse button
Matthew Waters [Thu, 27 Nov 2014 00:47:38 +0000 (11:47 +1100)]
gl/wayland: implement resizing the window using the right mouse button