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