static void samples_to_host(pj_int16_t *samples, unsigned count) { unsigned i; for (i=0; i<count; ++i) { samples[i] = pj_swap16(samples[i]); } }
/* * Convert 16-bit value from host byte order to network byte order. */ PJ_DEF(pj_uint16_t) pj_htons(pj_uint16_t hostshort) { #if PJ_IS_LITTLE_ENDIAN return pj_swap16(hostshort); #else return hostshort; #endif }
/* * Convert 16-bit value from network byte order to host byte order. */ PJ_DEF(pj_uint16_t) pj_ntohs(pj_uint16_t netshort) { #if PJ_IS_LITTLE_ENDIAN return pj_swap16(netshort); #else return netshort; #endif }
/* * Change the endianness of WAVE header fields. */ static void wave_hdr_swap_bytes( pjmedia_wave_hdr *hdr ) { #if defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN!=0 hdr->riff_hdr.riff = pj_swap32(hdr->riff_hdr.riff); hdr->riff_hdr.file_len = pj_swap32(hdr->riff_hdr.file_len); hdr->riff_hdr.wave = pj_swap32(hdr->riff_hdr.wave); hdr->fmt_hdr.fmt = pj_swap32(hdr->fmt_hdr.fmt); hdr->fmt_hdr.len = pj_swap32(hdr->fmt_hdr.len); hdr->fmt_hdr.fmt_tag = pj_swap16(hdr->fmt_hdr.fmt_tag); hdr->fmt_hdr.nchan = pj_swap16(hdr->fmt_hdr.nchan); hdr->fmt_hdr.sample_rate = pj_swap32(hdr->fmt_hdr.sample_rate); hdr->fmt_hdr.bytes_per_sec = pj_swap32(hdr->fmt_hdr.bytes_per_sec); hdr->fmt_hdr.block_align = pj_swap16(hdr->fmt_hdr.block_align); hdr->fmt_hdr.bits_per_sample = pj_swap16(hdr->fmt_hdr.bits_per_sample); hdr->data_hdr.data = pj_swap32(hdr->data_hdr.data); hdr->data_hdr.len = pj_swap32(hdr->data_hdr.len); #else PJ_UNUSED_ARG(hdr); #endif }
static void data_to_host(void *data, pj_uint8_t bits, unsigned count) { unsigned i; pj_int32_t *data32 = (pj_int32_t *)data; pj_int16_t *data16 = (pj_int16_t *)data; count /= (bits == 32? 4 : 2); for (i=0; i<count; ++i) { if (bits == 32) data32[i] = pj_swap32(data32[i]); else data16[i] = pj_swap16(data16[i]); } }