[pitivi] discoverer: seek at duration / 3 when generating thumbnails.
- From: Edward Hervey <edwardrv src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] discoverer: seek at duration / 3 when generating thumbnails.
- Date: Mon, 22 Feb 2010 06:44:21 +0000 (UTC)
commit 5490685bce980683a09d28973e768438eda0f170
Author: Alessandro Decina <alessandro d gmail com>
Date: Sun Feb 21 15:52:34 2010 +0100
discoverer: seek at duration / 3 when generating thumbnails.
pitivi/discoverer.py | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
---
diff --git a/pitivi/discoverer.py b/pitivi/discoverer.py
index 3471bd0..3372ddf 100644
--- a/pitivi/discoverer.py
+++ b/pitivi/discoverer.py
@@ -478,10 +478,29 @@ class Discoverer(Signallable, Loggable):
return filename
+ def _videoPadSeekCb(self, pad):
+ try:
+ duration = self.pipeline.query_duration(gst.FORMAT_TIME)[0]
+ except gst.QueryError:
+ duration = 0
+
+ if duration:
+ self.pipeline.seek_simple(gst.FORMAT_TIME,
+ gst.SEEK_FLAG_FLUSH, duration / 3)
+
+ pad.set_blocked_async(False, self._videoPadBlockCb)
+
+ def _videoPadBlockCb(self, pad, blocked):
+ self.debug("video pad blocked: %s" % blocked)
+ if blocked:
+ gobject.timeout_add(0, self._videoPadSeekCb, pad)
+
def _newVideoPadCb(self, pad):
""" a new video pad was found """
self.debug("pad %r", pad)
+ pad.set_blocked_async(True, self._videoPadBlockCb)
+
queue = gst.element_factory_make("queue")
queue.props.max_size_bytes = 5 * 1024 * 1024
queue.props.max_size_time = 5 * gst.SECOND
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]