summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClint Savage <herlo1@gmail.com>2010-01-30 22:20:33 -0700
committerClint Savage <herlo1@gmail.com>2010-01-30 22:20:33 -0700
commit0ad07b2549788c64b63aa6d6a1d27caf02c34e06 (patch)
tree48232c6bca0328f1a5c8863ac1b4a2174d75cb9e
parentdbe4f2e06020bb05db82c80c6fb46dadd45f4f4a (diff)
downloadfreeseer-playground.tar.gz
freeseer-playground.tar.xz
freeseer-playground.zip
adding dvdemux code from ausilplayground
-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)