4 type_found (GstElement *typefind, const GstCaps * caps)
9 doc = xmlNewDoc ("1.0");
10 doc->xmlRootNode = xmlNewDocNode (doc, NULL, "Capabilities", NULL);
12 parent = xmlNewChild (doc->xmlRootNode, NULL, "Caps1", NULL);
14 //gst_caps_save_thyself (caps, parent);
16 xmlDocDump (stdout, doc);
20 main(int argc, char *argv[])
22 GstElement *bin, *filesrc, *typefind;
24 gst_init(&argc,&argv);
27 g_print("usage: %s <filename>\n", argv[0]);
31 /* create a new bin to hold the elements */
32 bin = gst_pipeline_new("bin");
33 g_assert(bin != NULL);
35 /* create a file reader */
36 filesrc = gst_element_factory_make("filesrc", "file_source");
37 g_assert(filesrc != NULL);
38 g_object_set(G_OBJECT(filesrc),"location", argv[1],NULL);
40 typefind = gst_element_factory_make("typefind", "typefind");
41 g_assert(typefind != NULL);
43 /* add objects to the main pipeline */
44 gst_bin_add(GST_BIN(bin), filesrc);
45 gst_bin_add(GST_BIN(bin), typefind);
47 g_signal_connect (G_OBJECT (typefind), "have_type",
48 G_CALLBACK (type_found), NULL);
50 gst_element_link (filesrc, typefind);
53 gst_element_set_state(GST_ELEMENT(bin), GST_STATE_PLAYING);
55 gst_bin_iterate(GST_BIN(bin));
57 gst_element_set_state(GST_ELEMENT(bin), GST_STATE_NULL);