Merge pull request #1002 from pipecat-ai/mb/add-on-error-callback
Register the on_error handler
This commit is contained in:
@@ -27,6 +27,7 @@ from pipecat.audio.vad.vad_analyzer import VADAnalyzer, VADParams
|
||||
from pipecat.frames.frames import (
|
||||
CancelFrame,
|
||||
EndFrame,
|
||||
ErrorFrame,
|
||||
Frame,
|
||||
InputAudioRawFrame,
|
||||
InterimTranscriptionFrame,
|
||||
@@ -921,6 +922,7 @@ class DailyTransport(BaseTransport):
|
||||
# these handlers.
|
||||
self._register_event_handler("on_joined")
|
||||
self._register_event_handler("on_left")
|
||||
self._register_event_handler("on_error")
|
||||
self._register_event_handler("on_app_message")
|
||||
self._register_event_handler("on_call_state_updated")
|
||||
self._register_event_handler("on_dialin_connected")
|
||||
@@ -1035,9 +1037,17 @@ class DailyTransport(BaseTransport):
|
||||
await self._call_event_handler("on_left")
|
||||
|
||||
async def _on_error(self, error):
|
||||
# TODO(aleix): Report error to input/output transports. The one managing
|
||||
# the client should report the error.
|
||||
pass
|
||||
await self._call_event_handler("on_error", error)
|
||||
# Push error frame to notify the pipeline
|
||||
error_frame = ErrorFrame(error)
|
||||
|
||||
if self._input:
|
||||
await self._input.push_error(error_frame)
|
||||
elif self._output:
|
||||
await self._output.push_error(error_frame)
|
||||
else:
|
||||
logger.error("Both input and output are None while trying to push error")
|
||||
raise RuntimeError("No valid input or output channel to push error")
|
||||
|
||||
async def _on_app_message(self, message: Any, sender: str):
|
||||
if self._input:
|
||||
|
||||
Reference in New Issue
Block a user