diff --git a/drb-edge-node/app/internal/call_recorder.py b/drb-edge-node/app/internal/call_recorder.py index 9443af2..b6ca2c2 100644 --- a/drb-edge-node/app/internal/call_recorder.py +++ b/drb-edge-node/app/internal/call_recorder.py @@ -47,14 +47,14 @@ class CallRecorder: stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, ) - - # Quick check if it died immediately (e.g. Pulse source not found) - await asyncio.sleep(0.5) + + # Brief check for an immediate crash (e.g. ffmpeg binary missing) + await asyncio.sleep(0.1) if self._process.returncode is not None: _, stderr = await self._process.communicate() logger.error(f"FFmpeg exited immediately ({self._process.returncode}): {stderr.decode()}") return False - + logger.info(f"Recording process started: {self._current_file.name}") return True except Exception as e: diff --git a/drb-edge-node/app/main.py b/drb-edge-node/app/main.py index 003f3ce..5fb7053 100644 --- a/drb-edge-node/app/main.py +++ b/drb-edge-node/app/main.py @@ -44,7 +44,7 @@ async def on_call_end(data: dict): else: logger.error(f"Audio upload failed for call {data['call_id']}. Verify C2_URL and Node API Key.") else: - logger.warning(f"No recording file generated for call {data['call_id']}. Is PulseAudio working?") + logger.warning(f"No recording file generated for call {data['call_id']} — call may have been too short or Icecast unreachable.") await mqtt_manager.publish_metadata("call_end", data) await mqtt_manager.publish_status("online")