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

Commit addf5eeb authored by Robert Shih's avatar Robert Shih
Browse files

Integrate Legacy DRM metrics with statsd

Bug: 134789967
Test: statsd test_drive
Change-Id: I113c74ef63b52ab12063523d133ade15956ce03e
parent 85bf8a17
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ struct statsd_hooks statsd_handlers[] =
    { "audiotrack", statsd_audiotrack },
    { "codec", statsd_codec},
    { "drm.vendor.Google.WidevineCDM", statsd_widevineCDM },
    { "drmmanager", statsd_drmmanager },
    { "extractor", statsd_extractor },
    { "mediadrm", statsd_mediadrm },
    { "nuplayer", statsd_nuplayer },
+1 −0
Original line number Diff line number Diff line
@@ -30,5 +30,6 @@ extern bool statsd_recorder(MediaAnalyticsItem *);

extern bool statsd_mediadrm(MediaAnalyticsItem *);
extern bool statsd_widevineCDM(MediaAnalyticsItem *);
extern bool statsd_drmmanager(MediaAnalyticsItem *);

} // namespace android
+34 −0
Original line number Diff line number Diff line
@@ -104,4 +104,38 @@ bool statsd_widevineCDM(MediaAnalyticsItem *item)
    return true;
}

// drmmanager
bool statsd_drmmanager(MediaAnalyticsItem *item)
{
    if (item == NULL) return false;

    nsecs_t timestamp = item->getTimestamp();
    std::string pkgName = item->getPkgName();
    int64_t pkgVersionCode = item->getPkgVersionCode();
    int64_t mediaApexVersion = 0;

    char *plugin_id = NULL;
    (void) item->getCString("plugin_id", &plugin_id);
    char *description = NULL;
    (void) item->getCString("description", &description);
    int32_t method_id = -1;
    (void) item->getInt32("method_id", &method_id);
    char *mime_types = NULL;
    (void) item->getCString("mime_types", &mime_types);

    if (enabled_statsd) {
        android::util::stats_write(android::util::MEDIAMETRICS_DRMMANAGER_REPORTED,
                                   timestamp, pkgName.c_str(), pkgVersionCode,
                                   mediaApexVersion,
                                   plugin_id, description,
                                   method_id, mime_types);
    } else {
        ALOGV("NOT sending: drmmanager data");
    }

    free(plugin_id);
    free(description);
    free(mime_types);
    return true;
}
} // namespace android