diff options
-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; +} |