libao documentation

libao version 1.2.0 - 201401271

libao Plugin Writer's Overview

Plugins are drivers that are loaded dynamically when libao is first initialized by the client application. Drivers that are operating system dependent, like the oss and sun drivers, or that depend on external libraries, like the esd driver, must be implemented as plugins in order to keep binary packagers happy. There are also statically linked drivers, which are written in a nearly identical way, but won't be covered here. In nearly all cases, a dynamically loadable plugin is the preferred way to write a driver, and the required way if the driver depends upon any external libraries.

Life Cycle

The life cycle of a plugin is:

In case of errors, ao_plugin_device_clear() will always be called if ao_plugin_device_init() executed successfully. Similarly, ao_plugin_close() will always be called if ao_plugin_open() executed successfully.

Creating a New Plugin

In order to write a new plugin, follow these steps:

API Implementation Tips




copyright © 2001-2003 Stan Seibert, 2010-2011 Monty

xiph.org
monty@xiph.org

libao documentation

libao version 1.2.0 - 201401271