From 151d5db56684159cd37f4d3fe7b244669787114c Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Tue, 17 Aug 2010 01:32:06 +0200 Subject: [PATCH] Setup output based on which backend we are running --- mopidy/outputs/gstreamer.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/mopidy/outputs/gstreamer.py b/mopidy/outputs/gstreamer.py index aedc0eaa..ff732448 100644 --- a/mopidy/outputs/gstreamer.py +++ b/mopidy/outputs/gstreamer.py @@ -8,6 +8,7 @@ import gst import logging import threading +from mopidy import settings from mopidy.process import BaseProcess, unpickle_connection logger = logging.getLogger('mopidy.outputs.gstreamer') @@ -47,7 +48,6 @@ class GStreamerProcess(BaseProcess): self.core_queue = core_queue self.output_queue = output_queue self.gst_pipeline = None - self.gst_target = None def run_inside_try(self): self.setup() @@ -68,19 +68,24 @@ class GStreamerProcess(BaseProcess): 'alsasink' ])) - self.gst_target = self.gst_pipeline.get_by_name('volume') + pad = self.gst_pipeline.get_by_name('volume').get_pad('sink') - decode_bin = gst.element_factory_make('uridecodebin', 'uri') - decode_bin.connect('pad-added', self.process_new_pad) - self.gst_pipeline.add(decode_bin) + if settings.BACKENDS[0] == 'mopidy.backends.local.LocalBackend': + uri_bin = gst.element_factory_make('uridecodebin', 'uri') + uri_bin.connect('pad-added', self.process_new_pad, pad) + self.gst_pipeline.add(uri_bin) + else: + app_src = gst.element_factory_make('appsrc', 'src') + self.gst_pipeline.add(app_src) + app_src.get_pad('src').link(pad) # Setup bus and message processor gst_bus = self.gst_pipeline.get_bus() gst_bus.add_signal_watch() gst_bus.connect('message', self.process_gst_message) - def process_new_pad(self, source, pad): - pad.link(self.gst_target.get_pad('sink')) + def process_new_pad(self, source, pad, target_pad): + pad.link(target_pad) def process_mopidy_message(self, message): """Process messages from the rest of Mopidy."""