add handling for alternative services
[enigma2.git] / lib / python / Components / Sources / StreamService.py
index ac8db34d5447600a22310f90e6ecbe458b68577b..4f4e78e85a4ee97e6f46e47efc6da9e630c62a7b 100644 (file)
@@ -1,6 +1,6 @@
 from Source import Source
 from Components.Element import cached
-from enigma import eServiceReference
+from enigma import eServiceReference, getBestPlayableServiceReference
 
 class StreamService(Source):
        def __init__(self, navcore):
@@ -30,6 +30,10 @@ class StreamService(Source):
 
        def execBegin(self):
                print "StreamService execBegin", self.ref.toString()
+               if self.ref.flags & eServiceReference.isGroup:
+                       playref = getBestPlayableServiceReference(self.ref, eServiceReference())
+                       if playref:
+                               self.ref = playref
                self.__service = self.navcore.recordService(self.ref)
                self.navcore.record_event.append(self.recordEvent)
                if self.__service is not None: