make player example use gconf
authorThomas Vander Stichele <thomas@apestaart.org>
Tue, 13 Apr 2004 13:41:20 +0000 (13:41 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Tue, 13 Apr 2004 13:41:20 +0000 (13:41 +0000)
Original commit message from CVS:
make player example use gconf

ChangeLog
examples/gstplay/Makefile.am
examples/gstplay/player.c

index 5ac8f610582a6d5c90838c6b36c19ce0292553a6..1ca7728fe2db18caa57c8f5809f68858790146eb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-04-13  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * examples/gstplay/Makefile.am:
+       * examples/gstplay/player.c: (main):
+          make the commandline player example use gconf settings
+
 2004-04-13  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * ext/libcaca/gstcacasink.c: (gst_cacasink_class_init),
index 795fc3620511b739122c73418be33fecaf7663fe..cbae9cbf490ab5059c6400a48d40d70dd3a11ea3 100644 (file)
@@ -2,9 +2,10 @@
 noinst_PROGRAMS = player
 
 player_SOURCES = player.c
-player_CFLAGS = $(GST_CFLAGS)
+player_CFLAGS = $(GST_CFLAGS) $(GCONF_CFLAGS)
 player_LDFLAGS = \
     $(GST_LIBS) \
+    $(top_builddir)/gst-libs/gst/gconf/libgstgconf-@GST_MAJORMINOR@.la \
     $(top_builddir)/gst-libs/gst/play/libgstplay-@GST_MAJORMINOR@.la \
     $(top_builddir)/gst-libs/gst/libgstinterfaces-$(GST_MAJORMINOR).la
 
index 92cb9bc7a91d27490fdec6b92dddaefd98cea007..4258d6459f79f8ab0655712834ab24d2f452583d 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include <gst/play/play.h>
+#include <gst/gconf/gconf.h>
 
 static GMainLoop *loop = NULL;
 static gint64 length = 0;
@@ -121,11 +122,17 @@ main (int argc, char *argv[])
   }
 
   /* Getting default audio and video plugins from GConf */
-  audio_sink = gst_element_factory_make ("osssink", "audio_sink");
-  video_sink = gst_element_factory_make ("ximagesink", "video_sink");
   vis_element = gst_element_factory_make ("goom", "vis_element");
   data_src = gst_element_factory_make ("gnomevfssrc", "source");
 
+  audio_sink = gst_gconf_get_default_audio_sink ();
+  if (!GST_IS_ELEMENT (audio_sink))
+    g_error ("Could not get default audio sink from GConf");
+  video_sink = gst_gconf_get_default_video_sink ();
+  if (!GST_IS_ELEMENT (video_sink))
+    g_error ("Could not get default video sink from GConf");
+
+
   /* Let's send them to GstPlay object */
   if (!gst_play_set_audio_sink (play, audio_sink))
     g_warning ("Could not set audio sink");
@@ -158,7 +165,7 @@ main (int argc, char *argv[])
   /* Change state to PLAYING */
   if (gst_element_set_state (GST_ELEMENT (play),
           GST_STATE_PLAYING) == GST_STATE_FAILURE)
-    g_warning ("Could not set state to PLAYING");
+    g_error ("Could not set state to PLAYING");
 
   g_idle_add ((GSourceFunc) idle_iterate, play);
   g_timeout_add (20000, (GSourceFunc) seek_timer, play);