The FreeBSD audio driver
We recently developed an audio driver in the FreeBSD operating system. In this work, we decided to consider compatibility with existing software interfaces only as a secondary issue, to be implemented at a later time and only for those applications which could not be adapted to the new software interface. This turned out to be a significant advantage, since it let us design the driver (and particularly, its software interface) looking at the real needs of applications, rather than duplicating existing, old interfaces, and having applications adapt (in many cases suboptimally) to what the driver could offer.
The main results of our work is the definition of a software interface for audio devices which is well suited to multimedia applications. The new interface is small, simple but powerful, and allowed several simplifications, and significant performance enhancements, in the applications. In this paper we motivate our design choices, illustrate our interface, and discuss implementation issues both for the device driver and applications. The software described in this paper, and appropriate application routines, are available from the author.
KeywordsMultimedia audio conferencing audio devices operating systems
Unable to display preview. Download preview PDF.
- 1.P. Bahl, “The J300 Family of Video and Audio Adapters: Software Architecture”, Digital Technical Journal vo.7 n.4, 1995, pp.34–51Google Scholar
- 2.The FreeBSD operating system Web page, http://www.freebsd.org/Google Scholar
- 3.J. Fulton, G. Renda, “The Network Audio System”, 8th Annual X Technical Conference, in “The X Resource, Issue Nine, January 1994”.Google Scholar
- 4.V.Hardman, M.A.Sasse, M.Handley, A.Watson: “Reliable audio for use over the Internet”, INET'95 conference.Google Scholar
- 5.V.Hardman, I.Kouvelas, M.A.Sasse, A.Watson: “A packet loss Robust Audio Tool for use over the Mbone”, Research Note RN/96/8, Dept. of Computer Science, University College London, 1996.Google Scholar
- 6.V.Jacobson, S.McCanne: “The LBL audio tool vat”, Manual page (ftp://ftp.ee.lbl.gov/conferencing/vat/)Google Scholar
- 7.I.Kouvelas, V.Hardman: “Overcoming Workstation Scheduling Problems in a Real-Time Audio Tool”, Proc. of Usenix 1996.Google Scholar
- 8.T.M. Levergood, A.C. Payne et al., “AudioFile: Network-Transparent System for Distributed Audio Applications”, USENIX Summer Conference 1993, June 1993.Google Scholar
- 9.Microsoft Corp., Documentation on the DirectSound SDK, available at http://www.microsoft.com/DirectX/Google Scholar
- 10.The Open Sound System (OSS) Web page, http://www.4front-tech.com/Google Scholar
- 11.L.Rizzo, Sources for the new FreeBSD audio driver, available from http://www.iet.unipi.it/-luigi/FreeBSD.htmlGoogle Scholar
- 12.H.Schulzrinne: “Voice communication across the Internet: A Network Voice Terminal”, Technical Report TR 92-50, Dept. of Computer Science, University of Massachusets, Amherst, July 1992.Google Scholar
- 13.T.Turletti: “The inria videoconferencing system (ivs)”, ConneXions — The Interoperability Report, 8(10):20–24, October 1994.Google Scholar