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.
The FreeBSD Audio Driver
RIZZO, LUIGI
1997-01-01
Abstract
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.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.