From 83fbc8ea221f57cec665ff9e28aeed7279e4a46e Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 15 Aug 2010 03:03:32 +0200 Subject: [PATCH] Start preprations for supporting switching between sources --- mopidy/outputs/gstreamer.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/mopidy/outputs/gstreamer.py b/mopidy/outputs/gstreamer.py index 0b694aaf..aedc0eaa 100644 --- a/mopidy/outputs/gstreamer.py +++ b/mopidy/outputs/gstreamer.py @@ -47,6 +47,7 @@ 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() @@ -63,23 +64,15 @@ class GStreamerProcess(BaseProcess): messages_thread.start() self.gst_pipeline = gst.parse_launch(' ! '.join([ - 'multiqueue name=queue', 'volume name=volume', 'alsasink' ])) + self.gst_target = self.gst_pipeline.get_by_name('volume') + decode_bin = gst.element_factory_make('uridecodebin', 'uri') decode_bin.connect('pad-added', self.process_new_pad) - app_src = gst.element_factory_make('appsrc', 'src') - queue = self.gst_pipeline.get_by_name('queue') - self.gst_pipeline.add(decode_bin) - self.gst_pipeline.add(app_src) - - self.gst_uri_pad = queue.get_request_pad('sink0') - self.gst_src_pad = queue.get_request_pad('sink1') - - app_src.get_pad('src').link(self.gst_src_pad) # Setup bus and message processor gst_bus = self.gst_pipeline.get_bus() @@ -87,7 +80,7 @@ class GStreamerProcess(BaseProcess): gst_bus.connect('message', self.process_gst_message) def process_new_pad(self, source, pad): - pad.link(self.gst_uri_pad) + pad.link(self.gst_target.get_pad('sink')) def process_mopidy_message(self, message): """Process messages from the rest of Mopidy."""