Module Name: src
Committed By: jmcneill
Date: Tue Sep 6 01:19:34 UTC 2011
Modified Files:
src/sys/compat/ossaudio: ossaudio.c ossaudiovar.h
Log Message:
Add support for AFMT_AC3
To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 src/sys/compat/ossaudio/ossaudio.c
cvs rdiff -u -r1.15 -r1.16 src/sys/compat/ossaudio/ossaudiovar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/compat/ossaudio/ossaudio.c
diff -u src/sys/compat/ossaudio/ossaudio.c:1.65 src/sys/compat/ossaudio/ossaudio.c:1.66
--- src/sys/compat/ossaudio/ossaudio.c:1.65 Sat Aug 22 23:31:16 2009
+++ src/sys/compat/ossaudio/ossaudio.c Tue Sep 6 01:19:34 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: ossaudio.c,v 1.65 2009/08/22 23:31:16 christos Exp $ */
+/* $NetBSD: ossaudio.c,v 1.66 2011/09/06 01:19:34 jmcneill 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.65 2009/08/22 23:31:16 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ossaudio.c,v 1.66 2011/09/06 01:19:34 jmcneill Exp $");
#include <sys/param.h>
#include <sys/proc.h>
@@ -352,6 +352,12 @@
tmpinfo.play.encoding =
tmpinfo.record.encoding = AUDIO_ENCODING_ULINEAR_BE;
break;
+ case OSS_AFMT_AC3:
+ tmpinfo.play.precision =
+ tmpinfo.record.precision = 16;
+ tmpinfo.play.encoding =
+ tmpinfo.record.encoding = AUDIO_ENCODING_AC3;
+ break;
default:
DPRINTF(("%s: SNDCTL_DSP_SETFMT bad fmt %d\n",
__func__, idat));
@@ -408,6 +414,9 @@
case AUDIO_ENCODING_ADPCM:
idat = OSS_AFMT_IMA_ADPCM;
break;
+ case AUDIO_ENCODING_AC3:
+ idat = OSS_AFMT_AC3;
+ break;
default:
DPRINTF(("%s: SOUND_PCM_READ_BITS bad encoding %d\n",
__func__, tmpinfo.play.encoding));
@@ -583,6 +592,9 @@
case AUDIO_ENCODING_ADPCM:
idat |= OSS_AFMT_IMA_ADPCM;
break;
+ case AUDIO_ENCODING_AC3:
+ idat |= OSS_AFMT_AC3;
+ break;
default:
DPRINTF(("%s: SNDCTL_DSP_GETFMTS unknown %d\n",
__func__, tmpenc.encoding));
Index: src/sys/compat/ossaudio/ossaudiovar.h
diff -u src/sys/compat/ossaudio/ossaudiovar.h:1.15 src/sys/compat/ossaudio/ossaudiovar.h:1.16
--- src/sys/compat/ossaudio/ossaudiovar.h:1.15 Mon Apr 28 20:23:45 2008
+++ src/sys/compat/ossaudio/ossaudiovar.h Tue Sep 6 01:19:34 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: ossaudiovar.h,v 1.15 2008/04/28 20:23:45 martin Exp $ */
+/* $NetBSD: ossaudiovar.h,v 1.16 2011/09/06 01:19:34 jmcneill Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -99,6 +99,7 @@
#define OSS_AFMT_U16_LE 0x00000080 /* Little endian U16 */
#define OSS_AFMT_U16_BE 0x00000100 /* Big endian U16 */
#define OSS_AFMT_MPEG 0x00000200 /* MPEG (2) audio */
+#define OSS_AFMT_AC3 0x00000400 /* Dolby Digital AC3 */
/* Mixer defines */
#define OSS_SOUND_MIXER_FIRST 0