am 38f6bdc4: am 0a08029f: Fix issue 2306779: Runtime restart - Init failed at android.media.ToneGenerator.

Merge commit '38f6bdc4187f27f86c7f77c88095c663e005dbf4' into eclair-mr2-plus-aosp

* commit '38f6bdc4187f27f86c7f77c88095c663e005dbf4':
  Fix issue  2306779: Runtime restart - Init failed at android.media.ToneGenerator.
This commit is contained in:
Eric Laurent
2009-12-07 12:38:45 -08:00
committed by Android Git Automerger

View File

@@ -1111,7 +1111,6 @@ void AudioFlinger::PlaybackThread::destroyTrack_l(const sp<Track>& track)
{
track->mState = TrackBase::TERMINATED;
if (mActiveTracks.indexOf(track) < 0) {
LOGV("remove track (%d) and delete from mixer", track->name());
mTracks.remove(track);
deleteTrackName_l(track->name());
}
@@ -1511,6 +1510,7 @@ int AudioFlinger::MixerThread::getTrackName_l()
// deleteTrackName_l() must be called with ThreadBase::mLock held
void AudioFlinger::MixerThread::deleteTrackName_l(int name)
{
LOGV("remove track (%d) and delete from mixer", name);
mAudioMixer->deleteTrackName(name);
}
@@ -1922,6 +1922,9 @@ AudioFlinger::DuplicatingThread::DuplicatingThread(const sp<AudioFlinger>& audio
AudioFlinger::DuplicatingThread::~DuplicatingThread()
{
for (size_t i = 0; i < mOutputTracks.size(); i++) {
mOutputTracks[i]->destroy();
}
mOutputTracks.clear();
}
@@ -2044,17 +2047,6 @@ bool AudioFlinger::DuplicatingThread::threadLoop()
outputTracks.clear();
}
{ // scope for the mLock
Mutex::Autolock _l(mLock);
if (!mStandby) {
LOGV("DuplicatingThread() exiting out of standby");
for (size_t i = 0; i < mOutputTracks.size(); i++) {
mOutputTracks[i]->destroy();
}
}
}
return false;
}