diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 9511fabee..e5ab6e5e0 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,16 @@ 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) + tme = datetime.now() - start + if tme.seconds > 5: + break + if self.mediaState: + 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 +195,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()