Adding changelog entry for the Sarvam fixes.

This commit is contained in:
filipi87
2026-03-19 11:17:39 -03:00
parent fd8c6c88bb
commit c4d1b89049
2 changed files with 5 additions and 4 deletions

1
changelog/4082.fixed.md Normal file
View File

@@ -0,0 +1 @@
- Fixed `SarvamTTSService` audio and error frames now route through `append_to_audio_context()` instead of `push_frame()`, ensuring correct behavior with audio contexts and interruptions.

View File

@@ -1156,9 +1156,7 @@ class SarvamTTSService(InterruptibleTTSService):
# Check for interruption before processing audio
await self.stop_ttfb_metrics()
audio = base64.b64decode(msg["data"]["audio"])
frame = TTSAudioRawFrame(
audio, self.sample_rate, 1, context_id=context_id
)
frame = TTSAudioRawFrame(audio, self.sample_rate, 1, context_id=context_id)
await self.append_to_audio_context(context_id, frame)
elif msg.get("type") == "error":
error_msg = msg["data"]["message"]
@@ -1167,7 +1165,9 @@ class SarvamTTSService(InterruptibleTTSService):
# If it's a timeout error, the connection might need to be reset
if "too long" in error_msg.lower() or "timeout" in error_msg.lower():
logger.warning("Connection timeout detected, service may need restart")
await self.append_to_audio_context(context_id, ErrorFrame(error=f"TTS Error: {error_msg}"))
await self.append_to_audio_context(
context_id, ErrorFrame(error=f"TTS Error: {error_msg}")
)
async def _keepalive_task_handler(self):
"""Handle keepalive messages to maintain WebSocket connection."""