summaryrefslogtreecommitdiffstats
path: root/audio
Commit message (Collapse)AuthorAgeFilesLines
* audio policy: fix gapless playback when effects enabledEric Laurent2013-10-141-5/+40
| | | | | | | | | | | | Do not allow offloading if one non offloadable effect is enabled. This prevents from creating an offloaded track and tearing it down immediately after start when audioflinger detects there is an active non offloadable effect. Not doing so breaks gapless playback because AwesomePlayer will always be able to open an offloaded track which will not be compatible with the previous PCM track and Audiosink::open() will not recycle it. Bug: 11181933. Change-Id: I6d163806849d9093b9ec701ba8e8c1ccb658e3c8
* audio policy: fix direct output selectionEric Laurent2013-10-071-46/+45
| | | | | | | | | | commit a527ffd broke the selection of an available direct output profile in getProfileForDirectOutput(). getProfileForDirectOutput() should check for direct output profiles regardless of the flags provided to getOutput(). Bug: 11051912. Change-Id: I4a84734331bfed03d6024ea1c2e8776c27d0b28f
* audio policy: fix DTMF tones volume while in callEric Laurent2013-10-031-1/+11
| | | | | | | | | When voice call stream volume is at 0, DTMF are not heard at all. DTMF volume should follow the behavior of voice call volume which is never completely muted. Bug: 10932676. Change-Id: Iaf0e33284be75b00516a837907e66be3123e5331
* remove audio HAL warning when inserting a headsetEric Laurent2013-09-301-1/+7
| | | | | | | | | A valid offload info structure must be provided when opening an offload output stream in checkOutputsForDevice() upon headset insertion. Bug: 8174034. Change-Id: Id800a206536e5ce979febf89747a51db581c53b6
* audio: fix remote submix sampling ratesEric Laurent2013-09-261-2/+2
| | | | | | | | | Only list 48000 Hz in supported sampling rates for remote submix output and input stream profiles to avoid mismatch betwen playback and capture. Bug: 10900252. Change-Id: Id96e914caeb42e8f4aa5fe4e55e19156cdd67b58
* audio policy: add support for audio effect offloadEric Laurent2013-09-171-20/+64
| | | | | | | | | | | Add rules to select the appropriate output for global effects. Move global effects if needed when an offloaded output is created or released. Bug: 8174034. Change-Id: I0bbd8e9f8aa717f672462dd74ba0d01eaef1fda7
* AudioPolicyManageBase changes to enable HOTWORD audio sourceEric Laurent2013-09-091-8/+22
| | | | | | | | | - This change enables HOTWORD audio source to be preempted by any other audio source Bug: 10640877. Change-Id: I6f7acbe95a6521306db70ad73260d2ba7b38b940
* audio policy: remove verbose logging.Eric Laurent2013-08-301-1/+1
| | | | Change-Id: I268935bd8f7e58f90c698c098686a04681b43887
* audio policy: disable audio offloading with videoEric Laurent2013-08-301-2/+9
| | | | | | | Do not enable offloading of audio decompression when playing video. Change-Id: I6ee8b59370219f5ef810a99a27ba4a1cf222b55b
* audio policy: allow virtual input even if there are active inputsChong Zhang2013-08-241-1/+1
| | | | | | Bug: 10460751 Change-Id: Ic6fcd14162e9c6e03366d887063321e21fcf14cd
* Automatically enable/disable remote submix when input started.Jeff Brown2013-08-192-1/+32
| | | | | | | | When recording from the audio submix begins, enable the remote audio submit output device. When it ends, disable it. Bug: 10265163 Change-Id: Ia0dc2e20623bb834d06561469ce856688991243b
* Code changes for audio offload supportRichard Fitzgerald2013-07-244-40/+112
| | | | | | | | | | | | - Share existing offload output if compatible instead of creating a new one. Hardware has limited number of offload channels (possible only 1) so we must use as few as possible - Changes to routing handling for offloaded outputs Change-Id: I11111d8f504828595bd8dbf66444cbd1202e7192 Signed-off-by: Eric Laurent <elaurent@google.com>
* am 8e7e4254: am e92d6238: audio policy: apply default device volumeEric Laurent2013-07-151-1/+1
|\ | | | | | | | | * commit '8e7e42547116b1d5f49118ba41946b2906ad3936': audio policy: apply default device volume
| * audio policy: apply default device volumeEric Laurent2013-07-151-1/+1
| | | | | | | | | | | | | | | | | | Make sure that we apply default device volume to active outputs in case no specific volume for selected device is received afterward. Bug: 9760269. Change-Id: I216de40396e1075e77493c97e8b192cd3a31d546
* | Add audio policy API changes for audio offloadRichard Fitzgerald2013-06-274-8/+31
|/ | | | | | | | | | | | Changes to the API of audio policy for audio offload support: - Add isOffloadSupported() function - Add OUTPUT_FLAG_OFFLOAD - Extend AudioOutputDescriptor to include a sharing count for direct outputs - Pass audio_offload_info_t when opening output streams Change-Id: I5ad26418fdb286eb7ae299d586dd1fd525d48ab9 Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Eric Laurent <elaurent@google.com>
* audio policy: fix device selection in startInput()Eric Laurent2013-05-171-0/+4
| | | | | | | | | | | Check again input device selection when capture starts in case conditions have changed since the input stream was opened. This is related to but does not fix issue 8761558. It makes the selection of BT SCO device consistent. Bug: 8761558 Change-Id: I386b638e9c3238711e16fb848449af561624359e
* Add liblogYing Wang2013-04-091-1/+2
| | | | | Bug: 8580410 Change-Id: Ib86983540b34e8c9083979fdd21a17715ec53f80
* audio policy: reuse direct output when possibleEric Laurent2013-04-041-11/+36
| | | | | | | | | | | | | | | | | | | | | Modified getOutput() logic to not systematically open a new direct output when a profile matches a request. This causes a problem when transitioning between two multichannel tracks as the audio HAL will most of the times only support one direct output stream open at a time. Instead, reuse an open output if all the parameters match or force close the output before reopening it. Also modify releaseOuput(): - close a direct output only if no client is using it anymore - call closeOutput() instead of removing the output from the open output list: this factors in code executed when closing an output stream. Bug 8388941 Change-Id: Ic3d3beb21063622ddf57a5b932f93d56f2986f54
* audio policy: fix music glitch when starting callEric Laurent2013-03-251-67/+68
| | | | | | | | | | | | | | | When answering a call in silent mode, music playing over A2DP was not immediately muted by current audio policy manager logic. The fix consists in muting media strategy on all output streams immediately when entering in call. Also add methods to AudioOutputDescriptor to report recent global, per strategy and per stream activity. Bug 8315512 Change-Id: I4a90eb05db50e4f22374d02b1e647e8662f6bec6
* audio policy: fix in call capture deviceEric Laurent2013-03-051-2/+8
| | | | | | | | Allow use of default capture device when AUDIO_SOURCE_VOICE_UPLINK is specified and the platform does not support AUDIO_DEVICE_IN_VOICE_CALL. Change-Id: Ibbc314f60c91e5a0fa75d57878f2d2a96ef2d83b
* audio policy: fix music glitch with touch soundsEric Laurent2013-03-041-3/+12
| | | | | | | | | | | | | | | | | There is a brief music interruption when a touch sound is played the first time after the headset insertion. This is due to a bug in audio policy manager logic to prevent volume bursts while changing device while music is playing. The fix consists in muting music only on current output stream when changing device, not all output streams. Also prevent unecessary device change if the requested device is not supported by the output stream profile. Bug: 8301565 Change-Id: I00daab19bbdda10ca856a05fa32a1e333e1b9469
* Merge "audio policy: fix in call audio setup delay"Eric Laurent2013-02-111-5/+5
|\
| * audio policy: fix in call audio setup delayEric Laurent2013-02-111-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | There is a delay inserted by audio policy manager before switching device when entering in call mode to allow music playback to be muted before the device actually switches. This delay can be significant when high latency outputs (e.g. deep buffers) are present and should not be applied if the output is not active. Issue 7612431. Change-Id: I04b666769033dbfdc861752b030d3f7bdffe9435
* | Identify remote stream activity, used for notification routingJean-Michel Trivi2013-02-112-1/+33
|/ | | | | | | | | | | | Add support for checking remote stream activity. Don't route notifications like media when media active remotely. Add remote stream activity query in audio policy HAL. Bug 7485803 Change-Id: Ifb722c7f9ffbfbdc877fec5156bcfc09bec40651
* audio policy: added front + back micEric Laurent2013-01-221-0/+1
| | | | | | | Added definition to parse front + back mic from input descriptors in audio_policy.conf file. Change-Id: I9ebdeac664e12104589a52d15acbbfc4db787923
* Merge "audio policy: fix notification start delay"Eric Laurent2012-11-081-3/+16
|\
| * audio policy: fix notification start delayEric Laurent2012-11-071-3/+16
| | | | | | | | | | | | | | | | | | | | The mechanism delaying notifications in case of muliple active outputs with long latencies must take into account recently paused audio tracks. Bug 7400428. Change-Id: I4ac9dfac81336e33f475b4f28df82713707d0c46
* | am c8bc2286: am 7aab5b0f: Merge "Close a newly opened direct output if its ↵Jason Simmons2012-11-081-0/+1
|\ \ | |/ |/| | | | | | | | | parameters are invalid" into jb-mr1-aah-dev * commit 'c8bc22869096ee413717102d3f5d0ca804cc3174': Close a newly opened direct output if its parameters are invalid
| * Close a newly opened direct output if its parameters are invalidJason Simmons2012-10-311-0/+1
| | | | | | | | Change-Id: I27ac015217480a854d25273ab9498949971b411a
* | audio policy: fix volume change when disabling SCOEric Laurent2012-10-301-1/+4
|/ | | | | | | | | | | | commit 76e97d39 introduced a regression by having setDeviceConnectionState() force a device change on duplicated outputs even if the selected device is 0. This also forces a device 0 for the two outputs it is duplicated to, which may override a valid device selection on those outputs and apply default volumes. Bug 7429869. Change-Id: I37dd66343c54eb27e420089edbda04444fa1e2c6
* Fix a parse error in checkOutputForDeviceJohn Grossman2012-10-291-2/+2
| | | | | | | | | | | Fix a small parsing error in parsing the supported formats and sample rates of a stream out with dynamic values for these parameters. The channel mask parser was properly skipping the "=" in the setting string, but formats and sample rates were not (cauing the first reported format and sample rate to end up being skipped) Change-Id: Id227a44f6b5fc0c223f2ce74f94ebb6abc5fa77d Signed-off-by: John Grossman <johngro@google.com>
* audio policy: active analog dock force usageEric Laurent2012-10-261-1/+2
| | | | | | | | Qualify the selection of the analog dock for media by the force use. Bug 7302106. Change-Id: I2ea48fd43866ce8491085bba72a27751b2203401
* Merge "audio policy: fix scanning of supported devices" into jb-mr1-devEric Laurent2012-10-181-2/+2
|\
| * audio policy: fix scanning of supported devicesEric Laurent2012-10-171-2/+2
| | | | | | | | | | | | | | | | | | | | Fix is a bug in checkOutputsForDevice() which makes that we can try to reopen an output stream after a new device is connected because we believe that no opened output is available for this device. Bug 7369475. Change-Id: I2290a9b5ba102657cda495fbb8a995e0003b883a
* | Merge "audio policy: tune voice/video chat volumes" into jb-mr1-devEric Laurent2012-10-181-18/+20
|\ \ | |/ |/|
| * audio policy: tune voice/video chat volumesEric Laurent2012-10-171-18/+20
| | | | | | | | | | | | | | | | | | Add new volume curves for VOICE_CALL stream type to improve voice/video chat volume on speakers. Bug 7346643. Change-Id: Ib282a97570d2234deec6b58391bdfc45846d9cc0
* | audio policy: update output delayMs in setPhoneStateSathishKumar Mani2012-10-171-0/+16
|/ | | | | | | | | | | | | - Issue: When call is connected in HDMI while playing music, Playback is routed to phone shortly - Cause: delayMs is not updated correctly, and no delay is set when setOutputDevice is called - Fix: update delayMs with biggest mOutput latency and mute STRATEGY_MEDIA on all outputs Bug: 7268860 Change-Id: I12b75443a29ab8485314bd0cbfe5ee4789be5c29 Signed-off-by: Iliyan Malchev <malchev@google.com>
* Merge "audio policy: do not route in call audio to HDMI" into jb-mr1-devEric Laurent2012-10-161-20/+24
|\
| * audio policy: do not route in call audio to HDMIEric Laurent2012-10-161-20/+24
| | | | | | | | | | | | | | | | | | In call audio shuold not be routed to HDMI, S/PDIF or USB by default as most platform do not support it. Bug 7339490. Change-Id: Iac4803f3fbde0c321fc7b37ab7ba34af6a16b4aa
* | Initialize mStrategyMutedByDeviceMarco Nelissen2012-10-161-0/+3
| | | | | | | | | | | | Valgrind found this Change-Id: I24c640c2b0b6cac129c23bfc18828aff005ec952
* | Remote audio submix always has priority for media, only plays mediaJean-Michel Trivi2012-10-111-5/+5
|/ | | | | | | | | | | Don't use force use mechanism for remote audio submix routing. Prevent streams of strategy sonification to be played over remote audio submix (e.g. WFD) and HDMI Bug 7318180 Change-Id: Ic5c87d3c568873dffea9002cf87ecf42b403cde6
* AudioPolicyManager supports querying active record sourcesJean-Michel Trivi2012-10-102-0/+20
| | | | | | | | | Add support for querying whether there is currently a recording underway from the specified audio source. Bug 7314859 Change-Id: I8894845b176241134870af5df2bebc5ef27e4de4
* audio policy: add forced uses for systemEric Laurent2012-10-081-13/+18
| | | | | | | | | | | | | The volume and routing policy of AUDIO_STREAM_ENFORCED_AUDIBLE is now controlled by AudioService by means of new forced use type AUDIO_POLICY_FORCE_FOR_SYSTEM with config AUDIO_POLICY_FORCE_SYSTEM_ENFORCED. Property ro.camera.sound.forced is not used anymore. Bug 7032634. Change-Id: I742b0eebbe6b013f61d199846454a06411b52bc8
* audio policy: force device update if disconnectedEric Laurent2012-09-261-1/+4
| | | | | | | | | | | Force the new device selection to be applied when a device is disconnected even if none is select. This is to indicate to the audio HAL that current device selection is not valid anymore even if no new device is selected because no audio track is active. Bug 7141149. Change-Id: Iade02fb53a4cc2051fce9da07870c5391396b696
* audio policy: fix crash when closing HDMI outputEric Laurent2012-09-251-0/+1
| | | | | | | | | When a direct output is closed, the vector containing the previously opened outputs must also be updated. Bug 7157451. Change-Id: I575b1f4928cf7527a4a98632fdec7600664a1e1c
* Support audio recording while remote submix is activeJean-Michel Trivi2012-09-181-2/+18
| | | | | | | When evaluating if an audio record is active, do not count inputs opened on "virtual" devices, such as remote submix, as active. Change-Id: If19c321cf673e3bdf4c3f81e73c163190df7c21e
* audio: new audio devices enumsEric Laurent2012-09-073-90/+170
| | | | | | | | | | Changes for new audio devices enums: - legacy audio HAL wrapper provides conversion between new and old device enums. It exposes a rev 2.0 audio device API to the audio framework and allow legacy implementation to use old device enums. - AudioPolicyManager: use standard enum value for no device (0). Change-Id: I855d72291d672cdd8a6641bedb228634a54b7d9d
* Update Audio Policy Manager for remote submixJean-Michel Trivi2012-09-071-6/+33
| | | | | | | | | | | | Define a new forced mode to route media to remote submix. Update media routing rules according to mode. Modify device connection management for remote submix. Note that this CL doesn't implement changes to not prevent audio recording when WFD is on, as audio recording is currently limited to one input. Change-Id: I458fe1802705da2d091ff82e536dc3e7f092f291
* audio policy: fix ringtone volume on headphonesEric Laurent2012-09-051-2/+3
| | | | | | | | | | | When limiting ringtone volume because headphones are connected and music is playing, the volume was not limited against the right music volume. The is because the device used for music (headphone) is not the same as the one used for ringtone (headphone + speaker). Bug 6816207. Change-Id: I3342be1789a1b7c58705812335b788f030bc6d76
* Update AudioPolicyManagerBase to only use audio_devices_tJean-Michel Trivi2012-08-241-123/+129
| | | | | | | | | | | | The AudioPolicyManagerBase implementation was using some device enum values from AudioSystemLegacy.h, of type audio_devices, and some from /system/audio.h, of type audio_devices_t. Now only uses audio_devices_t, and associated functions to inspect what audio device type they correspond to. Added #define to represent "no audio device" to clarify code. Removed unused variable in AudioPolicyManagerBase::startOutput() Change-Id: Ibec311dac550d6a806397377206a43bc708914c0