From f51b91c02d0abd0b7823037625ee046ed3b73a17 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Thu, 17 Mar 2011 18:40:21 +0000 Subject: [PATCH 1/5] Add timeout to loop --- openlp/plugins/media/lib/mediaitem.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 9511fabee..e4a3f4306 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -24,6 +24,7 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### +from datetime import datetime import logging import os @@ -139,11 +140,17 @@ class MediaMediaItem(MediaManagerItem): file_size = os.path.getsize(filename) # File too big for processing if file_size <= 52428800: # 50MiB + start = datetime.now() while not self.mediaState: Receiver.send_message(u'openlp_process_events') - service_item.media_length = self.mediaLength - service_item.add_capability( - ItemCapabilities.AllowsVariableStartTime) + end = datetime.now() + tme = end - start + if tme.total_seconds() > 5: + break + if self.mediaLength > 0: + service_item.media_length = self.mediaLength + service_item.add_capability( + ItemCapabilities.AllowsVariableStartTime) service_item.add_from_command(path, name, frame) return True else: @@ -189,4 +196,4 @@ class MediaMediaItem(MediaManagerItem): if newState == Phonon.PlayingState: self.mediaState = newState self.mediaLength = self.mediaObject.totalTime()/1000 - self.mediaObject.stop() \ No newline at end of file + self.mediaObject.stop() From e19e418a563a4a4e3b0360c231a66de1c0da3aae Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Thu, 17 Mar 2011 20:02:33 +0000 Subject: [PATCH 2/5] Fix variable --- openlp/plugins/media/lib/mediaitem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index e4a3f4306..8d9ce5efe 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -147,7 +147,7 @@ class MediaMediaItem(MediaManagerItem): tme = end - start if tme.total_seconds() > 5: break - if self.mediaLength > 0: + if self.mediaState: service_item.media_length = self.mediaLength service_item.add_capability( ItemCapabilities.AllowsVariableStartTime) From 6951ac1fb6346e0089c9d72ff38606231942ef75 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 18 Mar 2011 18:19:07 +0000 Subject: [PATCH 3/5] Fix time for python 2.6 --- openlp/plugins/media/lib/mediaitem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 8d9ce5efe..30bbf4e2d 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -145,7 +145,7 @@ class MediaMediaItem(MediaManagerItem): Receiver.send_message(u'openlp_process_events') end = datetime.now() tme = end - start - if tme.total_seconds() > 5: + if tme.seconds > 5: break if self.mediaState: service_item.media_length = self.mediaLength From c80fe1fd5073ff27fd2d016ecfd1b9ac4799563b Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 18 Mar 2011 18:20:58 +0000 Subject: [PATCH 4/5] Remove extra line --- openlp/plugins/media/lib/mediaitem.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 30bbf4e2d..c8d365e49 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -143,8 +143,7 @@ class MediaMediaItem(MediaManagerItem): start = datetime.now() while not self.mediaState: Receiver.send_message(u'openlp_process_events') - end = datetime.now() - tme = end - start + tme = datetime.now() - start if tme.seconds > 5: break if self.mediaState: From 9def5ab3c780afe61af853ecb49c09657c3e9222 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 18 Mar 2011 19:15:07 +0000 Subject: [PATCH 5/5] Add space --- openlp/plugins/media/lib/mediaitem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index c8d365e49..e5ab6e5e0 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -145,7 +145,7 @@ class MediaMediaItem(MediaManagerItem): Receiver.send_message(u'openlp_process_events') tme = datetime.now() - start if tme.seconds > 5: - break + break if self.mediaState: service_item.media_length = self.mediaLength service_item.add_capability(