platform/upstream/gstreamer.git
6 years agogl: check null before unref GstGLDisplay
Wang Xin-yu (王昕宇) [Wed, 20 Aug 2014 01:37:01 +0000 (09:37 +0800)]
gl: check null before unref GstGLDisplay

6 years agogl: add prototype definition for KHR_debug
Matthew Waters [Thu, 21 Aug 2014 00:03:07 +0000 (10:03 +1000)]
gl: add prototype definition for KHR_debug

6 years agoglcontext: implement the debug callback
Matthew Waters [Wed, 20 Aug 2014 13:24:12 +0000 (23:24 +1000)]
glcontext: implement the debug callback

For both GL_KHR_debug and ARB_debug_output.  This allows us to
receive errors and other hints from the GL instead of querying after
every GL operation.

6 years agogl: add prototypes for KHR_debug/ARB_debug_output
Matthew Waters [Wed, 20 Aug 2014 13:23:06 +0000 (23:23 +1000)]
gl: add prototypes for KHR_debug/ARB_debug_output

6 years agogl: don't take an extra ref on the display on set_context
Matthew Waters [Tue, 19 Aug 2014 10:14:22 +0000 (20:14 +1000)]
gl: don't take an extra ref on the display on set_context

gst_context_get_gl_display() returns a ref.  Don't take another in
gst_object_replace().

6 years agoglmixer: unref the GstGLUpload in the pad if freed while running
Matthew Waters [Tue, 19 Aug 2014 07:01:36 +0000 (17:01 +1000)]
glmixer: unref the GstGLUpload in the pad if freed while running

Dynamic pipelines that get and release the sink pads will finalize
the pad without going through gst_gl_mixer_stop() which is where the
upload object is usually freed.  Don't leak objects in such case.

6 years agoglvideomixer: avoid gl resource race condition between different thread
Wang Xin-yu (王昕宇) [Fri, 15 Aug 2014 03:51:21 +0000 (23:51 -0400)]
glvideomixer: avoid gl resource race condition between different thread

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

6 years agoglvideomixer: don't clobber unnecessary GstVideoInfo fields
Matthew Waters [Tue, 19 Aug 2014 04:44:29 +0000 (14:44 +1000)]
glvideomixer: don't clobber unnecessary GstVideoInfo fields

otherwise we might clobber other important fields such as the frame rate.

6 years agoglvideomixer: get the attribute from the correct shader
Matthew Waters [Tue, 19 Aug 2014 04:43:42 +0000 (14:43 +1000)]
glvideomixer: get the attribute from the correct shader

6 years agoglimagesink: unref the window on navigation event
Matthew Waters [Tue, 19 Aug 2014 04:23:21 +0000 (14:23 +1000)]
glimagesink: unref the window on navigation event

plugs a memory leak

6 years agoglbufferpool: fix allocator leak in some cases
Tim-Philipp Müller [Sun, 10 Aug 2014 21:58:22 +0000 (22:58 +0100)]
glbufferpool: fix allocator leak in some cases

Spotted by Sebastian Rasmussen.

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

6 years agoexamples/gl: unref bus and element after usage
Sebastian Rasmussen [Sat, 9 Aug 2014 09:45:41 +0000 (11:45 +0200)]
examples/gl: unref bus and element after usage

gst_pipeline_get_bus() and gst_bin_get_by_interface() both
return references that need to be unreferenced after usage.

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

6 years agoopengl: update element docs for 1.x
Tim-Philipp Müller [Sun, 10 Aug 2014 17:07:28 +0000 (18:07 +0100)]
opengl: update element docs for 1.x

6 years agoglvideomixer: add a background property
Matthew Waters [Thu, 7 Aug 2014 09:18:49 +0000 (19:18 +1000)]
glvideomixer: add a background property

That's compatible with the compositor/videomixer property

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

6 years agoGstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows
Vasilis Liaskovitis [Wed, 6 Aug 2014 13:48:03 +0000 (16:48 +0300)]
GstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows

If window is resized, GstStructure pointer values have to be rescaled to
original geometry. A get_surface_dimensions GLWindow class method is added for
this purpose and used in the navigation send_event function.

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

6 years agoglupload: don't determine if frame needs upload by pointer compare
Wang Xin-yu (王昕宇) [Wed, 6 Aug 2014 12:15:38 +0000 (08:15 -0400)]
glupload: don't determine if frame needs upload by pointer compare

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

6 years agogl/docs: remove superflous 'the'
Matthew Waters [Fri, 1 Aug 2014 07:51:08 +0000 (17:51 +1000)]
gl/docs: remove superflous 'the'

6 years agogl: document GST_GL_* environment variables
Matthew Waters [Fri, 1 Aug 2014 06:41:13 +0000 (16:41 +1000)]
gl: document GST_GL_* environment variables

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

6 years agogl/tests: update for API changes
Matthew Waters [Fri, 1 Aug 2014 00:01:18 +0000 (10:01 +1000)]
gl/tests: update for API changes

6 years agoglcontext: add a destroy function
Matthew Waters [Thu, 31 Jul 2014 08:46:33 +0000 (18:46 +1000)]
glcontext: add a destroy function

that just calls the subclass

6 years agogl/x11: silence runtime warning
Matthew Waters [Thu, 31 Jul 2014 08:36:58 +0000 (18:36 +1000)]
gl/x11: silence runtime warning

g_main_loop_quit: assertion 'loop != NULL' failed

6 years agoglmemory: use the plane offsets to compute the size of the data pointer
Matthew Waters [Thu, 31 Jul 2014 05:18:04 +0000 (15:18 +1000)]
glmemory: use the plane offsets to compute the size of the data pointer

Certain elements expect that there be a certain number of lines
that they can write into.  e.g. for odd heights, I420, YV12, NV12,
NV21 (and others) Y lines are expected to have exactly twice the
number of U/UV lines.

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

6 years agoglmemory: use GstVideoInfo everywhere
Matthew Waters [Thu, 31 Jul 2014 04:07:29 +0000 (14:07 +1000)]
glmemory: use GstVideoInfo everywhere

Simplifies a lot of the calling code

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

6 years agoglimagesink: keep the uploaded buffer around on successful redisplay
Matthew Waters [Tue, 29 Jul 2014 03:25:22 +0000 (13:25 +1000)]
glimagesink: keep the uploaded buffer around on successful redisplay

We might need it later to perform a redisplay.  GstGLUpload will take
of releasing the previous buffer when it receives a new buffer.

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

6 years agoglmemory: reenable the texture_rg support for !eagl
Matthew Waters [Tue, 29 Jul 2014 01:47:55 +0000 (11:47 +1000)]
glmemory: reenable the texture_rg support for !eagl

The GST_GL_HAVE_PLATFORM_EAGL is always defined we need to compare
against the value instead.

6 years agoglimagesink: silence gsignal warning
Matthew Waters [Sun, 27 Jul 2014 03:26:00 +0000 (13:26 +1000)]
glimagesink: silence gsignal warning

instance '0xblah' has no handler with id '13'

6 years agoglwindow/11: Emit signals for mouse and key navigation events
Vasilis Liaskovitis [Thu, 24 Jul 2014 09:25:36 +0000 (12:25 +0300)]
glwindow/11: Emit signals for mouse and key navigation events

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

6 years agoglwindow: Constify string parameters to the send_*_event() functions
Sebastian Dröge [Thu, 24 Jul 2014 10:23:03 +0000 (12:23 +0200)]
glwindow: Constify string parameters to the send_*_event() functions

6 years agoglimagesink: remove extra argument from debug call
Matthew Waters [Thu, 24 Jul 2014 03:05:00 +0000 (13:05 +1000)]
glimagesink: remove extra argument from debug call

6 years agoglimagesink: Add navigation interface and callbacks for GstGLWindow mouse/key signals
Vasilis Liaskovitis [Sun, 6 Jul 2014 21:20:01 +0000 (00:20 +0300)]
glimagesink: Add navigation interface and callbacks for GstGLWindow mouse/key signals

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

6 years agoGstGLWindow : Add mouse-event and key-event signals for navigation
Vasilis Liaskovitis [Sun, 6 Jul 2014 20:39:47 +0000 (23:39 +0300)]
GstGLWindow : Add mouse-event and key-event signals for navigation

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

6 years agogl: fix multi gl object leaks
Wang Xin-yu (王昕宇) [Wed, 23 Jul 2014 02:25:31 +0000 (10:25 +0800)]
gl: fix multi gl object leaks

1. fix FBO leaks in decide_allocation
2. fix texture leaks in decide_allocation and reset
3. fix texture leaks in FBO incomplete error path

6 years agogl: Reorder CFLAGS to include in-source dirs first in examples
Руслан Ижбулатов [Mon, 21 Jul 2014 11:07:28 +0000 (11:07 +0000)]
gl: Reorder CFLAGS to include in-source dirs first in examples

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

6 years agoexamples: fix compilation of gl fxtest example on win32 with Gtk+ 3.0
Tim-Philipp Müller [Thu, 17 Jul 2014 09:05:47 +0000 (10:05 +0100)]
examples: fix compilation of gl fxtest example on win32 with Gtk+ 3.0

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

6 years agogl: Always build gstglmixer, not only when full OpenGL support is enabled
Sebastian Dröge [Fri, 11 Jul 2014 11:58:55 +0000 (13:58 +0200)]
gl: Always build gstglmixer, not only when full OpenGL support is enabled

6 years agogl: Link to all required libraries but not more
Sebastian Dröge [Fri, 11 Jul 2014 10:04:07 +0000 (12:04 +0200)]
gl: Link to all required libraries but not more

6 years agogl: Move GstGLMixer to the plugin for now
Sebastian Dröge [Fri, 11 Jul 2014 07:41:05 +0000 (09:41 +0200)]
gl: Move GstGLMixer to the plugin for now

It depends on GstAggregator and we don't want to install headers
for that yet.

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

6 years agoglimagesink: Keep aspect ratio by default
Nicolas Dufresne [Wed, 9 Jul 2014 19:03:42 +0000 (15:03 -0400)]
glimagesink: Keep aspect ratio by default

The expected default behaviour for video sink is to maintain the
aspect ratio. Fix the default value to reflect this. The property
default was already TRUE, but the value was not initially TRUE.

6 years agoglcocoa: initalize NSApp asap when using gst-launch
Julien Isorce [Thu, 3 Jul 2014 08:00:32 +0000 (09:00 +0100)]
glcocoa: initalize NSApp asap when using gst-launch

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

6 years agogl/examples: gitignore generated files
Matthew Waters [Wed, 2 Jul 2014 07:38:13 +0000 (17:38 +1000)]
gl/examples: gitignore generated files

6 years agogl : fix qglwtextureshare demo
Wang Xin-yu (王昕宇) [Tue, 1 Jul 2014 00:36:53 +0000 (08:36 +0800)]
gl : fix qglwtextureshare demo

6 years agoeagl: Disable usage of R and RG textures on iOS
Sebastian Dröge [Mon, 30 Jun 2014 17:15:01 +0000 (19:15 +0200)]
eagl: Disable usage of R and RG textures on iOS

They don't work currently and just render zeroes, while the
fallback code path with LUM and LUM_ALPHA textures still works.

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

6 years agoglimagesink: Chain up to the parent class' finalize function
Sebastian Dröge [Sun, 29 Jun 2014 20:26:47 +0000 (22:26 +0200)]
glimagesink: Chain up to the parent class' finalize function

6 years agoglimagesink: Make sure to always unref the display
Sebastian Dröge [Sun, 29 Jun 2014 20:25:43 +0000 (22:25 +0200)]
glimagesink: Make sure to always unref the display

Even if we didn't create a context yet.

6 years agoglupload: Fix memory leak in unit test
Sebastian Dröge [Sun, 29 Jun 2014 19:57:32 +0000 (21:57 +0200)]
glupload: Fix memory leak in unit test

6 years agoglcontext: Fix memory leaks in unit test
Sebastian Dröge [Sun, 29 Jun 2014 19:53:21 +0000 (21:53 +0200)]
glcontext: Fix memory leaks in unit test

6 years agoglcolorconvert: free pixel swizzling information
Matthew Waters [Thu, 26 Jun 2014 01:25:37 +0000 (11:25 +1000)]
glcolorconvert: free pixel swizzling information

6 years agoglmixer: remove redundant/unused lock
Matthew Waters [Thu, 26 Jun 2014 01:15:56 +0000 (11:15 +1000)]
glmixer: remove redundant/unused lock

Use the GstObject lock instead

6 years agoglmixer: remove redundant creation and free of GPtrArrays
Matthew Waters [Thu, 26 Jun 2014 01:12:49 +0000 (11:12 +1000)]
glmixer: remove redundant creation and free of GPtrArrays

Also plugs a memory leak

6 years agoglmixer: plug a memory leak for the caps
Matthew Waters [Thu, 26 Jun 2014 00:54:38 +0000 (10:54 +1000)]
glmixer: plug a memory leak for the caps

gst_query_set_caps_result() takes a ref on the caps

6 years agoglmixer: intersect with the filtercaps if available
Matthew Waters [Thu, 26 Jun 2014 00:31:02 +0000 (10:31 +1000)]
glmixer: intersect with the filtercaps if available

6 years agogl: update gles2 compatability header
Matthew Waters [Thu, 26 Jun 2014 00:30:41 +0000 (10:30 +1000)]
gl: update gles2 compatability header

6 years agoglfilter: pass through the allocation query when in passthrough mode
Matthew Waters [Wed, 25 Jun 2014 12:05:37 +0000 (22:05 +1000)]
glfilter: pass through the allocation query when in passthrough mode

Otherwise two GL elements on either side will fail to use the same
GL context.

6 years agoglfilter: prefer passthrough for non-sysmem caps
Matthew Waters [Wed, 25 Jun 2014 11:50:40 +0000 (21:50 +1000)]
glfilter: prefer passthrough for non-sysmem caps

6 years agoglshader: enable glshader on GLES2
Matthew Waters [Wed, 25 Jun 2014 08:23:52 +0000 (18:23 +1000)]
glshader: enable glshader on GLES2

6 years agoglcolorscale: do passthrough on same caps
Julien Isorce [Tue, 24 Jun 2014 18:37:17 +0000 (19:37 +0100)]
glcolorscale: do passthrough on same caps

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

6 years agoglfilter: handle NULL decide_query which means passthrough
Julien Isorce [Tue, 24 Jun 2014 18:35:01 +0000 (19:35 +0100)]
glfilter: handle NULL decide_query which means passthrough

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

6 years agoglfilter: prepend intersection to src caps
Julien Isorce [Tue, 24 Jun 2014 18:23:01 +0000 (19:23 +0100)]
glfilter: prepend intersection to src caps

Prefer to stay in the same memory space if possible.
Also it let a chance to do passthrough.

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

6 years agogl: enable glvideomixer on GLES2
Julien Isorce [Sun, 22 Jun 2014 12:14:27 +0000 (13:14 +0100)]
gl: enable glvideomixer on GLES2

6 years agoglvideomixer: bas output width/height on the pad properties
Matthew Waters [Wed, 25 Jun 2014 02:00:34 +0000 (12:00 +1000)]
glvideomixer: bas output width/height on the pad properties

Allows automatic negotiation of the size in the following case:
gst-launch-1.0 glvideomixer name=m sink_0::xpos=0 sink_1::xpos=320 ! glimagesink \
    videotestsrc ! m. \
    videotestsrc pattern=1 ! m.

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

6 years agoglvideomixer: don't clobber already allocated shader
Matthew Waters [Wed, 25 Jun 2014 00:18:48 +0000 (10:18 +1000)]
glvideomixer: don't clobber already allocated shader

6 years agogl: XInitThreads when env variable is set
Matthew Waters [Tue, 24 Jun 2014 13:51:24 +0000 (23:51 +1000)]
gl: XInitThreads when env variable is set

This is too allow gst-launch debugging with multiple GL contexts as
well as avoiding segfaulting innocent gtk+ apps that have not called
XInitThreads.

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

6 years agogl: add a scary note about initializing thread support for the winsys
Matthew Waters [Tue, 24 Jun 2014 13:33:30 +0000 (23:33 +1000)]
gl: add a scary note about initializing thread support for the winsys

We cannot do it as the winsys may crash if we initialize too late.

Example, GLX contexts with Intel drivers:
Intel requires the X Display to be the same in order to share GL
resources across GL contexts.  These GL contexts are generally
accessed from different threads.  Without winsys support it is
nearly impossible to guarentee that concurrent access will not
occur.  This concurrent access could result in crashes or abortion
by the winsys (xcb).

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

6 years agogluploadmeta: reenable GLMemory upload path
Matthew Waters [Mon, 23 Jun 2014 11:43:10 +0000 (21:43 +1000)]
gluploadmeta: reenable GLMemory upload path

6 years agogl: Need to link to new badvideo library for the video aggregator base class
Sebastian Dröge [Sun, 22 Jun 2014 16:58:51 +0000 (18:58 +0200)]
gl: Need to link to new badvideo library for the video aggregator base class

6 years agogl: move gles2 compat header to glprototypes
Matthew Waters [Sat, 21 Jun 2014 23:44:24 +0000 (09:44 +1000)]
gl: move gles2 compat header to glprototypes

6 years agoglbufferpool: provide a consistent API regardless of platform
Matthew Waters [Sat, 21 Jun 2014 23:36:34 +0000 (09:36 +1000)]
glbufferpool: provide a consistent API regardless of platform

6 years agogl: mark library as API unstable
Matthew Waters [Sat, 21 Jun 2014 23:22:23 +0000 (09:22 +1000)]
gl: mark library as API unstable

6 years agogl:glvideomixer: Add the Compositor in the element metadata class
Thibault Saunier [Fri, 20 Jun 2014 09:10:45 +0000 (11:10 +0200)]
gl:glvideomixer: Add the Compositor in the element metadata class

So it is possible to pick one compositing element from the registry

6 years agogl: Port glmixer to the GstVideoAggregator baseclass
Thibault Saunier [Tue, 10 Jun 2014 09:26:53 +0000 (11:26 +0200)]
gl: Port glmixer to the GstVideoAggregator baseclass

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

6 years agoopengl: add element for transforming video geometry
Lubosz Sarnecki [Tue, 27 May 2014 10:40:09 +0000 (12:40 +0200)]
opengl: add element for transforming video geometry

* add graphene as soft dependency for linear algebra

6 years agoglframebuffer: don't segfault needlessly with GLES2
Matthew Waters [Tue, 17 Jun 2014 13:20:04 +0000 (23:20 +1000)]
glframebuffer: don't segfault needlessly with GLES2

gst_gl_framebuffer_use_v2 was using a function that is not available
with GLES2

6 years agoglfiltershader: port to GLES2
Matthew Waters [Mon, 16 Jun 2014 10:36:09 +0000 (20:36 +1000)]
glfiltershader: port to GLES2

Provide a time variable

6 years agoglvideomixer: silence incorrect number of arguments in format warning
Matthew Waters [Sun, 15 Jun 2014 05:18:46 +0000 (15:18 +1000)]
glvideomixer: silence incorrect number of arguments in format warning

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