Commit c4c44c44 authored by Max Kellermann's avatar Max Kellermann

pcm_{channels,format}: add alignment assertions

parent 0debe9bd
...@@ -75,6 +75,8 @@ pcm_convert_channels_16(struct pcm_buffer *buffer, ...@@ -75,6 +75,8 @@ pcm_convert_channels_16(struct pcm_buffer *buffer,
uint8_t src_channels, const int16_t *src, uint8_t src_channels, const int16_t *src,
size_t src_size, size_t *dest_size_r) size_t src_size, size_t *dest_size_r)
{ {
assert(src_size % (sizeof(*src) * src_channels) == 0);
unsigned num_frames = src_size / src_channels / sizeof(*src); unsigned num_frames = src_size / src_channels / sizeof(*src);
unsigned dest_size = num_frames * dest_channels * sizeof(*src); unsigned dest_size = num_frames * dest_channels * sizeof(*src);
int16_t *dest = pcm_buffer_get(buffer, dest_size); int16_t *dest = pcm_buffer_get(buffer, dest_size);
...@@ -146,6 +148,8 @@ pcm_convert_channels_24(struct pcm_buffer *buffer, ...@@ -146,6 +148,8 @@ pcm_convert_channels_24(struct pcm_buffer *buffer,
uint8_t src_channels, const int32_t *src, uint8_t src_channels, const int32_t *src,
size_t src_size, size_t *dest_size_r) size_t src_size, size_t *dest_size_r)
{ {
assert(src_size % (sizeof(*src) * src_channels) == 0);
unsigned num_frames = src_size / src_channels / sizeof(*src); unsigned num_frames = src_size / src_channels / sizeof(*src);
unsigned dest_size = num_frames * dest_channels * sizeof(*src); unsigned dest_size = num_frames * dest_channels * sizeof(*src);
int32_t *dest = pcm_buffer_get(buffer, dest_size); int32_t *dest = pcm_buffer_get(buffer, dest_size);
...@@ -212,6 +216,8 @@ pcm_convert_channels_32(struct pcm_buffer *buffer, ...@@ -212,6 +216,8 @@ pcm_convert_channels_32(struct pcm_buffer *buffer,
uint8_t src_channels, const int32_t *src, uint8_t src_channels, const int32_t *src,
size_t src_size, size_t *dest_size_r) size_t src_size, size_t *dest_size_r)
{ {
assert(src_size % (sizeof(*src) * src_channels) == 0);
unsigned num_frames = src_size / src_channels / sizeof(*src); unsigned num_frames = src_size / src_channels / sizeof(*src);
unsigned dest_size = num_frames * dest_channels * sizeof(*src); unsigned dest_size = num_frames * dest_channels * sizeof(*src);
int32_t *dest = pcm_buffer_get(buffer, dest_size); int32_t *dest = pcm_buffer_get(buffer, dest_size);
......
...@@ -62,6 +62,8 @@ pcm_convert_to_16(struct pcm_buffer *buffer, struct pcm_dither *dither, ...@@ -62,6 +62,8 @@ pcm_convert_to_16(struct pcm_buffer *buffer, struct pcm_dither *dither,
enum sample_format src_format, const void *src, enum sample_format src_format, const void *src,
size_t src_size, size_t *dest_size_r) size_t src_size, size_t *dest_size_r)
{ {
assert(src_size % sample_format_size(src_format) == 0);
const void *src_end = pcm_end_pointer(src, src_size); const void *src_end = pcm_end_pointer(src, src_size);
unsigned num_samples; unsigned num_samples;
int16_t *dest; int16_t *dest;
...@@ -157,6 +159,8 @@ pcm_convert_to_24(struct pcm_buffer *buffer, ...@@ -157,6 +159,8 @@ pcm_convert_to_24(struct pcm_buffer *buffer,
enum sample_format src_format, const void *src, enum sample_format src_format, const void *src,
size_t src_size, size_t *dest_size_r) size_t src_size, size_t *dest_size_r)
{ {
assert(src_size % sample_format_size(src_format) == 0);
unsigned num_samples; unsigned num_samples;
int32_t *dest; int32_t *dest;
...@@ -240,6 +244,8 @@ pcm_convert_to_32(struct pcm_buffer *buffer, ...@@ -240,6 +244,8 @@ pcm_convert_to_32(struct pcm_buffer *buffer,
enum sample_format src_format, const void *src, enum sample_format src_format, const void *src,
size_t src_size, size_t *dest_size_r) size_t src_size, size_t *dest_size_r)
{ {
assert(src_size % sample_format_size(src_format) == 0);
unsigned num_samples; unsigned num_samples;
int32_t *dest; int32_t *dest;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment