Matthew Waters [Mon, 17 Mar 2014 14:06:25 +0000 (15:06 +0100)]
gl: only link against gstegl if we are using egl
Assuming if we are building egl that the egl library is built
Matthew Waters [Mon, 17 Mar 2014 13:37:13 +0000 (14:37 +0100)]
gl: add path of the gstegl library
Temporary until we merge the two libraries
Matthew Waters [Mon, 17 Mar 2014 13:26:31 +0000 (14:26 +0100)]
Revert "gl: add dep on gstegl"
It was already in _LIBADD
This reverts commit
b10a3530804335fc3b9494603ef78ce9417c3bc8.
Matthew Waters [Mon, 17 Mar 2014 13:11:14 +0000 (14:11 +0100)]
gl: add dep on gstegl
Temporary until we merge the two libraries
Edward Hervey [Mon, 17 Mar 2014 13:06:22 +0000 (14:06 +0100)]
gl/cocoa: Fix debug statements and platform
Edward Hervey [Mon, 17 Mar 2014 11:04:40 +0000 (12:04 +0100)]
gl: Fix static build with objective-C
--tag=CC is needed for static build
Matthew Waters [Mon, 17 Mar 2014 09:56:39 +0000 (10:56 +0100)]
gl: Add EGLDisplay display subclass
Matthew Waters [Mon, 17 Mar 2014 09:44:32 +0000 (10:44 +0100)]
gl/window: add a dummy window class
Effective for the case where we have a platform that does not
require a native window. We require a mainloop to run the GL
commands which is currently operated by GstGLWindow.
Matthew Waters [Mon, 17 Mar 2014 07:10:50 +0000 (08:10 +0100)]
gl: fix undeclared symbol when building without GST_DEBUG
Matthew Waters [Sun, 16 Mar 2014 17:55:03 +0000 (18:55 +0100)]
gl: fix a double unref of the query when building without X
Matthew Waters [Sun, 16 Mar 2014 16:21:38 +0000 (17:21 +0100)]
gl: silence a compiler warning about missing prototypes
Matthew Waters [Fri, 14 Mar 2014 18:03:36 +0000 (19:03 +0100)]
gl/utils: add x11 GstContext handling
https://bugzilla.gnome.org/show_bug.cgi?id=726360
Matthew Waters [Sun, 16 Mar 2014 14:34:11 +0000 (15:34 +0100)]
gl: define GL_NUM_EXTENSIONS if not defined
Matthew Waters [Sun, 16 Mar 2014 14:06:37 +0000 (15:06 +0100)]
gl: silence all the compiler warnings
Matthew Waters [Sun, 16 Mar 2014 10:23:16 +0000 (11:23 +0100)]
move gl elements to ext subdirectory
Matthew Waters [Sat, 15 Mar 2014 14:55:46 +0000 (15:55 +0100)]
[906/906] filter: warn about trying to share with multiple contexts at once
Matthew Waters [Sat, 15 Mar 2014 13:06:40 +0000 (14:06 +0100)]
[905/906] Add GL context sharing support for non-gstgl elements
Matthew Waters [Sat, 15 Mar 2014 12:55:39 +0000 (13:55 +0100)]
[904/906] mixer: ask for display handles on pad activation
Matthew Waters [Sat, 15 Mar 2014 12:51:44 +0000 (13:51 +0100)]
[903/906] api: add GstGLPlatform to/from string
Matthew Waters [Sat, 15 Mar 2014 10:25:43 +0000 (11:25 +0100)]
[902/906] context: implement glGetStringi handling for GL core contexts/GLES3
Matthew Waters [Wed, 12 Mar 2014 12:46:58 +0000 (23:46 +1100)]
[901/906] glx: use the display handle from the global display
Intel drivers require the display handles be the same for context
sharing to occur. Also solves some cases of use after free of the
display when integrating with gstreamer-vaapi.
See https://bugs.freedesktop.org/show_bug.cgi?id=41736 for the intel bug.
Matthew Waters [Wed, 12 Mar 2014 12:44:28 +0000 (23:44 +1100)]
[900/906] tests/gstglcontext: reduce the number of frames displayed
Was causing timeouts on intel hardware due to vsync handling.
Matthew Waters [Wed, 12 Mar 2014 12:43:12 +0000 (23:43 +1100)]
[899/906] egl: warn if we resort to display handles from the window
Matthew Waters [Tue, 4 Mar 2014 12:28:01 +0000 (23:28 +1100)]
[897/906] api: plugin a small memory leak
Found by adrien.schwartzentruber@gmail.com
Matthew Waters [Sun, 2 Mar 2014 00:48:54 +0000 (11:48 +1100)]
[896/906] utils: use the vtable for deleting the texture
Matthew Waters [Fri, 28 Feb 2014 06:42:51 +0000 (17:42 +1100)]
[895/906] context: call window_class->close last
We should destroy resources before closing the display connection
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725048
Wang Xin-yu (王昕宇) [Tue, 25 Feb 2014 01:27:26 +0000 (09:27 +0800)]
[894/906] gl: add missing G_BEGIN_DECLS/G_END_DECLS
https://bugzilla.gnome.org/show_bug.cgi?id=725111
Matthew Waters [Mon, 24 Feb 2014 12:55:58 +0000 (23:55 +1100)]
[893/906] x11: close both of the display's we use
(the comment doesn't seem to apply anymore)
https://bugzilla.gnome.org/show_bug.cgi?id=725048
Matthew Waters [Sun, 23 Feb 2014 00:44:51 +0000 (11:44 +1100)]
[892/906] silence a compiler warning on older gcc versions (4.6)
Matthew Waters [Mon, 10 Feb 2014 21:57:29 +0000 (08:57 +1100)]
[891/906] context: add support for wrapping external contexts
Matthew Waters [Wed, 27 Nov 2013 06:52:46 +0000 (17:52 +1100)]
[890/906] x11: add display subclass
GstGLDisplayX11 holds the display connection and name. Each thread requires
it's own X11 Display connection (initialised from name) due to the fact that
we do not want to call XInitThreads(). Doing so would result in segfaults
when integrating with GUI toolkits Gtk, Qt, etc.
The Display connection is for OpenGL platforms where a constant display is
required in order to share contexts (egl). In the case of a wrapped context
(added later), we do not have GstGLWindow to retreive the display from so a
'master' connection is used instead.
Matthew Waters [Tue, 14 Jan 2014 23:21:56 +0000 (10:21 +1100)]
[889/906] display: add display type enum
Adrien SCH [Sun, 23 Feb 2014 00:27:23 +0000 (11:27 +1100)]
[888/906] correct error handling in gstgldownload.c
Matthew Waters [Sat, 22 Feb 2014 23:36:57 +0000 (10:36 +1100)]
[887/906] mixer: fixup a memory leak of the context in the GLTextureUploadMeta path
gst_structure_get returns a reference to the object and we asked
for another with gst_object_replace.
https://bugzilla.gnome.org/show_bug.cgi?id=724816
Matthew Waters [Sat, 22 Feb 2014 14:32:23 +0000 (01:32 +1100)]
[886/906] fixup a memory leak of the context in the GLTextureUploadMeta path
gst_structure_get returns a reference to the object and we asked
for another with gst_object_replace.
https://bugzilla.gnome.org/show_bug.cgi?id=724816
Matthew Waters [Fri, 21 Feb 2014 04:25:22 +0000 (15:25 +1100)]
[885/906] filter: free our data
plugs some memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=724816
Matthew Waters [Fri, 21 Feb 2014 02:28:16 +0000 (13:28 +1100)]
[884/906] filter: return the pad template caps in transform_caps
We can transform from any input in our caps to any output.
With the following pipeline snippet:
... ! vaapidecode ! glcolorscale ! xvimagesink
GstVideoGLTextureUploadMeta was being used on both src and sink
pads causing linking to fail. This allows the usage of the meta
on either pad without affecting whether the meta is chosen on the
other pad.
Matthew Waters [Mon, 10 Feb 2014 21:23:39 +0000 (08:23 +1100)]
[883/906] api: provide from_string()
Also s/gst_gl_api_string/gst_gl_api_to_string/g
Matthew Waters [Thu, 6 Feb 2014 10:43:45 +0000 (21:43 +1100)]
[881/906] upload: restore default values for unpack_length
fixes elements that upload a supplementary texture (glbumber,
gldifferencematte, etc)
Matthew Waters [Thu, 20 Feb 2014 11:40:05 +0000 (22:40 +1100)]
[879/906] build: don't add X_CFLAGS to CFLAGS
It should already be included if needed inside GL_CFLAGS
Matthew Waters [Tue, 4 Feb 2014 14:53:04 +0000 (01:53 +1100)]
[878/906] tests: update for glmem api change
Chris Paulson-Ellis [Tue, 4 Feb 2014 12:49:35 +0000 (13:49 +0100)]
[877/906] x11: Use correct format string for guintptr
https://bugzilla.gnome.org/show_bug.cgi?id=723537
Matthew Waters [Fri, 31 Jan 2014 16:14:48 +0000 (03:14 +1100)]
[876/906] glmem: use GstVideoInfo for format configuration
Allows use of strides
Matthew Waters [Thu, 30 Jan 2014 19:53:54 +0000 (06:53 +1100)]
[875/906] upload: support for arbitrary strides
Using GL_UNPACK_ALIGNMENT for GLES2 and GL_UNPACK_ROW_LENGTH for everything else
Matthew Waters [Wed, 29 Jan 2014 20:49:20 +0000 (07:49 +1100)]
[874/906] filter: implement draw_texture for GLES2
(taken from gleffects)
Matthew Waters [Wed, 29 Jan 2014 08:14:54 +0000 (19:14 +1100)]
[873/906] upload: use GstVideoInfo for choosing the format
Matthew Waters [Tue, 28 Jan 2014 19:42:40 +0000 (06:42 +1100)]
[872/906] upload: consolidate data _fill
Matthew Waters [Tue, 28 Jan 2014 15:51:23 +0000 (02:51 +1100)]
[871/906] upload: fix texture scaling for YUY2/UYVY with GLES2
Another artifact from the transition to GL_TEXTURE_2D
Matthew Waters [Tue, 28 Jan 2014 14:02:57 +0000 (01:02 +1100)]
[870/906] upload: remove superflous g_mutex_init
Matthew Waters [Wed, 29 Jan 2014 21:28:52 +0000 (08:28 +1100)]
[869/906] tests: add some upload tests
Matthew Waters [Mon, 27 Jan 2014 20:50:13 +0000 (07:50 +1100)]
[868/906] upload: fix compilation for GLES2
Wang Xin-yu (王昕宇) [Fri, 17 Jan 2014 00:46:02 +0000 (08:46 +0800)]
[867/906] glupload: Add GRAY8/GRAY16LE/BE upload support to glimagesink
the 16bit data is uploaded as LUMINANCE_ALPHA, then expanded, composed
in shader. value weight is a little complicate, high byte weight is
255*256/65535 (denormalize to [0~255] ,shift to high byte,then normalize
to [0~1]), low byte weight is 255/65535(similar)
https://bugzilla.gnome.org/show_bug.cgi?id=722670
Matthew Waters [Sat, 23 Nov 2013 11:57:03 +0000 (22:57 +1100)]
[866/906] upload: update some docs
Matthew Waters [Sat, 23 Nov 2013 11:19:18 +0000 (22:19 +1100)]
[865/906] glmem: report successful copy to the caller
Matthew Waters [Mon, 25 Nov 2013 22:32:32 +0000 (09:32 +1100)]
[863/906] window: hold a ref to our GstGLDisplay
Matthew Waters [Mon, 25 Nov 2013 09:34:06 +0000 (20:34 +1100)]
[862/906] window: remove set_need_lock
No-one is using it. The only code that did was the x11 one which
doesn't need it anymore.
Wang Xin-yu (王昕宇) [Thu, 9 Jan 2014 18:50:14 +0000 (02:50 +0800)]
[861/906] glprototypes: Add missing glScalef declare
https://bugzilla.gnome.org/show_bug.cgi?id=721903
Matthew Waters [Sat, 23 Nov 2013 11:58:57 +0000 (22:58 +1100)]
[860/906] docs: misc updates
Matthew Waters [Sat, 23 Nov 2013 11:57:49 +0000 (22:57 +1100)]
[859/906] window: provide some documetation
Matthew Waters [Sat, 23 Nov 2013 11:56:10 +0000 (22:56 +1100)]
[858/906] glmem: update the docs
Matthew Waters [Sat, 23 Nov 2013 11:54:46 +0000 (22:54 +1100)]
[857/906] display: document the new GstContext api
Matthew Waters [Sat, 23 Nov 2013 11:53:48 +0000 (22:53 +1100)]
[856/906] context: document it
Matthew Waters [Thu, 14 Nov 2013 04:27:52 +0000 (15:27 +1100)]
[855/906] upload: add support for GstVideoGLTextureUploadMeta
Matthew Waters [Tue, 12 Nov 2013 13:41:01 +0000 (00:41 +1100)]
[854/906] use the allocation query to propogate GstGLContext
uses the GstVideoGLTextureUploadMeta api type for the query
Matthew Waters [Thu, 24 Oct 2013 11:30:45 +0000 (22:30 +1100)]
[853/906] display: remove _{set,get}_context
A GstGLDisplay doesn't need a GstGLContext and its use
was cause a reference cycle
Matthew Waters [Tue, 12 Nov 2013 23:43:16 +0000 (10:43 +1100)]
[852/906] use GstContext for GstGLDisplay propogation
implements the hooks required in GstElement::set_context and the context query
Matthew Waters [Fri, 15 Nov 2013 07:28:49 +0000 (18:28 +1100)]
[850/906] glupload: Remove texture scaling artifacts from the TEXTURE_RECTANGLE -> TEXTURE_2D transition
fixes the funky colours in some of the yuv formats
https://bugzilla.gnome.org/show_bug.cgi?id=721155
Matthew Waters [Thu, 24 Oct 2013 11:28:57 +0000 (22:28 +1100)]
[848/906] filter: a little code cleanup
Matthew Waters [Wed, 13 Nov 2013 04:57:07 +0000 (15:57 +1100)]
[847/906] mixer: unmap the video frames we map
plugs a memory leak
Matthew Waters [Fri, 15 Nov 2013 09:50:27 +0000 (20:50 +1100)]
[846/906] mixer: handle 0/1 framerate better in caps
Matthew Waters [Fri, 15 Nov 2013 09:49:43 +0000 (20:49 +1100)]
[845/906] filter: handle capsfeatures properly
Matthew Waters [Thu, 14 Nov 2013 04:08:47 +0000 (15:08 +1100)]
[844/906] mixer: give access to the pads at render time
allows us to move the video frame mapping somewhere else
Matthew Waters [Wed, 13 Nov 2013 12:24:00 +0000 (23:24 +1100)]
[843/906] memory: provide copy_into_texture
Tim-Philipp Müller [Wed, 25 Dec 2013 23:35:50 +0000 (23:35 +0000)]
[842/906] Fix gstglconfig.h-related 'make distcheck' issues
Fix srcdir vs. builddir issue in docs and 'files left after
disclean' issue for gstglconfig.h
Julien Isorce [Sat, 30 Nov 2013 09:51:49 +0000 (09:51 +0000)]
[841/906] osx: allow x11/glx backend and set default runtime to cocoa/nsgl
https://bugzilla.gnome.org/show_bug.cgi?id=719757
Julien Isorce [Sat, 30 Nov 2013 16:38:13 +0000 (16:38 +0000)]
[839/906] cocoa: allow to call set_window_handle before to create glcontext
So that it actually make cocoa videooverlay example work again.
Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719758
Matthew Waters [Fri, 15 Nov 2013 07:28:49 +0000 (18:28 +1100)]
[838/906] gl: Use GL_TEXTURE_2D instead of GL_TEXTURE_RECTANGLE
We create our textures (in Desktop GL) with GL_TEXTURE_RECTANGLE,
vaapi attempts to bind our texture to GL_TEXTURE_2D which throws a
GL_INVALID_OPERATION error and as thus, no video.
Also, by moving exclusively to GL_TEXTURE_2D and the npot extension
we also remove a difference between the Desktop GL and GLES2 code.
https://bugzilla.gnome.org/show_bug.cgi?id=712287
Matthieu Bouron [Fri, 8 Nov 2013 12:12:26 +0000 (12:12 +0000)]
[837/906] cocoa: resize OpenGL view size each time the window is resized
Fixes glitches that can appear when the OpenGL view has not been resized
after a window resize.
https://bugzilla.gnome.org/show_bug.cgi?id=711672
Matthieu Bouron [Fri, 1 Nov 2013 16:35:46 +0000 (16:35 +0000)]
[836/906] cocoa: only use GSRegisterCurrentThread with GNUStep environment
Julien Isorce [Wed, 6 Nov 2013 22:16:21 +0000 (22:16 +0000)]
[835/906] gstglwindow: remove unused fields
Julien Isorce [Wed, 6 Nov 2013 22:13:20 +0000 (22:13 +0000)]
[834/906] gstglwindow: clear mutex
Julien Isorce [Wed, 6 Nov 2013 22:12:02 +0000 (22:12 +0000)]
[833/906] gstglcontext: initialize window to NULL
Julien Isorce [Wed, 6 Nov 2013 21:59:27 +0000 (21:59 +0000)]
[832/906] x11: ignore Expose events not initiated by gst_gl_window_draw
Julien Isorce [Wed, 6 Nov 2013 21:55:49 +0000 (21:55 +0000)]
[831/906] glimagesink: avoid to overload the drawer if already drawing
Especially if the application calls gst_video_overlay_expose a lot
Matthew Waters [Wed, 23 Oct 2013 09:38:56 +0000 (20:38 +1100)]
[829/906] mixer: error out properly on flushing
Matthew Waters [Tue, 22 Oct 2013 10:48:00 +0000 (21:48 +1100)]
[828/906] context: refcount the display
Matthew Waters [Fri, 25 Oct 2013 15:20:54 +0000 (02:20 +1100)]
[827/906] mixer: don't unref the query in the default case
The element/application performing the query is responsible for the
de/allocation
Matthew Waters [Thu, 24 Oct 2013 10:24:03 +0000 (21:24 +1100)]
[826/906] upload: free our mutex
Julien Isorce [Fri, 11 Oct 2013 15:00:23 +0000 (16:00 +0100)]
[825/906] glwindow_x11: check if the loop exists
It happens when calling set_window_handle before to reach GST_STATE_READY.
In this case the parent is set when creating the internal window.
Matthew Waters [Tue, 1 Oct 2013 13:47:54 +0000 (23:47 +1000)]
[824/906] android: Build fixes
https://bugzilla.gnome.org/show_bug.cgi?id=709786
Julien Isorce [Tue, 1 Oct 2013 11:46:46 +0000 (11:46 +0000)]
[823/906] wayland_egl: make the wayland backend actually work on Raspberry Pi
Fix resizing and can now move the window
Julien Isorce [Tue, 1 Oct 2013 11:44:00 +0000 (11:44 +0000)]
[822/906] gstglcontext_egl: avoid non working EGL confs on rpi/wayland
Julien Isorce [Tue, 1 Oct 2013 11:42:21 +0000 (11:42 +0000)]
[821/906] tests: fix test_share on GLESv2
Julien Isorce [Tue, 1 Oct 2013 11:27:07 +0000 (11:27 +0000)]
[820/906] gstglwindow: if available use wayland instead dispmanx on rpi
Matthew Waters [Thu, 26 Sep 2013 15:15:25 +0000 (01:15 +1000)]
[819/906] make gen_texture/del_texture threadsafe
Use stack allocated instead of static variables
Conflicts:
gst-libs/gst/gl/gstglutils.c
Matthew Waters [Wed, 25 Sep 2013 02:26:57 +0000 (12:26 +1000)]
[818/906] window: add send_message_async vmethod
- provide a default synchronous send_message
- make context creation threadsafe again
Matthew Waters [Tue, 24 Sep 2013 06:37:11 +0000 (16:37 +1000)]
[817/906] make the state change test pass
Matthew Waters [Tue, 24 Sep 2013 04:07:58 +0000 (14:07 +1000)]
[816/906] x11: fix make check segfault
Matthew Waters [Fri, 20 Sep 2013 01:55:36 +0000 (11:55 +1000)]
[815/906] fix some refcount errors
Matthew Waters [Fri, 20 Sep 2013 01:54:42 +0000 (11:54 +1000)]
[814/906] mixer: timestamp buffers