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

Commit d790e618 authored by Robert Shih's avatar Robert Shih Committed by Automerger Merge Worker
Browse files

Merge "Add DRM Hal pulgin version in MediaDrm atoms" am: edd344ab am:...

Merge "Add DRM Hal pulgin version in MediaDrm atoms" am: edd344ab am: 3987b74d am: 472654f1 am: feff3b81

Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/2459789



Change-Id: I5ff2a3f2e276429a823179313ef03da333067d62
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents ae667d2a feff3b81
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -75,6 +75,10 @@ DrmStatus DrmMetricsLogger::createPlugin(const uint8_t uuid[IDRM_UUID_SIZE],
    }
    DrmStatus status = mImpl->createPlugin(uuid, appPackageName);
    if (status == OK) {
        String8 version8;
        if (getPropertyString(String8("version"), version8) == OK) {
            mVersion = version8.string();
        }
        reportMediaDrmCreated();
    } else {
        reportMediaDrmErrored(status, __func__);
@@ -103,6 +107,9 @@ DrmStatus DrmMetricsLogger::openSession(DrmPlugin::SecurityLevel securityLevel,
        if (getSecurityLevel(sessionId, &ctx.mActualSecurityLevel) != OK) {
            ctx.mActualSecurityLevel = DrmPlugin::kSecurityLevelUnknown;
        }
        if (!mVersion.empty()) {
            ctx.mVersion = mVersion;
        }
        {
            const std::lock_guard<std::mutex> lock(mSessionMapMutex);
            mSessionMap.insert({sessionKey, ctx});
@@ -466,6 +473,7 @@ void DrmMetricsLogger::reportMediaDrmCreated() const {
    mediametrics_setInt64(handle, "uuid_lsb", mUuid[1]);
    mediametrics_setInt32(handle, "frontend", mFrontend);
    mediametrics_setCString(handle, "object_nonce", mObjNonce.c_str());
    mediametrics_setCString(handle, "version", mVersion.c_str());
    mediametrics_selfRecord(handle);
    mediametrics_delete(handle);
}
@@ -476,6 +484,7 @@ void DrmMetricsLogger::reportMediaDrmSessionOpened(const std::vector<uint8_t>& s
    mediametrics_setInt64(handle, "uuid_msb", mUuid[0]);
    mediametrics_setInt64(handle, "uuid_lsb", mUuid[1]);
    mediametrics_setInt32(handle, "frontend", mFrontend);
    mediametrics_setCString(handle, "version", mVersion.c_str());
    mediametrics_setCString(handle, "object_nonce", mObjNonce.c_str());
    const std::lock_guard<std::mutex> lock(mSessionMapMutex);
    auto it = mSessionMap.find(sessionId);
@@ -495,6 +504,7 @@ void DrmMetricsLogger::reportMediaDrmErrored(const DrmStatus& error_code, const
    mediametrics_setInt64(handle, "uuid_msb", mUuid[0]);
    mediametrics_setInt64(handle, "uuid_lsb", mUuid[1]);
    mediametrics_setInt32(handle, "frontend", mFrontend);
    mediametrics_setCString(handle, "version", mVersion.c_str());
    mediametrics_setCString(handle, "object_nonce", mObjNonce.c_str());
    if (!sessionId.empty()) {
        const std::lock_guard<std::mutex> lock(mSessionMapMutex);
+2 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ struct SessionContext {
    std::string mNonce;
    int64_t mTargetSecurityLevel;
    DrmPlugin::SecurityLevel mActualSecurityLevel;
    std::string mVersion;
};

class DrmMetricsLogger : public IDrm {
@@ -161,6 +162,7 @@ class DrmMetricsLogger : public IDrm {
    std::array<int64_t, 2> mUuid;
    std::string mObjNonce;
    std::string mScheme;
    std::string mVersion;
    std::map<std::vector<uint8_t>, SessionContext> mSessionMap;
    mutable std::mutex mSessionMapMutex;
    IDrmFrontend mFrontend;