package de.debugco.jairport; public class RaopSession { private String id; private byte[] aesKey; private byte[] aesIv; private AudioFormat format; private int timingPort; private int controlPort; private RaopServer server; public RaopSession(String id, byte[] aesIv, byte[] aesKey, String fmt) { this.id = id; this.aesIv = aesIv; this.aesKey = aesKey; setFmtp(fmt); } public String getId() { return id; } public int getTimingPort() { return timingPort; } public int getControlPort() { return controlPort; } public void setAesIv(byte[] aesIv) { this.aesIv = aesIv; } public void setAesKey(byte[] aesKey) { this.aesKey = aesKey; } public byte[] getAesKey() { return aesKey; } public byte[] getAesIv() { return aesIv; } public AudioFormat getFormat() { return format; } public void setFmtp(String val) { String[] fmt = val.split(" "); format = new AudioFormat(); format.setFrameSize(Integer.parseInt(fmt[1])); format.setU7a(Integer.parseInt(fmt[2])); format.setSampleSize(Integer.parseInt(fmt[3])); format.setRiceHistoryMult(Integer.parseInt(fmt[4])); format.setRiceInitialHistory(Integer.parseInt(fmt[5])); format.setRiceKModifier(Integer.parseInt(fmt[6])); format.setU7f(Integer.parseInt(fmt[7])); format.setU80(Integer.parseInt(fmt[8])); format.setU82(Integer.parseInt(fmt[9])); format.setU83(Integer.parseInt(fmt[10])); format.setSampleRate(Integer.parseInt(fmt[11])); } public void setControlPort(int controlPort) { this.controlPort = controlPort; } public void setTimingPort(int timingPort) { this.timingPort = timingPort; } public void setServer(RaopServer server) { this.server = server; } public RaopServer getServer() { return server; } public static class AudioFormat { // a=fmtp:96 352 0 16 40 10 14 2 255 0 0 44100 // unk=96, frameSize=352, 7a=0, sample_size=16, riceHistoryMult=40, riceInitialHistory=10, riceKModifier=14, 7f=2 (channels?), 80=255, 82=0, 83=0, sampleRate=44100 private int frameSize; private int u7a; private int sampleSize; private int riceHistoryMult; private int riceInitialHistory; private int riceKModifier; private int u7f; private int u80; private int u82; private int u83; private int sampleRate; public int getFrameSize() { return frameSize; } public void setFrameSize(int frameSize) { this.frameSize = frameSize; } public int getU7a() { return u7a; } public void setU7a(int u7a) { this.u7a = u7a; } public int getSampleSize() { return sampleSize; } public void setSampleSize(int sampleSize) { this.sampleSize = sampleSize; } public int getRiceHistoryMult() { return riceHistoryMult; } public void setRiceHistoryMult(int riceHistoryMult) { this.riceHistoryMult = riceHistoryMult; } public int getRiceInitialHistory() { return riceInitialHistory; } public void setRiceInitialHistory(int riceInitialHistory) { this.riceInitialHistory = riceInitialHistory; } public int getRiceKModifier() { return riceKModifier; } public void setRiceKModifier(int riceKModifier) { this.riceKModifier = riceKModifier; } public int getU7f() { return u7f; } public void setU7f(int u7f) { this.u7f = u7f; } public int getU80() { return u80; } public void setU80(int u80) { this.u80 = u80; } public int getU82() { return u82; } public void setU82(int u82) { this.u82 = u82; } public int getU83() { return u83; } public void setU83(int u83) { this.u83 = u83; } public int getSampleRate() { return sampleRate; } public void setSampleRate(int sampleRate) { this.sampleRate = sampleRate; } } }