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

Commit 0992650e authored by Kevin Rocard's avatar Kevin Rocard Committed by android-build-merger
Browse files

Merge "Audio V4: Add metadata update to legacy API" into pi-dev

am: a6c6f2ec

Change-Id: I83db342cca635eaa94ea09aaf4dc53e99cea048e
parents 8d7245e5 a6c6f2ec
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -451,8 +451,21 @@ Return<void> StreamIn::debug(const hidl_handle& fd, const hidl_vec<hidl_string>&
}

#ifdef AUDIO_HAL_VERSION_4_0
Return<void> StreamIn::updateSinkMetadata(const SinkMetadata& /*sinkMetadata*/) {
    return Void();  // TODO: propagate to legacy
Return<void> StreamIn::updateSinkMetadata(const SinkMetadata& sinkMetadata) {
    if (mStream->update_sink_metadata == nullptr) {
        return Void();  // not supported by the HAL
    }
    std::vector<record_track_metadata> halTracks;
    halTracks.reserve(sinkMetadata.tracks.size());
    for (auto& metadata : sinkMetadata.tracks) {
        halTracks.push_back(
            {.source = static_cast<audio_source_t>(metadata.source), .gain = metadata.gain});
    }
    const sink_metadata_t halMetadata = {
        .track_count = halTracks.size(), .tracks = halTracks.data(),
    };
    mStream->update_sink_metadata(mStream, &halMetadata);
    return Void();
}

Return<void> StreamIn::getActiveMicrophones(getActiveMicrophones_cb _hidl_cb) {
+18 −2
Original line number Diff line number Diff line
@@ -547,8 +547,24 @@ Return<void> StreamOut::debug(const hidl_handle& fd, const hidl_vec<hidl_string>
}

#ifdef AUDIO_HAL_VERSION_4_0
Return<void> StreamOut::updateSourceMetadata(const SourceMetadata& /*sourceMetadata*/) {
    return Void();  // TODO: propagate to legacy
Return<void> StreamOut::updateSourceMetadata(const SourceMetadata& sourceMetadata) {
    if (mStream->update_source_metadata == nullptr) {
        return Void();  // not supported by the HAL
    }
    std::vector<playback_track_metadata> halTracks;
    halTracks.reserve(sourceMetadata.tracks.size());
    for (auto& metadata : sourceMetadata.tracks) {
        halTracks.push_back({
            .usage = static_cast<audio_usage_t>(metadata.usage),
            .content_type = static_cast<audio_content_type_t>(metadata.contentType),
            .gain = metadata.gain,
        });
    }
    const source_metadata_t halMetadata = {
        .track_count = halTracks.size(), .tracks = halTracks.data(),
    };
    mStream->update_source_metadata(mStream, &halMetadata);
    return Void();
}
Return<Result> StreamOut::selectPresentation(int32_t /*presentationId*/, int32_t /*programId*/) {
    return Result::NOT_SUPPORTED;  // TODO: propagate to legacy