totem r5942 - in trunk: . src/plugins/screensaver
- From: hadess svn gnome org
- To: svn-commits-list gnome org
- Subject: totem r5942 - in trunk: . src/plugins/screensaver
- Date: Tue, 3 Feb 2009 17:11:42 +0000 (UTC)
Author: hadess
Date: Tue Feb 3 17:11:42 2009
New Revision: 5942
URL: http://svn.gnome.org/viewvc/totem?rev=5942&view=rev
Log:
2009-02-03 Bastien Nocera <hadess hadess net>
* src/plugins/screensaver/totem-screensaver.c (got_metadata_cb),
(impl_activate), (impl_deactivate): Also update the screensaver
status when we get more metadata from the backend, as it's possible
we don't detect there's a video stream when playing starts
(Closes: #562847)
Modified:
trunk/ChangeLog
trunk/src/plugins/screensaver/totem-screensaver.c
Modified: trunk/src/plugins/screensaver/totem-screensaver.c
==============================================================================
--- trunk/src/plugins/screensaver/totem-screensaver.c (original)
+++ trunk/src/plugins/screensaver/totem-screensaver.c Tue Feb 3 17:11:42 2009
@@ -51,6 +51,7 @@
{
TotemPlugin parent;
TotemObject *totem;
+ BaconVideoWidget *bvw;
TotemScrsaver *scr;
guint handler_id_playing;
@@ -136,6 +137,12 @@
}
static void
+got_metadata_cb (BaconVideoWidget *bvw, TotemScreensaverPlugin *pi)
+{
+ totem_screensaver_update_from_state (pi->totem, pi);
+}
+
+static void
lock_screensaver_on_audio_changed_cb (GConfClient *client, guint cnxn_id,
GConfEntry *entry, TotemScreensaverPlugin *pi)
{
@@ -150,6 +157,8 @@
TotemScreensaverPlugin *pi = TOTEM_SCREENSAVER_PLUGIN (plugin);
GConfClient *gc;
+ pi->bvw = BACON_VIDEO_WIDGET (totem_get_video_widget (totem));
+
gc = gconf_client_get_default ();
gconf_client_add_dir (gc, GCONF_PREFIX,
GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
@@ -162,6 +171,10 @@
"notify::playing",
G_CALLBACK (property_notify_cb),
pi);
+ pi->handler_id_playing = g_signal_connect (G_OBJECT (pi->bvw),
+ "got-metadata",
+ G_CALLBACK (got_metadata_cb),
+ pi);
pi->totem = g_object_ref (totem);
@@ -185,6 +198,7 @@
g_signal_handler_disconnect (G_OBJECT (totem), pi->handler_id_playing);
g_object_unref (pi->totem);
+ g_object_unref (pi->bvw);
totem_scrsaver_enable (pi->scr);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]