omx: validate only standard OMX roles
Test uses ::android::GetComponentRole to get OMX role for media type
that only supports standard types (on GSI where VTS is run).
Bug: 164550113
Bug: 171536493
Bug: 194827876
Test: atest VtsHalMediaOmxV1_0TargetStoreTest
Change-Id: Ia9e64c8d887518f6c7d8c650a942bad7ce3457f0
diff --git a/media/omx/1.0/vts/functional/store/VtsHalMediaOmxV1_0TargetStoreTest.cpp b/media/omx/1.0/vts/functional/store/VtsHalMediaOmxV1_0TargetStoreTest.cpp
index e73196c..8699de3 100644
--- a/media/omx/1.0/vts/functional/store/VtsHalMediaOmxV1_0TargetStoreTest.cpp
+++ b/media/omx/1.0/vts/functional/store/VtsHalMediaOmxV1_0TargetStoreTest.cpp
@@ -264,11 +264,13 @@
// Make sure role name follows expected format based on type and
// isEncoder
- const std::string role_name(
- ::android::GetComponentRole(role.isEncoder, role.type.c_str()));
- EXPECT_EQ(role_name, role.role) << "Role \"" << role.role << "\" does not match "
- << (role.isEncoder ? "an encoder " : "a decoder ")
- << "for mime type \"" << role.type << ".";
+ const char* role_name = ::android::GetComponentRole(role.isEncoder, role.type.c_str());
+ if (role_name != nullptr) {
+ EXPECT_EQ(std::string(role_name), role.role)
+ << "Role \"" << role.role << "\" does not match "
+ << (role.isEncoder ? "an encoder " : "a decoder ") << "for media type \""
+ << role.type << ".";
+ }
// Check the nodes for this role
std::set<const std::string> nodeKeys;