summaryrefslogtreecommitdiff
path: root/docx/04_y_audiomanager_and_sources.dox
diff options
context:
space:
mode:
authorChristian Linke <Christian.Linke@bmw.de>2016-02-11 07:28:47 +0100
committerChristian Linke <Christian.Linke@bmw.de>2016-02-15 09:00:59 +0100
commit5bcd206b9270d9a79e212f91723ea1a08a4d4859 (patch)
tree55b0cd4d07fbd7ebfd15d58d02e9cae6ae61b127 /docx/04_y_audiomanager_and_sources.dox
parent59080ecc2c8840fd85c561adea3f85f5344534a8 (diff)
downloadaudiomanager-5bcd206b9270d9a79e212f91723ea1a08a4d4859.tar.gz
* rework of the build structure, adopt to standard cmake package structure7.4
* check versions when loading the libs * introduction of the AudioManagerCore * give control plugin as file or directory * remove SQLITE * either find and use gmock or build and install it * fixed [Bug 411] * compile flag gnu11 is now used Signed-off-by: Christian Linke <Christian.Linke@bmw.de> Signed-off-by: Christian Linke <Christian.Linke@bmw.de>
Diffstat (limited to 'docx/04_y_audiomanager_and_sources.dox')
-rw-r--r--docx/04_y_audiomanager_and_sources.dox92
1 files changed, 92 insertions, 0 deletions
diff --git a/docx/04_y_audiomanager_and_sources.dox b/docx/04_y_audiomanager_and_sources.dox
new file mode 100644
index 0000000..fd0f1e3
--- /dev/null
+++ b/docx/04_y_audiomanager_and_sources.dox
@@ -0,0 +1,92 @@
+ /*
+ * 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 sourcesink The relation of sources & sinks with the AudioManager
+
+\section claDi Class diagramm of the relation between sources, sinks and the AudioManager
+In general, the relationship is defined as well as the interfaces that are used to communicate the informations back and forth. But since the
+exchange of these informations is abstracted by the RoutingPlugins, the architecture cannot define explicit mechanisms here.\n
+A lot of attributes that are part of sources and sinks belong logical to them and might be implemented by the RoutingPlugin. The relation between
+sources, sinks and the AudioManagerDaemon is shown in this \ref cDiag .
+
+\section boil The REAL interaction
+A lot of information is related to sources and sinks as can be seen here: \ref cDiag . But not all informations are actually communicated to the
+sources and sinks since the routing adaptor will take care of handling some of these informations.\n
+Here are some informations that is believed to be actually communicated to the sources and sinks:
+
+ \section conFormats Connection Formats
+ The am::am_CustomAvailabilityReason_t formats for a connection are chosen when the connection is build up. So if there are more than one possbilities
+ that can be used for a connection (am::am_Sink_s::listConnectionFormats and am::am_Source_s::listConnectionFormats) the correct one is chosen
+ upon a connect. If this is relevant to the sources and sinks, the routingAdaptor must communicate to the sources and sinks accordingly.
+ \image html SettingConnectionFormats.png
+
+
+ \section sstates Source States
+ This diagrams shows the sequence that is used to set the sources states am::am_SourceState_e. Since the source states are set by the
+ AudioManagerController, the exact behavior is product specific.
+ \image html SourceStates.png
+
+ \section avail Availability
+ This diagram shows the sequence that is used to communicate the availability am::am_Availability_s. from the sources. Please note that the availability reasons
+ am::am_CustomAvailabilityReason_t are product specific.
+ \image html AvailabilityofSources.png
+ Here is the same for the sinks:
+ \image html AvailabilityofSinks.png
+
+ \section vol Volumes
+ Volumes am::am_volume_t are set to the sinks, mainly, but depending on the used audio routing system it might be that they can be set on the source level as well.
+ If this is not the case, proper measures must be taken to do this.
+ Changes of a source:
+ \image html VolumeChangesofSources.png
+ Changes of a sink:
+ \image html VolumeChangesofSinks.png
+
+ \section SoundProperties
+ The am::am_SoundProperty_s are set to the sources and sinks. More information about SoundProperties can be found here: \ref prop.
+ Changes of a sink:
+ \image html SoundPropertyChangeofSink.png
+ Changes of a source:
+ \image html SoundPropertyChangeofSource.png
+
+ \section in Interrupt States
+ The am::am_InterruptState_e are reported by low level interrupts from the sources to the AudioManagement. More details here: \ref interrupts .
+ \image html InterruptStatusChange.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*/ \ No newline at end of file