Loading media/libaudioclient/AudioSystem.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -917,11 +917,11 @@ status_t AudioSystem::getInputForAttr(const audio_attributes_t *attr, config, flags, selectedDeviceId, portId); } status_t AudioSystem::startInput(audio_port_handle_t portId, bool *silenced) status_t AudioSystem::startInput(audio_port_handle_t portId) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; return aps->startInput(portId, silenced); return aps->startInput(portId); } status_t AudioSystem::stopInput(audio_port_handle_t portId) Loading media/libaudioclient/IAudioPolicyService.cpp +2 −7 Original line number Diff line number Diff line Loading @@ -329,16 +329,13 @@ public: return NO_ERROR; } virtual status_t startInput(audio_port_handle_t portId, bool *silenced) virtual status_t startInput(audio_port_handle_t portId) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); data.writeInt32(portId); data.writeInt32(*silenced ? 1 : 0); remote()->transact(START_INPUT, data, &reply); status_t status = static_cast <status_t> (reply.readInt32()); *silenced = reply.readInt32() == 1; return status; } Loading Loading @@ -1219,10 +1216,8 @@ status_t BnAudioPolicyService::onTransact( case START_INPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); audio_port_handle_t portId = static_cast <audio_port_handle_t>(data.readInt32()); bool silenced = data.readInt32() == 1; status_t status = startInput(portId, &silenced); status_t status = startInput(portId); reply->writeInt32(static_cast <uint32_t>(status)); reply->writeInt32(silenced ? 1 : 0); return NO_ERROR; } break; Loading media/libaudioclient/include/media/AudioSystem.h +1 −2 Original line number Diff line number Diff line Loading @@ -241,8 +241,7 @@ public: audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId); static status_t startInput(audio_port_handle_t portId, bool *silenced); static status_t startInput(audio_port_handle_t portId); static status_t stopInput(audio_port_handle_t portId); static void releaseInput(audio_port_handle_t portId); static status_t initStreamVolume(audio_stream_type_t stream, Loading media/libaudioclient/include/media/IAudioPolicyService.h +1 −2 Original line number Diff line number Diff line Loading @@ -78,8 +78,7 @@ public: audio_input_flags_t flags, audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId) = 0; virtual status_t startInput(audio_port_handle_t portId, bool *silenced) = 0; virtual status_t startInput(audio_port_handle_t portId) = 0; virtual status_t stopInput(audio_port_handle_t portId) = 0; virtual void releaseInput(audio_port_handle_t portId) = 0; virtual status_t initStreamVolume(audio_stream_type_t stream, Loading services/audioflinger/Threads.cpp +10 −13 Original line number Diff line number Diff line Loading @@ -7367,8 +7367,7 @@ status_t AudioFlinger::RecordThread::start(RecordThread::RecordTrack* recordTrac status_t status = NO_ERROR; if (recordTrack->isExternalTrack()) { mLock.unlock(); bool silenced; status = AudioSystem::startInput(recordTrack->portId(), &silenced); status = AudioSystem::startInput(recordTrack->portId()); mLock.lock(); if (recordTrack->isInvalid()) { recordTrack->clearSyncStartEvent(); Loading Loading @@ -7396,7 +7395,6 @@ status_t AudioFlinger::RecordThread::start(RecordThread::RecordTrack* recordTrac recordTrack->clearSyncStartEvent(); return status; } recordTrack->setSilenced(silenced); } // Catch up with current buffer indices if thread is already running. // This is what makes a new client discard all buffered data. If the track's mRsmpInFront Loading Loading @@ -8346,11 +8344,10 @@ status_t AudioFlinger::MmapThread::start(const AudioClient& client, return BAD_VALUE; } bool silenced = false; if (isOutput()) { ret = AudioSystem::startOutput(portId); } else { ret = AudioSystem::startInput(portId, &silenced); ret = AudioSystem::startInput(portId); } Mutex::Autolock _l(mLock); Loading @@ -8371,21 +8368,21 @@ status_t AudioFlinger::MmapThread::start(const AudioClient& client, return PERMISSION_DENIED; } // Given that MmapThread::mAttr is mutable, should a MmapTrack have attributes ? sp<MmapTrack> track = new MmapTrack(this, mAttr, mSampleRate, mFormat, mChannelMask, mSessionId, isOutput(), client.clientUid, client.clientPid, portId); if (isOutput()) { // force volume update when a new track is added mHalVolFloat = -1.0f; } else if (!silenced) { for (const sp<MmapTrack> &track : mActiveTracks) { if (track->isSilenced_l() && track->uid() != client.clientUid) track->invalidate(); } else if (!track->isSilenced_l()) { for (const sp<MmapTrack> &t : mActiveTracks) { if (t->isSilenced_l() && t->uid() != client.clientUid) t->invalidate(); } } // Given that MmapThread::mAttr is mutable, should a MmapTrack have attributes ? sp<MmapTrack> track = new MmapTrack(this, mAttr, mSampleRate, mFormat, mChannelMask, mSessionId, isOutput(), client.clientUid, client.clientPid, portId); track->setSilenced_l(silenced); mActiveTracks.add(track); sp<EffectChain> chain = getEffectChain_l(mSessionId); if (chain != 0) { Loading Loading
media/libaudioclient/AudioSystem.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -917,11 +917,11 @@ status_t AudioSystem::getInputForAttr(const audio_attributes_t *attr, config, flags, selectedDeviceId, portId); } status_t AudioSystem::startInput(audio_port_handle_t portId, bool *silenced) status_t AudioSystem::startInput(audio_port_handle_t portId) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; return aps->startInput(portId, silenced); return aps->startInput(portId); } status_t AudioSystem::stopInput(audio_port_handle_t portId) Loading
media/libaudioclient/IAudioPolicyService.cpp +2 −7 Original line number Diff line number Diff line Loading @@ -329,16 +329,13 @@ public: return NO_ERROR; } virtual status_t startInput(audio_port_handle_t portId, bool *silenced) virtual status_t startInput(audio_port_handle_t portId) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); data.writeInt32(portId); data.writeInt32(*silenced ? 1 : 0); remote()->transact(START_INPUT, data, &reply); status_t status = static_cast <status_t> (reply.readInt32()); *silenced = reply.readInt32() == 1; return status; } Loading Loading @@ -1219,10 +1216,8 @@ status_t BnAudioPolicyService::onTransact( case START_INPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); audio_port_handle_t portId = static_cast <audio_port_handle_t>(data.readInt32()); bool silenced = data.readInt32() == 1; status_t status = startInput(portId, &silenced); status_t status = startInput(portId); reply->writeInt32(static_cast <uint32_t>(status)); reply->writeInt32(silenced ? 1 : 0); return NO_ERROR; } break; Loading
media/libaudioclient/include/media/AudioSystem.h +1 −2 Original line number Diff line number Diff line Loading @@ -241,8 +241,7 @@ public: audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId); static status_t startInput(audio_port_handle_t portId, bool *silenced); static status_t startInput(audio_port_handle_t portId); static status_t stopInput(audio_port_handle_t portId); static void releaseInput(audio_port_handle_t portId); static status_t initStreamVolume(audio_stream_type_t stream, Loading
media/libaudioclient/include/media/IAudioPolicyService.h +1 −2 Original line number Diff line number Diff line Loading @@ -78,8 +78,7 @@ public: audio_input_flags_t flags, audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId) = 0; virtual status_t startInput(audio_port_handle_t portId, bool *silenced) = 0; virtual status_t startInput(audio_port_handle_t portId) = 0; virtual status_t stopInput(audio_port_handle_t portId) = 0; virtual void releaseInput(audio_port_handle_t portId) = 0; virtual status_t initStreamVolume(audio_stream_type_t stream, Loading
services/audioflinger/Threads.cpp +10 −13 Original line number Diff line number Diff line Loading @@ -7367,8 +7367,7 @@ status_t AudioFlinger::RecordThread::start(RecordThread::RecordTrack* recordTrac status_t status = NO_ERROR; if (recordTrack->isExternalTrack()) { mLock.unlock(); bool silenced; status = AudioSystem::startInput(recordTrack->portId(), &silenced); status = AudioSystem::startInput(recordTrack->portId()); mLock.lock(); if (recordTrack->isInvalid()) { recordTrack->clearSyncStartEvent(); Loading Loading @@ -7396,7 +7395,6 @@ status_t AudioFlinger::RecordThread::start(RecordThread::RecordTrack* recordTrac recordTrack->clearSyncStartEvent(); return status; } recordTrack->setSilenced(silenced); } // Catch up with current buffer indices if thread is already running. // This is what makes a new client discard all buffered data. If the track's mRsmpInFront Loading Loading @@ -8346,11 +8344,10 @@ status_t AudioFlinger::MmapThread::start(const AudioClient& client, return BAD_VALUE; } bool silenced = false; if (isOutput()) { ret = AudioSystem::startOutput(portId); } else { ret = AudioSystem::startInput(portId, &silenced); ret = AudioSystem::startInput(portId); } Mutex::Autolock _l(mLock); Loading @@ -8371,21 +8368,21 @@ status_t AudioFlinger::MmapThread::start(const AudioClient& client, return PERMISSION_DENIED; } // Given that MmapThread::mAttr is mutable, should a MmapTrack have attributes ? sp<MmapTrack> track = new MmapTrack(this, mAttr, mSampleRate, mFormat, mChannelMask, mSessionId, isOutput(), client.clientUid, client.clientPid, portId); if (isOutput()) { // force volume update when a new track is added mHalVolFloat = -1.0f; } else if (!silenced) { for (const sp<MmapTrack> &track : mActiveTracks) { if (track->isSilenced_l() && track->uid() != client.clientUid) track->invalidate(); } else if (!track->isSilenced_l()) { for (const sp<MmapTrack> &t : mActiveTracks) { if (t->isSilenced_l() && t->uid() != client.clientUid) t->invalidate(); } } // Given that MmapThread::mAttr is mutable, should a MmapTrack have attributes ? sp<MmapTrack> track = new MmapTrack(this, mAttr, mSampleRate, mFormat, mChannelMask, mSessionId, isOutput(), client.clientUid, client.clientPid, portId); track->setSilenced_l(silenced); mActiveTracks.add(track); sp<EffectChain> chain = getEffectChain_l(mSessionId); if (chain != 0) { Loading