def configure_pipeline(self, pipeline, props): self.hlsring = HLSRing( props.get('main-playlist', self.DEFAULT_MAIN_PLAYLIST), props.get('stream-playlist', self.DEFAULT_STREAM_PLAYLIST), props.get('stream-bitrate', self.DEFAULT_STREAM_BITRATE), self.description, props.get('fragment-prefix', self.DEFAULT_FRAGMENT_PREFIX), props.get('new-fragment-tolerance', 0), props.get('max-window', self.DEFAULT_MAX_WINDOW), props.get('max-extra-buffers', None), props.get('key-rotation', 0), props.get('keys-uri', None)) # Call the base class after initializing the ring and getting # the secret key and the session timeout FragmentedStreamer.configure_pipeline(self, pipeline, props) self.hls_url = props.get('hls-url', None) if self.hls_url: if not self.hls_url.endswith('/'): self.hls_url += '/' if self.mountPoint.startswith('/'): mp = self.mountPoint[1:] else: mp = self.mountPoint self.hls_url = urlparse.urljoin(self.hls_url, mp) else: self.hls_url = self.getUrl() self.hlsring.setHostname(self.hls_url) self.soft_restart()
def _connect_sink_signals(self): FragmentedStreamer._connect_sink_signals(self) self.sink.connect("new-fragment", self._new_fragment)