mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 15:58:43 +00:00
Audio: Add VTS tests for invalid enum-strings, Part 1b am: 9139399bad
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1543608 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I06e23b9ae40a078f88ffdbe6ac7bd47a76787576
This commit is contained in:
@@ -478,13 +478,24 @@ Return<void> StreamIn::debug(const hidl_handle& fd, const hidl_vec<hidl_string>&
|
||||
}
|
||||
|
||||
#if MAJOR_VERSION >= 4
|
||||
Result StreamIn::doUpdateSinkMetadata(const SinkMetadata& sinkMetadata,
|
||||
bool abortOnConversionFailure) {
|
||||
Result StreamIn::doUpdateSinkMetadata(const SinkMetadata& sinkMetadata) {
|
||||
std::vector<record_track_metadata> halTracks;
|
||||
if (status_t status = sinkMetadataToHal(sinkMetadata, &halTracks);
|
||||
status != NO_ERROR && abortOnConversionFailure) {
|
||||
#if MAJOR_VERSION <= 6
|
||||
(void)sinkMetadataToHal(sinkMetadata, &halTracks);
|
||||
#else
|
||||
// Validate whether a conversion to V7 is possible. This is needed
|
||||
// to have a consistent behavior of the HAL regardless of the API
|
||||
// version of the legacy HAL (and also to be consistent with openInputStream).
|
||||
std::vector<record_track_metadata_v7> halTracksV7;
|
||||
if (status_t status = sinkMetadataToHalV7(sinkMetadata, &halTracksV7); status == NO_ERROR) {
|
||||
halTracks.reserve(halTracksV7.size());
|
||||
for (auto metadata_v7 : halTracksV7) {
|
||||
halTracks.push_back(std::move(metadata_v7.base));
|
||||
}
|
||||
} else {
|
||||
return Stream::analyzeStatus("sinkMetadataToHal", status);
|
||||
}
|
||||
#endif // MAJOR_VERSION <= 6
|
||||
const sink_metadata_t halMetadata = {
|
||||
.track_count = halTracks.size(),
|
||||
.tracks = halTracks.data(),
|
||||
@@ -513,7 +524,7 @@ Return<void> StreamIn::updateSinkMetadata(const SinkMetadata& sinkMetadata) {
|
||||
if (mStream->update_sink_metadata == nullptr) {
|
||||
return Void(); // not supported by the HAL
|
||||
}
|
||||
(void)doUpdateSinkMetadata(sinkMetadata, false /*abortOnConversionFailure*/);
|
||||
(void)doUpdateSinkMetadata(sinkMetadata);
|
||||
return Void();
|
||||
}
|
||||
#elif MAJOR_VERSION >= 7
|
||||
@@ -522,7 +533,7 @@ Return<Result> StreamIn::updateSinkMetadata(const SinkMetadata& sinkMetadata) {
|
||||
if (mStream->update_sink_metadata == nullptr) {
|
||||
return Result::NOT_SUPPORTED;
|
||||
}
|
||||
return doUpdateSinkMetadata(sinkMetadata, true /*abortOnConversionFailure*/);
|
||||
return doUpdateSinkMetadata(sinkMetadata);
|
||||
} else {
|
||||
if (mStream->update_sink_metadata_v7 == nullptr) {
|
||||
return Result::NOT_SUPPORTED;
|
||||
|
||||
@@ -586,13 +586,24 @@ Return<void> StreamOut::debug(const hidl_handle& fd, const hidl_vec<hidl_string>
|
||||
}
|
||||
|
||||
#if MAJOR_VERSION >= 4
|
||||
Result StreamOut::doUpdateSourceMetadata(const SourceMetadata& sourceMetadata,
|
||||
bool abortOnConversionFailure) {
|
||||
Result StreamOut::doUpdateSourceMetadata(const SourceMetadata& sourceMetadata) {
|
||||
std::vector<playback_track_metadata_t> halTracks;
|
||||
if (status_t status = sourceMetadataToHal(sourceMetadata, &halTracks);
|
||||
status != NO_ERROR && abortOnConversionFailure) {
|
||||
#if MAJOR_VERSION <= 6
|
||||
(void)sourceMetadataToHal(sourceMetadata, &halTracks);
|
||||
#else
|
||||
// Validate whether a conversion to V7 is possible. This is needed
|
||||
// to have a consistent behavior of the HAL regardless of the API
|
||||
// version of the legacy HAL (and also to be consistent with openOutputStream).
|
||||
std::vector<playback_track_metadata_v7> halTracksV7;
|
||||
if (status_t status = sourceMetadataToHalV7(sourceMetadata, &halTracksV7); status == NO_ERROR) {
|
||||
halTracks.reserve(halTracksV7.size());
|
||||
for (auto metadata_v7 : halTracksV7) {
|
||||
halTracks.push_back(std::move(metadata_v7.base));
|
||||
}
|
||||
} else {
|
||||
return Stream::analyzeStatus("sourceMetadataToHal", status);
|
||||
}
|
||||
#endif // MAJOR_VERSION <= 6
|
||||
const source_metadata_t halMetadata = {
|
||||
.track_count = halTracks.size(),
|
||||
.tracks = halTracks.data(),
|
||||
@@ -621,7 +632,7 @@ Return<void> StreamOut::updateSourceMetadata(const SourceMetadata& sourceMetadat
|
||||
if (mStream->update_source_metadata == nullptr) {
|
||||
return Void(); // not supported by the HAL
|
||||
}
|
||||
(void)doUpdateSourceMetadata(sourceMetadata, false /*abortOnConversionFailure*/);
|
||||
(void)doUpdateSourceMetadata(sourceMetadata);
|
||||
return Void();
|
||||
}
|
||||
#elif MAJOR_VERSION >= 7
|
||||
@@ -630,7 +641,7 @@ Return<Result> StreamOut::updateSourceMetadata(const SourceMetadata& sourceMetad
|
||||
if (mStream->update_source_metadata == nullptr) {
|
||||
return Result::NOT_SUPPORTED;
|
||||
}
|
||||
return doUpdateSourceMetadata(sourceMetadata, true /*abortOnConversionFailure*/);
|
||||
return doUpdateSourceMetadata(sourceMetadata);
|
||||
} else {
|
||||
if (mStream->update_source_metadata_v7 == nullptr) {
|
||||
return Result::NOT_SUPPORTED;
|
||||
|
||||
@@ -130,7 +130,7 @@ struct StreamIn : public IStreamIn {
|
||||
|
||||
private:
|
||||
#if MAJOR_VERSION >= 4
|
||||
Result doUpdateSinkMetadata(const SinkMetadata& sinkMetadata, bool abortOnConversionFailure);
|
||||
Result doUpdateSinkMetadata(const SinkMetadata& sinkMetadata);
|
||||
#if MAJOR_VERSION >= 7
|
||||
Result doUpdateSinkMetadataV7(const SinkMetadata& sinkMetadata);
|
||||
#endif
|
||||
|
||||
@@ -148,8 +148,7 @@ struct StreamOut : public IStreamOut {
|
||||
|
||||
private:
|
||||
#if MAJOR_VERSION >= 4
|
||||
Result doUpdateSourceMetadata(const SourceMetadata& sourceMetadata,
|
||||
bool abortOnConversionFailure);
|
||||
Result doUpdateSourceMetadata(const SourceMetadata& sourceMetadata);
|
||||
#if MAJOR_VERSION >= 7
|
||||
Result doUpdateSourceMetadataV7(const SourceMetadata& sourceMetadata);
|
||||
#endif
|
||||
|
||||
@@ -401,6 +401,22 @@ static const RecordTrackMetadata& getRecordTrackMetadataWithInvalidDest() {
|
||||
return invalid;
|
||||
}
|
||||
|
||||
static const RecordTrackMetadata& getInvalidChannelMaskRecordTrackMetadata() {
|
||||
static const RecordTrackMetadata invalid = {
|
||||
.source = toString(xsd::AudioSource::AUDIO_SOURCE_DEFAULT),
|
||||
.gain = 1,
|
||||
.channelMask = "random_string"};
|
||||
return invalid;
|
||||
}
|
||||
|
||||
static const RecordTrackMetadata& getInvalidTagsRecordTrackMetadata() {
|
||||
static const RecordTrackMetadata invalid = {
|
||||
.source = toString(xsd::AudioSource::AUDIO_SOURCE_DEFAULT),
|
||||
.gain = 1,
|
||||
.tags = {{"random_string"}}};
|
||||
return invalid;
|
||||
}
|
||||
|
||||
static const PlaybackTrackMetadata& getValidPlaybackTrackMetadata() {
|
||||
static const PlaybackTrackMetadata valid = {
|
||||
.usage = toString(xsd::AudioUsage::AUDIO_USAGE_MEDIA),
|
||||
@@ -425,24 +441,54 @@ static const PlaybackTrackMetadata& getInvalidContentTypePlaybackTrackMetadata()
|
||||
return invalid;
|
||||
}
|
||||
|
||||
static const PlaybackTrackMetadata& getInvalidChannelMaskPlaybackTrackMetadata() {
|
||||
static const PlaybackTrackMetadata invalid = {
|
||||
.usage = toString(xsd::AudioUsage::AUDIO_USAGE_MEDIA),
|
||||
.contentType = toString(xsd::AudioContentType::AUDIO_CONTENT_TYPE_MUSIC),
|
||||
.gain = 1,
|
||||
.channelMask = "random_string"};
|
||||
return invalid;
|
||||
}
|
||||
|
||||
static const PlaybackTrackMetadata& getInvalidTagsPlaybackTrackMetadata() {
|
||||
static const PlaybackTrackMetadata invalid = {
|
||||
.usage = toString(xsd::AudioUsage::AUDIO_USAGE_MEDIA),
|
||||
.contentType = toString(xsd::AudioContentType::AUDIO_CONTENT_TYPE_MUSIC),
|
||||
.gain = 1,
|
||||
.tags = {{"random_string"}}};
|
||||
return invalid;
|
||||
}
|
||||
|
||||
static const std::vector<SourceMetadata>& getInvalidSourceMetadatas() {
|
||||
static const std::vector<SourceMetadata> invalids = {
|
||||
SourceMetadata{.tracks = {{getInvalidUsagePlaybackTrackMetadata()}}},
|
||||
SourceMetadata{.tracks = {{getInvalidContentTypePlaybackTrackMetadata()}}},
|
||||
SourceMetadata{.tracks = {{getInvalidChannelMaskPlaybackTrackMetadata()}}},
|
||||
SourceMetadata{.tracks = {{getInvalidTagsPlaybackTrackMetadata()}}},
|
||||
SourceMetadata{.tracks = {{getValidPlaybackTrackMetadata(),
|
||||
getInvalidUsagePlaybackTrackMetadata()}}},
|
||||
SourceMetadata{.tracks = {{getValidPlaybackTrackMetadata(),
|
||||
getInvalidContentTypePlaybackTrackMetadata()}}}};
|
||||
getInvalidContentTypePlaybackTrackMetadata()}}},
|
||||
SourceMetadata{.tracks = {{getValidPlaybackTrackMetadata(),
|
||||
getInvalidChannelMaskPlaybackTrackMetadata()}}},
|
||||
SourceMetadata{.tracks = {{getValidPlaybackTrackMetadata(),
|
||||
getInvalidTagsPlaybackTrackMetadata()}}}};
|
||||
return invalids;
|
||||
}
|
||||
static const std::vector<SinkMetadata>& getInvalidSinkMetadatas() {
|
||||
static const std::vector<SinkMetadata> invalids = {
|
||||
SinkMetadata{.tracks = {{getInvalidSourceRecordTrackMetadata()}}},
|
||||
SinkMetadata{.tracks = {{getRecordTrackMetadataWithInvalidDest()}}},
|
||||
SinkMetadata{.tracks = {{getInvalidChannelMaskRecordTrackMetadata()}}},
|
||||
SinkMetadata{.tracks = {{getInvalidTagsRecordTrackMetadata()}}},
|
||||
SinkMetadata{.tracks = {{getValidRecordTrackMetadata(),
|
||||
getInvalidSourceRecordTrackMetadata()}}},
|
||||
SinkMetadata{.tracks = {{getValidRecordTrackMetadata(),
|
||||
getRecordTrackMetadataWithInvalidDest()}}}};
|
||||
getRecordTrackMetadataWithInvalidDest()}}},
|
||||
SinkMetadata{.tracks = {{getValidRecordTrackMetadata(),
|
||||
getInvalidChannelMaskRecordTrackMetadata()}}},
|
||||
SinkMetadata{.tracks = {{getValidRecordTrackMetadata(),
|
||||
getInvalidTagsRecordTrackMetadata()}}}};
|
||||
return invalids;
|
||||
}
|
||||
template <typename T>
|
||||
|
||||
Reference in New Issue
Block a user