[pitivi: 4/6] previewer: limit maximum number of pending request
- From: Edward Hervey <edwardrv src gnome org>
- To: svn-commits-list gnome org
- Subject: [pitivi: 4/6] previewer: limit maximum number of pending request
- Date: Tue, 10 Mar 2009 11:43:33 -0400 (EDT)
commit e1b23e89497af72cd4fda6271e78f0b31903c614
Author: Brandon Lewis <brandon_lewis berkeley edu>
Date: Mon Mar 9 11:36:29 2009 -0700
previewer: limit maximum number of pending requests to user configurable limit
---
pitivi/ui/previewer.py | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/pitivi/ui/previewer.py b/pitivi/ui/previewer.py
index 6e04386..2e75ab3 100644
--- a/pitivi/ui/previewer.py
+++ b/pitivi/ui/previewer.py
@@ -56,6 +56,13 @@ GlobalSettings.addConfigOption("thumbnailCacheSize",
key="cache-size",
default=250)
+# the maximum number of thumbnails to enqueue at a given time. setting this to
+# a larger value will increase latency after large operations, such as zooming
+GlobalSettings.addConfigOption("thumbnailMaxRequests",
+ section="thumbnailing",
+ key="max-requests",
+ default = 10)
+
# Previewer -- abstract base class with public interface for UI
# |_DefaultPreviewer -- draws a default thumbnail for UI
# |_LivePreviewer -- draws a continuously updated preview
@@ -136,6 +143,7 @@ class RandomAccessPreviewer(Previewer):
self._queue = []
self._cache = ThumbnailCache(size=
instance.PiTiVi.settings.thumbnailCacheSize)
+ self.max_requests = instance.PiTiVi.settings.thumbnailMaxRequests
# FIXME:
# why doesn't this work?
@@ -257,10 +265,8 @@ class RandomAccessPreviewer(Previewer):
def _requestThumbnail(self, segment):
"""Queue a thumbnail request for the given segment"""
- # TODO: need some sort of timeout so the queue doesn't fill up if the
- # thumbnail never arrives.
-
- if segment not in self._queue:
+ if (segment not in self._queue) and (len(self._queue) <=
+ self.max_requests):
if self._queue:
self._queue.append(segment)
else:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]