/* * 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. */