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;
 | |
|     }
 | |
| } |