mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-19 16:21:17 +00:00
override Element before Bin so we can access element fields of bins
And add a test See https://gitlab.gnome.org/GNOME/pygobject/issues/325
This commit is contained in:
parent
2e91b713f1
commit
6fcd2c835f
2 changed files with 23 additions and 15 deletions
|
@ -56,6 +56,22 @@ python module to use with Gst 0.10"
|
|||
|
||||
warnings.warn(warn_msg, RuntimeWarning)
|
||||
|
||||
|
||||
class Element(Gst.Element):
|
||||
@staticmethod
|
||||
def link_many(*args):
|
||||
'''
|
||||
@raises: Gst.LinkError
|
||||
'''
|
||||
for pair in pairwise(args):
|
||||
if not pair[0].link(pair[1]):
|
||||
raise LinkError(
|
||||
'Failed to link {} and {}'.format(pair[0], pair[1]))
|
||||
|
||||
Element = override(Element)
|
||||
__all__.append('Element')
|
||||
|
||||
|
||||
class Bin(Gst.Bin):
|
||||
def __init__(self, name=None):
|
||||
Gst.Bin.__init__(self, name=name)
|
||||
|
@ -593,21 +609,6 @@ def pairwise(iterable):
|
|||
return zip(a, b)
|
||||
|
||||
|
||||
class Element(Gst.Element):
|
||||
@staticmethod
|
||||
def link_many(*args):
|
||||
'''
|
||||
@raises: Gst.LinkError
|
||||
'''
|
||||
for pair in pairwise(args):
|
||||
if not pair[0].link(pair[1]):
|
||||
raise LinkError(
|
||||
'Failed to link {} and {}'.format(pair[0], pair[1]))
|
||||
|
||||
Element = override(Element)
|
||||
__all__.append('Element')
|
||||
|
||||
|
||||
def TIME_ARGS(time):
|
||||
if time == Gst.CLOCK_TIME_NONE:
|
||||
return "CLOCK_TIME_NONE"
|
||||
|
|
|
@ -86,5 +86,12 @@ class TestStructure(TestCase):
|
|||
test = Gst.Structure('test,test=1')
|
||||
self.assertEqual(test['test'], 1)
|
||||
|
||||
|
||||
class TestBin(TestCase):
|
||||
|
||||
def test_add_pad(self):
|
||||
Gst.init(None)
|
||||
self.assertEqual(Gst.ElementFactory.make("bin", None).sinkpads, [])
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
Loading…
Reference in a new issue