stream listener backup upstream

This commit is contained in:
zuckerberg 2021-06-08 08:12:12 -04:00
parent 2445bd1e83
commit 8bf430e040
3 changed files with 16 additions and 5 deletions

View File

@ -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__":

View File

@ -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)

View File

@ -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):