Added another test app.
authorWim Taymans <wim.taymans@gmail.com>
Thu, 20 Dec 2001 20:06:45 +0000 (20:06 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Thu, 20 Dec 2001 20:06:45 +0000 (20:06 +0000)
Original commit message from CVS:
Added another test app.

tests/old/testsuite/cleanup/Makefile.am
tests/old/testsuite/cleanup/cleanup4.c [new file with mode: 0644]
testsuite/cleanup/Makefile.am
testsuite/cleanup/cleanup4.c [new file with mode: 0644]

index 4772b0f..88d32dd 100644 (file)
@@ -1,4 +1,4 @@
-testprogs = cleanup1 cleanup2 cleanup3
+testprogs = cleanup1 cleanup2 cleanup3 cleanup4
 
 TESTS = $(testprogs)
 
@@ -11,3 +11,5 @@ cleanup2_LDADD = $(GST_LIBS)
 cleanup2_CFLAGS = $(GST_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS)
 cleanup3_LDADD = $(GST_LIBS) 
 cleanup3_CFLAGS = $(GST_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS)
+cleanup4_LDADD = $(GST_LIBS) 
+cleanup4_CFLAGS = $(GST_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS)
diff --git a/tests/old/testsuite/cleanup/cleanup4.c b/tests/old/testsuite/cleanup/cleanup4.c
new file mode 100644 (file)
index 0000000..fa14d8d
--- /dev/null
@@ -0,0 +1,57 @@
+#include <gst/gst.h>
+
+static GstElement *
+create_pipeline (void)
+{
+}
+
+gint
+main (gint argc, gchar *argv[])
+{
+  GstElement *pipeline;
+  GstElement *fakesrc;
+  gint i;
+
+  free (malloc(8)); /* -lefence */
+
+  gst_init (&argc, &argv);
+
+  i = 10000;
+
+  pipeline = gst_pipeline_new ("main_pipeline");
+
+  fakesrc = gst_elementfactory_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;
+
+    fprintf (stderr, "+");
+
+    bin = gst_bin_new ("bin");
+
+    fakesink = gst_elementfactory_make ("fakesink", "fakesink");
+
+    gst_element_connect (fakesrc, "src", fakesink, "sink");
+
+    gst_bin_add (GST_BIN (bin), fakesink);
+    gst_bin_add (GST_BIN (pipeline), bin);
+         
+    gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
+    while (gst_bin_iterate (GST_BIN (pipeline)));
+
+    gst_element_set_state (pipeline, GST_STATE_NULL);
+
+    fprintf (stderr, "-");
+    gst_bin_remove (GST_BIN (pipeline), GST_ELEMENT (bin));
+
+  }
+  fprintf (stderr, "\n");
+  g_mem_chunk_info ();
+
+  return 0;
+}
index 4772b0f..88d32dd 100644 (file)
@@ -1,4 +1,4 @@
-testprogs = cleanup1 cleanup2 cleanup3
+testprogs = cleanup1 cleanup2 cleanup3 cleanup4
 
 TESTS = $(testprogs)
 
@@ -11,3 +11,5 @@ cleanup2_LDADD = $(GST_LIBS)
 cleanup2_CFLAGS = $(GST_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS)
 cleanup3_LDADD = $(GST_LIBS) 
 cleanup3_CFLAGS = $(GST_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS)
+cleanup4_LDADD = $(GST_LIBS) 
+cleanup4_CFLAGS = $(GST_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS)
diff --git a/testsuite/cleanup/cleanup4.c b/testsuite/cleanup/cleanup4.c
new file mode 100644 (file)
index 0000000..fa14d8d
--- /dev/null
@@ -0,0 +1,57 @@
+#include <gst/gst.h>
+
+static GstElement *
+create_pipeline (void)
+{
+}
+
+gint
+main (gint argc, gchar *argv[])
+{
+  GstElement *pipeline;
+  GstElement *fakesrc;
+  gint i;
+
+  free (malloc(8)); /* -lefence */
+
+  gst_init (&argc, &argv);
+
+  i = 10000;
+
+  pipeline = gst_pipeline_new ("main_pipeline");
+
+  fakesrc = gst_elementfactory_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;
+
+    fprintf (stderr, "+");
+
+    bin = gst_bin_new ("bin");
+
+    fakesink = gst_elementfactory_make ("fakesink", "fakesink");
+
+    gst_element_connect (fakesrc, "src", fakesink, "sink");
+
+    gst_bin_add (GST_BIN (bin), fakesink);
+    gst_bin_add (GST_BIN (pipeline), bin);
+         
+    gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
+    while (gst_bin_iterate (GST_BIN (pipeline)));
+
+    gst_element_set_state (pipeline, GST_STATE_NULL);
+
+    fprintf (stderr, "-");
+    gst_bin_remove (GST_BIN (pipeline), GST_ELEMENT (bin));
+
+  }
+  fprintf (stderr, "\n");
+  g_mem_chunk_info ();
+
+  return 0;
+}