[pitivi] Change Seeker to do the first seek in a idle_add.
- From: Edward Hervey <edwardrv src gnome org>
- To: svn-commits-list gnome org
- Subject: [pitivi] Change Seeker to do the first seek in a idle_add.
- Date: Tue, 19 May 2009 12:07:19 -0400 (EDT)
commit da50345b8d9f22a5d93120015587d4a9c8de6741
Author: Alessandro Decina <alessandro d gmail com>
Date: Tue May 19 17:08:21 2009 +0200
Change Seeker to do the first seek in a idle_add.
Fixes a deadlock in gnlcomposition caused by the ruler seeking in
setShadedDuration, which is triggered when the composition start/duration values
change.
---
pitivi/utils.py | 5 ++++-
tests/test_seeker.py | 3 +++
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/pitivi/utils.py b/pitivi/utils.py
index a118ccd..cd4bf71 100644
--- a/pitivi/utils.py
+++ b/pitivi/utils.py
@@ -264,13 +264,16 @@ class Seeker(Signallable):
if self.pending_seek_id is None:
self.position = position
self.format = format
- self._seekTimeoutCb()
+ self._doFirstSeek()
self.pending_seek_id = self._scheduleSeek(self.timeout,
self._seekTimeoutCb)
else:
self.position = position
self.format = format
+ def _doFirstSeek(self):
+ gobject.idle_add(self._seekTimeoutCb)
+
def _scheduleSeek(self, timeout, callback):
return gobject.timeout_add(timeout, callback)
diff --git a/tests/test_seeker.py b/tests/test_seeker.py
index b8a1a13..ffce449 100644
--- a/tests/test_seeker.py
+++ b/tests/test_seeker.py
@@ -26,6 +26,9 @@ import gst
class StubSeeker(Seeker):
seek_id = 0
+ def _doFirstSeek(self):
+ self._seekTimeoutCb()
+
def _scheduleSeek(self, position, format):
# mock Seeker._scheduleSeek so that we don't need a mainloop
seek_id = self.seek_id
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]