mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-07 13:30:07 -05:00
pcm: rate: Avoid pointer arithmetic on void *
The pointer operand to the binary `+` operator must be to a complete object type. Signed-off-by: Michael Forney <mforney@mforney.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
6882ad4a74
commit
03b2f3d056
1 changed files with 4 additions and 4 deletions
|
|
@ -300,10 +300,10 @@ static int snd_pcm_rate_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t * params)
|
||||||
rate->sareas = rate->pareas + channels;
|
rate->sareas = rate->pareas + channels;
|
||||||
rate->sareas[0].addr = (char *)rate->pareas[0].addr + ((cwidth * channels * cinfo->period_size) / 8);
|
rate->sareas[0].addr = (char *)rate->pareas[0].addr + ((cwidth * channels * cinfo->period_size) / 8);
|
||||||
for (chn = 0; chn < channels; chn++) {
|
for (chn = 0; chn < channels; chn++) {
|
||||||
rate->pareas[chn].addr = rate->pareas[0].addr + (cwidth * chn * cinfo->period_size) / 8;
|
rate->pareas[chn].addr = (char *)rate->pareas[0].addr + (cwidth * chn * cinfo->period_size) / 8;
|
||||||
rate->pareas[chn].first = 0;
|
rate->pareas[chn].first = 0;
|
||||||
rate->pareas[chn].step = cwidth;
|
rate->pareas[chn].step = cwidth;
|
||||||
rate->sareas[chn].addr = rate->sareas[0].addr + (swidth * chn * sinfo->period_size) / 8;
|
rate->sareas[chn].addr = (char *)rate->sareas[0].addr + (swidth * chn * sinfo->period_size) / 8;
|
||||||
rate->sareas[chn].first = 0;
|
rate->sareas[chn].first = 0;
|
||||||
rate->sareas[chn].step = swidth;
|
rate->sareas[chn].step = swidth;
|
||||||
}
|
}
|
||||||
|
|
@ -513,14 +513,14 @@ static void do_convert(const snd_pcm_channel_area_t *dst_areas,
|
||||||
const int16_t *src;
|
const int16_t *src;
|
||||||
int16_t *dst;
|
int16_t *dst;
|
||||||
if (! rate->src_buf)
|
if (! rate->src_buf)
|
||||||
src = src_areas->addr + src_offset * 2 * channels;
|
src = (int16_t *)src_areas->addr + src_offset * channels;
|
||||||
else {
|
else {
|
||||||
convert_to_s16(rate, rate->src_buf, src_areas, src_offset,
|
convert_to_s16(rate, rate->src_buf, src_areas, src_offset,
|
||||||
src_frames, channels);
|
src_frames, channels);
|
||||||
src = rate->src_buf;
|
src = rate->src_buf;
|
||||||
}
|
}
|
||||||
if (! rate->dst_buf)
|
if (! rate->dst_buf)
|
||||||
dst = dst_areas->addr + dst_offset * 2 * channels;
|
dst = (int16_t *)dst_areas->addr + dst_offset * channels;
|
||||||
else
|
else
|
||||||
dst = rate->dst_buf;
|
dst = rate->dst_buf;
|
||||||
rate->ops.convert_s16(rate->obj, dst, dst_frames, src, src_frames);
|
rate->ops.convert_s16(rate->obj, dst, dst_frames, src, src_frames);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue