Loading include/media/AudioSystem.h +2 −2 Original line number Diff line number Diff line Loading @@ -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 { Loading include/media/AudioTrack.h +7 −3 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -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. Loading Loading @@ -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 Loading Loading @@ -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 Loading include/media/IAudioFlinger.h +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading media/libmedia/AudioRecord.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ AudioRecord::~AudioRecord() mAudioRecord.clear(); } IPCThreadState::self()->flushCommands(); AudioSystem::releaseAudioSessionId(mSessionId); AudioSystem::releaseAudioSessionId(mSessionId, -1); } } Loading Loading @@ -266,7 +266,7 @@ status_t AudioRecord::set( mMarkerReached = false; mNewPosition = 0; mUpdatePeriod = 0; AudioSystem::acquireAudioSessionId(mSessionId); AudioSystem::acquireAudioSessionId(mSessionId, -1); mSequence = 1; mObservedSequence = mSequence; mInOverrun = false; Loading media/libmedia/AudioSystem.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -435,19 +435,19 @@ int AudioSystem::newAudioSessionId() return af->newAudioSessionId(); } void AudioSystem::acquireAudioSessionId(int audioSession) void AudioSystem::acquireAudioSessionId(int audioSession, pid_t pid) { const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); if (af != 0) { af->acquireAudioSessionId(audioSession); af->acquireAudioSessionId(audioSession, pid); } } void AudioSystem::releaseAudioSessionId(int audioSession) void AudioSystem::releaseAudioSessionId(int audioSession, pid_t pid) { const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); if (af != 0) { af->releaseAudioSessionId(audioSession); af->releaseAudioSessionId(audioSession, pid); } } Loading Loading
include/media/AudioSystem.h +2 −2 Original line number Diff line number Diff line Loading @@ -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 { Loading
include/media/AudioTrack.h +7 −3 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -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. Loading Loading @@ -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 Loading Loading @@ -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 Loading
include/media/IAudioFlinger.h +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading
media/libmedia/AudioRecord.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ AudioRecord::~AudioRecord() mAudioRecord.clear(); } IPCThreadState::self()->flushCommands(); AudioSystem::releaseAudioSessionId(mSessionId); AudioSystem::releaseAudioSessionId(mSessionId, -1); } } Loading Loading @@ -266,7 +266,7 @@ status_t AudioRecord::set( mMarkerReached = false; mNewPosition = 0; mUpdatePeriod = 0; AudioSystem::acquireAudioSessionId(mSessionId); AudioSystem::acquireAudioSessionId(mSessionId, -1); mSequence = 1; mObservedSequence = mSequence; mInOverrun = false; Loading
media/libmedia/AudioSystem.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -435,19 +435,19 @@ int AudioSystem::newAudioSessionId() return af->newAudioSessionId(); } void AudioSystem::acquireAudioSessionId(int audioSession) void AudioSystem::acquireAudioSessionId(int audioSession, pid_t pid) { const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); if (af != 0) { af->acquireAudioSessionId(audioSession); af->acquireAudioSessionId(audioSession, pid); } } void AudioSystem::releaseAudioSessionId(int audioSession) void AudioSystem::releaseAudioSessionId(int audioSession, pid_t pid) { const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); if (af != 0) { af->releaseAudioSessionId(audioSession); af->releaseAudioSessionId(audioSession, pid); } } Loading