import msgpack from source.packets import base class AudioPacket(base.BasePacket): """ Represent a packet of audio data """ def __init__(self, data: bytes, rate: int, channels: int, encoding: int): super().__init__() self.data = data self.rate = rate self.channels = channels self.encoding = encoding def pack(self) -> bytes: return msgpack.packb(( self.data, self.rate, self.channels, self.encoding )) @classmethod def unpack(cls, data: bytes): return cls(*msgpack.unpackb(data))