From 5d2f062afa8bc5f7b985cf317ba1e278312b25db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Wed, 29 May 2024 10:36:05 -0700 Subject: [PATCH] serializers: added BaseSerializer --- .../serializers/abstract_frame_serializer.py | 16 --------------- src/pipecat/serializers/base_serializer.py | 20 +++++++++++++++++++ .../{protobuf_serializer.py => protobuf.py} | 16 ++++++++++----- 3 files changed, 31 insertions(+), 21 deletions(-) delete mode 100644 src/pipecat/serializers/abstract_frame_serializer.py create mode 100644 src/pipecat/serializers/base_serializer.py rename src/pipecat/serializers/{protobuf_serializer.py => protobuf.py} (88%) diff --git a/src/pipecat/serializers/abstract_frame_serializer.py b/src/pipecat/serializers/abstract_frame_serializer.py deleted file mode 100644 index 8da0bd11d..000000000 --- a/src/pipecat/serializers/abstract_frame_serializer.py +++ /dev/null @@ -1,16 +0,0 @@ -from abc import abstractmethod - -from pipecat.pipeline.frames import Frame - - -class FrameSerializer: - def __init__(self): - pass - - @abstractmethod - def serialize(self, frame: Frame) -> bytes: - raise NotImplementedError - - @abstractmethod - def deserialize(self, data: bytes) -> Frame: - raise NotImplementedError diff --git a/src/pipecat/serializers/base_serializer.py b/src/pipecat/serializers/base_serializer.py new file mode 100644 index 000000000..c137f873d --- /dev/null +++ b/src/pipecat/serializers/base_serializer.py @@ -0,0 +1,20 @@ +# +# Copyright (c) 2024, Daily +# +# SPDX-License-Identifier: BSD 2-Clause License +# + +from abc import ABC, abstractmethod + +from pipecat.frames.frames import Frame + + +class FrameSerializer(ABC): + + @abstractmethod + def serialize(self, frame: Frame) -> bytes: + pass + + @abstractmethod + def deserialize(self, data: bytes) -> Frame: + pass diff --git a/src/pipecat/serializers/protobuf_serializer.py b/src/pipecat/serializers/protobuf.py similarity index 88% rename from src/pipecat/serializers/protobuf_serializer.py rename to src/pipecat/serializers/protobuf.py index 04b348b86..24c484b7c 100644 --- a/src/pipecat/serializers/protobuf_serializer.py +++ b/src/pipecat/serializers/protobuf.py @@ -1,14 +1,20 @@ +# +# Copyright (c) 2024, Daily +# +# SPDX-License-Identifier: BSD 2-Clause License +# + import dataclasses -from typing import Text -from pipecat.pipeline.frames import AudioFrame, Frame, TextFrame, TranscriptionFrame -import pipecat.pipeline.protobufs.frames_pb2 as frame_protos -from pipecat.serializers.abstract_frame_serializer import FrameSerializer + +import pipecat.frames.protobufs.frames_pb2 as frame_protos +from pipecat.frames.frames import AudioRawFrame, Frame, TextFrame, TranscriptionFrame +from pipecat.serializers.base_serializer import FrameSerializer class ProtobufFrameSerializer(FrameSerializer): SERIALIZABLE_TYPES = { TextFrame: "text", - AudioFrame: "audio", + AudioRawFrame: "audio", TranscriptionFrame: "transcription" }