Loading audio/aidl/default/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -69,6 +69,7 @@ cc_library_static { "Module.cpp", "Module.cpp", "SoundDose.cpp", "SoundDose.cpp", "Stream.cpp", "Stream.cpp", "StreamStub.cpp", "Telephony.cpp", "Telephony.cpp", ], ], generated_sources: [ generated_sources: [ Loading audio/aidl/default/Module.cpp +15 −10 Original line number Original line Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include "core-impl/Bluetooth.h" #include "core-impl/Bluetooth.h" #include "core-impl/Module.h" #include "core-impl/Module.h" #include "core-impl/SoundDose.h" #include "core-impl/SoundDose.h" #include "core-impl/StreamStub.h" #include "core-impl/Telephony.h" #include "core-impl/Telephony.h" #include "core-impl/utils.h" #include "core-impl/utils.h" Loading Loading @@ -102,9 +103,10 @@ void Module::cleanUpPatch(int32_t patchId) { erase_all_values(mPatches, std::set<int32_t>{patchId}); erase_all_values(mPatches, std::set<int32_t>{patchId}); } } ndk::ScopedAStatus Module::createStreamContext(int32_t in_portConfigId, int64_t in_bufferSizeFrames, ndk::ScopedAStatus Module::createStreamContext( int32_t in_portConfigId, int64_t in_bufferSizeFrames, std::shared_ptr<IStreamCallback> asyncCallback, std::shared_ptr<IStreamCallback> asyncCallback, StreamContext* out_context) { std::shared_ptr<IStreamOutEventCallback> outEventCallback, StreamContext* out_context) { if (in_bufferSizeFrames <= 0) { if (in_bufferSizeFrames <= 0) { LOG(ERROR) << __func__ << ": non-positive buffer size " << in_bufferSizeFrames; LOG(ERROR) << __func__ << ": non-positive buffer size " << in_bufferSizeFrames; return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); Loading Loading @@ -147,7 +149,7 @@ ndk::ScopedAStatus Module::createStreamContext(int32_t in_portConfigId, int64_t std::make_unique<StreamContext::ReplyMQ>(1, true /*configureEventFlagWord*/), std::make_unique<StreamContext::ReplyMQ>(1, true /*configureEventFlagWord*/), portConfigIt->format.value(), portConfigIt->channelMask.value(), portConfigIt->format.value(), portConfigIt->channelMask.value(), std::make_unique<StreamContext::DataMQ>(frameSize * in_bufferSizeFrames), std::make_unique<StreamContext::DataMQ>(frameSize * in_bufferSizeFrames), asyncCallback, params); asyncCallback, outEventCallback, params); if (temp.isValid()) { if (temp.isValid()) { *out_context = std::move(temp); *out_context = std::move(temp); } else { } else { Loading Loading @@ -545,13 +547,14 @@ ndk::ScopedAStatus Module::openInputStream(const OpenInputStreamArguments& in_ar } } StreamContext context; StreamContext context; if (auto status = createStreamContext(in_args.portConfigId, in_args.bufferSizeFrames, nullptr, if (auto status = createStreamContext(in_args.portConfigId, in_args.bufferSizeFrames, nullptr, &context); nullptr, &context); !status.isOk()) { !status.isOk()) { return status; return status; } } context.fillDescriptor(&_aidl_return->desc); context.fillDescriptor(&_aidl_return->desc); std::shared_ptr<StreamIn> stream; std::shared_ptr<StreamIn> stream; if (auto status = StreamIn::createInstance(in_args.sinkMetadata, std::move(context), // TODO: Add a mapping from module instance names to a corresponding 'createInstance'. if (auto status = StreamInStub::createInstance(in_args.sinkMetadata, std::move(context), mConfig->microphones, &stream); mConfig->microphones, &stream); !status.isOk()) { !status.isOk()) { return status; return status; Loading Loading @@ -598,13 +601,15 @@ ndk::ScopedAStatus Module::openOutputStream(const OpenOutputStreamArguments& in_ } } StreamContext context; StreamContext context; if (auto status = createStreamContext(in_args.portConfigId, in_args.bufferSizeFrames, if (auto status = createStreamContext(in_args.portConfigId, in_args.bufferSizeFrames, isNonBlocking ? in_args.callback : nullptr, &context); isNonBlocking ? in_args.callback : nullptr, in_args.eventCallback, &context); !status.isOk()) { !status.isOk()) { return status; return status; } } context.fillDescriptor(&_aidl_return->desc); context.fillDescriptor(&_aidl_return->desc); std::shared_ptr<StreamOut> stream; std::shared_ptr<StreamOut> stream; if (auto status = StreamOut::createInstance(in_args.sourceMetadata, std::move(context), // TODO: Add a mapping from module instance names to a corresponding 'createInstance'. if (auto status = StreamOutStub::createInstance(in_args.sourceMetadata, std::move(context), in_args.offloadInfo, &stream); in_args.offloadInfo, &stream); !status.isOk()) { !status.isOk()) { return status; return status; Loading Loading
audio/aidl/default/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -69,6 +69,7 @@ cc_library_static { "Module.cpp", "Module.cpp", "SoundDose.cpp", "SoundDose.cpp", "Stream.cpp", "Stream.cpp", "StreamStub.cpp", "Telephony.cpp", "Telephony.cpp", ], ], generated_sources: [ generated_sources: [ Loading
audio/aidl/default/Module.cpp +15 −10 Original line number Original line Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include "core-impl/Bluetooth.h" #include "core-impl/Bluetooth.h" #include "core-impl/Module.h" #include "core-impl/Module.h" #include "core-impl/SoundDose.h" #include "core-impl/SoundDose.h" #include "core-impl/StreamStub.h" #include "core-impl/Telephony.h" #include "core-impl/Telephony.h" #include "core-impl/utils.h" #include "core-impl/utils.h" Loading Loading @@ -102,9 +103,10 @@ void Module::cleanUpPatch(int32_t patchId) { erase_all_values(mPatches, std::set<int32_t>{patchId}); erase_all_values(mPatches, std::set<int32_t>{patchId}); } } ndk::ScopedAStatus Module::createStreamContext(int32_t in_portConfigId, int64_t in_bufferSizeFrames, ndk::ScopedAStatus Module::createStreamContext( int32_t in_portConfigId, int64_t in_bufferSizeFrames, std::shared_ptr<IStreamCallback> asyncCallback, std::shared_ptr<IStreamCallback> asyncCallback, StreamContext* out_context) { std::shared_ptr<IStreamOutEventCallback> outEventCallback, StreamContext* out_context) { if (in_bufferSizeFrames <= 0) { if (in_bufferSizeFrames <= 0) { LOG(ERROR) << __func__ << ": non-positive buffer size " << in_bufferSizeFrames; LOG(ERROR) << __func__ << ": non-positive buffer size " << in_bufferSizeFrames; return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); Loading Loading @@ -147,7 +149,7 @@ ndk::ScopedAStatus Module::createStreamContext(int32_t in_portConfigId, int64_t std::make_unique<StreamContext::ReplyMQ>(1, true /*configureEventFlagWord*/), std::make_unique<StreamContext::ReplyMQ>(1, true /*configureEventFlagWord*/), portConfigIt->format.value(), portConfigIt->channelMask.value(), portConfigIt->format.value(), portConfigIt->channelMask.value(), std::make_unique<StreamContext::DataMQ>(frameSize * in_bufferSizeFrames), std::make_unique<StreamContext::DataMQ>(frameSize * in_bufferSizeFrames), asyncCallback, params); asyncCallback, outEventCallback, params); if (temp.isValid()) { if (temp.isValid()) { *out_context = std::move(temp); *out_context = std::move(temp); } else { } else { Loading Loading @@ -545,13 +547,14 @@ ndk::ScopedAStatus Module::openInputStream(const OpenInputStreamArguments& in_ar } } StreamContext context; StreamContext context; if (auto status = createStreamContext(in_args.portConfigId, in_args.bufferSizeFrames, nullptr, if (auto status = createStreamContext(in_args.portConfigId, in_args.bufferSizeFrames, nullptr, &context); nullptr, &context); !status.isOk()) { !status.isOk()) { return status; return status; } } context.fillDescriptor(&_aidl_return->desc); context.fillDescriptor(&_aidl_return->desc); std::shared_ptr<StreamIn> stream; std::shared_ptr<StreamIn> stream; if (auto status = StreamIn::createInstance(in_args.sinkMetadata, std::move(context), // TODO: Add a mapping from module instance names to a corresponding 'createInstance'. if (auto status = StreamInStub::createInstance(in_args.sinkMetadata, std::move(context), mConfig->microphones, &stream); mConfig->microphones, &stream); !status.isOk()) { !status.isOk()) { return status; return status; Loading Loading @@ -598,13 +601,15 @@ ndk::ScopedAStatus Module::openOutputStream(const OpenOutputStreamArguments& in_ } } StreamContext context; StreamContext context; if (auto status = createStreamContext(in_args.portConfigId, in_args.bufferSizeFrames, if (auto status = createStreamContext(in_args.portConfigId, in_args.bufferSizeFrames, isNonBlocking ? in_args.callback : nullptr, &context); isNonBlocking ? in_args.callback : nullptr, in_args.eventCallback, &context); !status.isOk()) { !status.isOk()) { return status; return status; } } context.fillDescriptor(&_aidl_return->desc); context.fillDescriptor(&_aidl_return->desc); std::shared_ptr<StreamOut> stream; std::shared_ptr<StreamOut> stream; if (auto status = StreamOut::createInstance(in_args.sourceMetadata, std::move(context), // TODO: Add a mapping from module instance names to a corresponding 'createInstance'. if (auto status = StreamOutStub::createInstance(in_args.sourceMetadata, std::move(context), in_args.offloadInfo, &stream); in_args.offloadInfo, &stream); !status.isOk()) { !status.isOk()) { return status; return status; Loading