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

Commit 1794d71f authored by chenhg's avatar chenhg
Browse files

Ignore outputs with direct flag when selectOutput.

BUG: 117479947
Test: android.media.cts.AudioNativeTest#testPlayStreamData

Change-Id: I0eec86185b5582f82267a24f3568244bf1c8378f
parent 4462ff08
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -1081,13 +1081,12 @@ audio_io_handle_t AudioPolicyManager::selectOutput(const SortedVector<audio_io_h
    for (audio_io_handle_t output : outputs) {
        sp<SwAudioOutputDescriptor> outputDesc = mOutputs.valueFor(output);
        if (!outputDesc->isDuplicated()) {
            // if a valid format is specified, skip output if not compatible
            if (format != AUDIO_FORMAT_INVALID) {
            if (outputDesc->mFlags & AUDIO_OUTPUT_FLAG_DIRECT) {
                    if (format != outputDesc->mFormat) {
                continue;
            }
                } else if (!audio_is_linear_pcm(format)) {
            // if a valid format is specified, skip output if not compatible
            if (format != AUDIO_FORMAT_INVALID) {
                if (!audio_is_linear_pcm(format)) {
                    continue;
                }
                if (AudioPort::isBetterFormatMatch(