serializers: added BaseSerializer
This commit is contained in:
@@ -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
|
|
||||||
20
src/pipecat/serializers/base_serializer.py
Normal file
20
src/pipecat/serializers/base_serializer.py
Normal file
@@ -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
|
||||||
@@ -1,14 +1,20 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2024, Daily
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: BSD 2-Clause License
|
||||||
|
#
|
||||||
|
|
||||||
import dataclasses
|
import dataclasses
|
||||||
from typing import Text
|
|
||||||
from pipecat.pipeline.frames import AudioFrame, Frame, TextFrame, TranscriptionFrame
|
import pipecat.frames.protobufs.frames_pb2 as frame_protos
|
||||||
import pipecat.pipeline.protobufs.frames_pb2 as frame_protos
|
from pipecat.frames.frames import AudioRawFrame, Frame, TextFrame, TranscriptionFrame
|
||||||
from pipecat.serializers.abstract_frame_serializer import FrameSerializer
|
from pipecat.serializers.base_serializer import FrameSerializer
|
||||||
|
|
||||||
|
|
||||||
class ProtobufFrameSerializer(FrameSerializer):
|
class ProtobufFrameSerializer(FrameSerializer):
|
||||||
SERIALIZABLE_TYPES = {
|
SERIALIZABLE_TYPES = {
|
||||||
TextFrame: "text",
|
TextFrame: "text",
|
||||||
AudioFrame: "audio",
|
AudioRawFrame: "audio",
|
||||||
TranscriptionFrame: "transcription"
|
TranscriptionFrame: "transcription"
|
||||||
}
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user