mirror of
https://github.com/acgnhiki/blrec.git
synced 2025-03-26 12:04:45 +08:00
refactor: refactor segment_remuxer
This commit is contained in:
parent
f0fa65f269
commit
3519df4fe7
@ -74,8 +74,8 @@ class SegmentRemuxer:
|
||||
self._stream_remuxer.input.write(cached_data)
|
||||
|
||||
self._stream_remuxer.input.write(data.payload)
|
||||
except Exception as exc:
|
||||
logger.warning(f'Failed to write data to stream remuxer: {exc}')
|
||||
except Exception as e:
|
||||
logger.warning(f'Failed to write data to stream remuxer: {repr(e)}')
|
||||
self._stream_remuxer.stop()
|
||||
|
||||
segment_data_cache.append(data.payload)
|
||||
@ -104,14 +104,22 @@ class RemuxedStream(io.RawIOBase):
|
||||
self._offset: int = 0
|
||||
|
||||
def read(self, size: int = -1) -> bytes:
|
||||
if self._stream_remuxer.stopped:
|
||||
ready = self._stream_remuxer.wait(timeout=self._read_timmeout)
|
||||
if not ready:
|
||||
logger.debug(
|
||||
f'Stream remuxer not ready in {self._read_timmeout} seconds'
|
||||
)
|
||||
raise EOFError
|
||||
|
||||
try:
|
||||
data = wait_for(
|
||||
self._stream_remuxer.output.read,
|
||||
args=(size,),
|
||||
timeout=self._read_timmeout,
|
||||
)
|
||||
except Exception as exc:
|
||||
logger.warning(f'Failed to read data from stream remuxer: {exc}')
|
||||
except Exception as e:
|
||||
logger.warning(f'Failed to read data from stream remuxer: {repr(e)}')
|
||||
self._stream_remuxer.stop()
|
||||
raise EOFError
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user