3 * this tests for proxying of caps from tee sink to src's in various situations
10 element_create (char *name, char *element)
13 * print an error if it can't be created
14 * return NULL if it couldn't be created
15 * return element if it did work
18 GstElement *el = NULL;
20 el = (GstElement *) gst_elementfactory_make (element, name);
23 fprintf (stderr, "Could not create element %s (%s) !\n", name, element);
31 main (int argc, char *argv[])
33 GstElement *pipeline = NULL;
34 GstElement *tee, *src, *sink1, *sink2;
38 gst_init (&argc, &argv);
41 g_print ("Creating pipeline\n");
42 pipeline = gst_pipeline_new ("pipeline");
43 //g_assert (GST_IS_PIPELINE (pipeline));
45 g_print ("Creating elements\n");
46 if (!(tee = element_create ("tee", "tee"))) return 1;
47 if (!(src = element_create ("src", "fakesrc"))) return 1;
48 if (!(sink1 = element_create ("sink1", "fakesink"))) return 1;
49 if (!(sink2 = element_create ("sink2", "fakesink"))) return 1;
52 g_print ("Adding elements to bin\n");
53 gst_bin_add (GST_BIN (pipeline), src);
54 gst_bin_add (GST_BIN (pipeline), tee);
56 /* request one pad from tee */
57 tee_src = gst_element_request_pad_by_name (tee, "src%d");
60 gst_pad_connect (tee_src, gst_element_get_pad (sink1, "sink"));
63 gst_element_set_state (pipeline, GST_STATE_PLAYING);
64 gst_bin_iterate (GST_BIN (pipeline));