[gthumb] slideshow: init gstreamer only if there is some file to play



commit 1411107fc50b6504ce76ea58c9e2e7cc9cd6b0b7
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Sun Aug 15 09:33:13 2010 +0200

    slideshow: init gstreamer only if there is some file to play

 extensions/slideshow/gth-slideshow.c |   31 ++++++++++++++++---------------
 1 files changed, 16 insertions(+), 15 deletions(-)
---
diff --git a/extensions/slideshow/gth-slideshow.c b/extensions/slideshow/gth-slideshow.c
index edb98b5..b2972dc 100644
--- a/extensions/slideshow/gth-slideshow.c
+++ b/extensions/slideshow/gth-slideshow.c
@@ -384,22 +384,23 @@ gth_slideshow_show_cb (GtkWidget    *widget,
 		return;
 
 #if HAVE_GSTREAMER
-	if (gstreamer_init ()) {
-		if ((self->priv->audio_files != NULL) && (self->priv->audio_files[0] != NULL)) {
-			self->priv->current_audio_file = 0;
-			if (self->priv->playbin == NULL) {
-				GstBus *bus;
-
-				self->priv->playbin = gst_element_factory_make ("playbin", "playbin");
-				bus = gst_pipeline_get_bus (GST_PIPELINE (self->priv->playbin));
-				gst_bus_add_signal_watch (bus);
-				g_signal_connect (bus, "message", G_CALLBACK (bus_message_cb), self);
-			}
-			else
-				gst_element_set_state (self->priv->playbin, GST_STATE_NULL);
-			g_object_set (G_OBJECT (self->priv->playbin), "uri", self->priv->audio_files[self->priv->current_audio_file], NULL);
-			gst_element_set_state (self->priv->playbin, GST_STATE_PLAYING);
+	if ((self->priv->audio_files != NULL)
+	    && (self->priv->audio_files[0] != NULL)
+	    && gstreamer_init ())
+	{
+		self->priv->current_audio_file = 0;
+		if (self->priv->playbin == NULL) {
+			GstBus *bus;
+
+			self->priv->playbin = gst_element_factory_make ("playbin", "playbin");
+			bus = gst_pipeline_get_bus (GST_PIPELINE (self->priv->playbin));
+			gst_bus_add_signal_watch (bus);
+			g_signal_connect (bus, "message", G_CALLBACK (bus_message_cb), self);
 		}
+		else
+			gst_element_set_state (self->priv->playbin, GST_STATE_NULL);
+		g_object_set (G_OBJECT (self->priv->playbin), "uri", self->priv->audio_files[self->priv->current_audio_file], NULL);
+		gst_element_set_state (self->priv->playbin, GST_STATE_PLAYING);
 	}
 #endif
 



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