very nice
This commit is contained in:
@@ -23,7 +23,8 @@ class StreamLifecycle:
|
||||
|
||||
def __init__(self, *, timeline, waveform_engine, transcriber,
|
||||
on_new_frames, on_waveform_update, on_transcript_ready,
|
||||
on_scene_marker, on_recorder_restarted):
|
||||
on_scene_marker, on_recorder_restarted,
|
||||
on_manifest_updated=None):
|
||||
self._timeline = timeline
|
||||
self._waveform_engine = waveform_engine
|
||||
self._transcriber = transcriber
|
||||
@@ -34,6 +35,7 @@ class StreamLifecycle:
|
||||
self._on_transcript_ready = on_transcript_ready
|
||||
self._on_scene_marker = on_scene_marker
|
||||
self._on_recorder_restarted = on_recorder_restarted
|
||||
self._on_manifest_updated = on_manifest_updated
|
||||
|
||||
# State
|
||||
self._streaming = False
|
||||
@@ -196,4 +198,11 @@ class StreamLifecycle:
|
||||
log.warning("Recorder died — restarting into new segment")
|
||||
self._stream_mgr.restart_recorder()
|
||||
self._on_recorder_restarted(self._stream_mgr.recording_path)
|
||||
# Rebuild manifest with the newly completed segment
|
||||
try:
|
||||
rebuild_manifest(self._stream_mgr.session_dir)
|
||||
except Exception as e:
|
||||
log.error("Manifest rebuild failed: %s", e)
|
||||
if self._on_manifest_updated:
|
||||
GLib.idle_add(self._on_manifest_updated)
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user