AudioManager
7.6.6
Native Application Runtime Environment
|
In general, there are two views of the system:
This is an abstracted view that the HMI and other controlling Instances have of the system. Every Information (with some little exceptions) here is maintained by the AudioManagerController, so that he can "fake" situations for the HMI. So why is that? Depending on the actual project it might be - for example - that not the volume at the sink must be changed, but instead of the source. The HMI does not know about sourceVolumes (and does not need to!) so the HMI would change the sink volume and the AudioManagerController can translate it to a sourceVolumeChange. The metrics of the volumes are different as well. It is the duty of the AudioManagementController to keep the commandInterface information consistent with the "real" situation.
Here are the "real" system states. All changes that are done on this interface are maintained by the AudioMangerDaemon and here is the actual situation always consistent with the reality. All actions on this interface are either triggered by the AudioManagerController or by the domains itself, like registration for example.