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

Commit 9b8a7e54 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "audiorouting_tests: do not parse policy config xml for info" am: e6183d69 am: 0c613fbe

parents 23c06c8f 0c613fbe
Loading
Loading
Loading
Loading
+7 −20
Original line number Diff line number Diff line
@@ -26,31 +26,18 @@ using namespace android;

// UNIT TEST
TEST(AudioTrackTest, TestPerformanceMode) {
    std::vector<std::string> attachedDevices;
    std::vector<MixPort> mixPorts;
    std::vector<Route> routes;
    EXPECT_EQ(OK, parse_audio_policy_configuration_xml(attachedDevices, mixPorts, routes));
    std::string output_flags_string[] = {"AUDIO_OUTPUT_FLAG_FAST", "AUDIO_OUTPUT_FLAG_DEEP_BUFFER"};
    std::vector<struct audio_port_v7> ports;
    ASSERT_EQ(OK, listAudioPorts(ports));
    audio_output_flags_t output_flags[] = {AUDIO_OUTPUT_FLAG_FAST, AUDIO_OUTPUT_FLAG_DEEP_BUFFER};
    audio_flags_mask_t flags[] = {AUDIO_FLAG_LOW_LATENCY, AUDIO_FLAG_DEEP_BUFFER};
    bool hasFlag = false;
    for (int i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) {
        hasFlag = false;
        for (int j = 0; j < mixPorts.size() && !hasFlag; j++) {
            MixPort port = mixPorts[j];
            if (port.role == "source" && port.flags.find(output_flags_string[i]) != -1) {
                for (int k = 0; k < routes.size() && !hasFlag; k++) {
                    if (routes[k].sources.find(port.name) != -1 &&
                        std::find(attachedDevices.begin(), attachedDevices.end(), routes[k].sink) !=
                                attachedDevices.end()) {
        for (const auto& port : ports) {
            if (port.role == AUDIO_PORT_ROLE_SOURCE && port.type == AUDIO_PORT_TYPE_MIX) {
                if ((port.active_config.flags.output & output_flags[i]) != 0) {
                    hasFlag = true;
                        std::cerr << "found port with flag " << output_flags_string[i] << "@ "
                                  << " port :: name : " << port.name << " role : " << port.role
                                  << " port :: flags : " << port.flags
                                  << " connected via route name : " << routes[k].name
                                  << " route sources : " << routes[k].sources
                                  << " route sink : " << routes[k].sink << std::endl;
                    }
                    break;
                }
            }
        }