mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
gst/gst.defs: add gst.ghost_pad_new_notarget
Original commit message from CVS: * gst/gst.defs: add gst.ghost_pad_new_notarget * gst/gstpad.override: change wrap_gst_pad_new a little and add logging * testsuite/test_pad.py: add tests for constructors of gst.Pad
This commit is contained in:
parent
9e2af8b0b4
commit
4babdda09c
5 changed files with 395 additions and 352 deletions
|
@ -1,3 +1,12 @@
|
|||
2005-09-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||
|
||||
* gst/gst.defs:
|
||||
add gst.ghost_pad_new_notarget
|
||||
* gst/gstpad.override:
|
||||
change wrap_gst_pad_new a little and add logging
|
||||
* testsuite/test_pad.py:
|
||||
add tests for constructors of gst.Pad
|
||||
|
||||
2005-09-05 Andy Wingo <wingo@pobox.com>
|
||||
|
||||
* examples/pipeline-tester: Update pipelines. The fixed-rate v4l
|
||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
|||
Subproject commit 54886902497be267fe1f1a3f9c4dc0245bc46175
|
||||
Subproject commit 00cc4f5af95a15be55b8c1b3eed09f4738412f91
|
|
@ -1780,7 +1780,7 @@
|
|||
)
|
||||
)
|
||||
|
||||
(define-function gst_ghost_pad_new_notarget
|
||||
(define-function ghost_pad_new_notarget
|
||||
(c-name "gst_ghost_pad_new_notarget")
|
||||
(return-type "GstPad*")
|
||||
(parameters
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
/* -*- Mode: C; c-basic-offset: 4 -*- */
|
||||
/* gst-python
|
||||
* vi:si:et:sw=4:sts=4:ts=4
|
||||
*
|
||||
* gst-python
|
||||
* Copyright (C) 2004 Johan Dahlin
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
|
@ -552,23 +554,36 @@ _wrap_gst_pad_new(PyGObject *self, PyObject *args, PyObject *kwargs)
|
|||
PyObject *py_direction = NULL;
|
||||
GstPadDirection direction;
|
||||
|
||||
if (PyArg_ParseTupleAndKeywords(args, kwargs, "sO:GstPad.__init__", kwlist, &name, &py_direction)) {
|
||||
if (pyg_enum_get_value(GST_TYPE_PAD_DIRECTION, py_direction, (gint *)&direction))
|
||||
if (PyArg_ParseTupleAndKeywords (args, kwargs, "zO:GstPad.__init__",
|
||||
kwlist, &name, &py_direction)) {
|
||||
|
||||
GST_LOG ("gst.Pad.__init__: using gst_pad_new");
|
||||
if (pyg_enum_get_value (GST_TYPE_PAD_DIRECTION, py_direction,
|
||||
(gint *) &direction)) {
|
||||
GST_LOG ("gst.Pad.__init__: direction is not valid");
|
||||
return -1;
|
||||
self->obj = (GObject *)gst_pad_new(name, direction);
|
||||
}
|
||||
|
||||
self->obj = (GObject *) gst_pad_new (name, direction);
|
||||
} else {
|
||||
PyErr_Clear ();
|
||||
if (PyArg_ParseTupleAndKeywords(args, kwargs, "O!|s:GstPad.__init__", kwlist2, &PyGstPadTemplate_Type, &templ, &name)) {
|
||||
|
||||
GST_LOG ("gst.Pad.__init__: using gst_pad_new_from_template");
|
||||
if (PyArg_ParseTupleAndKeywords (args, kwargs, "O!|s:GstPad.__init__",
|
||||
kwlist2, &PyGstPadTemplate_Type,
|
||||
&templ, &name)) {
|
||||
if (name == NULL)
|
||||
name = GST_PAD_TEMPLATE_NAME_TEMPLATE (GST_PAD_TEMPLATE(templ->obj));
|
||||
self->obj = (GObject *)gst_pad_new_from_template(GST_PAD_TEMPLATE(templ->obj), name);
|
||||
name = GST_PAD_TEMPLATE_NAME_TEMPLATE (GST_PAD_TEMPLATE (
|
||||
templ->obj));
|
||||
self->obj = (GObject *) gst_pad_new_from_template (
|
||||
GST_PAD_TEMPLATE (templ->obj), name);
|
||||
}
|
||||
}
|
||||
if (!self->obj) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "could not create GstPad object");
|
||||
PyErr_SetString (PyExc_RuntimeError, "could not create GstPad object");
|
||||
return -1;
|
||||
}
|
||||
pygobject_register_wrapper((PyObject *)self);
|
||||
pygobject_register_wrapper ((PyObject *)self);
|
||||
return 0;
|
||||
}
|
||||
%%
|
||||
|
|
|
@ -22,7 +22,26 @@
|
|||
|
||||
from common import gst, unittest
|
||||
|
||||
class PadTemplateTest(unittest.TestCase):
|
||||
def testConstructor(self):
|
||||
self.failUnless(gst.PadTemplate("template", gst.PAD_SINK,
|
||||
gst.PAD_ALWAYS, gst.caps_from_string("audio/x-raw-int")))
|
||||
|
||||
class PadTest(unittest.TestCase):
|
||||
def testConstructor(self):
|
||||
# first style uses gst_pad_new
|
||||
gst.debug('creating pad with name src')
|
||||
self.failUnless(gst.Pad("src", gst.PAD_SRC))
|
||||
gst.debug('creating pad with no name')
|
||||
self.failUnless(gst.Pad(None, gst.PAD_SRC))
|
||||
self.failUnless(gst.Pad(name=None, direction=gst.PAD_SRC))
|
||||
self.failUnless(gst.Pad(direction=gst.PAD_SRC, name=None))
|
||||
self.failUnless(gst.Pad(direction=gst.PAD_SRC, name="src"))
|
||||
|
||||
# second uses gst_pad_new_from_template
|
||||
#template = gst.PadTemplate()
|
||||
|
||||
class PadPipelineTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.pipeline = gst.parse_launch('fakesrc name=source ! fakesink')
|
||||
src = self.pipeline.get_by_name('source')
|
||||
|
|
Loading…
Reference in a new issue