GNOME Bugzilla – Bug 646364
backend: Use clutter-gst to draw video
Last modified: 2011-04-04 16:28:10 UTC
Very rough first pass. Problems are: - Warnings on startup: (lt-totem:15194): Clutter-CRITICAL **: clutter_paint_volume_set_width: assertion `width >= 0.0f' failed (lt-totem:15194): Clutter-CRITICAL **: clutter_paint_volume_set_height: assertion `height >= 0.0f' failed - Don't have any logo drawing (use a separate actor and change the stacking order?) - Zooming/cropping used a hacks on GdkWindows, do we have a better way to do this? - We also lost contrast and co., we should be able to get this back by adding a videobalance element (or should playbin2 do that for us?) - No navigation interface (DVD menus) - Window resizing generates warnings: Gtk-WARNING **: Toplevel size doesn't seem to directly depend on the size of the geometry widget from gtk_window_set_geometry_hints(). The geometry widget might not be in the window, or it might not be packed into the window appropriately Probably other things I'm forgetting.
Created attachment 184807 [details] [review] backend: Use clutter-gst to draw video This allows use to draw arbitrary actors on top of the video widget, while having them resize and move with the video widget.
Created attachment 184850 [details] [review] backend: Use clutter-gst to draw video This allows use to draw arbitrary actors on top of the video widget, while having them resize and move with the video widget.
- Warnings on startup: (lt-totem:15194): Clutter-CRITICAL **: clutter_paint_volume_set_width: assertion `width >= 0.0f' failed (lt-totem:15194): Clutter-CRITICAL **: clutter_paint_volume_set_height: assertion `height >= 0.0f' failed Would be fixed with http://fpaste.org/zTsB/ or http://fpaste.org/SnAh/ (from ebassi) We'd need to remove the calls to clutter_actor_set_size() on the video texture. - Zooming/cropping used a hacks on GdkWindows, do we have a better way to do this? We'd use the simpler "expand" property of the MxAspectFrame. See also http://bugzilla.clutter-project.org/show_bug.cgi?id=2307 - We also lost contrast and co., we should be able to get this back by adding a videobalance element (or should playbin2 do that for us?) Done. - No navigation interface (DVD menus) Implementation needed in clutter-gst: http://bugzilla.clutter-project.org/show_bug.cgi?id=2624 - Found that the pixel-aspect-ratio of the _display_ is currently ignored (I think). The MxAspectFrame requires http://bugzilla.clutter-project.org/show_bug.cgi?id=2617
(In reply to comment #3) > - Warnings on startup: > (lt-totem:15194): Clutter-CRITICAL **: clutter_paint_volume_set_width: > assertion `width >= 0.0f' failed > (lt-totem:15194): Clutter-CRITICAL **: clutter_paint_volume_set_height: > assertion `height >= 0.0f' failed > > Would be fixed with http://fpaste.org/zTsB/ or http://fpaste.org/SnAh/ (from > ebassi) Fixed in clutter master and 1.6 branch. > We'd need to remove the calls to clutter_actor_set_size() on the video texture. We actually need the one in bvw_handle_application_message(), so get_media_size() can apply the display PAR (which clutter has no idea about). > - Zooming/cropping used a hacks on GdkWindows, do we have a better way to do > this? > > We'd use the simpler "expand" property of the MxAspectFrame. > See also http://bugzilla.clutter-project.org/show_bug.cgi?id=2307 Done.
Created attachment 184972 [details] [review] backend: Use clutter-gst to draw video This allows use to draw arbitrary actors on top of the video widget, while having them resize and move with the video widget. Major changes include: * Implement simpler zoom (crop or none) * Remove width/height parameters to bvw_new() * Colour balance through videobalance * Simplified interface checking, and no-locking
Handles the display PAR within the widget itself now.
Created attachment 185003 [details] [review] backend: Use clutter-gst to draw video This allows use to draw arbitrary actors on top of the video widget, while having them resize and move with the video widget. Major changes include: * Implement simpler zoom (crop or none) * Remove width/height parameters to bvw_new() * Colour balance through videobalance * Simplified interface checking, and no-locking * Fix disabling effects when setting a cover as the logo, and showing a logo when disabling the effects
This is ready to commit as soon as those bugs are fixed: http://bugzilla.clutter-project.org/show_bug.cgi?id=2617 http://bugzilla.clutter-project.org/show_bug.cgi?id=2624 Might be able to remove the own implementations for the NAV once tested.
*** Bug 590558 has been marked as a duplicate of this bug. ***
Done in 3.2. We'll remove the MX dependency as soon as there is an aspect frame for clutter-gst itself. Attachment 185003 [details] pushed as cb53bbd - backend: Use clutter-gst to draw video