Ignoring RTVI messages inside TwilioSerializer by default.
This commit is contained in:
@@ -27,6 +27,7 @@ from pipecat.frames.frames import (
|
|||||||
OutputTransportMessageUrgentFrame,
|
OutputTransportMessageUrgentFrame,
|
||||||
StartFrame,
|
StartFrame,
|
||||||
)
|
)
|
||||||
|
from pipecat.processors.frameworks.rtvi import RTVI_MESSAGE_LABEL
|
||||||
from pipecat.serializers.base_serializer import FrameSerializer
|
from pipecat.serializers.base_serializer import FrameSerializer
|
||||||
|
|
||||||
|
|
||||||
@@ -54,6 +55,7 @@ class TwilioFrameSerializer(FrameSerializer):
|
|||||||
twilio_sample_rate: int = 8000
|
twilio_sample_rate: int = 8000
|
||||||
sample_rate: Optional[int] = None
|
sample_rate: Optional[int] = None
|
||||||
auto_hang_up: bool = True
|
auto_hang_up: bool = True
|
||||||
|
ignore_rtvi_messages: Optional[bool] = True
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -167,6 +169,11 @@ class TwilioFrameSerializer(FrameSerializer):
|
|||||||
|
|
||||||
return json.dumps(answer)
|
return json.dumps(answer)
|
||||||
elif isinstance(frame, (OutputTransportMessageFrame, OutputTransportMessageUrgentFrame)):
|
elif isinstance(frame, (OutputTransportMessageFrame, OutputTransportMessageUrgentFrame)):
|
||||||
|
if (
|
||||||
|
self._params.ignore_rtvi_messages
|
||||||
|
and frame.message.get("label") == RTVI_MESSAGE_LABEL
|
||||||
|
):
|
||||||
|
return None
|
||||||
return json.dumps(frame.message)
|
return json.dumps(frame.message)
|
||||||
|
|
||||||
# Return None for unhandled frames
|
# Return None for unhandled frames
|
||||||
|
|||||||
Reference in New Issue
Block a user