totem r6183 - in trunk: . src/backend



Author: sdroege
Date: Mon Mar 23 13:31:32 2009
New Revision: 6183
URL: http://svn.gnome.org/viewvc/totem?rev=6183&view=rev

Log:
* src/backend/bacon-video-widget-gst-0.10.c: (setup_vis),
(bacon_video_widget_set_show_visuals):
Add support for enabling/disabling visualizations while
playing some file without requiring a restart.


Modified:
   trunk/ChangeLog
   trunk/src/backend/bacon-video-widget-gst-0.10.c

Modified: trunk/src/backend/bacon-video-widget-gst-0.10.c
==============================================================================
--- trunk/src/backend/bacon-video-widget-gst-0.10.c	(original)
+++ trunk/src/backend/bacon-video-widget-gst-0.10.c	Mon Mar 23 13:31:32 2009
@@ -3378,6 +3378,25 @@
       gst_caps_unref (caps);
     }
   }
+
+  if (bvw->priv->media_has_audio &&
+      !bvw->priv->media_has_video && bvw->priv->video_window) {
+    gint flags;
+
+    g_object_get (bvw->priv->play, "flags", &flags, NULL);
+    if (bvw->priv->show_vfx) {
+      gdk_window_show (bvw->priv->video_window);
+      GTK_WIDGET_UNSET_FLAGS (GTK_WIDGET (bvw), GTK_DOUBLE_BUFFERED);
+      flags |= GST_PLAY_FLAGS_VIS;
+    } else {
+      gdk_window_hide (bvw->priv->video_window);
+      GTK_WIDGET_SET_FLAGS (GTK_WIDGET (bvw), GTK_DOUBLE_BUFFERED);
+      flags &= ~GST_PLAY_FLAGS_VIS;
+    }
+    g_object_set (bvw->priv->play, "flags", flags, NULL);
+
+    gtk_widget_queue_draw (GTK_WIDGET (bvw));
+  }
   
   bvw->priv->vis_changed = FALSE;
   
@@ -3397,8 +3416,11 @@
   g_return_if_fail (BACON_IS_VIDEO_WIDGET (bvw));
   g_return_if_fail (GST_IS_ELEMENT (bvw->priv->play));
 
+  if (show_visuals == bvw->priv->show_vfx)
+    return;
+
   bvw->priv->show_vfx = show_visuals;
-  bvw->priv->vis_changed = TRUE;
+  setup_vis (bvw);
 }
 
 static gboolean



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]