summaryrefslogtreecommitdiffstats
path: root/media/libmedia/ToneGenerator.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2013-03-25 14:38:10 -0700
committerEric Laurent <elaurent@google.com>2013-03-25 14:38:10 -0700
commit6eb954f54e4a92b3c4bfbee177a3259d1320500d (patch)
tree2e95bf7721849c2721eb13494b1cc76c6ff5dd02 /media/libmedia/ToneGenerator.cpp
parent09bfd026b9f4fe004cba05e2eaf2dee38913bc7e (diff)
downloadframeworks_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.cpp6
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;