summaryrefslogtreecommitdiffstats
path: root/media/libmedia/AudioSystem.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2011-02-02 09:33:30 -0800
committerEric Laurent <elaurent@google.com>2011-02-03 09:26:24 -0800
commiteda6c364c253ba97ee45a3adeb8c2b45db1f81db (patch)
tree7e8011600b617e524645928514e5eaf3f867bb75 /media/libmedia/AudioSystem.cpp
parentab8a0badb8fb1e294dacf2eb6a891439f348aff9 (diff)
downloadframeworks_av-eda6c364c253ba97ee45a3adeb8c2b45db1f81db.zip
frameworks_av-eda6c364c253ba97ee45a3adeb8c2b45db1f81db.tar.gz
frameworks_av-eda6c364c253ba97ee45a3adeb8c2b45db1f81db.tar.bz2
Fix issue 3371080
Modified default volume control logic in AudioService: 1 IN_CALL volume if in video/audio chat 2 NOTIFICATION if notification is playing or was playing less than 5s ago. 3 MUSIC Modified silent mode: - now also affect MUSIC stream type - entering silent mode when VOL- hard key is pressed once while selected stream volume is already at 0 (except for VOICE_CALL stream). - exiting silent mode when pressing VOL+ hard key while in silent mode Play sound FX (audible selections, keyboard clicks) at a fixed volume. Modified audio framework: - isStreamActive() method now implemented in AudioPolicyManagerBase (previously AudioFlinger) - iStreamActive() now specifies a time window during which the stream is considered active after it actually stopped. Change-Id: I7e5a0724099450b9fc90825224180ac97322785f
Diffstat (limited to 'media/libmedia/AudioSystem.cpp')
-rw-r--r--media/libmedia/AudioSystem.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp
index 1a3fcd6..9d9b3c0 100644
--- a/media/libmedia/AudioSystem.cpp
+++ b/media/libmedia/AudioSystem.cpp
@@ -169,15 +169,6 @@ status_t AudioSystem::setMode(int mode)
return af->setMode(mode);
}
-
-status_t AudioSystem::isStreamActive(int stream, bool* state) {
- const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
- if (af == 0) return PERMISSION_DENIED;
- *state = af->isStreamActive(stream);
- return NO_ERROR;
-}
-
-
status_t AudioSystem::setParameters(audio_io_handle_t ioHandle, const String8& keyValuePairs) {
const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
if (af == 0) return PERMISSION_DENIED;
@@ -702,6 +693,14 @@ status_t AudioSystem::unregisterEffect(int id)
return aps->unregisterEffect(id);
}
+status_t AudioSystem::isStreamActive(int stream, bool* state, uint32_t inPastMs) {
+ const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
+ if (aps == 0) return PERMISSION_DENIED;
+ *state = aps->isStreamActive(stream, inPastMs);
+ return NO_ERROR;
+}
+
+
// ---------------------------------------------------------------------------
void AudioSystem::AudioPolicyServiceClient::binderDied(const wp<IBinder>& who) {