AudioFlinger: Better handling for master volume/mute
Changes to address bug 6842827.
When a HAL is loaded, cache whether or not the HAL supports
set_master_volume/mute in the AudioHwDevice structure. Store an
AudioHwDevice in AudioStream(In|Out) structures instead of just an
audio_he_device_t. This give threads (PlaybackThreads in
particular) access to the cached capabilities.
When setting master volume/mute, change the system to always set the
setting on all HAL which support it and also to set the setting on all
PlaybackThreads. Change PlaybackThreads to apply the setting at the
in SW mix stage of the pipeline if its assigned HAL does not support
the setting, or to ignore the setting of the assigned HAL does support
it.
Change-Id: Ia14137a30b4c3ee6f2d7ddcc8cba87bf5eec87f4
Signed-off-by:
John Grossman <johngro@google.com>
Loading
Please register or sign in to comment