gnome: improve video widget
aspect ratio should now get properly reset when changing video source
Refs #66538
Change-Id: I679089f8908f114011a615d9518aaf1b979d7327
diff --git a/src/video/video_widget.cpp b/src/video/video_widget.cpp
index 6646f22..6a27bb5 100644
--- a/src/video/video_widget.cpp
+++ b/src/video/video_widget.cpp
@@ -469,8 +469,10 @@
renderer->renderer,
&Video::Renderer::frameUpdated,
[=]() {
- if (!renderer->renderer->isRendering())
- g_warning("got frame but not rendering!");
+ if (!renderer->renderer->isRendering()) {
+ g_debug("got frame but not rendering");
+ return;
+ }
/* this callback comes from another thread;
* rendering must be done in the main loop;
@@ -488,12 +490,16 @@
{
if (renderer == NULL) return;
+ /* reset the content gravity so that the aspect ratio gets properly set if it chagnes */
+ clutter_actor_set_content_gravity(renderer->actor, CLUTTER_CONTENT_GRAVITY_RESIZE_FILL);
+
/* update the renderer */
QObject::disconnect(renderer->frame_update);
QObject::disconnect(renderer->render_stop);
QObject::disconnect(renderer->render_start);
- renderer_start(renderer);
+ if (renderer->renderer->isRendering())
+ renderer_start(renderer);
renderer->render_stop = QObject::connect(
renderer->renderer,