From 339ce21a866ac7c4427db3467dff0912f8fc076e Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Tue, 9 Jul 2013 17:38:47 -0300 Subject: [PATCH] qa: renaming Wrapper -> Monitor --- validate/gst/qa/Makefile.am | 6 +- validate/gst/qa/gst-qa-element-monitor.c | 151 +++++++++++++++++++++ validate/gst/qa/gst-qa-element-monitor.h | 79 +++++++++++ validate/gst/qa/gst-qa-element-wrapper.c | 151 --------------------- validate/gst/qa/gst-qa-element-wrapper.h | 79 ----------- ...-wrapper-factory.c => gst-qa-monitor-factory.c} | 10 +- ...-wrapper-factory.h => gst-qa-monitor-factory.h} | 12 +- .../{gst-qa-pad-wrapper.c => gst-qa-pad-monitor.c} | 56 ++++---- validate/gst/qa/gst-qa-pad-monitor.h | 77 +++++++++++ validate/gst/qa/gst-qa-pad-wrapper.h | 77 ----------- validate/gst/qa/gst-qa-runner.c | 10 +- validate/gst/qa/gst-qa-runner.h | 4 +- 12 files changed, 355 insertions(+), 357 deletions(-) create mode 100644 validate/gst/qa/gst-qa-element-monitor.c create mode 100644 validate/gst/qa/gst-qa-element-monitor.h delete mode 100644 validate/gst/qa/gst-qa-element-wrapper.c delete mode 100644 validate/gst/qa/gst-qa-element-wrapper.h rename validate/gst/qa/{gst-qa-wrapper-factory.c => gst-qa-monitor-factory.c} (80%) rename validate/gst/qa/{gst-qa-wrapper-factory.h => gst-qa-monitor-factory.h} (77%) rename validate/gst/qa/{gst-qa-pad-wrapper.c => gst-qa-pad-monitor.c} (52%) create mode 100644 validate/gst/qa/gst-qa-pad-monitor.h delete mode 100644 validate/gst/qa/gst-qa-pad-wrapper.h diff --git a/validate/gst/qa/Makefile.am b/validate/gst/qa/Makefile.am index f1c1964..94ee54b 100644 --- a/validate/gst/qa/Makefile.am +++ b/validate/gst/qa/Makefile.am @@ -3,9 +3,9 @@ public_headers = \ c_sources = \ gst-qa-runner.c \ - gst-qa-element-wrapper.c \ - gst-qa-pad-wrapper.c \ - gst-qa-wrapper-factory.c + gst-qa-element-monitor.c \ + gst-qa-pad-monitor.c \ + gst-qa-monitor-factory.c noinst_HEADERS = diff --git a/validate/gst/qa/gst-qa-element-monitor.c b/validate/gst/qa/gst-qa-element-monitor.c new file mode 100644 index 0000000..53fc534 --- /dev/null +++ b/validate/gst/qa/gst-qa-element-monitor.c @@ -0,0 +1,151 @@ +/* GStreamer + * Copyright (C) 2013 Thiago Santos + * + * gst-qa-element-monitor.c - QA ElementMonitor class + * + * 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.1 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 "gst-qa-element-monitor.h" + +/** + * SECTION:gst-qa-element-monitor + * @short_description: Class that wraps a #GstElement for QA checks + * + * TODO + */ + +GST_DEBUG_CATEGORY_STATIC (gst_qa_element_monitor_debug); +#define GST_CAT_DEFAULT gst_qa_element_monitor_debug + +#define _do_init \ + GST_DEBUG_CATEGORY_INIT (gst_qa_element_monitor_debug, "qa_element_monitor", 0, "QA ElementMonitor"); +#define gst_qa_element_monitor_parent_class parent_class +G_DEFINE_TYPE_WITH_CODE (GstQaElementMonitor, gst_qa_element_monitor, + G_TYPE_OBJECT, _do_init); + +static void +gst_qa_element_monitor_wrap_pad (GstQaElementMonitor * monitor, GstPad * pad); + +static void +_qa_element_pad_added (GstElement * element, GstPad * pad, + GstQaElementMonitor * monitor); + +static void +gst_qa_element_monitor_dispose (GObject * object) +{ + GstQaElementMonitor *monitor = GST_QA_ELEMENT_MONITOR_CAST (object); + + if (monitor->pad_added_id) + g_signal_handler_disconnect (monitor->element, monitor->pad_added_id); + + g_list_free_full (monitor->pad_monitors, g_object_unref); + + if (monitor->element) + gst_object_unref (monitor->element); + + G_OBJECT_CLASS (parent_class)->dispose (object); +} + + +static void +gst_qa_element_monitor_class_init (GstQaElementMonitorClass * klass) +{ + GObjectClass *gobject_class; + + gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->dispose = gst_qa_element_monitor_dispose; +} + +static void +gst_qa_element_monitor_init (GstQaElementMonitor * element_monitor) +{ + element_monitor->setup = FALSE; +} + +/** + * gst_qa_element_monitor_new: + * @element: (transfer-none): a #GstElement to run QA on + */ +GstQaElementMonitor * +gst_qa_element_monitor_new (GstElement * element) +{ + GstQaElementMonitor *monitor = + g_object_new (GST_TYPE_QA_ELEMENT_MONITOR, NULL); + + g_return_val_if_fail (element != NULL, NULL); + + monitor->element = gst_object_ref (element); + return monitor; +} + +gboolean +gst_qa_element_monitor_setup (GstQaElementMonitor * monitor) +{ + GstIterator *iterator; + gboolean done; + GstPad *pad; + + if (monitor->setup) + return TRUE; + + GST_DEBUG_OBJECT (monitor, "Setting up monitor for element %" GST_PTR_FORMAT, + monitor->element); + + monitor->pad_added_id = g_signal_connect (monitor->element, "pad-added", + G_CALLBACK (_qa_element_pad_added), monitor); + + iterator = gst_element_iterate_pads (monitor->element); + done = FALSE; + while (!done) { + switch (gst_iterator_next (iterator, (gpointer *) & pad)) { + case GST_ITERATOR_OK: + gst_qa_element_monitor_wrap_pad (monitor, pad); + gst_object_unref (pad); + break; + case GST_ITERATOR_RESYNC: + /* TODO how to handle this? */ + gst_iterator_resync (iterator); + break; + case GST_ITERATOR_ERROR: + done = TRUE; + break; + case GST_ITERATOR_DONE: + done = TRUE; + break; + } + } + gst_iterator_free (iterator); + + monitor->setup = TRUE; + return TRUE; +} + +static void +gst_qa_element_monitor_wrap_pad (GstQaElementMonitor * monitor, GstPad * pad) +{ + GST_DEBUG_OBJECT (monitor, "Wrapping pad %s:%s", GST_DEBUG_PAD_NAME (pad)); + /* TODO */ +} + +static void +_qa_element_pad_added (GstElement * element, GstPad * pad, + GstQaElementMonitor * monitor) +{ + g_return_if_fail (monitor->element == element); + gst_qa_element_monitor_wrap_pad (monitor, pad); +} diff --git a/validate/gst/qa/gst-qa-element-monitor.h b/validate/gst/qa/gst-qa-element-monitor.h new file mode 100644 index 0000000..ca443fe --- /dev/null +++ b/validate/gst/qa/gst-qa-element-monitor.h @@ -0,0 +1,79 @@ +/* GStreamer + * Copyright (C) 2013 Thiago Santos + * + * gst-qa-element-monitor.h - QA ElementMonitor class + * + * 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.1 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. + */ + +#ifndef __GST_QA_ELEMENT_MONITOR_H__ +#define __GST_QA_ELEMENT_MONITOR_H__ + +#include +#include + +G_BEGIN_DECLS + +#define GST_TYPE_QA_ELEMENT_MONITOR (gst_qa_element_monitor_get_type ()) +#define GST_IS_QA_ELEMENT_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_QA_ELEMENT_MONITOR)) +#define GST_IS_QA_ELEMENT_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_QA_ELEMENT_MONITOR)) +#define GST_QA_ELEMENT_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_QA_ELEMENT_MONITOR, GstQaElementMonitorClass)) +#define GST_QA_ELEMENT_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_QA_ELEMENT_MONITOR, GstQaElementMonitor)) +#define GST_QA_ELEMENT_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_QA_ELEMENT_MONITOR, GstQaElementMonitorClass)) +#define GST_QA_ELEMENT_MONITOR_CAST(obj) ((GstQaElementMonitor*)(obj)) +#define GST_QA_ELEMENT_MONITOR_CLASS_CAST(klass) ((GstQaElementMonitorClass*)(klass)) + +typedef struct _GstQaElementMonitor GstQaElementMonitor; +typedef struct _GstQaElementMonitorClass GstQaElementMonitorClass; + +/** + * GstQaElementMonitor: + * + * GStreamer QA ElementMonitor class. + * + * Class that wraps a #GstElement for QA checks + */ +struct _GstQaElementMonitor { + GObject object; + + gboolean setup; + GstElement *element; + + /*< private >*/ + gulong pad_added_id; + GList *pad_monitors; +}; + +/** + * GstQaElementMonitorClass: + * @parent_class: parent + * + * GStreamer QA ElementMonitor object class. + */ +struct _GstQaElementMonitorClass { + GObjectClass parent_class; +}; + +/* normal GObject stuff */ +GType gst_qa_element_monitor_get_type (void); + +GstQaElementMonitor * gst_qa_element_monitor_new (GstElement * element); +gboolean gst_qa_element_monitor_setup (GstQaElementMonitor * element_monitor); + +G_END_DECLS + +#endif /* __GST_QA_ELEMENT_MONITOR_H__ */ + diff --git a/validate/gst/qa/gst-qa-element-wrapper.c b/validate/gst/qa/gst-qa-element-wrapper.c deleted file mode 100644 index 9a3ebd3..0000000 --- a/validate/gst/qa/gst-qa-element-wrapper.c +++ /dev/null @@ -1,151 +0,0 @@ -/* GStreamer - * Copyright (C) 2013 Thiago Santos - * - * gst-qa-element_wrapper.c - QA ElementWrapper class - * - * 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.1 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 "gst-qa-element-wrapper.h" - -/** - * SECTION:gst-qa-element-wrapper - * @short_description: Class that wraps a #GstElement for QA checks - * - * TODO - */ - -GST_DEBUG_CATEGORY_STATIC (gst_qa_element_wrapper_debug); -#define GST_CAT_DEFAULT gst_qa_element_wrapper_debug - -#define _do_init \ - GST_DEBUG_CATEGORY_INIT (gst_qa_element_wrapper_debug, "qa_element_wrapper", 0, "QA ElementWrapper"); -#define gst_qa_element_wrapper_parent_class parent_class -G_DEFINE_TYPE_WITH_CODE (GstQaElementWrapper, gst_qa_element_wrapper, - G_TYPE_OBJECT, _do_init); - -static void -gst_qa_element_wrapper_wrap_pad (GstQaElementWrapper * wrapper, GstPad * pad); - -static void -_qa_element_pad_added (GstElement * element, GstPad * pad, - GstQaElementWrapper * wrapper); - -static void -gst_qa_element_wrapper_dispose (GObject * object) -{ - GstQaElementWrapper *wrapper = GST_QA_ELEMENT_WRAPPER_CAST (object); - - if (wrapper->pad_added_id) - g_signal_handler_disconnect (wrapper->element, wrapper->pad_added_id); - - g_list_free_full (wrapper->pad_wrappers, g_object_unref); - - if (wrapper->element) - gst_object_unref (wrapper->element); - - G_OBJECT_CLASS (parent_class)->dispose (object); -} - - -static void -gst_qa_element_wrapper_class_init (GstQaElementWrapperClass * klass) -{ - GObjectClass *gobject_class; - - gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->dispose = gst_qa_element_wrapper_dispose; -} - -static void -gst_qa_element_wrapper_init (GstQaElementWrapper * element_wrapper) -{ - element_wrapper->setup = FALSE; -} - -/** - * gst_qa_element_wrapper_new: - * @element: (transfer-none): a #GstElement to run QA on - */ -GstQaElementWrapper * -gst_qa_element_wrapper_new (GstElement * element) -{ - GstQaElementWrapper *wrapper = - g_object_new (GST_TYPE_QA_ELEMENT_WRAPPER, NULL); - - g_return_val_if_fail (element != NULL, NULL); - - wrapper->element = gst_object_ref (element); - return wrapper; -} - -gboolean -gst_qa_element_wrapper_setup (GstQaElementWrapper * wrapper) -{ - GstIterator *iterator; - gboolean done; - GstPad *pad; - - if (wrapper->setup) - return TRUE; - - GST_DEBUG_OBJECT (wrapper, "Setting up wrapper for element %" GST_PTR_FORMAT, - wrapper->element); - - wrapper->pad_added_id = g_signal_connect (wrapper->element, "pad-added", - G_CALLBACK (_qa_element_pad_added), wrapper); - - iterator = gst_element_iterate_pads (wrapper->element); - done = FALSE; - while (!done) { - switch (gst_iterator_next (iterator, (gpointer *) &pad)) { - case GST_ITERATOR_OK: - gst_qa_element_wrapper_wrap_pad (wrapper, pad); - gst_object_unref (pad); - break; - case GST_ITERATOR_RESYNC: - /* TODO how to handle this? */ - gst_iterator_resync (iterator); - break; - case GST_ITERATOR_ERROR: - done = TRUE; - break; - case GST_ITERATOR_DONE: - done = TRUE; - break; - } - } - gst_iterator_free (iterator); - - wrapper->setup = TRUE; - return TRUE; -} - -static void -gst_qa_element_wrapper_wrap_pad (GstQaElementWrapper * wrapper, GstPad * pad) -{ - GST_DEBUG_OBJECT (wrapper, "Wrapping pad %s:%s", GST_DEBUG_PAD_NAME (pad)); - /* TODO */ -} - -static void -_qa_element_pad_added (GstElement * element, GstPad * pad, - GstQaElementWrapper * wrapper) -{ - g_return_if_fail (wrapper->element == element); - gst_qa_element_wrapper_wrap_pad (wrapper, pad); -} diff --git a/validate/gst/qa/gst-qa-element-wrapper.h b/validate/gst/qa/gst-qa-element-wrapper.h deleted file mode 100644 index 8ae9683..0000000 --- a/validate/gst/qa/gst-qa-element-wrapper.h +++ /dev/null @@ -1,79 +0,0 @@ -/* GStreamer - * Copyright (C) 2013 Thiago Santos - * - * gst-qa-element_wrapper.h - QA ElementWrapper class - * - * 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.1 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. - */ - -#ifndef __GST_QA_ELEMENT_WRAPPER_H__ -#define __GST_QA_ELEMENT_WRAPPER_H__ - -#include -#include - -G_BEGIN_DECLS - -#define GST_TYPE_QA_ELEMENT_WRAPPER (gst_qa_element_wrapper_get_type ()) -#define GST_IS_QA_ELEMENT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_QA_ELEMENT_WRAPPER)) -#define GST_IS_QA_ELEMENT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_QA_ELEMENT_WRAPPER)) -#define GST_QA_ELEMENT_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_QA_ELEMENT_WRAPPER, GstQaElementWrapperClass)) -#define GST_QA_ELEMENT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_QA_ELEMENT_WRAPPER, GstQaElementWrapper)) -#define GST_QA_ELEMENT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_QA_ELEMENT_WRAPPER, GstQaElementWrapperClass)) -#define GST_QA_ELEMENT_WRAPPER_CAST(obj) ((GstQaElementWrapper*)(obj)) -#define GST_QA_ELEMENT_WRAPPER_CLASS_CAST(klass) ((GstQaElementWrapperClass*)(klass)) - -typedef struct _GstQaElementWrapper GstQaElementWrapper; -typedef struct _GstQaElementWrapperClass GstQaElementWrapperClass; - -/** - * GstQaElementWrapper: - * - * GStreamer QA ElementWrapper class. - * - * Class that wraps a #GstElement for QA checks - */ -struct _GstQaElementWrapper { - GObject object; - - gboolean setup; - GstElement *element; - - /*< private >*/ - gulong pad_added_id; - GList *pad_wrappers; -}; - -/** - * GstQaElementWrapperClass: - * @parent_class: parent - * - * GStreamer QA ElementWrapper object class. - */ -struct _GstQaElementWrapperClass { - GObjectClass parent_class; -}; - -/* normal GObject stuff */ -GType gst_qa_element_wrapper_get_type (void); - -GstQaElementWrapper * gst_qa_element_wrapper_new (GstElement * element); -gboolean gst_qa_element_wrapper_setup (GstQaElementWrapper * element_wrapper); - -G_END_DECLS - -#endif /* __GST_QA_ELEMENT_WRAPPER_H__ */ - diff --git a/validate/gst/qa/gst-qa-wrapper-factory.c b/validate/gst/qa/gst-qa-monitor-factory.c similarity index 80% rename from validate/gst/qa/gst-qa-wrapper-factory.c rename to validate/gst/qa/gst-qa-monitor-factory.c index 3e47ca3..86812c4 100644 --- a/validate/gst/qa/gst-qa-wrapper-factory.c +++ b/validate/gst/qa/gst-qa-monitor-factory.c @@ -1,7 +1,7 @@ /* GStreamer * Copyright (C) 2013 Thiago Santos * - * gst-qa-wrapper-factory.c - QA Element wrappers factory utility functions + * gst-qa-monitor-factory.c - QA Element monitors factory utility functions * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -19,12 +19,12 @@ * Boston, MA 02111-1307, USA. */ -#include "gst-qa-wrapper-factory.h" +#include "gst-qa-monitor-factory.h" -GstQaElementWrapper * -gst_qa_wrapper_factory_create (GstElement * element) +GstQaElementMonitor * +gst_qa_monitor_factory_create (GstElement * element) { g_return_val_if_fail (element != NULL, NULL); - return gst_qa_element_wrapper_new (element); + return gst_qa_element_monitor_new (element); } diff --git a/validate/gst/qa/gst-qa-wrapper-factory.h b/validate/gst/qa/gst-qa-monitor-factory.h similarity index 77% rename from validate/gst/qa/gst-qa-wrapper-factory.h rename to validate/gst/qa/gst-qa-monitor-factory.h index 60296c7..121c6fb 100644 --- a/validate/gst/qa/gst-qa-wrapper-factory.h +++ b/validate/gst/qa/gst-qa-monitor-factory.h @@ -1,7 +1,7 @@ /* GStreamer * Copyright (C) 2013 Thiago Santos * - * gst-qa-wrapper-factory.h - QA Element wrappers factory utility functions + * gst-qa-monitor-factory.h - QA Element monitors factory utility functions * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -19,18 +19,18 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GST_QA_WRAPPER_FACTORY_H__ -#define __GST_QA_WRAPPER_FACTORY_H__ +#ifndef __GST_QA_MONITOR_FACTORY_H__ +#define __GST_QA_MONITOR_FACTORY_H__ #include #include -#include "gst-qa-element-wrapper.h" +#include "gst-qa-element-monitor.h" G_BEGIN_DECLS -GstQaElementWrapper * gst_qa_wrapper_factory_create (GstElement * element); +GstQaElementMonitor * gst_qa_monitor_factory_create (GstElement * element); G_END_DECLS -#endif /* __GST_QA_WRAPPER_FACTORY_H__ */ +#endif /* __GST_QA_MONITOR_FACTORY_H__ */ diff --git a/validate/gst/qa/gst-qa-pad-wrapper.c b/validate/gst/qa/gst-qa-pad-monitor.c similarity index 52% rename from validate/gst/qa/gst-qa-pad-wrapper.c rename to validate/gst/qa/gst-qa-pad-monitor.c index 2d7d25d..c4eea00 100644 --- a/validate/gst/qa/gst-qa-pad-wrapper.c +++ b/validate/gst/qa/gst-qa-pad-monitor.c @@ -1,7 +1,7 @@ /* GStreamer * Copyright (C) 2013 Thiago Santos * - * gst-qa-pad_wrapper.c - QA PadWrapper class + * gst-qa-pad-monitor.c - QA PadMonitor class * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -19,79 +19,77 @@ * Boston, MA 02111-1307, USA. */ -#include "gst-qa-pad-wrapper.h" +#include "gst-qa-pad-monitor.h" /** - * SECTION:gst-qa-pad-wrapper + * SECTION:gst-qa-pad-monitor * @short_description: Class that wraps a #GstPad for QA checks * * TODO */ -GST_DEBUG_CATEGORY_STATIC (gst_qa_pad_wrapper_debug); -#define GST_CAT_DEFAULT gst_qa_pad_wrapper_debug +GST_DEBUG_CATEGORY_STATIC (gst_qa_pad_monitor_debug); +#define GST_CAT_DEFAULT gst_qa_pad_monitor_debug #define _do_init \ - GST_DEBUG_CATEGORY_INIT (gst_qa_pad_wrapper_debug, "qa_pad_wrapper", 0, "QA PadWrapper"); -#define gst_qa_pad_wrapper_parent_class parent_class -G_DEFINE_TYPE_WITH_CODE (GstQaPadWrapper, gst_qa_pad_wrapper, + GST_DEBUG_CATEGORY_INIT (gst_qa_pad_monitor_debug, "qa_pad_monitor", 0, "QA PadMonitor"); +#define gst_qa_pad_monitor_parent_class parent_class +G_DEFINE_TYPE_WITH_CODE (GstQaPadMonitor, gst_qa_pad_monitor, G_TYPE_OBJECT, _do_init); static void -gst_qa_pad_wrapper_dispose (GObject * object) +gst_qa_pad_monitor_dispose (GObject * object) { - GstQaPadWrapper *wrapper = GST_QA_PAD_WRAPPER_CAST (object); + GstQaPadMonitor *monitor = GST_QA_PAD_MONITOR_CAST (object); - if (wrapper->pad) - gst_object_unref (wrapper->pad); + if (monitor->pad) + gst_object_unref (monitor->pad); G_OBJECT_CLASS (parent_class)->dispose (object); } static void -gst_qa_pad_wrapper_class_init (GstQaPadWrapperClass * klass) +gst_qa_pad_monitor_class_init (GstQaPadMonitorClass * klass) { GObjectClass *gobject_class; gobject_class = G_OBJECT_CLASS (klass); - gobject_class->dispose = gst_qa_pad_wrapper_dispose; + gobject_class->dispose = gst_qa_pad_monitor_dispose; } static void -gst_qa_pad_wrapper_init (GstQaPadWrapper * pad_wrapper) +gst_qa_pad_monitor_init (GstQaPadMonitor * pad_monitor) { - pad_wrapper->setup = FALSE; + pad_monitor->setup = FALSE; } /** - * gst_qa_pad_wrapper_new: + * gst_qa_pad_monitor_new: * @pad: (transfer-none): a #GstPad to run QA on */ -GstQaPadWrapper * -gst_qa_pad_wrapper_new (GstPad * pad) +GstQaPadMonitor * +gst_qa_pad_monitor_new (GstPad * pad) { - GstQaPadWrapper *wrapper = - g_object_new (GST_TYPE_QA_PAD_WRAPPER, NULL); + GstQaPadMonitor *monitor = g_object_new (GST_TYPE_QA_PAD_MONITOR, NULL); g_return_val_if_fail (pad != NULL, NULL); - wrapper->pad = gst_object_ref (pad); - return wrapper; + monitor->pad = gst_object_ref (pad); + return monitor; } gboolean -gst_qa_pad_wrapper_setup (GstQaPadWrapper * wrapper) +gst_qa_pad_monitor_setup (GstQaPadMonitor * monitor) { - if (wrapper->setup) + if (monitor->setup) return TRUE; - GST_DEBUG_OBJECT (wrapper, "Setting up wrapper for pad %" GST_PTR_FORMAT, - wrapper->pad); + GST_DEBUG_OBJECT (monitor, "Setting up monitor for pad %" GST_PTR_FORMAT, + monitor->pad); - wrapper->setup = TRUE; + monitor->setup = TRUE; return TRUE; } - diff --git a/validate/gst/qa/gst-qa-pad-monitor.h b/validate/gst/qa/gst-qa-pad-monitor.h new file mode 100644 index 0000000..d362064 --- /dev/null +++ b/validate/gst/qa/gst-qa-pad-monitor.h @@ -0,0 +1,77 @@ +/* GStreamer + * Copyright (C) 2013 Thiago Santos + * + * gst-qa-pad-monitor.h - QA PadMonitor class + * + * 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.1 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. + */ + +#ifndef __GST_QA_PAD_MONITOR_H__ +#define __GST_QA_PAD_MONITOR_H__ + +#include +#include + +G_BEGIN_DECLS + +#define GST_TYPE_QA_PAD_MONITOR (gst_qa_pad_monitor_get_type ()) +#define GST_IS_QA_PAD_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_QA_PAD_MONITOR)) +#define GST_IS_QA_PAD_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_QA_PAD_MONITOR)) +#define GST_QA_PAD_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_QA_PAD_MONITOR, GstQaPadMonitorClass)) +#define GST_QA_PAD_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_QA_PAD_MONITOR, GstQaPadMonitor)) +#define GST_QA_PAD_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_QA_PAD_MONITOR, GstQaPadMonitorClass)) +#define GST_QA_PAD_MONITOR_CAST(obj) ((GstQaPadMonitor*)(obj)) +#define GST_QA_PAD_MONITOR_CLASS_CAST(klass) ((GstQaPadMonitorClass*)(klass)) + +typedef struct _GstQaPadMonitor GstQaPadMonitor; +typedef struct _GstQaPadMonitorClass GstQaPadMonitorClass; + +/** + * GstQaPadMonitor: + * + * GStreamer QA PadMonitor class. + * + * Class that wraps a #GstPad for QA checks + */ +struct _GstQaPadMonitor { + GObject object; + + gboolean setup; + GstPad *pad; + + /*< private >*/ +}; + +/** + * GstQaPadMonitorClass: + * @parent_class: parent + * + * GStreamer QA PadMonitor object class. + */ +struct _GstQaPadMonitorClass { + GObjectClass parent_class; +}; + +/* normal GObject stuff */ +GType gst_qa_pad_monitor_get_type (void); + +GstQaPadMonitor * gst_qa_pad_monitor_new (GstPad * pad); +gboolean gst_qa_pad_monitor_setup (GstQaPadMonitor * pad_monitor); + +G_END_DECLS + +#endif /* __GST_QA_PAD_MONITOR_H__ */ + diff --git a/validate/gst/qa/gst-qa-pad-wrapper.h b/validate/gst/qa/gst-qa-pad-wrapper.h deleted file mode 100644 index 18bb909..0000000 --- a/validate/gst/qa/gst-qa-pad-wrapper.h +++ /dev/null @@ -1,77 +0,0 @@ -/* GStreamer - * Copyright (C) 2013 Thiago Santos - * - * gst-qa-pad_wrapper.h - QA PadWrapper class - * - * 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.1 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. - */ - -#ifndef __GST_QA_PAD_WRAPPER_H__ -#define __GST_QA_PAD_WRAPPER_H__ - -#include -#include - -G_BEGIN_DECLS - -#define GST_TYPE_QA_PAD_WRAPPER (gst_qa_pad_wrapper_get_type ()) -#define GST_IS_QA_PAD_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_QA_PAD_WRAPPER)) -#define GST_IS_QA_PAD_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_QA_PAD_WRAPPER)) -#define GST_QA_PAD_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_QA_PAD_WRAPPER, GstQaPadWrapperClass)) -#define GST_QA_PAD_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_QA_PAD_WRAPPER, GstQaPadWrapper)) -#define GST_QA_PAD_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_QA_PAD_WRAPPER, GstQaPadWrapperClass)) -#define GST_QA_PAD_WRAPPER_CAST(obj) ((GstQaPadWrapper*)(obj)) -#define GST_QA_PAD_WRAPPER_CLASS_CAST(klass) ((GstQaPadWrapperClass*)(klass)) - -typedef struct _GstQaPadWrapper GstQaPadWrapper; -typedef struct _GstQaPadWrapperClass GstQaPadWrapperClass; - -/** - * GstQaPadWrapper: - * - * GStreamer QA PadWrapper class. - * - * Class that wraps a #GstPad for QA checks - */ -struct _GstQaPadWrapper { - GObject object; - - gboolean setup; - GstPad *pad; - - /*< private >*/ -}; - -/** - * GstQaPadWrapperClass: - * @parent_class: parent - * - * GStreamer QA PadWrapper object class. - */ -struct _GstQaPadWrapperClass { - GObjectClass parent_class; -}; - -/* normal GObject stuff */ -GType gst_qa_pad_wrapper_get_type (void); - -GstQaPadWrapper * gst_qa_pad_wrapper_new (GstPad * pad); -gboolean gst_qa_pad_wrapper_setup (GstQaPadWrapper * pad_wrapper); - -G_END_DECLS - -#endif /* __GST_QA_PAD_WRAPPER_H__ */ - diff --git a/validate/gst/qa/gst-qa-runner.c b/validate/gst/qa/gst-qa-runner.c index e1d140a..0889429 100644 --- a/validate/gst/qa/gst-qa-runner.c +++ b/validate/gst/qa/gst-qa-runner.c @@ -20,7 +20,7 @@ */ #include "gst-qa-runner.h" -#include "gst-qa-wrapper-factory.h" +#include "gst-qa-monitor-factory.h" /** * SECTION:gst-qa-runner @@ -44,8 +44,8 @@ gst_qa_runner_dispose (GObject * object) if (runner->pipeline) gst_object_unref (runner->pipeline); - if (runner->wrapper) - g_object_unref (runner->wrapper); + if (runner->monitor) + g_object_unref (runner->monitor); G_OBJECT_CLASS (parent_class)->dispose (object); } @@ -88,8 +88,8 @@ gst_qa_runner_setup (GstQaRunner * runner) return TRUE; GST_INFO_OBJECT (runner, "Starting QA Runner setup"); - runner->wrapper = gst_qa_wrapper_factory_create (runner->pipeline); - if (runner->wrapper == NULL) { + runner->monitor = gst_qa_monitor_factory_create (runner->pipeline); + if (runner->monitor == NULL) { GST_WARNING_OBJECT (runner, "Setup failed"); return FALSE; } diff --git a/validate/gst/qa/gst-qa-runner.h b/validate/gst/qa/gst-qa-runner.h index 7a8cfa3..87b877a 100644 --- a/validate/gst/qa/gst-qa-runner.h +++ b/validate/gst/qa/gst-qa-runner.h @@ -25,7 +25,7 @@ #include #include -#include "gst-qa-element-wrapper.h" +#include "gst-qa-element-monitor.h" G_BEGIN_DECLS @@ -56,7 +56,7 @@ struct _GstQaRunner { /*< private >*/ GstElement *pipeline; - GstQaElementWrapper *wrapper; + GstQaElementMonitor *monitor; }; /** -- 2.7.4