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

Commit 151a2243 authored by Andy Hung's avatar Andy Hung
Browse files

AudioFlinger: Do not create direct secondary output tracks

Test: Live Caption
Flag: EXEMPT bugfix
Bug: 359862350
Merged-In: Ie0b7c1b2a5aaf02f71da7decd0e9df534fdd0a57
Change-Id: Ie0b7c1b2a5aaf02f71da7decd0e9df534fdd0a57
parent 3eba0898
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -3948,8 +3948,12 @@ void AudioFlinger::updateSecondaryOutputsForTrack_l(
        // TODO: We could check compatibility of the secondaryThread with the PatchTrack
        // for fast usage: thread has fast mixer, sample rate matches, etc.;
        // for now, we exclude fast tracks by removing the Fast flag.
        constexpr audio_output_flags_t kIncompatiblePatchTrackFlags =
                static_cast<audio_output_flags_t>(AUDIO_OUTPUT_FLAG_FAST
                        | AUDIO_OUTPUT_FLAG_DIRECT | AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD);

        const audio_output_flags_t outputFlags =
                (audio_output_flags_t)(track->getOutputFlags() & ~AUDIO_OUTPUT_FLAG_FAST);
                (audio_output_flags_t)(track->getOutputFlags() & ~kIncompatiblePatchTrackFlags);
        sp<IAfPatchTrack> patchTrack = IAfPatchTrack::create(secondaryThread,
                                                       track->streamType(),
                                                       track->sampleRate(),