After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 682502 - Get rid of ClutterTexture/ClutterMedia deprecated clutter APIs
Get rid of ClutterTexture/ClutterMedia deprecated clutter APIs
Status: RESOLVED FIXED
Product: clutter-gst
Classification: Other
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: clutter-gst-maint
clutter-gst-maint
Depends on:
Blocks: 682503 683990 685057
 
 
Reported: 2012-08-22 20:25 UTC by Andre Moreira Magalhaes
Modified: 2013-03-26 11:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Andre Moreira Magalhaes 2012-08-22 20:25:56 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.
Comment 1 Andre Moreira Magalhaes 2012-08-22 20:26:32 UTC
And the branch can be found at http://cgit.collabora.com/git/user/andrunko/clutter-gst.git/log/?h=base
Comment 2 Damien Lespiau 2012-09-25 21:44:45 UTC
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.
Comment 3 Damien Lespiau 2012-09-25 21:47:47 UTC
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)
Comment 4 Damien Lespiau 2012-09-25 22:05:12 UTC
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)
Comment 5 Andre Moreira Magalhaes 2012-09-28 16:45:24 UTC
(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).
Comment 6 Lionel Landwerlin 2013-03-26 11:01:52 UTC
Done on master. Thanks.