Fix the helloworld example.
authorWim Taymans <wim.taymans@gmail.com>
Sun, 6 Jan 2002 19:00:14 +0000 (19:00 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Sun, 6 Jan 2002 19:00:14 +0000 (19:00 +0000)
Original commit message from CVS:
Fix the helloworld example.

examples/helloworld/helloworld.c
tests/old/examples/helloworld/helloworld.c

index c1ae980..3802bcd 100644 (file)
@@ -1,24 +1,14 @@
 #include <stdlib.h>
 #include <gst/gst.h>
 
-gboolean playing;
-
-/* eos will be called when the src element has an end of stream */
-void eos(GstElement *element) 
-{
-  g_print("have eos, quitting\n");
-
-  playing = FALSE;
-}
-
 int main(int argc,char *argv[]) 
 {
-  GstElement *bin, *filesrc, *parse, *decoder, *downmix, *mulaw, *mulawdec, *osssink;
+  GstElement *bin, *filesrc, *decoder, *osssink;
 
   gst_init(&argc,&argv);
 
   if (argc != 2) {
-    g_print("usage: %s <filename>\n", argv[0]);
+    g_print("usage: %s <mp3 file>\n", argv[0]);
     exit(-1);
   }
 
@@ -28,62 +18,35 @@ int main(int argc,char *argv[])
   /* create a disk reader */
   filesrc = gst_elementfactory_make("filesrc", "disk_source");
   g_object_set(G_OBJECT(filesrc),"location", argv[1],NULL);
-  g_signal_connect(G_OBJECT(filesrc),"eos",
-                     G_CALLBACK(eos),NULL);
 
-  /* now it's time to get the parser */
-  parse = gst_elementfactory_make("mp3parse","parse");
-  decoder = gst_elementfactory_make("mpg123","decoder");
-  downmix = gst_elementfactory_make("stereo2mono","stereo2mono");
-  mulaw = gst_elementfactory_make("mulawencode","mulaw");
-  mulawdec = gst_elementfactory_make("mulawdecode","mulawdec");
+  /* now it's time to get the decoder */
+  decoder = gst_elementfactory_make("mad","parse");
+  if (!decoder) {
+    g_print ("could not find plugin \"mad\"");
+    return -1;
+  }
   /* and an audio sink */
   osssink = gst_elementfactory_make("osssink", "play_audio");
 
   /* add objects to the main pipeline */
   gst_bin_add(GST_BIN(bin), filesrc);
-  gst_bin_add(GST_BIN(bin), parse);
   gst_bin_add(GST_BIN(bin), decoder);
-  gst_bin_add(GST_BIN(bin), downmix);
-  gst_bin_add(GST_BIN(bin), mulaw);
-  gst_bin_add(GST_BIN(bin), mulawdec);
   gst_bin_add(GST_BIN(bin), osssink);
 
   /* connect src to sink */
   gst_pad_connect(gst_element_get_pad(filesrc,"src"),
-                  gst_element_get_pad(parse,"sink"));
-  gst_pad_connect(gst_element_get_pad(parse,"src"),
                   gst_element_get_pad(decoder,"sink"));
   gst_pad_connect(gst_element_get_pad(decoder,"src"),
-                  gst_element_get_pad(downmix,"sink"));
-  gst_pad_connect(gst_element_get_pad(downmix,"src"),
-                  gst_element_get_pad(mulaw,"sink"));
-  gst_pad_connect(gst_element_get_pad(mulaw,"src"),
-                  gst_element_get_pad(mulawdec,"sink"));
-  gst_pad_connect(gst_element_get_pad(mulawdec,"src"),
                   gst_element_get_pad(osssink,"sink"));
 
   /* start playing */
   gst_element_set_state(bin, GST_STATE_PLAYING);
 
-  playing = TRUE;
-
-  while (playing) {
-    gst_bin_iterate(GST_BIN(bin));
-  }
+  while (gst_bin_iterate(GST_BIN(bin)));
 
   /* stop the bin */
   gst_element_set_state(bin, GST_STATE_NULL);
 
-  gst_object_destroy(GST_OBJECT(osssink));
-  gst_object_destroy(GST_OBJECT(parse));
-  gst_object_destroy(GST_OBJECT(decoder));
-  gst_object_destroy(GST_OBJECT(downmix));
-  gst_object_destroy(GST_OBJECT(mulaw));
-  gst_object_destroy(GST_OBJECT(mulawdec));
-  gst_object_destroy(GST_OBJECT(filesrc));
-  gst_object_destroy(GST_OBJECT(bin));
-
   exit(0);
 }
 
index c1ae980..3802bcd 100644 (file)
@@ -1,24 +1,14 @@
 #include <stdlib.h>
 #include <gst/gst.h>
 
-gboolean playing;
-
-/* eos will be called when the src element has an end of stream */
-void eos(GstElement *element) 
-{
-  g_print("have eos, quitting\n");
-
-  playing = FALSE;
-}
-
 int main(int argc,char *argv[]) 
 {
-  GstElement *bin, *filesrc, *parse, *decoder, *downmix, *mulaw, *mulawdec, *osssink;
+  GstElement *bin, *filesrc, *decoder, *osssink;
 
   gst_init(&argc,&argv);
 
   if (argc != 2) {
-    g_print("usage: %s <filename>\n", argv[0]);
+    g_print("usage: %s <mp3 file>\n", argv[0]);
     exit(-1);
   }
 
@@ -28,62 +18,35 @@ int main(int argc,char *argv[])
   /* create a disk reader */
   filesrc = gst_elementfactory_make("filesrc", "disk_source");
   g_object_set(G_OBJECT(filesrc),"location", argv[1],NULL);
-  g_signal_connect(G_OBJECT(filesrc),"eos",
-                     G_CALLBACK(eos),NULL);
 
-  /* now it's time to get the parser */
-  parse = gst_elementfactory_make("mp3parse","parse");
-  decoder = gst_elementfactory_make("mpg123","decoder");
-  downmix = gst_elementfactory_make("stereo2mono","stereo2mono");
-  mulaw = gst_elementfactory_make("mulawencode","mulaw");
-  mulawdec = gst_elementfactory_make("mulawdecode","mulawdec");
+  /* now it's time to get the decoder */
+  decoder = gst_elementfactory_make("mad","parse");
+  if (!decoder) {
+    g_print ("could not find plugin \"mad\"");
+    return -1;
+  }
   /* and an audio sink */
   osssink = gst_elementfactory_make("osssink", "play_audio");
 
   /* add objects to the main pipeline */
   gst_bin_add(GST_BIN(bin), filesrc);
-  gst_bin_add(GST_BIN(bin), parse);
   gst_bin_add(GST_BIN(bin), decoder);
-  gst_bin_add(GST_BIN(bin), downmix);
-  gst_bin_add(GST_BIN(bin), mulaw);
-  gst_bin_add(GST_BIN(bin), mulawdec);
   gst_bin_add(GST_BIN(bin), osssink);
 
   /* connect src to sink */
   gst_pad_connect(gst_element_get_pad(filesrc,"src"),
-                  gst_element_get_pad(parse,"sink"));
-  gst_pad_connect(gst_element_get_pad(parse,"src"),
                   gst_element_get_pad(decoder,"sink"));
   gst_pad_connect(gst_element_get_pad(decoder,"src"),
-                  gst_element_get_pad(downmix,"sink"));
-  gst_pad_connect(gst_element_get_pad(downmix,"src"),
-                  gst_element_get_pad(mulaw,"sink"));
-  gst_pad_connect(gst_element_get_pad(mulaw,"src"),
-                  gst_element_get_pad(mulawdec,"sink"));
-  gst_pad_connect(gst_element_get_pad(mulawdec,"src"),
                   gst_element_get_pad(osssink,"sink"));
 
   /* start playing */
   gst_element_set_state(bin, GST_STATE_PLAYING);
 
-  playing = TRUE;
-
-  while (playing) {
-    gst_bin_iterate(GST_BIN(bin));
-  }
+  while (gst_bin_iterate(GST_BIN(bin)));
 
   /* stop the bin */
   gst_element_set_state(bin, GST_STATE_NULL);
 
-  gst_object_destroy(GST_OBJECT(osssink));
-  gst_object_destroy(GST_OBJECT(parse));
-  gst_object_destroy(GST_OBJECT(decoder));
-  gst_object_destroy(GST_OBJECT(downmix));
-  gst_object_destroy(GST_OBJECT(mulaw));
-  gst_object_destroy(GST_OBJECT(mulawdec));
-  gst_object_destroy(GST_OBJECT(filesrc));
-  gst_object_destroy(GST_OBJECT(bin));
-
   exit(0);
 }