Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f429c03d authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

audio: Generalize stream implementations

This allows for more code reuse and composability when
implementing streams for a particular audio "backend."

The existing "stub" code has been moved to StreamStub* files.

Bug: 264712385
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I97fd41f87eb6d01e1d57f0d70a86d3b2b3555837
parent 8651b364
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ cc_library_static {
        "Module.cpp",
        "SoundDose.cpp",
        "Stream.cpp",
        "StreamStub.cpp",
        "Telephony.cpp",
    ],
    generated_sources: [
+7 −4
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#include "core-impl/Bluetooth.h"
#include "core-impl/Module.h"
#include "core-impl/SoundDose.h"
#include "core-impl/StreamStub.h"
#include "core-impl/Telephony.h"
#include "core-impl/utils.h"

@@ -552,7 +553,8 @@ ndk::ScopedAStatus Module::openInputStream(const OpenInputStreamArguments& in_ar
    }
    context.fillDescriptor(&_aidl_return->desc);
    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);
        !status.isOk()) {
        return status;
@@ -606,7 +608,8 @@ ndk::ScopedAStatus Module::openOutputStream(const OpenOutputStreamArguments& in_
    }
    context.fillDescriptor(&_aidl_return->desc);
    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);
        !status.isOk()) {
        return status;
+153 −108

File changed.

Preview size limit exceeded, changes collapsed.

+125 −0

File added.

Preview size limit exceeded, changes collapsed.

+118 −55

File changed.

Preview size limit exceeded, changes collapsed.

Loading