diff options
| author | 2009-12-07 18:35:06 -0800 | |
|---|---|---|
| committer | 2009-12-07 18:35:06 -0800 | |
| commit | f997e3a0f9775330ba0d37cf32f627f33b79b79c (patch) | |
| tree | a1a309a8a4e8a1e610b87ebf38b947c40d920d19 /libs/audioflinger/AudioFlinger.cpp | |
| parent | dd3e79014151614a80f3f30b68cecb894502e514 (diff) | |
| parent | bf831e0de0fd1636a7ee2670faed208f96f23f65 (diff) | |
am bf831e0d: am 38f6bdc4: am 0a08029f: Fix issue  2306779: Runtime restart - Init failed at android.media.ToneGenerator.
Merge commit 'bf831e0de0fd1636a7ee2670faed208f96f23f65'
* commit 'bf831e0de0fd1636a7ee2670faed208f96f23f65':
  Fix issue  2306779: Runtime restart - Init failed at android.media.ToneGenerator.
Diffstat (limited to 'libs/audioflinger/AudioFlinger.cpp')
| -rw-r--r-- | libs/audioflinger/AudioFlinger.cpp | 16 | 
1 files changed, 4 insertions, 12 deletions
diff --git a/libs/audioflinger/AudioFlinger.cpp b/libs/audioflinger/AudioFlinger.cpp index f3f6e4fd5519..2024cc0c2255 100644 --- a/libs/audioflinger/AudioFlinger.cpp +++ b/libs/audioflinger/AudioFlinger.cpp @@ -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;  }  |