From d046974aaf520af38ea8475055f2a239f8fee90c Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 1 Sep 2015 23:58:48 +0200 Subject: [PATCH] gst1: Remove IcySrc It was a workaround for icy:// support on GStreamer 0.10. --- mopidy/audio/actor.py | 4 +-- mopidy/audio/icy.py | 63 ------------------------------------------- 2 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 mopidy/audio/icy.py diff --git a/mopidy/audio/actor.py b/mopidy/audio/actor.py index b8b3d9a4..9645c4af 100644 --- a/mopidy/audio/actor.py +++ b/mopidy/audio/actor.py @@ -14,7 +14,7 @@ import gst.pbutils # noqa import pykka from mopidy import exceptions -from mopidy.audio import icy, utils +from mopidy.audio import utils from mopidy.audio.constants import PlaybackState from mopidy.audio.listener import AudioListener from mopidy.internal import deprecation, process @@ -27,8 +27,6 @@ logger = logging.getLogger(__name__) # set_state on a pipeline. gst_logger = logging.getLogger('mopidy.audio.gst') -icy.register() - _GST_STATE_MAPPING = { gst.STATE_PLAYING: PlaybackState.PLAYING, gst.STATE_PAUSED: PlaybackState.PAUSED, diff --git a/mopidy/audio/icy.py b/mopidy/audio/icy.py deleted file mode 100644 index dd59baae..00000000 --- a/mopidy/audio/icy.py +++ /dev/null @@ -1,63 +0,0 @@ -from __future__ import absolute_import, unicode_literals - -import gobject - -import pygst -pygst.require('0.10') -import gst # noqa - - -class IcySrc(gst.Bin, gst.URIHandler): - __gstdetails__ = ('IcySrc', - 'Src', - 'HTTP src wrapper for icy:// support.', - 'Mopidy') - - srcpad_template = gst.PadTemplate( - 'src', gst.PAD_SRC, gst.PAD_ALWAYS, - gst.caps_new_any()) - - __gsttemplates__ = (srcpad_template,) - - def __init__(self): - super(IcySrc, self).__init__() - self._httpsrc = gst.element_make_from_uri(gst.URI_SRC, 'http://') - try: - self._httpsrc.set_property('iradio-mode', True) - except TypeError: - pass - self.add(self._httpsrc) - - self._srcpad = gst.GhostPad('src', self._httpsrc.get_pad('src')) - self.add_pad(self._srcpad) - - @classmethod - def do_get_type_full(cls): - return gst.URI_SRC - - @classmethod - def do_get_protocols_full(cls): - return [b'icy', b'icyx'] - - def do_set_uri(self, uri): - if uri.startswith('icy://'): - return self._httpsrc.set_uri(b'http://' + uri[len('icy://'):]) - elif uri.startswith('icyx://'): - return self._httpsrc.set_uri(b'https://' + uri[len('icyx://'):]) - else: - return False - - def do_get_uri(self): - uri = self._httpsrc.get_uri() - if uri.startswith('http://'): - return b'icy://' + uri[len('http://'):] - else: - return b'icyx://' + uri[len('https://'):] - - -def register(): - # Only register icy if gst install can't handle it on it's own. - if not gst.element_make_from_uri(gst.URI_SRC, 'icy://'): - gobject.type_register(IcySrc) - gst.element_register( - IcySrc, IcySrc.__name__.lower(), gst.RANK_MARGINAL)