* made sure that CommonAPI stuff compiles with release 2.1
[profile/ivi/genivi/genivi-audio-manager.git] / AudioManagerDaemon / docx / 14_misc.dox
1  /*
2  * Copyright (C) 2012, BMW AG
3  *
4  * This file is part of GENIVI Project AudioManager.
5  *
6  * Contributions are licensed to the GENIVI Alliance under one or more
7  * Contribution License Agreements.
8  *
9  * \copyright
10  * This Source Code Form is subject to the terms of the
11  * Mozilla Public License, v. 2.0. If a  copy of the MPL was not distributed with
12  * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
13  *
14  * \\author Christian Linke (christian.linke@bmw.de)
15  *
16  */
17 /*!
18 \page misc Miscellaneous
19
20 \section misc_connfor Connection Formats
21 Every flow of audio is using a format to exchange data. The format that the source and the sink uses must match together in order to have an undisturbed
22 experience. It is common that sources and sinks are capable of supporting more than one audioformat.\n
23 So all sources and sinks register with a list of connectionFormats that they support and for each connection a format must be chosen that is then used
24 to transport the audio data. Gateways (and Soundconverters) have the information which connectionFormat can be transformed into another one.
25 am::am_ConnectionFormat_e has all formats listed.\n
26 There is a special usecase that is worth showing as an example in this regard: the change of a connectionFormat when switching from one song to another. Here is an
27 example of how the project specific parts could handle this:
28 \image html ChangeofAudioformatduringplaytime.png
29
30
31 \section misc_pers Persistence
32 The persistence client library is defined as an abstract component with a c-like library interface. Since the AudioManagerController is the only one to know 
33 what is to be made persistent, he is the one interfacing with that library. This is the reason why there is no specific interface for the persistence here.
34
35 \section misc_speed Speed dependent volume
36 The adjustments for the speed are done product specific in the controller. The speed information itself is retrieved by the AudioManagerDaemon, sampled and
37 quantified and forwarded to the controller. The interface in not yet defined !\n
38 Turning speed controlled volume on/off and possible settings are achieved via SinkSoundProperty settings.
39 */