PEP 8 conform import, fix error for non existing URL source
This commit is contained in:
parent
cbbce71d53
commit
42c2e3ae6b
38
ffplayout.py
38
ffplayout.py
@ -44,6 +44,15 @@ from threading import Thread
|
|||||||
from types import SimpleNamespace
|
from types import SimpleNamespace
|
||||||
from urllib import request
|
from urllib import request
|
||||||
|
|
||||||
|
try:
|
||||||
|
import colorama
|
||||||
|
|
||||||
|
from watchdog.events import PatternMatchingEventHandler
|
||||||
|
from watchdog.observers import Observer
|
||||||
|
|
||||||
|
colorama.init()
|
||||||
|
except ImportError:
|
||||||
|
print('some modules are not installed, ffplayout may or may not work')
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# argument parsing
|
# argument parsing
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -394,7 +403,14 @@ class MediaProbe:
|
|||||||
cmd = ['ffprobe', '-v', 'quiet', '-print_format',
|
cmd = ['ffprobe', '-v', 'quiet', '-print_format',
|
||||||
'json', '-show_format', '-show_streams', self.src]
|
'json', '-show_format', '-show_streams', self.src]
|
||||||
|
|
||||||
info = json.loads(check_output(cmd).decode(encoding='UTF-8'))
|
try:
|
||||||
|
info = json.loads(check_output(cmd).decode('UTF-8'))
|
||||||
|
except CalledProcessError:
|
||||||
|
messenger.error('MediaProbe error in: {}'.format(self.src))
|
||||||
|
self.audio.append(None)
|
||||||
|
self.video.append(None)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
self.format = info['format']
|
self.format = info['format']
|
||||||
|
|
||||||
@ -706,13 +722,19 @@ def src_or_dummy(src, dur, seek, out):
|
|||||||
when source path exist, generate input with seek and out time
|
when source path exist, generate input with seek and out time
|
||||||
when path not exist, generate dummy clip
|
when path not exist, generate dummy clip
|
||||||
"""
|
"""
|
||||||
prefix = src.split('://')[0]
|
|
||||||
|
|
||||||
# check if input is a live source
|
# check if input is a live source
|
||||||
if src and prefix in _pre_comp.protocols or os.path.isfile(src):
|
if src and src.split('://')[0] in _pre_comp.protocols:
|
||||||
|
if seek > 0.0:
|
||||||
|
messenger.warning(
|
||||||
|
'seek in live source "{}" not supported!'.format(src))
|
||||||
|
return ['-i', src] + set_length(dur, seek, out)
|
||||||
|
elif src and os.path.isfile(src):
|
||||||
if out > dur:
|
if out > dur:
|
||||||
if seek > 0.0:
|
if seek > 0.0:
|
||||||
return seek_in(seek) + ['-i', src] + set_length(dur, seek, dur)
|
messenger.warning(
|
||||||
|
'seek in looped source "{}" not supported!'.format(src))
|
||||||
|
return ['-i', src] + set_length(dur, seek, out - seek)
|
||||||
else:
|
else:
|
||||||
# FIXME: when list starts with looped clip,
|
# FIXME: when list starts with looped clip,
|
||||||
# the logo length will be wrong
|
# the logo length will be wrong
|
||||||
@ -720,7 +742,7 @@ def src_or_dummy(src, dur, seek, out):
|
|||||||
else:
|
else:
|
||||||
return seek_in(seek) + ['-i', src] + set_length(dur, seek, out)
|
return seek_in(seek) + ['-i', src] + set_length(dur, seek, out)
|
||||||
else:
|
else:
|
||||||
messenger.error('Clip not exist:\n{}'.format(src))
|
messenger.error('clip/URL not exist:\n{}'.format(src))
|
||||||
return gen_dummy(out - seek)
|
return gen_dummy(out - seek)
|
||||||
|
|
||||||
|
|
||||||
@ -1267,7 +1289,7 @@ class GetSourceIter:
|
|||||||
output = None
|
output = None
|
||||||
|
|
||||||
if not output:
|
if not output:
|
||||||
messenger.error('Clip not exist:\n{}'.format(self.src))
|
messenger.error('URL not exist:\n{}'.format(self.src))
|
||||||
self.src = None
|
self.src = None
|
||||||
elif is_float(output):
|
elif is_float(output):
|
||||||
self.duration = float(output)
|
self.duration = float(output)
|
||||||
@ -1549,8 +1571,4 @@ def main():
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
if not _playlist.mode or stdin_args.folder:
|
|
||||||
from watchdog.events import PatternMatchingEventHandler
|
|
||||||
from watchdog.observers import Observer
|
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user