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

Commit def1b730 authored by Sohail Nagaraj's avatar Sohail Nagaraj
Browse files

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
parent 19acd60b
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -458,7 +458,7 @@ void DrmMetricsLogger::reportMediaDrmCreated() const {
    mediametrics_delete(handle);
    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_handle_t handle(mediametrics_create("mediadrm.session_opened"));
    mediametrics_setInt64(handle, "obj_nonce_msb", mObjNonceMsb);
    mediametrics_setInt64(handle, "obj_nonce_msb", mObjNonceMsb);
    mediametrics_setInt64(handle, "obj_nonce_lsb", mObjNonceLsb);
    mediametrics_setInt64(handle, "obj_nonce_lsb", mObjNonceLsb);
@@ -475,8 +475,8 @@ void DrmMetricsLogger::reportMediaDrmSessionOpened(std::vector<uint8_t> sessionI
    mediametrics_delete(handle);
    mediametrics_delete(handle);
}
}


void DrmMetricsLogger::reportMediaDrmErrored(DrmStatus error_code, const char* api,
void DrmMetricsLogger::reportMediaDrmErrored(const DrmStatus& error_code, const char* api,
                                             std::vector<uint8_t> sessionId) const {
                                             const std::vector<uint8_t>& sessionId) const {
    mediametrics_handle_t handle(mediametrics_create("mediadrm.errored"));
    mediametrics_handle_t handle(mediametrics_create("mediadrm.errored"));
    mediametrics_setInt64(handle, "obj_nonce_msb", mObjNonceMsb);
    mediametrics_setInt64(handle, "obj_nonce_msb", mObjNonceMsb);
    mediametrics_setInt64(handle, "obj_nonce_lsb", mObjNonceLsb);
    mediametrics_setInt64(handle, "obj_nonce_lsb", mObjNonceLsb);
@@ -491,6 +491,9 @@ void DrmMetricsLogger::reportMediaDrmErrored(DrmStatus error_code, const char* a
    mediametrics_setInt64(handle, "uuid_msb", be64toh(mUuid[0]));
    mediametrics_setInt64(handle, "uuid_msb", be64toh(mUuid[0]));
    mediametrics_setInt64(handle, "uuid_lsb", be64toh(mUuid[1]));
    mediametrics_setInt64(handle, "uuid_lsb", be64toh(mUuid[1]));
    mediametrics_setInt32(handle, "error_code", error_code);
    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_setCString(handle, "api", api);
    mediametrics_setInt32(handle, "frontend", mFrontend);
    mediametrics_setInt32(handle, "frontend", mFrontend);
    mediametrics_selfRecord(handle);
    mediametrics_selfRecord(handle);
+4 −3
Original line number Original line Diff line number Diff line
@@ -144,10 +144,11 @@ class DrmMetricsLogger : public IDrm {


    void reportMediaDrmCreated() const;
    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,
    void reportMediaDrmErrored(
                               std::vector<uint8_t> sessionId = std::vector<uint8_t>()) const;
            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);
    DrmStatus checkGetRandom(int64_t* nonce, const char* api);