From: Thomas Vander Stichele Date: Thu, 31 Jan 2002 12:17:46 +0000 (+0000) Subject: tee test too bad it fails at creating X-Git-Tag: RELEASE-0_3_2-DOBDAY~21 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9505bda9c820257f072d762c9d65cd86f9838b82;p=platform%2Fupstream%2Fgstreamer.git tee test too bad it fails at creating Original commit message from CVS: tee test too bad it fails at creating --- diff --git a/tests/old/testsuite/elements/Makefile.am b/tests/old/testsuite/elements/Makefile.am new file mode 100644 index 0000000..33ee8e9 --- /dev/null +++ b/tests/old/testsuite/elements/Makefile.am @@ -0,0 +1,9 @@ +testprogs = tee + +TESTS = $(testprogs) + +check_PROGRAMS = $(testprogs) + +tee_LDADD = $(GST_LIBS) +tee_CFLAGS = $(GST_CFLAGS) + diff --git a/tests/old/testsuite/elements/tee.c b/tests/old/testsuite/elements/tee.c new file mode 100644 index 0000000..0cefa3b --- /dev/null +++ b/tests/old/testsuite/elements/tee.c @@ -0,0 +1,69 @@ +/* + * test for tee element + * this tests for proxying of caps from tee sink to src's in various situations + * thomas@apestaart.org + */ + +#include + +GstElement * +element_create (char *name, char *element) + /* + * create the element + * print an error if it can't be created + * return NULL if it couldn't be created + * return element if it did work + */ +{ + GstElement *el = NULL; + + el = (GstElement *) element_create (element, name); + if (el == NULL) + { + fprintf (stderr, "Could not create element %s (%s) !\n", name, element); + return NULL; + } + else + return el; +} + +int +main (int argc, char *argv[]) +{ + GstElement *pipeline = NULL; + GstElement *tee, *src, *sink1, *sink2; + GstPad *tee_src; + + /* init */ + gst_init (&argc, &argv); + + /* create */ + g_print ("Creating pipeline\n"); + pipeline = gst_pipeline_new ("pipeline"); + //g_assert (GST_IS_PIPELINE (pipeline)); + + g_print ("Creating elements\n"); + if (!(tee = element_create ("tee", "tee"))) return 1; + if (!(src = element_create ("src", "fakesrc"))) return 1; + if (!(sink1 = element_create ("sink1", "fakesink"))) return 1; + if (!(sink2 = element_create ("sink2", "fakesink"))) return 1; + + /* add */ + g_print ("Adding elements to bin\n"); + gst_bin_add (GST_BIN (pipeline), src); + gst_bin_add (GST_BIN (pipeline), tee); + + /* request one pad from tee */ + tee_src = gst_element_request_pad_by_name (tee, "src%d"); + + /* connect */ + gst_pad_connect (tee_src, gst_element_get_pad (sink1, "sink")); + + /* set to play */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + gst_bin_iterate (GST_BIN (pipeline)); + + g_print ("Done !\n"); + return 1; +} + diff --git a/testsuite/elements/Makefile.am b/testsuite/elements/Makefile.am new file mode 100644 index 0000000..33ee8e9 --- /dev/null +++ b/testsuite/elements/Makefile.am @@ -0,0 +1,9 @@ +testprogs = tee + +TESTS = $(testprogs) + +check_PROGRAMS = $(testprogs) + +tee_LDADD = $(GST_LIBS) +tee_CFLAGS = $(GST_CFLAGS) + diff --git a/testsuite/elements/tee.c b/testsuite/elements/tee.c new file mode 100644 index 0000000..0cefa3b --- /dev/null +++ b/testsuite/elements/tee.c @@ -0,0 +1,69 @@ +/* + * test for tee element + * this tests for proxying of caps from tee sink to src's in various situations + * thomas@apestaart.org + */ + +#include + +GstElement * +element_create (char *name, char *element) + /* + * create the element + * print an error if it can't be created + * return NULL if it couldn't be created + * return element if it did work + */ +{ + GstElement *el = NULL; + + el = (GstElement *) element_create (element, name); + if (el == NULL) + { + fprintf (stderr, "Could not create element %s (%s) !\n", name, element); + return NULL; + } + else + return el; +} + +int +main (int argc, char *argv[]) +{ + GstElement *pipeline = NULL; + GstElement *tee, *src, *sink1, *sink2; + GstPad *tee_src; + + /* init */ + gst_init (&argc, &argv); + + /* create */ + g_print ("Creating pipeline\n"); + pipeline = gst_pipeline_new ("pipeline"); + //g_assert (GST_IS_PIPELINE (pipeline)); + + g_print ("Creating elements\n"); + if (!(tee = element_create ("tee", "tee"))) return 1; + if (!(src = element_create ("src", "fakesrc"))) return 1; + if (!(sink1 = element_create ("sink1", "fakesink"))) return 1; + if (!(sink2 = element_create ("sink2", "fakesink"))) return 1; + + /* add */ + g_print ("Adding elements to bin\n"); + gst_bin_add (GST_BIN (pipeline), src); + gst_bin_add (GST_BIN (pipeline), tee); + + /* request one pad from tee */ + tee_src = gst_element_request_pad_by_name (tee, "src%d"); + + /* connect */ + gst_pad_connect (tee_src, gst_element_get_pad (sink1, "sink")); + + /* set to play */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + gst_bin_iterate (GST_BIN (pipeline)); + + g_print ("Done !\n"); + return 1; +} +