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

Commit fe02196f authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "OMX VTS: Added a test to mandate transition to C2 codecs" am: d9aa226a

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1973542

Change-Id: Ic1840ca9a58f24e1763c67031cc12052703d1680
parents 02b7992b d9aa226a
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -20,7 +20,9 @@
#endif

#include <android-base/logging.h>
#include <android-base/properties.h>
#include <android-base/strings.h>
#include <android/api-level.h>

#include <android/hardware/media/omx/1.0/IOmx.h>
#include <android/hardware/media/omx/1.0/IOmxNode.h>
@@ -371,6 +373,31 @@ TEST_P(StoreHidlTest, ListRoles) {
    }
}

static int getFirstApiLevel() {
    return android::base::GetIntProperty("ro.product.first_api_level", __ANDROID_API_T__);
}

// list components and roles.
TEST_P(StoreHidlTest, OmxCodecAllowedTest) {
    hidl_vec<IOmx::ComponentInfo> componentInfos = getComponentInfoList(omx);
    for (IOmx::ComponentInfo info : componentInfos) {
        for (std::string role : info.mRoles) {
            if (role.find("video_decoder") != std::string::npos ||
                role.find("video_encoder") != std::string::npos) {
                ASSERT_LT(getFirstApiLevel(), __ANDROID_API_S__)
                        << " Component: " << info.mName.c_str() << " Role: " << role.c_str()
                        << " not allowed for devices launching with Android S and above";
            }
            if (role.find("audio_decoder") != std::string::npos ||
                role.find("audio_encoder") != std::string::npos) {
                ASSERT_LT(getFirstApiLevel(), __ANDROID_API_T__)
                        << " Component: " << info.mName.c_str() << " Role: " << role.c_str()
                        << " not allowed for devices launching with Android T and above";
            }
        }
    }
}

// list components and roles.
TEST_P(StoreHidlTest, ListNodes) {
    description("enumerate component and roles");