gremlin/gremlin.in: Cope without Bin and Pipeline multi-arg `add'.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 17 Apr 2018 21:28:32 +0000 (22:28 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 19 Apr 2018 11:22:49 +0000 (12:22 +0100)
In order to make life more convenient for programmers who live backwards
through time, later GStreamer bindings remove the ability to add
multiple children to bins and pipelines.

gremlin/gremlin.in

index 4992599..7b0e47d 100644 (file)
@@ -834,7 +834,7 @@ class AudioIdentifier (object):
       if pad.get_caps()[0].get_name().startswith('audio/'):
         elt.link_pads(pad.get_name(), sink, 'sink')
     dpaid = decoder.connect('pad-added', decoder_pad_arrived)
-    me._pipe.add(source, decoder, sink)
+    for i in [source, decoder, sink]: me._pipe.add(i)
     link_elements([source, decoder])
 
     ## Arrange to collect tags from the pipeline's bus as they're reported.
@@ -998,7 +998,7 @@ class AudioFormat (BaseFormat):
     """
     elts = me.encoder_chain()
     bin = GS.Bin()
-    bin.add(*elts)
+    for i in elts: bin.add(i)
     link_elements(elts)
     bin.add_pad(GS.GhostPad('sink', elts[0].get_pad('sink')))
     bin.add_pad(GS.GhostPad('src', elts[-1].get_pad('src')))
@@ -1035,7 +1035,7 @@ class AudioFormat (BaseFormat):
     convert = make_element('audioconvert', 'convert')
     encoder = me.encoder()
     sink = make_element('filesink', 'sink', location = new)
-    pipe.add(source, decoder, convert, encoder, sink)
+    for i in [source, decoder, convert, encoder, sink]: pipe.add(i)
     link_elements([source, decoder])
     link_elements([convert, encoder, sink])