Loading media/libaudioclient/AudioEffect.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -138,6 +138,7 @@ status_t AudioEffect::set(const effect_uuid_t *type, mIEffectClient = new EffectClient(this); mClientPid = IPCThreadState::self()->getCallingPid(); mClientUid = IPCThreadState::self()->getCallingUid(); iEffect = audioFlinger->createEffect((effect_descriptor_t *)&mDescriptor, mIEffectClient, priority, io, mSessionId, device, mOpPackageName, mClientPid, Loading Loading @@ -179,7 +180,7 @@ status_t AudioEffect::set(const effect_uuid_t *type, mStatus, mEnabled, mClientPid); if (!audio_is_global_session(mSessionId)) { AudioSystem::acquireAudioSessionId(mSessionId, mClientPid); AudioSystem::acquireAudioSessionId(mSessionId, mClientPid, mClientUid); } return mStatus; Loading media/libaudioclient/AudioRecord.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -186,7 +186,7 @@ AudioRecord::~AudioRecord() IPCThreadState::self()->flushCommands(); ALOGV("%s(%d): releasing session id %d", __func__, mPortId, mSessionId); AudioSystem::releaseAudioSessionId(mSessionId, -1 /*pid*/); AudioSystem::releaseAudioSessionId(mSessionId, mClientPid); } } Loading Loading @@ -361,7 +361,7 @@ status_t AudioRecord::set( mMarkerReached = false; mNewPosition = 0; mUpdatePeriod = 0; AudioSystem::acquireAudioSessionId(mSessionId, -1); AudioSystem::acquireAudioSessionId(mSessionId, mClientPid, mClientUid); mSequence = 1; mObservedSequence = mSequence; mInOverrun = false; Loading media/libaudioclient/AudioSystem.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -433,11 +433,11 @@ audio_unique_id_t AudioSystem::newAudioUniqueId(audio_unique_id_use_t use) return af->newAudioUniqueId(use); } void AudioSystem::acquireAudioSessionId(audio_session_t audioSession, pid_t pid) void AudioSystem::acquireAudioSessionId(audio_session_t audioSession, pid_t pid, uid_t uid) { const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); if (af != 0) { af->acquireAudioSessionId(audioSession, pid); af->acquireAudioSessionId(audioSession, pid, uid); } } Loading media/libaudioclient/AudioTrack.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -599,7 +599,7 @@ status_t AudioTrack::set( mReleased = 0; mStartNs = 0; mStartFromZeroUs = 0; AudioSystem::acquireAudioSessionId(mSessionId, mClientPid); AudioSystem::acquireAudioSessionId(mSessionId, mClientPid, mClientUid); mSequence = 1; mObservedSequence = mSequence; mInUnderrun = false; Loading media/libaudioclient/IAudioFlinger.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -571,12 +571,13 @@ public: return id; } virtual void acquireAudioSessionId(audio_session_t audioSession, int pid) void acquireAudioSessionId(audio_session_t audioSession, pid_t pid, uid_t uid) override { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); data.writeInt32(audioSession); data.writeInt32(pid); data.writeInt32((int32_t)pid); data.writeInt32((int32_t)uid); remote()->transact(ACQUIRE_AUDIO_SESSION_ID, data, &reply); } Loading Loading @@ -1326,8 +1327,9 @@ status_t BnAudioFlinger::onTransact( case ACQUIRE_AUDIO_SESSION_ID: { CHECK_INTERFACE(IAudioFlinger, data, reply); audio_session_t audioSession = (audio_session_t) data.readInt32(); int pid = data.readInt32(); acquireAudioSessionId(audioSession, pid); const pid_t pid = (pid_t)data.readInt32(); const uid_t uid = (uid_t)data.readInt32(); acquireAudioSessionId(audioSession, pid, uid); return NO_ERROR; } break; case RELEASE_AUDIO_SESSION_ID: { Loading Loading
media/libaudioclient/AudioEffect.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -138,6 +138,7 @@ status_t AudioEffect::set(const effect_uuid_t *type, mIEffectClient = new EffectClient(this); mClientPid = IPCThreadState::self()->getCallingPid(); mClientUid = IPCThreadState::self()->getCallingUid(); iEffect = audioFlinger->createEffect((effect_descriptor_t *)&mDescriptor, mIEffectClient, priority, io, mSessionId, device, mOpPackageName, mClientPid, Loading Loading @@ -179,7 +180,7 @@ status_t AudioEffect::set(const effect_uuid_t *type, mStatus, mEnabled, mClientPid); if (!audio_is_global_session(mSessionId)) { AudioSystem::acquireAudioSessionId(mSessionId, mClientPid); AudioSystem::acquireAudioSessionId(mSessionId, mClientPid, mClientUid); } return mStatus; Loading
media/libaudioclient/AudioRecord.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -186,7 +186,7 @@ AudioRecord::~AudioRecord() IPCThreadState::self()->flushCommands(); ALOGV("%s(%d): releasing session id %d", __func__, mPortId, mSessionId); AudioSystem::releaseAudioSessionId(mSessionId, -1 /*pid*/); AudioSystem::releaseAudioSessionId(mSessionId, mClientPid); } } Loading Loading @@ -361,7 +361,7 @@ status_t AudioRecord::set( mMarkerReached = false; mNewPosition = 0; mUpdatePeriod = 0; AudioSystem::acquireAudioSessionId(mSessionId, -1); AudioSystem::acquireAudioSessionId(mSessionId, mClientPid, mClientUid); mSequence = 1; mObservedSequence = mSequence; mInOverrun = false; Loading
media/libaudioclient/AudioSystem.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -433,11 +433,11 @@ audio_unique_id_t AudioSystem::newAudioUniqueId(audio_unique_id_use_t use) return af->newAudioUniqueId(use); } void AudioSystem::acquireAudioSessionId(audio_session_t audioSession, pid_t pid) void AudioSystem::acquireAudioSessionId(audio_session_t audioSession, pid_t pid, uid_t uid) { const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); if (af != 0) { af->acquireAudioSessionId(audioSession, pid); af->acquireAudioSessionId(audioSession, pid, uid); } } Loading
media/libaudioclient/AudioTrack.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -599,7 +599,7 @@ status_t AudioTrack::set( mReleased = 0; mStartNs = 0; mStartFromZeroUs = 0; AudioSystem::acquireAudioSessionId(mSessionId, mClientPid); AudioSystem::acquireAudioSessionId(mSessionId, mClientPid, mClientUid); mSequence = 1; mObservedSequence = mSequence; mInUnderrun = false; Loading
media/libaudioclient/IAudioFlinger.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -571,12 +571,13 @@ public: return id; } virtual void acquireAudioSessionId(audio_session_t audioSession, int pid) void acquireAudioSessionId(audio_session_t audioSession, pid_t pid, uid_t uid) override { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); data.writeInt32(audioSession); data.writeInt32(pid); data.writeInt32((int32_t)pid); data.writeInt32((int32_t)uid); remote()->transact(ACQUIRE_AUDIO_SESSION_ID, data, &reply); } Loading Loading @@ -1326,8 +1327,9 @@ status_t BnAudioFlinger::onTransact( case ACQUIRE_AUDIO_SESSION_ID: { CHECK_INTERFACE(IAudioFlinger, data, reply); audio_session_t audioSession = (audio_session_t) data.readInt32(); int pid = data.readInt32(); acquireAudioSessionId(audioSession, pid); const pid_t pid = (pid_t)data.readInt32(); const uid_t uid = (uid_t)data.readInt32(); acquireAudioSessionId(audioSession, pid, uid); return NO_ERROR; } break; case RELEASE_AUDIO_SESSION_ID: { Loading