OSDN Git Service

Fix isssue 2548710: Native AudioTrack resources never freed.
authorEric Laurent <elaurent@google.com>
Wed, 31 Mar 2010 19:21:17 +0000 (12:21 -0700)
committerJean-Baptiste Queru <jbq@google.com>
Tue, 18 May 2010 21:18:57 +0000 (14:18 -0700)
commit558eec80119a8dbd16304d59ab0d66b27d225f95
tree2741e94bc73194fc8a1976b94dffda6797cf15f1
parent9addb68e3be6665b85915c979dbc832c5d36935b
Fix isssue 2548710: Native AudioTrack resources never freed.

The problem is a bug in AudioFlinger::MixerThread::prepareTracks_l() that makes that even if the TrackHandle
is destroyed, the corresponding Track will remain active as long as frames are ready for mixing.
If the track uses shared memory (static mode) and the sound is looped, this track will play for ever.

The fix consists in removing the track from active list immediately if the track is terminated.

Change-Id: Iaa78a91e78d27f5c982218cc55e81702f1610ab2
libs/audioflinger/AudioFlinger.cpp