@@ -255,12 +255,18 @@ static inline size_t audio_ring_dist(size_t dst, size_t src, size_t len)
return (dst >= src) ? (dst - src) : (len - src + dst);
}
-static inline void *advance(void *p, int incr)
+static inline void *advance_in(void *p, int incr)
{
uint8_t *d = p;
return d + incr;
}
+static inline const void *advance_out(const void *p, int incr)
+{
+ const uint8_t *d = p;
+ return d + incr;
+}
+
#define dolog(fmt, ...) AUD_log(AUDIO_CAP, fmt, ## __VA_ARGS__)
#ifdef DEBUG
@@ -615,7 +615,7 @@ static size_t alsa_write(HWVoiceOut *hw, void *buf, size_t len)
size_t len_frames = len / hw->info.bytes_per_frame;
while (len_frames) {
- char *src = advance(buf, pos);
+ const char *src = advance_out(buf, pos);
snd_pcm_sframes_t written;
written = snd_pcm_writei(alsa->handle, src, len_frames);
@@ -809,7 +809,7 @@ static size_t alsa_read(HWVoiceIn *hw, void *buf, size_t len)
size_t pos = 0;
while (len) {
- void *dst = advance(buf, pos);
+ void *dst = advance_in(buf, pos);
snd_pcm_sframes_t nread;
nread = snd_pcm_readi(
@@ -571,7 +571,7 @@ static void audio_pcm_hw_clip_out(HWVoiceOut *hw, void *pcm_buf, size_t len)
while (len) {
st_sample *src = hw->mix_buf->samples + pos;
- uint8_t *dst = advance(pcm_buf, clipped * hw->info.bytes_per_frame);
+ uint8_t *dst = advance_in(pcm_buf, clipped * hw->info.bytes_per_frame);
size_t samples_till_end_of_buf = hw->mix_buf->size - pos;
size_t samples_to_clip = MIN(len, samples_till_end_of_buf);
@@ -439,7 +439,7 @@ static size_t oss_write(HWVoiceOut *hw, void *buf, size_t len)
pos = 0;
while (len) {
ssize_t bytes_written;
- void *pcm = advance(buf, pos);
+ const void *pcm = advance_out(buf, pos);
bytes_written = write(oss->fd, pcm, len);
if (bytes_written < 0) {
@@ -678,7 +678,7 @@ static size_t oss_read(HWVoiceIn *hw, void *buf, size_t len)
while (len) {
ssize_t nread;
- void *dst = advance(buf, pos);
+ void *dst = advance_in(buf, pos);
nread = read(oss->fd, dst, len);
if (nread == -1) {
When the buffer is to be filled, rename as advance_in(). When the buffer is already filled, use advance_out(). Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- audio/audio_int.h | 8 +++++++- audio/alsaaudio.c | 4 ++-- audio/audio.c | 2 +- audio/ossaudio.c | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-)