diff --git a/gi/overrides/Gst.py b/gi/overrides/Gst.py index 392fd31f4e..b746dd6e68 100644 --- a/gi/overrides/Gst.py +++ b/gi/overrides/Gst.py @@ -81,6 +81,10 @@ class IteratorError(Exception): pass __all__.append('IteratorError') +class AddError(Exception): + pass +__all__.append('AddError') + class Iterator(Gst.Iterator): def __iter__(self): while True: @@ -109,6 +113,19 @@ class ElementFactory(Gst.ElementFactory): def get_klass(self): return self.get_metadata("klass") + +class Pipeline(Gst.Pipeline): + def __init__(self, name=None): + Gst.Pipeline.__init__(self, name=name) + + def add(self, *args): + for arg in args: + if not Gst.Pipeline.add(self, arg): + raise AddError(arg) + +Pipeline = override(Pipeline) +__all__.append('Pipeline') + ElementFactory = override(ElementFactory) __all__.append('ElementFactory')