[pitivi: 1/7] mixer: Consider transitions when aggregating alpha state
- From: Edward Hervey <edwardrv src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi: 1/7] mixer: Consider transitions when aggregating alpha state
- Date: Mon, 23 Aug 2010 10:42:20 +0000 (UTC)
commit 77b5bc47644ad60eab5938787631cef2c9f3cfdd
Author: Robert Swain <robert swain collabora co uk>
Date: Thu Aug 19 10:11:40 2010 +0200
mixer: Consider transitions when aggregating alpha state
pitivi/elements/mixer.py | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/pitivi/elements/mixer.py b/pitivi/elements/mixer.py
index 027e7d8..f03cdc3 100644
--- a/pitivi/elements/mixer.py
+++ b/pitivi/elements/mixer.py
@@ -209,6 +209,8 @@ class SmartVideomixerBinPropertyHelper(Signallable):
# connect track-object-{added,removed} signals from track to callbacks
track.connect("track-object-added", self._trackAddedCb)
track.connect("track-object-removed", self._trackRemovedCb)
+ track.connect("transition-added", self._transitionAddedCb)
+ track.connect("transition-removed", self._transitionRemovedCb)
# configure initial alpha state
self.alphaStateChanged(False)
@@ -266,6 +268,17 @@ class SmartVideomixerBinPropertyHelper(Signallable):
elif old_alpha_count > 0 and self.alpha_count == 0:
self.alphaStateChanged(False)
+ def _transitionAddedCb(self, track, transition):
+ # FIXME - this assumes transitions need alpha, change it if they don't
+ if self.alpha_count == 0:
+ self.alphaStateChanged(True)
+ self.alpha_count += 1
+
+ def _transitionRemovedCb(self, track, transition):
+ self.alpha_count -= 1
+ if self.alpha_count == 0:
+ self.alphaStateChanged(False)
+
def alphaStateChanged(self, has_alpha):
"""Updates capsfilter caps to reflect the alpha state of composition"""
caps = gst.Caps('video/x-raw-yuv')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]