0212be5150fb9fb3c340f3c7e51f6126372cc6f9 |
|
24-Nov-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
Support collaborative audio focus handling Add new flag for an app to define it doesn't duck, but rather pauses when losing focus with AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK. This flag is to be used when requesting focus. Add support for AudioPolicy to specify whether it will implement ducking itself, rather than it being handled by an app. When ducking is handled by a policy, do not notify focus owners when they lose audio focus with LOSS_TRANSIENT_CAN_DUCK, unless they would have paused, as expressed with the AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS flag. Add a focus listener for a policy to be notified of focus changes so it can properly implement its own ducking. Bug 16010554 Change-Id: I11d7cdb85c52fd086128a44f4d938aaa44db5c25
/frameworks/base/media/java/android/media/audiopolicy/AudioPolicy.java
|
1b3541d5eedb332ea01066b4a78a2d06d5304044 |
|
25-Nov-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
AudioMix address and type, rule exclusion API, dynamic source - Simplify API for defining an exclusion-based rule: don't define an exclusion rule, add instead a way to exclude a rule. - API for defining rules for dynamic sources (rule match on capture preset). - Verify mix type when creating AudioRecord or AudioTrack for a mix. - Use hashcode of mix for generating the device address. - AudioService dump prints info about registered policies. - Annotate as SystemApi the audio policy-related APIs. - Express mixing match and exclude rule constants as flags for future-proofness Bug 16006090 Bug 16009464 Change-Id: I0dabe71204501acaffea7ef0ddbbab9700e1bd87
/frameworks/base/media/java/android/media/audiopolicy/AudioPolicy.java
|
8dc1031453377d2f9d9c7847027f276e6726a4c8 |
|
20-Nov-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
Convert record channel mask for dynamic mix When creating the AudioRecord instance for a dynamic mix, convert the output channel mask of the mix to an input channel mask to be used by the AudioRecord instance through which the mixed audio is rerouted. Bug 16009464 Change-Id: I3addbe85339f6f06b69acc3f9b8e2a765e5d7305
/frameworks/base/media/java/android/media/audiopolicy/AudioPolicy.java
|
8fdb0d4defb6ee2ca8057d3442ead36b408b6c17 |
|
17-Jul-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
More AudioPolicy registration Define new usage in AudioAttributes to describe "virtual" sources. Maintain a registration string in AudioPolicy and AudioMix that is used for the address of the mix in the native policy manager. AudioPolicy registration marks the audio policy configuration and the audio mixes as registered. The AudioPolicy class is used as the factory for the AudioTrack and AudioRecord objects that are respectively used as the source and sink of the mixes created by the policy owner. Bug 16009464 Change-Id: I8e5bd351495257597c513d22597e273fcabdbc55
/frameworks/base/media/java/android/media/audiopolicy/AudioPolicy.java
|
a8b6bd88cfb010c9e9aa1339e504fd593919e1e0 |
|
01-Jul-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
Define audio policy, mixes, and mixing rules An AudioMixingRule is a collection of AudioAttributes and match/exclude rules. An AudioMix is defined by its AudioMixingRule, AudioFormat and routing flag. An AudioPolicyConfig is a collection of AudioMix and is parcellable. An AudioPolicy has an AudioPolicyConfig, and can be registered/unregistered through AudioManager. bug 16009464 Change-Id: I01bf95d014967f48ba823648ea897779da099e5d
/frameworks/base/media/java/android/media/audiopolicy/AudioPolicy.java
|