pcm_resample: don't resample partial samples
Added assertions which ensure that there are no partial samples in the source buffer.
This commit is contained in:
parent
b13d656f81
commit
124f79a2a6
|
@ -20,6 +20,8 @@
|
|||
#include "pcm_resample.h"
|
||||
#include "gcc.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
/* resampling code blatantly ripped from ESD */
|
||||
size_t
|
||||
pcm_resample_16(uint8_t channels,
|
||||
|
@ -33,6 +35,9 @@ pcm_resample_16(uint8_t channels,
|
|||
unsigned dest_samples = dest_size / sizeof(*dest_buffer);
|
||||
int16_t lsample, rsample;
|
||||
|
||||
assert((src_size % (sizeof(*src_buffer) * channels)) == 0);
|
||||
assert((dest_size % (sizeof(*dest_buffer) * channels)) == 0);
|
||||
|
||||
switch (channels) {
|
||||
case 1:
|
||||
while (dest_pos < dest_samples) {
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "log.h"
|
||||
#include "utils.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
@ -75,6 +76,9 @@ pcm_resample_16(uint8_t channels,
|
|||
size_t data_out_size;
|
||||
int error;
|
||||
|
||||
assert((src_size % (sizeof(*src_buffer) * channels)) == 0);
|
||||
assert((dest_size % (sizeof(*dest_buffer) * channels)) == 0);
|
||||
|
||||
if (convalgo < 0)
|
||||
convalgo = pcm_resample_get_converter();
|
||||
|
||||
|
|
Loading…
Reference in New Issue