frames: indicate if UserStartedSpeakingFrame/UserStoppedSpeakingFrame are emulated

This commit is contained in:
Aleix Conchillo Flaqué
2025-03-26 14:37:36 -07:00
parent 86701fd3c7
commit c4f9171fe1
3 changed files with 14 additions and 6 deletions

View File

@@ -562,14 +562,14 @@ class UserStartedSpeakingFrame(SystemFrame):
"""
pass
emulated: bool = False
@dataclass
class UserStoppedSpeakingFrame(SystemFrame):
"""Emitted by the VAD to indicate that a user stopped speaking."""
pass
emulated: bool = False
@dataclass

View File

@@ -117,10 +117,10 @@ class BaseInputTransport(FrameProcessor):
await self._handle_bot_interruption(frame)
elif isinstance(frame, EmulateUserStartedSpeakingFrame):
logger.debug("Emulating user started speaking")
await self._handle_user_interruption(UserStartedSpeakingFrame())
await self._handle_user_interruption(UserStartedSpeakingFrame(emulated=True))
elif isinstance(frame, EmulateUserStoppedSpeakingFrame):
logger.debug("Emulating user stopped speaking")
await self._handle_user_interruption(UserStoppedSpeakingFrame())
await self._handle_user_interruption(UserStoppedSpeakingFrame(emulated=True))
# All other system frames
elif isinstance(frame, SystemFrame):
await self.push_frame(frame, direction)