replicant-frameworks_native/libs/audioflinger
Eric Laurent 7e2aad1e27 Fix issue 2323920: Notification & A2DP audio stutter.
Modified AudioFlinger duplicating output thread so that audio tracks are not mixed until both outputs (A2DP and hardware) have exited standby mode. This avoids to have one output far ahead of the other and audio frames dropped because the compensation mechanism cannot keep up.
Also calculate the maximum wait time in OutputTrack::write() based the on smallest frame count of all output threads instead of the frame count of the thread the OutputTrack is connected to. This avoids starving the thread with the smallest frame count by waiting too long on the other thread.
Since the frame count was reduced on hardware output to reduce latency the difference between A2DP and hardware outputs frame counts had become problematic.
Also increased the number of overflow buffers to cope with bigger timing differences among outputs.
2009-12-22 09:06:46 -08:00
..
A2dpAudioInterface.cpp
A2dpAudioInterface.h
Android.mk
AudioBufferProvider.h
AudioDumpInterface.cpp
AudioDumpInterface.h
AudioFlinger.cpp Fix issue 2323920: Notification & A2DP audio stutter. 2009-12-22 09:06:46 -08:00
AudioFlinger.h Fix issue 2323920: Notification & A2DP audio stutter. 2009-12-22 09:06:46 -08:00
AudioHardwareGeneric.cpp
AudioHardwareGeneric.h
AudioHardwareInterface.cpp
AudioHardwareStub.cpp
AudioHardwareStub.h
AudioMixer.cpp
AudioMixer.h
AudioPolicyManagerGeneric.cpp
AudioPolicyManagerGeneric.h
AudioPolicyService.cpp
AudioPolicyService.h
AudioResampler.cpp
AudioResampler.h
AudioResamplerCubic.cpp
AudioResamplerCubic.h
AudioResamplerSinc.cpp
AudioResamplerSinc.h