示例#1
0
    def _on_source_setup(self, element, source):
        gst_logger.debug('Got source-setup: element=%s', source)

        if source.get_factory().get_name() == 'appsrc':
            self._appsrc.configure(source)
        else:
            self._appsrc.reset()

        utils.setup_proxy(source, self._config['proxy'])
示例#2
0
    def _on_source_setup(self, element, source):
        gst_logger.debug('Got source-setup: element=%s', source)

        if source.get_factory().get_name() == 'appsrc':
            self._appsrc.configure(source)
        else:
            self._appsrc.reset()

        utils.setup_proxy(source, self._config['proxy'])
示例#3
0
    def _on_source_setup(self, element, source):
        gst_logger.debug("Got source-setup signal: element=%s",
                         source.__class__.__name__)

        if source.get_factory().get_name() == "appsrc":
            self._appsrc.configure(source)
        else:
            self._appsrc.reset()

        if self._live_stream and hasattr(source.props, "is_live"):
            gst_logger.debug("Enabling live stream mode")
            source.set_live(True)

        utils.setup_proxy(source, self._config["proxy"])
示例#4
0
文件: scan.py 项目: tylerball/mopidy
def _setup_pipeline(uri, proxy_config=None):
    src = gst.element_make_from_uri(gst.URI_SRC, uri)
    if not src:
        raise exceptions.ScannerError("GStreamer can not open: %s" % uri)

    typefind = gst.element_factory_make("typefind")
    decodebin = gst.element_factory_make("decodebin2")

    pipeline = gst.element_factory_make("pipeline")
    pipeline.add_many(src, typefind, decodebin)
    gst.element_link_many(src, typefind, decodebin)

    if proxy_config:
        utils.setup_proxy(src, proxy_config)

    typefind.connect("have-type", _have_type, decodebin)
    decodebin.connect("pad-added", _pad_added, pipeline)

    return pipeline
示例#5
0
def _setup_pipeline(uri, proxy_config=None):
    src = gst.element_make_from_uri(gst.URI_SRC, uri)
    if not src:
        raise exceptions.ScannerError('GStreamer can not open: %s' % uri)

    typefind = gst.element_factory_make('typefind')
    decodebin = gst.element_factory_make('decodebin2')

    pipeline = gst.element_factory_make('pipeline')
    pipeline.add_many(src, typefind, decodebin)
    gst.element_link_many(src, typefind, decodebin)

    if proxy_config:
        utils.setup_proxy(src, proxy_config)

    typefind.connect('have-type', _have_type, decodebin)
    decodebin.connect('pad-added', _pad_added, pipeline)

    return pipeline
示例#6
0
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
示例#7
0
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
示例#8
0
文件: scan.py 项目: bencevans/mopidy
def _setup_pipeline(uri, proxy_config=None):
    src = gst.element_make_from_uri(gst.URI_SRC, uri)
    if not src:
        raise exceptions.ScannerError('GStreamer can not open: %s' % uri)

    typefind = gst.element_factory_make('typefind')
    decodebin = gst.element_factory_make('decodebin2')

    pipeline = gst.element_factory_make('pipeline')
    for e in (src, typefind, decodebin):
        pipeline.add(e)
    gst.element_link_many(src, typefind, decodebin)

    if proxy_config:
        utils.setup_proxy(src, proxy_config)

    typefind.connect('have-type', _have_type, decodebin)
    decodebin.connect('pad-added', _pad_added, pipeline)

    return pipeline
示例#9
0
文件: scan.py 项目: connrs/mopidy
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
示例#10
0
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