Loading media/libaudioclient/AudioSystem.cpp +6 −12 Original line number Diff line number Diff line Loading @@ -878,31 +878,25 @@ status_t AudioSystem::getOutputForAttr(const audio_attributes_t *attr, flags, selectedDeviceId, portId); } status_t AudioSystem::startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) status_t AudioSystem::startOutput(audio_port_handle_t portId) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; return aps->startOutput(output, stream, session); return aps->startOutput(portId); } status_t AudioSystem::stopOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) status_t AudioSystem::stopOutput(audio_port_handle_t portId) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; return aps->stopOutput(output, stream, session); return aps->stopOutput(portId); } void AudioSystem::releaseOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) void AudioSystem::releaseOutput(audio_port_handle_t portId) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return; aps->releaseOutput(output, stream, session); aps->releaseOutput(portId); } status_t AudioSystem::getInputForAttr(const audio_attributes_t *attr, Loading media/libaudioclient/IAudioPolicyService.cpp +12 −36 Original line number Diff line number Diff line Loading @@ -244,41 +244,29 @@ public: return status; } virtual status_t startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) virtual status_t startOutput(audio_port_handle_t portId) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); data.writeInt32(output); data.writeInt32((int32_t) stream); data.writeInt32((int32_t) session); data.writeInt32((int32_t)portId); remote()->transact(START_OUTPUT, data, &reply); return static_cast <status_t> (reply.readInt32()); } virtual status_t stopOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) virtual status_t stopOutput(audio_port_handle_t portId) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); data.writeInt32(output); data.writeInt32((int32_t) stream); data.writeInt32((int32_t) session); data.writeInt32((int32_t)portId); remote()->transact(STOP_OUTPUT, data, &reply); return static_cast <status_t> (reply.readInt32()); } virtual void releaseOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) virtual void releaseOutput(audio_port_handle_t portId) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); data.writeInt32(output); data.writeInt32((int32_t)stream); data.writeInt32((int32_t)session); data.writeInt32((int32_t)portId); remote()->transact(RELEASE_OUTPUT, data, &reply); } Loading Loading @@ -1074,34 +1062,22 @@ status_t BnAudioPolicyService::onTransact( case START_OUTPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32()); audio_stream_type_t stream = static_cast <audio_stream_type_t>(data.readInt32()); audio_session_t session = (audio_session_t)data.readInt32(); reply->writeInt32(static_cast <uint32_t>(startOutput(output, stream, session))); const audio_port_handle_t portId = static_cast <audio_port_handle_t>(data.readInt32()); reply->writeInt32(static_cast <uint32_t>(startOutput(portId))); return NO_ERROR; } break; case STOP_OUTPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32()); audio_stream_type_t stream = static_cast <audio_stream_type_t>(data.readInt32()); audio_session_t session = (audio_session_t)data.readInt32(); reply->writeInt32(static_cast <uint32_t>(stopOutput(output, stream, session))); const audio_port_handle_t portId = static_cast <audio_port_handle_t>(data.readInt32()); reply->writeInt32(static_cast <uint32_t>(stopOutput(portId))); return NO_ERROR; } break; case RELEASE_OUTPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32()); audio_stream_type_t stream = (audio_stream_type_t)data.readInt32(); audio_session_t session = (audio_session_t)data.readInt32(); releaseOutput(output, stream, session); const audio_port_handle_t portId = static_cast <audio_port_handle_t>(data.readInt32()); releaseOutput(portId); return NO_ERROR; } break; Loading media/libaudioclient/include/media/AudioSystem.h +3 −9 Original line number Diff line number Diff line Loading @@ -224,15 +224,9 @@ public: audio_output_flags_t flags, audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId); static status_t startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session); static status_t stopOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session); static void releaseOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session); static status_t startOutput(audio_port_handle_t portId); static status_t stopOutput(audio_port_handle_t portId); static void releaseOutput(audio_port_handle_t portId); // Client must successfully hand off the handle reference to AudioFlinger via createRecord(), // or release it with releaseInput(). Loading media/libaudioclient/include/media/IAudioPolicyService.h +3 −9 Original line number Diff line number Diff line Loading @@ -66,15 +66,9 @@ public: audio_output_flags_t flags, audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId) = 0; virtual status_t startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) = 0; virtual status_t stopOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) = 0; virtual void releaseOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) = 0; virtual status_t startOutput(audio_port_handle_t portId) = 0; virtual status_t stopOutput(audio_port_handle_t portId) = 0; virtual void releaseOutput(audio_port_handle_t portId) = 0; virtual status_t getInputForAttr(const audio_attributes_t *attr, audio_io_handle_t *input, audio_session_t session, Loading services/audioflinger/AudioFlinger.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -306,7 +306,7 @@ status_t AudioFlinger::openMmapStream(MmapStreamInterface::stream_direction_t di *sessionId = actualSessionId; } else { if (direction == MmapStreamInterface::DIRECTION_OUTPUT) { AudioSystem::releaseOutput(io, streamType, actualSessionId); AudioSystem::releaseOutput(portId); } else { AudioSystem::releaseInput(portId); } Loading Loading @@ -777,7 +777,7 @@ sp<IAudioTrack> AudioFlinger::createTrack(const CreateTrackInput& input, Exit: if (lStatus != NO_ERROR && output.outputId != AUDIO_IO_HANDLE_NONE) { AudioSystem::releaseOutput(output.outputId, streamType, sessionId); AudioSystem::releaseOutput(portId); } *status = lStatus; return trackHandle; Loading Loading
media/libaudioclient/AudioSystem.cpp +6 −12 Original line number Diff line number Diff line Loading @@ -878,31 +878,25 @@ status_t AudioSystem::getOutputForAttr(const audio_attributes_t *attr, flags, selectedDeviceId, portId); } status_t AudioSystem::startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) status_t AudioSystem::startOutput(audio_port_handle_t portId) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; return aps->startOutput(output, stream, session); return aps->startOutput(portId); } status_t AudioSystem::stopOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) status_t AudioSystem::stopOutput(audio_port_handle_t portId) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; return aps->stopOutput(output, stream, session); return aps->stopOutput(portId); } void AudioSystem::releaseOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) void AudioSystem::releaseOutput(audio_port_handle_t portId) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return; aps->releaseOutput(output, stream, session); aps->releaseOutput(portId); } status_t AudioSystem::getInputForAttr(const audio_attributes_t *attr, Loading
media/libaudioclient/IAudioPolicyService.cpp +12 −36 Original line number Diff line number Diff line Loading @@ -244,41 +244,29 @@ public: return status; } virtual status_t startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) virtual status_t startOutput(audio_port_handle_t portId) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); data.writeInt32(output); data.writeInt32((int32_t) stream); data.writeInt32((int32_t) session); data.writeInt32((int32_t)portId); remote()->transact(START_OUTPUT, data, &reply); return static_cast <status_t> (reply.readInt32()); } virtual status_t stopOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) virtual status_t stopOutput(audio_port_handle_t portId) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); data.writeInt32(output); data.writeInt32((int32_t) stream); data.writeInt32((int32_t) session); data.writeInt32((int32_t)portId); remote()->transact(STOP_OUTPUT, data, &reply); return static_cast <status_t> (reply.readInt32()); } virtual void releaseOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) virtual void releaseOutput(audio_port_handle_t portId) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); data.writeInt32(output); data.writeInt32((int32_t)stream); data.writeInt32((int32_t)session); data.writeInt32((int32_t)portId); remote()->transact(RELEASE_OUTPUT, data, &reply); } Loading Loading @@ -1074,34 +1062,22 @@ status_t BnAudioPolicyService::onTransact( case START_OUTPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32()); audio_stream_type_t stream = static_cast <audio_stream_type_t>(data.readInt32()); audio_session_t session = (audio_session_t)data.readInt32(); reply->writeInt32(static_cast <uint32_t>(startOutput(output, stream, session))); const audio_port_handle_t portId = static_cast <audio_port_handle_t>(data.readInt32()); reply->writeInt32(static_cast <uint32_t>(startOutput(portId))); return NO_ERROR; } break; case STOP_OUTPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32()); audio_stream_type_t stream = static_cast <audio_stream_type_t>(data.readInt32()); audio_session_t session = (audio_session_t)data.readInt32(); reply->writeInt32(static_cast <uint32_t>(stopOutput(output, stream, session))); const audio_port_handle_t portId = static_cast <audio_port_handle_t>(data.readInt32()); reply->writeInt32(static_cast <uint32_t>(stopOutput(portId))); return NO_ERROR; } break; case RELEASE_OUTPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32()); audio_stream_type_t stream = (audio_stream_type_t)data.readInt32(); audio_session_t session = (audio_session_t)data.readInt32(); releaseOutput(output, stream, session); const audio_port_handle_t portId = static_cast <audio_port_handle_t>(data.readInt32()); releaseOutput(portId); return NO_ERROR; } break; Loading
media/libaudioclient/include/media/AudioSystem.h +3 −9 Original line number Diff line number Diff line Loading @@ -224,15 +224,9 @@ public: audio_output_flags_t flags, audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId); static status_t startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session); static status_t stopOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session); static void releaseOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session); static status_t startOutput(audio_port_handle_t portId); static status_t stopOutput(audio_port_handle_t portId); static void releaseOutput(audio_port_handle_t portId); // Client must successfully hand off the handle reference to AudioFlinger via createRecord(), // or release it with releaseInput(). Loading
media/libaudioclient/include/media/IAudioPolicyService.h +3 −9 Original line number Diff line number Diff line Loading @@ -66,15 +66,9 @@ public: audio_output_flags_t flags, audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId) = 0; virtual status_t startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) = 0; virtual status_t stopOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) = 0; virtual void releaseOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) = 0; virtual status_t startOutput(audio_port_handle_t portId) = 0; virtual status_t stopOutput(audio_port_handle_t portId) = 0; virtual void releaseOutput(audio_port_handle_t portId) = 0; virtual status_t getInputForAttr(const audio_attributes_t *attr, audio_io_handle_t *input, audio_session_t session, Loading
services/audioflinger/AudioFlinger.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -306,7 +306,7 @@ status_t AudioFlinger::openMmapStream(MmapStreamInterface::stream_direction_t di *sessionId = actualSessionId; } else { if (direction == MmapStreamInterface::DIRECTION_OUTPUT) { AudioSystem::releaseOutput(io, streamType, actualSessionId); AudioSystem::releaseOutput(portId); } else { AudioSystem::releaseInput(portId); } Loading Loading @@ -777,7 +777,7 @@ sp<IAudioTrack> AudioFlinger::createTrack(const CreateTrackInput& input, Exit: if (lStatus != NO_ERROR && output.outputId != AUDIO_IO_HANDLE_NONE) { AudioSystem::releaseOutput(output.outputId, streamType, sessionId); AudioSystem::releaseOutput(portId); } *status = lStatus; return trackHandle; Loading