X-Git-Url: https://git.slaskete.net/python-gstreamer-examples/blobdiff_plain/f85549eda60da52c7de415185aeaf2f937ecaae4..HEAD:/example5.py diff --git a/example5.py b/example5.py index b775398..b252a17 100755 --- a/example5.py +++ b/example5.py @@ -61,12 +61,12 @@ class Main: # src3 self.src3 = Gst.ElementFactory.make("rtmpsrc", "src3") self.src3.set_property("location", stream1) -# self.src3caps = Gst.ElementFactory.make("capsfilter", "src3caps") -# self.src3caps.set_property("caps", xrawcaps) + self.src3caps = Gst.ElementFactory.make("capsfilter", "src3caps") + self.src3caps.set_property("caps", xrawcaps) self.src3dec = Gst.ElementFactory.make("decodebin", "src3dec") self.src3crop = Gst.ElementFactory.make("aspectratiocrop", "src3crop") self.src3crop.set_property("aspect-ratio", Gst.Fraction(16, 9)) - self.src3crop.set_property("async-handling", True) + self.src3crop.set_property("message-forward", True) self.src3croppad = self.src3crop.get_static_pad("sink") self.src3scale = Gst.ElementFactory.make("videoscale") self.src3scalecaps = Gst.ElementFactory.make("capsfilter", "src3scalecaps") @@ -97,9 +97,9 @@ class Main: self.src2dec.connect("pad-added", self.OnPadAdded, self.src2pad, self.videomix) self.pipeline.add(self.src3) -# self.pipeline.add(self.src3caps) self.pipeline.add(self.src3dec) - self.src3dec.connect("pad-added", self.OnPadAdded, self.src3croppad, self.src3scale) + self.src3dec.connect("pad-added", self.OnPadAdded, self.src3croppad, self.src3crop) + self.pipeline.add(self.src3crop) self.pipeline.add(self.src3scale) self.pipeline.add(self.src3scalecaps) @@ -119,18 +119,14 @@ class Main: if not self.src2caps.link(self.src2dec): print("Failed to link src2caps to src2dec") -# if not self.src3.link(self.src3caps): -# print("Failed to link src3 to src3caps") if not self.src3.link(self.src3dec): print("Failed to link src3 to src3dec") + if not self.src3crop.link(self.src3scale): + print("Failed to link src3crop to src3scale") if not self.src3scale.link(self.src3scalecaps): print("Failed to link src3scale to src3scalecaps") - if not self.src3scalecaps.link(self.src3crop): - print("Failed to link src3scalecaps to src3crop") - if not self.src3crop.link(self.src3cropcaps): - print("Failed to link src3crop to src3cropcaps") - if not self.src3cropcaps.link(self.videomix): - print("Failed to link src3cropcaps to videomix") + if not self.src3scalecaps.link_pads("src", self.videomix, "sink_3"): + print("Failed to link src3scalecaps to videomix") # Set up a bus to our pipeline to get notified when the video is ready self.bus = self.pipeline.get_bus() @@ -160,6 +156,7 @@ class Main: def OnPadAdded(self, element, pad, sink, target): print("Dynamic pad for " + element.name + " added, linking to " + target.name) + print(sink.name) pad.link(sink) element.link(target)