mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
test: latency - use snd_pcm_format_physical_width()
We need to allocate frames using the physical size not the sample bit size. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
152983f01b
commit
78b20e3caa
2 changed files with 9 additions and 4 deletions
|
|
@ -354,7 +354,7 @@ long readbuf(snd_pcm_t *handle, char *buf, long len, size_t *frames, size_t *max
|
|||
}
|
||||
// printf("read = %li\n", r);
|
||||
} else {
|
||||
int frame_bytes = (snd_pcm_format_width(format) / 8) * channels;
|
||||
int frame_bytes = (snd_pcm_format_physical_width(format) / 8) * channels;
|
||||
do {
|
||||
r = snd_pcm_readi(handle, buf, len);
|
||||
if (r > 0) {
|
||||
|
|
@ -374,7 +374,7 @@ long readbuf(snd_pcm_t *handle, char *buf, long len, size_t *frames, size_t *max
|
|||
long writebuf(snd_pcm_t *handle, char *buf, long len, size_t *frames)
|
||||
{
|
||||
long r;
|
||||
int frame_bytes = (snd_pcm_format_width(format) / 8) * channels;
|
||||
int frame_bytes = (snd_pcm_format_physical_width(format) / 8) * channels;
|
||||
|
||||
while (len > 0) {
|
||||
r = snd_pcm_writei(handle, buf, len);
|
||||
|
|
@ -579,7 +579,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
loop_limit = loop_sec * rate;
|
||||
latency = latency_min - 4;
|
||||
buffer = malloc((latency_max * snd_pcm_format_width(format) / 8) * 2);
|
||||
buffer = malloc((latency_max * snd_pcm_format_physical_width(format) / 8) * 2);
|
||||
|
||||
setscheduler();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue