diff options
author | Eric Laurent <elaurent@google.com> | 2013-03-25 14:38:10 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2013-03-25 14:38:10 -0700 |
commit | 6eb954f54e4a92b3c4bfbee177a3259d1320500d (patch) | |
tree | 2e95bf7721849c2721eb13494b1cc76c6ff5dd02 /media/libmedia/ToneGenerator.cpp | |
parent | 09bfd026b9f4fe004cba05e2eaf2dee38913bc7e (diff) | |
download | frameworks_av-6eb954f54e4a92b3c4bfbee177a3259d1320500d.zip frameworks_av-6eb954f54e4a92b3c4bfbee177a3259d1320500d.tar.gz frameworks_av-6eb954f54e4a92b3c4bfbee177a3259d1320500d.tar.bz2 |
ToneGenerator: optimize silent tone
Do not create an AudioTrack and start playback when a silent
tone is requested to ToneGenerator.
Bug 7946399
Change-Id: Ib9282871a56f7a862af7d1504ce3fbd7c18e34e2
Diffstat (limited to 'media/libmedia/ToneGenerator.cpp')
-rw-r--r-- | media/libmedia/ToneGenerator.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/media/libmedia/ToneGenerator.cpp b/media/libmedia/ToneGenerator.cpp index 42584fe..1c0268f 100644 --- a/media/libmedia/ToneGenerator.cpp +++ b/media/libmedia/ToneGenerator.cpp @@ -885,6 +885,11 @@ bool ToneGenerator::startTone(tone_type toneType, int durationMs) { if ((toneType < 0) || (toneType >= NUM_TONES)) return lResult; + toneType = getToneForRegion(toneType); + if (toneType == TONE_CDMA_SIGNAL_OFF) { + return true; + } + if (mState == TONE_IDLE) { ALOGV("startTone: try to re-init AudioTrack"); if (!initAudioTrack()) { @@ -897,7 +902,6 @@ bool ToneGenerator::startTone(tone_type toneType, int durationMs) { mLock.lock(); // Get descriptor for requested tone - toneType = getToneForRegion(toneType); mpNewToneDesc = &sToneDescriptors[toneType]; mDurationMs = durationMs; |