From 2be30a92681641d73dcfea9c22fc810a6514fc97 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 12 Jan 2011 18:16:46 +0100 Subject: [PATCH] tests: add tests directory and cleanup test --- tests/.gitignore | 1 + tests/Makefile.am | 9 ++++++ tests/test-cleanup.c | 68 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 tests/.gitignore create mode 100644 tests/Makefile.am create mode 100644 tests/test-cleanup.c diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 0000000000..58b8c22377 --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1 @@ +test-cleanup diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 0000000000..a4a47d9704 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,9 @@ +noinst_PROGRAMS = test-cleanup + +INCLUDES = -I$(top_srcdir) -I$(srcdir) + +AM_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) +AM_LDFLAGS = \ + $(GST_LIBS) \ + $(top_builddir)/gst/rtsp-server/libgstrtspserver-@GST_MAJORMINOR@.la + diff --git a/tests/test-cleanup.c b/tests/test-cleanup.c new file mode 100644 index 0000000000..13dba5c77f --- /dev/null +++ b/tests/test-cleanup.c @@ -0,0 +1,68 @@ +/* GStreamer + * Copyright (C) 2008 Wim Taymans + * + * 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. + */ + +#include + +#include + +static gboolean +timeout (GMainLoop * loop, gboolean ignored) +{ + g_main_loop_quit (loop); + return FALSE; +} + + +int +main (int argc, char *argv[]) +{ + GMainLoop *loop; + GstRTSPServer *server; + guint id; + + gst_init (&argc, &argv); + + loop = g_main_loop_new (NULL, FALSE); + + /* create a server instance */ + server = gst_rtsp_server_new (); + + /* attach the server to the default maincontext */ + if ((id = gst_rtsp_server_attach (server, NULL)) == 0) + goto failed; + + g_timeout_add_seconds (2, (GSourceFunc) timeout, loop); + + /* start serving */ + g_main_loop_run (loop); + + /* cleanup */ + g_source_remove (id); + g_object_unref (server); + g_main_loop_unref (loop); + + return 0; + + /* ERRORS */ +failed: + { + g_print ("failed to attach the server\n"); + return -1; + } +}