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

Commit b9cc0ab4 authored by Eric Laurent's avatar Eric Laurent
Browse files

AudioFlinger: track metadata fix up

Do not send metadata of tracks used by software patches to audio HAL.
This is true for all record tracks and for playback track with
unspecified usage (stream type).

Bug: 168751366
Test: make
Change-Id: I45a3cc8ecc0e1cca66a613457936306bc21ad90e
parent 7491da7f
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -2961,8 +2961,11 @@ void AudioFlinger::PlaybackThread::updateMetadata_l()
    auto backInserter = std::back_inserter(metadata.tracks);
    for (const sp<Track> &track : mActiveTracks) {
        // No track is invalid as this is called after prepareTrack_l in the same critical section
        // Do not forward metadata for PatchTrack with unspecified stream type
        if (track->streamType() != AUDIO_STREAM_PATCH) {
            track->copyMetadataTo(backInserter);
        }
    }
    sendMetadataToBackend_l(metadata);
}

@@ -8101,6 +8104,10 @@ void AudioFlinger::RecordThread::updateMetadata_l()
    }
    StreamInHalInterface::SinkMetadata metadata;
    for (const sp<RecordTrack> &track : mActiveTracks) {
        // Do not forward PatchRecord metadata to audio HAL
        if (track->isPatchTrack()) {
            continue;
        }
        // No track is invalid as this is called after prepareTrack_l in the same critical section
        record_track_metadata_v7_t trackMetadata;
        trackMetadata.base = {