.de Sc
\\s-1\\$1\\s0\\$2
..
.ds cA 2008/318
.ds aR \s-1PSARC\s0
.LP
.so ../../amac
.Co
.ds LF \fI\*(aR/\*(cA\fP
.ds RF \fICopyright 2009 Sun Microsystems\fP
.if n .ds CF
.IP \fBSubject:\fP 15
Boomer: Next Generation Audio
.IP "\fBSubmitted by:\fP" 15
Garrett D'Amore
.IP \fBFile:\fP 15
\*(aR/\*(cA/opinion.ms
.IP \fBDate:\fP 15
March 5th, 2009
.IP "\fBCommittee:\fP" 15
Garrett D'Amore (opinion written by Phi Tran),
James D. Carlson, Mark Carlson, Rick Matthews, Sebastien Roy,
Glenn Skinner.
.IP "\fBProduct Approval Committee:\fP" 15

Solaris PAC
.br
solaris-pac-opinion@sun.com

.pn 2
.NH
Summary
.LP
Boomer: Next Generation Audio is a project to modernize the Solaris
kernel-based audio system.  The framework will be modernized to support
the popular Open Sound System API used by several popular free operating
systems, including Linux and FreeBSD.  Audio quality will be improved by adding
features such as high definition (both high frequency and high resolution
sampling) and multichannel (for example, 7.1 surround sound) audio support.
.NH
Decision & Precedence Information
.LP
The project is approved as specified in reference [1] - [3],
but  as	 modified by the required technical change listed in
Appendix A below.
.LP
The project may be delivered in a minor release	 of  the  ON
consolidation.
.LP
The project depends on the following other project  and	 may
not be delivered before it.

    LSARC/2009/074 EOF sdtaudiocontrol
.NH
Interfaces
.LP
The project exports the following interfaces.
.if n .ne 8
.if t .ne 3
.TS H
box;
c s s
l | l | l.
Interfaces Exported
_
Interface	Classification	Comments
_
.TH
audio(7I)	Obsolete Committed	We've marked this API as
		Obsolete.  We've also
		changed some semantics in
		ways that we believe are
		compatible.
		See the specification
		for more detail.
mixer(7I)	See comments.	The old Sun mixer(7I) has 
		been REMOVED.  A new OSSv4
		API is provided in its
		place with Uncommitted
		binding.
		See the specification for
		more detail.
OSS API	Uncommitted	External userland API spec.
/dev/sndstat	Uncommitted	Node for finding OSS dev
		nodes.
/dev/audio	Obsolete Committed	Legacy Sun
/dev/audioctl	Obsolete Committed	Legacy Sun
/dev/sound/[0-9]+	Obsolete Committed	Legacy Sun
/dev/sound/[0-9]+ctl	Obsolete Committed	Legacy Sun
/dev/mixer	Uncommitted	Symbolic link to
		/dev/sndstat
/dev/dsp	Uncommitted	File name may change.
Boomer DDI	Consolidation Private	New device driver API
ac97 DDI	Consolidation Private	AC'97 support routines.
SADA DDI	REMOVED	Legacy device driver API
amsrc2	REMOVED
mixer(7d)	REMOVED
audiosup(7d)	REMOVED
mixerctl(1)	Uncommitted	New CLI switches, may raise
		commitment later.
audio control names	Uncommitted	ASCIIZ representation for
		hardware audio controls.
audioplay -p & -m	REMOVED	Per TCA
audiorecord -p & -m	REMOVED	Per TCA
Client Personality API	Project Private	"audio_client.h" header.
audiopci	Uncommitted	New audio driver.
.TE
.TE
.NH
Opinion
.LP
.NH 2
sdtaudiocontrol dependency	
.LP
A member wanted to understand if sdtaudiocontrol should be removed from
Nevada before Boomer integration.  The project team noted that LSARC/2009/074
EOF sdtaudiocontrol has been filed.  In addition, LSARC/2009/074 is noted as
a dependency for this case and the project team will file a bug. 
.NH 2
digital telephone interface support
.LP
A member questioned if Boomer could architecturally support digital 
telephone interfaces which are inherently 8-bit mu-law PCM (or A-law in
Europe).  The project team clarified that there is no support currently
in Boomer to handle telephone inputs, but that Boomer could support these
interfaces if there was a need. 
.NH 2
audioplay and audiorecord command line options
.LP
A member asked if the disabled command line options in audioplay and
audiorecord will have an EOF announcement.  Other members stated
that having the functionality of the command line options available and
not work properly was problematic.  The project team noted that these
command line options were still available due to concern over breaking
programs that depend on them.  The project team decided that this concern
was not a strong enough reason and agreed to a TCR to make the EOF
announcement regarding the command line options.  Also, the project team
agreed to a TCA to remove disabled command line options that handle
port selection and master settings such as volume control and monitor gain.
.NH 2
audigy and SADA DDI	
.LP
Since the audigy driver will not be supported in phase I, a member asked
about the support of the public SADA interfaces.  The project team
clarified that the SADA interfaces are actually consolidation private and
not public.
.NH
Minority Opinion(s)
.LP
None.
.NH
Advisory Information
.LP
During the review, concerns were expressed over the lack of
project alignment between SunRay and OpenSolaris.   The
committee believes that this lack of alignment could, at least
partially, be mitigated by SunRay components being reviewed within
the OpenSolaris ARC process.
.NH
Appendices
.NH 2
Appendix A: Technical Changes Required
.LP
.IP 1.
The project team will make an EOF announcement about disabled
audioplay and audiorecord command line options.
.NH 2
Appendix B: Technical Changes Advised
.LP
.IP 1.
The project team will remove disabled command line options that
handle port selection and master settings such as volume control
and monitor gain.
.NH 2
Appendix C: Reference Material
.LP
Unless stated otherwise, path names are relative to the case
directory \*(aR/\*(cA. 
.IP 1.
20 Questions
.br
File: inception.materials/boomer.20q
.IP 2.
Project Specification	
.br
File: commitment.materials/boomer.pdf
.IP 3.
Issues and Responses 
.br
File: issues 
.IP 4.
Man Page for dsp OSS API
.br
File: commitment.materials/dsp.7I
.IP 5.
Man Page for mixer OSS API
.br
File: commitment.materials/mixer.7I
.IP 6.
Community OSS website
.br
http://developer.opensound.com/
