Hi; Emmanuele's mostly covered - just some little additions from me.
On Sun, 2008-04-13 at 10:43 +0200, Dirk Meyer wrote: > > We (the Freevo Project) are searching for a new GUI lib to give the > new Freevo 2.0 some eye candy. Clutter looks very good and may be our > new GUI backend. Excellent :) > First of all, the animation flicker sometimes. It look like the do not > use sync to vblank. How do I enable it? I looked around and found > clutter.feature_available(clutter.FEATURE_SYNC_TO_VBLANK) which > returns True. How do I set a feature? Clutter trys pretty hard to sync to vblank always if it can (attempting various techniques). Unfortunately it seems some drivers report they can do it, but then actually dont. Id be interested if on the same hardware you have vblank syncing working with another piece of (ideally GL based) software and what driver +versions your using ? > > Now some fancy stuff we will need. You support gstreamer as video > player inside clutter. We also want to support mplayer and xine. In > xine we created our own video driver that writes to shared memory (it > is a different process). If I understand it correctly we need to copy > the content of each frame into a clutter.Texture() object. That will > be done in C, ignore my Python example here. Can I lock the texture > somehow when copying a new image it it? You just need to make sure you only upload to textures in the main Clutter (and therfor) GL thread. As Emmanuele mentioned, check what clutter-gst has to do. > Or is threads_enter enough? Is > there anything else I have to do? What format does a Texture support? > Only ARGB? There is some very rough support for uploading YUV - though I suspect it could just push the conversion down into Mesa (still in software) on most cards. For really fast video playback (though only on heavily featured cards) see http://yuvtools.wiki.sourceforge.net/ - which uses multitexturing + shaders etc to process and display YUV data. The techniques there could be integrated into Clutter without too much pain assuming you only intended it to work on GL (and not GL ES, i.e sidestepping COGL). > Including mplayer is a bit more tricky. IMHO the best > option is to use XComposite? Has anyone ever tried including a > XComposite as clutter Texture? Assuming you can get some kind of X Drawable ID out of mplayer before it maps then its likely possible to redirect its output via XComposite/Damage etc and then to a texture. clutter_glx_texture_pixmap (in trunk) should soon make this kind of thing very easy todo. See http://bugzilla.openedhand.com/show_bug.cgi?id=873 Id makes no guarantees about performance with this kind of technique, and if you want to still handle things like key events in mplayer you'd likely have to proxy them through Clutter. AFAIK mplayer does not offer up a lib for embedding playback ? Many thanks; == Matthew -- To unsubscribe send a mail to [EMAIL PROTECTED]
