diff --git a/libs/unimrcp/libs/mpf/src/mpf_codec_linear.c b/libs/unimrcp/libs/mpf/src/mpf_codec_linear.c index ceaec016ce..cbe536959d 100644 --- a/libs/unimrcp/libs/mpf/src/mpf_codec_linear.c +++ b/libs/unimrcp/libs/mpf/src/mpf_codec_linear.c @@ -14,6 +14,8 @@ * limitations under the License. */ +#define APR_WANT_BYTEFUNC +#include #include "mpf_codec.h" /* linear 16-bit PCM (host horder) */ @@ -40,12 +42,12 @@ static apt_bool_t l16_encode(mpf_codec_t *codec, const mpf_codec_frame_t *frame_ 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; isize; ) { + for(i=0; ibuffer; short *buf_out = frame_out->buffer; + apr_size_t samples = frame_in->size / sizeof(short); frame_out->size = frame_in->size; - for(i=0; isize; ) { + for(i=0; ipool); } 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;