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

Commit 6afcb1bb authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes I24447bb8,Ic876bf17 into main

* changes:
  audiopolicy: cap engine: fallback on default configuration
  audiopolicy: capengine: aidl hybrid mode enable
parents e86a3c63 609fd781
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ public:

    // The source used to indicate the configuration from the AIDL HAL.
    static const constexpr char* const kAidlConfigSource = "AIDL HAL";
    // The source used to indicate the configuration from the AIDL HAL but engine still use XML.
    static const constexpr char* const kHybridAidlConfigSource = "AIDL HAL Hybrid CAP";
    // The source used to indicate the default fallback configuration.
    static const constexpr char* const kDefaultConfigSource = "AudioPolicyConfig::setDefault";
    // The suffix of the "engine default" implementation shared library name.
+3 −0
Original line number Diff line number Diff line
@@ -272,6 +272,9 @@ status_t AudioPolicyConfig::loadFromAidl(const media::AudioPolicyConfig& aidl) {
    mSource = kAidlConfigSource;
    if (aidl.engineConfig.capSpecificConfig.has_value()) {
        setEngineLibraryNameSuffix(kCapEngineLibraryNameSuffix);
        if (!aidl.engineConfig.capSpecificConfig.value().domains.has_value()) {
            mSource = kHybridAidlConfigSource;
        }
    }
    // No need to augmentData() as AIDL HAL must provide correct mic addresses.
    return NO_ERROR;
+2 −0
Original line number Diff line number Diff line
@@ -178,6 +178,8 @@ public:

    void updateDeviceSelectionCache() override;

    void setDefaultConfiguration();

protected:
    DeviceVector getPreferredAvailableDevicesForProductStrategy(
        const DeviceVector& availableOutputDevices, product_strategy_t strategy) const;
+6 −0
Original line number Diff line number Diff line
@@ -125,6 +125,12 @@ std::string EngineBase::getProductStrategyName(product_strategy_t id) const {
    return "";
}

void EngineBase::setDefaultConfiguration() {
    mProductStrategies.clear();
    mVolumeGroups.clear();
    (void) processParsingResult({std::make_unique<engineConfig::Config>(gDefaultEngineConfig), 1});
}

engineConfig::ParsingResult EngineBase::loadAudioPolicyEngineConfig(
        const media::audio::common::AudioHalEngineConfig& aidlConfig, bool)
{
+16 −7
Original line number Diff line number Diff line
@@ -27,7 +27,10 @@ cc_library_shared {
        "-Wall",
        "-Werror",
        "-Wextra",
    ],
    ] + select(release_flag("RELEASE_HARDWARE_AUDIO_USE_CAP_AIDL"), {
        true: [],
        default: ["-DENABLE_CAP_AIDL_HYBRID_MODE"],
    }),
    local_include_dirs: ["include"],
    header_libs: [
        "libaudiopolicycommon",
@@ -59,10 +62,16 @@ cc_library_shared {
        "latest_android_media_audio_common_types_cpp_shared",
    ],
    required: [
    ] + select(release_flag("RELEASE_HARDWARE_AUDIO_USE_CAP_AIDL"), {
        true: [
            "CapClass.xml",
            "CapProductStrategies.xml",
            "CapSubsystem-CommonTypes.xml",
            "CapSubsystem.xml",
            "ParameterFrameworkConfigurationCap.xml",
        ],
        default: [
            // empty, provisionned by the vendor
        ],
    }),
}
Loading