Updated metrics logging IDrm implementation
Added cdm_err, oem_err and error_context values in
reportMediaDrmErrored API
Bug: 260066511
Test: gts-tradefed run gts --abi arm64-v8a -m GtsMediaTestCases
Test: atest CtsMediaDrmFrameworkTestCases
Change-Id: I03b6d55622acb604fcef4462f03e71a0a7bcd736
diff --git a/drm/libmediadrm/DrmMetricsLogger.cpp b/drm/libmediadrm/DrmMetricsLogger.cpp
index bcdfadf..9c737a0 100644
--- a/drm/libmediadrm/DrmMetricsLogger.cpp
+++ b/drm/libmediadrm/DrmMetricsLogger.cpp
@@ -458,7 +458,7 @@
mediametrics_delete(handle);
}
-void DrmMetricsLogger::reportMediaDrmSessionOpened(std::vector<uint8_t> sessionId) const {
+void DrmMetricsLogger::reportMediaDrmSessionOpened(const std::vector<uint8_t>& sessionId) const {
mediametrics_handle_t handle(mediametrics_create("mediadrm.session_opened"));
mediametrics_setInt64(handle, "obj_nonce_msb", mObjNonceMsb);
mediametrics_setInt64(handle, "obj_nonce_lsb", mObjNonceLsb);
@@ -475,8 +475,8 @@
mediametrics_delete(handle);
}
-void DrmMetricsLogger::reportMediaDrmErrored(DrmStatus error_code, const char* api,
- std::vector<uint8_t> sessionId) const {
+void DrmMetricsLogger::reportMediaDrmErrored(const DrmStatus& error_code, const char* api,
+ const std::vector<uint8_t>& sessionId) const {
mediametrics_handle_t handle(mediametrics_create("mediadrm.errored"));
mediametrics_setInt64(handle, "obj_nonce_msb", mObjNonceMsb);
mediametrics_setInt64(handle, "obj_nonce_lsb", mObjNonceLsb);
@@ -491,6 +491,9 @@
mediametrics_setInt64(handle, "uuid_msb", be64toh(mUuid[0]));
mediametrics_setInt64(handle, "uuid_lsb", be64toh(mUuid[1]));
mediametrics_setInt32(handle, "error_code", error_code);
+ mediametrics_setInt32(handle, "cdm_err", error_code.getCdmErr());
+ mediametrics_setInt32(handle, "oem_err", error_code.getOemErr());
+ mediametrics_setInt32(handle, "error_context", error_code.getContext());
mediametrics_setCString(handle, "api", api);
mediametrics_setInt32(handle, "frontend", mFrontend);
mediametrics_selfRecord(handle);
diff --git a/drm/libmediadrm/include/mediadrm/DrmMetricsLogger.h b/drm/libmediadrm/include/mediadrm/DrmMetricsLogger.h
index 638fb35..b618314 100644
--- a/drm/libmediadrm/include/mediadrm/DrmMetricsLogger.h
+++ b/drm/libmediadrm/include/mediadrm/DrmMetricsLogger.h
@@ -144,10 +144,11 @@
void reportMediaDrmCreated() const;
- void reportMediaDrmSessionOpened(std::vector<uint8_t> sessionId) const;
+ void reportMediaDrmSessionOpened(const std::vector<uint8_t>& sessionId) const;
- void reportMediaDrmErrored(DrmStatus error_code, const char* api,
- std::vector<uint8_t> sessionId = std::vector<uint8_t>()) const;
+ void reportMediaDrmErrored(
+ const DrmStatus& error_code, const char* api,
+ const std::vector<uint8_t>& sessionId = std::vector<uint8_t>()) const;
DrmStatus checkGetRandom(int64_t* nonce, const char* api);