From: Andreas Monzner Date: Wed, 25 Jun 2008 16:09:48 +0000 (+0000) Subject: now nav.getCurrentlyPlayingServiceReference() and nav.getCurrentService() X-Git-Tag: 2.6.0~1104 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/9083b11e3985534d45494cd89e0c54fddf7e5b52?hp=2f0be2e63c6a834182df4e31d8abf1af7c2ab179 now nav.getCurrentlyPlayingServiceReference() and nav.getCurrentService() returns valid service until iPlayableService.evEnd is received (this fixes among other things the problem that subtitles are not working when switching from a live dvb service to a dvb playback service or vice versa) --- diff --git a/Navigation.py b/Navigation.py index 7b1deb03..b4110f49 100644 --- a/Navigation.py +++ b/Navigation.py @@ -1,4 +1,4 @@ -from enigma import eServiceCenter, eServiceReference, pNavigation, getBestPlayableServiceReference +from enigma import eServiceCenter, eServiceReference, pNavigation, getBestPlayableServiceReference, iPlayableService from Components.ParentalControl import parentalControl from Tools.BoundFunction import boundFunction import RecordTimer @@ -32,6 +32,9 @@ class Navigation: def dispatchEvent(self, i): for x in self.event: x(i) + if i == iPlayableService.evEnd: + self.currentlyPlayingServiceReference = None + self.currentlyPlayingService = None def dispatchRecordEvent(self, rec_service, event): # print "record_event", rec_service, event @@ -44,8 +47,6 @@ class Navigation: print "ignore request to play already running service" return 0 print "playing", ref and ref.toString() - self.currentlyPlayingServiceReference = None - self.currentlyPlayingService = None if ref is None: self.stopService() return 0 @@ -98,8 +99,6 @@ class Navigation: print "stopService" if self.pnav: self.pnav.stopService() - self.currentlyPlayingService = None - self.currentlyPlayingServiceReference = None def pause(self, p): return self.pnav and self.pnav.pause(p)