summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2011-08-30 13:51:17 +0100
committerDamien Lespiau <damien.lespiau@intel.com>2011-08-30 15:15:25 +0100
commitd131121b7f92cd45f073b72f5cb8f72337c04165 (patch)
treec25a439c1e195ea9a6dfd4d382e0e70584318abc
parent65a5625b1f74226672332047d39c2b5e3cd53259 (diff)
downloadclutter-gst-d131121b7f92cd45f073b72f5cb8f72337c04165.tar.gz
tests: Add a new little to to check if we are leaking
And while I fixed it a few commits ago, we are leaking again with the ClutterGstPlayer split.
-rw-r--r--tests/.gitignore1
-rw-r--r--tests/Makefile.am18
-rw-r--r--tests/test-video-texture-new-unref-loop.c55
3 files changed, 69 insertions, 5 deletions
diff --git a/tests/.gitignore b/tests/.gitignore
index feee60f..e08520e 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -1,4 +1,5 @@
test-alpha
test-rgb-upload
test-start-stop
+test-video-texture-new-unref-loop
test-yuv-upload
diff --git a/tests/Makefile.am b/tests/Makefile.am
index f62de48..59fc3ba 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,10 +1,11 @@
NULL = #
-noinst_PROGRAMS = \
- test-alpha \
- test-rgb-upload \
- test-start-stop \
- test-yuv-upload \
+noinst_PROGRAMS = \
+ test-alpha \
+ test-rgb-upload \
+ test-start-stop \
+ test-yuv-upload \
+ test-video-texture-new-unref-loop \
$(NULL)
INCLUDES = -I$(top_srcdir) \
@@ -38,3 +39,10 @@ test_yuv_upload_LDFLAGS = \
$(CLUTTER_GST_LIBS) \
$(GST_LIBS) \
$(top_builddir)/clutter-gst/libclutter-gst-@CLUTTER_GST_MAJORMINOR@.la
+
+test_video_texture_new_unref_loop_SOURCES = test-video-texture-new-unref-loop.c
+test_video_texture_new_unref_loop_CFLAGS = $(CLUTTER_GST_CFLAGS) $(GST_CFLAGS)
+test_video_texture_new_unref_loop_LDFLAGS = \
+ $(CLUTTER_GST_LIBS) \
+ $(GST_LIBS) \
+ $(top_builddir)/clutter-gst/libclutter-gst-@CLUTTER_GST_MAJORMINOR@.la
diff --git a/tests/test-video-texture-new-unref-loop.c b/tests/test-video-texture-new-unref-loop.c
new file mode 100644
index 0000000..3ff89e5
--- /dev/null
+++ b/tests/test-video-texture-new-unref-loop.c
@@ -0,0 +1,55 @@
+/*
+ * Clutter-GStreamer.
+ *
+ * GStreamer integration library for Clutter.
+ *
+ * test-video-texture-new-unref-loop.c - Create and free a Video texture in a
+ * tight loop to quickly check if we are leaking or not.
+ *
+ * Copyright (C) 2011 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser 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.
+ *
+ * Authors:
+ * Damien Lespiau <damien.lespiau@intel.com>
+ */
+
+#include <stdlib.h>
+
+#include <clutter/clutter.h>
+#include <clutter-gst/clutter-gst.h>
+
+int
+main (int argc, char *argv[])
+{
+ ClutterActor *vtexture;
+ int i;
+
+ clutter_gst_init (&argc, &argv);
+
+ for (i = 0; ; i++)
+ {
+ g_debug("VideoTexure #%d", i);
+ vtexture = clutter_gst_video_texture_new();
+ if (vtexture == NULL)
+ g_error("failed to create VideoTexture");
+ g_object_ref_sink (vtexture);
+ g_object_unref (vtexture);
+ g_object_unref (vtexture);
+ }
+
+ return EXIT_SUCCESS;
+}