[pitivi] SourceFactory: make sure audio elements reach the right state before dataflow starts. Finally fixes



commit bb96b020e6a4aeaca8e1253e349f9614e961338c
Author: Alessandro Decina <alessandro d gmail com>
Date:   Wed Aug 26 14:44:35 2009 +0200

    SourceFactory: make sure audio elements reach the right state before dataflow starts. Finally fixes #590114.

 pitivi/factories/base.py |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/pitivi/factories/base.py b/pitivi/factories/base.py
index 2980fc6..564df8a 100644
--- a/pitivi/factories/base.py
+++ b/pitivi/factories/base.py
@@ -360,6 +360,13 @@ class SourceFactory(ObjectFactory):
     def _singlePadAddedCb(self, dbin, pad, topbin):
         self.debug("dbin:%r, pad:%r, topbin:%r", dbin, pad, topbin)
         if hasattr(topbin, "volume"):
+            # make sure audio elements reach our same state. This is needed
+            # since those elements are still unlinked downstream at this point,
+            # so state change order doesn't happen in the usual
+            # downstream-to-upstream way.
+            for element in [topbin.aconv, topbin.ares, topbin.volume]:
+                element.sync_state_with_parent()
+
             pad.link(topbin.aconv.get_pad("sink"))
             topbin.ghostpad = gst.GhostPad("src", topbin.volume.get_pad("src"))
         else:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]