Source code for rv.modules.vorbisplayer

from struct import pack

from rv.modules import Behavior as B
from rv.modules import Module
from rv.modules.base.vorbisplayer import BaseVorbisPlayer


[docs]class VorbisPlayer(BaseVorbisPlayer, Module): chnk = 1 behaviors = {B.sends_audio} data = None def __init__(self, **kwargs): data = kwargs.pop("data", None) super(VorbisPlayer, self).__init__(**kwargs) self.data = data def specialized_iff_chunks(self): yield b"CHNM", pack("<I", 0) yield b"CHDT", self.data or b"" yield from super(VorbisPlayer, self).specialized_iff_chunks() def load_chunk(self, chunk): if chunk.chnm == 0: self.data = chunk.chdt