summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2011-08-02 13:33:41 -0700
committerMarco Nelissen <marcone@google.com>2011-08-09 10:21:10 -0700
commit3a34befc6fb04a4945a849e8bda8b84e4bf973fe (patch)
tree80dee67385fb78763b2c25f6dce9ed122bfd9aee /include
parenta1f10e8959cd4656aedb2613e855342102e59555 (diff)
downloadframeworks_av-3a34befc6fb04a4945a849e8bda8b84e4bf973fe.zip
frameworks_av-3a34befc6fb04a4945a849e8bda8b84e4bf973fe.tar.gz
frameworks_av-3a34befc6fb04a4945a849e8bda8b84e4bf973fe.tar.bz2
Keep effects sessions active when the caller dies.
Don't remove effects until the session they are in goes away or all AudioEffects have been explicitly released. This allows the control panel process to die without stopping the effects. Change-Id: I4496e5df080230ca1af149dec95c1309ab8ea888
Diffstat (limited to 'include')
-rw-r--r--include/media/AudioSystem.h2
-rw-r--r--include/media/IAudioFlinger.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h
index f20e234..eb22e32 100644
--- a/include/media/AudioSystem.h
+++ b/include/media/AudioSystem.h
@@ -108,6 +108,8 @@ public:
static unsigned int getInputFramesLost(audio_io_handle_t ioHandle);
static int newAudioSessionId();
+ static void acquireAudioSessionId(int audioSession);
+ static void releaseAudioSessionId(int audioSession);
// types of io configuration change events received with ioConfigChanged()
enum io_config_event {
diff --git a/include/media/IAudioFlinger.h b/include/media/IAudioFlinger.h
index 4037c46..9e3cb7f 100644
--- a/include/media/IAudioFlinger.h
+++ b/include/media/IAudioFlinger.h
@@ -139,6 +139,9 @@ public:
virtual int newAudioSessionId() = 0;
+ virtual void acquireAudioSessionId(int audioSession) = 0;
+ virtual void releaseAudioSessionId(int audioSession) = 0;
+
virtual status_t queryNumberEffects(uint32_t *numEffects) = 0;
virtual status_t queryEffect(uint32_t index, effect_descriptor_t *pDescriptor) = 0;