summaryrefslogtreecommitdiff
path: root/clutter-gst
Commit message (Collapse)AuthorAgeFilesLines
* [videosink] Remove the use-shaders propertyDamien Lespiau2009-06-241-24/+0
| | | | | | | | | | This is an API change. This property had been unused for a couple of months. Basically the use of shaders depends on runtime detection. For those who still do not want to use the colorspacing shaders, you can use a capsfilter before the clutter sink to request RGB. See tests/test-rgb-upload.c for an example of doing just that.
* [misc] Pass on the c files headersDamien Lespiau2009-06-234-4/+6
| | | | | * Be sure to include licensing information * Update the Copyright assignment when needed
* [videosink] Disconnect signal handlers to avoid callbacks after finalizeOle André Vadla Ravnås2009-06-231-16/+43
| | | | | This would otherwise result in crashes when the actor lives longer than the sink.
* Fix gl symbol typedefs by using APIENTRYP preprocessor.Haakon Sporsheim2009-06-221-5/+5
|
* Use CGL_MAX_COMBINED_TEXTURE_IMAGE_UNITSDamien Lespiau2009-06-161-2/+12
| | | | Query the number of texture units one can use in a shader using COGL.
* Remove conditional compilation on CLUTTER_COGL_HAS_GLDamien Lespiau2009-06-141-19/+7
| | | | | | | | | | | We should not need this as the direction towards the video-sink would like to go is to detect the GL capabilities at run time. It's a good occasion to get rid of the direct glUniform1iARB() calls and use cogl_program_uniform_1i() instead. Another change has sneaked in this commit: GL_MAX_TEXTURE_UNITS_ARB was changed to GL_MAX_TEXTURE_UNITS as both GL and GL ES should have this define.
* The shaders headers could be either in $srcdir or $builddirDamien Lespiau2009-06-141-0/+1
| | | | | | | | | | | | | The headers with the ARB fp1.0 shaders are generated by the Cg compiler. However, it's quite common not to have that compiler (and automated build systems are quite unlikely able to have it) so we ship these generated headers in tarballs and commit them to the git repository. Now we want to be able to do out of tree builds with and without the Cg compiler. Including both $top_builddir/clutter-gst/shaders and $top_srcdir/clutter-gst/shaders (in that order) fix all the cases. This also fix make distcheck.
* Hide clutter_gst_find_renderer_by_format()Damien Lespiau2009-06-141-1/+1
| | | | | This function was never intended to be a public symbol, mark it static as it should have been done since its introduction.
* Introduce --enable-maintainer-cflagsDamien Lespiau2009-06-142-4/+4
| | | | | | Mimic Clutter with stricter warnings and the use of David Schleef's AS_COMPILER_FLAG macro. Fix a small shadow variable warning introducted by these flags.
* Fix automake warning on CLEANFILESDamien Lespiau2009-06-131-3/+3
| | | | CLEANFILES is already defined, append the needed files.
* Use the Cogl material API for multi-texturing rather than GL directlyNeil Roberts2009-06-051-55/+20
| | | | | | | | | | | | | | | | | | Instead of manually binding the higher layer textures when rendering a YUV image it now just sets the material layers. This is necessary now that Clutter stores the texture filter settings in the material rather than the Cogl texture. This meant that nothing was changing the GL filter settings from GL_LINEAR_MIPMAP so the texture lookups would fail. It should also avoid potential bugs if anything else in the scene is using multi-texturing because it won't conflict with Cogl's cache of which texture units are enabled. The test for the multi-texturing API has been removed and instead it just checks that the number of layers is at least 3. The API is available since OpenGL 1.2 and Clutter requires at it to run so it is not necessary to check.
* Removed mipmapping of yv12 component planes.Øyvind Kolås2009-06-051-9/+1
| | | | | The way this is done no longer works with clutter master. Also updated creation of timeline in example to newer API.
* Remove max_waste argumentEmmanuele Bassi2009-06-021-18/+14
| | | | | | | | | The cogl_texture_new* functions do not have the max_waste argument anymore; texture slicing can be disabled by using the: COGL_TEXTURE_NO_SLICING CoglTextureFlag.
* [videosink] Update to latest COGL API changeDamien Lespiau2009-05-131-10/+16
| | | | | No more COGL{int,uint,enum}, CGL_LINEAR replaced by COGL_TEXTURE_FILTER_LINEAR and CGL_FRAGMENT_SHADER by COGL_SHADER_TYPE_FRAGMENT.
* [videosink] Guard the assembly shaders with NULLDamien Lespiau2009-05-052-0/+2
| | | | | | | | The assembly shader arrays are supposed to be NULL-terminated arrays of pointers. My system was very kind and never crashed but this can't be expected in the wild where evil segfaults reign. Yes, this is embarassing.
* Supports building the library without pythonDamien Lespiau2009-04-284-6/+85
| | | | | | | | | | In some circumstances, one may want to build the library without having a python interpreter around (eg. fresh git checkouts in windows) or simply does not want to add python as a dependency to build clutter-gst (eg in an automated build environment). Let's just add the headers generated by pso2h.py in the repository and tweak the Makefile targets according to python detection.
* [videosink] Add a YV12 to RGBA fragment programDamien Lespiau2009-04-285-36/+177
| | | | | | This is pretty straightforward as I420 and YV12 are very close. I chose to have a separate fragment program (instead of say swapping the texture units and use the I420 fp). It debatable though.
* [videosink] Use COGL_TEXTURE_NONE where appriopriateDamien Lespiau2009-04-281-3/+3
| | | | | cogl_texture_new_from_date takes a CoglTextureFlags, let's just use this enum.
* [videosink] Add a I420 to RGBA fragment programDamien Lespiau2009-04-286-24/+296
| | | | | | | | | | | | | | | | Things are a bit convoluted: * we want to keep GLSL shaders (eg OpenGL ES 2.0 does not have the GL_ARB_fragment_program extension) * we want to default to assembly fragment programs as they will support as broader range of hardware Now, those fragment programs are written in Cg, compiled with the Cg compiler and its arbfp1 profile and then turned into a header file thanks to a small python script. Sounds fun isn't it? As people may not want to install the Cg compiler, let's commit the actual fragment program. The configure script will detect if you have cgc and add targets to build the pso file accordingly.
* [videosink] Refactor the choice of the rendererDamien Lespiau2009-04-281-14/+46
| | | | | Now, we can easily add two renders for the same video format on the basis first found, used.
* [videosink] Build caps dynamicallyDamien Lespiau2009-04-281-58/+97
| | | | | | | Caps are now built at runtime, after having discovered what the underlying openGL features. use_shaders was used in get_caps() to switch between RGB and YUV caps. We now just advertise what we are able to do.
* [videosink] Port RGB32 and AYUV to ClutterGstRendererDamien Lespiau2009-04-281-12/+78
|
* [videosink] Port RGB24 to ClutterGstRendererDamien Lespiau2009-04-281-10/+43
|
* [videosink] Use GST_MAKE_FOURCC instead of GST_RIFF_YV12Damien Lespiau2009-04-281-1/+1
| | | | | Just to be coherent (and let's not use anything related to a Microsoft format in a clutter sink).
* [videosink] Introduce ClutterGstRendererDamien Lespiau2009-04-281-156/+244
| | | | | | | | | | This structure is meant to abstract the work we have to do to actually paint a frame. This way we can provide several backends to render the same frame format (eg. between GLSL shaders or ARB fp1.0 fragment programs) or build the caps of the GStreamer sink at run time after having probed the GL implementation. I420 and YV12 have been converted to work with this new abstraction.
* [videosink] Enable the use of shaders by defaultDamien Lespiau2009-04-281-1/+2
|
* [videosink] Rename the use_shader property to use-shaderDamien Lespiau2009-04-281-2/+2
| | | | | | | This does not change the API as properties' names are canonicalized. From GOject's manual: parameter names need to start with a letter (a-z or A-Z). Subsequent characters can be letters, numbers or a '-'. All other characters are replaced by a '-' during construction.
* Use a GMutex + variable instead of an async queueØyvind Kolås2009-04-201-23/+57
| | | | | | | | | Removes a race condition where an idle handler could still be called after the video sink instance had been destoroyed. As a side effect, we don't queue buffers anymore but discard the incoming buffer if one is already queued for drawing. Fixes: #1439, #1336
* Add support for the I420 colorspaceDamien Lespiau2009-04-081-7/+28
| | | | | We already have a YV12 shader, I420 is just about swapping the two chroma planes.
* Remove DOS' end of linesDamien Lespiau2009-04-071-3/+3
|
* Use clutter-project.org as origin in the plugin's metadataDamien Lespiau2009-03-281-1/+1
|
* Protect config.h inclusion with #ifdef HAVE_CONFIG_HDamien Lespiau2009-03-282-0/+4
|
* [gitignore] Add .gitignore filesDamien Lespiau2009-03-261-0/+1
|
* Update for upstream change in ClutterMediaEmmanuele Bassi2009-02-242-11/+10
| | | | | | The :duration property is now stored using a double in order to provide fractions of a second. The semantics haven't changed: just the amount of precision.
* Update Clutter-Gst to the new Core APIEmmanuele Bassi2009-01-212-655/+471
| | | | | | | | | | | | | The ClutterMedia interface has been changed to fix bug 1404 and bug 1403. As of commit 5a4f9c50 on clutter-core, the implementations of ClutterMedia must only override the GObject properties defined by the interface. This commit also updates the examples to the API changes in Clutter core, especially the ClutterText actor superceding the ClutterLabel used in the audio and video-player examples. The video-player example has also been changed to use the new Implicit Animations API.
* 2008-10-31 Emmanuele Bassi <ebassi@linux.intel.com>Emmanuele Bassi2008-10-313-3/+2
| | | | | | | | | | | * configure.ac: * Makefile.am: * clutter-gst/Makefile.am: Bump to 0.9 and require Clutter from trunk. * clutter-gst/clutter-gst-video-sink.c: * clutter-gst/clutter-gst-util.c: Include <clutter/clutter.h> and not sub-headers, now that we can't.
* Bug 1218 - Volume control range is wrongRusty Lynch2008-10-302-8/+18
| | | | | | * The ClutterMedia interface defines volume control to be get/set using a value ranging from 0.0 - 1.0. This commit fixes a broken behaviour of 0.0 - 10.0
* 2008-07-24 Emmanuele Bassi <ebassi@openedhand.com>Emmanuele Bassi2008-07-241-4/+6
| | | | | * clutter-gst/Makefile.am: Do not install the private clutter-gst-shaders.h header.
* Bug #1050 - glActiveTexture usage in clutter-gst-video-sinkChris Lord2008-07-211-6/+13
| | | | | | | | * clutter-gst/clutter-gst-video-sink.c (clutter_gst_video_sink_init), (clutter_gst_yv12_paint), (clutter_gst_yv12_post_paint): Use cogl_get_proc_address to retrieve glActiveTexture function. Fixes building on platforms with old OpenGL headers.
* * clutter-gst/clutter-gst-video-sink.c:Chris Lord2008-07-171-5/+5
| | | | | (clutter_gst_video_sink_idle_func): s/CoglHandle */CoglHandle/ typos
* * clutter-gst/clutter-gst-video-sink.c:Chris Lord2008-07-171-3/+12
| | | | | (clutter_gst_video_sink_init), (clutter_gst_video_sink_idle_func): Use cogl_get_proc_address to get the glUniform1iARB function pointer
* * AUTHORS:Chris Lord2008-07-172-4/+10
| | | | | | | | | | | | | | | | * NEWS: * README: Update for release * Makefile.am: * clutter-gst.pc.in: * clutter-gst/Makefile.am: * configure.ac: Update version to 0.8 * clutter-gst/clutter-gst-video-sink.c: (clutter_gst_video_sink_set_property): Notify on change of use_shaders property
* * clutter-gst/clutter-gst-video-sink.cChris Lord2008-07-161-0/+1
| | | | | (clutter_gst_video_sink_set_caps): Don't forget to reset bgr flag when using the AYUV shader
* * clutter-gst/clutter-gst-video-sink.cChris Lord2008-07-161-0/+2
| | | | | (clutter_gst_video_sink_idle_func): Don't forget to wrap YV12 shader bits with CLUTTER_COGL_HAS_GL
* * clutter-gst/clutter-gst-shaders.h:Chris Lord2008-07-162-162/+337
| | | | | | | | | | | | | | | | | | | | | | | | | Remove unneeded bits * clutter-gst/clutter-gst-video-sink.c (clutter_gst_video_sink_base_init), (clutter_gst_video_sink_paint), (clutter_gst_yv12_paint), (clutter_gst_yv12_post_paint), (clutter_gst_video_sink_set_shader), (clutter_gst_video_sink_idle_func), (clutter_gst_video_sink_render), (clutter_gst_video_sink_get_caps), (clutter_gst_video_sink_set_caps), (clutter_gst_video_sink_dispose), (clutter_gst_video_sink_set_property), (clutter_gst_video_sink_get_property), (clutter_gst_video_sink_class_init): Improve shader support, add multi-texturing YV12 acceleration, add use_shader property (default FALSE), improve shaders, add support for 24-bit RGB/BGR textures * configure.ac: Update for clutter 0.8 * examples/video-player.c (main): Enable shader use
* * clutter-gst/Makefile.am:Chris Lord2008-07-043-63/+295
| | | | | | | | | | | * clutter-gst/clutter-gst-shaders.h: Add some shader setup defines, taken from clutter test-shaders * clutter-gst/clutter-gst-video-sink.c (clutter_gst_video_sink_base_init), (clutter_gst_video_sink_idle_func), (clutter_gst_video_sink_set_caps): Add shaders to decode YUV and YV12 data. YV12 is disabled by default
* 2008-06-23 Emmanuele Bassi <ebassi@openedhand.com>Emmanuele Bassi2008-06-232-2/+1
| | | | | | | | | | | | | | | | | Bug 978 - Inclusion of <gdk-pixbuf/gdk-pixbuf.h> in clutter-gst-video-texture.h * Makefile.am: * clutter-gst/Makefile.am: Substitute 0.6 with 0.7. * clutter-gst/clutter-gst-video-texture.h: Remove inclusion of gdk-pixbuf.h: Clutter-GST does not depend on GdkPixbuf. (978, Haakon Sporsheim) * examples/video-player.c: (input_cb): Use clutter_actor_get_transformed_position(). (main): Remove unused GdkPixbuf variable.
* 2008-04-25 Matthew Allum <mallum@openedhand.com>Matthew Allum2008-04-251-1/+1
| | | | | * clutter-gst/clutter-gst-video-texture.c: Use new 'disable-slicing' prop on video texture.
* 2008-04-25 Emmanuele Bassi <ebassi@openedhand.com>Emmanuele Bassi2008-04-251-1/+1
| | | | | | | | | | | | * configure.ac: Depend on clutter-0.7. * clutter-gst/clutter-gst-video-texture.c: (clutter_gst_video_texture_new): Use :disable-slicing instead of the :tiled property. * examples/video-player.c: (control_tl_cb), (show_controls), (input_cb), (main): Update for upstream API changes.
* * doc/reference/clutter-gst-sections.txt:Chris Lord2008-03-122-2/+21
| | | | | * clutter-gst/clutter-gst-audio.[ch]: Add clutter_gst_audio_get_playbin ()