summaryrefslogtreecommitdiffstats
path: root/src/freeseer.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/freeseer.py')
-rwxr-xr-xsrc/freeseer.py10
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)