mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:23:37 +00:00
Merge "Audio V4: Add metadata update to legacy API" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a6c6f2ecfc
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user