)]}'
{
  "log": [
    {
      "commit": "4f8f900d3cb8ee117980705ac5df250f9df63bfc",
      "tree": "9cb144737b86c91e2053293b611589ec79946af0",
      "parents": [
        "547921396126d2e5e6387a04bc971e616250574b",
        "7d2c6e8be2c9a4f3c1364d243856a345f17f851e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 22:02:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 22:02:33 2018 +0000"
      },
      "message": "Merge \"Move mediadrm-related headers\""
    },
    {
      "commit": "58ad475e3aa567bec63108970855e6518c90d42e",
      "tree": "370ba2179221aeda2845835888855099c7d1c39b",
      "parents": [
        "5df26c9b85a9345b84cb9a0d4f937b7df8855a5a"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 16:51:59 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Feb 27 19:23:15 2018 +0000"
      },
      "message": "Fix hidl return checks\n\nSome drm HAL methods were not properly checking\ntheir hidl Return\u003cStatus\u003e values which would cause\naborts in some cases. This CL adds checks as needed\n\nTest: GTS media tests\nbug:73500808\nChange-Id: I47ae0f82d4e614b1e78923ed48fbe4c024df5d71\n"
    },
    {
      "commit": "7d2c6e8be2c9a4f3c1364d243856a345f17f851e",
      "tree": "3aab41fe8acce7056a1e7b01ebc2e8882e416b9a",
      "parents": [
        "987ac7056040ed1594dc975c8a9d7cee463fa834"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 16:14:59 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 17:04:00 2018 -0800"
      },
      "message": "Move mediadrm-related headers\n\nRelocate drm and crypto headers from media\nto mediadrm to have finer grained ownership\n\nbug:73556221\nChange-Id: I7d1b5944f261f9b1fdeed7605e4c0b4b4ca43e1a\n"
    },
    {
      "commit": "81b4dff2763c795792f524e1e4cb068b64e659ad",
      "tree": "df6fdda0f8fc8f342458de2245eed1744389c30d",
      "parents": [
        "d2ce2b807b26a46570cb823544a86c0589ceddc6",
        "7dfe28f246bce404778f94e977b52699adfcb4ea"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 20:07:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 20:07:49 2018 +0000"
      },
      "message": "Merge \"Fix missing check of hidl return status\""
    },
    {
      "commit": "987ac7056040ed1594dc975c8a9d7cee463fa834",
      "tree": "d6032f31e60e61e5f28e857b882ba27102683bc7",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 15 17:02:22 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 15 17:04:04 2018 -0800"
      },
      "message": "Minor code cleanups to DrmHal\n\nTest: builds\n\nChange-Id: I0bec98033e4de020c09374dadaade9d9906f0d40\nrelated-to-bug:64001676\n"
    },
    {
      "commit": "7dfe28f246bce404778f94e977b52699adfcb4ea",
      "tree": "13c730c428948f355ffc46da6c8e8032ccc98311",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 15 12:17:40 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 15 12:17:40 2018 -0800"
      },
      "message": "Fix missing check of hidl return status\n\ncloseAllSessions() was calling into the hidl interface closeSession\ndirectly, and neglected to check the return status which resulted in\nan abort. Instead, call the DrmHal::closeSession() method which handles\nthe hidl return status correctly.\n\nTest: gts media tests\n\nbug:72400509\nChange-Id: I697997eb73ef6d8746fe695509671c4695124cee\n"
    },
    {
      "commit": "fb679e38bbc91614faa917024adddeb51ff07d0a",
      "tree": "71c39782f7a5378ab9f383d31e053bff59ef41d2",
      "parents": [
        "8cc97b178bc6c744eaeef526eca7a4e3f24a1a0e"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Feb 07 10:25:48 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Feb 13 12:57:37 2018 -0800"
      },
      "message": "Add logging support for FW metrics\n\nAdds proto serialization and logging support for media drm framework metrics.\n\nBug: 64001676\n\nTest: Ran CTS tests, unit tests and Google Play.\nChange-Id: Ie350ac93caa6b35610eb63e4acc860c8e8a5cf5b\n"
    },
    {
      "commit": "8cc97b178bc6c744eaeef526eca7a4e3f24a1a0e",
      "tree": "5a094043d266c0c87b0292e659eab22ae7d034be",
      "parents": [
        "031b695b8e37ca3591ac2f5eb952f6c21439d445",
        "568b3c45d48fab64c80b2780e8547564d35722e9"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Feb 13 18:14:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 18:14:40 2018 +0000"
      },
      "message": "Merge changes from topic \"media-drm-fix-list-metrics\"\n\n* changes:\n  Fix Metrics with PersistableBundle support\n  Fix DrmHal implementation to return all metrics\n"
    },
    {
      "commit": "568b3c45d48fab64c80b2780e8547564d35722e9",
      "tree": "18cb767806a83262cb74a7d1ab25bcd0e1334ab8",
      "parents": [
        "637b7855829920114a8863b93fe52203b7471eea"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 31 12:57:16 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Feb 12 14:35:27 2018 -0800"
      },
      "message": "Fix Metrics with PersistableBundle support\n\nSome metrics required a conversion to using PersistableBundle to support\nslightly richer structure (lists, and nested PBs).\n\nBUG: 64001676\n\nTest: Ran updated CTS test and verified Google Play works.\nChange-Id: I8f8d67ba04b234f2ac5ac348a8945e20837f98d6\n"
    },
    {
      "commit": "e307dc4e7b2c9d3c4018a755db687309cf590369",
      "tree": "05cb67d957ee0b3f7f193df6914b4d6aa487fb8b",
      "parents": [
        "41d279a7f3bc55a63b510d4dce07e18964cda152"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 19:53:54 2018 +0000"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 12:52:11 2018 -0800"
      },
      "message": "Revert \"Revert \"Update drm hal to find drm@1.1 factories\"\"\n\nThis reverts commit d3eece8aa39560e8458ba8231b8684d99f11ee6b.\n\nChange-Id: I15ca1dba1a384ccc026406f0a9a02c2598873456\n"
    },
    {
      "commit": "41d279a7f3bc55a63b510d4dce07e18964cda152",
      "tree": "5d2c1f4a1ddabe93b57e6e3b0e616cab1f871645",
      "parents": [
        "c23849a8ea5d7e2939e9d8a0aa8b6da9c08ee625"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 19:52:08 2018 +0000"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 12:51:19 2018 -0800"
      },
      "message": "Revert \"Revert \"Fix MediaDrm security level APIs\"\"\n\nThis reverts commit 5f5e43fa83551a3636b92871bd2ad6b260a8815b.\n\nChange-Id: I72d585fd3768730eef6ad9effdbda81b32418dea\n"
    },
    {
      "commit": "5f5e43fa83551a3636b92871bd2ad6b260a8815b",
      "tree": "e6010dce1f091847db51b7464c566af774a98f74",
      "parents": [
        "56134cc9e790f39b3b10a18b701b0607c20b6154"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Feb 11 15:00:57 2018 +0000"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Feb 11 15:04:10 2018 +0000"
      },
      "message": "Revert \"Fix MediaDrm security level APIs\"\n\nThis reverts commit 56134cc9e790f39b3b10a18b701b0607c20b6154.\n\nReason for revert: Build cop here. The CL topic that I\u0027m reverting broke several builds: Drm.h\u0027s openSession(Vector\u003cuint8_t\u003e \u0026sessionId) hides overloaded virtual function openSession(DrmPlugin::SecurityLevel securityLevel, ..) from IDrm.h.\n\nhttps://android-build.googleplex.com/builds/submitted/4598692/full-eng/latest/view/logs/build_error.log\n\nChange-Id: I0de7738748ab793249df68bcbf18232d6a2d120a\n"
    },
    {
      "commit": "637b7855829920114a8863b93fe52203b7471eea",
      "tree": "c33e93ec282c2d3f2c01581907dfdfc1fb63a0bf",
      "parents": [
        "ceeee83aaf61fc61e47773da0ac97659057e1c77"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Jan 30 12:09:36 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Fri Feb 09 16:13:49 2018 -0800"
      },
      "message": "Fix DrmHal implementation to return all metrics\n\nThis change in DrmHal allows us to transfer a PersistableBundle containing\npreviously unavailable metrics.\n\nBug: 64001676\nTest: CTS test for metrics and GPlay test\nChange-Id: I1fa87c76dd980a3f91b4e2d02b37329f6c0a88ec\n"
    },
    {
      "commit": "56134cc9e790f39b3b10a18b701b0607c20b6154",
      "tree": "51d3279074ad852d1c8ce03cb5f2f024542f1267",
      "parents": [
        "1bfabb36f5d6f09d87e9d52778b5a1cca9512722"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Feb 05 13:09:23 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Feb 06 10:27:45 2018 -0800"
      },
      "message": "Fix MediaDrm security level APIs\n\nVendors implementing the newly added MediaDrm.setSecurityLevel\nHAL found that it was difficult to implement properly. Also the\nsemantics are somewhat ambiguous from the Java platform API\nlevel. This CL binds the security level assignment to openSession\nwhich clarifies the API for apps as well as making it more\nnatural to implement in HAL modules.\n\nbug:72831697\nbug:64001680\n\ntest: VtsHalDrmV1_1TargetTest, GTS media tests\nChange-Id: Iaa07727be86ec2bc92be907d5a48c92136dc2014\n"
    },
    {
      "commit": "5641aa251bf9a6e7b6bf8a73214f92e42c393a2f",
      "tree": "e467ad21039dfdd95c8b0e4513d35e18f1e14cd4",
      "parents": [
        "9111804e9051b2888c66e26ee1a872bb3ef7a988"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jan 30 17:52:21 2018 -0800"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jan 30 18:28:52 2018 -0800"
      },
      "message": "Reset drmPluginV1_1 when destroyPlugin is called.\n\nAlso check for NULL mDrmPlugin before casting to V1_1.\n\nTest: Play Movies and NetFlix\n\nbug: 72687425\nChange-Id: I47aa18730332a17860b7e27440d417ffd612810f\n"
    },
    {
      "commit": "7fbc087b2187bc67f921d843a59a367c6431eb14",
      "tree": "070004c45b20fddfdbd9a28b2d2f1aef91229be8",
      "parents": [
        "8913f5f7db253a22506f00520b888a0c3d780b2c",
        "b2b66fa4da5528cf9cdfc32f619e81e4d97ca654"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 30 19:48:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 19:48:11 2018 +0000"
      },
      "message": "Merge \"Revert \"Fix missing check of hidl return status\"\""
    },
    {
      "commit": "b2b66fa4da5528cf9cdfc32f619e81e4d97ca654",
      "tree": "904a4f7c9d885ef0c4fb18405176171c70244123",
      "parents": [
        "3923b1b71628e668f9b11ed4891ed2840dd331cd"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 30 19:19:34 2018 +0000"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 30 11:40:42 2018 -0800"
      },
      "message": "Revert \"Fix missing check of hidl return status\"\n\nThis reverts commit 09a90ab544a785b36c5b2d1ef352289e2b6f5633.\n\nFix for regressed b/72666743\n\nTest: manual test to confirm problem is fixed.\nSee bug for repro steps.\n\nChange-Id: Ifac9a2c3a3a92063d544e39ace48ab14c90b8050\n"
    },
    {
      "commit": "15177d7eab8c2300b4f1d577267e528bd7e4eedc",
      "tree": "d3032e8309d53cabd47ada0ad50607b899829534",
      "parents": [
        "5f07c65af5356a4a95410804ce19fc017d6478f8"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jan 25 12:57:55 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jan 26 16:02:04 2018 -0800"
      },
      "message": "Add new secure stop methods\n\nMethods are needed to release a secure stop by ID and\nreturn a list of secure stops.\n\nTests: gts media tests\n\nbug:67361434\nbug:64001680\nChange-Id: If6cb180cb4d2e3b655028955d105aee0cb8d70b6\n"
    },
    {
      "commit": "566a7290c6af684947c1a757a60eae5da8ab9dee",
      "tree": "eb7f393fbc1f50f400c92439d64d4e4fbc8fcbe7",
      "parents": [
        "eefbdd95b6c0614527bddc188fb112b9b486212e",
        "cea91ce60260d7ebb94449ad7674150fdc227886"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Thu Jan 25 14:00:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 14:00:17 2018 +0000"
      },
      "message": "Merge \"Adds most remaining framework metrics\""
    },
    {
      "commit": "eefbdd95b6c0614527bddc188fb112b9b486212e",
      "tree": "fde2a92d37f28b4114ccf6144d4196a549459db4",
      "parents": [
        "227d7bd4a05039a06db70513c55e0b658a2eb86a",
        "f0e618d0ee16c63f918c7bb87ec1ff264d177746"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Thu Jan 25 11:20:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 11:20:57 2018 +0000"
      },
      "message": "Merge \"Add EventMetric and a single use case.\""
    },
    {
      "commit": "cea91ce60260d7ebb94449ad7674150fdc227886",
      "tree": "4330319ec2121bdcc33f6014ddca527e334f73eb",
      "parents": [
        "f0e618d0ee16c63f918c7bb87ec1ff264d177746"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Jan 22 19:23:28 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 24 17:41:44 2018 -0800"
      },
      "message": "Adds most remaining framework metrics\n\nAdds nearly all of the remaining specified framework level metrics.\nAlso adds a basic unit test to verify that metrics are exported\ncorrectly. A follow-up CL will update the CTS test to touch all metric\nvalues in DrmHal.\n\nBUG: 64001676\nTest: New unit test. Smoke tested with GPlay/Walleye.\nChange-Id: I4df90675ae304d3c62b7886537328b3d848fd77c\n"
    },
    {
      "commit": "91b1f83220c6fc643e2618f92b28482fa880c7fd",
      "tree": "95fb8ac20ac2eb496ff5e45c600853e8ec4216ac",
      "parents": [
        "bf2fbb73c76d99397a0bdb09907a5529a06db24a",
        "09a90ab544a785b36c5b2d1ef352289e2b6f5633"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 01:39:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 01:39:24 2018 +0000"
      },
      "message": "Merge \"Fix missing check of hidl return status\""
    },
    {
      "commit": "f0e618d0ee16c63f918c7bb87ec1ff264d177746",
      "tree": "c57a89695d8305242ccacabc5e692606989d831f",
      "parents": [
        "38428ce1b306d8922778f4994d67f0ddffb4fcd2"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 17 19:20:41 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 24 17:24:43 2018 -0800"
      },
      "message": "Add EventMetric and a single use case.\n\nAdds an EventMetric class, associated unit tests, and an instance of the\nEventMetric to DrmHal. Also added a unit test for CounterMetric and\ncreated a class to hold all of the future metric instances.\n\nBUG: 64001676\n\nTest: Added and ran unit tests.  Also added a CTS test case.\nChange-Id: Ic94bedd5f8293a58a939613a4ae69ce656a772be\n"
    },
    {
      "commit": "09a90ab544a785b36c5b2d1ef352289e2b6f5633",
      "tree": "b54d3c9c36ec52198c984c8c04e4f2229c655f8c",
      "parents": [
        "87b4679598403fe752f57f1cfca4709ca82e97b8"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 23 17:43:29 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Jan 24 12:38:26 2018 -0800"
      },
      "message": "Fix missing check of hidl return status\n\ncloseAllSessions() was calling into the hidl interface closeSession\ndirectly, and neglected to check the return status which resulted in\nan abort. Instead, call the DrmHal::closeSession() method which handles\nthe hidl return status correctly.\n\nTest: gts media tests\n\nbug:72400509\nChange-Id: I444be998702aeaca2905ddf560a5138d5775a316\n"
    },
    {
      "commit": "e05a10f6d8783f7bc3cd2f78a9115bf3ab63efff",
      "tree": "e6774ea67b3f60541fbf9295c5c58227d82df350",
      "parents": [
        "c3c1fc630e21f36d2e3f56fac3503c471fbc3a15",
        "aaf87dd09686bdb47df0a638b622a4c2ea37a331"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 24 17:54:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 17:54:36 2018 +0000"
      },
      "message": "Merge \"Add CounterMetric and a single use case.\""
    },
    {
      "commit": "aaf87dd09686bdb47df0a638b622a4c2ea37a331",
      "tree": "055e6f879ea604b1f66bc9cea091481308b17487",
      "parents": [
        "a13ac6c89d0246f081127eec11cd5eb467d168d3"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Jan 08 11:55:06 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Jan 23 16:51:17 2018 -0800"
      },
      "message": "Add CounterMetric and a single use case.\n\nThis adds a new class CounterMetric which is used to hold metric\ninformation.  It also adds a single use case for recording and\nreporting a counter metric.\n\nBUG: 64001676\n\nTest: Added and ran a new test for the specific CounterMetric use case.\nChange-Id: I39cab8328f135e579f80b6c2fab721da5f569795\n"
    },
    {
      "commit": "59bc3fa914467f37c32aea1963e9354355b244e7",
      "tree": "bf7c7c0db9067ba01aaf9a6031d51bf1389be958",
      "parents": [
        "1c838c481692c45b96786dcdd520296b73a71809"
      ],
      "author": {
        "name": "Rahul Frias",
        "email": "rfrias@google.com",
        "time": "Mon Jan 22 23:48:52 2018 -0800"
      },
      "committer": {
        "name": "Rahul Frias",
        "email": "rfrias@google.com",
        "time": "Tue Jan 23 13:50:30 2018 -0800"
      },
      "message": "Add new values to KeyRequestType\n\nTwo additional KeyRequestTypes have been added, None and Update. None\nindicates that no key request is needed as keys have already been\nloaded. Update indicates that while keys have previously been loaded,\nan additional (non-renewal) license request is needed.\n\nBug: 70335058\nTest: GtsMediaTestCases\nChange-Id: I36a8b334c70140098a01e4a3bea3159fc0a4584f\n"
    },
    {
      "commit": "c42670b837dc6e0d63dad891f66735fd7cb3d969",
      "tree": "0ea6e2a4a47671977c8099c1f8c248971622b588",
      "parents": [
        "164071326bcc752214ed800cba3d07206398f53d",
        "6d998b67be330843f633a563c23c606593060165"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 17:07:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 17:07:40 2018 +0000"
      },
      "message": "Merge \"Implement new MediaDrm methods\""
    },
    {
      "commit": "6d998b67be330843f633a563c23c606593060165",
      "tree": "c9bfa7867b2610593e81ca8bf6d13b4b18501e14",
      "parents": [
        "e18835269d8e875297603d889b3f928a13f93d6c"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Dec 18 14:37:43 2017 -0800"
      },
      "committer": {
        "name": "Rahul Frias",
        "email": "rfrias@google.com",
        "time": "Mon Jan 22 01:29:32 2018 -0800"
      },
      "message": "Implement new MediaDrm methods\n\nMethods for querying HDCP, security levels and\nnumber of sessions\n\nbug:64001680\nbug:33657579\n\nTest: cts: MediaDrmMockTest, ClearKeySystemTest\ngts: GtsMediaTestCases\n\nChange-Id: I7c84df02ec33d305b6bd5ac7479922f87aa64863\n"
    },
    {
      "commit": "ab394d13bab3a84f23677357576cee7a6f0c7899",
      "tree": "49544ed51667ba0850b776529294be75de491961",
      "parents": [
        "0b68d531017a66db63cc8c41ba28a4f15e9816f0"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Fri Dec 22 12:34:20 2017 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Fri Jan 19 16:29:47 2018 -0800"
      },
      "message": "Add support for getMetrics to IDrm\n\nAdds support for the new getMetrics call to the IDrm interface and the\nDrmHal implementation. The implementation currently returns a dummy\nmetric collection. Follow-up CLs will flesh out the implementation.\n\nBug: 64001676\n\nTest: Ran the new unit test created in a related CL; ran Google Play.\nChange-Id: Ia6a3af5b59a30ca55267f7e3ba278a510fc8c81e\n"
    },
    {
      "commit": "29f736992434dbac608db3a2ff4426d9f108ad64",
      "tree": "8fa23c36335e33d5868abc1481ef34e203da3b20",
      "parents": [
        "008440f6c728da9d35b3184cb3d666edc3a88f7e",
        "76abba2b611e2a59d7589896444c9e13ea213e9e"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Aug 09 01:27:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 09 01:27:52 2017 +0000"
      },
      "message": "Merge \"Fix failure to check HIDL return status\" into oc-dr1-dev am: 3373ab6abe\nam: 76abba2b61\n\nChange-Id: I46613ce9604f5e00cb6a0aef13c5fdc254d731ad\n"
    },
    {
      "commit": "f0e89b0b248976f622fc41da4f678955399def08",
      "tree": "aacaaae8e1ac94e6f240fe7fa3c2e35ec32836a7",
      "parents": [
        "81b06822a7ad5034eee0a85fc32c527e669ab274"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Aug 07 15:58:41 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Aug 07 16:13:27 2017 -0700"
      },
      "message": "Fix failure to check HIDL return status\n\nHIDL transaction status wasn\u0027t being checked\nresulting in a SIGABRT from createPlugin when the\nremote process dies.\n\nbug: 64441780\ntest: run Play Movies and repeat killing\n  android.hardware.drm@1.0-service.widevine, check\n  log for transaction failed messages.\n\nChange-Id: I0ea70578d60bb84cf693f158963181781d7e35c3\n"
    },
    {
      "commit": "81b06822a7ad5034eee0a85fc32c527e669ab274",
      "tree": "36254bc3c80bba3e0bc2f42a412f3224a093bd51",
      "parents": [
        "a2208f7d01fefd9f402781ab24264b6732d6e934"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Jul 26 15:44:33 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Aug 03 12:48:58 2017 -0700"
      },
      "message": "Fix failure to check HIDL return status\n\nTest: run Play Movies and repeat killing\n  android.hardware.drm@1.0-service.widevine, check\n  log for transaction failed messages.  This uncovered\n  a related problem in closeSession which is also fixed\n  in this CL.\n\nbug: 64022042\nChange-Id: I4e86414aa1625c35689339389391e9fa6d377b1c\nMerged-In: I4e86414aa1625c35689339389391e9fa6d377b1c\n"
    },
    {
      "commit": "319d5f43d196ca1fc26c5d6169ae0bdd14a81d54",
      "tree": "d438af53c30d184547dbccf0dfdfff22d24580a9",
      "parents": [
        "a63b4da5e41e7835b1ac6db235fd9764528082fc"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Jul 26 15:44:33 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Aug 03 12:35:32 2017 -0700"
      },
      "message": "Fix failure to check HIDL return status\n\nTest: run Play Movies and repeat killing\n  android.hardware.drm@1.0-service.widevine, check\n  log for transaction failed messages.  This uncovered\n  a related problem in closeSession which is also fixed\n  in this CL.\n\nbug: 64022042\nChange-Id: I4e86414aa1625c35689339389391e9fa6d377b1c\n"
    },
    {
      "commit": "33ecc4f6b0e53ea7088ff4f151323e29183070c5",
      "tree": "4a174497fc23c8a5ee993d0e7e6d6316edd052a1",
      "parents": [
        "6133281c9b06c1d1176eca7f07401bba1067081e"
      ],
      "author": {
        "name": "John W. Bruce",
        "email": "juce@google.com",
        "time": "Mon Apr 03 16:49:05 2017 -0700"
      },
      "committer": {
        "name": "John W. Bruce",
        "email": "juce@google.com",
        "time": "Tue Jul 18 16:40:44 2017 -0700"
      },
      "message": "Marshal Metrics\n\nBecause DRM Plugins will not be allowed to call the AMI API under\nTreble, the mediadrmservice will need to marshal the metrics out of the\nplugin in protobuf format and report them to the AMI API instead. This\npatch implements the pulling and interpreting of metrics from DRM\nPlugins.\n\nBug: 36497276\nTest: Played Google Play Movies, verified that playback still worked and\n      Widevine metrics appeared in a dump of the system media metrics.\nChange-Id: If07717c1b87022bc1fcdedfbc62b9193899742d5\n"
    },
    {
      "commit": "6133281c9b06c1d1176eca7f07401bba1067081e",
      "tree": "7cd0391b116238c9122ff88cfd55a06fc5b80b60",
      "parents": [
        "bc282920de2d648e9e13802714e579a1e4c57b3a"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon May 15 16:53:10 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jul 18 23:36:40 2017 +0000"
      },
      "message": "Close all open drm sessions before destroying a plugin.\n\nMediaDrm relies on each plugin to close its open sessions\nwhen the plugin is destroyed. This change ensures that all\nsessions will be closed even if the plugin does not do it.\n\nb/38323088\n\nChange-Id: I8b6e36182f3b3bc765963819101868fc46001527\n"
    },
    {
      "commit": "70367f525a7bf5be52115608d190d72756e972ea",
      "tree": "5b699fa211c3c77292282ac1355fa89fd60c945f",
      "parents": [
        "b5b0857541d5ce85b381dca8651fb25f50d92f37"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jun 16 12:41:33 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jun 16 15:17:09 2017 -0700"
      },
      "message": "Check for drmhal plugin null pointer deref\n\nIf binderDied is invoked after a plugin is destroyed\nthe pointer can already be null. Also reset the init check\nstate after the plugin is deleted to make sure the\nchecks in other methods remain valid.\n\nbug:62667492\n\nTest: Play Movies, ExoPlayer\nChange-Id: Ie12191b744331a7a435b4c64bbd1c179918553ac\n"
    },
    {
      "commit": "3e2891674ef57a74e59ca5e27f89647b3f06861b",
      "tree": "84b6d9daf344893b511b189adcb8775666c5725d",
      "parents": [
        "593111f4460f2b2e8f541e936670e3577d45fff6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jun 01 11:13:53 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jun 01 11:13:53 2017 -0700"
      },
      "message": "Allow drm plugin to be released when binder dies\n\nA plugin\u0027s listener reference was preventing the plugin\nfrom being released in binderDied, which caused\ndrm sessions to be kept open if an app was abnormally\nterminated.  Setting the plugin\u0027s listener to NULL\nin binderDied resolves the problem.\n\nTest: repeat {launch netflix app, kill \u003capp-pid\u003e}\nPrior to this change the netflix app would always fail to\nrun on the second iteration and the log showed\nERROR_TOO_MANY_SESSIONS. After this change, the netflix app\ncan be killed and restarted without failures.\n\nAlso verified with gts tests and play movies app.\n\nbug:37720811\nChange-Id: Iceb1c23e2a1d518da85641336f017bb8b2948863\n"
    },
    {
      "commit": "593111f4460f2b2e8f541e936670e3577d45fff6",
      "tree": "f187a287e5585c6af15e835f195ce2f7bb359c46",
      "parents": [
        "a666b6980027946c2dfeb8a3529c8e791fc279a4"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu May 25 16:00:21 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu May 25 16:00:21 2017 -0700"
      },
      "message": "Don\u0027t leak hwservicemanager binders\n\nUse defaultServiceManager() instead of IServiceManager::getService()\n\nbug:62073349\ntest:\n  repeat {launch Play Movies, play a movie, exit} while monitoring\n    adb shell cat /sys/kernel/debug/binder/stats |\n    grep -A10 \u0027^proc \u003cmediadrmserver PID\u003e\u0027\n  --\u003e Make sure number of nodes is stable\n\nChange-Id: Ibea0437ed21a9d58f3eb7ffa9461fb71d9c2b4ab\n"
    },
    {
      "commit": "f53d96676da2d672d03e35fa0894cb299ac9e318",
      "tree": "2047335495b5d7840d97d57cd7bb4ef99cf84371",
      "parents": [
        "24fd2f7d2900797b1300d6bc89d28bd94a31c3cb"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon May 08 19:25:57 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon May 08 19:31:46 2017 -0700"
      },
      "message": "Fix resource leaks in drm hal\n\nbug:36408047\ntest: manual testing to verify leaks are fixed\nChange-Id: I3ade65eff4bbe8603fe4cf04b00ab1f3e1122f90\n"
    },
    {
      "commit": "e309b22bff1719f1fea84b247e4b2bc4c5f09eb5",
      "tree": "588e794ad730620407251c1e96fd2a15cdd79df2",
      "parents": [
        "8d8ebcaa7d13f163abee5bbf23b4e5a21fbfb44c"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 05 08:01:28 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 11 16:28:32 2017 -0700"
      },
      "message": "Change drm/crypto service names to \"default\"\n\nbug: 36371166\n\nTest: vts drm hidl test, Play Movies\n\nChange-Id: I942f91ab0be1f237017e88910f8d3738bf54447f\n"
    },
    {
      "commit": "b86f4b3ce066eadbfe9c2f420b16aaf2de741edb",
      "tree": "a1d505ff3a4d2b43bb14179d815cad8534b30c06",
      "parents": [
        "6480d09eec2b8188b623030c971032334739b4e4"
      ],
      "author": {
        "name": "Rahul Frias",
        "email": "rfrias@google.com",
        "time": "Mon Mar 27 15:13:30 2017 -0700"
      },
      "committer": {
        "name": "Rahul Frias",
        "email": "rfrias@google.com",
        "time": "Wed Mar 29 12:55:50 2017 -0700"
      },
      "message": "Fix reclaim sessions (DO NOT MERGE)\n\n[ Merged from master ag/2027840 ]\n\nThe SESSION_RECLAIMED event needed to be propagated to the jni native\ninterface.\n\nTest: Verified by\n  com.google.android.media.gts.DrmSessionManagerTest#testReclaimSession\n  (GtsMediaTestCases) test\n\nb/36589391\n\nChange-Id: Ia3f17e20be19bc2e7bb88a2354d231917bfce1e8\n"
    },
    {
      "commit": "6a4921ae044186bf64dab3903e8fead9499fc7f6",
      "tree": "9458e6876adb556d29dedd38cd196f2a6248c303",
      "parents": [
        "89e5a2b102b484fe19dbda2a0b118edfefc70241"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Mar 09 23:26:01 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Mar 09 23:26:01 2017 -0800"
      },
      "message": "Fix mediadrmserver not finding IServiceManager instance\n\nbug: 36113291\nChange-Id: I8d459e0edd61555a874cce68e178afd8d468e2e4\n"
    },
    {
      "commit": "abeb36a8c2f044772297536e70340c3b245863e4",
      "tree": "0b272bfd99ef0264d9577dcfa413b1a01d97fe27",
      "parents": [
        "e1bd456cce56406fc0e35faffa4429fb4bf5bff6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 17 09:42:46 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Feb 28 15:27:12 2017 -0800"
      },
      "message": "Load vendor-provided drm hidl hal modules\n\nPrior to this change, the default legacy hal\nmodule was explicitly referenced. This change\nuses the service manager to iterate through\nany hal instances so vendor-provided hals\ncan be loaded.\n\nbug:34507158\nChange-Id: I23bc4fdb2dc7d5254833c9a977241f1fede726a9\n"
    },
    {
      "commit": "38875a41d62003ee9ad1f537106a86289fb0c437",
      "tree": "a72a945964a87e5718ca6e235844e860954be5d8",
      "parents": [
        "9ee35d72c4b89db99c2df0b0125373f360b337f8"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Feb 15 18:21:48 2017 -0800"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Feb 15 18:32:55 2017 -0800"
      },
      "message": "Fix isCryptoSchemeSupported\u0027s return value.\n\nIf mimeType is not defined, isCryptoSchemeSupported will always\nreturn false.\n\nTest: Netflix on Fugu\n\nTest:\nANDROID_BUILD_Troid-gts/tools/gts-tradefed run gts -m GtsMediaTestCases\n--test com.google.android.media.gts.MediaDrmTest#testWidevineSanity\n\nbug: 35363342\nChange-Id: I579dd6d41d17c1520404a5b45baae3f730f8245a\n"
    },
    {
      "commit": "c82b9c335e69b617817dace0ef64ad3df3f5080f",
      "tree": "1a4ec318e901167744e8ef29f7018c766a1b9d4b",
      "parents": [
        "36b31c87807a4f8cd22e73da9bf2df7babdb906e"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Feb 14 11:39:51 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Feb 14 13:49:20 2017 -0800"
      },
      "message": "Don\u0027t segfault on fail to create drm factory\n\nbug:35329920\nChange-Id: Id65254447d76222b78f977f6598751c5c51c87f3\n"
    },
    {
      "commit": "f3a591cc9d604133e2c5cae3d34322b52cd7575d",
      "tree": "6401761aab8416a91c0a022558cde7fcbc98022c",
      "parents": [
        "70537c1ce74eff5cbd6554fc972a7d44b7157eca"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Feb 01 15:42:13 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Feb 01 18:19:05 2017 -0800"
      },
      "message": "Enable DRM HIDL HAL by default\n\nEliminate ENABLE_TREBLE since it is obsolete.\nSwitching back to legacy DRM is still possible\nby building with DISABLE_TREBLE_DRM\u003dtrue\n\nChange-Id: I6b921050dff6162112c60df21549fc93bc46e379\n"
    },
    {
      "commit": "68b3d9f49e68a11af5225175dc9e60ce88819e84",
      "tree": "750d8fe493c2ec45542968192ecfe52d83133a02",
      "parents": [
        "9b088162cb9cdeb542f106a45d06a1f802e91e6e"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jan 06 19:07:54 2017 -0800"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Mon Jan 30 15:26:51 2017 -0800"
      },
      "message": "Pass application packagename to drm plugin.\n\nPass application package name to createPlugin and createDrmPlugin.\nThe application packagename will be used as part of a unique\nidentifier for drm plugin.\n\nTest: Play Movies.\n\nTest: ANDROID_BUILD_TOP\u003d ./android-gts/tools/gts-tradefed run gts -m\nGtsMediaTestCases --test\ncom.google.android.media.gts.WidevineH264PlaybackTests#testL1With480P60\n\nVerify the application\u0027s packagename is reachable in the drm plugin\u0027s\ndebug log.\n\nbug: 27101531\n\nChange-Id: I84fb09b591a7af63f6e20004e910112a4ce6ebac\n"
    },
    {
      "commit": "a53d6553fce1818bdf87833f93633c93ad1b5915",
      "tree": "8fbbb7b32d753c75a7350d748d6fa08d47402289",
      "parents": [
        "2a0c6d54dc34fdd8cca4e8ed7f39ad512133a878"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jan 20 00:31:46 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Jan 25 15:41:12 2017 -0800"
      },
      "message": "Implement client code to use Drm and Crypto HALs\n\nThis change adds DrmHal \u0026 CryptoHal classes that connect to the Treble\nHAL interfaces for drm.  These classes mirror the existing Drm and\nCrypto classes that connect to the DrmPlugin and CryptoPlugin\ninterfaces. Having both allows mediadrmserver to run in either mode\nwhile the HAL is stabilized.\n\nThe shared memory interfaces between mediaserver\u0027s ACodecBufferChannel\nand ICrypto had to be reworked to use the Treble HALs. Specifically,\nthe shared memory path for returning decrypted buffers in the\nnon-secure case had to become separate instead of piggy-backing on the\nsource shared memory buffer. A separate shared memory destination\nbuffer is now allocated on the buffer channel. An abstraction for a\ndecrypt destination buffer was also introduced to clarify ICrypto\u0027s\ndecrypt method.\n\nTests: Playback using Play Movies and ExoPlayer works on angler\nwith and without the treble hal enabled.\n\nbug: 32815560\nChange-Id: I5a3dc84f99902eb8cf8eabab9ad074d307744950\n"
    }
  ]
}
