30 lines
629 B
Python
30 lines
629 B
Python
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))
|