AudioPlaybackCapture: solve second output data consumed low issue
PatchRecord is in the output thread of audiohal. Every time the track
is consumed by the mixer and the ReleaseBuffer is executed, the data
obtainBuffer is written into the PatchBuffer. When a third-party application
uses AudioTrack::setPlaybackRate to timestretch the audio data, PatchRecord
and PatchTrack need to update framecount and speed at the same time. And the
remotesubmix thread where PatchTrack is located needs to perform timestretch
processing synchronously to solve the problem of Track::interceptBuffer
dropping frames.
Test: atest AudioPlaybackCaptureTest
Bug: 345666452
Change-Id: I39962c754426485d5bd60be21eceba11a171abd6
Signed-off-by: guonaichao <guonaichao@xiaomi.com>
Loading
Please register or sign in to comment