dfb881f96af7898151940a4bbc52e45e6043d38b |
|
18-Jul-2013 |
Eric Laurent <elaurent@google.com> |
AudioSystem: new audioflinger restart detection Add a specific method to AudioSystem for AudioService to poll for AudioFlinger service restart instead of relying on current callback mechanism which is flaky. Bug: 9693068. Change-Id: Id21d142a22b257205700201978cce1cb8b15180d
/frameworks/base/media/java/android/media/AudioSystem.java
|
fd116ad1ab02f6060a0b2201f018317fa32e28b4 |
|
13-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Inform AudioFlinger of device's low RAM attribute to help it configure it's memory Bug: 9798886 Change-Id: Ia2df59cfcb76f5ff48cca92b107915e2adde899c
/frameworks/base/media/java/android/media/AudioSystem.java
|
61dcdf3764b614c6f01e77cb4342d192e3101f8a |
|
26-Jun-2013 |
Oliver Woodman <olly@google.com> |
Expose latency methods through AudioManager and AudioTrack. There's a longer term plan to fix audio/video sync, but this gets the Java level to parity with the native level, and allows applications in Java to achieve sync in the same way as the native media player. APIs are left as hidden for now. Change-Id: Iaf70baac1ffb50ef48e03355163158568fbd0fe9
/frameworks/base/media/java/android/media/AudioSystem.java
|
679d5046f245ea8b39f9b5596195f3468808dd54 |
|
05-Feb-2013 |
Jean-Michel Trivi <jmtrivi@google.com> |
Add support for querying whether the music stream is active remotely Bug 7485803 Change-Id: I554b44bd35b017fa4030a0d89779066c96594f2b
/frameworks/base/media/java/android/media/AudioSystem.java
|
c203ecfd9f6c356542fcb10bc85b27b98b170ddf |
|
11-Oct-2012 |
Jean-Michel Trivi <jmtrivi@google.com> |
Use device availability to start WFD audio routing Don't use the force_use mechanism to start WFD audio routing, but rather only the availability of the remote submix audio device. This is matched by a change in the audio policy manager. Bug 7318180 Change-Id: I756f032d8ca0375c3dbeddb7c321261c497539bc
/frameworks/base/media/java/android/media/AudioSystem.java
|
d677054ca63f55abaa1c478ea3c50f6be665a979 |
|
10-Oct-2012 |
Jean-Michel Trivi <jmtrivi@google.com> |
Don't play notifications during speech recognition Add support for querying AudioManager to know whether speech recognition is currently underway. Don't play a notification if speech recognition is underway. Bug 7314859 Change-Id: I1bd013a3168cfe1a6b6dcfd28565e1c3c512eb6a
/frameworks/base/media/java/android/media/AudioSystem.java
|
dd45d01128423a82652a3c9d77fa393631d95229 |
|
08-Oct-2012 |
Eric Laurent <elaurent@google.com> |
enforce camera sound according to country code Use mcc config overlay mechanism to enforce camera shutter sounds in countries where it is mandatory. Property ro.camera.sound.forced is not needed anymore. When camera sound is forced, STREAM_SYSTEM_ENFORCED is removed from streams affected by ringer mode and its volume is maxed out. AudioSystem.FORCE_SYSTEM_ENFORCED is sent to audio policy manager to alter the routing policy for STREAM_SYSTEM_ENFORCED. Also fix streams being unmuted when settings are reloaded upon user switch while in silent mode. Add ringer mode to audio service dump. Bug 7032634. Change-Id: Iceea5bba3b8d3aabf8e42b222deb33a893dc8f38
/frameworks/base/media/java/android/media/AudioSystem.java
|
c6c4365ddb0213c548b055f257dc8077389224fb |
|
25-Sep-2012 |
Glenn Kasten <gkasten@google.com> |
Implement android.media.AudioManager.getProperty() Bug: 6635041 Change-Id: I0e7d53b99559cdc89f2f107f23048e4b1a8dd383
/frameworks/base/media/java/android/media/AudioSystem.java
|
2ac2afeac989ea1dc326b0db996d6c6c8e00cc29 |
|
21-Aug-2012 |
Jean-Michel Trivi <jmtrivi@google.com> |
Add support for controlling remote submix audio routing Add method in AudioManager to control remote submix through AudioService. AudioService controls remote submxi: enabling/disabling remote submix will: - make the sink audio device available/unavailable - make the audio source available/unavailable - force/unforce media streams to be routed to WFD Change-Id: I05d9cc7c3e8a720318ec1385737cbd46a21a3207
/frameworks/base/media/java/android/media/AudioSystem.java
|
53082eced917e0af8fd06486e824d3ea78bc65b6 |
|
28-Aug-2012 |
Eric Laurent <elaurent@google.com> |
AudioSystem: new audio device enums Update audio device enums to match new definitions in native framework. Change-Id: Ie257ab0423e3567f4af5a02b03e128af6c714da6
/frameworks/base/media/java/android/media/AudioSystem.java
|
7847211fb4699bf6018e29d214a918ed6657319b |
|
21-May-2012 |
Eric Laurent <elaurent@google.com> |
AudioManager: restore setBluetoothA2dpOn() method Remove deprecation on setBluetoothA2dpOn() method so that applications can override the default audio policy which is to use A2DP for media whenever connected. The request is not persistent and the default policy is restored when a new A2DP i ro wired headset connection occurs. Bug 6485897. Change-Id: I2a4b6b6bdba55f7b133e64f86d27c03eb86acfa4
/frameworks/base/media/java/android/media/AudioSystem.java
|
bffc3d1bd33eb2d8e00a9f8b6261d815db503311 |
|
08-May-2012 |
Eric Laurent <elaurent@google.com> |
Silent and Vibrate mode clean up Clean up related to new Vibration policy. The vibrate behavior is now only derived from: - presence of a vibrator on the device - current ringer mode selected: NORMAL, VIBRATE or SILENT If no vibrator is present the ringer mode can only be NORMAL or SILENT. The control of ringer mode via volume keys when volume keys control the "master" stream type (RING on phones, MUSIC on tablets) is as follows: If a vibrator is present: VOL- and volume equals 1: NORMAL => VIBRATE VOL- and volume equals 0 and not continuous press: VIBRATE => SILENT VOL+ and in SILENT mode: SILENT => VIBRATE VOL+ and in VIBRATE mode: VIBRATE => NORMAL, volume = 1 If no vibrator is present: VOL- and volume equals 0 and not continuous press: NORMAL => SILENT VOL+ and in SILENT mode: SILENT => NORMAL, volume = 0 VIBRATE_ON and VIBRATE_IN_SILENT settings are not stored/retreived any more. AudioService checks and corrects ringer mode and stream volumes if necessary when reading from DB at boot time. Also: Added dump for stream volumes in AudioService. Added device names missing in AudioSystem for USB accessory and USB device. Issue: 6036529 Issue: 6414950 Issue: 6448163 Change-Id: I77fb821ec63e4e566320cac2701b4ac466e86aef
/frameworks/base/media/java/android/media/AudioSystem.java
|
59f482764e346a5c5ac118ee1f7b24da645c2559 |
|
06-Apr-2012 |
Eric Laurent <elaurent@google.com> |
Added support for USB audio devices Two types of USB audio devices are defined: - USB audio device: the audio device in USB device mode while the Android device is in USB host mode. - USB audio accessory: the audio device in USB host mode while the Android device is in USB device mode. Renamed intents for analog and digital docks to avoid confusion: - ACTION_USB_ANLG_HEADSET_PLUG to ACTION_ANALOG_AUDIO_DOCK_PLUG - ACTION_USB_DGTL_HEADSET_PLUG to ACTION_DIGITAL_AUDIO_DOCK_PLUG Factorized code in AudioService broadcast receiver. Change-Id: I1b6d0257a9d68ecb9495c78c98bac8c67fec7891
/frameworks/base/media/java/android/media/AudioSystem.java
|
505e5c8859f596ed58489be565d6e029314b2ac8 |
|
30-Mar-2012 |
Eric Laurent <elaurent@google.com> |
implemented synchronous audio capture Added the infrastructure to support the synchronization of playback and capture actions on specific events. The first requirement for this feature is to synchronize the audio capture start with the full rendering of a given audio content. The applications can further be extended to other use cases (synchronized playback start...) by adding new synchronization events and new synchronous control methods on player or recorders. Also added a method to query the audio session from a ToneGenerator. Change-Id: I4e47f5108c7cbbd3bd334a7fad9b3b6c5ba55d88
/frameworks/base/media/java/android/media/AudioSystem.java
|
9ac8d0c445a3ccde40c05f0f3ad0ec4e8265d4c6 |
|
07-Mar-2012 |
Eric Laurent <elaurent@google.com> |
AudioService: fix system stream muted by restore Releases prior ICS (included) would persist the stream volumes in the database when muted by silent mode. If the DB was backed up while in silent mode, stream volume was backed up at 0. When restored on a new device, the volume was restored at 0 which was a problem for SYSTEM stream because it would never be corrected as this stream volume is fixed. Added a check on valid volume values when reading settings from the DB and correct the DB if this happens. Change-Id: Ie3b98eb74e10413c22aab7568b83ac3ace5bfc07
/frameworks/base/media/java/android/media/AudioSystem.java
|
cbdb49dc5e1b993a0bc5c68dbfb9486bfa0cd762 |
|
20-Oct-2011 |
Mike Lockwood <lockwood@android.com> |
Simple master volume support Still needs integration with Settings (for persistence) and VolumePanel UI. Change-Id: I9eca92c4b1ef2df2564411006a35753ab9618dce Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/media/java/android/media/AudioSystem.java
|
ee7fea9f2fd536107450204c9c2058bbe215f713 |
|
18-Jan-2012 |
Glenn Kasten <gkasten@google.com> |
Remove dead setRingerMode(mode, mask) Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
/frameworks/base/media/java/android/media/AudioSystem.java
|
9bc8358ddaa01c3490f9709991989633a6a3dd42 |
|
19-Nov-2011 |
Eric Laurent <elaurent@google.com> |
audio framework: manage stream volume per device Improve volume management by keeping track of volume for each type of device independently. Volume for each stream (MUSIC, RINGTONE, VOICE_CALL...) is now maintained per device. The main changes are: - AudioService now keeps tracks of stream volumes per device: volume indexes are kept in a HashMap < device , index>. active device is queried from policy manager when a volume change request is received initalization, mute and unmute happen on all device simultaneously - Settings: suffixes is added to volume keys to store each device volume independently. - AudioSystem/AudioPolicyService/AudioPolicyInterface: added a device argument to setStreamVolumeIndex() and getStreamVolumeIndex() to address each device independently. - AudioPolicyManagerBase: keep track of stream volumes for each device and apply volume according to current device selection. Change-Id: I61ef1c45caadca04d16363bca4140e0f81901b3f
/frameworks/base/media/java/android/media/AudioSystem.java
|
5c17a820f9e46e0756c11795b3e6f89105f2f539 |
|
30-Nov-2011 |
Glenn Kasten <gkasten@google.com> |
Audio Java doc comment typos and minor changes Change-Id: Id6ea6dccb8054c9f05db9a9c045387ce813659e6
/frameworks/base/media/java/android/media/AudioSystem.java
|
ed0079ddddd4070f3369b13b274222da2e69f4b9 |
|
04-Apr-2011 |
Glenn Kasten <gkasten@google.com> |
Miscellaneous code cleanup in audio framework Changes: - Move declaration of kClassPathName to top of file so it can be used in more than one place, instead of "android/media/AudioSystem". - Make private methods static. - Add comment to stream_type, audio_mode, force_use types that they must match values in AudioSystem.java. - Add comment about unused types mp3_sub_format and vorbis_sub_format. - Fix typos. - Use @ in javadoc comments. - Delete dead APIs setMode, getMode, setRouting, getRouting in AudioSystem.java (they are all hidden, deprecated, and unused by rest of framework) - Delete unused private log method. - Fix pathname for android_media_AudioSystem.cpp. - Improve code formatting for space after == and !=. - Add logging of delta for changing audio policy manager ref count. Change-Id: I18037c7beb8ab76d1fda08c11e589f6e591d36e1
/frameworks/base/media/java/android/media/AudioSystem.java
|
8132a8caf36f6c13d679f7275be8e2fd5afd52ba |
|
11-Feb-2011 |
Glenn Kasten <gkasten@google.com> |
Merge "Bug 3352047 Wrong message when adjusting volume"
|
8b4b97a14ad9b5b982d8fe92755efabec8ad0076 |
|
04-Feb-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 3352047 Wrong message when adjusting volume Add hidden AudioManager.getDevicesForStream and output device codes. Change-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947
/frameworks/base/media/java/android/media/AudioSystem.java
|
a25c5d88d17f251262307ce31e799c9cf361d145 |
|
10-Feb-2011 |
Eric Laurent <elaurent@google.com> |
Fix issue 3435692 The problem is that the AudioService is not notified of the death of IAudioFlinger binder interface because no methods was called on AudioFlinger from system_server since the device booted. Therefore, AudioSystem did not created any IAudioFlinger interface in the system_server process. The root cause was always present but more likely to happen on a tablet than on a phone as for instance no beeps are played when volume is adjusted. The fix consists in having AudioSystem explicitly call a method on AudioFlinger when a callback is installed to make sure that an IAudioFlinger binder interface is created regardless of any other activity in the client process. Change-Id: I9df34a36825af0b25cd0246dd02edbd712263f41
/frameworks/base/media/java/android/media/AudioSystem.java
|
25101b0b9a84571ead15b26e9f4cd9c4298d7823 |
|
02-Feb-2011 |
Eric Laurent <elaurent@google.com> |
Fix issue 3371080 Modified default volume control logic in AudioService: 1 IN_CALL volume if in video/audio chat 2 NOTIFICATION if notification is playing or was playing less than 5s ago. 3 MUSIC Modified silent mode: - now also affect MUSIC stream type - entering silent mode when VOL- hard key is pressed once while selected stream volume is already at 0 (except for VOICE_CALL stream). - exiting silent mode when pressing VOL+ hard key while in silent mode Play sound FX (audible selections, keyboard clicks) at a fixed volume. Modified audio framework: - isStreamActive() method now implemented in AudioPolicyManagerBase (previously AudioFlinger) - iStreamActive() now specifies a time window during which the stream is considered active after it actually stopped. Change-Id: I7e5a0724099450b9fc90825224180ac97322785f
/frameworks/base/media/java/android/media/AudioSystem.java
|
8f677d66d9c3ba34c97e69b2bb9e161f129af0ee |
|
15-Nov-2010 |
Jean-Michel Trivi <jmtrivi@google.com> |
Add new audio mode for audio communications other than telelphony. The audio mode MODE_IN_CALL signals the system the device a phone call is currently underway. There was no way for audio video chat or VoIP applications to signal a call is underway, but not using the telephony resources. This change introduces a new mode to address this. Changes in other parts of the system (java and native) are required to take this new mode into account. The generic AudioPolicyManager is updated to not use its phone state variable directly, but to use two new convenience methods, isInCall() and isStateInCall(int) instead. Change-Id: Id744cd26520ea1d1a4795eabe6a1f0c58789af76
/frameworks/base/media/java/android/media/AudioSystem.java
|
21e941bf43362ddc6639a9f2d0828053360f53d7 |
|
06-Oct-2010 |
Praveen Bharathi <pbharathi@motorola.com> |
Added support for dock headset observer Change-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292 Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
/frameworks/base/media/java/android/media/AudioSystem.java
|
23f25cda0c73f8eb878844dea32fb0bd419edca2 |
|
25-Jan-2010 |
Eric Laurent <elaurent@google.com> |
Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active. Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream type is playing. Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
/frameworks/base/media/java/android/media/AudioSystem.java
|
eb14a783be073b5fd6e8c8c9bc87d2d1919f2c9e |
|
17-Dec-2009 |
Eric Laurent <elaurent@google.com> |
Fix issues 2333450 and 2333559: Add new config values to AudioSystem::FOR_DOCK force usage to differenciate car and desk docks. Use a receiver for the sticky Intent.ACTION_DOCK_EVENT in AudioService to detect the type of dock and select force usage accordingly.
/frameworks/base/media/java/android/media/AudioSystem.java
|
6154412ee8e07e9cde129cccb944dd7ed9dcef53 |
|
08-Dec-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Partially fix bug 2111240 Detect docking / undocking event by reporting to the AudioPolicyManager a new forced usage AudioSystem::FOR_DOCK which can take the FORCE_NONE, FORCE_BT_DOCK or FORCE_WIRED_ACCESSORY values. This CL is complemented by an update of the APM to take into account the FOR_DOCK usage.
/frameworks/base/media/java/android/media/AudioSystem.java
|
923d7d721d37f6ba5148e7d79d61a4fa48e79df2 |
|
12-Nov-2009 |
Eric Laurent <elaurent@google.com> |
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast. The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected. Modified HeadsetObserver to broacast a state conforming to java doc. Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not. Removed handling of non standard headset indications from HeadsetObserver. Removed platform specific devices from output devices defined in AudioSystem. Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
/frameworks/base/media/java/android/media/AudioSystem.java
|
4a51c20ce607c74914f90fd897f04080121ac13b |
|
22-Aug-2009 |
Dianne Hackborn <hackbod@google.com> |
I am getting tired of the java doc warnings, so fix them. Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
/frameworks/base/media/java/android/media/AudioSystem.java
|
a553c25b33c99b345cf1c8688f8df0ed8df14e5a |
|
17-Jul-2009 |
Eric Laurent <elaurent@google.com> |
Fix issue 1795088 Improve audio routing code Initial commit for review. Integrated comments after patch set 1 review. Fixed lockup in AudioFlinger::ThreadBase::exit() Fixed lockup when playing tone with AudioPlocyService startTone()
/frameworks/base/media/java/android/media/AudioSystem.java
|
ef02827d4c3b9c0601eddc9c348fc2ea866420a2 |
|
21-Apr-2009 |
Eric Laurent <elaurent@google.com> |
Fix issue 1745312: Various cleanups in media framework AudioTrack, AudioRecord: - remove useless mAudioFlinger member of AudioTrack and AudioRecord. - signal cblk.cv condition in stop() method to speed up stop completion. - extend wait condition timeout in obtainBuffer() when waitCount is -1 to avoid waking up callback thread unnecessarily AudioFlinger: - remove some warnings in AudioFlinger.cpp. - remove function AudioFlinger::MixerThread::removetrack_l() as its content is never executed. - remove useless call to setMasterVolume in AudioFlinger::handleForcedSpeakerRoute(). - Offset VOICE_CALL stream volume to reflect actual volume that is never 0 in hardware (this fix has been made in the open source): 0.01 + v * 0.99. AudioSystem.java: - correct typo in comment IAudioflinger, IAudioFlingerClient: - make AudioFlinger binder interfaces used for callbacks ONEWAY. AudioHardwareInterface: - correct routeStrings[] table in AudioHardwareInteface.cpp
/frameworks/base/media/java/android/media/AudioSystem.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/media/java/android/media/AudioSystem.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/media/java/android/media/AudioSystem.java
|
d24b8183b93e781080b2c16c487e60d51c12da31 |
|
11-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@130745
/frameworks/base/media/java/android/media/AudioSystem.java
|
f013e1afd1e68af5e3b868c26a653bbfb39538f8 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
/frameworks/base/media/java/android/media/AudioSystem.java
|
e70cfafe580c6f2994c4827cd8a534aabf3eb05c |
|
21-Nov-2008 |
Jean-Baptiste Queru <jbq@google.com> |
Change ROUTE_ALL from 15 (4-bit mask) to -1 (32-bit mask) to allow for more routes in the future.
/frameworks/base/media/java/android/media/AudioSystem.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/media/java/android/media/AudioSystem.java
|