diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2007-01-09 01:14:13 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2007-01-09 01:14:13 +0000 |
| commit | 1e14cd894335a4f97c588f4b0522627337cdec6e (patch) | |
| tree | 043eef02dd384dda4a8986abb8f8dcbbf76df6b4 /lib/python/Components/Sources/StreamService.py | |
| parent | 8d3ee12aa8f54f1eb40e633e7d2b7f5ec8d91c5f (diff) | |
| download | enigma2-1e14cd894335a4f97c588f4b0522627337cdec6e.tar.gz enigma2-1e14cd894335a4f97c588f4b0522627337cdec6e.zip | |
Add source and converter for streaming. Source/StreamService will start the streaming service 'record', Converter/Streaming will output current demux+pids.
Diffstat (limited to 'lib/python/Components/Sources/StreamService.py')
| -rw-r--r-- | lib/python/Components/Sources/StreamService.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/python/Components/Sources/StreamService.py b/lib/python/Components/Sources/StreamService.py new file mode 100644 index 00000000..ac8db34d --- /dev/null +++ b/lib/python/Components/Sources/StreamService.py @@ -0,0 +1,44 @@ +from Source import Source +from Components.Element import cached +from enigma import eServiceReference + +class StreamService(Source): + def __init__(self, navcore): + Source.__init__(self) + self.ref = None + self.__service = None + self.navcore = navcore + + def serviceEvent(self, event): + pass + + @cached + def getService(self): + return self.__service + + service = property(getService) + + def handleCommand(self, cmd): + print "StreamService handle command", cmd + self.ref = eServiceReference(cmd) + + def recordEvent(self, service, event): + if service is self.__service: + return + print "RECORD event for us:", service + self.changed((self.CHANGED_ALL, )) + + def execBegin(self): + print "StreamService execBegin", self.ref.toString() + self.__service = self.navcore.recordService(self.ref) + self.navcore.record_event.append(self.recordEvent) + if self.__service is not None: + self.__service.prepareStreaming() + self.__service.start() + + def execEnd(self): + print "StreamService execEnd", self.ref.toString() + self.navcore.record_event.remove(self.recordEvent) + if self.__service is not None: + self.navcore.stopRecordService(self.__service) + self.__service = None |
