1 from Screens.Screen import Screen
2 from enigma import ePoint, eSize, eServiceCenter, getBestPlayableServiceReference, eServiceReference
3 from Components.VideoWindow import VideoWindow
4 from Components.config import config, ConfigPosition
7 def __init__(self, session, decoderIdx = 1, pos = None):
8 Screen.__init__(self, session)
9 self["video"] = VideoWindow(decoderIdx, 720, 576)
10 self.currentService = None
11 self.onLayoutFinish.append(self.LayoutFinished)
12 self.decoderIdx = decoderIdx
14 self.skinName = "PictureInPicture"
16 def LayoutFinished(self):
17 self["video"].instance.setAdjustPosition(False)
18 self.onLayoutFinish.remove(self.LayoutFinished)
24 if x != -1 and y != -1 and w != -1 and h != -1:
29 self.instance.move(ePoint(x, y))
31 def resize(self, w, h):
32 self.instance.resize(eSize(*(w, h)))
33 self["video"].instance.resize(eSize(*(w, h)))
35 def getPosition(self):
36 return ((self.instance.position().x(), self.instance.position().y()))
39 return (self.instance.size().width(), self.instance.size().height())
41 def playService(self, service, playAudio):
42 if service and (service.flags & eServiceReference.isGroup):
43 ref = getBestPlayableServiceReference(service, eServiceReference())
47 self.pipservice = eServiceCenter.getInstance().play(ref)
48 if self.pipservice and not self.pipservice.setTarget(self.decoderIdx):
49 self.setQpipMode(True, playAudio)
50 self.pipservice.start()
51 self.currentService = service
54 self.pipservice = None
57 def setQpipMode(self, pipMode, playAudio):
59 self.pipservice.setQpipMode(pipMode, playAudio)
61 def getCurrentService(self):
62 return self.currentService