From 80600262702825b024cd7c99adae4044e6202a74 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Sun, 11 Mar 2001 18:47:13 +0000 Subject: [PATCH] Added a little test program for caps negotiation proxying. Original commit message from CVS: Added a little test program for caps negotiation proxying. --- tests/capsconnect.c | 62 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/capsconnect.c diff --git a/tests/capsconnect.c b/tests/capsconnect.c new file mode 100644 index 0000000000..01e8e7b9a5 --- /dev/null +++ b/tests/capsconnect.c @@ -0,0 +1,62 @@ +#include + +int main(int argc,char *argv[]) +{ + gboolean testret; + xmlDocPtr doc; + xmlNodePtr parent; + GstElement *mpg123; + GstElement *mp3parse; + GstElement *queue; + GstPad *sinkpad; + GstPad *srcpad; + GstPad *qsinkpad; + + doc = xmlNewDoc ("1.0"); + doc->xmlRootNode = xmlNewDocNode (doc, NULL, "Capabilities", NULL); + + gst_init (&argc, &argv); + + mpg123 = gst_elementfactory_make ("mpg123", "mpg123"); + g_assert (mpg123 != NULL); + + sinkpad = gst_element_get_pad (mpg123, "sink"); + g_assert (sinkpad != NULL); + + queue = gst_elementfactory_make ("queue", "queue"); + g_assert (queue != NULL); + + srcpad = gst_element_get_pad (queue, "src"); + g_assert (srcpad != NULL); + qsinkpad = gst_element_get_pad (queue, "sink"); + g_assert (qsinkpad != NULL); + + parent = xmlNewChild (doc->xmlRootNode, NULL, "mpg123 caps", NULL); + gst_caps_save_thyself (gst_pad_get_caps (sinkpad), parent); + + parent = xmlNewChild (doc->xmlRootNode, NULL, "queue caps", NULL); + gst_caps_save_thyself (gst_pad_get_caps (srcpad), parent); + + gst_pad_connect (srcpad, sinkpad); + + parent = xmlNewChild (doc->xmlRootNode, NULL, "queue caps after connect src", NULL); + gst_caps_save_thyself (gst_pad_get_caps (srcpad), parent); + + parent = xmlNewChild (doc->xmlRootNode, NULL, "queue caps after connect sink", NULL); + gst_caps_save_thyself (gst_pad_get_caps (qsinkpad), parent); + + mp3parse = gst_elementfactory_make ("mp3parse", "mp3parse"); + g_assert (mp3parse != NULL); + + gst_pad_connect (gst_element_get_pad (mp3parse, "src"), qsinkpad); + + parent = xmlNewChild (doc->xmlRootNode, NULL, "queue caps after connect sink", NULL); + gst_caps_save_thyself (gst_pad_get_caps (qsinkpad), parent); + + parent = xmlNewChild (doc->xmlRootNode, NULL, "mpg123 caps after connect sink", NULL); + gst_caps_save_thyself (gst_pad_get_caps (sinkpad), parent); + + xmlDocDump(stdout, doc); + + return 0; +}