Matthew Waters [Tue, 18 Sep 2012 11:42:24 +0000 (21:42 +1000)]
[579/906] download: fix YV12 format
same as I420 but plane 1+2 swapped
Matthew Waters [Tue, 18 Sep 2012 11:39:21 +0000 (21:39 +1000)]
[578/906] {up,down}load: add variants that can be called in the gl thread
Matthew Waters [Mon, 17 Sep 2012 00:30:01 +0000 (10:30 +1000)]
[576/906] remove uneeded GstGLMeta (use GstVideoMeta)
Matthew Waters [Sun, 16 Sep 2012 11:42:08 +0000 (21:42 +1000)]
[575/906] filter: port to new upload/download
Matthew Waters [Sun, 16 Sep 2012 11:36:09 +0000 (21:36 +1000)]
[574/906] memory: implement transperent upload/download for data
(not async yet)
Matthew Waters [Sun, 16 Sep 2012 11:23:09 +0000 (21:23 +1000)]
[573/906] add upload and download library objects
allows multiple upload pipelines that previously wasn't possible
(i.e. upload RGB and I420 and ... on the same GstGLDisplay)
Matthew Waters [Wed, 5 Sep 2012 04:58:38 +0000 (14:58 +1000)]
[571/906] mixer: fix deadlock on shutdown
didn't reiterate over the sinkpad's displays and reactivate them causing a deadlock
Matthew [Mon, 27 Aug 2012 14:08:16 +0000 (14:08 +0000)]
[568/906] window: fix public definitions
Matthew [Mon, 27 Aug 2012 14:07:31 +0000 (14:07 +0000)]
[567/906] fix OpenGL|ES2 ifdef'ed code
Matthew Waters [Wed, 15 Aug 2012 11:37:01 +0000 (21:37 +1000)]
[564/906] glmemory: remove unused typedef
Matthew Waters [Wed, 15 Aug 2012 06:52:48 +0000 (16:52 +1000)]
[563/906] readd support for hanging GL pipelines e.g. ... ! gleffects ! fakesink
Matthew Waters [Wed, 15 Aug 2012 05:35:46 +0000 (15:35 +1000)]
[562/906] gldisplay: fix download of YUV formats
Matthew Waters [Tue, 14 Aug 2012 13:55:14 +0000 (23:55 +1000)]
[561/906] gldisplay: fix endianess issues on RGB download
Matthew Waters [Mon, 13 Aug 2012 16:05:13 +0000 (02:05 +1000)]
[559/906] glmixer: pass the mixpad's display to the querying element
Matthew Waters [Fri, 10 Aug 2012 05:31:20 +0000 (15:31 +1000)]
[555/906] Make the query for a GstGLDisplay a pad peer query
Allows the query to pass through bin boundaries and makes it possible for
arbitrary gl elements to be placed in bins.
Matthew Waters [Wed, 8 Aug 2012 06:08:40 +0000 (16:08 +1000)]
[554/906] GstGLMemory: update for GstAllocator API changes
Matthew Waters [Thu, 12 Jul 2012 15:04:22 +0000 (01:04 +1000)]
[544/906] fix memory leaks from not g_free()ing string returned by gst_element_get_name
Matthew Waters [Thu, 12 Jul 2012 08:22:01 +0000 (18:22 +1000)]
[543/906] GstGLDisplay: fix segfault from GST_PTR_FORMAT trying to expand the object
Matthew Waters [Thu, 12 Jul 2012 08:19:44 +0000 (18:19 +1000)]
[542/906] GstGLMixer: add allocation and bufferpool methods
based off GstBaseTransform
Matthew Waters [Mon, 9 Jul 2012 12:27:48 +0000 (22:27 +1000)]
[532/906] GstGLFilter: implement allocation vfuncs
Matthew Waters [Mon, 9 Jul 2012 06:13:39 +0000 (16:13 +1000)]
[528/906] GstGLMeta: seperate upload/download/normal GL caps video formats
differentiate between upload, download and GL caps
Matthew Waters [Mon, 9 Jul 2012 06:12:53 +0000 (16:12 +1000)]
[527/906] GstGLDisplay: add some trace debugging
Matthew Waters [Sat, 7 Jul 2012 15:49:06 +0000 (01:49 +1000)]
[524/906] GstGLDisplay: rework the download code
data paramaters now take GstVideoFrame
remove redundant parameters
Matthew Waters [Sat, 7 Jul 2012 15:10:40 +0000 (01:10 +1000)]
[522/906] GstGLDisplay: add forgotten function definition
Matthew Waters [Sat, 7 Jul 2012 15:09:56 +0000 (01:09 +1000)]
[521/906] GstGLMemory: update for GstAllocator changes
Matthew Waters [Sat, 7 Jul 2012 12:56:33 +0000 (22:56 +1000)]
[520/906] GstGLMixer: fix for GstChildProxy changes
Matthew Waters [Fri, 6 Jul 2012 09:05:03 +0000 (19:05 +1000)]
[517/906] add GstGLBufferPool
which adds GstGLMeta to buffers
Matthew Waters [Fri, 6 Jul 2012 08:57:39 +0000 (18:57 +1000)]
[516/906] add skeleton GstGLMeta
the GstVideoMeta _map/unmap functions still need implementing
Matthew Waters [Fri, 6 Jul 2012 08:51:02 +0000 (18:51 +1000)]
[515/906] GstGLDisplay: rework gen_texture and upload
rename functions so that other code can create textures in the GL thread
change upload functions to take a GstVideoFrame
default to GLSL for upload conversion
Matthew Waters [Fri, 6 Jul 2012 08:22:22 +0000 (18:22 +1000)]
[514/906] add GstGLMemory and allocator
implement custom GstMemory for GL textures
currently map/unmap returns NULL although it might be favourable to upload/download/cache the image data
Matthew Waters [Tue, 19 Jun 2012 08:40:28 +0000 (18:40 +1000)]
[513/906] Remove GstGLBuffer (to be replaced by GstGLMeta)
Matthew Waters [Tue, 19 Jun 2012 05:54:24 +0000 (15:54 +1000)]
[512/906] GstGLMixer: update for 1.0 based on the videomixer2 element in -good
Matthew Waters [Tue, 5 Jun 2012 09:10:19 +0000 (19:10 +1000)]
[509/906] GstGLDisplay: update for 1.0
Matthew Waters [Sun, 3 Jun 2012 10:40:53 +0000 (20:40 +1000)]
[504/906] GstGLFilter: update for 1.0
-fix up function definitions
-remove _prepare_output_buffer (functionality taken over by GstBufferPool).
Matthew Waters [Wed, 30 May 2012 03:46:21 +0000 (13:46 +1000)]
[503/906] Rename GST_BOILERPLATE_* to G_DEFINE_TYPE_* and move _base_init into _class_init
Matthew Waters [Tue, 29 May 2012 07:55:44 +0000 (17:55 +1000)]
[502/906] Update versioning for gstreamer 1.0
Renames GST_MAJORMINOR to GST_API_VERSION in build files
removes -lgstinterfaces from _LDADD flags
Raimo Järvi [Sun, 20 May 2012 15:45:06 +0000 (18:45 +0300)]
[501/906] Fix building on 64 bit mingw-w64
https://bugzilla.gnome.org/show_bug.cgi?id=676428
Julien Isorce [Fri, 20 Apr 2012 10:33:38 +0000 (12:33 +0200)]
[500/906] gldisplay: do not call glCheckFramebufferStatus if 0 is bound
Indeed it may return GL_FRAMEBUFFER_UNDEFINED if there is no
default framebuffer.
It seems to be the case on MacOSX
Julien Isorce [Fri, 20 Apr 2012 08:41:51 +0000 (10:41 +0200)]
[498/906] gldisplay: don't pass non-constant strings as printf format strings
Fixes 'format not a string literal and no format arguments' on darwin
Julien Isorce [Fri, 20 Apr 2012 08:32:23 +0000 (10:32 +0200)]
[497/906] filtershader: fix format compiler warnings
Julien Isorce [Wed, 18 Apr 2012 13:44:05 +0000 (15:44 +0200)]
[495/906] glES2.0: properly use glDeleteShader
Julien Isorce [Tue, 17 Apr 2012 16:25:55 +0000 (18:25 +0200)]
[494/906] cmake build: use config.h from win32/common and add some guidelines
Julien Isorce [Fri, 13 Apr 2012 13:08:00 +0000 (15:08 +0200)]
[492/906] glwindow: properly fails if resource not found
Julien Isorce [Fri, 13 Apr 2012 10:38:11 +0000 (12:38 +0200)]
[491/906] glES2.0: properly fails if driver/kernel inconsistency
Julien Isorce [Wed, 11 Apr 2012 08:44:23 +0000 (10:44 +0200)]
[490/906] gldisplay: error out instead of g_assert
Julien Isorce [Wed, 4 Apr 2012 14:22:40 +0000 (16:22 +0200)]
[488/906] libvisual-gl: full compatibility with projectM-libvisual if libprojectM >= 2.0.1
Fix bug #310775
Julien Isorce [Thu, 22 Dec 2011 14:30:38 +0000 (15:30 +0100)]
[486/906] libvisual-gl: add minimal support to libvisual plugins that uses Framebuffer objects
Fix bug #310775
gst-launch audiotestsrc ! libvisual_gl_projectM ! glimagesink is working
but for now you cannot append any other opengl filters between
libvisual_gl_projectM and glimagesink because our FBO is turned OFF.
It would require that libvisual allows to split rendering between
pass1,2,3... and final rendering. In order to unbind our FBO before
the passN, and then rebind it just before the final libvisual rendering.
Julien Isorce [Thu, 15 Dec 2011 17:13:00 +0000 (18:13 +0100)]
[485/906] gstgldisplay: turn off texture binding and read buffer when downloading rgb is done
It fixes: (black image before)
gst-launch-0.10 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! ximagesink
and
gst-launch-0.10 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! glimagesink
Julien Isorce [Thu, 15 Dec 2011 15:18:36 +0000 (16:18 +0100)]
[483/906] glelements: do not leak parent when using gst_pad_get_parent
Julien Isorce [Thu, 24 Nov 2011 15:02:32 +0000 (16:02 +0100)]
[481/906] feature checking: error out instead of doing nothing if an OpenGL feature is not present
Fix bug #572767
Julien Isorce [Mon, 21 Nov 2011 15:46:51 +0000 (16:46 +0100)]
[480/906] win32 builds: add glshader filter sources to vs9 and codeblocks
Also fix some warnings from msvc9 and mingw-3.4.5
Руслан Ижбулатов [Mon, 21 Nov 2011 14:04:16 +0000 (15:04 +0100)]
[479/906] gstglshadervariables: strtok_r is not multiplatform
Fix bug #664367
Wei Feng [Fri, 18 Nov 2011 16:32:05 +0000 (17:32 +0100)]
[478/906] OpenGL ES 2.0: include glib.h to use G_BEGIN_DECLS in gstgles2.h
Fix bug #631019
Julien Isorce [Fri, 18 Nov 2011 16:27:45 +0000 (17:27 +0100)]
[477/906] OpenGL ES 2.0: fix build since glfiltershader changes
Antoni Silvestre [Fri, 18 Nov 2011 16:26:35 +0000 (17:26 +0100)]
[476/906] OpenGL ES 2.0: fix build and disable some examples
Fix bug #631019
Luc Deschenaux [Thu, 17 Nov 2011 16:36:44 +0000 (17:36 +0100)]
[471/906] glshader: add dynamic fragment shader filter
Also add fragment shader parser
Fix bug #600195
Julien Isorce [Wed, 16 Nov 2011 15:53:25 +0000 (16:53 +0100)]
[467/906] tests: various build fixes
- cmake could not find glib
- put gtk variables at the beginning to avoid GL conflicts
- update examples to clutter-1.8
- use const instead of deprecated G_CONST_RETURN
- set max pending events to 0 to make cube example works again
Tim-Philipp Müller [Tue, 14 Dec 2010 23:56:55 +0000 (23:56 +0000)]
[463/906] Add some more G_{BEGIN,END}_DECLS to public headers
https://bugzilla.gnome.org/show_bug.cgi?id=637260
Stefan Kost [Tue, 19 Oct 2010 15:00:33 +0000 (18:00 +0300)]
[462/906] various: add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed. Includes some gst-indent changes as well :/
Jan Schmidt [Tue, 10 Aug 2010 14:47:42 +0000 (00:47 +1000)]
[459/906] Fix distcheck.
Julien Isorce [Wed, 5 May 2010 09:21:31 +0000 (11:21 +0200)]
[456/906] glfilter/glmixer/gltestsrc/glupload: throw an element error if no parent bin
Fixes bug #602153
Julien Isorce [Tue, 4 May 2010 09:37:38 +0000 (11:37 +0200)]
[455/906] glimagesink: handle pixel-aspect-ratio
Filippo Argiolas [Thu, 29 Apr 2010 06:27:29 +0000 (08:27 +0200)]
[443/906] sobel: move some highly duplicated code into glfilter
Add a new convenience function in GstGLFilter that just draws an input
texture to a target texture using a simple shader with just a "tex"
uniform sampler.
Move draw_texture from glfiltersobel to glfilter. Still need to update
other plugins to this.
Julien Isorce [Mon, 26 Apr 2010 12:11:28 +0000 (14:11 +0200)]
[432/906] GstGLDisplay: this is GL_DEPTH24_STENCIL8_EXT, not GL_DEPTH24_STENCIL8_EXT
Pierre Pouzol [Mon, 26 Apr 2010 11:57:00 +0000 (13:57 +0200)]
[431/906] GstGLDisplay: enable stencil buffer when using framebuffer objects.
Fixes Bug #612159
Nicholas Panayis [Tue, 9 Mar 2010 00:35:42 +0000 (01:35 +0100)]
[415/906] gstglwindow_win32: share opengl context in correct order
Allow to use the opengl context sharing feature if the original
context has been used already.
This is only possible on win32 with wglShareLists because on other
backends, the sharing is made when a context is created.
This new feature is only usefull when using external context
because gst-gl internally makes sure that the orginal context is not
already used when sharing it.
Fix bug #611067
Julien Isorce [Tue, 5 Jan 2010 23:13:46 +0000 (00:13 +0100)]
[412/906] Cocoa backend: improve support on GNUStep
Julien Isorce [Thu, 17 Dec 2009 23:34:13 +0000 (00:34 +0100)]
[411/906] gstglmixer: copy/past recent changes from gstvideomixer
Julien Isorce [Wed, 16 Dec 2009 00:33:39 +0000 (01:33 +0100)]
[410/906] gstglmixer: inactivate shared gl context before to release ours
First, inactivate shared gl contexts known by each sink pad.
Then, destroy the gl context known by the glmixer.
Finally, re-activate shared gl contexts.
This is to satisfy the fact that no shared gl context must be current
when an opengl context is destroyed.
Moreover the application may hang or crash without those steps.
Julien Isorce [Sat, 21 Nov 2009 12:32:59 +0000 (13:32 +0100)]
[407/906] winCE backend: fix build
Julien Isorce [Sat, 21 Nov 2009 12:21:54 +0000 (13:21 +0100)]
[406/906] glimagesink: add a client-data property
Also add it to glfilterapp.
Fixes #559131
Julien Isorce [Tue, 17 Nov 2009 22:47:24 +0000 (23:47 +0100)]
[405/906] glfilter: add external-opengl-context property
It repairs the cluttershare and sdlshare example
Jan Schmidt [Tue, 17 Nov 2009 02:16:01 +0000 (02:16 +0000)]
[403/906] gstglmixer: Initialise the debug category
Initialise the gstglmixer debug category before using it.
Julien Isorce [Thu, 5 Nov 2009 13:53:35 +0000 (14:53 +0100)]
[400/906] gstgldisplay: no need the I420 work around if ATI Mobility
fix #588653
Julien Isorce [Wed, 4 Nov 2009 22:44:46 +0000 (23:44 +0100)]
[399/906] glmixer: fix when no more gl elements after it
For example:
videotestsrc ! glupload ! ... ! glfiter ! ... ! glmosaic ! fakesink
Usefull when using glmixer inside cluttershare or sdlshare cases.
Pratheesh Gangadhar [Tue, 27 Oct 2009 16:02:23 +0000 (17:02 +0100)]
[394/906] gstgldisplay: use of GL_DEPTH_COMPONENT16 if OpenGL ES 2.0
glRenderbufferStorage does not accept GL_DEPTH_COMPONENT in
OpenGL ES 2.0.
Fix bug #593786
Julien Isorce [Tue, 27 Oct 2009 14:27:14 +0000 (15:27 +0100)]
[393/906] glmosaic: for now it's a cube mosaic
Also use GPtrArray instead of GArray in glmixer.
And add a pipeline to tests/pieplines
Julien Isorce [Mon, 26 Oct 2009 10:44:35 +0000 (11:44 +0100)]
[391/906] Cocoa: fix backend since recent changes
Before, the window size was given at its creation. Now, it's done at
the drawing step because it's only relevant when there is a glimagesink
element in the pipeline.
Julien Isorce [Fri, 23 Oct 2009 18:52:32 +0000 (20:52 +0200)]
[389/906] fix codeblocks build on win32
Julien Isorce [Fri, 23 Oct 2009 08:52:39 +0000 (10:52 +0200)]
[388/906] just fix builds and indent
Julien Isorce [Thu, 22 Oct 2009 23:11:27 +0000 (01:11 +0200)]
[387/906] glmixer: add a glmixer base element
glmixer can be seen as a glfilter except it handles N requested
sink pads.
Each sink pad and the src pad are video/x-raw-gl.
glmixer is responsible for managing different framerates from inputs.
It uses OpenGL context sharing. It means that each input is in its
own OpenGL context shared together and shared with the OpenGL context
of the ouput gl chain.
Also add a glmosaic which is an example of implementation of glmixer.
For now glmosaic is a cube but it will be fixed in the next commits.
For now the glmixer has some weird behaviours in some configurations
but it will be improved in the next commits.
The autotools builds is temporarly broken since those changes
have been made on win32.
Julien Isorce [Sun, 4 Oct 2009 00:23:45 +0000 (02:23 +0200)]
[385/906] rewrite the way a gstgldisplay is transmited to the gl elements
Before, a gstgldisplay was instancied by the gl src in terms of gl chain.
And then the next element got it through the first gstglbuffer.
Now, this is done though queries.
All glelements get their ref on a gstgldisplay in READY state.
This rewrite is mainly a first step to be able to share OpenGL context hold
by the gstgldisplay using more complex glelements.
For example, with a glvideomixer. The associated gstgldisplay of each gl chain
of the sink pads will share their OpenGL context.
Stefan Kost [Fri, 16 Oct 2009 15:08:11 +0000 (18:08 +0300)]
[384/906] build: use <stdio.h> / "stdio.h"
Stefan Kost [Fri, 16 Oct 2009 14:29:08 +0000 (17:29 +0300)]
[383/906] build: include <stdio.h> when using printf & co.
Julien Isorce [Thu, 15 Oct 2009 13:40:11 +0000 (15:40 +0200)]
[382/906] ES2.0: remove warnings
Partially fix #593786
Julien Isorce [Thu, 15 Oct 2009 12:59:08 +0000 (14:59 +0200)]
[381/906] EGL and GLX:: set a minimum depth size
Julien Isorce [Sat, 19 Sep 2009 12:31:28 +0000 (14:31 +0200)]
[378/906] gldisplay: avoid to request gl thread when deleting a texture
A texture is not destroyed when when we are done with it.
This texture is just added to the texture pool in order to be
re-used. In this case no OpenGL code is executed so we do not need to
request gl thread.
Julien Isorce [Sat, 19 Sep 2009 12:16:25 +0000 (14:16 +0200)]
[377/906] gldisplay: avoid to request gl thread when generating a texture
Thanks to the texture pool the gl textures are re-used.
When re-using one, no opengl code is executed so do not need
to request gl thread.
Stefan Kost [Tue, 1 Sep 2009 12:21:39 +0000 (15:21 +0300)]
[376/906] build: support openGLES on linux via autofoo. Partialy fixes #593786
Add a pkg-config check for opengl and if not found assume opengl-es. If user has
none of both one still get build error later on (there is no pkg-config for
opengl-es).
Add more files to EXTRA dist and build the opengles variant if selected.
Simmilar changes could be done for the winCE backend.
Julien Isorce [Mon, 3 Aug 2009 15:52:31 +0000 (17:52 +0200)]
[369/906] define missing glew macro on older versions
Julien Isorce [Mon, 3 Aug 2009 08:13:02 +0000 (10:13 +0200)]
[368/906] Cocoa backend: fix crash when resizing
Default implementation of NSOpenglView::update is not safe because it
just calls update on the opengl context whereas we are not in the gl thread.
Also fix the white flickering when resizing, because now we need to call
the draw callback manually when resizing.
Julien Isorce [Mon, 27 Jul 2009 07:58:20 +0000 (09:58 +0200)]
[365/906] Cocoa backend: make sure that nsapp is initialized
gst-launch-0.10 videotestsrc ! tee name=t ! queue ! glimagesink t. ! queue ! glimagesink
now works properly on MacOSX
Julien Isorce [Fri, 24 Jul 2009 08:33:47 +0000 (10:33 +0200)]
[364/906] make the cmake build work on MacOSX
We can now generate a Xcode project (or Unix Makfiles),
see INSTALL file
Julien Isorce [Fri, 24 Jul 2009 08:12:07 +0000 (10:12 +0200)]
[363/906] Cocoa backend: fix crash when closing
- All gstglwindow members are now modified only in the gl thread
to avoid thread concurrency
- OpenGL context is now properly clean
- fix a couple of things in implementation of xoverlay interface
Julien Isorce [Fri, 17 Jul 2009 14:47:41 +0000 (16:47 +0200)]
[362/906] make cocoa backend work on MacOSX
It works with both gst-launch and a cocoa app (non-embedded and embedded)
But there is still some problems:
- sometimes crash when closing
- flickering when resizing
- embedded mode not perfect
I will first make the CMake build work with cocoa backend
in order to generate a XCode project.
Then it should be easier to fix those issues.
Jan Schmidt [Mon, 13 Jul 2009 11:53:17 +0000 (12:53 +0100)]
[358/906] gstgldisplay: Close a small race starting the display thread
Take the display lock before signalling the create-context cond
to ensure the caller has dropped the lock and is therefore listening
for the signal.
Jan Schmidt [Mon, 13 Jul 2009 11:52:31 +0000 (12:52 +0100)]
[357/906] x11: Don't crash when the X11 display is not available.
Error out cleanly instead of crashing when the X11 display can't
be contacted.
Jan Schmidt [Fri, 12 Jun 2009 10:33:02 +0000 (11:33 +0100)]
[352/906] fix typo
Change GST_GL_DISPLAY_PROJECTION_PERSPECIVE to
GST_GL_DISPLAY_PROJECTION_PERSPECTIVE.
Re-indent a couple of files that needed it.
Julien Isorce [Sun, 7 Jun 2009 18:19:03 +0000 (20:19 +0200)]
[350/906] fix window position when using xoverlay
x, y are the coordinates of the position inside
the new parent window.
Fixes #584877
Julien Isorce [Sat, 6 Jun 2009 12:34:57 +0000 (14:34 +0200)]
[349/906] can switch xoverlays while playing
Fixes bug #584877
Before this commit calling "gst_x_overlay_set_xwindow_id" more
than one time, had no effect.
It mainly affects the glimagesink implementation.
But on win32 (and CE), some stuff has to be done to
release the old parent.
And add a switchxoverlay example where the user
can click on left/right part of the main window to
switch the xoverlay.