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

Commit 7a7baedb authored by Shunkai Yao's avatar Shunkai Yao Committed by Gerrit Code Review
Browse files

Merge "[AIDL CTS] pass Virtualizer implementation cts"

parents 6710d52c 2c41a20a
Loading
Loading
Loading
Loading
+7 −7
Original line number Original line Diff line number Diff line
@@ -68,11 +68,7 @@ const std::vector<Range::VirtualizerRange> VirtualizerSw::kRanges = {
        MAKE_RANGE(Virtualizer, strengthPm, 0, 1000),
        MAKE_RANGE(Virtualizer, strengthPm, 0, 1000),
        /* speakerAngle is get-only, set min > max */
        /* speakerAngle is get-only, set min > max */
        MAKE_RANGE(Virtualizer, speakerAngles, {Virtualizer::ChannelAngle({.channel = 1})},
        MAKE_RANGE(Virtualizer, speakerAngles, {Virtualizer::ChannelAngle({.channel = 1})},
                   {Virtualizer::ChannelAngle({.channel = 0})}),
                   {Virtualizer::ChannelAngle({.channel = 0})})};
        /* device is get-only */
        MAKE_RANGE(Virtualizer, device,
                   AudioDeviceDescription({.type = AudioDeviceType::IN_DEFAULT}),
                   AudioDeviceDescription({.type = AudioDeviceType::NONE}))};


const Capability VirtualizerSw::kCapability = {
const Capability VirtualizerSw::kCapability = {
        .range = Range::make<Range::virtualizer>(VirtualizerSw::kRanges)};
        .range = Range::make<Range::virtualizer>(VirtualizerSw::kRanges)};
@@ -174,17 +170,21 @@ ndk::ScopedAStatus VirtualizerSw::getParameterVirtualizer(const Virtualizer::Tag
ndk::ScopedAStatus VirtualizerSw::getSpeakerAngles(const Virtualizer::SpeakerAnglesPayload payload,
ndk::ScopedAStatus VirtualizerSw::getSpeakerAngles(const Virtualizer::SpeakerAnglesPayload payload,
                                                   Parameter::Specific* specific) {
                                                   Parameter::Specific* specific) {
    std::vector<Virtualizer::ChannelAngle> angles;
    std::vector<Virtualizer::ChannelAngle> angles;
    if (::android::hardware::audio::common::getChannelCount(payload.layout) == 1) {
    const auto chNum = ::android::hardware::audio::common::getChannelCount(payload.layout);
    if (chNum == 1) {
        angles = {{.channel = (int32_t)AudioChannelLayout::CHANNEL_FRONT_LEFT,
        angles = {{.channel = (int32_t)AudioChannelLayout::CHANNEL_FRONT_LEFT,
                   .azimuthDegree = 0,
                   .azimuthDegree = 0,
                   .elevationDegree = 0}};
                   .elevationDegree = 0}};
    } else {
    } else if (chNum == 2) {
        angles = {{.channel = (int32_t)AudioChannelLayout::CHANNEL_FRONT_LEFT,
        angles = {{.channel = (int32_t)AudioChannelLayout::CHANNEL_FRONT_LEFT,
                   .azimuthDegree = -90,
                   .azimuthDegree = -90,
                   .elevationDegree = 0},
                   .elevationDegree = 0},
                  {.channel = (int32_t)AudioChannelLayout::CHANNEL_FRONT_RIGHT,
                  {.channel = (int32_t)AudioChannelLayout::CHANNEL_FRONT_RIGHT,
                   .azimuthDegree = 90,
                   .azimuthDegree = 90,
                   .elevationDegree = 0}};
                   .elevationDegree = 0}};
    } else {
        return ndk::ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT,
                                                                "supportUpTo2Ch");
    }
    }


    Virtualizer param = Virtualizer::make<Virtualizer::speakerAngles>(angles);
    Virtualizer param = Virtualizer::make<Virtualizer::speakerAngles>(angles);