forked from LeenkxTeam/LNXSDK
29 lines
842 B
Haxe
29 lines
842 B
Haxe
package kha.audio2.ogg.vorbis.data;
|
|
import haxe.io.Input;
|
|
import kha.audio2.ogg.vorbis.VorbisDecodeState;
|
|
|
|
class Mode
|
|
{
|
|
public var blockflag:Bool; // uint8
|
|
public var mapping:Int; // uint8
|
|
public var windowtype:Int; // uint16
|
|
public var transformtype:Int; // uint16
|
|
|
|
public function new() {
|
|
}
|
|
|
|
public static function read(decodeState:VorbisDecodeState) {
|
|
var m = new Mode();
|
|
m.blockflag = (decodeState.readBits(1) != 0);
|
|
m.windowtype = decodeState.readBits(16);
|
|
m.transformtype = decodeState.readBits(16);
|
|
m.mapping = decodeState.readBits(8);
|
|
if (m.windowtype != 0) {
|
|
throw new ReaderError(INVALID_SETUP);
|
|
}
|
|
if (m.transformtype != 0) {
|
|
throw new ReaderError(INVALID_SETUP);
|
|
}
|
|
return m;
|
|
}
|
|
} |