gboolean playing;
-/* eos will be called when the src element has an end of stream */
-void eos(GstElement *element, gpointer data)
+static void
+xml_loaded (GstXML *xml, GstObject *object, gpointer data)
{
- g_print("have eos, quitting\n");
-
- playing = FALSE;
+ if (GST_IS_PAD (object)) {
+ g_print ("pad loaded '%s'\n", gst_pad_get_name (GST_PAD (object)));
+ }
+ else if (GST_IS_ELEMENT (object)) {
+ g_print ("element loaded '%s'\n", gst_element_get_name (GST_ELEMENT (object)));
+ }
}
-int main(int argc,char *argv[])
+int main(int argc,char *argv[])
{
GstXML *xml;
GstElement *bin;
- GstElement *disk;
+ gboolean ret;
gst_init(&argc,&argv);
- xml = gst_xml_new("xmlTest.gst", NULL);
+ xml = gst_xml_new ();
+
+ gtk_signal_connect (GTK_OBJECT (xml), "object_loaded", xml_loaded, NULL);
+
+ ret = gst_xml_parse_file(xml, "xmlTest.gst", NULL);
+ g_assert (ret == TRUE);
bin = gst_xml_get_element(xml, "bin");
-
+ g_assert (bin != NULL);
+
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)));
gst_element_set_state(bin, GST_STATE_NULL);