From 4132069a836d6f38d35b9234c7c6f7279ea37fe2 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Thu, 8 Sep 2005 14:08:32 +0000 Subject: [PATCH] add debug methods to gst.Object Original commit message from CVS: add debug methods to gst.Object --- ChangeLog | 7 +++++++ gst/gst.defs | 48 +++++++++++++++++++++++++++++++++++++++++++++++ gst/gst.override | 41 ++++++++++++++++++++++++++++++++++++++-- testsuite/test_element.py | 11 +++++++++++ 4 files changed, 105 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index cb89a65..5c680ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,13 @@ 2005-09-08 Thomas Vander Stichele * gst/gst.defs: + * gst/gst.override: + * testsuite/test_element.py: + add debug methods to gst.Object + +2005-09-08 Thomas Vander Stichele + + * gst/gst.defs: add gst.ghost_pad_new_notarget * gst/gstpad.override: change wrap_gst_pad_new a little and add logging diff --git a/gst/gst.defs b/gst/gst.defs index 82a9243..db3ad4c 100644 --- a/gst/gst.defs +++ b/gst/gst.defs @@ -2910,6 +2910,54 @@ ) ) +;; OBJECT DEBUGGING FUNCTIONS FROM PYTHON +;; The c functions don't actually exist + +(define-method log + (of-object "GstObject") + (c-name "gst_object_log") + (return-type "none") + (parameters + '("gchar *" "msg") + ) +) + +(define-method debug + (of-object "GstObject") + (c-name "gst_object_debug") + (return-type "none") + (parameters + '("gchar *" "msg") + ) +) + +(define-method info + (of-object "GstObject") + (c-name "gst_object_info") + (return-type "none") + (parameters + '("gchar *" "msg") + ) +) + +(define-method warning + (of-object "GstObject") + (c-name "gst_object_warning") + (return-type "none") + (parameters + '("gchar *" "msg") + ) +) + +(define-method error + (of-object "GstObject") + (c-name "gst_object_error") + (return-type "none") + (parameters + '("gchar *" "msg") + ) +) + ;; From ../gstreamer/gst/gstpad.h (define-function gst_pad_get_type diff --git a/gst/gst.override b/gst/gst.override index e834e1d..2570176 100644 --- a/gst/gst.override +++ b/gst/gst.override @@ -963,6 +963,7 @@ _wrap_gst_flow_get_name(PyObject *self, PyObject *args, PyObject *kwargs) Py_INCREF(Py_None); return Py_None; } + %% override gst_log args static PyObject * @@ -985,16 +986,52 @@ _wrap_gst_info (PyObject *whatever, PyObject *string) return pygst_debug_log (whatever, string, GST_LEVEL_INFO); } %% -override gst_warning +override gst_warning args static PyObject * _wrap_gst_warning (PyObject *whatever, PyObject *string) { return pygst_debug_log (whatever, string, GST_LEVEL_WARNING); } %% -override gst_error +override gst_error args static PyObject * _wrap_gst_error (PyObject *whatever, PyObject *string) { return pygst_debug_log (whatever, string, GST_LEVEL_ERROR); } + +%% +override gst_object_log args +static PyObject * +_wrap_gst_object_log (PyObject *whatever, PyObject *string) +{ + return pygst_debug_log (whatever, string, GST_LEVEL_LOG); +} +%% +override gst_object_debug args +static PyObject * +_wrap_gst_object_debug (PyObject *whatever, PyObject *string) +{ + return pygst_debug_log (whatever, string, GST_LEVEL_DEBUG); +} +%% +override gst_object_info args +static PyObject * +_wrap_gst_object_info (PyObject *whatever, PyObject *string) +{ + return pygst_debug_log (whatever, string, GST_LEVEL_INFO); +} +%% +override gst_object_warning args +static PyObject * +_wrap_gst_object_warning (PyObject *whatever, PyObject *string) +{ + return pygst_debug_log (whatever, string, GST_LEVEL_WARNING); +} +%% +override gst_object_error args +static PyObject * +_wrap_gst_object_error (PyObject *whatever, PyObject *string) +{ + return pygst_debug_log (whatever, string, GST_LEVEL_ERROR); +} diff --git a/testsuite/test_element.py b/testsuite/test_element.py index 36f96b7..49ba1ac 100644 --- a/testsuite/test_element.py +++ b/testsuite/test_element.py @@ -175,5 +175,16 @@ class QueueTest(unittest.TestCase): assert isinstance(queue, gst.Queue) assert queue.get_name() == 'queue0' +class DebugTest(unittest.TestCase): + def testDebug(self): + e = gst.element_factory_make('fakesrc') + e.error('I am an error string') + e.warning('I am a warning string') + e.info('I am an info string') + e.debug('I am a debug string') + e.log('I am a log string') + e.debug('I am a formatted %s %s' % ('log', 'string')) + + if __name__ == "__main__": unittest.main() -- 2.7.4