From 2b33397ea94c8c61af985c774880502779533696 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sat, 15 Oct 2005 15:53:14 +0000 Subject: [PATCH] remove obsolete tests whitespace fixes Original commit message from CVS: remove obsolete tests whitespace fixes --- tests/old/testsuite/Makefile.am | 12 +- tests/old/testsuite/bytestream/.gitignore | 9 - tests/old/testsuite/bytestream/Makefile.am | 11 - tests/old/testsuite/bytestream/filepadsink.c | 282 ------------ tests/old/testsuite/bytestream/gstbstest.c | 418 ------------------ tests/old/testsuite/bytestream/test1.c | 230 ---------- tests/old/testsuite/bytestream/testfile1 | 93 ---- tests/old/testsuite/caps/normalisation.c | 2 +- tests/old/testsuite/caps/random.c | 6 +- tests/old/testsuite/cleanup/.gitignore | 10 - tests/old/testsuite/cleanup/Makefile.am | 7 - tests/old/testsuite/cleanup/cleanup1.c | 60 --- tests/old/testsuite/cleanup/cleanup2.c | 64 --- tests/old/testsuite/cleanup/cleanup3.c | 68 --- tests/old/testsuite/cleanup/cleanup4.c | 52 --- tests/old/testsuite/cleanup/cleanup5.c | 41 -- tests/old/testsuite/controller/interpolator.c | 2 +- tests/old/testsuite/debug/printf_extension.c | 2 +- tests/old/testsuite/elements/tee.c | 2 +- tests/old/testsuite/negotiation/.gitignore | 2 - tests/old/testsuite/negotiation/Makefile.am | 5 - tests/old/testsuite/negotiation/pad_link.c | 35 -- tests/old/testsuite/pad/Makefile.am | 5 - tests/old/testsuite/pad/chainnopull.c | 66 --- tests/old/testsuite/pad/getnopush.c | 71 --- tests/old/testsuite/pad/link.c | 194 -------- tests/old/testsuite/refcounting/sched.c | 2 +- tests/old/testsuite/registry/Makefile.am | 7 - .../testsuite/registry/gst-print-formats.c | 347 --------------- tests/old/testsuite/schedulers/.gitignore | 17 - tests/old/testsuite/schedulers/142183-2.c | 73 --- tests/old/testsuite/schedulers/142183.c | 95 ---- tests/old/testsuite/schedulers/143777-2.c | 64 --- tests/old/testsuite/schedulers/143777.c | 73 --- tests/old/testsuite/schedulers/147713.c | 92 ---- tests/old/testsuite/schedulers/147819.c | 101 ----- tests/old/testsuite/schedulers/147894-2.c | 138 ------ tests/old/testsuite/schedulers/147894.c | 146 ------ tests/old/testsuite/schedulers/Makefile.am | 30 -- tests/old/testsuite/schedulers/group_link.c | 67 --- tests/old/testsuite/schedulers/queue_link.c | 69 --- tests/old/testsuite/schedulers/relink.c | 74 ---- tests/old/testsuite/schedulers/unlink.c | 65 --- tests/old/testsuite/schedulers/unref.c | 62 --- .../testsuite/schedulers/useless_iteration.c | 51 --- tests/old/testsuite/states/bin.c | 2 +- testsuite/Makefile.am | 12 +- testsuite/bytestream/.gitignore | 9 - testsuite/bytestream/Makefile.am | 11 - testsuite/bytestream/filepadsink.c | 282 ------------ testsuite/bytestream/gstbstest.c | 418 ------------------ testsuite/bytestream/test1.c | 230 ---------- testsuite/bytestream/testfile1 | 93 ---- testsuite/caps/normalisation.c | 2 +- testsuite/caps/random.c | 6 +- testsuite/cleanup/.gitignore | 10 - testsuite/cleanup/Makefile.am | 7 - testsuite/cleanup/cleanup1.c | 60 --- testsuite/cleanup/cleanup2.c | 64 --- testsuite/cleanup/cleanup3.c | 68 --- testsuite/cleanup/cleanup4.c | 52 --- testsuite/cleanup/cleanup5.c | 41 -- testsuite/controller/interpolator.c | 2 +- testsuite/debug/printf_extension.c | 2 +- testsuite/elements/tee.c | 2 +- testsuite/negotiation/.gitignore | 2 - testsuite/negotiation/Makefile.am | 5 - testsuite/negotiation/pad_link.c | 35 -- testsuite/pad/Makefile.am | 5 - testsuite/pad/chainnopull.c | 66 --- testsuite/pad/getnopush.c | 71 --- testsuite/pad/link.c | 194 -------- testsuite/refcounting/sched.c | 2 +- testsuite/registry/Makefile.am | 7 - testsuite/registry/gst-print-formats.c | 347 --------------- testsuite/schedulers/.gitignore | 17 - testsuite/schedulers/142183-2.c | 73 --- testsuite/schedulers/142183.c | 95 ---- testsuite/schedulers/143777-2.c | 64 --- testsuite/schedulers/143777.c | 73 --- testsuite/schedulers/147713.c | 92 ---- testsuite/schedulers/147819.c | 101 ----- testsuite/schedulers/147894-2.c | 138 ------ testsuite/schedulers/147894.c | 146 ------ testsuite/schedulers/Makefile.am | 30 -- testsuite/schedulers/group_link.c | 67 --- testsuite/schedulers/queue_link.c | 69 --- testsuite/schedulers/relink.c | 74 ---- testsuite/schedulers/unlink.c | 65 --- testsuite/schedulers/unref.c | 62 --- testsuite/schedulers/useless_iteration.c | 51 --- testsuite/states/bin.c | 2 +- 92 files changed, 30 insertions(+), 6618 deletions(-) delete mode 100644 tests/old/testsuite/bytestream/.gitignore delete mode 100644 tests/old/testsuite/bytestream/Makefile.am delete mode 100644 tests/old/testsuite/bytestream/filepadsink.c delete mode 100644 tests/old/testsuite/bytestream/gstbstest.c delete mode 100644 tests/old/testsuite/bytestream/test1.c delete mode 100644 tests/old/testsuite/bytestream/testfile1 delete mode 100644 tests/old/testsuite/cleanup/.gitignore delete mode 100644 tests/old/testsuite/cleanup/Makefile.am delete mode 100644 tests/old/testsuite/cleanup/cleanup1.c delete mode 100644 tests/old/testsuite/cleanup/cleanup2.c delete mode 100644 tests/old/testsuite/cleanup/cleanup3.c delete mode 100644 tests/old/testsuite/cleanup/cleanup4.c delete mode 100644 tests/old/testsuite/cleanup/cleanup5.c delete mode 100644 tests/old/testsuite/negotiation/.gitignore delete mode 100644 tests/old/testsuite/negotiation/Makefile.am delete mode 100644 tests/old/testsuite/negotiation/pad_link.c delete mode 100644 tests/old/testsuite/pad/Makefile.am delete mode 100644 tests/old/testsuite/pad/chainnopull.c delete mode 100644 tests/old/testsuite/pad/getnopush.c delete mode 100644 tests/old/testsuite/pad/link.c delete mode 100644 tests/old/testsuite/registry/Makefile.am delete mode 100644 tests/old/testsuite/registry/gst-print-formats.c delete mode 100644 tests/old/testsuite/schedulers/.gitignore delete mode 100644 tests/old/testsuite/schedulers/142183-2.c delete mode 100644 tests/old/testsuite/schedulers/142183.c delete mode 100644 tests/old/testsuite/schedulers/143777-2.c delete mode 100644 tests/old/testsuite/schedulers/143777.c delete mode 100644 tests/old/testsuite/schedulers/147713.c delete mode 100644 tests/old/testsuite/schedulers/147819.c delete mode 100644 tests/old/testsuite/schedulers/147894-2.c delete mode 100644 tests/old/testsuite/schedulers/147894.c delete mode 100644 tests/old/testsuite/schedulers/Makefile.am delete mode 100644 tests/old/testsuite/schedulers/group_link.c delete mode 100644 tests/old/testsuite/schedulers/queue_link.c delete mode 100644 tests/old/testsuite/schedulers/relink.c delete mode 100644 tests/old/testsuite/schedulers/unlink.c delete mode 100644 tests/old/testsuite/schedulers/unref.c delete mode 100644 tests/old/testsuite/schedulers/useless_iteration.c delete mode 100644 testsuite/bytestream/.gitignore delete mode 100644 testsuite/bytestream/Makefile.am delete mode 100644 testsuite/bytestream/filepadsink.c delete mode 100644 testsuite/bytestream/gstbstest.c delete mode 100644 testsuite/bytestream/test1.c delete mode 100644 testsuite/bytestream/testfile1 delete mode 100644 testsuite/cleanup/.gitignore delete mode 100644 testsuite/cleanup/Makefile.am delete mode 100644 testsuite/cleanup/cleanup1.c delete mode 100644 testsuite/cleanup/cleanup2.c delete mode 100644 testsuite/cleanup/cleanup3.c delete mode 100644 testsuite/cleanup/cleanup4.c delete mode 100644 testsuite/cleanup/cleanup5.c delete mode 100644 testsuite/negotiation/.gitignore delete mode 100644 testsuite/negotiation/Makefile.am delete mode 100644 testsuite/negotiation/pad_link.c delete mode 100644 testsuite/pad/Makefile.am delete mode 100644 testsuite/pad/chainnopull.c delete mode 100644 testsuite/pad/getnopush.c delete mode 100644 testsuite/pad/link.c delete mode 100644 testsuite/registry/Makefile.am delete mode 100644 testsuite/registry/gst-print-formats.c delete mode 100644 testsuite/schedulers/.gitignore delete mode 100644 testsuite/schedulers/142183-2.c delete mode 100644 testsuite/schedulers/142183.c delete mode 100644 testsuite/schedulers/143777-2.c delete mode 100644 testsuite/schedulers/143777.c delete mode 100644 testsuite/schedulers/147713.c delete mode 100644 testsuite/schedulers/147819.c delete mode 100644 testsuite/schedulers/147894-2.c delete mode 100644 testsuite/schedulers/147894.c delete mode 100644 testsuite/schedulers/Makefile.am delete mode 100644 testsuite/schedulers/group_link.c delete mode 100644 testsuite/schedulers/queue_link.c delete mode 100644 testsuite/schedulers/relink.c delete mode 100644 testsuite/schedulers/unlink.c delete mode 100644 testsuite/schedulers/unref.c delete mode 100644 testsuite/schedulers/useless_iteration.c diff --git a/tests/old/testsuite/Makefile.am b/tests/old/testsuite/Makefile.am index 4d4b322350..4171eda2cf 100644 --- a/tests/old/testsuite/Makefile.am +++ b/tests/old/testsuite/Makefile.am @@ -14,20 +14,20 @@ GST_DEBUG_DIRS = debug endif SUBDIRS = \ - bytestream caps cleanup controller \ + caps \ $(GST_DEBUG_DIRS) \ dlopen \ - elements indexers negotiation pad \ + elements indexers \ $(GST_PARSE_DIRS) \ - plugin refcounting schedulers states threads trigger + plugin refcounting states threads trigger DIST_SUBDIRS = \ - bytestream caps cleanup controller \ + caps \ debug \ dlopen \ - elements indexers negotiation pad \ + elements indexers \ parse \ - plugin refcounting schedulers states threads trigger + plugin refcounting states threads trigger tests_pass = tests_fail = diff --git a/tests/old/testsuite/bytestream/.gitignore b/tests/old/testsuite/bytestream/.gitignore deleted file mode 100644 index 6b90160e0b..0000000000 --- a/tests/old/testsuite/bytestream/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -Makefile -Makefile.in -*.o -*.lo -*.la -.deps -.libs -test1 -filepadsink diff --git a/tests/old/testsuite/bytestream/Makefile.am b/tests/old/testsuite/bytestream/Makefile.am deleted file mode 100644 index 790dca8d84..0000000000 --- a/tests/old/testsuite/bytestream/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -include ../Rules - -tests_pass = filepadsink -tests_fail = test1 -tests_ignore = - -test1_SOURCES = test1.c gstbstest.c -test1_LDFLAGS = $(top_builddir)/libs/gst/bytestream/libgstbytestream.la - -filepadsink_CFLAGS = $(AM_CFLAGS) -DTHE_FILE=\""$(top_srcdir)/configure.ac"\" -filepadsink_LDFLAGS = $(top_builddir)/libs/gst/bytestream/libgstbytestream.la diff --git a/tests/old/testsuite/bytestream/filepadsink.c b/tests/old/testsuite/bytestream/filepadsink.c deleted file mode 100644 index 0b4769fe2f..0000000000 --- a/tests/old/testsuite/bytestream/filepadsink.c +++ /dev/null @@ -1,282 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif -#include -#include -#include -#include - -#define GST_TYPE_FP_SINK \ - (gst_fp_sink_get_type()) -#define GST_FP_SINK(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FP_SINK,GstFpSink)) -#define GST_FP_SINK_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FP_SINK,GstFpSinkClass)) -#define GST_IS_FP_SINK(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FP_SINK)) -#define GST_IS_FP_SINK_CLASS(obj) \ - (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FP_SINK)) - - -typedef struct _GstFpSink GstFpSink; -typedef struct _GstFpSinkClass GstFpSinkClass; - -struct _GstFpSink -{ - GstElement element; - /* pads */ - GstFilePad *sinkpad; - - /* fd */ - FILE *stream; - guint state; -}; - -struct _GstFpSinkClass -{ - GstElementClass parent_class; -}; - -GST_BOILERPLATE (GstFpSink, gst_fp_sink, GstElement, GST_TYPE_ELEMENT); - -static void do_tests (GstFilePad * pad); - - -static void -gst_fp_sink_base_init (gpointer g_class) -{ -} - -static void -gst_fp_sink_class_init (GstFpSinkClass * klass) -{ -} - -static GstStaticPadTemplate template = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("ANY") - ); - -static void -gst_fp_sink_init (GstFpSink * fp) -{ - GST_OBJECT_FLAG_SET (fp, GST_ELEMENT_EVENT_AWARE); - - fp->sinkpad = - GST_FILE_PAD (gst_file_pad_new (gst_static_pad_template_get (&template), - "sink")); - gst_file_pad_set_iterate_function (fp->sinkpad, do_tests); - gst_element_add_pad (GST_ELEMENT (fp), GST_PAD (fp->sinkpad)); -} - -#define THE_CHECK(result) G_STMT_START{ \ - gint64 pos = gst_file_pad_tell(fp->sinkpad); \ - if (pos >= 0) \ - g_assert (pos == ftell (fp->stream)); \ - g_print ("%s (%"G_GINT64_FORMAT")\n", result ? "OK" : "no", pos); \ - return result; \ -}G_STMT_END -#define FAIL THE_CHECK(FALSE) -#define SUCCESS THE_CHECK(TRUE) - -static gboolean -fp_read (GstFpSink * fp, guint size) -{ - guint8 buf[size], buf2[size]; - gint64 amount; - - g_print ("reading %u bytes...", size); - amount = gst_file_pad_read (fp->sinkpad, buf, size); - if (amount == -EAGAIN) - FAIL; - g_assert (amount == size); - amount = fread (buf2, 1, amount, fp->stream); - g_assert (amount == size); - if (memcmp (buf, buf2, amount) != 0) - g_assert_not_reached (); - fp->state++; - SUCCESS; -} - -static gboolean -fp_try_read (GstFpSink * fp, guint size) -{ - guint8 buf[size], buf2[size]; - gint64 amount; - size_t amount2; - - g_print ("reading %u bytes...", size); - amount = gst_file_pad_try_read (fp->sinkpad, buf, size); - if (amount == -EAGAIN) - FAIL; - g_assert (amount > 0); - amount2 = fread (buf2, 1, amount, fp->stream); - g_assert (amount == amount2); - if (memcmp (buf, buf2, amount) != 0) - g_assert_not_reached (); - fp->state++; - SUCCESS; -} - -static gboolean -fp_seek (GstFpSink * fp, gint64 pos, GstSeekType whence) -{ - int seek_type = whence == GST_SEEK_METHOD_SET ? SEEK_SET : - whence == GST_SEEK_METHOD_CUR ? SEEK_CUR : SEEK_END; - - g_print ("seeking to %s %" G_GINT64_FORMAT " bytes...", - whence == GST_SEEK_METHOD_SET ? "" : whence == - GST_SEEK_METHOD_CUR ? "+-" : "-", pos); - if (gst_file_pad_seek (fp->sinkpad, pos, whence) != 0) - g_assert_not_reached (); - if (fseek (fp->stream, pos, seek_type) != 0) - g_assert_not_reached (); - fp->state++; - SUCCESS; -} - -static gboolean -fp_eof (GstFpSink * fp) -{ - guint8 buf; - - g_print ("checking for EOF..."); - if (!gst_file_pad_eof (fp->sinkpad)) - FAIL; - if (fread (&buf, 1, 1, fp->stream) != 0) - g_assert_not_reached (); - fp->state++; - SUCCESS; -} - -#define MIN_SIZE 10050 -#define MAX_SIZE 1000000 -static void -do_tests (GstFilePad * pad) -{ - GstFpSink *fp = GST_FP_SINK (gst_pad_get_parent (GST_PAD (pad))); - - while (TRUE) { - switch (fp->state) { - case 0: - if (!fp_try_read (fp, 50)) - return; - break; - case 1: - if (!fp_try_read (fp, MAX_SIZE)) /* more than file size */ - return; - break; - case 2: - if (!fp_seek (fp, 0, GST_SEEK_METHOD_SET)) - return; - break; - case 3: - if (!fp_read (fp, 50)) - return; - break; - case 4: - if (!fp_read (fp, MIN_SIZE - 50)) /* bigger than 1 buffer */ - return; - break; - case 5: - if (!fp_seek (fp, -200, GST_SEEK_METHOD_CUR)) - return; - break; - case 6: - if (!fp_read (fp, 50)) - return; - break; - case 7: - if (!fp_seek (fp, 50, GST_SEEK_METHOD_CUR)) - return; - break; - case 8: - if (!fp_read (fp, 50)) - return; - break; - case 9: - if (!fp_seek (fp, MIN_SIZE - 50, GST_SEEK_METHOD_SET)) - return; - break; - case 10: - if (!fp_read (fp, 50)) - return; - break; - case 11: - if (!fp_seek (fp, 0, GST_SEEK_METHOD_END)) - return; - break; - case 12: - if (!fp_eof (fp)) - return; - gst_element_set_eos (GST_ELEMENT (fp)); - return; - default: - g_assert_not_reached (); - } - } -} - -#ifndef THE_FILE -# define THE_FILE "../../configure.ac" -#endif -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink; - long size; - - gst_init (&argc, &argv); - gst_library_load ("gstbytestream"); - - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("filesrc", NULL); - g_assert (src); - sink = g_object_new (GST_TYPE_FP_SINK, NULL); - gst_object_set_name (GST_OBJECT (sink), "sink"); - gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); - if (!gst_element_link (src, sink)) - g_assert_not_reached (); - g_object_set (src, "location", THE_FILE, NULL); - GST_FP_SINK (sink)->stream = fopen (THE_FILE, "rb"); - g_assert (GST_FP_SINK (sink)->stream); - /* check correct file sizes */ - if (fseek (GST_FP_SINK (sink)->stream, 0, SEEK_END) != 0) - g_assert_not_reached (); - size = ftell (GST_FP_SINK (sink)->stream); - if (fseek (GST_FP_SINK (sink)->stream, 0, SEEK_SET) != 0) - g_assert_not_reached (); - g_assert (size >= MIN_SIZE); - g_assert (size <= MAX_SIZE); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (gst_bin_iterate (GST_BIN (pipeline))); - - g_assert (GST_FP_SINK (sink)->state == 13); - g_object_unref (pipeline); - pipeline = NULL; - return 0; -} diff --git a/tests/old/testsuite/bytestream/gstbstest.c b/tests/old/testsuite/bytestream/gstbstest.c deleted file mode 100644 index d126136179..0000000000 --- a/tests/old/testsuite/bytestream/gstbstest.c +++ /dev/null @@ -1,418 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen - * 2000 Wim Taymans - * - * gstbstest.c: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include -#include - -#include -#include - -#define GST_TYPE_BSTEST (gst_bstest_get_type()) -#define GST_BSTEST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BSTEST,GstBsTest)) -#define GST_BSTEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BSTEST,GstBsTestClass)) -#define GST_IS_BSTEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BSTEST)) -#define GST_IS_BSTEST_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BSTEST)) - -typedef struct _GstBsTest GstBsTest; -typedef struct _GstBsTestClass GstBsTestClass; - -struct _GstBsTest -{ - GstElement element; - - GstPad *sinkpad; - GstPad *srcpad; - - GstByteStream *bs; - - gchar *accesspattern; - guint num_patterns; - gchar **patterns; - guint sizemin; - guint sizemax; - gint count; - gboolean silent; -}; - -struct _GstBsTestClass -{ - GstElementClass parent_class; -}; - -GType gst_bstest_get_type (void); - - -GstElementDetails gst_bstest_details = GST_ELEMENT_DETAILS ("ByteStreamTest", - "Filter", - "Test for the GstByteStream code", - "Erik Walthinsen , " - "Wim Taymans "); - - -/* BsTest signals and args */ -enum -{ - /* FILL ME */ - LAST_SIGNAL -}; - -enum -{ - ARG_0, - ARG_SIZEMIN, - ARG_SIZEMAX, - ARG_COUNT, - ARG_SILENT, - ARG_ACCESSPATTERN, -}; - - -static void gst_bstest_base_init (gpointer g_class); -static void gst_bstest_class_init (GstBsTestClass * klass); -static void gst_bstest_init (GstBsTest * bstest); - -static void gst_bstest_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec); -static void gst_bstest_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec); - -static GstStateChangeReturn gst_bstest_change_state (GstElement * element, - GstStateChange transition); -static void gst_bstest_loop (GstElement * element); - -static GstElementClass *parent_class = NULL; - -/* static guint gst_bstest_signals[LAST_SIGNAL] = { 0 }; */ - -GType -gst_bstest_get_type (void) -{ - static GType bstest_type = 0; - - if (!bstest_type) { - static const GTypeInfo bstest_info = { - sizeof (GstBsTestClass), - gst_bstest_base_init, - NULL, - (GClassInitFunc) gst_bstest_class_init, - NULL, - NULL, - sizeof (GstBsTest), - 0, - (GInstanceInitFunc) gst_bstest_init, - }; - - bstest_type = - g_type_register_static (GST_TYPE_ELEMENT, "BSTest", &bstest_info, 0); - } - return bstest_type; -} -static void -gst_bstest_base_init (gpointer g_class) -{ - GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class); - - gst_element_class_set_details (gstelement_class, &gst_bstest_details); -} - -static void -gst_bstest_class_init (GstBsTestClass * klass) -{ - GObjectClass *gobject_class; - GstElementClass *gstelement_class; - - gobject_class = (GObjectClass *) klass; - gstelement_class = (GstElementClass *) klass; - - parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SIZEMIN, - g_param_spec_int ("sizemin", "sizemin", "sizemin", 0, G_MAXINT, - 0, G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SIZEMAX, - g_param_spec_int ("sizemax", "sizemax", "sizemax", 0, G_MAXINT, - 384, G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ACCESSPATTERN, - g_param_spec_string ("accesspattern", "accesspattern", "accesspattern", - "r", G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_COUNT, - g_param_spec_uint ("count", "count", "count", - 0, G_MAXUINT, 0, G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SILENT, - g_param_spec_boolean ("silent", "silent", "silent", - FALSE, G_PARAM_READWRITE)); - - gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_bstest_set_property); - gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_bstest_get_property); - - gstelement_class->change_state = gst_bstest_change_state; - -} - -static GstCaps * -gst_bstest_getcaps (GstPad * pad) -{ - GstBsTest *bstest = GST_BSTEST (gst_pad_get_parent (pad)); - GstPad *otherpad; - - otherpad = (pad == bstest->srcpad) ? bstest->sinkpad : bstest->srcpad; - - return gst_pad_get_allowed_caps (otherpad); -} - -GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS_ANY); - -GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS_ANY); - -static void -gst_bstest_init (GstBsTest * bstest) -{ - bstest->sinkpad = - gst_pad_new_from_template (gst_static_pad_template_get (&sinktemplate), - "sink"); - gst_element_add_pad (GST_ELEMENT (bstest), bstest->sinkpad); - gst_pad_set_getcaps_function (bstest->sinkpad, gst_bstest_getcaps); - - bstest->srcpad = - gst_pad_new_from_template (gst_static_pad_template_get (&srctemplate), - "src"); - gst_element_add_pad (GST_ELEMENT (bstest), bstest->srcpad); - gst_pad_set_getcaps_function (bstest->srcpad, gst_bstest_getcaps); - - gst_element_set_loop_function (GST_ELEMENT (bstest), gst_bstest_loop); - - bstest->sizemin = 0; - bstest->sizemax = 384; - bstest->accesspattern = g_strdup ("r"); - bstest->patterns = g_strsplit (bstest->accesspattern, ":", 0); - bstest->count = 5; - bstest->silent = FALSE; - bstest->bs = NULL; -} - -static guint -gst_bstest_get_size (GstBsTest * bstest, gchar * sizestring, guint prevsize) -{ - guint size; - - if (sizestring[0] == 0) { - size = bstest->sizemax; - } else if (sizestring[0] == 'r') { - size = - bstest->sizemin + - (guint8) (((gfloat) bstest->sizemax) * rand () / (RAND_MAX + - (gfloat) bstest->sizemin)); - } else if (sizestring[0] == '<') { - size = prevsize; - } else { - size = atoi (sizestring); - } - - if (size == 0) - size++; - - return size; -} - -static void -gst_bstest_loop (GstElement * element) -{ - GstBsTest *bstest; - GstBuffer *buf = NULL; - - g_return_if_fail (element != NULL); - g_return_if_fail (GST_IS_BSTEST (element)); - - bstest = GST_BSTEST (element); - - do { - guint size = 0; - guint i = 0; - guint8 *ptr; - - while (i < bstest->num_patterns) { - buf = NULL; - - if (bstest->patterns[i][0] == 'r') { - size = gst_bstest_get_size (bstest, &bstest->patterns[i][1], size); - if (!bstest->silent) - g_print ("bstest: ***** read %d bytes\n", size); - gst_bytestream_read (bstest->bs, &buf, size); - } else if (bstest->patterns[i][0] == 'f') { - size = gst_bstest_get_size (bstest, &bstest->patterns[i][1], size); - if (!bstest->silent) - g_print ("bstest: ***** flush %d bytes\n", size); - gst_bytestream_flush (bstest->bs, size); - } else if (!strncmp (bstest->patterns[i], "pb", 2)) { - size = gst_bstest_get_size (bstest, &bstest->patterns[i][2], size); - if (!bstest->silent) - g_print ("bstest: ***** peek bytes %d bytes\n", size); - gst_bytestream_peek_bytes (bstest->bs, &ptr, size); - } else if (bstest->patterns[i][0] == 'p') { - size = gst_bstest_get_size (bstest, &bstest->patterns[i][1], size); - if (!bstest->silent) - g_print ("bstest: ***** peek %d bytes\n", size); - gst_bytestream_peek (bstest->bs, &buf, size); - gst_buffer_unref (buf); - buf = NULL; - } - - if (buf) - gst_pad_push (bstest->srcpad, GST_DATA (buf)); - - i++; - } -/* } while (!GST_ELEMENT_IS_COTHREAD_STOPPING (element)); */ - - } while (0); -} - -static void -gst_bstest_set_property (GObject * object, guint prop_id, const GValue * value, - GParamSpec * pspec) -{ - GstBsTest *bstest; - - g_return_if_fail (GST_IS_BSTEST (object)); - - bstest = GST_BSTEST (object); - - switch (prop_id) { - case ARG_SIZEMIN: - bstest->sizemin = g_value_get_int (value); - break; - case ARG_SIZEMAX: - bstest->sizemax = g_value_get_int (value); - break; - case ARG_ACCESSPATTERN: - if (bstest->accesspattern) { - g_free (bstest->accesspattern); - g_strfreev (bstest->patterns); - } - if (g_value_get_string (value) == NULL) { - gst_element_set_state (GST_ELEMENT (object), GST_STATE_NULL); - bstest->accesspattern = NULL; - bstest->num_patterns = 0; - } else { - guint i = 0; - - bstest->accesspattern = g_strdup (g_value_get_string (value)); - bstest->patterns = g_strsplit (bstest->accesspattern, ":", 0); - while (bstest->patterns[i++]); - bstest->num_patterns = i - 1; - } - break; - case ARG_COUNT: - bstest->count = g_value_get_uint (value); - break; - case ARG_SILENT: - bstest->silent = g_value_get_boolean (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gst_bstest_get_property (GObject * object, guint prop_id, GValue * value, - GParamSpec * pspec) -{ - GstBsTest *bstest; - - g_return_if_fail (GST_IS_BSTEST (object)); - - bstest = GST_BSTEST (object); - - switch (prop_id) { - case ARG_SIZEMIN: - g_value_set_int (value, bstest->sizemin); - break; - case ARG_SIZEMAX: - g_value_set_int (value, bstest->sizemax); - break; - case ARG_ACCESSPATTERN: - g_value_set_string (value, bstest->accesspattern); - break; - case ARG_COUNT: - g_value_set_uint (value, bstest->count); - break; - case ARG_SILENT: - g_value_set_boolean (value, bstest->silent); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static GstStateChangeReturn -gst_bstest_change_state (GstElement * element, GstStateChange transition) -{ - GstBsTest *bstest; - - g_return_val_if_fail (GST_IS_BSTEST (element), GST_STATE_CHANGE_FAILURE); - - bstest = GST_BSTEST (element); - - if (GST_STATE_PENDING (element) == GST_STATE_NULL) { - if (bstest->bs) { - gst_bytestream_destroy (bstest->bs); - bstest->bs = NULL; - } - } else { - if (!bstest->bs) { - bstest->bs = gst_bytestream_new (bstest->sinkpad); - } - } - - if (GST_ELEMENT_CLASS (parent_class)->change_state) - return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); - - return GST_STATE_CHANGE_SUCCESS; -} - -static gboolean -plugin_init (GstPlugin * plugin) -{ - /* We need to create an ElementFactory for each element we provide. - * This consists of the name of the element, the GType identifier, - * and a pointer to the details structure at the top of the file. - */ - return gst_element_register (plugin, "bstest", GST_RANK_PRIMARY, - GST_TYPE_BSTEST); -} - -GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, - GST_VERSION_MINOR, - "bstest", - "test for the bytestream element", - plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN) diff --git a/tests/old/testsuite/bytestream/test1.c b/tests/old/testsuite/bytestream/test1.c deleted file mode 100644 index fde56402c6..0000000000 --- a/tests/old/testsuite/bytestream/test1.c +++ /dev/null @@ -1,230 +0,0 @@ -#include -#include - -#include - -#define VM_THRES 1000 -#define MAX_CONFIG_LINE 255 -#define MAX_CONFIG_PATTERN 64 - -typedef struct -{ - gint src_data; - gint src_sizetype; - - gchar *bs_accesspattern; - - gboolean integrity_check; -} -TestParam; - -static GSList *params = NULL; - -static guint8 count; -static guint iterations; -static gboolean integrity_check = TRUE; -static gboolean verbose = FALSE; -static gboolean dump = FALSE; - -static void -handoff (GstElement * element, GstBuffer * buf, GstPad * pad, gpointer data) -{ - if (GST_IS_BUFFER (buf)) { - if (integrity_check) { - gint i; - guint8 *ptr = GST_BUFFER_DATA (buf); - - for (i = 0; i < GST_BUFFER_SIZE (buf); i++) { - if (*ptr++ != count++) { - g_print ("data error!\n"); - return; - } - } - } - } else { - g_print ("not a buffer ! %p\n", buf); - } -} -static gchar * -create_desc (TestParam * param) -{ - gchar *desc; - - desc = - g_strdup_printf ("%s %s, pattern %s", - (param->src_sizetype == 2 ? "fixed" : "random"), - (param->src_data == 1 ? "src" : "subbuffer"), param->bs_accesspattern); - return desc; -} - -static gboolean -read_param_file (gchar * filename) -{ - FILE *fp; - gchar line[MAX_CONFIG_LINE + 1]; - guint linenr = 0; - gchar pattern[MAX_CONFIG_PATTERN]; - gint data, sizetype, integrity_check; - gchar *scan_str; - gboolean res = TRUE; - - fp = fopen (filename, "rb"); - if (fp == NULL) - return FALSE; - - scan_str = g_strdup_printf ("%%d %%d %%%ds %%d", MAX_CONFIG_PATTERN - 1); - - while (fgets (line, MAX_CONFIG_LINE, fp)) { - linenr++; - - if (line[0] == '\n' || line[0] == '#') - continue; - - if (sscanf (line, scan_str, &data, &sizetype, pattern, - &integrity_check) != 4) { - g_print ("error on line: %d\n", linenr); - res = FALSE; - break; - } else { - TestParam *param = g_malloc (sizeof (TestParam)); - - param->src_data = data; - param->src_sizetype = sizetype; - param->bs_accesspattern = g_strdup (pattern); - param->integrity_check = (integrity_check == 0 ? FALSE : TRUE); - - params = g_slist_append (params, param); - } - } - g_free (scan_str); - - return res; -} - -static void -run_test (GstBin * pipeline, gint iters) -{ - gint vm = 0; - gint maxiters = iters; - gint prev_percent = -1; - - count = 0; - gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING); - - while (iters) { - gint newvm = gst_alloc_trace_live_all (); - gint percent; - - percent = (gint) ((maxiters - iters + 1) * 100.0 / maxiters); - - if (percent != prev_percent || newvm - vm > VM_THRES) { - g_print ("\r%d (delta %d) %.3d%% ", newvm, newvm - vm, - percent); - prev_percent = percent; - vm = newvm; - } - gst_bin_iterate (pipeline); - - if (iters > 0) - iters--; - } - gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL); -} - -static void -usage (char *argv[]) -{ - g_print ("usage: %s [--verbose] [--dump] \n", - argv[0]); -} - -int -main (int argc, char *argv[]) -{ - GstElement *src; - GstElement *sink; - GstElement *bs; - GstElement *pipeline; - gint testnum = 0; - GSList *walk; - gint arg_walk; - - gst_alloc_trace_set_flags_all (GST_ALLOC_TRACE_LIVE); - gst_init (&argc, &argv); - - arg_walk = 1; - while ((arg_walk < argc) && (argv[arg_walk][0] == '-')) { - if (!strncmp (argv[arg_walk], "--verbose", 9)) - verbose = TRUE; - else if (!strncmp (argv[arg_walk], "--dump", 6)) - dump = TRUE; - else { - g_print ("unknown option %s (ignored)\n", argv[arg_walk]); - } - - arg_walk++; - } - if (argc - arg_walk < 2) { - usage (argv); - return -1; - } - if (!read_param_file (argv[arg_walk])) { - g_print ("error reading file %s\n", argv[arg_walk]); - usage (argv); - return -1; - } - arg_walk++; - iterations = atoi (argv[arg_walk]); - - pipeline = gst_element_factory_make ("pipeline", "pipeline"); - g_assert (pipeline); - - src = gst_element_factory_make ("fakesrc", "src"); - g_assert (src); - - sink = gst_element_factory_make ("fakesink", "sink"); - g_assert (sink); - g_object_set (sink, "signal-handoff", TRUE, NULL); - g_signal_connect (G_OBJECT (sink), "handoff", G_CALLBACK (handoff), NULL); - - bs = gst_element_factory_make ("bstest", "bs"); - g_assert (bs); - - gst_element_link_many (src, bs, sink, NULL); - - gst_bin_add_many (GST_BIN (pipeline), src, bs, sink, NULL); - - walk = params; - - while (walk) { - gchar *desc; - TestParam *param = (TestParam *) (walk->data); - - integrity_check = param->integrity_check; - - g_print ("\n\nrunning test %d (%d iterations):\n", testnum + 1, iterations); - desc = create_desc (param); - g_print ("%s\n", desc); - g_free (desc); - - g_object_set (G_OBJECT (src), "data", param->src_data, - "sizetype", param->src_sizetype, - "filltype", (integrity_check ? 5 : 0), "silent", !verbose, NULL); - - g_object_set (G_OBJECT (bs), "accesspattern", param->bs_accesspattern, - "silent", !verbose, NULL); - - g_object_set (G_OBJECT (sink), "dump", dump, "silent", !verbose, NULL); - - run_test (GST_BIN (pipeline), iterations); - - testnum++; - - walk = g_slist_next (walk); - } - - g_print ("\n\ndone\n"); - - return 0; - -} diff --git a/tests/old/testsuite/bytestream/testfile1 b/tests/old/testsuite/bytestream/testfile1 deleted file mode 100644 index 68a32dd582..0000000000 --- a/tests/old/testsuite/bytestream/testfile1 +++ /dev/null @@ -1,93 +0,0 @@ -# lots of parameters here. values for the columns are like: -# -# - data property in fakesrc: 1 = allocate, 2 = subbuffer -# - sizetype property in fakesrc: 2 = fixed, 3 = random -# -# - accesspattern for bstest -# [:...] -# -# can be: -# r = read -# p = peek -# pb = peek bytes -# f = flush -# can be: -# = fixed size -# r = random size -# < = previous size -# = this size -# -# - integrity check: 0 = no, 1 = yes -# -1 2 r 1 -1 2 rr 1 -1 3 r 1 -1 3 rr 1 -2 2 r 1 -2 2 rr 1 -2 3 r 1 -2 3 rr 1 -1 2 p:r< 1 -1 2 pr:r< 1 -1 3 p:r< 1 -1 3 pr:r< 1 -2 2 p:r< 1 -2 2 pr:r< 1 -2 3 p:r< 1 -2 3 pr:r< 1 -1 2 p:rr 1 -1 2 pr:rr 1 -1 3 p:rr 1 -1 3 pr:rr 1 -2 2 p:rr 1 -2 2 pr:rr 1 -2 3 p:rr 1 -2 3 pr:rr 1 -1 2 pb:r 1 -1 2 pbr:r 1 -1 3 pb:r 1 -1 3 pbr:r 1 -2 2 pb:r 1 -2 2 pbr:r 1 -2 3 pb:r 1 -2 3 pbr:r 1 -1 2 pb:rr 1 -1 2 pbr:rr 1 -1 3 pb:rr 1 -1 3 pbr:rr 1 -2 2 pb:rr 1 -2 2 pbr:rr 1 -2 3 pb:rr 1 -2 3 pbr:rr 1 -1 2 p:fr:rr 0 -1 2 pr:fr:rr 0 -1 3 p:fr:rr 0 -1 3 pr:fr:rr 0 -2 2 p:fr:rr 0 -2 2 pr:fr:rr 0 -2 3 p:fr:rr 0 -2 3 pr:fr:rr 0 -1 2 fr:rr 0 -1 2 fr:rr 0 -1 3 fr:rr 0 -1 3 fr:rr 0 -2 2 fr:rr 0 -2 2 fr:rr 0 -2 3 fr:rr 0 -2 3 fr:rr 0 -1 2 fr:fr:rr 0 -1 2 fr:fr:rr 0 -1 3 fr:fr:rr 0 -1 3 fr:fr:rr 0 -2 2 fr:fr:rr 0 -2 2 fr:fr:rr 0 -2 3 fr:fr:rr 0 -2 3 fr:fr:rr 0 -1 2 pbr:pbr:rr 1 -1 2 pbr:pbr:rr 1 -1 3 pbr:pbr:rr 1 -1 3 pbr:pbr:rr 1 -2 2 pbr:pbr:rr 1 -2 2 pbr:pbr:rr 1 -2 3 pbr:pbr:rr 1 -2 3 pbr:pbr:rr 1 diff --git a/tests/old/testsuite/caps/normalisation.c b/tests/old/testsuite/caps/normalisation.c index 4d1eae3955..0690574a8d 100644 --- a/tests/old/testsuite/caps/normalisation.c +++ b/tests/old/testsuite/caps/normalisation.c @@ -36,7 +36,7 @@ GST_CAPS_FACTORY (rawcaps4, "fourcc", GST_PROPS_LIST ( GST_PROPS_FOURCC (GST_STR_FOURCC ("YUY2")), GST_PROPS_FOURCC (GST_STR_FOURCC ("YV12")), - GST_PROPS_FOURCC (GST_STR_FOURCC ("YUYV")) + GST_PROPS_FOURCC (GST_STR_FOURCC ("YUYV")) ), "height", GST_PROPS_INT_RANGE (16, 4096) ) diff --git a/tests/old/testsuite/caps/random.c b/tests/old/testsuite/caps/random.c index d604436c07..e95b01cb40 100644 --- a/tests/old/testsuite/caps/random.c +++ b/tests/old/testsuite/caps/random.c @@ -31,13 +31,13 @@ gint main (gint argc, gchar * argv[]) { /* this file contains random tests for stuff that went wrong in some version - * and should be tested so we're sure it works right now + * and should be tested so we're sure it works right now * Please add what exactly the code tests for in your test */ gst_init (&argc, &argv); /* TEST 1: - * gstcaps.c 1.120 used a code path that caused a GST_ERROR for the tested + * gstcaps.c 1.120 used a code path that caused a GST_ERROR for the tested * caps when simplifying even though that is absolutely valid */ { GstCaps *caps = @@ -50,7 +50,7 @@ main (gint argc, gchar * argv[]) } /* TEST 2: - * gstvalue.c 1.34 had a broken comparison function for int ranges that + * gstvalue.c 1.34 had a broken comparison function for int ranges that * returned GST_VALUE_EQUAL even though the range end was different */ { GValue v1 = { 0, }; diff --git a/tests/old/testsuite/cleanup/.gitignore b/tests/old/testsuite/cleanup/.gitignore deleted file mode 100644 index 21be5cc590..0000000000 --- a/tests/old/testsuite/cleanup/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -test-registry.xml -*.bb -*.bbg -*.da - -cleanup1 -cleanup2 -cleanup3 -cleanup4 -cleanup5 diff --git a/tests/old/testsuite/cleanup/Makefile.am b/tests/old/testsuite/cleanup/Makefile.am deleted file mode 100644 index ba1e603d54..0000000000 --- a/tests/old/testsuite/cleanup/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -include ../Rules - -tests_pass = cleanup1 cleanup2 cleanup4 cleanup5 -tests_fail = - -# cleanup3 fails depending on the machine -tests_ignore = cleanup3 diff --git a/tests/old/testsuite/cleanup/cleanup1.c b/tests/old/testsuite/cleanup/cleanup1.c deleted file mode 100644 index 05a97b506f..0000000000 --- a/tests/old/testsuite/cleanup/cleanup1.c +++ /dev/null @@ -1,60 +0,0 @@ -#include - -static GstElement * -create_pipeline (void) -{ - GstElement *fakesrc, *fakesink; - GstElement *pipeline; - - - pipeline = gst_pipeline_new ("main_pipeline"); - - fakesrc = gst_element_factory_make ("fakesrc", "fakesrc"); - fakesink = gst_element_factory_make ("fakesink", "fakesink"); - - gst_bin_add_many (GST_BIN (pipeline), fakesrc, fakesink, NULL); - - gst_element_link (fakesrc, fakesink); - - g_object_set (G_OBJECT (fakesrc), "num_buffers", 5, NULL); - - return pipeline; -} - -gint -main (gint argc, gchar * argv[]) -{ - GstElement *pipeline; - gint i = 1000; - gint step = 100; - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - g_mem_chunk_info (); - while (i--) { - if (i % step == 0) - fprintf (stderr, "%10d\r", i); - pipeline = create_pipeline (); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_object_unref (pipeline); - - } - fprintf (stderr, "\n"); - g_mem_chunk_info (); - - return 0; -} diff --git a/tests/old/testsuite/cleanup/cleanup2.c b/tests/old/testsuite/cleanup/cleanup2.c deleted file mode 100644 index 06c0416b70..0000000000 --- a/tests/old/testsuite/cleanup/cleanup2.c +++ /dev/null @@ -1,64 +0,0 @@ -#include - -static GstElement * -create_pipeline (void) -{ - GstElement *fakesrc, *fakesink; - GstElement *pipeline; - GstElement *bin; - - pipeline = gst_pipeline_new ("main_pipeline"); - - fakesrc = gst_element_factory_make ("fakesrc", "fakesrc"); - bin = gst_bin_new ("bin"); - fakesink = gst_element_factory_make ("fakesink", "fakesink"); - gst_bin_add (GST_BIN (bin), fakesink); - gst_element_add_ghost_pad (bin, gst_element_get_pad (fakesink, "sink"), - "sink"); - - gst_bin_add_many (GST_BIN (pipeline), fakesrc, bin, NULL); - - gst_element_link (fakesrc, bin); - - g_object_set (G_OBJECT (fakesrc), "num_buffers", 5, NULL); - - return pipeline; -} - -gint -main (gint argc, gchar * argv[]) -{ - GstElement *pipeline; - gint i = 1000; - gint step = 100; - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - - g_mem_chunk_info (); - while (i--) { - if (i % step == 0) - fprintf (stderr, "%10d\r", i); - pipeline = create_pipeline (); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_object_unref (pipeline); - } - fprintf (stderr, "\n"); - g_mem_chunk_info (); - - return 0; -} diff --git a/tests/old/testsuite/cleanup/cleanup3.c b/tests/old/testsuite/cleanup/cleanup3.c deleted file mode 100644 index 5b22ca987f..0000000000 --- a/tests/old/testsuite/cleanup/cleanup3.c +++ /dev/null @@ -1,68 +0,0 @@ -#include - -static GstElement * -create_pipeline (void) -{ - GstElement *fakesrc, *fakesink; - GstElement *pipeline; - GstElement *thread, *queue; - - pipeline = gst_pipeline_new ("main_pipeline"); - - fakesrc = gst_element_factory_make ("fakesrc", "fakesrc"); - thread = gst_thread_new ("thread"); - fakesink = gst_element_factory_make ("fakesink", "fakesink"); - queue = gst_element_factory_make ("queue", "queue"); - gst_bin_add (GST_BIN (thread), fakesink); - gst_bin_add (GST_BIN (thread), queue); - gst_element_link (queue, fakesink); - gst_element_add_ghost_pad (thread, gst_element_get_pad (queue, "sink"), - "sink"); - - gst_element_link (fakesrc, thread); - - gst_bin_add (GST_BIN (pipeline), fakesrc); - gst_bin_add (GST_BIN (pipeline), thread); - - g_object_set (G_OBJECT (fakesrc), "num_buffers", 5, NULL); - - return pipeline; -} - -gint -main (gint argc, gchar * argv[]) -{ - GstElement *pipeline; - gint i = 10000; - gint step = 100; - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - - g_mem_chunk_info (); - while (i--) { - if (i % step == 0) - fprintf (stderr, "%10d\r", i); - pipeline = create_pipeline (); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_object_unref (pipeline); - } - fprintf (stderr, "\n"); - g_mem_chunk_info (); - - return 0; -} diff --git a/tests/old/testsuite/cleanup/cleanup4.c b/tests/old/testsuite/cleanup/cleanup4.c deleted file mode 100644 index a82b3f9a68..0000000000 --- a/tests/old/testsuite/cleanup/cleanup4.c +++ /dev/null @@ -1,52 +0,0 @@ -#include - -gint -main (gint argc, gchar * argv[]) -{ - GstElement *pipeline; - GstElement *fakesrc; - gint i; - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - i = 1000; - - pipeline = gst_pipeline_new ("main_pipeline"); - - fakesrc = gst_element_factory_make ("fakesrc", "fakesrc"); - g_object_set (G_OBJECT (fakesrc), "num_buffers", 5, NULL); - gst_bin_add (GST_BIN (pipeline), fakesrc); - - g_mem_chunk_info (); - while (i--) { - GstElement *bin; - GstElement *fakesink; - - g_print ("+"); - - bin = gst_bin_new ("bin"); - - fakesink = gst_element_factory_make ("fakesink", "fakesink"); - - gst_bin_add (GST_BIN (bin), fakesink); - gst_bin_add (GST_BIN (pipeline), bin); - - gst_element_link (fakesrc, fakesink); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - g_print ("-"); - gst_bin_remove (GST_BIN (pipeline), GST_ELEMENT (bin)); - - } - g_print ("\n"); - g_mem_chunk_info (); - - return 0; -} diff --git a/tests/old/testsuite/cleanup/cleanup5.c b/tests/old/testsuite/cleanup/cleanup5.c deleted file mode 100644 index fef2c834b8..0000000000 --- a/tests/old/testsuite/cleanup/cleanup5.c +++ /dev/null @@ -1,41 +0,0 @@ -#include - -int -main (int argc, char *argv[]) -{ - GstElement *bin, *element; - gint i = 1000; - gint step = 100; - - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - g_mem_chunk_info (); - - bin = gst_pipeline_new ("pipeline"); - - while (i--) { - GstPad *pad; - - if (i % step == 0) - fprintf (stderr, "\r%10d", i); - - element = gst_element_factory_make ("tee", "tee"); - if (!element) - break; - - pad = gst_element_get_request_pad (element, "src%d"); - - gst_bin_add (GST_BIN (bin), element); - gst_bin_remove (GST_BIN (bin), element); - - } - fprintf (stderr, "+\n"); - - gst_object_unref (bin); - - g_mem_chunk_info (); - return 0; -} diff --git a/tests/old/testsuite/controller/interpolator.c b/tests/old/testsuite/controller/interpolator.c index 3d34a9e35c..45d44239ad 100644 --- a/tests/old/testsuite/controller/interpolator.c +++ b/tests/old/testsuite/controller/interpolator.c @@ -1,6 +1,6 @@ /* * interpolator.c - * + * * test interpolator methods * */ diff --git a/tests/old/testsuite/debug/printf_extension.c b/tests/old/testsuite/debug/printf_extension.c index 393f68a7c7..67e9d3ce46 100644 --- a/tests/old/testsuite/debug/printf_extension.c +++ b/tests/old/testsuite/debug/printf_extension.c @@ -38,7 +38,7 @@ main (gint argc, gchar * argv[]) GST_ERROR ("This should print null: %" GST_PTR_FORMAT, NULL); GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &null); /* 64 bit address to a 32 bit int will cause the GObject interpretation - * to segfault; since GST_PTR_FORMAT only works on stuff with + * to segfault; since GST_PTR_FORMAT only works on stuff with * sizeof(gpointer) */ /* GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &zero); */ diff --git a/tests/old/testsuite/elements/tee.c b/tests/old/testsuite/elements/tee.c index 9f4a528e6b..332513ae46 100644 --- a/tests/old/testsuite/elements/tee.c +++ b/tests/old/testsuite/elements/tee.c @@ -5,7 +5,7 @@ * which shows a bug in 0.3.2 : * request pad, get 0 * request pad, get 1 - * remove pad 0, + * remove pad 0, * request pad, get 1 (number of pads), already exists, assert fail * * thomas@apestaart.org diff --git a/tests/old/testsuite/negotiation/.gitignore b/tests/old/testsuite/negotiation/.gitignore deleted file mode 100644 index 79725113d2..0000000000 --- a/tests/old/testsuite/negotiation/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -pad_link - diff --git a/tests/old/testsuite/negotiation/Makefile.am b/tests/old/testsuite/negotiation/Makefile.am deleted file mode 100644 index 15347325fd..0000000000 --- a/tests/old/testsuite/negotiation/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -include ../Rules - -tests_pass = pad_link -tests_fail = -tests_ignore = diff --git a/tests/old/testsuite/negotiation/pad_link.c b/tests/old/testsuite/negotiation/pad_link.c deleted file mode 100644 index 553686fbd9..0000000000 --- a/tests/old/testsuite/negotiation/pad_link.c +++ /dev/null @@ -1,35 +0,0 @@ -#include - -/* this test checks that gst_pad_link takes into account all available - * information when trying to link two pads. - * Because identity proxies caps, the caps in the first and second link - * must be compatible for this pipeline to work. - * Since they are not, the second linkig attempt should fail. - */ - -gint -main (int argc, gchar ** argv) -{ - GstElement *src, *identity, *sink; - GstCaps *one, *two; - - gst_init (&argc, &argv); - - /* create incompatible caps */ - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - identity = gst_element_factory_make ("identity", NULL); - g_assert (identity); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - one = gst_caps_from_string ("some/mime"); - two = gst_caps_from_string ("other/mime"); - - g_assert (GST_PAD_LINK_SUCCESSFUL (gst_pad_link_filtered (gst_element_get_pad - (src, "src"), gst_element_get_pad (identity, "sink"), one))); - g_assert (!GST_PAD_LINK_SUCCESSFUL (gst_pad_link_filtered (gst_element_get_pad - (identity, "src"), gst_element_get_pad (sink, "sink"), two))); - - return 0; -} diff --git a/tests/old/testsuite/pad/Makefile.am b/tests/old/testsuite/pad/Makefile.am deleted file mode 100644 index cb6e84155d..0000000000 --- a/tests/old/testsuite/pad/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -include ../Rules - -tests_pass = link -tests_fail = chainnopull getnopush -tests_ignore = diff --git a/tests/old/testsuite/pad/chainnopull.c b/tests/old/testsuite/pad/chainnopull.c deleted file mode 100644 index 2fb612a3b7..0000000000 --- a/tests/old/testsuite/pad/chainnopull.c +++ /dev/null @@ -1,66 +0,0 @@ -/* - * this tests that chain-based pads don't pull. - */ - -#include - -typedef struct _GstTestSink -{ - GstElement parent; - GstPad *sinkpad; -} GstTestSink; - -typedef GstElementClass GstTestSinkClass; - -static void -gst_test_sink_class_init (GstTestSinkClass * klass) -{ -} - -static void -gst_test_sink_base_init (gpointer klass) -{ -} - -static void -gst_test_sink_chain (GstPad * pad, GstData * data) -{ - data = gst_pad_pull (pad); -} - -static void -gst_test_sink_init (GstTestSink * sink) -{ - sink->sinkpad = gst_pad_new ("sink", GST_PAD_SINK); - gst_pad_set_chain_function (sink->sinkpad, gst_test_sink_chain); - gst_element_add_pad (GST_ELEMENT (sink), sink->sinkpad); -} - -GST_BOILERPLATE (GstTestSink, gst_test_sink, GstElement, GST_TYPE_ELEMENT); - -int -main (int argc, char *argv[]) -{ - GstElement *pipeline, *fakesrc, *testsink; - gint n; - - gst_init (&argc, &argv); - - pipeline = gst_pipeline_new ("p"); - fakesrc = gst_element_factory_make ("fakesrc", "src"); - testsink = g_object_new (gst_test_sink_get_type (), NULL); - gst_object_set_name (GST_OBJECT (testsink), "sink"); - gst_bin_add_many (GST_BIN (pipeline), fakesrc, testsink, NULL); - gst_element_link (fakesrc, testsink); - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - for (n = 0; n < 100; n++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - break; - } - - gst_element_set_state (pipeline, GST_STATE_NULL); - gst_object_unref (pipeline); - - return 0; -} diff --git a/tests/old/testsuite/pad/getnopush.c b/tests/old/testsuite/pad/getnopush.c deleted file mode 100644 index 56b3a77e21..0000000000 --- a/tests/old/testsuite/pad/getnopush.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * this tests that get-based pads don't push. - */ - -#include - -typedef struct _GstTestSrc -{ - GstElement parent; - GstPad *srcpad; -} GstTestSrc; - -typedef GstElementClass GstTestSrcClass; - -static void -gst_test_src_class_init (GstTestSrcClass * klass) -{ -} -static void -gst_test_src_base_init (gpointer klass) -{ -} - -static GstData * -gst_test_src_get (GstPad * pad) -{ - GstEvent *event; - - event = gst_event_new (GST_EVENT_INTERRUPT); - gst_event_ref (event); - gst_pad_push (pad, GST_DATA (event)); - - return GST_DATA (event); -} - -static void -gst_test_src_init (GstTestSrc * src) -{ - src->srcpad = gst_pad_new ("src", GST_PAD_SRC); - gst_pad_set_get_function (src->srcpad, gst_test_src_get); - gst_element_add_pad (GST_ELEMENT (src), src->srcpad); -} - -GST_BOILERPLATE (GstTestSrc, gst_test_src, GstElement, GST_TYPE_ELEMENT); - -int -main (int argc, char *argv[]) -{ - GstElement *pipeline, *testsrc, *fakesink; - gint n; - - gst_init (&argc, &argv); - - pipeline = gst_pipeline_new ("p"); - testsrc = g_object_new (gst_test_src_get_type (), NULL); - gst_object_set_name (GST_OBJECT (testsrc), "src"); - fakesink = gst_element_factory_make ("fakesink", "sink"); - gst_bin_add_many (GST_BIN (pipeline), testsrc, fakesink, NULL); - gst_element_link (testsrc, fakesink); - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - for (n = 0; n < 100; n++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - break; - } - - gst_element_set_state (pipeline, GST_STATE_NULL); - gst_object_unref (pipeline); - - return 0; -} diff --git a/tests/old/testsuite/pad/link.c b/tests/old/testsuite/pad/link.c deleted file mode 100644 index c38100ffd3..0000000000 --- a/tests/old/testsuite/pad/link.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Test that: - * - get-based sources can return data, loop-based sources can push. - * - chain-based filters receive/push, loop-based filters can pull/push. - * - chain-based sinks receive, loop-based sinks pull. - */ - -#include - -/* - * Scary type code. - */ - -typedef struct _GstTestElement -{ - GstElement parent; - GstPad *srcpad, *sinkpad; -} GstTestSrc, GstTestFilter, GstTestSink, GstTestElement; - -typedef GstElementClass GstTestSrcClass, GstTestFilterClass, GstTestSinkClass, - GstTestElementClass; - -#define gst_test_src_class_init gst_test_element_class_init -#define gst_test_filter_class_init gst_test_element_class_init -#define gst_test_sink_class_init gst_test_element_class_init - -#define gst_test_src_base_init gst_test_element_base_init -#define gst_test_filter_base_init gst_test_element_base_init -#define gst_test_sink_base_init gst_test_element_base_init - -static void -gst_test_element_class_init (GstTestElementClass * klass) -{ -} -static void -gst_test_element_base_init (gpointer klass) -{ -} - -/* - * Actual element code. - */ - -gboolean loop = FALSE; - -static GstData * -gst_test_src_get (GstPad * pad) -{ - return GST_DATA (gst_event_new (GST_EVENT_INTERRUPT)); -} - -static void -gst_test_src_loop (GstElement * element) -{ - GstTestSrc *src = (GstTestElement *) element; - - gst_pad_push (src->srcpad, gst_test_src_get (src->srcpad)); -} - -static void -gst_test_src_init (GstTestElement * src) -{ - src->srcpad = gst_pad_new ("src", GST_PAD_SRC); - if (loop) { - gst_element_set_loop_function (GST_ELEMENT (src), gst_test_src_loop); - } else { - gst_pad_set_get_function (src->srcpad, gst_test_src_get); - } - gst_element_add_pad (GST_ELEMENT (src), src->srcpad); - - GST_OBJECT_FLAG_SET (src, GST_ELEMENT_EVENT_AWARE); -} - -static void -gst_test_filter_chain (GstPad * pad, GstData * data) -{ - GstTestFilter *filter = (GstTestElement *) gst_pad_get_parent (pad); - - gst_pad_push (filter->srcpad, data); -} - -static void -gst_test_filter_loop (GstElement * element) -{ - GstTestFilter *filter = (GstTestElement *) element; - - gst_test_filter_chain (filter->sinkpad, gst_pad_pull (filter->sinkpad)); -} - -static void -gst_test_filter_init (GstTestElement * filter) -{ - filter->sinkpad = gst_pad_new ("sink", GST_PAD_SINK); - if (loop) { - gst_element_set_loop_function (GST_ELEMENT (filter), gst_test_filter_loop); - } else { - gst_pad_set_chain_function (filter->sinkpad, gst_test_filter_chain); - } - gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad); - - filter->srcpad = gst_pad_new ("src", GST_PAD_SRC); - gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad); - - GST_OBJECT_FLAG_SET (filter, GST_ELEMENT_EVENT_AWARE); -} - -static void -gst_test_sink_chain (GstPad * pad, GstData * data) -{ - gst_data_unref (data); -} - -static void -gst_test_sink_loop (GstElement * element) -{ - GstTestSink *sink = (GstTestElement *) element; - - gst_test_sink_chain (sink->sinkpad, gst_pad_pull (sink->sinkpad)); -} - -static void -gst_test_sink_init (GstTestElement * sink) -{ - sink->sinkpad = gst_pad_new ("sink", GST_PAD_SINK); - if (loop) { - gst_element_set_loop_function (GST_ELEMENT (sink), gst_test_sink_loop); - } else { - gst_pad_set_chain_function (sink->sinkpad, gst_test_sink_chain); - } - gst_element_add_pad (GST_ELEMENT (sink), sink->sinkpad); - - GST_OBJECT_FLAG_SET (sink, GST_ELEMENT_EVENT_AWARE); -} - -#define parent_class src_parent_class -GST_BOILERPLATE (GstTestSrc, gst_test_src, GstElement, GST_TYPE_ELEMENT); -#undef parent_class -#define parent_class filter_parent_class -GST_BOILERPLATE (GstTestFilter, gst_test_filter, GstElement, GST_TYPE_ELEMENT); -#undef parent_class -#define parent_class sink_parent_class -GST_BOILERPLATE (GstTestSink, gst_test_sink, GstElement, GST_TYPE_ELEMENT); -#undef parent_class - -/* - * Actual test. - */ - -static void -cb_error (GstElement * element) -{ - g_assert_not_reached (); -} - -int -main (int argc, char *argv[]) -{ - GstElement *pipeline, *src, *filter, *sink; - gint n, r; - gboolean res; - - gst_init (&argc, &argv); - - for (r = 0; r < 2; r++) { - pipeline = gst_pipeline_new ("p"); - g_signal_connect (pipeline, "error", G_CALLBACK (cb_error), NULL); - src = g_object_new (gst_test_src_get_type (), NULL); - gst_object_set_name (GST_OBJECT (src), "src"); - filter = g_object_new (gst_test_filter_get_type (), NULL); - gst_object_set_name (GST_OBJECT (filter), "filter"); - sink = g_object_new (gst_test_sink_get_type (), NULL); - gst_object_set_name (GST_OBJECT (sink), "sink"); - gst_bin_add_many (GST_BIN (pipeline), src, filter, sink, NULL); - res = gst_element_link (src, filter); - g_assert (res); - res = gst_element_link (filter, sink); - g_assert (res); - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - for (n = 0; n < 100; n++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - g_assert_not_reached (); - } - - gst_element_set_state (pipeline, GST_STATE_NULL); - gst_object_unref (pipeline); - - /* switch element types */ - g_print ("Loop=%s done\n", loop ? "true" : "false"); - loop = !loop; - } - - return 0; -} diff --git a/tests/old/testsuite/refcounting/sched.c b/tests/old/testsuite/refcounting/sched.c index 5409b9bf49..f9fcb85ff1 100644 --- a/tests/old/testsuite/refcounting/sched.c +++ b/tests/old/testsuite/refcounting/sched.c @@ -38,7 +38,7 @@ create_pipeline (void) gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); gst_element_link (src, sink); - /** + /** * now make the bug appear * I believe it has something to do with 2 chains being created in the scheduler * but I haven't looked at it yet diff --git a/tests/old/testsuite/registry/Makefile.am b/tests/old/testsuite/registry/Makefile.am deleted file mode 100644 index a95436eaa1..0000000000 --- a/tests/old/testsuite/registry/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -include ../Rules - -tests_pass = gst-print-formats -tests_fail = -tests_ignore = - - diff --git a/tests/old/testsuite/registry/gst-print-formats.c b/tests/old/testsuite/registry/gst-print-formats.c deleted file mode 100644 index 8f40118e88..0000000000 --- a/tests/old/testsuite/registry/gst-print-formats.c +++ /dev/null @@ -1,347 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen - * 2000 Wim Taymans - * 2004 Thomas Vander Stichele - * - * gst-inspect.c: tool to inspect the GStreamer registry - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include - -#include "gst/gst-i18n-app.h" - -#include -#include -#include - -#define static - -static void -print_pad_templates_info (GstElement * element, GstElementFactory * factory, - GstPadDirection dir) -{ - GstElementClass *gstelement_class; - const GList *pads; - GstPadTemplate *padtemplate; - - if (!factory->numpadtemplates) { - return; - } - - gstelement_class = GST_ELEMENT_CLASS (G_OBJECT_GET_CLASS (element)); - - pads = factory->padtemplates; - while (pads) { - padtemplate = (GstPadTemplate *) (pads->data); - pads = g_list_next (pads); - - if (padtemplate->direction == dir) { - if (padtemplate->caps) { - GstStructure *structure; - int i; - - for (i = 0; i < gst_caps_get_size (padtemplate->caps); i++) { - structure = gst_caps_get_structure (padtemplate->caps, i); - g_print (" %s\n", gst_structure_get_name (structure)); - } - } - } - } -} - -static void -print_element_list (const char *klass, GstPadDirection dir) -{ - GList *plugins; - - g_print ("Elements in %s:\n", klass); - for (plugins = gst_registry_pool_plugin_list (); plugins; - plugins = g_list_next (plugins)) { - GList *features; - GstPlugin *plugin; - - plugin = (GstPlugin *) (plugins->data); - - features = gst_plugin_get_feature_list (plugin); - while (features) { - GstPluginFeature *feature; - - feature = GST_PLUGIN_FEATURE (features->data); - - if (GST_IS_ELEMENT_FACTORY (feature)) { - GstElementFactory *factory; - GstElement *element; - - factory = GST_ELEMENT_FACTORY (feature); - if (strncmp (factory->details.klass, klass, strlen (klass)) == 0) { - g_print (" %s: %s (%d)\n", GST_PLUGIN_FEATURE_NAME (factory), - factory->details.longname, gst_plugin_feature_get_rank (feature)); - element = gst_element_factory_create (factory, NULL); - print_pad_templates_info (element, factory, dir); - gst_object_unref (element); - } - } - - features = g_list_next (features); - } - } - g_print ("\n"); -} - -static void -print_typefind_list (void) -{ - GList *plugins; - - g_print ("Typefind list:\n"); - for (plugins = gst_registry_pool_plugin_list (); plugins; - plugins = g_list_next (plugins)) { - GList *features; - GstPlugin *plugin; - - plugin = (GstPlugin *) (plugins->data); - - features = gst_plugin_get_feature_list (plugin); - while (features) { - GstPluginFeature *feature; - - feature = GST_PLUGIN_FEATURE (features->data); - - if (GST_IS_TYPE_FIND_FACTORY (feature)) { - GstTypeFindFactory *factory; - char *s; - - gst_plugin_load_file (plugin->filename, NULL); - - factory = GST_TYPE_FIND_FACTORY (feature); - g_print (" %s: (%d)\n", GST_PLUGIN_FEATURE_NAME (factory), - gst_plugin_feature_get_rank (feature)); - s = gst_caps_to_string (gst_type_find_factory_get_caps (factory)); - g_print (" %s\n", s); - g_free (s); - } - - features = g_list_next (features); - } - } - g_print ("\n"); -} - -static int -list_sort_func (gconstpointer a, gconstpointer b) -{ - return strcmp ((const char *) a, (const char *) b); -} - -static GList * -get_typefind_mime_list (void) -{ - GList *plugins; - GList *mime_list = NULL; - - for (plugins = gst_registry_pool_plugin_list (); plugins; - plugins = g_list_next (plugins)) { - GList *features; - GstPlugin *plugin; - - plugin = (GstPlugin *) (plugins->data); - - features = gst_plugin_get_feature_list (plugin); - while (features) { - GstPluginFeature *feature; - - feature = GST_PLUGIN_FEATURE (features->data); - - if (GST_IS_TYPE_FIND_FACTORY (feature)) { - GstTypeFindFactory *factory; - char *s; - int i; - const GstCaps *caps; - - factory = GST_TYPE_FIND_FACTORY (feature); - caps = gst_type_find_factory_get_caps (factory); - - if (gst_plugin_feature_get_rank (feature) > 0 && caps != NULL) { - for (i = 0; i < gst_caps_get_size (caps); i++) { - const GstStructure *structure = gst_caps_get_structure (caps, i); - - s = g_strdup (gst_structure_get_name (structure)); - mime_list = g_list_prepend (mime_list, s); - } - } - } - - features = g_list_next (features); - } - } - - return mime_list; -} - -GList * -g_list_uniqify (GList * list) -{ - GList *item; - - for (item = g_list_first (list); item; item = g_list_next (item)) { - GList *next_item = g_list_next (item); - - while (next_item && strcmp (item->data, next_item->data) == 0) { - g_free (next_item->data); - list = g_list_delete_link (list, next_item); - next_item = g_list_next (item); - } - } - - return list; -} - -static GList * -get_pad_templates_info (GstElement * element, GstElementFactory * factory, - GstPadDirection dir) -{ - GstElementClass *gstelement_class; - const GList *pads; - GstPadTemplate *padtemplate; - GList *mime_list = NULL; - - if (!factory->numpadtemplates) { - return NULL; - } - - gstelement_class = GST_ELEMENT_CLASS (G_OBJECT_GET_CLASS (element)); - - pads = factory->padtemplates; - while (pads) { - padtemplate = (GstPadTemplate *) (pads->data); - pads = g_list_next (pads); - - if (padtemplate->direction == dir) { - if (padtemplate->caps) { - GstStructure *structure; - int i; - - for (i = 0; i < gst_caps_get_size (padtemplate->caps); i++) { - structure = gst_caps_get_structure (padtemplate->caps, i); - mime_list = g_list_prepend (mime_list, - g_strdup (gst_structure_get_name (structure))); - } - } - } - } - return mime_list; -} - -static GList * -get_element_mime_list (const char *klass, GstPadDirection dir) -{ - GList *mime_list = NULL; - GList *plugins; - - for (plugins = gst_registry_pool_plugin_list (); plugins; - plugins = g_list_next (plugins)) { - GList *features; - GstPlugin *plugin; - - plugin = (GstPlugin *) (plugins->data); - - features = gst_plugin_get_feature_list (plugin); - while (features) { - GstPluginFeature *feature; - - feature = GST_PLUGIN_FEATURE (features->data); - - if (GST_IS_ELEMENT_FACTORY (feature)) { - GstElementFactory *factory; - GstElement *element; - - factory = GST_ELEMENT_FACTORY (feature); - if (strncmp (factory->details.klass, klass, strlen (klass)) == 0) { - if (gst_plugin_feature_get_rank (feature) > 0) { - GList *list; - - element = gst_element_factory_create (factory, NULL); - list = get_pad_templates_info (element, factory, dir); - mime_list = g_list_concat (mime_list, list); - gst_object_unref (element); - } - } - } - - features = g_list_next (features); - } - } - - return mime_list; -} - -static void -print_mime_list (void) -{ - GList *list; - GList *typefind_list; - GList *item; - GList *item2; - - typefind_list = get_typefind_mime_list (); - typefind_list = g_list_sort (typefind_list, list_sort_func); - typefind_list = g_list_uniqify (typefind_list); - - list = get_element_mime_list ("Codec/Demuxer", GST_PAD_SINK); - list = g_list_concat (list, get_element_mime_list ("Codec/Decoder", - GST_PAD_SINK)); - list = g_list_sort (list, list_sort_func); - list = g_list_uniqify (list); - - g_print ("MIME media type list:\n"); - for (item = g_list_first (list); item; item = g_list_next (item)) { - for (item2 = g_list_first (typefind_list); item2; - item2 = g_list_next (item2)) { - if (strcmp ((char *) item->data, (char *) item2->data) == 0) { - g_print (" %s\n", (char *) item->data); - } - } - } -} - - -int -main (int argc, char *argv[]) -{ - -#ifdef GETTEXT_PACKAGE - bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); -#endif - - gst_init (&argc, &argv); - - print_element_list ("Codec/Demuxer", GST_PAD_SINK); - print_element_list ("Codec/Decoder", GST_PAD_SINK); - print_element_list ("Codec/Muxer", GST_PAD_SRC); - print_element_list ("Codec/Encoder", GST_PAD_SRC); - print_typefind_list (); - print_mime_list (); - - return 0; -} diff --git a/tests/old/testsuite/schedulers/.gitignore b/tests/old/testsuite/schedulers/.gitignore deleted file mode 100644 index af15adb8b0..0000000000 --- a/tests/old/testsuite/schedulers/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -group_link -relink_sink -relink_src -unlink_sink -unlink_src -unref_sink -unref_src -useless_iteration -143777 -143777-2 -142183 -142183-2 -147713 -147819 -147894 -147894-2 -queue_link diff --git a/tests/old/testsuite/schedulers/142183-2.c b/tests/old/testsuite/schedulers/142183-2.c deleted file mode 100644 index 5a3bb68886..0000000000 --- a/tests/old/testsuite/schedulers/142183-2.c +++ /dev/null @@ -1,73 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -static void -handoff_identity (GstElement * element) -{ - GstBin *parent; - - parent = GST_BIN (gst_element_get_parent (element)); - g_print ("identity handoff\n"); - /* element is unreffed and destroyed here, which will cause - * an assert */ - gst_bin_remove (parent, element); -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - g_signal_connect (G_OBJECT (id), "handoff", (GCallback) handoff_identity, - NULL); - g_object_set (G_OBJECT (id), "loop-based", TRUE, NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id, sink, NULL); - gst_element_link_pads (src, "src", id, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - g_print ("got past iteration, scheduler refs elements correctly\n"); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - src = id = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/142183.c b/tests/old/testsuite/schedulers/142183.c deleted file mode 100644 index 50dca6ce2d..0000000000 --- a/tests/old/testsuite/schedulers/142183.c +++ /dev/null @@ -1,95 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -static void -handoff_identity (GstElement * element) -{ - GstBin *parent; - - parent = GST_BIN (gst_element_get_parent (element)); - g_print ("identity handoff\n"); - gst_bin_remove (parent, element); -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - /* ref object here as it will be unparented and destroyed in the - * handoff signal, normally the scheduler should keep a ref to the - * currently scheduled elements but that's another bug displayed in - * 142183-2.c */ - gst_object_ref (id); - g_signal_connect (G_OBJECT (id), "handoff", (GCallback) handoff_identity, - NULL); - g_object_set (G_OBJECT (id), "loop-based", TRUE, NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id, sink, NULL); - /* this is what triggers the bug */ - gst_element_enable_threadsafe_properties (GST_ELEMENT (src)); - gst_element_enable_threadsafe_properties (GST_ELEMENT (id)); - gst_element_enable_threadsafe_properties (GST_ELEMENT (sink)); - - gst_element_link_pads (src, "src", id, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - - /* 'cause we're going into deadlock mode */ - alarm (5); - - g_print ("adding identity back...\n"); - /* add identity back in */ - gst_bin_add_many (GST_BIN (pipeline), id, NULL); - - g_print ("going into possible deadlock... alarm at 5 seconds\n"); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - g_print ("ok, no deadlock. bug 142183 fixed!\n"); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - gst_object_unref (id); - src = id = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/143777-2.c b/tests/old/testsuite/schedulers/143777-2.c deleted file mode 100644 index bcad331408..0000000000 --- a/tests/old/testsuite/schedulers/143777-2.c +++ /dev/null @@ -1,64 +0,0 @@ - -#include - -int -main (int argc, char **argv) -{ - GstElement *src, *sink, *enc, *tee; - GstElement *pipeline; - int i; - - - gst_init (&argc, &argv); - pipeline = gst_element_factory_make ("pipeline", "pipeline"); - - src = gst_element_factory_make ("fakesrc", "src"); - g_assert (src); - tee = gst_element_factory_make ("tee", "tee1"); - g_assert (tee); - enc = gst_element_factory_make ("identity", "enc"); - g_assert (enc); - sink = gst_element_factory_make ("fakesink", "sink"); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, tee, enc, sink, NULL); - if (!gst_element_link_many (src, tee, enc, sink, NULL)) - g_assert_not_reached (); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - for (i = 0; i < 5; i++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - g_assert_not_reached (); - g_print ("%d\n", i); - } - - if (gst_element_set_state (pipeline, - GST_STATE_PAUSED) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - gst_element_unlink_many (tee, enc, sink, NULL); - gst_bin_remove_many (GST_BIN (pipeline), enc, sink, NULL); - - enc = gst_element_factory_make ("identity", "enc"); - g_assert (enc); - sink = gst_element_factory_make ("fakesink", "sink"); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline), enc, sink, NULL); - if (!gst_element_link_many (tee, enc, sink, NULL)) - g_assert_not_reached (); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - for (i = 5; i < 10; i++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - g_assert_not_reached (); - g_print ("%d\n", i); - } - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/143777.c b/tests/old/testsuite/schedulers/143777.c deleted file mode 100644 index cf2ca57a72..0000000000 --- a/tests/old/testsuite/schedulers/143777.c +++ /dev/null @@ -1,73 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * This file reproduces the bug in the bugreport #143777, as can be seen at - * http://bugzilla.gnome.org/show_bug.cgi?id=143777 - the issue is that when - * pausing a pipeline while the chainhandler is still running, then unlinking - * the pad that's chain function is called and relinking it clears the buffer - * that was stored for sending the event. gst_pad_call_chain_function needs - * to check that. - * The fix is in gstpad.c, revision 1.327 - */ - -#include - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id; - guint i = 0, j; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id, sink, NULL); - while (i < 100) { - g_print ("running... (%d iterations)\n", i); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - gst_element_link_many (src, id, sink, NULL); - for (j = 0; j < i; j++) - gst_bin_iterate (GST_BIN (pipeline)); - if (gst_element_set_state (pipeline, - GST_STATE_PAUSED) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - gst_element_unlink_many (src, id, sink, NULL); - i++; - } - - g_print ("cleaning up...\n"); - g_assert (i == 100); - gst_object_unref (pipeline); - src = id = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/147713.c b/tests/old/testsuite/schedulers/147713.c deleted file mode 100644 index 23a40c695c..0000000000 --- a/tests/old/testsuite/schedulers/147713.c +++ /dev/null @@ -1,92 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymanse - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -static gint src_handoff = 0; - -static void -handoff_src (GstElement * element) -{ - g_print ("src handoff\n"); - src_handoff++; -} - -static void -handoff_sink (GstElement * element) -{ - g_print ("sink handoff\n"); - g_assert (src_handoff == 1); -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id1, *id2; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - g_object_set (G_OBJECT (src), "signal-handoffs", TRUE, NULL); - g_signal_connect (G_OBJECT (src), "handoff", (GCallback) handoff_src, NULL); - id1 = gst_element_factory_make ("identity", NULL); - g_assert (id1); - - id2 = gst_element_factory_make ("identity", NULL); - g_assert (id2); - g_object_set (G_OBJECT (id2), "loop-based", TRUE, NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - g_object_set (G_OBJECT (sink), "signal-handoffs", TRUE, NULL); - g_signal_connect (G_OBJECT (sink), "handoff", (GCallback) handoff_sink, NULL); - - gst_bin_add_many (GST_BIN (pipeline), src, id1, NULL); - gst_element_link_pads (src, "src", id1, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - if (gst_element_set_state (id2, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - if (gst_element_set_state (sink, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - gst_bin_add_many (GST_BIN (pipeline), sink, NULL); - gst_element_link_pads (id2, "src", sink, "sink"); - gst_element_link_pads (id1, "src", id2, "sink"); - gst_bin_add_many (GST_BIN (pipeline), id2, NULL); - - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - src = id1 = id2 = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/147819.c b/tests/old/testsuite/schedulers/147819.c deleted file mode 100644 index eee315bea1..0000000000 --- a/tests/old/testsuite/schedulers/147819.c +++ /dev/null @@ -1,101 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -static gboolean handoff; - -static void -handoff_identity1 (GstElement * element) -{ - g_print ("identity1 handoff\n"); - handoff = TRUE; -} - -static void -handoff_identity2 (GstElement * element) -{ - g_print ("identity2 handoff\n"); - handoff = TRUE; -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id1, *id2; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id1 = gst_element_factory_make ("identity", NULL); - g_assert (id1); - g_object_set (G_OBJECT (id1), "loop-based", TRUE, NULL); - g_object_set (G_OBJECT (id1), "duplicate", 3, NULL); - g_signal_connect (G_OBJECT (id1), "handoff", (GCallback) handoff_identity1, - NULL); - - id2 = gst_element_factory_make ("identity", NULL); - g_assert (id2); - g_object_set (G_OBJECT (id2), "loop-based", TRUE, NULL); - g_signal_connect (G_OBJECT (id2), "handoff", (GCallback) handoff_identity2, - NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id1, id2, sink, NULL); - - gst_element_link_pads (src, "src", id1, "sink"); - gst_element_link_pads (id1, "src", id2, "sink"); - gst_element_link_pads (id2, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running...\n"); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - - /* do ugly stuff here */ - gst_object_ref (id1); - gst_bin_remove (GST_BIN (pipeline), id1); - gst_element_link_pads (src, "src", id1, "sink"); - gst_element_link_pads (id1, "src", id2, "sink"); - - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - src = id1 = id2 = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/147894-2.c b/tests/old/testsuite/schedulers/147894-2.c deleted file mode 100644 index f836ebe8e5..0000000000 --- a/tests/old/testsuite/schedulers/147894-2.c +++ /dev/null @@ -1,138 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -static gboolean empty; -static gboolean bug; -static gboolean handoff; -static GstElement *pipeline2; - -static void -queue_empty (GstElement * element) -{ - g_print ("queue empty\n"); - if (!handoff) - bug = TRUE; -} - -static void -queue_filled (GstElement * element) -{ - g_print ("queue filled\n"); - empty = FALSE; - - /* read from the other end */ - handoff = FALSE; - bug = FALSE; - - alarm (5); - - g_print ("emptying queue with 5 second timeout...\n"); - while (!bug && !handoff) { - gst_bin_iterate (GST_BIN (pipeline2)); - } -} - -static void -handoff_identity (GstElement * element) -{ - g_print ("identity handoff\n"); - handoff = TRUE; -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *queue, *id; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - queue = gst_element_factory_make ("queue", NULL); - g_assert (queue); - g_signal_connect (G_OBJECT (queue), "overrun", (GCallback) queue_filled, - NULL); - g_signal_connect (G_OBJECT (queue), "underrun", (GCallback) queue_empty, - NULL); - gst_bin_add_many (GST_BIN (pipeline), src, queue, NULL); - - gst_element_link_pads (src, "src", queue, "sink"); - - /* second pipeline for sinks */ - pipeline2 = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline2); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - g_signal_connect (G_OBJECT (id), "handoff", (GCallback) handoff_identity, - NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline2), id, sink, NULL); - - gst_element_link_pads (queue, "src", id, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - if (gst_element_set_state (pipeline2, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running...\n"); - /* fill queue */ - empty = TRUE; - while (empty) { - gst_bin_iterate (GST_BIN (pipeline)); - } - g_assert (!bug); - - g_print ("relinking...\n"); - /* now unlink and link id and sink */ - gst_element_unlink_pads (id, "src", sink, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - g_print ("running again...\n"); - /* fill queue */ - empty = TRUE; - while (empty) { - gst_bin_iterate (GST_BIN (pipeline)); - } - g_assert (!bug); - - /* trigger the bug */ - - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - gst_object_unref (pipeline2); - src = id = sink = pipeline = pipeline2 = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/147894.c b/tests/old/testsuite/schedulers/147894.c deleted file mode 100644 index 971382adce..0000000000 --- a/tests/old/testsuite/schedulers/147894.c +++ /dev/null @@ -1,146 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -static gboolean empty; -static gboolean bug; -static gboolean handoff; -static GstElement *pipeline2; - -static void -queue_empty (GstElement * element) -{ - g_print ("queue empty\n"); - if (!handoff) - bug = TRUE; -} - -static void -queue_filled (GstElement * element) -{ - g_print ("queue filled\n"); - empty = FALSE; - - /* read from the other end */ - handoff = FALSE; - bug = FALSE; - - alarm (5); - - g_print ("emptying queue with 5 second timeout...\n"); - while (!bug && !handoff) { - gst_bin_iterate (GST_BIN (pipeline2)); - } -} - -static void -handoff_identity (GstElement * element) -{ - g_print ("identity handoff\n"); - handoff = TRUE; -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *queue, *id; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - queue = gst_element_factory_make ("queue", NULL); - g_assert (queue); - g_signal_connect (G_OBJECT (queue), "overrun", (GCallback) queue_filled, - NULL); - g_signal_connect (G_OBJECT (queue), "underrun", (GCallback) queue_empty, - NULL); - gst_bin_add_many (GST_BIN (pipeline), src, queue, NULL); - - gst_element_link_pads (src, "src", queue, "sink"); - - /* second pipeline for sinks */ - pipeline2 = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline2); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - g_signal_connect (G_OBJECT (id), "handoff", (GCallback) handoff_identity, - NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline2), id, sink, NULL); - - gst_element_link_pads (queue, "src", id, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - if (gst_element_set_state (pipeline2, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running...\n"); - /* fill queue */ - empty = TRUE; - while (empty) { - gst_bin_iterate (GST_BIN (pipeline)); - } - g_assert (!bug); - - if (gst_element_set_state (pipeline2, - GST_STATE_READY) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("relinking...\n"); - /* now unlink and link id and sink */ - gst_element_unlink_pads (id, "src", sink, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline2, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running again...\n"); - /* fill queue */ - empty = TRUE; - while (empty) { - gst_bin_iterate (GST_BIN (pipeline)); - } - g_assert (!bug); - - /* trigger the bug */ - - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - gst_object_unref (pipeline2); - src = id = sink = pipeline = pipeline2 = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/Makefile.am b/tests/old/testsuite/schedulers/Makefile.am deleted file mode 100644 index 391ac40476..0000000000 --- a/tests/old/testsuite/schedulers/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -include ../Rules - -tests_pass = \ - unlink_src unlink_sink \ - relink_src relink_sink \ - unref_src unref_sink \ - 142183 142183-2 \ - 143777 143777-2 \ - 147713 \ - 147819 \ - 147894 147894-2 group_link \ - queue_link - -# don't enable this one unless it actually works. -# useless_iteration -tests_fail = -tests_ignore = - -unlink_src_SOURCES = unlink.c -unlink_src_CFLAGS = $(AM_CFLAGS) -DELEMENT=src -unlink_sink_SOURCES = unlink.c -unlink_sink_CFLAGS = $(AM_CFLAGS) -DELEMENT=sink -relink_src_SOURCES = relink.c -relink_src_CFLAGS = $(AM_CFLAGS) -DELEMENT=src -DOTHER_ELEMENT=sink -relink_sink_SOURCES = relink.c -relink_sink_CFLAGS = $(AM_CFLAGS) -DELEMENT=sink -DOTHER_ELEMENT=src -unref_src_SOURCES = unref.c -unref_src_CFLAGS = $(AM_CFLAGS) -DELEMENT=src -unref_sink_SOURCES = unref.c -unref_sink_CFLAGS = $(AM_CFLAGS) -DELEMENT=sink diff --git a/tests/old/testsuite/schedulers/group_link.c b/tests/old/testsuite/schedulers/group_link.c deleted file mode 100644 index 2022e051bd..0000000000 --- a/tests/old/testsuite/schedulers/group_link.c +++ /dev/null @@ -1,67 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *id1, *id2, *sink; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id1 = gst_element_factory_make ("identity", NULL); - g_assert (id1); - id2 = gst_element_factory_make ("identity", NULL); - g_assert (id2); - g_object_set (G_OBJECT (id2), "loop-based", TRUE, NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id1, id2, sink, NULL); - - /* link is not accounted for here... */ - gst_element_link_pads (id1, "src", id2, "sink"); - - gst_element_link_pads (src, "src", id1, "sink"); - gst_element_link_pads (id2, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running...\n"); - /* fill queue */ - gst_bin_iterate (GST_BIN (pipeline)); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - src = id1 = id2 = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/queue_link.c b/tests/old/testsuite/schedulers/queue_link.c deleted file mode 100644 index e020157ab3..0000000000 --- a/tests/old/testsuite/schedulers/queue_link.c +++ /dev/null @@ -1,69 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *thread, *bin, *src, *queue, *id1, *sink; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - queue = gst_element_factory_make ("queue", NULL); - g_assert (queue); - - thread = gst_element_factory_make ("thread", NULL); - g_assert (thread); - bin = gst_element_factory_make ("bin", NULL); - g_assert (bin); - id1 = gst_element_factory_make ("identity", NULL); - g_assert (id1); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (bin), id1, sink, NULL); - gst_bin_add_many (GST_BIN (thread), bin, NULL); - gst_bin_add_many (GST_BIN (pipeline), src, queue, thread, NULL); - - gst_element_link_pads (src, "src", queue, "sink"); - gst_element_link_pads (queue, "src", id1, "sink"); - gst_element_link_pads (id1, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("unlinking...\n"); - - gst_object_ref (queue); - gst_bin_remove (GST_BIN (pipeline), queue); - gst_object_ref (bin); - gst_bin_remove (GST_BIN (thread), bin); - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/relink.c b/tests/old/testsuite/schedulers/relink.c deleted file mode 100644 index 04157b4813..0000000000 --- a/tests/old/testsuite/schedulers/relink.c +++ /dev/null @@ -1,74 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -GstElement *pipeline, *src, *sink; - -static void -cb_handoff (GstElement * element, GstBuffer * buffer, GstPad * pad, - gpointer unused) -{ - if (GST_PAD_PEER (pad)) { - g_print ("relinking...\n"); - gst_pad_unlink (pad, GST_PAD_PEER (pad)); - gst_bin_remove (GST_BIN (pipeline), OTHER_ELEMENT); - OTHER_ELEMENT = - gst_element_factory_make ("fake" G_STRINGIFY (OTHER_ELEMENT), NULL); - g_assert (OTHER_ELEMENT); - gst_bin_add (GST_BIN (pipeline), OTHER_ELEMENT); - gst_element_sync_state_with_parent (OTHER_ELEMENT); - gst_element_link (ELEMENT, OTHER_ELEMENT); - } -} - -gint -main (gint argc, gchar ** argv) -{ - guint i = 0; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); - gst_element_link (src, sink); - /* setup special stuff */ - g_object_set (ELEMENT, "signal-handoffs", TRUE, NULL); - g_signal_connect (ELEMENT, "handoff", (GCallback) cb_handoff, NULL); - - /* run pipeline */ - g_print ("running...\n"); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (i++ < 10 && gst_bin_iterate (GST_BIN (pipeline))); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/unlink.c b/tests/old/testsuite/schedulers/unlink.c deleted file mode 100644 index 33b23cd368..0000000000 --- a/tests/old/testsuite/schedulers/unlink.c +++ /dev/null @@ -1,65 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -static void -cb_handoff (GstElement * element, GstBuffer * buffer, GstPad * pad, - gpointer unused) -{ - if (GST_PAD_PEER (pad)) { - g_print ("unlinking...\n"); - gst_pad_unlink (pad, GST_PAD_PEER (pad)); - } -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); - gst_element_link (src, sink); - /* setup special stuff */ - g_object_set (ELEMENT, "signal-handoffs", TRUE, NULL); - g_signal_connect (ELEMENT, "handoff", (GCallback) cb_handoff, NULL); - - /* run pipeline */ - g_print ("running...\n"); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (gst_bin_iterate (GST_BIN (pipeline))); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/unref.c b/tests/old/testsuite/schedulers/unref.c deleted file mode 100644 index fdab3f6c86..0000000000 --- a/tests/old/testsuite/schedulers/unref.c +++ /dev/null @@ -1,62 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -GstElement *pipeline, *src, *sink; - -static void -cb_handoff (GstElement * element, GstBuffer * buffer, GstPad * pad, - gpointer unused) -{ - if (pipeline) { - g_print ("unreffing...\n"); - gst_object_unref (pipeline); - pipeline = NULL; - } -} - -gint -main (gint argc, gchar ** argv) -{ - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); - gst_element_link (src, sink); - /* setup special stuff */ - g_object_set (ELEMENT, "signal-handoffs", TRUE, NULL); - g_signal_connect (ELEMENT, "handoff", (GCallback) cb_handoff, NULL); - - /* run pipeline */ - g_print ("running...\n"); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (pipeline && gst_bin_iterate (GST_BIN (pipeline))); - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/schedulers/useless_iteration.c b/tests/old/testsuite/schedulers/useless_iteration.c deleted file mode 100644 index c87621a24a..0000000000 --- a/tests/old/testsuite/schedulers/useless_iteration.c +++ /dev/null @@ -1,51 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline; - GError *error = NULL; - guint i = 0; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_parse_launch ("pipeline.( { fakesrc ! fakesink } )", &error); - g_assert (error == NULL); - g_assert (pipeline); - - /* run pipeline */ - g_print ("running...\n"); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (i < 100 && gst_bin_iterate (GST_BIN (pipeline))) - i++; - - g_print ("cleaning up... (%d iterations)\n", i); - g_assert (i == 100); - gst_object_unref (pipeline); - pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/tests/old/testsuite/states/bin.c b/tests/old/testsuite/states/bin.c index 44af618d90..a62b0a78ff 100644 --- a/tests/old/testsuite/states/bin.c +++ b/tests/old/testsuite/states/bin.c @@ -1,7 +1,7 @@ /* GStreamer * Copyright (C) <2004> Benjamin Otte * - * bin.c: + * bin.c: * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index 4d4b322350..4171eda2cf 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -14,20 +14,20 @@ GST_DEBUG_DIRS = debug endif SUBDIRS = \ - bytestream caps cleanup controller \ + caps \ $(GST_DEBUG_DIRS) \ dlopen \ - elements indexers negotiation pad \ + elements indexers \ $(GST_PARSE_DIRS) \ - plugin refcounting schedulers states threads trigger + plugin refcounting states threads trigger DIST_SUBDIRS = \ - bytestream caps cleanup controller \ + caps \ debug \ dlopen \ - elements indexers negotiation pad \ + elements indexers \ parse \ - plugin refcounting schedulers states threads trigger + plugin refcounting states threads trigger tests_pass = tests_fail = diff --git a/testsuite/bytestream/.gitignore b/testsuite/bytestream/.gitignore deleted file mode 100644 index 6b90160e0b..0000000000 --- a/testsuite/bytestream/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -Makefile -Makefile.in -*.o -*.lo -*.la -.deps -.libs -test1 -filepadsink diff --git a/testsuite/bytestream/Makefile.am b/testsuite/bytestream/Makefile.am deleted file mode 100644 index 790dca8d84..0000000000 --- a/testsuite/bytestream/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -include ../Rules - -tests_pass = filepadsink -tests_fail = test1 -tests_ignore = - -test1_SOURCES = test1.c gstbstest.c -test1_LDFLAGS = $(top_builddir)/libs/gst/bytestream/libgstbytestream.la - -filepadsink_CFLAGS = $(AM_CFLAGS) -DTHE_FILE=\""$(top_srcdir)/configure.ac"\" -filepadsink_LDFLAGS = $(top_builddir)/libs/gst/bytestream/libgstbytestream.la diff --git a/testsuite/bytestream/filepadsink.c b/testsuite/bytestream/filepadsink.c deleted file mode 100644 index 0b4769fe2f..0000000000 --- a/testsuite/bytestream/filepadsink.c +++ /dev/null @@ -1,282 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif -#include -#include -#include -#include - -#define GST_TYPE_FP_SINK \ - (gst_fp_sink_get_type()) -#define GST_FP_SINK(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FP_SINK,GstFpSink)) -#define GST_FP_SINK_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FP_SINK,GstFpSinkClass)) -#define GST_IS_FP_SINK(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FP_SINK)) -#define GST_IS_FP_SINK_CLASS(obj) \ - (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FP_SINK)) - - -typedef struct _GstFpSink GstFpSink; -typedef struct _GstFpSinkClass GstFpSinkClass; - -struct _GstFpSink -{ - GstElement element; - /* pads */ - GstFilePad *sinkpad; - - /* fd */ - FILE *stream; - guint state; -}; - -struct _GstFpSinkClass -{ - GstElementClass parent_class; -}; - -GST_BOILERPLATE (GstFpSink, gst_fp_sink, GstElement, GST_TYPE_ELEMENT); - -static void do_tests (GstFilePad * pad); - - -static void -gst_fp_sink_base_init (gpointer g_class) -{ -} - -static void -gst_fp_sink_class_init (GstFpSinkClass * klass) -{ -} - -static GstStaticPadTemplate template = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("ANY") - ); - -static void -gst_fp_sink_init (GstFpSink * fp) -{ - GST_OBJECT_FLAG_SET (fp, GST_ELEMENT_EVENT_AWARE); - - fp->sinkpad = - GST_FILE_PAD (gst_file_pad_new (gst_static_pad_template_get (&template), - "sink")); - gst_file_pad_set_iterate_function (fp->sinkpad, do_tests); - gst_element_add_pad (GST_ELEMENT (fp), GST_PAD (fp->sinkpad)); -} - -#define THE_CHECK(result) G_STMT_START{ \ - gint64 pos = gst_file_pad_tell(fp->sinkpad); \ - if (pos >= 0) \ - g_assert (pos == ftell (fp->stream)); \ - g_print ("%s (%"G_GINT64_FORMAT")\n", result ? "OK" : "no", pos); \ - return result; \ -}G_STMT_END -#define FAIL THE_CHECK(FALSE) -#define SUCCESS THE_CHECK(TRUE) - -static gboolean -fp_read (GstFpSink * fp, guint size) -{ - guint8 buf[size], buf2[size]; - gint64 amount; - - g_print ("reading %u bytes...", size); - amount = gst_file_pad_read (fp->sinkpad, buf, size); - if (amount == -EAGAIN) - FAIL; - g_assert (amount == size); - amount = fread (buf2, 1, amount, fp->stream); - g_assert (amount == size); - if (memcmp (buf, buf2, amount) != 0) - g_assert_not_reached (); - fp->state++; - SUCCESS; -} - -static gboolean -fp_try_read (GstFpSink * fp, guint size) -{ - guint8 buf[size], buf2[size]; - gint64 amount; - size_t amount2; - - g_print ("reading %u bytes...", size); - amount = gst_file_pad_try_read (fp->sinkpad, buf, size); - if (amount == -EAGAIN) - FAIL; - g_assert (amount > 0); - amount2 = fread (buf2, 1, amount, fp->stream); - g_assert (amount == amount2); - if (memcmp (buf, buf2, amount) != 0) - g_assert_not_reached (); - fp->state++; - SUCCESS; -} - -static gboolean -fp_seek (GstFpSink * fp, gint64 pos, GstSeekType whence) -{ - int seek_type = whence == GST_SEEK_METHOD_SET ? SEEK_SET : - whence == GST_SEEK_METHOD_CUR ? SEEK_CUR : SEEK_END; - - g_print ("seeking to %s %" G_GINT64_FORMAT " bytes...", - whence == GST_SEEK_METHOD_SET ? "" : whence == - GST_SEEK_METHOD_CUR ? "+-" : "-", pos); - if (gst_file_pad_seek (fp->sinkpad, pos, whence) != 0) - g_assert_not_reached (); - if (fseek (fp->stream, pos, seek_type) != 0) - g_assert_not_reached (); - fp->state++; - SUCCESS; -} - -static gboolean -fp_eof (GstFpSink * fp) -{ - guint8 buf; - - g_print ("checking for EOF..."); - if (!gst_file_pad_eof (fp->sinkpad)) - FAIL; - if (fread (&buf, 1, 1, fp->stream) != 0) - g_assert_not_reached (); - fp->state++; - SUCCESS; -} - -#define MIN_SIZE 10050 -#define MAX_SIZE 1000000 -static void -do_tests (GstFilePad * pad) -{ - GstFpSink *fp = GST_FP_SINK (gst_pad_get_parent (GST_PAD (pad))); - - while (TRUE) { - switch (fp->state) { - case 0: - if (!fp_try_read (fp, 50)) - return; - break; - case 1: - if (!fp_try_read (fp, MAX_SIZE)) /* more than file size */ - return; - break; - case 2: - if (!fp_seek (fp, 0, GST_SEEK_METHOD_SET)) - return; - break; - case 3: - if (!fp_read (fp, 50)) - return; - break; - case 4: - if (!fp_read (fp, MIN_SIZE - 50)) /* bigger than 1 buffer */ - return; - break; - case 5: - if (!fp_seek (fp, -200, GST_SEEK_METHOD_CUR)) - return; - break; - case 6: - if (!fp_read (fp, 50)) - return; - break; - case 7: - if (!fp_seek (fp, 50, GST_SEEK_METHOD_CUR)) - return; - break; - case 8: - if (!fp_read (fp, 50)) - return; - break; - case 9: - if (!fp_seek (fp, MIN_SIZE - 50, GST_SEEK_METHOD_SET)) - return; - break; - case 10: - if (!fp_read (fp, 50)) - return; - break; - case 11: - if (!fp_seek (fp, 0, GST_SEEK_METHOD_END)) - return; - break; - case 12: - if (!fp_eof (fp)) - return; - gst_element_set_eos (GST_ELEMENT (fp)); - return; - default: - g_assert_not_reached (); - } - } -} - -#ifndef THE_FILE -# define THE_FILE "../../configure.ac" -#endif -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink; - long size; - - gst_init (&argc, &argv); - gst_library_load ("gstbytestream"); - - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("filesrc", NULL); - g_assert (src); - sink = g_object_new (GST_TYPE_FP_SINK, NULL); - gst_object_set_name (GST_OBJECT (sink), "sink"); - gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); - if (!gst_element_link (src, sink)) - g_assert_not_reached (); - g_object_set (src, "location", THE_FILE, NULL); - GST_FP_SINK (sink)->stream = fopen (THE_FILE, "rb"); - g_assert (GST_FP_SINK (sink)->stream); - /* check correct file sizes */ - if (fseek (GST_FP_SINK (sink)->stream, 0, SEEK_END) != 0) - g_assert_not_reached (); - size = ftell (GST_FP_SINK (sink)->stream); - if (fseek (GST_FP_SINK (sink)->stream, 0, SEEK_SET) != 0) - g_assert_not_reached (); - g_assert (size >= MIN_SIZE); - g_assert (size <= MAX_SIZE); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (gst_bin_iterate (GST_BIN (pipeline))); - - g_assert (GST_FP_SINK (sink)->state == 13); - g_object_unref (pipeline); - pipeline = NULL; - return 0; -} diff --git a/testsuite/bytestream/gstbstest.c b/testsuite/bytestream/gstbstest.c deleted file mode 100644 index d126136179..0000000000 --- a/testsuite/bytestream/gstbstest.c +++ /dev/null @@ -1,418 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen - * 2000 Wim Taymans - * - * gstbstest.c: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include -#include - -#include -#include - -#define GST_TYPE_BSTEST (gst_bstest_get_type()) -#define GST_BSTEST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BSTEST,GstBsTest)) -#define GST_BSTEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BSTEST,GstBsTestClass)) -#define GST_IS_BSTEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BSTEST)) -#define GST_IS_BSTEST_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BSTEST)) - -typedef struct _GstBsTest GstBsTest; -typedef struct _GstBsTestClass GstBsTestClass; - -struct _GstBsTest -{ - GstElement element; - - GstPad *sinkpad; - GstPad *srcpad; - - GstByteStream *bs; - - gchar *accesspattern; - guint num_patterns; - gchar **patterns; - guint sizemin; - guint sizemax; - gint count; - gboolean silent; -}; - -struct _GstBsTestClass -{ - GstElementClass parent_class; -}; - -GType gst_bstest_get_type (void); - - -GstElementDetails gst_bstest_details = GST_ELEMENT_DETAILS ("ByteStreamTest", - "Filter", - "Test for the GstByteStream code", - "Erik Walthinsen , " - "Wim Taymans "); - - -/* BsTest signals and args */ -enum -{ - /* FILL ME */ - LAST_SIGNAL -}; - -enum -{ - ARG_0, - ARG_SIZEMIN, - ARG_SIZEMAX, - ARG_COUNT, - ARG_SILENT, - ARG_ACCESSPATTERN, -}; - - -static void gst_bstest_base_init (gpointer g_class); -static void gst_bstest_class_init (GstBsTestClass * klass); -static void gst_bstest_init (GstBsTest * bstest); - -static void gst_bstest_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec); -static void gst_bstest_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec); - -static GstStateChangeReturn gst_bstest_change_state (GstElement * element, - GstStateChange transition); -static void gst_bstest_loop (GstElement * element); - -static GstElementClass *parent_class = NULL; - -/* static guint gst_bstest_signals[LAST_SIGNAL] = { 0 }; */ - -GType -gst_bstest_get_type (void) -{ - static GType bstest_type = 0; - - if (!bstest_type) { - static const GTypeInfo bstest_info = { - sizeof (GstBsTestClass), - gst_bstest_base_init, - NULL, - (GClassInitFunc) gst_bstest_class_init, - NULL, - NULL, - sizeof (GstBsTest), - 0, - (GInstanceInitFunc) gst_bstest_init, - }; - - bstest_type = - g_type_register_static (GST_TYPE_ELEMENT, "BSTest", &bstest_info, 0); - } - return bstest_type; -} -static void -gst_bstest_base_init (gpointer g_class) -{ - GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class); - - gst_element_class_set_details (gstelement_class, &gst_bstest_details); -} - -static void -gst_bstest_class_init (GstBsTestClass * klass) -{ - GObjectClass *gobject_class; - GstElementClass *gstelement_class; - - gobject_class = (GObjectClass *) klass; - gstelement_class = (GstElementClass *) klass; - - parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SIZEMIN, - g_param_spec_int ("sizemin", "sizemin", "sizemin", 0, G_MAXINT, - 0, G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SIZEMAX, - g_param_spec_int ("sizemax", "sizemax", "sizemax", 0, G_MAXINT, - 384, G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ACCESSPATTERN, - g_param_spec_string ("accesspattern", "accesspattern", "accesspattern", - "r", G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_COUNT, - g_param_spec_uint ("count", "count", "count", - 0, G_MAXUINT, 0, G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SILENT, - g_param_spec_boolean ("silent", "silent", "silent", - FALSE, G_PARAM_READWRITE)); - - gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_bstest_set_property); - gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_bstest_get_property); - - gstelement_class->change_state = gst_bstest_change_state; - -} - -static GstCaps * -gst_bstest_getcaps (GstPad * pad) -{ - GstBsTest *bstest = GST_BSTEST (gst_pad_get_parent (pad)); - GstPad *otherpad; - - otherpad = (pad == bstest->srcpad) ? bstest->sinkpad : bstest->srcpad; - - return gst_pad_get_allowed_caps (otherpad); -} - -GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS_ANY); - -GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS_ANY); - -static void -gst_bstest_init (GstBsTest * bstest) -{ - bstest->sinkpad = - gst_pad_new_from_template (gst_static_pad_template_get (&sinktemplate), - "sink"); - gst_element_add_pad (GST_ELEMENT (bstest), bstest->sinkpad); - gst_pad_set_getcaps_function (bstest->sinkpad, gst_bstest_getcaps); - - bstest->srcpad = - gst_pad_new_from_template (gst_static_pad_template_get (&srctemplate), - "src"); - gst_element_add_pad (GST_ELEMENT (bstest), bstest->srcpad); - gst_pad_set_getcaps_function (bstest->srcpad, gst_bstest_getcaps); - - gst_element_set_loop_function (GST_ELEMENT (bstest), gst_bstest_loop); - - bstest->sizemin = 0; - bstest->sizemax = 384; - bstest->accesspattern = g_strdup ("r"); - bstest->patterns = g_strsplit (bstest->accesspattern, ":", 0); - bstest->count = 5; - bstest->silent = FALSE; - bstest->bs = NULL; -} - -static guint -gst_bstest_get_size (GstBsTest * bstest, gchar * sizestring, guint prevsize) -{ - guint size; - - if (sizestring[0] == 0) { - size = bstest->sizemax; - } else if (sizestring[0] == 'r') { - size = - bstest->sizemin + - (guint8) (((gfloat) bstest->sizemax) * rand () / (RAND_MAX + - (gfloat) bstest->sizemin)); - } else if (sizestring[0] == '<') { - size = prevsize; - } else { - size = atoi (sizestring); - } - - if (size == 0) - size++; - - return size; -} - -static void -gst_bstest_loop (GstElement * element) -{ - GstBsTest *bstest; - GstBuffer *buf = NULL; - - g_return_if_fail (element != NULL); - g_return_if_fail (GST_IS_BSTEST (element)); - - bstest = GST_BSTEST (element); - - do { - guint size = 0; - guint i = 0; - guint8 *ptr; - - while (i < bstest->num_patterns) { - buf = NULL; - - if (bstest->patterns[i][0] == 'r') { - size = gst_bstest_get_size (bstest, &bstest->patterns[i][1], size); - if (!bstest->silent) - g_print ("bstest: ***** read %d bytes\n", size); - gst_bytestream_read (bstest->bs, &buf, size); - } else if (bstest->patterns[i][0] == 'f') { - size = gst_bstest_get_size (bstest, &bstest->patterns[i][1], size); - if (!bstest->silent) - g_print ("bstest: ***** flush %d bytes\n", size); - gst_bytestream_flush (bstest->bs, size); - } else if (!strncmp (bstest->patterns[i], "pb", 2)) { - size = gst_bstest_get_size (bstest, &bstest->patterns[i][2], size); - if (!bstest->silent) - g_print ("bstest: ***** peek bytes %d bytes\n", size); - gst_bytestream_peek_bytes (bstest->bs, &ptr, size); - } else if (bstest->patterns[i][0] == 'p') { - size = gst_bstest_get_size (bstest, &bstest->patterns[i][1], size); - if (!bstest->silent) - g_print ("bstest: ***** peek %d bytes\n", size); - gst_bytestream_peek (bstest->bs, &buf, size); - gst_buffer_unref (buf); - buf = NULL; - } - - if (buf) - gst_pad_push (bstest->srcpad, GST_DATA (buf)); - - i++; - } -/* } while (!GST_ELEMENT_IS_COTHREAD_STOPPING (element)); */ - - } while (0); -} - -static void -gst_bstest_set_property (GObject * object, guint prop_id, const GValue * value, - GParamSpec * pspec) -{ - GstBsTest *bstest; - - g_return_if_fail (GST_IS_BSTEST (object)); - - bstest = GST_BSTEST (object); - - switch (prop_id) { - case ARG_SIZEMIN: - bstest->sizemin = g_value_get_int (value); - break; - case ARG_SIZEMAX: - bstest->sizemax = g_value_get_int (value); - break; - case ARG_ACCESSPATTERN: - if (bstest->accesspattern) { - g_free (bstest->accesspattern); - g_strfreev (bstest->patterns); - } - if (g_value_get_string (value) == NULL) { - gst_element_set_state (GST_ELEMENT (object), GST_STATE_NULL); - bstest->accesspattern = NULL; - bstest->num_patterns = 0; - } else { - guint i = 0; - - bstest->accesspattern = g_strdup (g_value_get_string (value)); - bstest->patterns = g_strsplit (bstest->accesspattern, ":", 0); - while (bstest->patterns[i++]); - bstest->num_patterns = i - 1; - } - break; - case ARG_COUNT: - bstest->count = g_value_get_uint (value); - break; - case ARG_SILENT: - bstest->silent = g_value_get_boolean (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gst_bstest_get_property (GObject * object, guint prop_id, GValue * value, - GParamSpec * pspec) -{ - GstBsTest *bstest; - - g_return_if_fail (GST_IS_BSTEST (object)); - - bstest = GST_BSTEST (object); - - switch (prop_id) { - case ARG_SIZEMIN: - g_value_set_int (value, bstest->sizemin); - break; - case ARG_SIZEMAX: - g_value_set_int (value, bstest->sizemax); - break; - case ARG_ACCESSPATTERN: - g_value_set_string (value, bstest->accesspattern); - break; - case ARG_COUNT: - g_value_set_uint (value, bstest->count); - break; - case ARG_SILENT: - g_value_set_boolean (value, bstest->silent); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static GstStateChangeReturn -gst_bstest_change_state (GstElement * element, GstStateChange transition) -{ - GstBsTest *bstest; - - g_return_val_if_fail (GST_IS_BSTEST (element), GST_STATE_CHANGE_FAILURE); - - bstest = GST_BSTEST (element); - - if (GST_STATE_PENDING (element) == GST_STATE_NULL) { - if (bstest->bs) { - gst_bytestream_destroy (bstest->bs); - bstest->bs = NULL; - } - } else { - if (!bstest->bs) { - bstest->bs = gst_bytestream_new (bstest->sinkpad); - } - } - - if (GST_ELEMENT_CLASS (parent_class)->change_state) - return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); - - return GST_STATE_CHANGE_SUCCESS; -} - -static gboolean -plugin_init (GstPlugin * plugin) -{ - /* We need to create an ElementFactory for each element we provide. - * This consists of the name of the element, the GType identifier, - * and a pointer to the details structure at the top of the file. - */ - return gst_element_register (plugin, "bstest", GST_RANK_PRIMARY, - GST_TYPE_BSTEST); -} - -GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, - GST_VERSION_MINOR, - "bstest", - "test for the bytestream element", - plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN) diff --git a/testsuite/bytestream/test1.c b/testsuite/bytestream/test1.c deleted file mode 100644 index fde56402c6..0000000000 --- a/testsuite/bytestream/test1.c +++ /dev/null @@ -1,230 +0,0 @@ -#include -#include - -#include - -#define VM_THRES 1000 -#define MAX_CONFIG_LINE 255 -#define MAX_CONFIG_PATTERN 64 - -typedef struct -{ - gint src_data; - gint src_sizetype; - - gchar *bs_accesspattern; - - gboolean integrity_check; -} -TestParam; - -static GSList *params = NULL; - -static guint8 count; -static guint iterations; -static gboolean integrity_check = TRUE; -static gboolean verbose = FALSE; -static gboolean dump = FALSE; - -static void -handoff (GstElement * element, GstBuffer * buf, GstPad * pad, gpointer data) -{ - if (GST_IS_BUFFER (buf)) { - if (integrity_check) { - gint i; - guint8 *ptr = GST_BUFFER_DATA (buf); - - for (i = 0; i < GST_BUFFER_SIZE (buf); i++) { - if (*ptr++ != count++) { - g_print ("data error!\n"); - return; - } - } - } - } else { - g_print ("not a buffer ! %p\n", buf); - } -} -static gchar * -create_desc (TestParam * param) -{ - gchar *desc; - - desc = - g_strdup_printf ("%s %s, pattern %s", - (param->src_sizetype == 2 ? "fixed" : "random"), - (param->src_data == 1 ? "src" : "subbuffer"), param->bs_accesspattern); - return desc; -} - -static gboolean -read_param_file (gchar * filename) -{ - FILE *fp; - gchar line[MAX_CONFIG_LINE + 1]; - guint linenr = 0; - gchar pattern[MAX_CONFIG_PATTERN]; - gint data, sizetype, integrity_check; - gchar *scan_str; - gboolean res = TRUE; - - fp = fopen (filename, "rb"); - if (fp == NULL) - return FALSE; - - scan_str = g_strdup_printf ("%%d %%d %%%ds %%d", MAX_CONFIG_PATTERN - 1); - - while (fgets (line, MAX_CONFIG_LINE, fp)) { - linenr++; - - if (line[0] == '\n' || line[0] == '#') - continue; - - if (sscanf (line, scan_str, &data, &sizetype, pattern, - &integrity_check) != 4) { - g_print ("error on line: %d\n", linenr); - res = FALSE; - break; - } else { - TestParam *param = g_malloc (sizeof (TestParam)); - - param->src_data = data; - param->src_sizetype = sizetype; - param->bs_accesspattern = g_strdup (pattern); - param->integrity_check = (integrity_check == 0 ? FALSE : TRUE); - - params = g_slist_append (params, param); - } - } - g_free (scan_str); - - return res; -} - -static void -run_test (GstBin * pipeline, gint iters) -{ - gint vm = 0; - gint maxiters = iters; - gint prev_percent = -1; - - count = 0; - gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING); - - while (iters) { - gint newvm = gst_alloc_trace_live_all (); - gint percent; - - percent = (gint) ((maxiters - iters + 1) * 100.0 / maxiters); - - if (percent != prev_percent || newvm - vm > VM_THRES) { - g_print ("\r%d (delta %d) %.3d%% ", newvm, newvm - vm, - percent); - prev_percent = percent; - vm = newvm; - } - gst_bin_iterate (pipeline); - - if (iters > 0) - iters--; - } - gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL); -} - -static void -usage (char *argv[]) -{ - g_print ("usage: %s [--verbose] [--dump] \n", - argv[0]); -} - -int -main (int argc, char *argv[]) -{ - GstElement *src; - GstElement *sink; - GstElement *bs; - GstElement *pipeline; - gint testnum = 0; - GSList *walk; - gint arg_walk; - - gst_alloc_trace_set_flags_all (GST_ALLOC_TRACE_LIVE); - gst_init (&argc, &argv); - - arg_walk = 1; - while ((arg_walk < argc) && (argv[arg_walk][0] == '-')) { - if (!strncmp (argv[arg_walk], "--verbose", 9)) - verbose = TRUE; - else if (!strncmp (argv[arg_walk], "--dump", 6)) - dump = TRUE; - else { - g_print ("unknown option %s (ignored)\n", argv[arg_walk]); - } - - arg_walk++; - } - if (argc - arg_walk < 2) { - usage (argv); - return -1; - } - if (!read_param_file (argv[arg_walk])) { - g_print ("error reading file %s\n", argv[arg_walk]); - usage (argv); - return -1; - } - arg_walk++; - iterations = atoi (argv[arg_walk]); - - pipeline = gst_element_factory_make ("pipeline", "pipeline"); - g_assert (pipeline); - - src = gst_element_factory_make ("fakesrc", "src"); - g_assert (src); - - sink = gst_element_factory_make ("fakesink", "sink"); - g_assert (sink); - g_object_set (sink, "signal-handoff", TRUE, NULL); - g_signal_connect (G_OBJECT (sink), "handoff", G_CALLBACK (handoff), NULL); - - bs = gst_element_factory_make ("bstest", "bs"); - g_assert (bs); - - gst_element_link_many (src, bs, sink, NULL); - - gst_bin_add_many (GST_BIN (pipeline), src, bs, sink, NULL); - - walk = params; - - while (walk) { - gchar *desc; - TestParam *param = (TestParam *) (walk->data); - - integrity_check = param->integrity_check; - - g_print ("\n\nrunning test %d (%d iterations):\n", testnum + 1, iterations); - desc = create_desc (param); - g_print ("%s\n", desc); - g_free (desc); - - g_object_set (G_OBJECT (src), "data", param->src_data, - "sizetype", param->src_sizetype, - "filltype", (integrity_check ? 5 : 0), "silent", !verbose, NULL); - - g_object_set (G_OBJECT (bs), "accesspattern", param->bs_accesspattern, - "silent", !verbose, NULL); - - g_object_set (G_OBJECT (sink), "dump", dump, "silent", !verbose, NULL); - - run_test (GST_BIN (pipeline), iterations); - - testnum++; - - walk = g_slist_next (walk); - } - - g_print ("\n\ndone\n"); - - return 0; - -} diff --git a/testsuite/bytestream/testfile1 b/testsuite/bytestream/testfile1 deleted file mode 100644 index 68a32dd582..0000000000 --- a/testsuite/bytestream/testfile1 +++ /dev/null @@ -1,93 +0,0 @@ -# lots of parameters here. values for the columns are like: -# -# - data property in fakesrc: 1 = allocate, 2 = subbuffer -# - sizetype property in fakesrc: 2 = fixed, 3 = random -# -# - accesspattern for bstest -# [:...] -# -# can be: -# r = read -# p = peek -# pb = peek bytes -# f = flush -# can be: -# = fixed size -# r = random size -# < = previous size -# = this size -# -# - integrity check: 0 = no, 1 = yes -# -1 2 r 1 -1 2 rr 1 -1 3 r 1 -1 3 rr 1 -2 2 r 1 -2 2 rr 1 -2 3 r 1 -2 3 rr 1 -1 2 p:r< 1 -1 2 pr:r< 1 -1 3 p:r< 1 -1 3 pr:r< 1 -2 2 p:r< 1 -2 2 pr:r< 1 -2 3 p:r< 1 -2 3 pr:r< 1 -1 2 p:rr 1 -1 2 pr:rr 1 -1 3 p:rr 1 -1 3 pr:rr 1 -2 2 p:rr 1 -2 2 pr:rr 1 -2 3 p:rr 1 -2 3 pr:rr 1 -1 2 pb:r 1 -1 2 pbr:r 1 -1 3 pb:r 1 -1 3 pbr:r 1 -2 2 pb:r 1 -2 2 pbr:r 1 -2 3 pb:r 1 -2 3 pbr:r 1 -1 2 pb:rr 1 -1 2 pbr:rr 1 -1 3 pb:rr 1 -1 3 pbr:rr 1 -2 2 pb:rr 1 -2 2 pbr:rr 1 -2 3 pb:rr 1 -2 3 pbr:rr 1 -1 2 p:fr:rr 0 -1 2 pr:fr:rr 0 -1 3 p:fr:rr 0 -1 3 pr:fr:rr 0 -2 2 p:fr:rr 0 -2 2 pr:fr:rr 0 -2 3 p:fr:rr 0 -2 3 pr:fr:rr 0 -1 2 fr:rr 0 -1 2 fr:rr 0 -1 3 fr:rr 0 -1 3 fr:rr 0 -2 2 fr:rr 0 -2 2 fr:rr 0 -2 3 fr:rr 0 -2 3 fr:rr 0 -1 2 fr:fr:rr 0 -1 2 fr:fr:rr 0 -1 3 fr:fr:rr 0 -1 3 fr:fr:rr 0 -2 2 fr:fr:rr 0 -2 2 fr:fr:rr 0 -2 3 fr:fr:rr 0 -2 3 fr:fr:rr 0 -1 2 pbr:pbr:rr 1 -1 2 pbr:pbr:rr 1 -1 3 pbr:pbr:rr 1 -1 3 pbr:pbr:rr 1 -2 2 pbr:pbr:rr 1 -2 2 pbr:pbr:rr 1 -2 3 pbr:pbr:rr 1 -2 3 pbr:pbr:rr 1 diff --git a/testsuite/caps/normalisation.c b/testsuite/caps/normalisation.c index 4d1eae3955..0690574a8d 100644 --- a/testsuite/caps/normalisation.c +++ b/testsuite/caps/normalisation.c @@ -36,7 +36,7 @@ GST_CAPS_FACTORY (rawcaps4, "fourcc", GST_PROPS_LIST ( GST_PROPS_FOURCC (GST_STR_FOURCC ("YUY2")), GST_PROPS_FOURCC (GST_STR_FOURCC ("YV12")), - GST_PROPS_FOURCC (GST_STR_FOURCC ("YUYV")) + GST_PROPS_FOURCC (GST_STR_FOURCC ("YUYV")) ), "height", GST_PROPS_INT_RANGE (16, 4096) ) diff --git a/testsuite/caps/random.c b/testsuite/caps/random.c index d604436c07..e95b01cb40 100644 --- a/testsuite/caps/random.c +++ b/testsuite/caps/random.c @@ -31,13 +31,13 @@ gint main (gint argc, gchar * argv[]) { /* this file contains random tests for stuff that went wrong in some version - * and should be tested so we're sure it works right now + * and should be tested so we're sure it works right now * Please add what exactly the code tests for in your test */ gst_init (&argc, &argv); /* TEST 1: - * gstcaps.c 1.120 used a code path that caused a GST_ERROR for the tested + * gstcaps.c 1.120 used a code path that caused a GST_ERROR for the tested * caps when simplifying even though that is absolutely valid */ { GstCaps *caps = @@ -50,7 +50,7 @@ main (gint argc, gchar * argv[]) } /* TEST 2: - * gstvalue.c 1.34 had a broken comparison function for int ranges that + * gstvalue.c 1.34 had a broken comparison function for int ranges that * returned GST_VALUE_EQUAL even though the range end was different */ { GValue v1 = { 0, }; diff --git a/testsuite/cleanup/.gitignore b/testsuite/cleanup/.gitignore deleted file mode 100644 index 21be5cc590..0000000000 --- a/testsuite/cleanup/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -test-registry.xml -*.bb -*.bbg -*.da - -cleanup1 -cleanup2 -cleanup3 -cleanup4 -cleanup5 diff --git a/testsuite/cleanup/Makefile.am b/testsuite/cleanup/Makefile.am deleted file mode 100644 index ba1e603d54..0000000000 --- a/testsuite/cleanup/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -include ../Rules - -tests_pass = cleanup1 cleanup2 cleanup4 cleanup5 -tests_fail = - -# cleanup3 fails depending on the machine -tests_ignore = cleanup3 diff --git a/testsuite/cleanup/cleanup1.c b/testsuite/cleanup/cleanup1.c deleted file mode 100644 index 05a97b506f..0000000000 --- a/testsuite/cleanup/cleanup1.c +++ /dev/null @@ -1,60 +0,0 @@ -#include - -static GstElement * -create_pipeline (void) -{ - GstElement *fakesrc, *fakesink; - GstElement *pipeline; - - - pipeline = gst_pipeline_new ("main_pipeline"); - - fakesrc = gst_element_factory_make ("fakesrc", "fakesrc"); - fakesink = gst_element_factory_make ("fakesink", "fakesink"); - - gst_bin_add_many (GST_BIN (pipeline), fakesrc, fakesink, NULL); - - gst_element_link (fakesrc, fakesink); - - g_object_set (G_OBJECT (fakesrc), "num_buffers", 5, NULL); - - return pipeline; -} - -gint -main (gint argc, gchar * argv[]) -{ - GstElement *pipeline; - gint i = 1000; - gint step = 100; - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - g_mem_chunk_info (); - while (i--) { - if (i % step == 0) - fprintf (stderr, "%10d\r", i); - pipeline = create_pipeline (); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_object_unref (pipeline); - - } - fprintf (stderr, "\n"); - g_mem_chunk_info (); - - return 0; -} diff --git a/testsuite/cleanup/cleanup2.c b/testsuite/cleanup/cleanup2.c deleted file mode 100644 index 06c0416b70..0000000000 --- a/testsuite/cleanup/cleanup2.c +++ /dev/null @@ -1,64 +0,0 @@ -#include - -static GstElement * -create_pipeline (void) -{ - GstElement *fakesrc, *fakesink; - GstElement *pipeline; - GstElement *bin; - - pipeline = gst_pipeline_new ("main_pipeline"); - - fakesrc = gst_element_factory_make ("fakesrc", "fakesrc"); - bin = gst_bin_new ("bin"); - fakesink = gst_element_factory_make ("fakesink", "fakesink"); - gst_bin_add (GST_BIN (bin), fakesink); - gst_element_add_ghost_pad (bin, gst_element_get_pad (fakesink, "sink"), - "sink"); - - gst_bin_add_many (GST_BIN (pipeline), fakesrc, bin, NULL); - - gst_element_link (fakesrc, bin); - - g_object_set (G_OBJECT (fakesrc), "num_buffers", 5, NULL); - - return pipeline; -} - -gint -main (gint argc, gchar * argv[]) -{ - GstElement *pipeline; - gint i = 1000; - gint step = 100; - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - - g_mem_chunk_info (); - while (i--) { - if (i % step == 0) - fprintf (stderr, "%10d\r", i); - pipeline = create_pipeline (); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_object_unref (pipeline); - } - fprintf (stderr, "\n"); - g_mem_chunk_info (); - - return 0; -} diff --git a/testsuite/cleanup/cleanup3.c b/testsuite/cleanup/cleanup3.c deleted file mode 100644 index 5b22ca987f..0000000000 --- a/testsuite/cleanup/cleanup3.c +++ /dev/null @@ -1,68 +0,0 @@ -#include - -static GstElement * -create_pipeline (void) -{ - GstElement *fakesrc, *fakesink; - GstElement *pipeline; - GstElement *thread, *queue; - - pipeline = gst_pipeline_new ("main_pipeline"); - - fakesrc = gst_element_factory_make ("fakesrc", "fakesrc"); - thread = gst_thread_new ("thread"); - fakesink = gst_element_factory_make ("fakesink", "fakesink"); - queue = gst_element_factory_make ("queue", "queue"); - gst_bin_add (GST_BIN (thread), fakesink); - gst_bin_add (GST_BIN (thread), queue); - gst_element_link (queue, fakesink); - gst_element_add_ghost_pad (thread, gst_element_get_pad (queue, "sink"), - "sink"); - - gst_element_link (fakesrc, thread); - - gst_bin_add (GST_BIN (pipeline), fakesrc); - gst_bin_add (GST_BIN (pipeline), thread); - - g_object_set (G_OBJECT (fakesrc), "num_buffers", 5, NULL); - - return pipeline; -} - -gint -main (gint argc, gchar * argv[]) -{ - GstElement *pipeline; - gint i = 10000; - gint step = 100; - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - - g_mem_chunk_info (); - while (i--) { - if (i % step == 0) - fprintf (stderr, "%10d\r", i); - pipeline = create_pipeline (); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - gst_object_unref (pipeline); - } - fprintf (stderr, "\n"); - g_mem_chunk_info (); - - return 0; -} diff --git a/testsuite/cleanup/cleanup4.c b/testsuite/cleanup/cleanup4.c deleted file mode 100644 index a82b3f9a68..0000000000 --- a/testsuite/cleanup/cleanup4.c +++ /dev/null @@ -1,52 +0,0 @@ -#include - -gint -main (gint argc, gchar * argv[]) -{ - GstElement *pipeline; - GstElement *fakesrc; - gint i; - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - i = 1000; - - pipeline = gst_pipeline_new ("main_pipeline"); - - fakesrc = gst_element_factory_make ("fakesrc", "fakesrc"); - g_object_set (G_OBJECT (fakesrc), "num_buffers", 5, NULL); - gst_bin_add (GST_BIN (pipeline), fakesrc); - - g_mem_chunk_info (); - while (i--) { - GstElement *bin; - GstElement *fakesink; - - g_print ("+"); - - bin = gst_bin_new ("bin"); - - fakesink = gst_element_factory_make ("fakesink", "fakesink"); - - gst_bin_add (GST_BIN (bin), fakesink); - gst_bin_add (GST_BIN (pipeline), bin); - - gst_element_link (fakesrc, fakesink); - - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - while (gst_bin_iterate (GST_BIN (pipeline))); - - gst_element_set_state (pipeline, GST_STATE_NULL); - - g_print ("-"); - gst_bin_remove (GST_BIN (pipeline), GST_ELEMENT (bin)); - - } - g_print ("\n"); - g_mem_chunk_info (); - - return 0; -} diff --git a/testsuite/cleanup/cleanup5.c b/testsuite/cleanup/cleanup5.c deleted file mode 100644 index fef2c834b8..0000000000 --- a/testsuite/cleanup/cleanup5.c +++ /dev/null @@ -1,41 +0,0 @@ -#include - -int -main (int argc, char *argv[]) -{ - GstElement *bin, *element; - gint i = 1000; - gint step = 100; - - - free (malloc (8)); /* -lefence */ - - gst_init (&argc, &argv); - - g_mem_chunk_info (); - - bin = gst_pipeline_new ("pipeline"); - - while (i--) { - GstPad *pad; - - if (i % step == 0) - fprintf (stderr, "\r%10d", i); - - element = gst_element_factory_make ("tee", "tee"); - if (!element) - break; - - pad = gst_element_get_request_pad (element, "src%d"); - - gst_bin_add (GST_BIN (bin), element); - gst_bin_remove (GST_BIN (bin), element); - - } - fprintf (stderr, "+\n"); - - gst_object_unref (bin); - - g_mem_chunk_info (); - return 0; -} diff --git a/testsuite/controller/interpolator.c b/testsuite/controller/interpolator.c index 3d34a9e35c..45d44239ad 100644 --- a/testsuite/controller/interpolator.c +++ b/testsuite/controller/interpolator.c @@ -1,6 +1,6 @@ /* * interpolator.c - * + * * test interpolator methods * */ diff --git a/testsuite/debug/printf_extension.c b/testsuite/debug/printf_extension.c index 393f68a7c7..67e9d3ce46 100644 --- a/testsuite/debug/printf_extension.c +++ b/testsuite/debug/printf_extension.c @@ -38,7 +38,7 @@ main (gint argc, gchar * argv[]) GST_ERROR ("This should print null: %" GST_PTR_FORMAT, NULL); GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &null); /* 64 bit address to a 32 bit int will cause the GObject interpretation - * to segfault; since GST_PTR_FORMAT only works on stuff with + * to segfault; since GST_PTR_FORMAT only works on stuff with * sizeof(gpointer) */ /* GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &zero); */ diff --git a/testsuite/elements/tee.c b/testsuite/elements/tee.c index 9f4a528e6b..332513ae46 100644 --- a/testsuite/elements/tee.c +++ b/testsuite/elements/tee.c @@ -5,7 +5,7 @@ * which shows a bug in 0.3.2 : * request pad, get 0 * request pad, get 1 - * remove pad 0, + * remove pad 0, * request pad, get 1 (number of pads), already exists, assert fail * * thomas@apestaart.org diff --git a/testsuite/negotiation/.gitignore b/testsuite/negotiation/.gitignore deleted file mode 100644 index 79725113d2..0000000000 --- a/testsuite/negotiation/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -pad_link - diff --git a/testsuite/negotiation/Makefile.am b/testsuite/negotiation/Makefile.am deleted file mode 100644 index 15347325fd..0000000000 --- a/testsuite/negotiation/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -include ../Rules - -tests_pass = pad_link -tests_fail = -tests_ignore = diff --git a/testsuite/negotiation/pad_link.c b/testsuite/negotiation/pad_link.c deleted file mode 100644 index 553686fbd9..0000000000 --- a/testsuite/negotiation/pad_link.c +++ /dev/null @@ -1,35 +0,0 @@ -#include - -/* this test checks that gst_pad_link takes into account all available - * information when trying to link two pads. - * Because identity proxies caps, the caps in the first and second link - * must be compatible for this pipeline to work. - * Since they are not, the second linkig attempt should fail. - */ - -gint -main (int argc, gchar ** argv) -{ - GstElement *src, *identity, *sink; - GstCaps *one, *two; - - gst_init (&argc, &argv); - - /* create incompatible caps */ - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - identity = gst_element_factory_make ("identity", NULL); - g_assert (identity); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - one = gst_caps_from_string ("some/mime"); - two = gst_caps_from_string ("other/mime"); - - g_assert (GST_PAD_LINK_SUCCESSFUL (gst_pad_link_filtered (gst_element_get_pad - (src, "src"), gst_element_get_pad (identity, "sink"), one))); - g_assert (!GST_PAD_LINK_SUCCESSFUL (gst_pad_link_filtered (gst_element_get_pad - (identity, "src"), gst_element_get_pad (sink, "sink"), two))); - - return 0; -} diff --git a/testsuite/pad/Makefile.am b/testsuite/pad/Makefile.am deleted file mode 100644 index cb6e84155d..0000000000 --- a/testsuite/pad/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -include ../Rules - -tests_pass = link -tests_fail = chainnopull getnopush -tests_ignore = diff --git a/testsuite/pad/chainnopull.c b/testsuite/pad/chainnopull.c deleted file mode 100644 index 2fb612a3b7..0000000000 --- a/testsuite/pad/chainnopull.c +++ /dev/null @@ -1,66 +0,0 @@ -/* - * this tests that chain-based pads don't pull. - */ - -#include - -typedef struct _GstTestSink -{ - GstElement parent; - GstPad *sinkpad; -} GstTestSink; - -typedef GstElementClass GstTestSinkClass; - -static void -gst_test_sink_class_init (GstTestSinkClass * klass) -{ -} - -static void -gst_test_sink_base_init (gpointer klass) -{ -} - -static void -gst_test_sink_chain (GstPad * pad, GstData * data) -{ - data = gst_pad_pull (pad); -} - -static void -gst_test_sink_init (GstTestSink * sink) -{ - sink->sinkpad = gst_pad_new ("sink", GST_PAD_SINK); - gst_pad_set_chain_function (sink->sinkpad, gst_test_sink_chain); - gst_element_add_pad (GST_ELEMENT (sink), sink->sinkpad); -} - -GST_BOILERPLATE (GstTestSink, gst_test_sink, GstElement, GST_TYPE_ELEMENT); - -int -main (int argc, char *argv[]) -{ - GstElement *pipeline, *fakesrc, *testsink; - gint n; - - gst_init (&argc, &argv); - - pipeline = gst_pipeline_new ("p"); - fakesrc = gst_element_factory_make ("fakesrc", "src"); - testsink = g_object_new (gst_test_sink_get_type (), NULL); - gst_object_set_name (GST_OBJECT (testsink), "sink"); - gst_bin_add_many (GST_BIN (pipeline), fakesrc, testsink, NULL); - gst_element_link (fakesrc, testsink); - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - for (n = 0; n < 100; n++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - break; - } - - gst_element_set_state (pipeline, GST_STATE_NULL); - gst_object_unref (pipeline); - - return 0; -} diff --git a/testsuite/pad/getnopush.c b/testsuite/pad/getnopush.c deleted file mode 100644 index 56b3a77e21..0000000000 --- a/testsuite/pad/getnopush.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * this tests that get-based pads don't push. - */ - -#include - -typedef struct _GstTestSrc -{ - GstElement parent; - GstPad *srcpad; -} GstTestSrc; - -typedef GstElementClass GstTestSrcClass; - -static void -gst_test_src_class_init (GstTestSrcClass * klass) -{ -} -static void -gst_test_src_base_init (gpointer klass) -{ -} - -static GstData * -gst_test_src_get (GstPad * pad) -{ - GstEvent *event; - - event = gst_event_new (GST_EVENT_INTERRUPT); - gst_event_ref (event); - gst_pad_push (pad, GST_DATA (event)); - - return GST_DATA (event); -} - -static void -gst_test_src_init (GstTestSrc * src) -{ - src->srcpad = gst_pad_new ("src", GST_PAD_SRC); - gst_pad_set_get_function (src->srcpad, gst_test_src_get); - gst_element_add_pad (GST_ELEMENT (src), src->srcpad); -} - -GST_BOILERPLATE (GstTestSrc, gst_test_src, GstElement, GST_TYPE_ELEMENT); - -int -main (int argc, char *argv[]) -{ - GstElement *pipeline, *testsrc, *fakesink; - gint n; - - gst_init (&argc, &argv); - - pipeline = gst_pipeline_new ("p"); - testsrc = g_object_new (gst_test_src_get_type (), NULL); - gst_object_set_name (GST_OBJECT (testsrc), "src"); - fakesink = gst_element_factory_make ("fakesink", "sink"); - gst_bin_add_many (GST_BIN (pipeline), testsrc, fakesink, NULL); - gst_element_link (testsrc, fakesink); - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - for (n = 0; n < 100; n++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - break; - } - - gst_element_set_state (pipeline, GST_STATE_NULL); - gst_object_unref (pipeline); - - return 0; -} diff --git a/testsuite/pad/link.c b/testsuite/pad/link.c deleted file mode 100644 index c38100ffd3..0000000000 --- a/testsuite/pad/link.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Test that: - * - get-based sources can return data, loop-based sources can push. - * - chain-based filters receive/push, loop-based filters can pull/push. - * - chain-based sinks receive, loop-based sinks pull. - */ - -#include - -/* - * Scary type code. - */ - -typedef struct _GstTestElement -{ - GstElement parent; - GstPad *srcpad, *sinkpad; -} GstTestSrc, GstTestFilter, GstTestSink, GstTestElement; - -typedef GstElementClass GstTestSrcClass, GstTestFilterClass, GstTestSinkClass, - GstTestElementClass; - -#define gst_test_src_class_init gst_test_element_class_init -#define gst_test_filter_class_init gst_test_element_class_init -#define gst_test_sink_class_init gst_test_element_class_init - -#define gst_test_src_base_init gst_test_element_base_init -#define gst_test_filter_base_init gst_test_element_base_init -#define gst_test_sink_base_init gst_test_element_base_init - -static void -gst_test_element_class_init (GstTestElementClass * klass) -{ -} -static void -gst_test_element_base_init (gpointer klass) -{ -} - -/* - * Actual element code. - */ - -gboolean loop = FALSE; - -static GstData * -gst_test_src_get (GstPad * pad) -{ - return GST_DATA (gst_event_new (GST_EVENT_INTERRUPT)); -} - -static void -gst_test_src_loop (GstElement * element) -{ - GstTestSrc *src = (GstTestElement *) element; - - gst_pad_push (src->srcpad, gst_test_src_get (src->srcpad)); -} - -static void -gst_test_src_init (GstTestElement * src) -{ - src->srcpad = gst_pad_new ("src", GST_PAD_SRC); - if (loop) { - gst_element_set_loop_function (GST_ELEMENT (src), gst_test_src_loop); - } else { - gst_pad_set_get_function (src->srcpad, gst_test_src_get); - } - gst_element_add_pad (GST_ELEMENT (src), src->srcpad); - - GST_OBJECT_FLAG_SET (src, GST_ELEMENT_EVENT_AWARE); -} - -static void -gst_test_filter_chain (GstPad * pad, GstData * data) -{ - GstTestFilter *filter = (GstTestElement *) gst_pad_get_parent (pad); - - gst_pad_push (filter->srcpad, data); -} - -static void -gst_test_filter_loop (GstElement * element) -{ - GstTestFilter *filter = (GstTestElement *) element; - - gst_test_filter_chain (filter->sinkpad, gst_pad_pull (filter->sinkpad)); -} - -static void -gst_test_filter_init (GstTestElement * filter) -{ - filter->sinkpad = gst_pad_new ("sink", GST_PAD_SINK); - if (loop) { - gst_element_set_loop_function (GST_ELEMENT (filter), gst_test_filter_loop); - } else { - gst_pad_set_chain_function (filter->sinkpad, gst_test_filter_chain); - } - gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad); - - filter->srcpad = gst_pad_new ("src", GST_PAD_SRC); - gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad); - - GST_OBJECT_FLAG_SET (filter, GST_ELEMENT_EVENT_AWARE); -} - -static void -gst_test_sink_chain (GstPad * pad, GstData * data) -{ - gst_data_unref (data); -} - -static void -gst_test_sink_loop (GstElement * element) -{ - GstTestSink *sink = (GstTestElement *) element; - - gst_test_sink_chain (sink->sinkpad, gst_pad_pull (sink->sinkpad)); -} - -static void -gst_test_sink_init (GstTestElement * sink) -{ - sink->sinkpad = gst_pad_new ("sink", GST_PAD_SINK); - if (loop) { - gst_element_set_loop_function (GST_ELEMENT (sink), gst_test_sink_loop); - } else { - gst_pad_set_chain_function (sink->sinkpad, gst_test_sink_chain); - } - gst_element_add_pad (GST_ELEMENT (sink), sink->sinkpad); - - GST_OBJECT_FLAG_SET (sink, GST_ELEMENT_EVENT_AWARE); -} - -#define parent_class src_parent_class -GST_BOILERPLATE (GstTestSrc, gst_test_src, GstElement, GST_TYPE_ELEMENT); -#undef parent_class -#define parent_class filter_parent_class -GST_BOILERPLATE (GstTestFilter, gst_test_filter, GstElement, GST_TYPE_ELEMENT); -#undef parent_class -#define parent_class sink_parent_class -GST_BOILERPLATE (GstTestSink, gst_test_sink, GstElement, GST_TYPE_ELEMENT); -#undef parent_class - -/* - * Actual test. - */ - -static void -cb_error (GstElement * element) -{ - g_assert_not_reached (); -} - -int -main (int argc, char *argv[]) -{ - GstElement *pipeline, *src, *filter, *sink; - gint n, r; - gboolean res; - - gst_init (&argc, &argv); - - for (r = 0; r < 2; r++) { - pipeline = gst_pipeline_new ("p"); - g_signal_connect (pipeline, "error", G_CALLBACK (cb_error), NULL); - src = g_object_new (gst_test_src_get_type (), NULL); - gst_object_set_name (GST_OBJECT (src), "src"); - filter = g_object_new (gst_test_filter_get_type (), NULL); - gst_object_set_name (GST_OBJECT (filter), "filter"); - sink = g_object_new (gst_test_sink_get_type (), NULL); - gst_object_set_name (GST_OBJECT (sink), "sink"); - gst_bin_add_many (GST_BIN (pipeline), src, filter, sink, NULL); - res = gst_element_link (src, filter); - g_assert (res); - res = gst_element_link (filter, sink); - g_assert (res); - gst_element_set_state (pipeline, GST_STATE_PLAYING); - - for (n = 0; n < 100; n++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - g_assert_not_reached (); - } - - gst_element_set_state (pipeline, GST_STATE_NULL); - gst_object_unref (pipeline); - - /* switch element types */ - g_print ("Loop=%s done\n", loop ? "true" : "false"); - loop = !loop; - } - - return 0; -} diff --git a/testsuite/refcounting/sched.c b/testsuite/refcounting/sched.c index 5409b9bf49..f9fcb85ff1 100644 --- a/testsuite/refcounting/sched.c +++ b/testsuite/refcounting/sched.c @@ -38,7 +38,7 @@ create_pipeline (void) gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); gst_element_link (src, sink); - /** + /** * now make the bug appear * I believe it has something to do with 2 chains being created in the scheduler * but I haven't looked at it yet diff --git a/testsuite/registry/Makefile.am b/testsuite/registry/Makefile.am deleted file mode 100644 index a95436eaa1..0000000000 --- a/testsuite/registry/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -include ../Rules - -tests_pass = gst-print-formats -tests_fail = -tests_ignore = - - diff --git a/testsuite/registry/gst-print-formats.c b/testsuite/registry/gst-print-formats.c deleted file mode 100644 index 8f40118e88..0000000000 --- a/testsuite/registry/gst-print-formats.c +++ /dev/null @@ -1,347 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen - * 2000 Wim Taymans - * 2004 Thomas Vander Stichele - * - * gst-inspect.c: tool to inspect the GStreamer registry - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include - -#include "gst/gst-i18n-app.h" - -#include -#include -#include - -#define static - -static void -print_pad_templates_info (GstElement * element, GstElementFactory * factory, - GstPadDirection dir) -{ - GstElementClass *gstelement_class; - const GList *pads; - GstPadTemplate *padtemplate; - - if (!factory->numpadtemplates) { - return; - } - - gstelement_class = GST_ELEMENT_CLASS (G_OBJECT_GET_CLASS (element)); - - pads = factory->padtemplates; - while (pads) { - padtemplate = (GstPadTemplate *) (pads->data); - pads = g_list_next (pads); - - if (padtemplate->direction == dir) { - if (padtemplate->caps) { - GstStructure *structure; - int i; - - for (i = 0; i < gst_caps_get_size (padtemplate->caps); i++) { - structure = gst_caps_get_structure (padtemplate->caps, i); - g_print (" %s\n", gst_structure_get_name (structure)); - } - } - } - } -} - -static void -print_element_list (const char *klass, GstPadDirection dir) -{ - GList *plugins; - - g_print ("Elements in %s:\n", klass); - for (plugins = gst_registry_pool_plugin_list (); plugins; - plugins = g_list_next (plugins)) { - GList *features; - GstPlugin *plugin; - - plugin = (GstPlugin *) (plugins->data); - - features = gst_plugin_get_feature_list (plugin); - while (features) { - GstPluginFeature *feature; - - feature = GST_PLUGIN_FEATURE (features->data); - - if (GST_IS_ELEMENT_FACTORY (feature)) { - GstElementFactory *factory; - GstElement *element; - - factory = GST_ELEMENT_FACTORY (feature); - if (strncmp (factory->details.klass, klass, strlen (klass)) == 0) { - g_print (" %s: %s (%d)\n", GST_PLUGIN_FEATURE_NAME (factory), - factory->details.longname, gst_plugin_feature_get_rank (feature)); - element = gst_element_factory_create (factory, NULL); - print_pad_templates_info (element, factory, dir); - gst_object_unref (element); - } - } - - features = g_list_next (features); - } - } - g_print ("\n"); -} - -static void -print_typefind_list (void) -{ - GList *plugins; - - g_print ("Typefind list:\n"); - for (plugins = gst_registry_pool_plugin_list (); plugins; - plugins = g_list_next (plugins)) { - GList *features; - GstPlugin *plugin; - - plugin = (GstPlugin *) (plugins->data); - - features = gst_plugin_get_feature_list (plugin); - while (features) { - GstPluginFeature *feature; - - feature = GST_PLUGIN_FEATURE (features->data); - - if (GST_IS_TYPE_FIND_FACTORY (feature)) { - GstTypeFindFactory *factory; - char *s; - - gst_plugin_load_file (plugin->filename, NULL); - - factory = GST_TYPE_FIND_FACTORY (feature); - g_print (" %s: (%d)\n", GST_PLUGIN_FEATURE_NAME (factory), - gst_plugin_feature_get_rank (feature)); - s = gst_caps_to_string (gst_type_find_factory_get_caps (factory)); - g_print (" %s\n", s); - g_free (s); - } - - features = g_list_next (features); - } - } - g_print ("\n"); -} - -static int -list_sort_func (gconstpointer a, gconstpointer b) -{ - return strcmp ((const char *) a, (const char *) b); -} - -static GList * -get_typefind_mime_list (void) -{ - GList *plugins; - GList *mime_list = NULL; - - for (plugins = gst_registry_pool_plugin_list (); plugins; - plugins = g_list_next (plugins)) { - GList *features; - GstPlugin *plugin; - - plugin = (GstPlugin *) (plugins->data); - - features = gst_plugin_get_feature_list (plugin); - while (features) { - GstPluginFeature *feature; - - feature = GST_PLUGIN_FEATURE (features->data); - - if (GST_IS_TYPE_FIND_FACTORY (feature)) { - GstTypeFindFactory *factory; - char *s; - int i; - const GstCaps *caps; - - factory = GST_TYPE_FIND_FACTORY (feature); - caps = gst_type_find_factory_get_caps (factory); - - if (gst_plugin_feature_get_rank (feature) > 0 && caps != NULL) { - for (i = 0; i < gst_caps_get_size (caps); i++) { - const GstStructure *structure = gst_caps_get_structure (caps, i); - - s = g_strdup (gst_structure_get_name (structure)); - mime_list = g_list_prepend (mime_list, s); - } - } - } - - features = g_list_next (features); - } - } - - return mime_list; -} - -GList * -g_list_uniqify (GList * list) -{ - GList *item; - - for (item = g_list_first (list); item; item = g_list_next (item)) { - GList *next_item = g_list_next (item); - - while (next_item && strcmp (item->data, next_item->data) == 0) { - g_free (next_item->data); - list = g_list_delete_link (list, next_item); - next_item = g_list_next (item); - } - } - - return list; -} - -static GList * -get_pad_templates_info (GstElement * element, GstElementFactory * factory, - GstPadDirection dir) -{ - GstElementClass *gstelement_class; - const GList *pads; - GstPadTemplate *padtemplate; - GList *mime_list = NULL; - - if (!factory->numpadtemplates) { - return NULL; - } - - gstelement_class = GST_ELEMENT_CLASS (G_OBJECT_GET_CLASS (element)); - - pads = factory->padtemplates; - while (pads) { - padtemplate = (GstPadTemplate *) (pads->data); - pads = g_list_next (pads); - - if (padtemplate->direction == dir) { - if (padtemplate->caps) { - GstStructure *structure; - int i; - - for (i = 0; i < gst_caps_get_size (padtemplate->caps); i++) { - structure = gst_caps_get_structure (padtemplate->caps, i); - mime_list = g_list_prepend (mime_list, - g_strdup (gst_structure_get_name (structure))); - } - } - } - } - return mime_list; -} - -static GList * -get_element_mime_list (const char *klass, GstPadDirection dir) -{ - GList *mime_list = NULL; - GList *plugins; - - for (plugins = gst_registry_pool_plugin_list (); plugins; - plugins = g_list_next (plugins)) { - GList *features; - GstPlugin *plugin; - - plugin = (GstPlugin *) (plugins->data); - - features = gst_plugin_get_feature_list (plugin); - while (features) { - GstPluginFeature *feature; - - feature = GST_PLUGIN_FEATURE (features->data); - - if (GST_IS_ELEMENT_FACTORY (feature)) { - GstElementFactory *factory; - GstElement *element; - - factory = GST_ELEMENT_FACTORY (feature); - if (strncmp (factory->details.klass, klass, strlen (klass)) == 0) { - if (gst_plugin_feature_get_rank (feature) > 0) { - GList *list; - - element = gst_element_factory_create (factory, NULL); - list = get_pad_templates_info (element, factory, dir); - mime_list = g_list_concat (mime_list, list); - gst_object_unref (element); - } - } - } - - features = g_list_next (features); - } - } - - return mime_list; -} - -static void -print_mime_list (void) -{ - GList *list; - GList *typefind_list; - GList *item; - GList *item2; - - typefind_list = get_typefind_mime_list (); - typefind_list = g_list_sort (typefind_list, list_sort_func); - typefind_list = g_list_uniqify (typefind_list); - - list = get_element_mime_list ("Codec/Demuxer", GST_PAD_SINK); - list = g_list_concat (list, get_element_mime_list ("Codec/Decoder", - GST_PAD_SINK)); - list = g_list_sort (list, list_sort_func); - list = g_list_uniqify (list); - - g_print ("MIME media type list:\n"); - for (item = g_list_first (list); item; item = g_list_next (item)) { - for (item2 = g_list_first (typefind_list); item2; - item2 = g_list_next (item2)) { - if (strcmp ((char *) item->data, (char *) item2->data) == 0) { - g_print (" %s\n", (char *) item->data); - } - } - } -} - - -int -main (int argc, char *argv[]) -{ - -#ifdef GETTEXT_PACKAGE - bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); -#endif - - gst_init (&argc, &argv); - - print_element_list ("Codec/Demuxer", GST_PAD_SINK); - print_element_list ("Codec/Decoder", GST_PAD_SINK); - print_element_list ("Codec/Muxer", GST_PAD_SRC); - print_element_list ("Codec/Encoder", GST_PAD_SRC); - print_typefind_list (); - print_mime_list (); - - return 0; -} diff --git a/testsuite/schedulers/.gitignore b/testsuite/schedulers/.gitignore deleted file mode 100644 index af15adb8b0..0000000000 --- a/testsuite/schedulers/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -group_link -relink_sink -relink_src -unlink_sink -unlink_src -unref_sink -unref_src -useless_iteration -143777 -143777-2 -142183 -142183-2 -147713 -147819 -147894 -147894-2 -queue_link diff --git a/testsuite/schedulers/142183-2.c b/testsuite/schedulers/142183-2.c deleted file mode 100644 index 5a3bb68886..0000000000 --- a/testsuite/schedulers/142183-2.c +++ /dev/null @@ -1,73 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -static void -handoff_identity (GstElement * element) -{ - GstBin *parent; - - parent = GST_BIN (gst_element_get_parent (element)); - g_print ("identity handoff\n"); - /* element is unreffed and destroyed here, which will cause - * an assert */ - gst_bin_remove (parent, element); -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - g_signal_connect (G_OBJECT (id), "handoff", (GCallback) handoff_identity, - NULL); - g_object_set (G_OBJECT (id), "loop-based", TRUE, NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id, sink, NULL); - gst_element_link_pads (src, "src", id, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - g_print ("got past iteration, scheduler refs elements correctly\n"); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - src = id = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/142183.c b/testsuite/schedulers/142183.c deleted file mode 100644 index 50dca6ce2d..0000000000 --- a/testsuite/schedulers/142183.c +++ /dev/null @@ -1,95 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -static void -handoff_identity (GstElement * element) -{ - GstBin *parent; - - parent = GST_BIN (gst_element_get_parent (element)); - g_print ("identity handoff\n"); - gst_bin_remove (parent, element); -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - /* ref object here as it will be unparented and destroyed in the - * handoff signal, normally the scheduler should keep a ref to the - * currently scheduled elements but that's another bug displayed in - * 142183-2.c */ - gst_object_ref (id); - g_signal_connect (G_OBJECT (id), "handoff", (GCallback) handoff_identity, - NULL); - g_object_set (G_OBJECT (id), "loop-based", TRUE, NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id, sink, NULL); - /* this is what triggers the bug */ - gst_element_enable_threadsafe_properties (GST_ELEMENT (src)); - gst_element_enable_threadsafe_properties (GST_ELEMENT (id)); - gst_element_enable_threadsafe_properties (GST_ELEMENT (sink)); - - gst_element_link_pads (src, "src", id, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - - /* 'cause we're going into deadlock mode */ - alarm (5); - - g_print ("adding identity back...\n"); - /* add identity back in */ - gst_bin_add_many (GST_BIN (pipeline), id, NULL); - - g_print ("going into possible deadlock... alarm at 5 seconds\n"); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - g_print ("ok, no deadlock. bug 142183 fixed!\n"); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - gst_object_unref (id); - src = id = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/143777-2.c b/testsuite/schedulers/143777-2.c deleted file mode 100644 index bcad331408..0000000000 --- a/testsuite/schedulers/143777-2.c +++ /dev/null @@ -1,64 +0,0 @@ - -#include - -int -main (int argc, char **argv) -{ - GstElement *src, *sink, *enc, *tee; - GstElement *pipeline; - int i; - - - gst_init (&argc, &argv); - pipeline = gst_element_factory_make ("pipeline", "pipeline"); - - src = gst_element_factory_make ("fakesrc", "src"); - g_assert (src); - tee = gst_element_factory_make ("tee", "tee1"); - g_assert (tee); - enc = gst_element_factory_make ("identity", "enc"); - g_assert (enc); - sink = gst_element_factory_make ("fakesink", "sink"); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, tee, enc, sink, NULL); - if (!gst_element_link_many (src, tee, enc, sink, NULL)) - g_assert_not_reached (); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - for (i = 0; i < 5; i++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - g_assert_not_reached (); - g_print ("%d\n", i); - } - - if (gst_element_set_state (pipeline, - GST_STATE_PAUSED) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - gst_element_unlink_many (tee, enc, sink, NULL); - gst_bin_remove_many (GST_BIN (pipeline), enc, sink, NULL); - - enc = gst_element_factory_make ("identity", "enc"); - g_assert (enc); - sink = gst_element_factory_make ("fakesink", "sink"); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline), enc, sink, NULL); - if (!gst_element_link_many (tee, enc, sink, NULL)) - g_assert_not_reached (); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - for (i = 5; i < 10; i++) { - if (!gst_bin_iterate (GST_BIN (pipeline))) - g_assert_not_reached (); - g_print ("%d\n", i); - } - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/143777.c b/testsuite/schedulers/143777.c deleted file mode 100644 index cf2ca57a72..0000000000 --- a/testsuite/schedulers/143777.c +++ /dev/null @@ -1,73 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * This file reproduces the bug in the bugreport #143777, as can be seen at - * http://bugzilla.gnome.org/show_bug.cgi?id=143777 - the issue is that when - * pausing a pipeline while the chainhandler is still running, then unlinking - * the pad that's chain function is called and relinking it clears the buffer - * that was stored for sending the event. gst_pad_call_chain_function needs - * to check that. - * The fix is in gstpad.c, revision 1.327 - */ - -#include - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id; - guint i = 0, j; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id, sink, NULL); - while (i < 100) { - g_print ("running... (%d iterations)\n", i); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - gst_element_link_many (src, id, sink, NULL); - for (j = 0; j < i; j++) - gst_bin_iterate (GST_BIN (pipeline)); - if (gst_element_set_state (pipeline, - GST_STATE_PAUSED) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - gst_element_unlink_many (src, id, sink, NULL); - i++; - } - - g_print ("cleaning up...\n"); - g_assert (i == 100); - gst_object_unref (pipeline); - src = id = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/147713.c b/testsuite/schedulers/147713.c deleted file mode 100644 index 23a40c695c..0000000000 --- a/testsuite/schedulers/147713.c +++ /dev/null @@ -1,92 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymanse - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -static gint src_handoff = 0; - -static void -handoff_src (GstElement * element) -{ - g_print ("src handoff\n"); - src_handoff++; -} - -static void -handoff_sink (GstElement * element) -{ - g_print ("sink handoff\n"); - g_assert (src_handoff == 1); -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id1, *id2; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - g_object_set (G_OBJECT (src), "signal-handoffs", TRUE, NULL); - g_signal_connect (G_OBJECT (src), "handoff", (GCallback) handoff_src, NULL); - id1 = gst_element_factory_make ("identity", NULL); - g_assert (id1); - - id2 = gst_element_factory_make ("identity", NULL); - g_assert (id2); - g_object_set (G_OBJECT (id2), "loop-based", TRUE, NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - g_object_set (G_OBJECT (sink), "signal-handoffs", TRUE, NULL); - g_signal_connect (G_OBJECT (sink), "handoff", (GCallback) handoff_sink, NULL); - - gst_bin_add_many (GST_BIN (pipeline), src, id1, NULL); - gst_element_link_pads (src, "src", id1, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - if (gst_element_set_state (id2, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - if (gst_element_set_state (sink, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - gst_bin_add_many (GST_BIN (pipeline), sink, NULL); - gst_element_link_pads (id2, "src", sink, "sink"); - gst_element_link_pads (id1, "src", id2, "sink"); - gst_bin_add_many (GST_BIN (pipeline), id2, NULL); - - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - src = id1 = id2 = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/147819.c b/testsuite/schedulers/147819.c deleted file mode 100644 index eee315bea1..0000000000 --- a/testsuite/schedulers/147819.c +++ /dev/null @@ -1,101 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -static gboolean handoff; - -static void -handoff_identity1 (GstElement * element) -{ - g_print ("identity1 handoff\n"); - handoff = TRUE; -} - -static void -handoff_identity2 (GstElement * element) -{ - g_print ("identity2 handoff\n"); - handoff = TRUE; -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *id1, *id2; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id1 = gst_element_factory_make ("identity", NULL); - g_assert (id1); - g_object_set (G_OBJECT (id1), "loop-based", TRUE, NULL); - g_object_set (G_OBJECT (id1), "duplicate", 3, NULL); - g_signal_connect (G_OBJECT (id1), "handoff", (GCallback) handoff_identity1, - NULL); - - id2 = gst_element_factory_make ("identity", NULL); - g_assert (id2); - g_object_set (G_OBJECT (id2), "loop-based", TRUE, NULL); - g_signal_connect (G_OBJECT (id2), "handoff", (GCallback) handoff_identity2, - NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id1, id2, sink, NULL); - - gst_element_link_pads (src, "src", id1, "sink"); - gst_element_link_pads (id1, "src", id2, "sink"); - gst_element_link_pads (id2, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running...\n"); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - - /* do ugly stuff here */ - gst_object_ref (id1); - gst_bin_remove (GST_BIN (pipeline), id1); - gst_element_link_pads (src, "src", id1, "sink"); - gst_element_link_pads (id1, "src", id2, "sink"); - - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - gst_bin_iterate (GST_BIN (pipeline)); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - src = id1 = id2 = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/147894-2.c b/testsuite/schedulers/147894-2.c deleted file mode 100644 index f836ebe8e5..0000000000 --- a/testsuite/schedulers/147894-2.c +++ /dev/null @@ -1,138 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -static gboolean empty; -static gboolean bug; -static gboolean handoff; -static GstElement *pipeline2; - -static void -queue_empty (GstElement * element) -{ - g_print ("queue empty\n"); - if (!handoff) - bug = TRUE; -} - -static void -queue_filled (GstElement * element) -{ - g_print ("queue filled\n"); - empty = FALSE; - - /* read from the other end */ - handoff = FALSE; - bug = FALSE; - - alarm (5); - - g_print ("emptying queue with 5 second timeout...\n"); - while (!bug && !handoff) { - gst_bin_iterate (GST_BIN (pipeline2)); - } -} - -static void -handoff_identity (GstElement * element) -{ - g_print ("identity handoff\n"); - handoff = TRUE; -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *queue, *id; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - queue = gst_element_factory_make ("queue", NULL); - g_assert (queue); - g_signal_connect (G_OBJECT (queue), "overrun", (GCallback) queue_filled, - NULL); - g_signal_connect (G_OBJECT (queue), "underrun", (GCallback) queue_empty, - NULL); - gst_bin_add_many (GST_BIN (pipeline), src, queue, NULL); - - gst_element_link_pads (src, "src", queue, "sink"); - - /* second pipeline for sinks */ - pipeline2 = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline2); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - g_signal_connect (G_OBJECT (id), "handoff", (GCallback) handoff_identity, - NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline2), id, sink, NULL); - - gst_element_link_pads (queue, "src", id, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - if (gst_element_set_state (pipeline2, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running...\n"); - /* fill queue */ - empty = TRUE; - while (empty) { - gst_bin_iterate (GST_BIN (pipeline)); - } - g_assert (!bug); - - g_print ("relinking...\n"); - /* now unlink and link id and sink */ - gst_element_unlink_pads (id, "src", sink, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - g_print ("running again...\n"); - /* fill queue */ - empty = TRUE; - while (empty) { - gst_bin_iterate (GST_BIN (pipeline)); - } - g_assert (!bug); - - /* trigger the bug */ - - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - gst_object_unref (pipeline2); - src = id = sink = pipeline = pipeline2 = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/147894.c b/testsuite/schedulers/147894.c deleted file mode 100644 index 971382adce..0000000000 --- a/testsuite/schedulers/147894.c +++ /dev/null @@ -1,146 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -static gboolean empty; -static gboolean bug; -static gboolean handoff; -static GstElement *pipeline2; - -static void -queue_empty (GstElement * element) -{ - g_print ("queue empty\n"); - if (!handoff) - bug = TRUE; -} - -static void -queue_filled (GstElement * element) -{ - g_print ("queue filled\n"); - empty = FALSE; - - /* read from the other end */ - handoff = FALSE; - bug = FALSE; - - alarm (5); - - g_print ("emptying queue with 5 second timeout...\n"); - while (!bug && !handoff) { - gst_bin_iterate (GST_BIN (pipeline2)); - } -} - -static void -handoff_identity (GstElement * element) -{ - g_print ("identity handoff\n"); - handoff = TRUE; -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink, *queue, *id; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - queue = gst_element_factory_make ("queue", NULL); - g_assert (queue); - g_signal_connect (G_OBJECT (queue), "overrun", (GCallback) queue_filled, - NULL); - g_signal_connect (G_OBJECT (queue), "underrun", (GCallback) queue_empty, - NULL); - gst_bin_add_many (GST_BIN (pipeline), src, queue, NULL); - - gst_element_link_pads (src, "src", queue, "sink"); - - /* second pipeline for sinks */ - pipeline2 = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline2); - id = gst_element_factory_make ("identity", NULL); - g_assert (id); - g_signal_connect (G_OBJECT (id), "handoff", (GCallback) handoff_identity, - NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline2), id, sink, NULL); - - gst_element_link_pads (queue, "src", id, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - if (gst_element_set_state (pipeline2, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running...\n"); - /* fill queue */ - empty = TRUE; - while (empty) { - gst_bin_iterate (GST_BIN (pipeline)); - } - g_assert (!bug); - - if (gst_element_set_state (pipeline2, - GST_STATE_READY) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("relinking...\n"); - /* now unlink and link id and sink */ - gst_element_unlink_pads (id, "src", sink, "sink"); - gst_element_link_pads (id, "src", sink, "sink"); - - if (gst_element_set_state (pipeline2, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running again...\n"); - /* fill queue */ - empty = TRUE; - while (empty) { - gst_bin_iterate (GST_BIN (pipeline)); - } - g_assert (!bug); - - /* trigger the bug */ - - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - gst_object_unref (pipeline2); - src = id = sink = pipeline = pipeline2 = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/Makefile.am b/testsuite/schedulers/Makefile.am deleted file mode 100644 index 391ac40476..0000000000 --- a/testsuite/schedulers/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -include ../Rules - -tests_pass = \ - unlink_src unlink_sink \ - relink_src relink_sink \ - unref_src unref_sink \ - 142183 142183-2 \ - 143777 143777-2 \ - 147713 \ - 147819 \ - 147894 147894-2 group_link \ - queue_link - -# don't enable this one unless it actually works. -# useless_iteration -tests_fail = -tests_ignore = - -unlink_src_SOURCES = unlink.c -unlink_src_CFLAGS = $(AM_CFLAGS) -DELEMENT=src -unlink_sink_SOURCES = unlink.c -unlink_sink_CFLAGS = $(AM_CFLAGS) -DELEMENT=sink -relink_src_SOURCES = relink.c -relink_src_CFLAGS = $(AM_CFLAGS) -DELEMENT=src -DOTHER_ELEMENT=sink -relink_sink_SOURCES = relink.c -relink_sink_CFLAGS = $(AM_CFLAGS) -DELEMENT=sink -DOTHER_ELEMENT=src -unref_src_SOURCES = unref.c -unref_src_CFLAGS = $(AM_CFLAGS) -DELEMENT=src -unref_sink_SOURCES = unref.c -unref_sink_CFLAGS = $(AM_CFLAGS) -DELEMENT=sink diff --git a/testsuite/schedulers/group_link.c b/testsuite/schedulers/group_link.c deleted file mode 100644 index 2022e051bd..0000000000 --- a/testsuite/schedulers/group_link.c +++ /dev/null @@ -1,67 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *id1, *id2, *sink; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - id1 = gst_element_factory_make ("identity", NULL); - g_assert (id1); - id2 = gst_element_factory_make ("identity", NULL); - g_assert (id2); - g_object_set (G_OBJECT (id2), "loop-based", TRUE, NULL); - - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (pipeline), src, id1, id2, sink, NULL); - - /* link is not accounted for here... */ - gst_element_link_pads (id1, "src", id2, "sink"); - - gst_element_link_pads (src, "src", id1, "sink"); - gst_element_link_pads (id2, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("running...\n"); - /* fill queue */ - gst_bin_iterate (GST_BIN (pipeline)); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - src = id1 = id2 = sink = pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/queue_link.c b/testsuite/schedulers/queue_link.c deleted file mode 100644 index e020157ab3..0000000000 --- a/testsuite/schedulers/queue_link.c +++ /dev/null @@ -1,69 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -#include - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *thread, *bin, *src, *queue, *id1, *sink; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - queue = gst_element_factory_make ("queue", NULL); - g_assert (queue); - - thread = gst_element_factory_make ("thread", NULL); - g_assert (thread); - bin = gst_element_factory_make ("bin", NULL); - g_assert (bin); - id1 = gst_element_factory_make ("identity", NULL); - g_assert (id1); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - - gst_bin_add_many (GST_BIN (bin), id1, sink, NULL); - gst_bin_add_many (GST_BIN (thread), bin, NULL); - gst_bin_add_many (GST_BIN (pipeline), src, queue, thread, NULL); - - gst_element_link_pads (src, "src", queue, "sink"); - gst_element_link_pads (queue, "src", id1, "sink"); - gst_element_link_pads (id1, "src", sink, "sink"); - - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - - g_print ("unlinking...\n"); - - gst_object_ref (queue); - gst_bin_remove (GST_BIN (pipeline), queue); - gst_object_ref (bin); - gst_bin_remove (GST_BIN (thread), bin); - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/relink.c b/testsuite/schedulers/relink.c deleted file mode 100644 index 04157b4813..0000000000 --- a/testsuite/schedulers/relink.c +++ /dev/null @@ -1,74 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -GstElement *pipeline, *src, *sink; - -static void -cb_handoff (GstElement * element, GstBuffer * buffer, GstPad * pad, - gpointer unused) -{ - if (GST_PAD_PEER (pad)) { - g_print ("relinking...\n"); - gst_pad_unlink (pad, GST_PAD_PEER (pad)); - gst_bin_remove (GST_BIN (pipeline), OTHER_ELEMENT); - OTHER_ELEMENT = - gst_element_factory_make ("fake" G_STRINGIFY (OTHER_ELEMENT), NULL); - g_assert (OTHER_ELEMENT); - gst_bin_add (GST_BIN (pipeline), OTHER_ELEMENT); - gst_element_sync_state_with_parent (OTHER_ELEMENT); - gst_element_link (ELEMENT, OTHER_ELEMENT); - } -} - -gint -main (gint argc, gchar ** argv) -{ - guint i = 0; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); - gst_element_link (src, sink); - /* setup special stuff */ - g_object_set (ELEMENT, "signal-handoffs", TRUE, NULL); - g_signal_connect (ELEMENT, "handoff", (GCallback) cb_handoff, NULL); - - /* run pipeline */ - g_print ("running...\n"); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (i++ < 10 && gst_bin_iterate (GST_BIN (pipeline))); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/unlink.c b/testsuite/schedulers/unlink.c deleted file mode 100644 index 33b23cd368..0000000000 --- a/testsuite/schedulers/unlink.c +++ /dev/null @@ -1,65 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -static void -cb_handoff (GstElement * element, GstBuffer * buffer, GstPad * pad, - gpointer unused) -{ - if (GST_PAD_PEER (pad)) { - g_print ("unlinking...\n"); - gst_pad_unlink (pad, GST_PAD_PEER (pad)); - } -} - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline, *src, *sink; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); - gst_element_link (src, sink); - /* setup special stuff */ - g_object_set (ELEMENT, "signal-handoffs", TRUE, NULL); - g_signal_connect (ELEMENT, "handoff", (GCallback) cb_handoff, NULL); - - /* run pipeline */ - g_print ("running...\n"); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (gst_bin_iterate (GST_BIN (pipeline))); - - g_print ("cleaning up...\n"); - gst_object_unref (pipeline); - pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/unref.c b/testsuite/schedulers/unref.c deleted file mode 100644 index fdab3f6c86..0000000000 --- a/testsuite/schedulers/unref.c +++ /dev/null @@ -1,62 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -GstElement *pipeline, *src, *sink; - -static void -cb_handoff (GstElement * element, GstBuffer * buffer, GstPad * pad, - gpointer unused) -{ - if (pipeline) { - g_print ("unreffing...\n"); - gst_object_unref (pipeline); - pipeline = NULL; - } -} - -gint -main (gint argc, gchar ** argv) -{ - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_element_factory_make ("pipeline", NULL); - g_assert (pipeline); - src = gst_element_factory_make ("fakesrc", NULL); - g_assert (src); - sink = gst_element_factory_make ("fakesink", NULL); - g_assert (sink); - gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); - gst_element_link (src, sink); - /* setup special stuff */ - g_object_set (ELEMENT, "signal-handoffs", TRUE, NULL); - g_signal_connect (ELEMENT, "handoff", (GCallback) cb_handoff, NULL); - - /* run pipeline */ - g_print ("running...\n"); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (pipeline && gst_bin_iterate (GST_BIN (pipeline))); - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/schedulers/useless_iteration.c b/testsuite/schedulers/useless_iteration.c deleted file mode 100644 index c87621a24a..0000000000 --- a/testsuite/schedulers/useless_iteration.c +++ /dev/null @@ -1,51 +0,0 @@ -/* GStreamer - * Copyright (C) 2004 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -gint -main (gint argc, gchar ** argv) -{ - GstElement *pipeline; - GError *error = NULL; - guint i = 0; - - gst_init (&argc, &argv); - - g_print ("setting up...\n"); - /* setup pipeline */ - pipeline = gst_parse_launch ("pipeline.( { fakesrc ! fakesink } )", &error); - g_assert (error == NULL); - g_assert (pipeline); - - /* run pipeline */ - g_print ("running...\n"); - if (gst_element_set_state (pipeline, - GST_STATE_PLAYING) != GST_STATE_CHANGE_SUCCESS) - g_assert_not_reached (); - while (i < 100 && gst_bin_iterate (GST_BIN (pipeline))) - i++; - - g_print ("cleaning up... (%d iterations)\n", i); - g_assert (i == 100); - gst_object_unref (pipeline); - pipeline = NULL; - - g_print ("done.\n"); - return 0; -} diff --git a/testsuite/states/bin.c b/testsuite/states/bin.c index 44af618d90..a62b0a78ff 100644 --- a/testsuite/states/bin.c +++ b/testsuite/states/bin.c @@ -1,7 +1,7 @@ /* GStreamer * Copyright (C) <2004> Benjamin Otte * - * bin.c: + * bin.c: * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public