Instantiate GStreamerOutput. Create a pipe from CoreProcess and Backend to GStreamerOutput.

This commit is contained in:
Stein Magnus Jodal 2010-08-11 22:58:42 +02:00
parent 1e2dd6f46c
commit c81a1162a8

View File

@ -37,6 +37,8 @@ class CoreProcess(BaseProcess):
def __init__(self, core_queue):
super(CoreProcess, self).__init__()
self.core_queue = core_queue
self.output_connection = None
self.output = None
self.backend = None
self.frontend = None
@ -47,12 +49,15 @@ class CoreProcess(BaseProcess):
self.process_message(message)
def setup(self):
self.backend = get_class(settings.BACKENDS[0])(
core_queue=self.core_queue)
self.frontend = get_class(settings.FRONTEND)(backend=self.backend)
(recv_end, self.output_connection) = multiprocessing.Pipe(False)
self.output = get_class(settings.OUTPUT)(self.core_queue, recv_end)
self.backend = get_class(settings.BACKENDS[0])(self.core_queue)
self.frontend = get_class(settings.FRONTEND)(self.backend)
def process_message(self, message):
if message['command'] == 'mpd_request':
if message.get('to') == 'output':
self.output_connection.send(message)
elif message['command'] == 'mpd_request':
response = self.frontend.handle_request(message['request'])
connection = unpickle_connection(message['reply_to'])
connection.send(response)