diff options
author | Glenn Kasten <gkasten@google.com> | 2012-01-09 10:25:00 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-01-09 10:25:00 -0800 |
commit | 879bc64e43d62f2690c77a3282cef2e45d1b76e9 (patch) | |
tree | 40952192d397dcff30df01558c68c11ef675cb7f /services/audioflinger/AudioMixer.cpp | |
parent | 5c7b3bcc88e2b472f1f7b416d89222714b96a567 (diff) | |
parent | 98dd542ffcd3424b1da58bd273c0c1ff5b8c8960 (diff) |
Merge "Replace loop by __builtin_ctz"
Diffstat (limited to 'services/audioflinger/AudioMixer.cpp')
-rw-r--r-- | services/audioflinger/AudioMixer.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/services/audioflinger/AudioMixer.cpp b/services/audioflinger/AudioMixer.cpp index 36cdeb85..bc5cb9b7 100644 --- a/services/audioflinger/AudioMixer.cpp +++ b/services/audioflinger/AudioMixer.cpp @@ -95,16 +95,11 @@ AudioMixer::~AudioMixer() int AudioMixer::getTrackName() { - uint32_t names = mTrackNames; - uint32_t mask = 1; - int n = 0; - while (names & mask) { - mask <<= 1; - n++; - } - if (mask) { + uint32_t names = ~mTrackNames; + if (names != 0) { + int n = __builtin_ctz(names); ALOGV("add track (%d)", n); - mTrackNames |= mask; + mTrackNames |= 1 << n; return TRACK0 + n; } return -1; |