diff options
-rwxr-xr-x | src/freeseer.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/freeseer.py b/src/freeseer.py index 138580c..308b3fb 100755 --- a/src/freeseer.py +++ b/src/freeseer.py @@ -106,6 +106,12 @@ class FreeSeeR: imagesink.set_property("force-aspect-ratio", True) imagesink.set_xwindow_id(self.window_id) + def _dvdemux_padded(self, dbin, pad): + print "dvdemux got pad %s" % pad.get_name() + if pad.get_name() == 'video': + print "Linking dvdemux to queue1" + self.dv1394dvdemux.link(self.dv1394q1) + def change_videosrc(self, new_source, new_device): if (self.viddrv == 'dv1394src'): self.player.remove(self.dv1394q1) @@ -133,7 +139,9 @@ class FreeSeeR: self.dv1394dvdemux = gst.element_factory_make("dvdemux", "dv1394dvdemux") self.dv1394dvdec = gst.element_factory_make("dvdec", "dv1394dvdec") self.player.add(self.dv1394q1, self.dv1394q2, self.dv1394dvdemux, self.dv1394dvdec) - gst.element_link_many(self.vidsrc, self.dv1394q1, self.dv1394dvdemux, self.dv1394q2, self.dv1394dvdec, self.cspace) + self.vidsrc.link(self.dv1394dvdemux) + self.dv1394dvdemux.connect('pad-added', self._dvdemux_padded) + gst.element_link_many( self.dv1394q1, self.dv1394dvdec, self.cspace) return gst.element_link_many(self.vidsrc, self.cspace) |