DailyTransport: trigger "on_error" if transcription fails to start/stop
This commit is contained in:
@@ -145,6 +145,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
- `DailyTransport` triggers `on_error` event if transcription can't be started
|
||||||
|
or stopped.
|
||||||
|
|
||||||
- `DailyTransport` updates: `start_dialout()` now returns two values:
|
- `DailyTransport` updates: `start_dialout()` now returns two values:
|
||||||
`session_id` and `error`. `start_recording()` now returns two values:
|
`session_id` and `error`. `start_recording()` now returns two values:
|
||||||
`stream_id` and `error`.
|
`stream_id` and `error`.
|
||||||
|
|||||||
@@ -2479,7 +2479,11 @@ class DailyTransport(BaseTransport):
|
|||||||
async def _on_joined(self, data):
|
async def _on_joined(self, data):
|
||||||
"""Handle room joined events."""
|
"""Handle room joined events."""
|
||||||
if self._params.transcription_enabled:
|
if self._params.transcription_enabled:
|
||||||
await self.start_transcription(self._params.transcription_settings)
|
# We report an error because we are starting transcription
|
||||||
|
# internally and if it fails we need to know.
|
||||||
|
error = await self.start_transcription(self._params.transcription_settings)
|
||||||
|
if error:
|
||||||
|
await self._on_error(f"Unable to start transcription: {error}")
|
||||||
await self._call_event_handler("on_joined", data)
|
await self._call_event_handler("on_joined", data)
|
||||||
|
|
||||||
async def _on_left(self):
|
async def _on_left(self):
|
||||||
@@ -2489,7 +2493,11 @@ class DailyTransport(BaseTransport):
|
|||||||
async def _on_before_leave(self):
|
async def _on_before_leave(self):
|
||||||
"""Handle before leave room events."""
|
"""Handle before leave room events."""
|
||||||
if self._params.transcription_enabled:
|
if self._params.transcription_enabled:
|
||||||
await self.stop_transcription()
|
# We report an error because we are stopping transcription
|
||||||
|
# internally and if it fails we need to know.
|
||||||
|
error = await self.stop_transcription()
|
||||||
|
if error:
|
||||||
|
await self._on_error(f"Unable to stop transcription: {error}")
|
||||||
await self._call_event_handler("on_before_leave")
|
await self._call_event_handler("on_before_leave")
|
||||||
|
|
||||||
async def _on_error(self, error):
|
async def _on_error(self, error):
|
||||||
|
|||||||
Reference in New Issue
Block a user