summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2013-08-19 18:19:28 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-08-19 18:19:28 -0700
commitd6a2f3f03197998f44374e68ba1d838a7ebb180d (patch)
tree84d5ebd4e94ba3bf449525685b601b3546d8e3ce
parent61bd7a0281ffecb99b27bff63334c559df7357e6 (diff)
parent9f178e705836d9ac8de64487929732c302644bee (diff)
downloadframeworks_av-d6a2f3f03197998f44374e68ba1d838a7ebb180d.zip
frameworks_av-d6a2f3f03197998f44374e68ba1d838a7ebb180d.tar.gz
frameworks_av-d6a2f3f03197998f44374e68ba1d838a7ebb180d.tar.bz2
am 9f178e70: am 99ad37a4: Merge "AudioSystem: new audioflinger restart detection" into klp-dev
* commit '9f178e705836d9ac8de64487929732c302644bee': AudioSystem: new audioflinger restart detection
-rw-r--r--include/media/AudioSystem.h3
-rw-r--r--media/libmedia/AudioSystem.cpp8
2 files changed, 11 insertions, 0 deletions
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h
index 77f7d9a..b96b8a1 100644
--- a/include/media/AudioSystem.h
+++ b/include/media/AudioSystem.h
@@ -253,6 +253,9 @@ public:
// bit rate, duration, video and streaming or offload property is enabled
static bool isOffloadSupported(const audio_offload_info_t& info);
+ // check presence of audio flinger service.
+ // returns NO_ERROR if binding to service succeeds, DEAD_OBJECT otherwise
+ static status_t checkAudioFlinger();
// ----------------------------------------------------------------------------
private:
diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp
index a571fe4..8033c2c 100644
--- a/media/libmedia/AudioSystem.cpp
+++ b/media/libmedia/AudioSystem.cpp
@@ -76,6 +76,14 @@ const sp<IAudioFlinger>& AudioSystem::get_audio_flinger()
return gAudioFlinger;
}
+/* static */ status_t AudioSystem::checkAudioFlinger()
+{
+ if (defaultServiceManager()->checkService(String16("media.audio_flinger")) != 0) {
+ return NO_ERROR;
+ }
+ return DEAD_OBJECT;
+}
+
status_t AudioSystem::muteMicrophone(bool state) {
const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
if (af == 0) return PERMISSION_DENIED;