public AudioSession(byte[] aesiv, byte[] aeskey, int[] fmtp, int controlPort, int timingPort, int bufferSize) { // KEYS this.aesIV = aesiv; this.aesKey = aeskey; // PORTS this.controlPort = controlPort; this.timingPort = timingPort; this.bufferSize = bufferSize; // FMTP frameSize = fmtp[1]; _7a = fmtp[2]; sampleSize = fmtp[3]; rice_historymult = fmtp[4]; rice_initialhistory = fmtp[5]; rice_kmodifier = fmtp[6]; channels = fmtp[7]; _80 = fmtp[8]; _82 = fmtp[9]; _86 = fmtp[10]; sampleRate = fmtp[11]; outputSize = 4 * (frameSize + 3); alacFile = createAlac(); }
AlacFile createAlac() { if (sampleSize != 16) { return(null); } AlacFile alac = AlacDecodeUtils.create_alac(sampleSize, 2); alac.setinfo_max_samples_per_frame = frameSize; alac.setinfo_7a = _7a; alac.setinfo_sample_size = sampleSize; alac.setinfo_rice_historymult = rice_historymult; alac.setinfo_rice_initialhistory = rice_initialhistory; alac.setinfo_rice_kmodifier = rice_kmodifier; alac.setinfo_7f = channels; alac.setinfo_80 = _80; alac.setinfo_82 = _82; alac.setinfo_86 = _86; alac.setinfo_8a_rate = sampleRate; return(alac); }