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

Commit 64fd6bd7 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

audio: Use the canonical direction port direction in ModuleUsb

Instead of relying on the device type, use the 'AudioPort.flags'
field to determine the device direction.

Remove 'isUsbInputDeviceType' and 'isUsbOutputtDeviceType'
as they are too specific to particular device type and just
add a maintenance burden.

Bug: 266216550
Test: m
Change-Id: Ia1b9330c2b419a1a4048ed78d914d05c1caf523f
parent e0a23885
Loading
Loading
Loading
Loading
+0 −24
Original line number Diff line number Diff line
@@ -111,30 +111,6 @@ constexpr bool isTelephonyDeviceType(
           device == ::aidl::android::media::audio::common::AudioDeviceType::OUT_TELEPHONY_TX;
}

constexpr bool isUsbInputDeviceType(::aidl::android::media::audio::common::AudioDeviceType type) {
    switch (type) {
        case ::aidl::android::media::audio::common::AudioDeviceType::IN_DOCK:
        case ::aidl::android::media::audio::common::AudioDeviceType::IN_ACCESSORY:
        case ::aidl::android::media::audio::common::AudioDeviceType::IN_DEVICE:
        case ::aidl::android::media::audio::common::AudioDeviceType::IN_HEADSET:
            return true;
        default:
            return false;
    }
}

constexpr bool isUsbOutputtDeviceType(::aidl::android::media::audio::common::AudioDeviceType type) {
    switch (type) {
        case ::aidl::android::media::audio::common::AudioDeviceType::OUT_DOCK:
        case ::aidl::android::media::audio::common::AudioDeviceType::OUT_ACCESSORY:
        case ::aidl::android::media::audio::common::AudioDeviceType::OUT_DEVICE:
        case ::aidl::android::media::audio::common::AudioDeviceType::OUT_HEADSET:
            return true;
        default:
            return false;
    }
}

constexpr bool isValidAudioMode(::aidl::android::media::audio::common::AudioMode mode) {
    return std::find(kValidAudioModes.begin(), kValidAudioModes.end(), mode) !=
           kValidAudioModes.end();
+2 −2
Original line number Diff line number Diff line
@@ -30,13 +30,13 @@ extern "C" {
#include "alsa_device_profile.h"
}

using aidl::android::hardware::audio::common::isUsbInputDeviceType;
using aidl::android::media::audio::common::AudioChannelLayout;
using aidl::android::media::audio::common::AudioDeviceAddress;
using aidl::android::media::audio::common::AudioDeviceDescription;
using aidl::android::media::audio::common::AudioDeviceType;
using aidl::android::media::audio::common::AudioFormatDescription;
using aidl::android::media::audio::common::AudioFormatType;
using aidl::android::media::audio::common::AudioIoFlags;
using aidl::android::media::audio::common::AudioPort;
using aidl::android::media::audio::common::AudioPortConfig;
using aidl::android::media::audio::common::AudioPortExt;
@@ -117,7 +117,7 @@ ndk::ScopedAStatus ModuleUsb::populateConnectedDevicePort(AudioPort* audioPort)
        return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
    }

    const bool isInput = isUsbInputDeviceType(devicePort.device.type.type);
    const bool isInput = audioPort->flags.getTag() == AudioIoFlags::input;
    alsa_device_profile profile;
    profile_init(&profile, isInput ? PCM_IN : PCM_OUT);
    profile.card = alsaAddress[0];