diff options
author | Ashish Jain <ashishj@codeaurora.org> | 2015-10-27 12:11:18 +0530 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-02-01 17:23:51 -0800 |
commit | da6f52df74ff57a79ab5c338b6f7b4124b47e133 (patch) | |
tree | 11e7e77d1e49feb946b82661348fd4762f7a0da4 /services/audioflinger/FastThread.h | |
parent | 0276a2fa56d6d8074e88940a4d21caa3e54f4972 (diff) | |
download | frameworks_av-da6f52df74ff57a79ab5c338b6f7b4124b47e133.zip frameworks_av-da6f52df74ff57a79ab5c338b6f7b4124b47e133.tar.gz frameworks_av-da6f52df74ff57a79ab5c338b6f7b4124b47e133.tar.bz2 |
AudioMixer: Clear bufferProviders in correct order
Issue:
While switching between clips with different track properties, when
earlier track is cleared, postDownMixerBufferProvider
tries to release a buffer to serverProxy instead of the original owner
i.e. downMixBufferProvider. This illegal releaseBuffer call to serverProxy
results in an assert in AudioTrackShared.
-In issue scenario, data flow path in AudioMixer is,
ServerProxy-->-->DownMixer-->PostDownMixer-->Resampler,
- Clear for downMixerBufferProvider ensures that all serverproxy
buffers are returned back.
-This also causes the postDownMixer to get connected with serverProxy.
-Hence on delete of postDownMixer illegal releaseBuffer for
serverProxy gets executed.
Fix:
Clear PostDownMixerBufferProvider before clearing DownMixerBufferProvider
to ensure that buffers are release to right owners.
Change-Id: I982366660d0a1e04be8cca6dabe758221dedf9b1
Diffstat (limited to 'services/audioflinger/FastThread.h')
0 files changed, 0 insertions, 0 deletions