|
|
Subscribe / Log in / New account

GTK++, stability, and the uncluttered future

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 22:26 UTC (Thu) by tpm (subscriber, #56271)
In reply to: GTK++, stability, and the uncluttered future by ebassi
Parent article: GTK++, stability, and the uncluttered future

Most of the awkwardness of putting a video on screen is gone in GStreamer 1.0. You can now simply set the window handle/id on playbin, and it will proxy it to the video sink later. That's about 3 lines of code for a Gtk widget. I don't think that qualifies as "frickin' hard". In the old 0.10 days you had to do complicated things in a synchronous bus handler called from another thread etc., that's no longer required.

We certainly need nicer high-level API for playback, especially for Gtk+ users. A full-featured GtkVideoWidget with some nice API to control it would be great, whether in Gtk+ or elsewhere. Even the Qt folks have something already.

But all that is a different discussion really and not related to your claims why Totem switched to Clutter, since Totem doesn't even use any of clutter-gst's convenience API, it only uses the sink for output and still controls playbin directly. The savings in terms of lines of code were minimal (+282-856, 9ef416ce) btw, not least because it then had to copy'n'paste in a new widget (+498) to restore proper aspect ratio functionality "until we get a solution for this directly in ClutterGst" (f782e2e1).

Not that I think there's anything wrong with using Clutter, it's just that Totem didn't switch to it for the reasons you claim. It's simply the most sensible option for video rendering in a GNOME3 context given Gtk-3's massive lack in this area, which is hardly GStreamer's fault, and mostly a symptom of the Linux graphics stack having been in flux for the last few years.

In any case, I'm looking forward to your work on all this inside Gtk+.


to post comments


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds