GNOME Bugzilla – Bug 682502
Get rid of ClutterTexture/ClutterMedia deprecated clutter APIs
Last modified: 2013-03-26 11:01:52 UTC
Here is a series of patches to make clutter-gst upstream/master not depend on ClutterTexture/ClutterMedia deprecated clutter APIs. The changes include: - A new ClutterGstActor (inheriting ClutterActor) - This actor is the new base class for all ClutterGst actors and is responsible for painting a given CoglTexture/Material and also allows setting a idle material, to be used when no content is being displayed by the actor (the actor is in idle state) - Removal of ClutterGstVideoTexture and all ClutterTexture usage - Addition of ClutterGstVideoActor, inheriting ClutterGstActor and replacing ClutterGstVideoTexture - cluttersink changes to require a ClutterGstActor instead of ClutterTexture - cluttersink changes to use specific shaders based on the current renderer driver (GL/GLES2) - Merge of ClutterMedia into ClutterGstPlayer and removal of ClutterMedia dependency - Port of examples/tests to the new architecture - Few missing gstreamer 1.0 ports These are the base changes needed for the work I am doing to include a new ClutterGstCameraActor that will come as soon as camerabin is ported to gstreamer 1.0.
And the branch can be found at http://cgit.collabora.com/git/user/andrunko/clutter-gst.git/log/?h=base
Very slowing going forward on this one with the easy bit. Applied: commit 48d8abac8cf1d5bf7ad74e8795a2b844e117e587 Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk> Date: Wed Aug 22 12:05:32 2012 -0300 video-sink* examples: Port to gstreamer 1.0. to master.
A small comment on the general flow of the series: It starts by removing ClutterGstVideoTexture, disabling tests and then adding the new class and re-enabling the tests. Starting by adding the new solution and then removing the old one would lead to slightly less churn. (that's a detail I can fix quickly at the end, so don't bother if you don't have time)
Another general comment on the series is that autocluttersink is left out of the new API and would need to be updated to support the same interface as ClutterSink (ie to not take a ClutterTexture but a ClutterGstActor)
(In reply to comment #4) > Another general comment on the series is that autocluttersink is left out of > the new API and would need to be updated to support the same interface as > ClutterSink (ie to not take a ClutterTexture but a ClutterGstActor) Hi Damien, tnx for the initial review. I pushed -f the change to autocluttersink also (included in the "Do not use deprecated ClutterTexture" patch now) and rebased the other branches on top of it (bug #682503, bug #683990 and bug #685057).
Done on master. Thanks.