More precise debug messages when segment generator exits
このコミットが含まれているのは:
コミット
dab389abcc
|
@ -76,10 +76,14 @@ def get_next_segment(uri):
|
||||||
segment = None
|
segment = None
|
||||||
return segment
|
return segment
|
||||||
|
|
||||||
async def get_segment_uris():
|
async def get_segment_uris(token):
|
||||||
try:
|
try:
|
||||||
segment = get_starting_segment()
|
segment = get_starting_segment()
|
||||||
except Offline:
|
except Offline:
|
||||||
|
print(
|
||||||
|
f'[debug @ {time.time():.3f}: {token=}] '
|
||||||
|
f'stream went offline before we could find any segments'
|
||||||
|
)
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
yield segment.init_section.uri
|
yield segment.init_section.uri
|
||||||
|
@ -92,12 +96,22 @@ async def get_segment_uris():
|
||||||
try:
|
try:
|
||||||
next_segment = get_next_segment(segment.uri)
|
next_segment = get_next_segment(segment.uri)
|
||||||
except Offline:
|
except Offline:
|
||||||
|
print(
|
||||||
|
f'[debug @ {time.time():.3f}: {token=}] '
|
||||||
|
f'stream went offline while looking for the segment '
|
||||||
|
f'following {uri=}'
|
||||||
|
)
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if next_segment is not None:
|
if next_segment is not None:
|
||||||
segment = next_segment
|
segment = next_segment
|
||||||
break
|
break
|
||||||
elif time.monotonic() - t0 >= CONFIG['SEGMENT_SEARCH_TIMEOUT']:
|
elif time.monotonic() - t0 >= CONFIG['SEGMENT_SEARCH_TIMEOUT']:
|
||||||
|
print(
|
||||||
|
f'[debug @ {time.time():.3f}: {token=}] '
|
||||||
|
f'timed out looking for the segment following {uri=}'
|
||||||
|
f'(timeout={CONFIG["SEGMENT_SEARCH_TIMEOUT"]}s)'
|
||||||
|
)
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
await asyncio.sleep(CONFIG['SEGMENT_SEARCH_COOLDOWN'])
|
await asyncio.sleep(CONFIG['SEGMENT_SEARCH_COOLDOWN'])
|
||||||
|
@ -112,8 +126,7 @@ def path_for(uri):
|
||||||
|
|
||||||
async def segments(segment_read_hook=lambda uri: None, token=None):
|
async def segments(segment_read_hook=lambda uri: None, token=None):
|
||||||
print(f'[debug @ {time.time():.3f}: {token=}] entering segment generator')
|
print(f'[debug @ {time.time():.3f}: {token=}] entering segment generator')
|
||||||
uri = None
|
async for uri in get_segment_uris(token):
|
||||||
async for uri in get_segment_uris():
|
|
||||||
#print(f'[debug @ {time.time():.3f}: {token=}] {uri=}')
|
#print(f'[debug @ {time.time():.3f}: {token=}] {uri=}')
|
||||||
try:
|
try:
|
||||||
path = path_for(uri)
|
path = path_for(uri)
|
||||||
|
@ -136,10 +149,4 @@ async def segments(segment_read_hook=lambda uri: None, token=None):
|
||||||
f'segment {uri=} at {path=} unexpectedly does not exist'
|
f'segment {uri=} at {path=} unexpectedly does not exist'
|
||||||
)
|
)
|
||||||
break
|
break
|
||||||
else:
|
|
||||||
print(
|
|
||||||
f'[debug @ {time.time():.3f}: {token=}] '
|
|
||||||
f'could not find segment following {uri=} after at least '
|
|
||||||
f'{CONFIG["SEGMENT_SEARCH_TIMEOUT"]} seconds'
|
|
||||||
)
|
|
||||||
print(f'[debug @ {time.time():.3f}: {token=}] exiting segment generator')
|
print(f'[debug @ {time.time():.3f}: {token=}] exiting segment generator')
|
||||||
|
|
読み込み中…
新しいイシューから参照