Module Name: src Committed By: isaki Date: Sat Feb 2 04:52:16 UTC 2019
Modified Files: src/lib/libossaudio: ossaudio.c src/sys/compat/ossaudio: ossaudio.c Log Message: Fix minor bugs of SNDCTL_DSP_GETISPACE. - hiwat is playback-only parameter. - 'bytes' should not be rounded down. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/lib/libossaudio/ossaudio.c cvs rdiff -u -r1.71 -r1.72 src/sys/compat/ossaudio/ossaudio.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libossaudio/ossaudio.c diff -u src/lib/libossaudio/ossaudio.c:1.35 src/lib/libossaudio/ossaudio.c:1.36 --- src/lib/libossaudio/ossaudio.c:1.35 Tue Jan 29 11:54:02 2019 +++ src/lib/libossaudio/ossaudio.c Sat Feb 2 04:52:16 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ossaudio.c,v 1.35 2019/01/29 11:54:02 isaki Exp $ */ +/* $NetBSD: ossaudio.c,v 1.36 2019/02/02 04:52:16 isaki Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: ossaudio.c,v 1.35 2019/01/29 11:54:02 isaki Exp $"); +__RCSID("$NetBSD: ossaudio.c,v 1.36 2019/02/02 04:52:16 isaki Exp $"); /* * This is an OSS (Linux) sound API emulator. @@ -425,8 +425,9 @@ audio_ioctl(int fd, unsigned long com, v setblocksize(fd, &tmpinfo); bufinfo.fragsize = tmpinfo.blocksize; bufinfo.fragments = tmpinfo.record.seek / tmpinfo.blocksize; - bufinfo.fragstotal = tmpinfo.hiwat; - bufinfo.bytes = bufinfo.fragments * tmpinfo.blocksize; + bufinfo.fragstotal = + tmpinfo.record.buffer_size / tmpinfo.blocksize; + bufinfo.bytes = tmpinfo.record.seek; *(struct audio_buf_info *)argp = bufinfo; break; case SNDCTL_DSP_NONBLOCK: Index: src/sys/compat/ossaudio/ossaudio.c diff -u src/sys/compat/ossaudio/ossaudio.c:1.71 src/sys/compat/ossaudio/ossaudio.c:1.72 --- src/sys/compat/ossaudio/ossaudio.c:1.71 Tue Jan 29 12:01:20 2019 +++ src/sys/compat/ossaudio/ossaudio.c Sat Feb 2 04:52:16 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ossaudio.c,v 1.71 2019/01/29 12:01:20 isaki Exp $ */ +/* $NetBSD: ossaudio.c,v 1.72 2019/02/02 04:52:16 isaki Exp $ */ /*- * Copyright (c) 1997, 2008 The NetBSD Foundation, Inc. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ossaudio.c,v 1.71 2019/01/29 12:01:20 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ossaudio.c,v 1.72 2019/02/02 04:52:16 isaki Exp $"); #include <sys/param.h> #include <sys/proc.h> @@ -642,8 +642,9 @@ oss_ioctl_audio(struct lwp *l, const str setblocksize(fp, &tmpinfo); bufinfo.fragsize = tmpinfo.blocksize; bufinfo.fragments = tmpinfo.record.seek / tmpinfo.blocksize; - bufinfo.fragstotal = tmpinfo.hiwat; - bufinfo.bytes = bufinfo.fragments * tmpinfo.blocksize; + bufinfo.fragstotal = + tmpinfo.record.buffer_size / tmpinfo.blocksize; + bufinfo.bytes = tmpinfo.record.seek; error = copyout(&bufinfo, SCARG(uap, data), sizeof bufinfo); if (error) { DPRINTF(("%s: SNDCTL_DSP_GETISPACE %d %d %d %d = %d\n",