This document provides additional information about the Advanced Audio Adaptation Framework.
The Advanced Audio Adaptation Framework (A3F) provides a common interface for accessing audio resources, playing tones, and configuring audio for playing and recording.
A3F functionality is provided by the
An
The Audio Stream API (
The Audio Context API allows a grouping notion for multimedia allocations.
The Commit Cycle
Changes made to an audio stream are handled in a transactional manner. If changes fail to be applied, then any other changes made to the stream are considered to fail also. The application of changes is dependent on a successful commit cycle. If there is a failure, a “rollback" mechanism is executed and the stream states are reverted to their previous state.
The client requests changes through various
The following diagram shows this behaviour:
Observers
Most of the A3F API functions are asynchronous. For example, the functions
The following A3F observers are defined:
Informs with
Informs with
Informs about completion of setters and getters.
Informs about changes in gain or changes in maximum gain values.
Informs about any additional errors in audio processing units.
Informs about recorded buffer to be ready for storing. Also informs the client if there is a buffer to be ignored.
Informs about new buffer ready to be filled with audio data. Also informs the client if any requested buffer should be ignored.
Stream States
Clients using A3F should be aware that requested audio resources can be lost at any time while they are being used. A client with a higher importance can cause requests for resources to be denied or available resources to become unavailable. In these cases, the commit cycle informs the client through pre-emption events and the resulted stream state is usually demoted to the highest non-disturbing state.
The possible audio stream states are described in the following table:
The following diagram shows the stream states:
The following tutorials are provided to help you create A3F solutions:
This document provides additional information about the Advanced Audio Adaptation Framework.
The Advanced Audio Adaptation Framework (A3F) provides a common interface for accessing audio resources, playing tones, and configuring audio for playing and recording.
A3F functionality is provided by the
An
The Audio Stream API (
The Audio Context API allows a grouping notion for multimedia allocations.
The Commit Cycle
Changes made to an audio stream are handled in a transactional manner. If changes fail to be applied, then any other changes made to the stream are considered to fail also. The application of changes is dependent on a successful commit cycle. If there is a failure, a “rollback" mechanism is executed and the stream states are reverted to their previous state.
The client requests changes through various
The following diagram shows this behaviour:
Observers
Most of the A3F API functions are asynchronous. For example, the functions
The following A3F observers are defined:
Informs with
Informs with
Informs about completion of setters and getters.
Informs about changes in gain or changes in maximum gain values.
Informs about any additional errors in audio processing units.
Informs about recorded buffer to be ready for storing. Also informs the client if there is a buffer to be ignored.
Informs about new buffer ready to be filled with audio data. Also informs the client if any requested buffer should be ignored.
Stream States
Clients using A3F should be aware that requested audio resources can be lost at any time while they are being used. A client with a higher importance can cause requests for resources to be denied or available resources to become unavailable. In these cases, the commit cycle informs the client through pre-emption events and the resulted stream state is usually demoted to the highest non-disturbing state.
The possible audio stream states are described in the following table:
The following diagram shows the stream states:
The following tutorials are provided to help you create A3F solutions: