alsa_sound : porting audio changes from 2.5
-Proxy buffering can overflow if BT playback setup takes a lot of time -Fix this by increasing the proxy buffer size so that we will end up buffering the additional data that can come in during this time. CRs-Fixed: 514100 -There were glitches heard at times when listening to music over Bluetooth -The issue was that due to slight scheduling delays when the proxy read thread in the HAL wakes up there could be more than one period size worth of data in the proxy. This would result in the proxy copying out only one period but incrementing the buffer by whatever thats available. This resulted in a glitch -Fix this, we have to make sure that the pointer is incremented only by the amount of data thats actually read from the proxy. CRs-Fixed: 514100 -There are instances when delays in the system setup causes buffering to fill up in Proxy. This results in Proxy buffers being very close to full leading to choppy audio. -To fix this we need to flush the data in the proxy whenever the high water mark is reached. The water mark is set to 40000 frames for now. This can be changed by changing the AFE_PROXY_HIGH_WATER_MARK_FRAME_COUNT. CRs-Fixed: 514100 CRs-Fixed: 499841 -When touch tone plays for the first time while music playback is going on, a short break in music happens. -In checkDeviceMuteStrategies whenever there is a change in device on an output, tempMute is set. However the same tempMute is used to decide whether to mute an already existing session on a different output irrespective of the current active device on that output. Due to this mute and unmute happens even when there is no real change in device on a particular output which might cause a short break in playback. -Add check to ensure that active streams are temporarily muted only in case of a change in device on that particular output.CRs-Fixed: 495009 - Volume is not applied if playback is done on direct output with stream as VOICE_CALL and mode value set to MODE_NORMAL - Voip volume is not applied in HAL if mode is not set - Set voip volume explicitly in HAL everytime. CRs-Fixed: 493282 - Voip volume is not applied on direct output and as a result volume cannot be adjusted for some voicemail applications which opens direct output stream with mode set to IN_CALL - Voice volume is applied only for primary output and volume command is not sent to HAL for direct output - Call voice volume api for direct output as well from policy manager. CRs-Fixed: 493282 -While switching from Headset to speaker during FM play, stream is unmuted because of less latency time -Increased temp mute time to ensure unmute after device switch CRs-Fixed: 493180 -When switching between headset and speaker, stream is not muted, which needs more time to route proper device. -Fixed by adding IsFMEnabled from getParameters() to maintain fm device status,in order to Increased temp mute time to ensure more mute time when switch. CRs-Fixed: 493180 -Crash is observed when Hungouts and Gtalk start running simultaneously -Dirver does not support multiple instances of voip call. -Avoid creating multiple voip session if mVoipStreamCount is already 2. CRs-Fixed: 440160 Change-Id: I2e6dc0e7f5b49aab6350332dbdf0632b6b4e1a6c
Loading
Please register or sign in to comment