diff options
author | Marco Nelissen <marcone@google.com> | 2014-02-11 08:47:07 -0800 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2014-02-11 12:39:43 -0800 |
commit | d457c970c8d08519cd77280a90b61ae1e342cfe3 (patch) | |
tree | f0f409db4d834b4d70b2244dd97dfa707496df50 /include | |
parent | 1d6fa7af1288b550faabe4ec2cf98684236723db (diff) | |
download | frameworks_av-d457c970c8d08519cd77280a90b61ae1e342cfe3.zip frameworks_av-d457c970c8d08519cd77280a90b61ae1e342cfe3.tar.gz frameworks_av-d457c970c8d08519cd77280a90b61ae1e342cfe3.tar.bz2 |
Track pid for each session
so they can be properly freed.
Change-Id: I6f389035bc29e74e7c367c1c6d0252b180f666b3
Diffstat (limited to 'include')
-rw-r--r-- | include/media/AudioSystem.h | 4 | ||||
-rw-r--r-- | include/media/AudioTrack.h | 10 | ||||
-rw-r--r-- | include/media/IAudioFlinger.h | 4 |
3 files changed, 11 insertions, 7 deletions
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h index dfc2066..fd86737 100644 --- a/include/media/AudioSystem.h +++ b/include/media/AudioSystem.h @@ -141,8 +141,8 @@ public: static uint32_t getInputFramesLost(audio_io_handle_t ioHandle); static int newAudioSessionId(); - static void acquireAudioSessionId(int audioSession); - static void releaseAudioSessionId(int audioSession); + static void acquireAudioSessionId(int audioSession, pid_t pid); + static void releaseAudioSessionId(int audioSession, pid_t pid); // types of io configuration change events received with ioConfigChanged() enum io_config_event { diff --git a/include/media/AudioTrack.h b/include/media/AudioTrack.h index 5a50280..d0df710 100644 --- a/include/media/AudioTrack.h +++ b/include/media/AudioTrack.h @@ -190,7 +190,8 @@ public: int sessionId = AUDIO_SESSION_ALLOCATE, transfer_type transferType = TRANSFER_DEFAULT, const audio_offload_info_t *offloadInfo = NULL, - int uid = -1); + int uid = -1, + pid_t pid = -1); /* Creates an audio track and registers it with AudioFlinger. * With this constructor, the track is configured for static buffer mode. @@ -215,7 +216,8 @@ public: int sessionId = AUDIO_SESSION_ALLOCATE, transfer_type transferType = TRANSFER_DEFAULT, const audio_offload_info_t *offloadInfo = NULL, - int uid = -1); + int uid = -1, + pid_t pid = -1); /* Terminates the AudioTrack and unregisters it from AudioFlinger. * Also destroys all resources associated with the AudioTrack. @@ -253,7 +255,8 @@ public: int sessionId = AUDIO_SESSION_ALLOCATE, transfer_type transferType = TRANSFER_DEFAULT, const audio_offload_info_t *offloadInfo = NULL, - int uid = -1); + int uid = -1, + pid_t pid = -1); /* Result of constructing the AudioTrack. This must be checked for successful initialization * before using any AudioTrack API (except for set()), because using @@ -757,6 +760,7 @@ private: sp<DeathNotifier> mDeathNotifier; uint32_t mSequence; // incremented for each new IAudioTrack attempt int mClientUid; + pid_t mClientPid; }; class TimedAudioTrack : public AudioTrack diff --git a/include/media/IAudioFlinger.h b/include/media/IAudioFlinger.h index ea225ac..7f53bfc 100644 --- a/include/media/IAudioFlinger.h +++ b/include/media/IAudioFlinger.h @@ -180,8 +180,8 @@ public: virtual int newAudioSessionId() = 0; - virtual void acquireAudioSessionId(int audioSession) = 0; - virtual void releaseAudioSessionId(int audioSession) = 0; + virtual void acquireAudioSessionId(int audioSession, pid_t pid) = 0; + virtual void releaseAudioSessionId(int audioSession, pid_t pid) = 0; virtual status_t queryNumberEffects(uint32_t *numEffects) const = 0; |