updated ac3play to work with latest libgst
authorErik Walthinsen <omega@temple-baptist.org>
Tue, 6 Feb 2001 19:39:15 +0000 (19:39 +0000)
committerErik Walthinsen <omega@temple-baptist.org>
Tue, 6 Feb 2001 19:39:15 +0000 (19:39 +0000)
Original commit message from CVS:
updated ac3play to work with latest libgst

test/ac3play.c

index ada9c3285f72a79e82a8f8f1a9da5567263eeb8b..9967a1aada928cb1d9deaf127c4aa2d04d433b1f 100644 (file)
@@ -10,26 +10,22 @@ int main(int argc,char *argv[]) {
   GstElement *queue;
   GstPad *infopad;
 
-  g_print("have %d args\n",argc);
+//  g_print("have %d args\n",argc);
 
-  _gst_plugin_spew = TRUE;
+//  _gst_plugin_spew = TRUE;
   gst_init(&argc,&argv);
-// gst_plugin_load("ac3parse");
-  gst_plugin_load_all();
 
   pipeline = gst_elementfactory_make("pipeline","ac3player");
   g_return_if_fail(pipeline != NULL);
   decodethread = gst_elementfactory_make("thread","decodethread");
   g_return_if_fail(decodethread != NULL);
-  playthread = gst_elementfactory_make("thread","playthread");
-  g_return_if_fail(playthread != NULL);
   queue = gst_elementfactory_make("queue","queue");
   g_return_if_fail(queue != NULL);
 
   src = gst_elementfactory_make("disksrc","src");
   g_return_if_fail(src != NULL);
   gtk_object_set(GTK_OBJECT(src),"location",argv[1],NULL);
-  g_print("should be using file '%s'\n",argv[1]);
+//  g_print("should be using file '%s'\n",argv[1]);
   parse = gst_elementfactory_make("ac3parse","parse");
   g_return_if_fail(parse != NULL);
   decode = gst_elementfactory_make("ac3dec","decode");
@@ -49,36 +45,28 @@ int main(int argc,char *argv[]) {
   gst_element_add_ghost_pad(GST_ELEMENT(decodethread),
                             gst_element_get_pad(decode,"src"),"src");
 
-  // construct the play thread
-  g_print("constructing the play thread\n");
-  gst_bin_add(GST_BIN(playthread),GST_ELEMENT(play));
-  gst_element_add_ghost_pad(GST_ELEMENT(playthread),
-                            gst_element_get_pad(play,"sink"),"sink");
-
   // construct the outer pipeline
   g_print("constructing the main pipeline\n");
   gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(decodethread));
   gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(queue));
-  gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(playthread));
+  gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(play));
+  g_print("connecting main pipeline\n");
   gst_pad_connect(gst_element_get_pad(decodethread,"src"),
                   gst_element_get_pad(queue,"sink"));
   gst_pad_connect(gst_element_get_pad(queue,"src"),
-                  gst_element_get_pad(playthread,"sink"));
+                  gst_element_get_pad(play,"sink"));
+
+  xmlSaveFile("ac3play.gst", gst_xml_write(GST_ELEMENT(pipeline)));
 
   // set thread start state
   gtk_object_set(GTK_OBJECT(decodethread),"create_thread",TRUE,NULL);
-  gtk_object_set(GTK_OBJECT(playthread),"create_thread",FALSE,NULL);
 
   g_print("setting to READY state\n");
-  gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_READY);
   gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_PLAYING);
 
 //  sleep(1);
-  g_print("about to enter loop\n");
+//  g_print("about to enter loop\n");
   while (1) {
-    gst_bin_iterate(GST_BIN(playthread));
-    g_print("using %d bytes\n",vmsize());
+    gst_bin_iterate(GST_BIN(pipeline));
   }
-
-  xmlSaveFile("ac3play.xml",gst_xml_write(GST_ELEMENT(pipeline)));
 }