aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-03-02 17:17:06 +0100
committerFelix Domke <tmbinc@elitedvb.net>2009-03-02 17:17:06 +0100
commite63586af0f2e8acf5a0972ae1993c039edcd901e (patch)
tree6e71d80bba8d845eb58517d98b60f43585092218 /lib/python
parentdb3985b36a8e42c4c9d560bc4efaa4ef75d48c56 (diff)
downloadenigma2-e63586af0f2e8acf5a0972ae1993c039edcd901e.tar.gz
enigma2-e63586af0f2e8acf5a0972ae1993c039edcd901e.zip
replace EOF magic by a slightly more accurate PVR EOF.
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Screens/InfoBarGenerics.py58
1 files changed, 6 insertions, 52 deletions
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index e39e028d..71e08327 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -623,11 +623,6 @@ class InfoBarSeek:
iPlayableService.evEOF: self.__evEOF,
iPlayableService.evSOF: self.__evSOF,
})
- self.eofState = 0
- self.eofTimer = eTimer()
- self.eofTimer.timeout.get().append(self.doEof)
- self.eofInhibitTimer = eTimer()
- self.eofInhibitTimer.timeout.get().append(self.inhibitEof)
self.minSpeedBackward = useSeekBackHack and 16 or 0
@@ -763,9 +758,6 @@ class InfoBarSeek:
def __serviceStarted(self):
self.seekstate = self.SEEK_STATE_PLAY
self.__seekableStatusChanged()
- if self.eofState != 0:
- self.eofTimer.stop()
- self.eofState = 0
def setSeekState(self, state):
service = self.session.nav.getCurrentService()
@@ -827,16 +819,6 @@ class InfoBarSeek:
seekable = self.getSeek()
if seekable is None:
return
- prevstate = self.seekstate
- if self.eofState == 1:
- self.eofState = 2
- self.inhibitEof()
- if self.seekstate == self.SEEK_STATE_EOF:
- if prevstate == self.SEEK_STATE_PAUSE:
- self.setSeekState(self.SEEK_STATE_PAUSE)
- else:
- self.setSeekState(self.SEEK_STATE_PLAY)
- self.eofInhibitTimer.start(200, True)
seekable.seekTo(pts)
def doSeekRelative(self, pts):
@@ -844,15 +826,12 @@ class InfoBarSeek:
if seekable is None:
return
prevstate = self.seekstate
- if self.eofState == 1:
- self.eofState = 2
- self.inhibitEof()
+
if self.seekstate == self.SEEK_STATE_EOF:
if prevstate == self.SEEK_STATE_PAUSE:
self.setSeekState(self.SEEK_STATE_PAUSE)
else:
self.setSeekState(self.SEEK_STATE_PLAY)
- self.eofInhibitTimer.start(200, True)
seekable.seekRelative(pts<0 and -1 or 1, abs(pts))
if abs(pts) > 100 and config.usage.show_infobar_on_skip.value:
self.showAfterSeek()
@@ -964,44 +943,19 @@ class InfoBarSeek:
return False
def __evEOF(self):
- if self.eofState == 0 and self.seekstate != self.SEEK_STATE_EOF:
- self.eofState = 1
- time = self.calcRemainingTime()
- if not time:
- time = 3000 # Failed to calc, use default
- elif time == 0:
- time = 300 # Passed end, shortest wait
- elif time > 15000:
- self.eofState = -2 # Too long, block eof
- time = 15000
- else:
- time += 1000 # Add margin
- self.eofTimer.start(time, True)
-
- def inhibitEof(self):
- if self.eofState >= 1:
- self.eofState = -self.eofState
- self.eofTimer.stop()
- self.doEof()
-
- def doEof(self):
if self.seekstate == self.SEEK_STATE_EOF:
return
- if self.eofState == -2 or self.isStateBackward(self.seekstate):
- self.eofState = 0
- return
- # if we are seeking, we try to end up ~1s before the end, and pause there.
- eofstate = self.eofState
+ # if we are seeking forward, we try to end up ~1s before the end, and pause there.
seekstate = self.seekstate
- self.eofState = 0
- if not self.seekstate == self.SEEK_STATE_PAUSE:
+ if self.seekstate != self.SEEK_STATE_PAUSE:
self.setSeekState(self.SEEK_STATE_EOF)
- if eofstate == -1 or not seekstate in (self.SEEK_STATE_PLAY, self.SEEK_STATE_PAUSE):
+
+ if seekstate not in (self.SEEK_STATE_PLAY, self.SEEK_STATE_PAUSE): # if we are seeking
seekable = self.getSeek()
if seekable is not None:
seekable.seekTo(-1)
- if eofstate == 1 and seekstate == self.SEEK_STATE_PLAY:
+ if seekstate == self.SEEK_STATE_PLAY: # regular EOF
self.doEofInternal(True)
else:
self.doEofInternal(False)