* limitations under the License.
*/
+#define APR_WANT_BYTEFUNC
+#include <apr_want.h>
#include "mpf_codec.h"
/* linear 16-bit PCM (host horder) */
apr_uint32_t i;
const short *buf_in = frame_in->buffer;
short *buf_out = frame_out->buffer;
+ apr_size_t samples = frame_in->size / sizeof(short);
frame_out->size = frame_in->size;
- for(i=0; i<frame_in->size; ) {
+ for(i=0; i<samples; i++) {
buf_out[i] = htons(buf_in[i]);
- i += sizeof(short);
}
return TRUE;
apr_uint32_t i;
const short *buf_in = frame_in->buffer;
short *buf_out = frame_out->buffer;
+ apr_size_t samples = frame_in->size / sizeof(short);
frame_out->size = frame_in->size;
- for(i=0; i<frame_in->size; ) {
+ for(i=0; i<samples; i++) {
buf_out[i] = ntohs(buf_in[i]);
- i += sizeof(short);
}
return TRUE;
object = mpf_null_bridge_create(source,sink,context->pool);
}
else {
- if(rx_codec->attribs->bits_per_samples != BITS_PER_SAMPLE) {
+ if(rx_codec->vtable && rx_codec->vtable->decode) {
/* set decoder before bridge */
mpf_audio_stream_t *decoder = mpf_decoder_create(source,context->pool);
source = decoder;
}
- if(tx_codec->attribs->bits_per_samples != BITS_PER_SAMPLE) {
+ if(tx_codec->vtable && tx_codec->vtable->encode) {
/* set encoder after bridge */
mpf_audio_stream_t *encoder = mpf_encoder_create(sink,context->pool);
sink = encoder;