audio/oss: fix buffer pos calculation
Fixes: 3ba4066d085f ("ossaudio: port to the new audio backend api") Reported-by: ziming zhang <ezrakiez@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-Id: <20200120101804.29578-1-kraxel@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
928173659d
commit
7a4ede0047
@ -420,7 +420,7 @@ static size_t oss_write(HWVoiceOut *hw, void *buf, size_t len)
|
|||||||
size_t to_copy = MIN(len, hw->size_emul - hw->pos_emul);
|
size_t to_copy = MIN(len, hw->size_emul - hw->pos_emul);
|
||||||
memcpy(hw->buf_emul + hw->pos_emul, buf, to_copy);
|
memcpy(hw->buf_emul + hw->pos_emul, buf, to_copy);
|
||||||
|
|
||||||
hw->pos_emul = (hw->pos_emul + to_copy) % hw->pos_emul;
|
hw->pos_emul = (hw->pos_emul + to_copy) % hw->size_emul;
|
||||||
buf += to_copy;
|
buf += to_copy;
|
||||||
len -= to_copy;
|
len -= to_copy;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user