self.relay.set_url(self.url)
self.relay.open()
self.relay.start()
- self.queue = self.relay.queue
def stop_relay(self):
self.relay.close()
def relay_read(self):
"""Read a distant media through its URL"""
while True:
- self.sub_chunk = self.queue.get(self.sub_buffer_size)
+ self.sub_chunk = self.relay.queue.get(self.sub_buffer_size)
if not self.sub_chunk:
break
yield self.sub_chunk
- self.queue.task_done()
+ self.relay.queue.task_done()
self.sub_chunk = 0
def open(self, filename):
self.filename = filename
- self.media = open(self.path + os.sep + self.filename, 'w')
+ self.media = open(self.path + os.sep + self.filename, 'wb')
def write(self, chunk):
try:
if self.isopen:
self.chunk = self.stream.read(self.sub_buffer_size)
self.queue.put_nowait(self.chunk)
-# print self.queue.qsize()
+ # print(self.queue.qsize())
else:
if self.stream:
self.stream.close()
try:
# Send the chunk to the stream
self.channel.send(self.chunk)
- self.channel.sync()
self.is_alive = True
except:
self._err('could not send the buffer')
self.channel.set_metadata({'song': self.song, 'charset': 'utf8', })
self._info('channel restarted')
self.channel.send(self.chunk)
- self.channel.sync()
self.is_alive = True
except:
self._err('could not send data after restarting the channel')