int wr_g711a_encode(void * state, const short * input, char * output) { int i = 0; wr_g711a_encoder_state * s = (wr_g711a_encoder_state * )state; for (i=0; i < s->buffer_size; i++){ output[i] = (char)linear2alaw((int)(input[i])); } return s->buffer_size; }
uint16 t_g711a_audio_encoder::encode(int16 *sample_buf, uint16 nsamples, uint8 *payload, uint16 payload_size, bool &silence) { assert(nsamples <= payload_size); silence = false; for (int i = 0; i < nsamples; i++) { payload[i] = linear2alaw(sample_buf[i]); } return nsamples; }
NS_IMETHODIMP otG711Encoder::AcceptData(const char* data, PRInt32 len) { DEBUG_DUMP1("otG711Encoder::AcceptData %d", len); char frames[64*1024]; PRInt16 *buf = (PRInt16*)data; for (int i = 0; i < len/2; i++) frames[i] = (char)(mIsAlaw ? linear2alaw(buf[i]) : linear2ulaw(buf[i])); return mTarget->AcceptData(frames, len/2); }