Map the NOTIFICATION stream type to a new strategy,
named STRATEGY_NOTIFICATION_RESPECTFUL, which differs
from STRATEGY_NOTIFICATION in that, when media is
playing, the notifications will use the same output
as the MEDIA strategy. This will results in the
notifications not being duplicated on the speaker
when a headset is in use for media playback.
Change-Id: I032be0e2d383c69b5b6c912d7174753f5572c4b4
Some system calls can be interrupted. wifi.c in particular was getting
into error conditions during bugreport because it doesn't handle EINTR
at all.
Change-Id: I7bec432a0b3dca7dcc5c03c5e9f5e9ed73fa3c4b
This change makes support for A2DP related audio policy more generic:
-removed WITH_A2DP compilation switch
-use output profile descriptors listing the parameters
(sampling rate, format...) devices and attributes (low power, tunneling...)
for each available output.
All the behavior specific to A2DP is derived from the A2DP output profile
descriptor.
- removed obsolete a2dpUsedForSonification() method.
This is a first step towards a more generic support for different audio
hardware modules (USB, HDMI) and output streams supporting different
combinations of parameters (sampling rate, format...) and attributes
(low power, tunneling...).
Ultimately, the hw modules and output descriptors will loaded from a
configuration file.
Change-Id: Ife3e49e1afbcb72613bfc8ce38919bb087ca85ea
The early-suspend/late-resume interface to /sys/power/state
is being moved to the default/legacy Power HAL.
The emulator interface is being moved to the emulator
Power HAL.
Change-Id: I66a1e611e6d907f20335f047001745f818dfc846
Signed-off-by: Todd Poynor <toddpoynor@google.com>
The change for volume per device introduced a problem where if a headset
is plugged in while in silent mode, the sound will not be restored
at the first press on volume up key but only at the second press.
This is because when exiting silent mode, AudioService reapplies the
last known volume for all devices in any order and the last volume
applied prevails, even if it is for a device other than currently selected
by audio policy manager.
The fix consists in applying a new volume only if the device indicated
matches currently selected device on an output.
Change-Id: I778b90a9ec5a8b4a15e0333bd045f2dd327f388c
Improve volume management by keeping track of volume for each type
of device independently.
AudioPolicyManagerBase now keeps track of stream volumes for each device
and apply volume according to current device selection.
Methods to set and get stream volume now specify the device class.
A value for "default" device is always present for each stream and is used
if a device is selected and no specific volume was ever set for this device.
Change-Id: I06d8f43aa151a09014f7e47e81304c73ff82e9f8
Right now, everything goes over the primary interface socket connection.
Add support for a seperate connection over the p2p interface.
Change-Id: I09118f88cfaa201b2d62d27add410cfd441d4454
The ringer mode is at the moment not passed down from AudioService to
AudioPolicyManager as it is currently not used in any routig decision.
So the value store in audio policy manager is wrong and the dump is miss leading.
Change-Id: I3c21c168393470fd64c1b73e3c511576a9acdd7e
Make sure that camera shutter sound is output to device speaker also while
in call.
Added a new strategy for enforced audible stream to address this case as
the routing policy is now different from sonification strategy.
Issue 5548406.
Change-Id: I2de39dfaef7d90e3804b238b1379f0f59b75e985
Add a default implementation of get_next_write_timestamp to the C <--> C++
legacy audio HAL implementation allowing HALs using the legacy C++
AudioStreamOut to overload and implement get_next_write_timestamp. Default
implementation returns INVALID_OPERATION to indicate that the functionality is
not supported.
Change-Id: I087347649e9ba186a74cb34aaadf989bf90720fe
Add an implementation of the new get_master_volume method to bridge from the new
C only audio HAL to the old C++ legacy audio HAL.
Change-Id: I5c29814623b5141b0c69927ea60be9873c8a5dab