summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/docx/14_misc.dox
blob: 7b3f9509fa783b0089a10c2b2c6f2f3cdd95e94b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 /*
 * Copyright (C) 2012, BMW AG
 *
 * This file is part of GENIVI Project AudioManager.
 *
 * Contributions are licensed to the GENIVI Alliance under one or more
 * Contribution License Agreements.
 *
 * \copyright
 * This Source Code Form is subject to the terms of the
 * Mozilla Public License, v. 2.0. If a  copy of the MPL was not distributed with
 * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * \\author Christian Linke (christian.linke@bmw.de)
 *
 */
/*!
\page misc Miscellaneous

\section misc_connfor Connection Formats
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
experience. It is common that sources and sinks are capable of supporting more than one audioformat.\n
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
to transport the audio data. Gateways (and Soundconverters) have the information which connectionFormat can be transformed into another one.
am::am_ConnectionFormat_e has all formats listed.\n
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
example of how the project specific parts could handle this:
\image html ChangeofAudioformatduringplaytime.png


\section misc_pers Persistence
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 
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.

\section misc_speed Speed dependent volume
The adjustments for the speed are done product specific in the controller. The speed information itself is retrieved by the AudioManagerDaemon, sampled and
quantified and forwarded to the controller. The interface in not yet defined !\n
Turning speed controlled volume on/off and possible settings are achieved via SinkSoundProperty settings.
*/