mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-08-13 17:38:59 +00:00
More fixes for Coverity issues
This commit is contained in:
@@ -52,8 +52,9 @@
|
||||
#include "spandsp/telephony.h"
|
||||
#include "spandsp/alloc.h"
|
||||
#include "spandsp/fast_convert.h"
|
||||
#include "spandsp/time_scale.h"
|
||||
#include "spandsp/vector_int.h"
|
||||
#include "spandsp/saturated.h"
|
||||
#include "spandsp/time_scale.h"
|
||||
|
||||
#include "spandsp/private/time_scale.h"
|
||||
|
||||
@@ -190,46 +191,46 @@ SPAN_DECLARE(int) time_scale(time_scale_state_t *s, int16_t out[], int16_t in[],
|
||||
if (s->fill + len < s->buf_len)
|
||||
{
|
||||
/* Cannot continue without more samples */
|
||||
memcpy(&s->buf[s->fill], in, sizeof(int16_t)*len);
|
||||
vec_copyi16(&s->buf[s->fill], in, len);
|
||||
s->fill += len;
|
||||
return out_len;
|
||||
}
|
||||
k = s->buf_len - s->fill;
|
||||
memcpy(&s->buf[s->fill], in, sizeof(int16_t)*k);
|
||||
vec_copyi16(&s->buf[s->fill], in, k);
|
||||
in_len += k;
|
||||
s->fill = s->buf_len;
|
||||
while (s->fill == s->buf_len)
|
||||
{
|
||||
while (s->lcp >= s->buf_len)
|
||||
{
|
||||
memcpy(&out[out_len], s->buf, sizeof(int16_t)*s->buf_len);
|
||||
vec_copyi16(&out[out_len], s->buf, s->buf_len);
|
||||
out_len += s->buf_len;
|
||||
if (len - in_len < s->buf_len)
|
||||
{
|
||||
/* Cannot continue without more samples */
|
||||
memcpy(s->buf, &in[in_len], sizeof(int16_t)*(len - in_len));
|
||||
vec_copyi16(s->buf, &in[in_len], len - in_len);
|
||||
s->fill = len - in_len;
|
||||
s->lcp -= s->buf_len;
|
||||
return out_len;
|
||||
}
|
||||
memcpy(s->buf, &in[in_len], sizeof(int16_t)*s->buf_len);
|
||||
vec_copyi16(s->buf, &in[in_len], s->buf_len);
|
||||
in_len += s->buf_len;
|
||||
s->lcp -= s->buf_len;
|
||||
}
|
||||
if (s->lcp > 0)
|
||||
{
|
||||
memcpy(&out[out_len], s->buf, sizeof(int16_t)*s->lcp);
|
||||
vec_copyi16(&out[out_len], s->buf, s->lcp);
|
||||
out_len += s->lcp;
|
||||
memmove(s->buf, &s->buf[s->lcp], sizeof(int16_t)*(s->buf_len - s->lcp));
|
||||
vec_movei16(s->buf, &s->buf[s->lcp], s->buf_len - s->lcp);
|
||||
if (len - in_len < s->lcp)
|
||||
{
|
||||
/* Cannot continue without more samples */
|
||||
memcpy(&s->buf[s->buf_len - s->lcp], &in[in_len], sizeof(int16_t)*(len - in_len));
|
||||
vec_copyi16(&s->buf[s->buf_len - s->lcp], &in[in_len], len - in_len);
|
||||
s->fill = s->buf_len - s->lcp + len - in_len;
|
||||
s->lcp = 0;
|
||||
return out_len;
|
||||
}
|
||||
memcpy(&s->buf[s->buf_len - s->lcp], &in[in_len], sizeof(int16_t)*s->lcp);
|
||||
vec_copyi16(&s->buf[s->buf_len - s->lcp], &in[in_len], s->lcp);
|
||||
in_len += s->lcp;
|
||||
s->lcp = 0;
|
||||
}
|
||||
@@ -259,21 +260,21 @@ SPAN_DECLARE(int) time_scale(time_scale_state_t *s, int16_t out[], int16_t in[],
|
||||
{
|
||||
/* Speed up - drop a chunk of data */
|
||||
overlap_add(s->buf, &s->buf[pitch], pitch);
|
||||
memcpy(&s->buf[pitch], &s->buf[2*pitch], sizeof(int16_t)*(s->buf_len - 2*pitch));
|
||||
vec_copyi16(&s->buf[pitch], &s->buf[2*pitch], s->buf_len - 2*pitch);
|
||||
if (len - in_len < pitch)
|
||||
{
|
||||
/* Cannot continue without more samples */
|
||||
memcpy(&s->buf[s->buf_len - pitch], &in[in_len], sizeof(int16_t)*(len - in_len));
|
||||
vec_copyi16(&s->buf[s->buf_len - pitch], &in[in_len], len - in_len);
|
||||
s->fill += (len - in_len - pitch);
|
||||
return out_len;
|
||||
}
|
||||
memcpy(&s->buf[s->buf_len - pitch], &in[in_len], sizeof(int16_t)*pitch);
|
||||
vec_copyi16(&s->buf[s->buf_len - pitch], &in[in_len], pitch);
|
||||
in_len += pitch;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Slow down - insert a chunk of data */
|
||||
memcpy(&out[out_len], s->buf, sizeof(int16_t)*pitch);
|
||||
vec_copyi16(&out[out_len], s->buf, pitch);
|
||||
out_len += pitch;
|
||||
overlap_add(&s->buf[pitch], s->buf, pitch);
|
||||
}
|
||||
|
Reference in New Issue
Block a user