def __init__(self, config, mixer): super(Audio, self).__init__() self._config = config self._target_state = Gst.State.NULL self._buffering = False self._tags = {} self._pending_uri = None self._playbin = None self._outputs = None self._queue = None self._about_to_finish_callback = None self._handler = _Handler(self) self._appsrc = _Appsrc() self._signals = utils.Signals() if mixer and self._config['audio']['mixer'] == 'software': self.mixer = SoftwareMixer(mixer)
def _setup_pipeline(uri, proxy_config=None): src = Gst.Element.make_from_uri(Gst.URIType.SRC, uri) if not src: raise exceptions.ScannerError('GStreamer can not open: %s' % uri) if proxy_config: utils.setup_proxy(src, proxy_config) signals = utils.Signals() pipeline = Gst.ElementFactory.make('pipeline') pipeline.add(src) if _has_src_pads(src): _setup_decodebin(src, src.get_static_pad('src'), pipeline, signals) elif _has_dynamic_src_pad(src): signals.connect(src, 'pad-added', _setup_decodebin, pipeline, signals) else: raise exceptions.ScannerError('No pads found in source element.') return pipeline, signals
def _setup_pipeline(uri, proxy_config=None): src = Gst.Element.make_from_uri(Gst.URIType.SRC, uri) if not src: raise exceptions.ScannerError('GStreamer can not open: %s' % uri) typefind = Gst.ElementFactory.make('typefind') decodebin = Gst.ElementFactory.make('decodebin') pipeline = Gst.ElementFactory.make('pipeline') for e in (src, typefind, decodebin): pipeline.add(e) src.link(typefind) typefind.link(decodebin) if proxy_config: utils.setup_proxy(src, proxy_config) signals = utils.Signals() signals.connect(typefind, 'have-type', _have_type, decodebin) signals.connect(decodebin, 'pad-added', _pad_added, pipeline) signals.connect(decodebin, 'autoplug-select', _autoplug_select) return pipeline, signals
def __init__(self, config, mixer): super().__init__() self._config = config self._target_state = Gst.State.NULL self._buffering = False self._live_stream = False self._tags = {} self._pending_uri = None self._pending_tags = None self._pending_metadata = None self._playbin = None self._outputs = None self._queue = None self._about_to_finish_callback = None self._handler = _Handler(self) self._appsrc = _Appsrc() self._signals = utils.Signals() if mixer and self._config["audio"]["mixer"] == "software": self.mixer = pykka.traversable(SoftwareMixer(mixer))
def __init__(self): self._signals = utils.Signals() self.reset()
def __init__(self, mixer): self._mixer = mixer self._element = None self._last_volume = None self._last_mute = None self._signals = utils.Signals()