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

Reply via email to