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
Julien Isorce [Tue, 17 Nov 2009 21:54:39 +0000 (22:54 +0100)]
[404/906] glupload: repair external_opengl_context property
qglwtextureshare now works again. In this example,
the pipeline is src ! glupload ! fakesink.
So in this case the glupload element is a sink in
terms of gl chain.
But the problem is still there if the pipeline is
src ! glupload ! glfilter ! fakesink
(it's the case in sdlshare and cluttershare examples)
because since recent changes about how the gstgldisplay
is transmitted to the gl element, the context is usually
created by the sink in terms of gl chain.
A solution would be to also install this property on glfilter.
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 [Tue, 17 Nov 2009 00:08:09 +0000 (01:08 +0100)]
[402/906] gloverlay: fix some warnings
Anthony Violo [Mon, 16 Nov 2009 13:32:16 +0000 (14:32 +0100)]
[401/906] gloverlay: Added rotate texture
fix #601277
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.
Julien Isorce [Wed, 4 Nov 2009 22:12:42 +0000 (23:12 +0100)]
[398/906] gldownload: do not forgot to create the gl context
fix #600630
Julien Isorce [Wed, 4 Nov 2009 22:11:54 +0000 (23:11 +0100)]
[397/906] glmosaic: fix a comparison warning
Julien Isorce [Wed, 4 Nov 2009 22:10:16 +0000 (23:10 +0100)]
[396/906] gldifferencematte: fix some warnings from vc9
Filippo Argiolas [Wed, 28 Oct 2009 09:41:53 +0000 (10:41 +0100)]
[395/906] differencematte: fix regressions from gdkpixbuf to libpng migration
The background image needs to be scaled to fit current texture size.
Previously this was done by gdk_pixbuf_scale_simple but that's been
removed.
Create a texture from the background pixbuf with correct dimensions and
use interpolation shader to scale it to the right size. Interpolation
fragment shader doesn't have too much sense if all the textures don't
have the same size so this seemed the most natural place to do the
scaling. It could probably be done with some custom texture mapping
outside the shader but it involved more code.
Fixes bug #599883.
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 [Tue, 27 Oct 2009 10:14:38 +0000 (11:14 +0100)]
[392/906] glmosaic: desactivate shader when done
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:53:32 +0000 (20:53 +0200)]
[390/906] remove warnings from vs9
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 [Thu, 22 Oct 2009 23:07:29 +0000 (01:07 +0200)]
[386/906] pixbufdrop: fix example 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
Anthony Violo [Mon, 21 Sep 2009 13:00:02 +0000 (15:00 +0200)]
[380/906] gloverlay: can put video over png images
Fix bug #595303
Anthony Violo [Mon, 21 Sep 2009 08:51:47 +0000 (10:51 +0200)]
[379/906] gloverlay: add support to use RGB png images
Previously restricted to RGBA, now gloverlay can also handle a RGB image.
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.
Anthony Violo [Wed, 2 Sep 2009 08:06:36 +0000 (10:06 +0200)]
[375/906] gloverlay: can control image size and position
Fix bug #591591
Julien Isorce [Tue, 1 Sep 2009 17:46:10 +0000 (19:46 +0200)]
[374/906] sdlshare example: fix build on win32
Julien Isorce [Mon, 31 Aug 2009 15:26:34 +0000 (17:26 +0200)]
[373/906] sdlshare example: review includes order and fix closure
Miquel Àngel Farré [Mon, 31 Aug 2009 15:18:01 +0000 (17:18 +0200)]
[372/906] make sdlshare example work on linux. Fix bug #593486
Julien Isorce [Wed, 26 Aug 2009 21:43:37 +0000 (23:43 +0200)]
[371/906] tests: add sdlshare example
It shows how to use gl textures that come
from gst gl elements inside a SDL OpenGL scene
Christian Schaller [Mon, 17 Aug 2009 14:48:09 +0000 (15:48 +0100)]
[370/906] Add missing header file to Makefile.am and update spec file to actually be for this package
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.
Stefan Kost [Fri, 31 Jul 2009 15:17:55 +0000 (18:17 +0300)]
[367/906] docs: fix GstXvImageSInk -> GstGLImageSink and reindent
Tim-Philipp Müller [Wed, 29 Jul 2009 23:36:30 +0000 (00:36 +0100)]
[366/906] docs: make remaining elements show up in docs
Split out declarations into header files and hook everything up so
that five more elements show up in the plugin docs. Fixes #559135.
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.
Filippo Argiolas [Tue, 14 Jul 2009 18:36:13 +0000 (20:36 +0200)]
[361/906] gstgtk: add missing license and copyright information
Filippo Argiolas [Tue, 14 Jul 2009 18:25:28 +0000 (20:25 +0200)]
[360/906] examples: add missing copyright/license to my examples
Sebastian Dröge [Mon, 13 Jul 2009 14:32:00 +0000 (16:32 +0200)]
[359/906] gl: Link with -lm and fix indention
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 [Mon, 13 Jul 2009 11:08:11 +0000 (12:08 +0100)]
[356/906] build: Fix typo: gstglbumber.h -> gstglbumper.h
Julien Isorce [Thu, 25 Jun 2009 19:32:38 +0000 (21:32 +0200)]
[355/906] same motion compensation
Julien Isorce [Wed, 24 Jun 2009 23:30:44 +0000 (01:30 +0200)]
[354/906] fix and add gldeinterlace filter to the builds
julien [Wed, 24 Jun 2009 15:58:35 +0000 (17:58 +0200)]
[353/906] add a gldeinterlace filter
Greedyh operation implemented using OpenGL Shading Language.
We could add other operations later.
Does some good results but still not as expected.
That's why I do not add it yet to the build.
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 [Tue, 9 Jun 2009 18:35:26 +0000 (20:35 +0200)]
[351/906] allow to switch xoverlay while being in paused state
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.
LRN [Thu, 4 Jun 2009 07:50:52 +0000 (09:50 +0200)]
[348/906] Add gstvideo to glimagesink LIBADD. Fixes bug #584680
LRN [Wed, 3 Jun 2009 22:27:44 +0000 (00:27 +0200)]
[347/906] fix miscast of a pointer in SetWindowLongPtr
GCC 4.4.0 complains error: cast from pointer to integer of different size
Fixes #584678.
Sebastian Dröge [Tue, 12 May 2009 09:41:19 +0000 (11:41 +0200)]
[346/906] Fix linking by providing libtool the correct --tag parameter
julien [Mon, 11 May 2009 16:06:18 +0000 (18:06 +0200)]
[345/906] change rotation center in cluttershare example
Julien Isorce [Sat, 9 May 2009 19:30:30 +0000 (21:30 +0200)]
[344/906] Use a more complex gst gl pipeline in the cluttershare example
Julien Isorce [Sat, 9 May 2009 19:26:42 +0000 (21:26 +0200)]
[343/906] Add a signal watch bus callback to check gst messages
Julien Isorce [Sat, 9 May 2009 18:51:36 +0000 (20:51 +0200)]
[342/906] Fix texture actor update due to a too strong thread locking.
On linux, the GSource func attached to the clutter_threads_add_idle
was not getting the cpu ressource periodically.
Because the use of clutter_threads_enter/leave inside the fakesink
callback seems to be too strong.
So remove the use if clutter_threads_enter/leave in the fakesink callback.
Then replace GQueue by GAsyncQueue to keep thread safe access to the
communication queues between clutter and gst-gl.
Call clutter_threads_add_idle with high priority.
Julien Isorce [Sat, 9 May 2009 13:44:09 +0000 (15:44 +0200)]
[341/906] Properly clean up pending gst gl buffers in cluttershare example
Julien Isorce [Fri, 8 May 2009 19:43:56 +0000 (21:43 +0200)]
[340/906] Fix cluttershare example.
It requires at least clutter 0.8.6 since lower clutter versions are
not compatible with GL_TEXTURE_RECTANGLE_ARB.
Remove use of ClutterEffectTemplace since it does not exist in
clutter 0.9.
Sebastian Dröge [Mon, 4 May 2009 09:24:30 +0000 (11:24 +0200)]
[339/906] Cast to a GstBuffer* before passing to gst_buffer_unref to fix compiler warning
Julien Isorce [Sat, 2 May 2009 12:27:23 +0000 (14:27 +0200)]
[338/906] Use GQueue in the cluttershare example
Julien Isorce [Thu, 30 Apr 2009 21:40:38 +0000 (23:40 +0200)]
[337/906] Improve cluttershare example
Use clutter_threads_API.
When just using glupload from rgb, we have to be sure that
the upload texture is not in use in our gst gl context.
Julien Isorce [Mon, 20 Apr 2009 22:17:54 +0000 (18:17 -0400)]
[336/906] [x11/x11ES] fix some pointer cast warnings
Julien Isorce [Mon, 20 Apr 2009 21:55:51 +0000 (23:55 +0200)]
[335/906] [cocoa] update since interface changed
Julien Isorce [Mon, 20 Apr 2009 21:48:15 +0000 (23:48 +0200)]
[334/906] [win32/winCE] fix some pointer cast warnings with mingw
And turn off deprecated Wp64 msvc compiler option.
Julien Isorce [Sun, 19 Apr 2009 22:52:41 +0000 (00:52 +0200)]
[333/906] add force-aspect-ratio support
Julien Isorce [Sat, 18 Apr 2009 14:08:23 +0000 (16:08 +0200)]
[332/906] just gst-indent and C90 on cluttershare example
Julien Isorce [Sat, 18 Apr 2009 12:40:51 +0000 (08:40 -0400)]
[331/906] indent and fix some compiler warnings
Julien Isorce [Sat, 18 Apr 2009 11:57:44 +0000 (13:57 +0200)]
[330/906] Can now share textures with an external gl context
The external opengl context must be specify when creating
our OpenGL context (glx) or just after (wgl).
When calling glXCreateContext or wglShareLists, the
external opengl context must not be current.
Then our gl context can be current in the gl thread while
the external gl context is current in an other thread.
See tests/examples/clutter/cluttershare.c
David Schleef [Mon, 13 Apr 2009 05:24:06 +0000 (22:24 -0700)]
[329/906] Build for Cocoa on darwin, with various fixes
David Schleef [Mon, 13 Apr 2009 03:03:30 +0000 (20:03 -0700)]
[328/906] Convert gtk examples to use helper library
Helper lib implements gst-gtk glue on all platforms
Julien [Fri, 10 Apr 2009 18:42:59 +0000 (20:42 +0200)]
[327/906] fix init FBO's texture attachment on ES 2.0
Julien [Fri, 10 Apr 2009 18:30:46 +0000 (20:30 +0200)]
[326/906] add X backend for OpenGL ES 2.0
Filippo Argiolas [Sun, 29 Mar 2009 15:40:16 +0000 (15:40 +0000)]
[325/906] Restore glimagesink instead of ximagesink
Partially revert previous commit. It's not an issue with glimagesink
Xoverlay interface. It's always the same intel bug with direct
rendering redirection (the one that affects each opengl application
with compositing managers). It works fine with DRI2 and UXA
acceleration. Still leaving effects disabled because I'm testing intel
hardware that doesn't support FBOs.
Filippo Argiolas [Sun, 29 Mar 2009 09:01:55 +0000 (09:01 +0000)]
[324/906] Temporary disable glimagesink in clutteractortee
GLimagesink XOverlay interface doesn't seem to work with composite
redirection on intel (and I believe ati too). Windows aren't
redirected offscreen at all. This commit just shows that the example
correcty works with ximagesink. The most evident difference I see is
that glimagesink reparents the xoverlay window into its own while both
x and xvimagesink destroy their window and render directly to the
xoverlay one.
Filippo Argiolas [Sun, 29 Mar 2009 08:51:16 +0000 (08:51 +0000)]
[323/906] Remove redundant XMoveWindow call
Revert the "move windows" thing from commit
175f7a707bc922f3facc63e7d9b6d01f9bb6b1b0
Windows are offscreen who cares about their position? If you see the
windows something is going wrong with composite redirection.
Julien Isorce [Wed, 18 Mar 2009 21:46:56 +0000 (22:46 +0100)]
[322/906] [download YUY2/UYVY] fix a regression
The call to glLoadIdentity was removed by mistake during
OpenGL ES 2.0 integration.
Julien Isorce [Sun, 15 Mar 2009 13:48:19 +0000 (14:48 +0100)]
[321/906] add OpenGL ES 2.x support.
In OpenGL 2.x for Embedded System, a lot of basic scene/draw functions
have been removed. It means that everything is made using vertex and
fragment shaders.
I have also added a gstglwindow backend for winCE that uses EGL
(Native Platform Graphics Intercace) (which is a full part of
OpenGL ES specification). It remove the use of wgl/glx functions.
Julien Isorce [Sat, 7 Mar 2009 02:13:38 +0000 (03:13 +0100)]
[320/906] fix position and content rect
Julien Isorce [Fri, 6 Mar 2009 21:43:41 +0000 (22:43 +0100)]
[319/906] [win32 backend] fix transmition message to the parent.
The Qt mouvexoverlay example shows how to rotate the cube
by moving (+click) the mouve over a qwidget using xoverlay
interface.
Julien Isorce [Thu, 26 Feb 2009 22:45:21 +0000 (17:45 -0500)]
[318/906] rename GNUmakefile(s) to GNUmakefile(s).gnustep
Julien Isorce [Thu, 26 Feb 2009 00:06:58 +0000 (01:06 +0100)]
[317/906] implement gstglwindow for Cocoa (MacOS and GNUstep)
Julien Isorce [Tue, 24 Feb 2009 23:39:48 +0000 (00:39 +0100)]
[316/906] remove some unused HAVE_LIBPNG: libpng is a required package
Julien Isorce [Tue, 24 Feb 2009 23:12:12 +0000 (00:12 +0100)]
[315/906] add GNUstep build
David Schleef [Mon, 23 Feb 2009 19:07:22 +0000 (11:07 -0800)]
[314/906] Add srcdir to includes for out-of-source builds
When you use gstreamer uninstalled and build outside
the source tree, the includes need to be specified for
both the source tree and the build tree.
Stefan Kost [Mon, 23 Feb 2009 11:39:29 +0000 (13:39 +0200)]
[313/906] indent: don't use tabs inside property descriptions
Stefan Kost [Mon, 23 Feb 2009 11:35:48 +0000 (13:35 +0200)]
[312/906] build: include stdlib.h when using free().
Sebastian Dröge [Sun, 22 Feb 2009 18:36:40 +0000 (19:36 +0100)]
[311/906] Cast GstBuffer subclasses to GstBuffer * before passing to gst_buffer_unref()
David Schleef [Wed, 11 Feb 2009 06:39:14 +0000 (22:39 -0800)]
[310/906] Global reindent
Indent parameters:
INDENT_PARAMETERS="--braces-on-if-line \
--case-brace-indentation0 \
--case-indentation2 \
--braces-after-struct-decl-line \
--line-length80 \
--no-tabs \
--cuddle-else \
--dont-line-up-parentheses \
--honour-newlines \
--continuation-indentation4 \
--tab-size8 \
--indent-level2"
Sebastian Dröge [Tue, 3 Feb 2009 17:58:00 +0000 (18:58 +0100)]
[309/906] Replay: Fix callbacks passed over XEvents on 64 bit architectures
Althought the XEvent's xclient.data.l array is an array of
longs they will be constrained to 32 bit by the X11 protocol.
On 64 bit architectures use two elements of the array to store
one pointer.
This fixes segfaults that happen at least for every example
on startup.
David Schleef [Thu, 5 Feb 2009 21:13:51 +0000 (13:13 -0800)]
[308/906] Rename glpixbufoverlay to gloverlay
David Schleef [Thu, 5 Feb 2009 00:57:14 +0000 (16:57 -0800)]
[307/906] Remove conditionals on gdkpixbuf