diff options
author | Damien Lespiau <damien.lespiau@intel.com> | 2011-08-30 13:51:17 +0100 |
---|---|---|
committer | Damien Lespiau <damien.lespiau@intel.com> | 2011-08-30 15:15:25 +0100 |
commit | d131121b7f92cd45f073b72f5cb8f72337c04165 (patch) | |
tree | c25a439c1e195ea9a6dfd4d382e0e70584318abc | |
parent | 65a5625b1f74226672332047d39c2b5e3cd53259 (diff) | |
download | clutter-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/.gitignore | 1 | ||||
-rw-r--r-- | tests/Makefile.am | 18 | ||||
-rw-r--r-- | tests/test-video-texture-new-unref-loop.c | 55 |
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; +} |