summaryrefslogtreecommitdiffstats
path: root/services
Commit message (Collapse)AuthorAgeFilesLines
* Fix issue 2909189: System property ro.audio.silent no longer mutes system.Eric Laurent2010-08-111-4/+4
| | | | | | | Fixed regression introduced by commit 2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee: master mute was not working if no effect chains were present on session 0. Change-Id: I66d107e045d159cb94d29c7476fa1e12d92f2ae7
* Fixed several audio effects problems.Eric Laurent2010-08-091-5/+8
| | | | | | | | | | - Fixed constant inversions in AudioEffect.java - Do not return error when enabling an already enabled effect - Update cached effect state in native AudioEffect class when effect is enabled/disabled by command() method - Remove click when restarting effect during disable sequence - Fixed problem in master mute management when volume control is delegated to effect. Change-Id: I6df4ce9fcc54fdc7345df858f639d20d802d6712
* resolved conflicts for merge of 27eecb70 to gingerbreadJean-Baptiste Queru2010-07-302-2/+0
| | | | Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
* Fixed underrun in audioflinger mixer.Eric Laurent2010-07-291-2/+2
| | | | | | | | | | | | | When all audio tracks have been disabled and the mixer is running idle before the output stream is placed in standby, the mixer sometimes fails to write to the output stream on time to avoid underrun. This is because the sleep period used to wait before the next write to output stream is too close to the actual buffer duration. In fact this sleep time is not critical as if we write too early to the output stream, the kernel driver will wait for free buffers from the audio DSP DMA and we will sleep anyways. The fix consists in dividing the calculated wait period by 2 to increase the margin. Change-Id: I5730887dc2ccce2a511bc858494a6f7da6b392a0
* Allow creation of an audio effect on a session with no audio tracks.Eric Laurent2010-07-292-16/+72
| | | | | | | | This is necessary to allow creating and enabling an effect attached to a particular player session before the playback is started. As a matter of fact, the implementation of the mediaplayer does not create the AudioTrack before playback starts. Change-Id: I1266e8885f9d756acc949303321aaac0fbf83e34
* Audio effects: modified command() parameter types.Eric Laurent2010-07-282-26/+97
| | | | | | | The type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command() function have been modified from int to uint32_t. This is more consistent with their role. Change-Id: I84d289fc262d6753747910f06f485597dfee6591
* Audio policy manager changes for audio effectsEric Laurent2010-07-205-200/+652
| | | | | | | | | | | | | | | Added methods for audio effects management by audio policy manager. - control of total CPU load and memory used by effect engines - selection of output stream for global effects - added audio session id in parameter list for startOutput() and stopOutput(). this is not used in default audio policy manager implementation. Modifications of audio effect framework in AudioFlinger to allow moving and reconfiguring effect engines from one output mixer thread to another when audio tracks in the same session are moved or when requested by audio policy manager. Also fixed mutex deadlock problem with effect chains locks. Change-Id: Ida43484b06e9b890d6b9e53c13958d042720ebdb
* Fixed problems in audio effect volume control.Eric Laurent2010-07-192-10/+24
| | | | | | | | | | Fixed the following problems in audio effect volume control in AudioFlinger: - Make sure that the volumes returned by EffectChain::setVolume_l() are correct even is no change is detected since last call - Do not use isEnabled() to validate volume control but mState >= ACTIVE instead as the volume control must be also active in STOPPING and STOPPED states. Change-Id: Id62da3164fad500ee8a5efd6cd78c77e8fdcb541
* Several improvements in audio effects volume control.Eric Laurent2010-07-152-70/+73
| | | | | | | | | | - Fixed crash when deleting an effect chained before an effect having volume control - Changed EFFECT_FLAG_VOLUME_CTRL to implicitely include EFFECT_FLAG_VOLUME_IND (not need to set both in effect descriptor). - Volume control changes from one effect to another if needed according to effect enable state - EFFECT_CMD_SET_VOLUME is only sent when their is an actual change in volume Change-Id: Ieebaf09157e2627366023569d95516646e03e26c
* added BinderService<> template to help creating native binder servicesMathias Agopian2010-07-144-17/+15
| | | | Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
* move native services under services/Mathias Agopian2010-07-1434-0/+19972
moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8