diff --git a/radio.py b/radio.py index 843b1c5..b2b40fb 100644 --- a/radio.py +++ b/radio.py @@ -76,8 +76,6 @@ def queue(): return str(list(r.queue.queue)) def run(): - r.addToQueue('https://www.youtube.com/watch?v=BaW_jenozKc') - r.playIfSongAvailable() app.run(host="0.0.0.0") if __name__ == "__main__": diff --git a/stream_listener.py b/stream_listener.py index 0da6d5e..bd9bc9e 100644 --- a/stream_listener.py +++ b/stream_listener.py @@ -11,10 +11,11 @@ from time import sleep # class StreamListener(Thread): - def __init__(self, upstream, downstream): + def __init__(self, upstream, downstream, backupUpstream=None): Thread.__init__(self) self.setUpstream(upstream) self.setDownstream(downstream) + self.setBackupUpstream(backupUpstream) self.quit = False def setUpstream(self, upstream): @@ -23,6 +24,12 @@ class StreamListener(Thread): else: self.stream = None + def setBackupUpstream(self, upstream): + if not upstream is None: + self.backupStream = upstream.getStream() + else: + self.backupStream = None + def setDownstream(self, downstream): self.listener = downstream @@ -44,6 +51,11 @@ class StreamListener(Thread): if not self.stream is None: output = non_block_read(self.stream) if output == None or output == b'': - break + if not self.backupStream is None: + output = non_block_read(self.backupStream) + if output == None or output == b'': + break + else: + break self.listener.write(output) sleep(0.1) \ No newline at end of file diff --git a/uploader.py b/uploader.py index b0740cd..7d85e61 100644 --- a/uploader.py +++ b/uploader.py @@ -2,6 +2,7 @@ import ffmpeg from logger import logger import sys from stream_listener import StreamListener +import nullsrc class Uploader(object): @@ -15,7 +16,7 @@ class Uploader(object): .run_async(pipe_stdin=True, pipe_stderr=True) ) logger.add(self.process.stderr, "uploader.log") - self.listener = StreamListener(None, self) + self.listener = StreamListener(None, self, backupUpstream=nullsrc.NullSrc()) self.listener.start() def reconnect(self):