in src/main/java/com/amazonaws/lex/twilio/sample/server/media/ALawCompressor.java [33:55]
protected int compress(short sample) {
int sign;
int exponent;
int mantissa;
int compressedByte;
sign = ((~sample) >> 8) & 0x80;
if (sign == 0) {
sample *= -1;
}
if (sample > cClip) {
sample = cClip;
}
if (sample >= 256) {
exponent = ALawCompressTable[(sample >> 8) & 0x007F];
mantissa = (sample >> (exponent + 3)) & 0x0F;
compressedByte = 0x007F & ((exponent << 4) | mantissa);
} else {
compressedByte = 0x007F & (sample >> 4);
}
compressedByte ^= (sign ^ 0x55);
return compressedByte;
}