diff -r 51a74ef9ed63 -r ae94777fff8f Symbian3/SDK/Source/GUID-39B5850D-EAAD-56BC-B75A-2104033814E6.dita --- a/Symbian3/SDK/Source/GUID-39B5850D-EAAD-56BC-B75A-2104033814E6.dita Wed Mar 31 11:11:55 2010 +0100 +++ b/Symbian3/SDK/Source/GUID-39B5850D-EAAD-56BC-B75A-2104033814E6.dita Fri Jun 11 12:39:03 2010 +0100 @@ -1,106 +1,106 @@ - - - - - -Audio -Component Framework Overview -

This document provides an overview of the Audio Component Framework (ACF) -API.

-
Purpose

In the Advanced Audio Adaptation Framework -(A3F) architecture, the client defines the required audio functionality by -grouping several audio processing units together. Audio processing units are -logical entities, not directly related to any specific audio hardware, that -represent basic audio functions. Examples of audio processing units include:

    -
  • Source - a source of -multimedia data.

  • -
  • CODEC - an encoder or -decoder of multimedia data.

  • -
  • Sink - a consumer of -multimedia data.

  • -

ACF provides a collective notion for the audio processing units being -grouped together so that they can be considered as a single entity. Audio -processing units are grouped into audio streams. An audio stream consists -of at least a source, a codec and a sink. The audio stream allows control -of the audio processing units connected to the stream, for example, starting -or pausing, and also provides information about the state of the audio processing -units connected to it, for example, uninitialized or active.

Furthermore, -one or more audio streams can be grouped into a logical unit called a context. -The following diagram shows a context which contains two audio streams:

- Audio streams in a context - -

Using a context means that, for the purposes of pre-emption, all -audio streams in the context can be controlled as a single unit. For example, -if an audio stream needs to be stopped because it uses a resource that is -required by another higher priority audio stream, then all the other audio -streams in the context can be stopped at the same time.

-
Audio Component Framework API Library Details

The -DLL that provides the functionality and the library to which your code must -link is identified below.

- - - -DLL -LIB -Short Description - - - - -

audiocontextfactory.dll

-

audiocontextfactory.lib

-

These files are used for implementing the ACF API.

-
- - -
-
Architectural Relationship

This API is part of -the Advanced Audio Adaptation Framework (A3F). A3F provides a new standardised -implementation of DevSound which is configured by default from Symbian OS -v9.5 onwards. A3F interacts with a specially customised DevSound (configured -as optional) through the Audio -Component Library (ACL) API and the ACF API.

-
Description

ACF is responsible for delivering transactional -behaviour. This means ensuring that when a change is applied to one audio -processing unit in a context, the same change is applied to all the audio -processing units in the context and if any fail then no change is made.

In -order to apply changes to the audio processing units in a context, the client -must call the asynchronous Commit() method. -On success, event callbacks are sent to the client to state that the Commit() was -properly received and processed. If the Commit() fails, then -the implementation is "rolled-back". Alternatively, the client may receive -an event callback stating that audio resources were lost due to pre-emption -by a higher priority audio client.

-
Key Audio Component Framework API Classes

ACF comprises -the following key classes:

    -
  • MAudioSource - -generic interface for different types of audio sources.

  • -
  • MAudioCodec - -the generic abstract interface for codecs.

  • -
  • MAudioSink - -generic interface for different types of audio sinks.

  • -
  • MAudioStream - -the main control interface for the state of an audio stream.

  • -
  • MAudioContext - -the interface to an audio context. The client can use MAudioContext to -manage the audio streams and audio processing units contained in a context.

  • -
-
Using Audio Component Framework API

ACF can be -used to:

    -
  • Apply changes made to -the audio processing units in a context.

    Pending changes are applied -using the asynchronous Commit() call. -When a Commit() has been completed, the client is informed -by the appropriate ContextEvent() callback -of MAudioContextObserver.

  • -
-
See Also

Audio -Component Framework Tutorial

Audio -Processing Tutorial

+ + + + + +Audio +Component Framework Overview +

This document provides an overview of the Audio Component Framework (ACF) +API.

+
Purpose

In the Advanced Audio Adaptation Framework +(A3F) architecture, the client defines the required audio functionality by +grouping several audio processing units together. Audio processing units are +logical entities, not directly related to any specific audio hardware, that +represent basic audio functions. Examples of audio processing units include:

    +
  • Source - a source of +multimedia data.

  • +
  • CODEC - an encoder or +decoder of multimedia data.

  • +
  • Sink - a consumer of +multimedia data.

  • +

ACF provides a collective notion for the audio processing units being +grouped together so that they can be considered as a single entity. Audio +processing units are grouped into audio streams. An audio stream consists +of at least a source, a codec and a sink. The audio stream allows control +of the audio processing units connected to the stream, for example, starting +or pausing, and also provides information about the state of the audio processing +units connected to it, for example, uninitialized or active.

Furthermore, +one or more audio streams can be grouped into a logical unit called a context. +The following diagram shows a context which contains two audio streams:

+ Audio streams in a context + +

Using a context means that, for the purposes of pre-emption, all +audio streams in the context can be controlled as a single unit. For example, +if an audio stream needs to be stopped because it uses a resource that is +required by another higher priority audio stream, then all the other audio +streams in the context can be stopped at the same time.

+
Audio Component Framework API Library Details

The +DLL that provides the functionality and the library to which your code must +link is identified below.

+ + + +DLL +LIB +Short Description + + + + +

audiocontextfactory.dll

+

audiocontextfactory.lib

+

These files are used for implementing the ACF API.

+
+ + +
+
Architectural Relationship

This API is part of +the Advanced Audio Adaptation Framework (A3F). A3F provides a new standardised +implementation of DevSound which is configured by default from Symbian OS +v9.5 onwards. A3F interacts with a specially customised DevSound (configured +as optional) through the Audio +Component Library (ACL) API and the ACF API.

+
Description

ACF is responsible for delivering transactional +behaviour. This means ensuring that when a change is applied to one audio +processing unit in a context, the same change is applied to all the audio +processing units in the context and if any fail then no change is made.

In +order to apply changes to the audio processing units in a context, the client +must call the asynchronous Commit() method. +On success, event callbacks are sent to the client to state that the Commit() was +properly received and processed. If the Commit() fails, then +the implementation is "rolled-back". Alternatively, the client may receive +an event callback stating that audio resources were lost due to pre-emption +by a higher priority audio client.

+
Key Audio Component Framework API Classes

ACF comprises +the following key classes:

    +
  • MAudioSource - +generic interface for different types of audio sources.

  • +
  • MAudioCodec - +the generic abstract interface for codecs.

  • +
  • MAudioSink - +generic interface for different types of audio sinks.

  • +
  • MAudioStream - +the main control interface for the state of an audio stream.

  • +
  • MAudioContext - +the interface to an audio context. The client can use MAudioContext to +manage the audio streams and audio processing units contained in a context.

  • +
+
Using Audio Component Framework API

ACF can be +used to:

    +
  • Apply changes made to +the audio processing units in a context.

    Pending changes are applied +using the asynchronous Commit() call. +When a Commit() has been completed, the client is informed +by the appropriate ContextEvent() callback +of MAudioContextObserver.

  • +
+
See Also

Audio +Component Framework Tutorial

Audio +Processing Tutorial

\ No newline at end of file