{
int count;
short *fdata = f->data;
+ short adjust_value = abs(adjustment);
if ((f->frametype != AST_FRAME_VOICE) || (f->subclass != AST_FORMAT_SLINEAR))
return -1;
+ if (!adjustment)
+ return 0;
+
for (count = 0; count < f->samples; count++) {
if (adjustment > 0) {
- ast_slinear_saturated_multiply(&fdata[count], abs(adjustment));
+ ast_slinear_saturated_multiply(&fdata[count], &adjust_value);
} else if (adjustment < 0) {
- ast_slinear_saturated_divide(&fdata[count], abs(adjustment));
+ ast_slinear_saturated_divide(&fdata[count], &adjust_value);
}
}
for (count = 0, data1 = f1->data, data2 = f2->data;
count < f1->samples;
count++, data1++, data2++)
- ast_slinear_saturated_add(data1, *data2);
+ ast_slinear_saturated_add(data1, data2);
return 0;
}
*/
void ast_uri_decode(char *s);
-static inline void ast_slinear_saturated_add(short *input, short value)
+static inline void ast_slinear_saturated_add(short *input, short *value)
{
int res;
- res = (int) *input + value;
+ res = (int) *input + *value;
if (res > 32767)
*input = 32767;
else if (res < -32767)
*input = (short) res;
}
-static inline void ast_slinear_saturated_multiply(short *input, short value)
+static inline void ast_slinear_saturated_multiply(short *input, short *value)
{
int res;
- res = (int) *input * value;
+ res = (int) *input * *value;
if (res > 32767)
*input = 32767;
else if (res < -32767)
*input = (short) res;
}
-static inline void ast_slinear_saturated_divide(short *input, short value)
+static inline void ast_slinear_saturated_divide(short *input, short *value)
{
- *input /= value;
+ *input /= *value;
}
extern int test_for_thread_safety(void);