This is a megapatch with the following changes:
[platform/upstream/gstreamer.git] / tests / old / examples / xml / createxml.c
1 #include <stdlib.h>
2 #include <gst/gst.h>
3
4 gboolean playing;
5
6 int main(int argc,char *argv[]) 
7 {
8   GstElement *disksrc, *audiosink, *queue, *queue2, *parse, *decode;
9   GstElement *bin;
10   GstElement *thread, *thread2;
11
12   gst_init(&argc,&argv);
13
14   if (argc != 2) {
15     g_print("usage: %s <filename>\n", argv[0]);
16     exit(-1);
17   }
18
19   /* create a new thread to hold the elements */
20   //thread = gst_thread_new("thread");
21   thread = gst_elementfactory_make("thread", "thread");
22   g_assert(thread != NULL);
23   thread2 = gst_elementfactory_make("thread", "thread2");
24   //thread2 = gst_thread_new("thread2");
25   g_assert(thread2 != NULL);
26
27   /* create a new bin to hold the elements */
28   bin = gst_bin_new("bin");
29   g_assert(bin != NULL);
30
31   /* create a disk reader */
32   disksrc = gst_elementfactory_make("disksrc", "disk_source");
33   g_assert(disksrc != NULL);
34   gtk_object_set(GTK_OBJECT(disksrc),"location", argv[1],NULL);
35
36   queue = gst_elementfactory_make("queue", "queue");
37   queue2 = gst_elementfactory_make("queue", "queue2");
38
39   /* and an audio sink */
40   audiosink = gst_elementfactory_make("audiosink", "play_audio");
41   g_assert(audiosink != NULL);
42
43   parse = gst_elementfactory_make("mp3parse", "parse");
44   decode = gst_elementfactory_make("mpg123", "decode");
45
46   /* add objects to the main bin */
47   gst_bin_add(GST_BIN(bin), disksrc);
48   gst_bin_add(GST_BIN(bin), queue);
49
50   gst_bin_add(GST_BIN(thread), parse);
51   gst_bin_add(GST_BIN(thread), decode);
52   gst_bin_add(GST_BIN(thread), queue2);
53
54   gst_bin_add(GST_BIN(thread2), audiosink);
55
56   gst_pad_connect(gst_element_get_pad(disksrc,"src"),
57                   gst_element_get_pad(queue,"sink"));
58
59   gst_pad_connect(gst_element_get_pad(queue,"src"),
60                   gst_element_get_pad(parse,"sink"));
61   gst_pad_connect(gst_element_get_pad(parse,"src"),
62                   gst_element_get_pad(decode,"sink"));
63   gst_pad_connect(gst_element_get_pad(decode,"src"),
64                   gst_element_get_pad(queue2,"sink"));
65
66   gst_pad_connect(gst_element_get_pad(queue2,"src"),
67                   gst_element_get_pad(audiosink,"sink"));
68
69   gst_bin_add(GST_BIN(bin), thread);
70   gst_bin_add(GST_BIN(bin), thread2);
71
72   xmlSaveFile("xmlTest.gst", gst_xml_write(GST_ELEMENT(bin)));
73
74   exit(0);
75 }
76