)]}'
{
  "log": [
    {
      "commit": "c860da3ee1250b3316fcec4d868394a7263caadb",
      "tree": "c3e551f8f7ab90e96f9ba0b16ccc09a158df319d",
      "parents": [
        "76f3c913d1818652517955c74bec100f2cb915b9",
        "d499a9c6d1e71d2d71fe80383515c4ea9fded5ca"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 06 20:15:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 20:15:16 2017 +0000"
      },
      "message": "Fix integer overflow in mediadrmserver am: eb21712f81 am: 5250bc1bec am: d1a854a073 am: 7a22df06c3 am: 4e339cbca4 am: 1248e62082 am: fdfb9d206d am: a64aff4551 am: 87e076681b am: 8d214cd0b0 am: 1ce2364aa0 am: 83cf30ec83\nam: d499a9c6d1\n\nChange-Id: Ia2b649da3e000f8b6ce787230343fa4d5cda747e\n"
    },
    {
      "commit": "d499a9c6d1e71d2d71fe80383515c4ea9fded5ca",
      "tree": "e2b47698390db0812f15a2be5bd9deaa09c676c7",
      "parents": [
        "d25a99c4c69095ca5488e5da625c498d0dd118c0",
        "83cf30ec83bccc27ca1204dc2afed54e2ca401cc"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 06 20:09:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 20:09:13 2017 +0000"
      },
      "message": "Fix integer overflow in mediadrmserver am: eb21712f81 am: 5250bc1bec am: d1a854a073 am: 7a22df06c3 am: 4e339cbca4 am: 1248e62082 am: fdfb9d206d am: a64aff4551 am: 87e076681b am: 8d214cd0b0 am: 1ce2364aa0\nam: 83cf30ec83\n\nChange-Id: I1117a9d5d6b085d60bb8dd493e9c3c6514a114e2\n"
    },
    {
      "commit": "83cf30ec83bccc27ca1204dc2afed54e2ca401cc",
      "tree": "2d77244f3a11fa654c00a0a6f556b851a7ab8453",
      "parents": [
        "506107eb78fba558a4a94a2230ed1a67d4b7623c",
        "1ce2364aa0b8115f91129983afda449fcabd46e9"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 06 20:03:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 20:03:13 2017 +0000"
      },
      "message": "Fix integer overflow in mediadrmserver am: eb21712f81 am: 5250bc1bec am: d1a854a073 am: 7a22df06c3 am: 4e339cbca4 am: 1248e62082 am: fdfb9d206d am: a64aff4551 am: 87e076681b am: 8d214cd0b0\nam: 1ce2364aa0\n\nChange-Id: I408469564b54bb9dc393ab955236406c1c01f22e\n"
    },
    {
      "commit": "8d214cd0b0b667b30b3f0f6021fcb5d7d95553d0",
      "tree": "04b405762548a52eac14b73c313fe97a42634cba",
      "parents": [
        "7994267b2afe6f4d9eac15f2ad067e7ac2fef4da",
        "87e076681bbf79ae6dd6471cca8cb5661e3f0cc0"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 06 19:51:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 19:51:41 2017 +0000"
      },
      "message": "Fix integer overflow in mediadrmserver am: eb21712f81 am: 5250bc1bec am: d1a854a073 am: 7a22df06c3 am: 4e339cbca4 am: 1248e62082 am: fdfb9d206d am: a64aff4551\nam: 87e076681b\n\nChange-Id: I2d9124f3aa6a0ed072708c4c6a7e37f061a0a089\n"
    },
    {
      "commit": "a64aff4551184706e379c14346c263df06b640e9",
      "tree": "cc7f61137e232353dba76bcf172210d6a4fb96c9",
      "parents": [
        "425c7a42fb1a99e1b2f13c398b9fde555cd4c499",
        "fdfb9d206d2d8e5c58c3175064bff33ce562cbc6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 06 19:39:40 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 19:39:40 2017 +0000"
      },
      "message": "Fix integer overflow in mediadrmserver am: eb21712f81 am: 5250bc1bec am: d1a854a073 am: 7a22df06c3 am: 4e339cbca4 am: 1248e62082\nam: fdfb9d206d\n\nChange-Id: I09b988c8906ccbabd7bc970d6a0be117e8b4b1df\n"
    },
    {
      "commit": "7a22df06c3aea406dee1b8f31842001d89f2e6d6",
      "tree": "5bc7ce5d297353819a9854505b2c8384b290666a",
      "parents": [
        "98a47295222edacfca74fcfd3310922e16224f6d",
        "d1a854a073f6c992fabac1fc79f7f3c002699491"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 06 19:16:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 19:16:09 2017 +0000"
      },
      "message": "Fix integer overflow in mediadrmserver am: eb21712f81 am: 5250bc1bec\nam: d1a854a073\n\nChange-Id: I212669c64a748fed506b8b4a90a568aa91d01787\n"
    },
    {
      "commit": "5250bc1becd741d06c534fdabb19227090e6523e",
      "tree": "89366462323c9d3b757ea69991ded18954c606fc",
      "parents": [
        "8ff995a8ae93d19cf7bfa85844ed321de1a403eb",
        "eb21712f81aa9f6d5b055113595220ee1506f35c"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 06 19:05:36 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 19:05:36 2017 +0000"
      },
      "message": "Fix integer overflow in mediadrmserver\nam: eb21712f81\n\nChange-Id: I0caf94590f85f444a4705f62792c27a447fa8b69\n"
    },
    {
      "commit": "eb21712f81aa9f6d5b055113595220ee1506f35c",
      "tree": "8b7680cf16eac5079c70089c03ba95e93874ae03",
      "parents": [
        "cbaad4b189c8566318bdb148cf905fe2b333b8ed"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Jun 05 14:34:48 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Jun 05 14:34:48 2017 -0700"
      },
      "message": "Fix integer overflow in mediadrmserver\n\nbug:37710346\nChange-Id: If18cfb5bb1d1f1b2997d2a0e1685590d674181f4\n"
    },
    {
      "commit": "eff89fb1b548758f55336f808516b7358f832e30",
      "tree": "8ba486a782fed623d4fb33b8d56ba3bbe5cab273",
      "parents": [
        "4910fe04f74b1e31d6c4283f39a4098049c0639f",
        "ea21ebc8b540fb108727f4fddfffe2923fdc416f"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jun 01 23:13:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 01 23:13:27 2017 +0000"
      },
      "message": "Merge \"Allow drm plugin to be released when binder dies\" into oc-dev\nam: ea21ebc8b5\n\nChange-Id: I4cc22ddfcc107ba067f4b12304cfd68e7d709b28\n"
    },
    {
      "commit": "ea21ebc8b540fb108727f4fddfffe2923fdc416f",
      "tree": "02ea22e2172a4b2c8477eff9148aff5a8f097f20",
      "parents": [
        "5d6ebe53418ae8783ac295a8753e287fbb187868",
        "3e2891674ef57a74e59ca5e27f89647b3f06861b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 01 23:07:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 01 23:07:05 2017 +0000"
      },
      "message": "Merge \"Allow drm plugin to be released when binder dies\" into oc-dev"
    },
    {
      "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": "d2b26cd85d54b5258bfd0296313c07e80bee1957",
      "tree": "5d84d106a764d558ddddcb5a282fb199ddb9e2f6",
      "parents": [
        "610aa7fbb0091c6e862761746202117277f69083",
        "ac1b860260d99455d60f99b11c24b83f339031fc"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri May 26 01:45:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 26 01:45:13 2017 +0000"
      },
      "message": "Merge \"Don\u0027t leak hwservicemanager binders\" into oc-dev\nam: ac1b860260\n\nChange-Id: Ic3efcf36ca42632bb33c1f7ebb3da0b208b59bf0\n"
    },
    {
      "commit": "ac1b860260d99455d60f99b11c24b83f339031fc",
      "tree": "975ad0fb00640ef99efc6feb1ba50d004857a50d",
      "parents": [
        "4d351037a53438ca0355efe6a845d29e3ef11bec",
        "593111f4460f2b2e8f541e936670e3577d45fff6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 26 01:17:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 26 01:17:54 2017 +0000"
      },
      "message": "Merge \"Don\u0027t leak hwservicemanager binders\" into oc-dev"
    },
    {
      "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": "4e8d00762cbdc9fa64e769670e9dff5f6d37a3d8",
      "tree": "1931f66943553187b72763174772b1321a9da130",
      "parents": [
        "44251ec9a3a09acf19a7e6cf8b5648664f965dfe",
        "1de69ea178ada6c89c7847b92a8bbf5f961e3559"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue May 16 23:59:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 16 23:59:08 2017 +0000"
      },
      "message": "Merge \"Don\u0027t load legacy plugins from /vendor/lib/drm\" into oc-dev\nam: 1de69ea178\n\nChange-Id: I97d1e35cd7a1ab8c27da5e3ffe5d7e2cb091bf0d\n"
    },
    {
      "commit": "1de69ea178ada6c89c7847b92a8bbf5f961e3559",
      "tree": "65a1b3fd03a58da698d2a55a9d836860a432afbe",
      "parents": [
        "38ad5e22885a4b02d0429ecb4c1b4446373a3551",
        "be4401f6c4c0ec908e9ee0a5b141ae1509d6e0f6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 16 23:42:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 16 23:42:19 2017 +0000"
      },
      "message": "Merge \"Don\u0027t load legacy plugins from /vendor/lib/drm\" into oc-dev"
    },
    {
      "commit": "86a0b96ddca0a657eeb1ba95ded957ba79c07c23",
      "tree": "3a120960349515087d339881f71e54113ef38b1c",
      "parents": [
        "420a9d9bbdf7e7f9a78328e79407f64d4d060798",
        "d004c157bac96c4a180604bf304e0dbdb8bc11b5"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon May 15 20:01:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 15 20:01:49 2017 +0000"
      },
      "message": "Merge \"Fix resource leaks in drm hal\" into oc-dev\nam: d004c157ba\n\nChange-Id: Ibcb6ac2aeaf7cb3c9dd68fd25dde66667bc5eadc\n"
    },
    {
      "commit": "be4401f6c4c0ec908e9ee0a5b141ae1509d6e0f6",
      "tree": "321e5011b81774afaa113c430f92d6f8b0eb9132",
      "parents": [
        "aec5f27c75d3d349467bbb0c09498c20581d9385"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon May 15 12:03:12 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon May 15 12:03:12 2017 -0700"
      },
      "message": "Don\u0027t load legacy plugins from /vendor/lib/drm\n\nOnly the OMA forward lock plugin remains and it is\nloaded from system/lib/drm.\n\nbug:38114169\nChange-Id: I8768656c08482b406cacc6d050ff4df72ddca888\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": "cbe95e7697039f59d378fd1b9b61cee64fad8742",
      "tree": "ddecf30ecc683659e4ac3072bd94a106402d730c",
      "parents": [
        "11ed3fecdf3b5d97cc8390b32b5319bae4e901e1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 16:43:52 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 05 13:14:18 2017 -0700"
      },
      "message": "Use %zu to print size_t\n\nTest: m -j checkbuild\nChange-Id: I93a1da7241169e0e08d310ad7fad68f227629be6\nMerged-In: I93a1da7241169e0e08d310ad7fad68f227629be6\n(cherry picked from commit cb8f367327286714617c0ccd7b356abd3a8aa15b)\n"
    },
    {
      "commit": "cd3b59c8ba5da18eb4f501b62f4e583027bc3e9d",
      "tree": "77afa24be47b0dacaff465c9676a3a925c4681df",
      "parents": [
        "f9ef332d4f3780b8256bdf7542219970fa95e578",
        "ed05809fcb4623f6aa5c4bf2891e7037cb2831be"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 21:10:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 04 21:10:38 2017 +0000"
      },
      "message": "Merge \"Convert libdrmframework and drmserver to Android.bp\" am: a33999bab9 am: 5eb26eebfb\nam: ed05809fcb\n\nChange-Id: I112374bce87c4905eddb4883f7aad95d32b429c8\n"
    },
    {
      "commit": "61d1c58c90e2491dd710688946f2a2cb2f42b837",
      "tree": "b35636371f06d1bd3ef1fbfd4a29fd2b8857ff90",
      "parents": [
        "8c9f6f743755310e825b39afcb5f3cb7198dc1d8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 15:13:07 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 03 19:55:23 2017 -0700"
      },
      "message": "Convert libdrmframework and drmserver to Android.bp\n\nSee build/soong/README.md for more information.\n\nAlso moves a few headers into the same library as their\nimplementation, and fixes a few includes to go through the\nglobal frameworks/av/include path instead of manually adding\nframeworks/av/include/drm.\n\nTest: m -j checkbuild\nChange-Id: I0c2d2f2262e7ed78d80a0d44795705c64b797ff0\n"
    },
    {
      "commit": "f23d7b5941a5032668e0d5b9e770471274275330",
      "tree": "490f4e5eb5aabd0ed62b6b163bd8e3bb4942d2e9",
      "parents": [
        "4f79e5a8d8e3c78a64b7b98557799ce70ec7b19a",
        "8ea3bc44ea4e781928e44da339d7376f938c9e44"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 02 22:35:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 02 22:35:03 2017 +0000"
      },
      "message": "Merge \"Remove redundant dependencies\" into oc-dev-plus-aosp"
    },
    {
      "commit": "8ea3bc44ea4e781928e44da339d7376f938c9e44",
      "tree": "845af1c7e7a589ff203e7350975528d711ad6a21",
      "parents": [
        "5d4a63d87137d9cbf532d4756283703ed95707c9"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue May 02 10:02:40 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue May 02 21:53:16 2017 +0000"
      },
      "message": "Remove redundant dependencies\n\nandroid.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.\n\nTest: links\nBug: 33276472\nChange-Id: Iecab9a10a6973d01c47bffd5589d71e35614f855\n(cherry picked from commit cb421ce297173e6e2f2c292a74c3e4f0459fd803)\n"
    },
    {
      "commit": "4f79e5a8d8e3c78a64b7b98557799ce70ec7b19a",
      "tree": "9427197e2bb92766cbb659425a48b2e1b29a244b",
      "parents": [
        "5d4a63d87137d9cbf532d4756283703ed95707c9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 16:43:52 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 21:52:10 2017 +0000"
      },
      "message": "Use %zu to print size_t\n\nTest: m -j checkbuild\nChange-Id: I93a1da7241169e0e08d310ad7fad68f227629be6\n(cherry picked from commit cb8f367327286714617c0ccd7b356abd3a8aa15b)\n"
    },
    {
      "commit": "47552dd92970d96deead0dc40589088387638171",
      "tree": "478f8aac3827a99cf8eda5ea16e6d5bcfbb2ac9c",
      "parents": [
        "5a112ffe54e4a2e84118996d068b9a5589e20d2d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 20 23:21:01 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 01 15:00:02 2017 -0700"
      },
      "message": "Convert libmediadrm to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m -j checkbuild\nChange-Id: Icfc13bb5f55fa156ef72d3cf3a327e38739d775b\nMerged-In: Icfc13bb5f55fa156ef72d3cf3a327e38739d775b\n(cherry picked from commit 53f2035f1d78499df816e2ef6ddb90421b0bfd72)\n"
    },
    {
      "commit": "94b8c5dfd7da80f1d9c3417486c0351e38c096e2",
      "tree": "72195c8d399161ed91b1a9af6ccaa3b9d84de7f0",
      "parents": [
        "a07af8aea7f5d944a7ad1dcc81b9c9bcb829eead"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 20 23:21:01 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Apr 29 00:15:05 2017 +0000"
      },
      "message": "Convert libmediadrm to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m -j checkbuild\nChange-Id: Icfc13bb5f55fa156ef72d3cf3a327e38739d775b\nMerged-In: Icfc13bb5f55fa156ef72d3cf3a327e38739d775b\n(cherry picked from commit 53f2035f1d78499df816e2ef6ddb90421b0bfd72)\n"
    },
    {
      "commit": "a07af8aea7f5d944a7ad1dcc81b9c9bcb829eead",
      "tree": "5c118bd474f3818e8833deae33c6837fb18ec214",
      "parents": [
        "51354f8282d6828c6a3f43d9ab4a00d3d87615df"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 24 15:20:53 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Apr 29 00:14:15 2017 +0000"
      },
      "message": "Remove DISABLE_TREBLE_DRM\n\nThis flag is obsolete now that the conversion\nto treble is complete.\n\nChange-Id: I7073d337939da43bddf99644bfe52db9baa2f605\nMerged-In: I7073d337939da43bddf99644bfe52db9baa2f605\nrelated-to-bug: 32815560\n(cherry picked from commit 99a5aba027cca8d3e69e333b56168a223e053d82)\n"
    },
    {
      "commit": "6902463aa90c7cc27e4b236f6d3d58534f34c947",
      "tree": "3393b51724a11fa8944c4f4e39f94470d2741637",
      "parents": [
        "0e0e0819bd4e2b4fe15e6ca3a816bf4994fa329e",
        "8dbc1205446e09f43a00b2d88c15d2cd93a0b998"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 28 23:50:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 28 23:50:48 2017 +0000"
      },
      "message": "Merge changes Ib249b276,Ica1d0286,If4914340\n\n* changes:\n  LOCAL_CLANG :\u003d true is now the default\n  stagefright: move several static methods out of ACodec\n  stagefright: move MediaDefs from libstagefright to libmedia\n"
    },
    {
      "commit": "1c2c96a5c2ae8dbc80b57323afd25336917b7e39",
      "tree": "34a44f76b66ce192d47a090e2fe43582d2a36840",
      "parents": [
        "d5c9b80333415a78de5c87591dc5e014598c31e2",
        "ad866fd08bf8490b807ffed7bdcbd0e86b30e9be"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Apr 28 22:51:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 28 22:51:13 2017 +0000"
      },
      "message": "Merge \"MockDrmCryptoPlugin: Don\u0027t truncate log output\" am: 0e0e0819bd am: 3d065314ad\nam: ad866fd08b\n\nChange-Id: Ic0cc856a688b5d2e879e167ae018b574e692c0c1\n"
    },
    {
      "commit": "8dbc1205446e09f43a00b2d88c15d2cd93a0b998",
      "tree": "c29cf31d4b09f5b8c1ceef87ac0410e0eb87b337",
      "parents": [
        "75d76012b684eaa56e90280f69b23fc2d8294636"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 12:33:20 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 22:06:51 2017 +0000"
      },
      "message": "LOCAL_CLANG :\u003d true is now the default\n\nTest: verify that build has no failures\nChange-Id: Ib249b276c6295e55eb54fa37b6d15486415dfbed\nMerged-In: Ib249b276c6295e55eb54fa37b6d15486415dfbed\n(cherry picked from commit 5f5ee1110dd85001b43db7637a97474acfe8d681)\n"
    },
    {
      "commit": "0fe7807867001217e590d5eabf114c162438a819",
      "tree": "86a7783af14f80aa979e32f2bfcbffc42c8e3c52",
      "parents": [
        "c11caab96fb7a91a842c36260fb92b4f3d452b60"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Apr 25 15:12:07 2017 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Apr 28 10:27:45 2017 -0700"
      },
      "message": "MockDrmCryptoPlugin: Don\u0027t truncate log output\n\nA function argument which is an array with a fixed size is not\nactually a fixed size array, but rather just a pointer.  Thus,\nwhen we were using sizeof() for \u0027key\u0027 and \u0027iv\u0027, we were mostly\nlikely only logging the first 4 or 8 bytes of the array, and\nnot all 16.\n\nWe change this code so we\u0027re at least passing the correct size\nto the arrayToString method, and thus logging all the bytes.\n\nThis API is still fragile, as there is nothing which assures\ncallers to decrypt are passing in arrays which are exactly 16\nbytes.  However, this API is equivalent to before, so we aren\u0027t\nintroducing any compatibility issues.\n\nThe compiler gave a warning about this.\n\nTest: Compiled and confirmed there\u0027s no longer this compiler warning.\nChange-Id: Ie3a32eef0882ea95bccc3e22ffcab7336779bd4c\n"
    },
    {
      "commit": "bd20f6bcd7fb1a906ded32eaa2989447b47fd421",
      "tree": "2abac0395613aab4b27e8eb533143994827bc15e",
      "parents": [
        "f99ffd986c98b9e888678f63202788c59a9867e8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 16:34:52 2016 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 24 23:40:15 2017 +0000"
      },
      "message": "Clean up mediadrm dependencies\n\nMove various things around so mediadrmserver doesn\u0027t need\nlibstagefright and libmedia\n\nTest: build/boot\nChange-Id: I48b713cd679b992cb6ad1262c20394a9892d7027\nMerged-In: I48b713cd679b992cb6ad1262c20394a9892d7027\n(cherry picked from commit 75571e4bc76bd2defd4309c7154120840396329d)\n"
    },
    {
      "commit": "3b1d140980a8329dd47f73e9fd8688ffcc13b216",
      "tree": "fc5220783d09cad6cd3457d004a136a02e7b1776",
      "parents": [
        "f9abbf268759a84d24ffaecb860a63a73fec177e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 18 15:01:37 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 18 16:08:22 2017 -0700"
      },
      "message": "MediaCas: move clear key plugin to /system/lib\n\nNon-treble process can no longer load .so from /vendor/lib.\nMove the clear key plugin to /system/lib until MediaCas is converted\nto treble.\n\nbug: 37476803\nChange-Id: I563b4576aeada5470355e7e168fa2c73997004d7\n"
    },
    {
      "commit": "9e7dd63dfff0cc967f025ea9e27a299aaa99fd69",
      "tree": "4393a809535f09ae5b09493776f280740f85ba0e",
      "parents": [
        "7faba5ea99bfa9f76be3f38fd26193fdd56e9485",
        "a78c1cc9773532b1f9d066ed8fa0d9414c1bb8bb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 13 06:23:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 13 06:23:52 2017 +0000"
      },
      "message": "Merge changes from topic \u0027api-review\u0027 into oc-dev\n\n* changes:\n  MediaCas: combine openSession methods\n  MediaCas: changes to address API review comments\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": "a78c1cc9773532b1f9d066ed8fa0d9414c1bb8bb",
      "tree": "1a786e3a193f4fd9e34a06e5d771dacb4e4633af",
      "parents": [
        "bc7aae4ff7e72e5bf0fa888f946835840a4357bb"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Mar 31 17:36:26 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 11 12:22:23 2017 -0700"
      },
      "message": "MediaCas: combine openSession methods\n\nCombine the two openSession methods into one that doesn\u0027t take any\narguments. This gives the client more flexibility on creating\nsessions efficiently. They can better decide whether to share one\nsession for multiple streams, or create one session per stream.\n\nbug: 22804304\n\nChange-Id: I9634f4dd4fc437229068103b54555cc28a818937\n"
    },
    {
      "commit": "ef0b6b64144b6e062bbb445a6df73c365b66646d",
      "tree": "7a531f1f9ec8cf35626be78de87b063b9db35584",
      "parents": [
        "0b26f855c9256415806d8d463d9c02e3d23a6f2a",
        "b01fb48fcc755d6bfad9bc94d8c227349155e1b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 07 03:15:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 07 03:15:50 2017 +0000"
      },
      "message": "Merge \"MediaCas: fixes for playback tests\" into oc-dev"
    },
    {
      "commit": "b01fb48fcc755d6bfad9bc94d8c227349155e1b5",
      "tree": "f4bb52aabaa89f35f196f06263fc2f779fe23133",
      "parents": [
        "6480d09eec2b8188b623030c971032334739b4e4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 23 18:42:51 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 06 18:29:35 2017 +0000"
      },
      "message": "MediaCas: fixes for playback tests\n\n- Set crypto mode to kMode_AES_CTR, since kMode_AES_CBC is not defined\n  on Java API, and is rejected when the sample is queued to MediaCodec.\n\n- Wrap the plugin object in a RefBase, and hold a strong ref to it\n  when executing any API calls in CasImpl. This is needed because\n  CasImpl could be released by Java API, while MediaCodec native is\n  still trying to access it.\n\n- Fix build warnings.\n\nTests: cts-tradefed run cts-dev --module CtsMediaTestCases --test android.media.cts.ClearKeySystemTest\n\nIt should not fail.\n\nbug: 22804304\nChange-Id: Id4ef037d57dd741d2bb22b1de3d04c8d078b69fb\n"
    },
    {
      "commit": "46da191f228293adacbba447233e7e6e2dcdbcca",
      "tree": "abf4822f2f133d09cc94b3efeff99729f25a9f85",
      "parents": [
        "464d9fbf52f37b2ec465acad65c6342aa35db457",
        "7268713681d6bb79f6aacff68a0630833278f2f2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 06 18:20:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 06 18:20:59 2017 +0000"
      },
      "message": "Merge \"Add additional checks for invalid parameters\" into oc-dev"
    },
    {
      "commit": "7268713681d6bb79f6aacff68a0630833278f2f2",
      "tree": "2b0be2c2d1022fbab9265517e932f0b7b05276de",
      "parents": [
        "f3134a01aa2574f8ab62f58f1a76b77029201196"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 04 22:03:44 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Apr 06 06:24:59 2017 +0000"
      },
      "message": "Add additional checks for invalid parameters\n\nThe clearkey plugin didn\u0027t handle some cases of\ninvalid parameters, which was found the drm VTS test.\n\nTest: drm vts test passes\n\nbug:34178477\nChange-Id: I4643e099f052169d6950db8002b13711b56f30f5\n"
    },
    {
      "commit": "2fdf283c82b24caf4150b32b5e893322a3e3524b",
      "tree": "04ea7b63e394600e35899fac0b3f45899729ca01",
      "parents": [
        "1cbe62c82a8bfdb18a5bb79de57252dbd378445c",
        "e9fec5451704893412c8e707940483a6bdb5f238"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Apr 02 04:01:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 02 04:01:33 2017 +0000"
      },
      "message": "Merge \"Add Flag for Enabling 64-bit Media DRM Server\" into oc-dev"
    },
    {
      "commit": "ffbe644a25052c7ccd394486c557d2130335ee45",
      "tree": "3d8fd9aee79df1c46040f1bc65b7287bb23f5609",
      "parents": [
        "eb12e8bd16208fdd3017e2d99fee721993efdaa4"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 29 20:42:37 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Mar 30 23:02:19 2017 +0000"
      },
      "message": "Clearkey plugin didn\u0027t handle negative test cases\n\nPart of VTS tests for drm\n\nChange-Id: Ia89aa51ec9018e633fd8b04bfeceb5fe4e631daa\nrelated-to-bug: 32815560\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": "e9fec5451704893412c8e707940483a6bdb5f238",
      "tree": "0cf8ca3f939aa1f42bb85c131b7c2963b335f6a2",
      "parents": [
        "6480d09eec2b8188b623030c971032334739b4e4"
      ],
      "author": {
        "name": "John W. Bruce",
        "email": "juce@google.com",
        "time": "Mon Mar 13 16:29:28 2017 -0700"
      },
      "committer": {
        "name": "John Bruce",
        "email": "juce@google.com",
        "time": "Wed Mar 29 18:10:44 2017 +0000"
      },
      "message": "Add Flag for Enabling 64-bit Media DRM Server\n\nWe are ready for devices to begin migrating to a 64-bit Media DRM\nServer. However, not all devices are ready to make this jump yet. A\ndevice needs to have all of its DRM Plugins ready to run as 64-bit\nbefore it can do this. This includes having 64-bit hardware\nintegrations.\n\nSo that devices can turn on 64-bit support as they get ready, I am\nadding flags that can be set in a device\u0027s device.mk file. There are two\nparts:\n\n* ENABLE_MEDIADRM_64 enables building the mediadrmserver as 64-bit.\n\n* Setting drm.64bit.enabled\u003dtrue in PRODUCT_PROPERTY_OVERRIDES switches\n  mediadrmserver to searching for DRM Plugins in the 64-bit directory.\n\nTest: Validated that turning on these flags enables a 64-bit\n      mediadrmserver that loads 64-bit DRM Plugins from the lib64\n      directory (after setting DISABLE_TREBLE_DRM to true to load this\n      code as opposed to the Legacy DRM Plugin HAL)\nBug: 36076017\nChange-Id: I141cfd57ff75b40c8b0cb40a5bf1439a1ab5b766\n"
    },
    {
      "commit": "6dcab2bafd847be84c2c2230bbd04af9c45c491e",
      "tree": "51f39e6d2f1ac74fd546c8a2797c06745a757694",
      "parents": [
        "d07c92742fc5801cab8e99801f591365986acbe9"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 28 14:18:27 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 29 10:40:49 2017 -0700"
      },
      "message": "DRM: more fixes for heap base mapping -- DO NOT MERGE\n\nHeap base for the same heap could be mapped to different values\nafter they go across binder to CryptoHal. So we can\u0027t use heapbase\nto index the heaps.\n\nSince each ACodec instance allocates all its shared memory buffers\nfrom the same memory dealer, we let CryptoHal assign a sequence\nnumber to the ACodec when it calls setHeap. In subsequent calls\nto CryptoHal::decrypt, reference the heap by the seq num, and ignore\nthe heap base address.\n\nBug: 36479980\nBug: 36209723\nBug: 36660223\n\nTest: the above bugs don\u0027t repro\n\nChange-Id: I2f519a689a5891447385d1bf9d6e668bb3b4dbe2\n\n(cherry-picked from bf628da1e231e2e4d6bf61f9884e120bae3f9156)\n"
    },
    {
      "commit": "d07c92742fc5801cab8e99801f591365986acbe9",
      "tree": "f2bb6af46cd67d6d40098bfa86794097b43d41c6",
      "parents": [
        "5f8beee0ea76ffe5cc40a517e8db43dbd64fbeff"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 28 11:02:06 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 29 10:40:13 2017 -0700"
      },
      "message": "Revert \"Revert \"Fix decoder instantiation during playback\"\" -- DO NOT MERGE\n\nThis reverts commit de7268d8e20b883ec88a7ff19ad560a665373484.\n\nBug: 36479980\nBug: 36209723\nBug: 36660223\n\nChange-Id: I8d83305a28dc35cee16f8f1068c90fdd0b9effff\n(cherry picked from commit 6aa5c0662c86c7f7b2890577a207086eeecbd177)\n"
    },
    {
      "commit": "93e29c0846e0f7583ae96edafbf5e8a3169711ee",
      "tree": "40c37d5ac407ba18be25817eb4a23a01ec828f14",
      "parents": [
        "4313e1c8877e31243b0c77a988d6246d886f8ce5",
        "de7268d8e20b883ec88a7ff19ad560a665373484"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 22 00:05:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 00:05:18 2017 +0000"
      },
      "message": "Merge \"Revert \"Fix decoder instantiation during playback\"\""
    },
    {
      "commit": "de7268d8e20b883ec88a7ff19ad560a665373484",
      "tree": "5b1b48314857b676252e71b5c5bfd1a0eea8cadc",
      "parents": [
        "33327c7f0f04bcce3f8e8ee23953f87efc423037"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Mar 21 23:49:15 2017 +0000"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Mar 21 23:59:27 2017 +0000"
      },
      "message": "Revert \"Fix decoder instantiation during playback\"\n\nThis reverts commit 33327c7f0f04bcce3f8e8ee23953f87efc423037.\n\nBug: 36479980\nBug: 36209723\n\nChange-Id: I8ff9422086f5ba9ba5df60135d20b9d8bfc0be52\n"
    },
    {
      "commit": "7ec2a45e48f6c24a5e8fa96416d8793329b79d2f",
      "tree": "ec39afa290583d03bc5e34ccb34d97f89a4a1006",
      "parents": [
        "c78d3e0711849b22ba860653be4dc937af8cc0ea",
        "33327c7f0f04bcce3f8e8ee23953f87efc423037"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Mar 17 21:15:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 17 21:15:27 2017 +0000"
      },
      "message": "Merge \"Fix decoder instantiation during playback\""
    },
    {
      "commit": "33327c7f0f04bcce3f8e8ee23953f87efc423037",
      "tree": "2e3f8e0de5d2ad4a8d5e87c5ffa1d770e2041c49",
      "parents": [
        "d0cb831e7f14c43359aeb080d9564185d28c7a75"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 15 23:41:23 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Mar 17 11:33:24 2017 -0700"
      },
      "message": "Fix decoder instantiation during playback\n\nWhen a decoder is created while another decoder\nis in use and the two decoders share a common\ncrypto instance, decryption results would become\nindeterminate, which could cause the decoder to\nhang. This change adds a notification to the\ncrypto instance so it can update state when its\nownership changes.\n\nbug: 36209723\n\nTest: playbacktests-debug-androidTest.apk as\ndescribed in the bug.\n\nChange-Id: I453c260eace5543dd79a3569bf6a9592394c4113\n"
    },
    {
      "commit": "52d0204d8fb9c293e4db67ed10b0491f006b5fbe",
      "tree": "c74a6237d5347a768101ad4947fa8cd89e7fe88c",
      "parents": [
        "8ce2339cb7dc61e5fac5af90ce73716dc9e3ba52",
        "791a1a206b56be8601a6fffd2614926e67d64790"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 17 02:55:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 17 02:55:28 2017 +0000"
      },
      "message": "Merge \"MediaCas: add two sets of test plugins\""
    },
    {
      "commit": "791a1a206b56be8601a6fffd2614926e67d64790",
      "tree": "bd4ba4020de35a693488a7c6b6a1de7c921d22bb",
      "parents": [
        "5020a3488745ed0837af1d165b56975634f6eb3c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jan 03 11:36:07 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 16 18:27:42 2017 -0700"
      },
      "message": "MediaCas: add two sets of test plugins\n\n- MockCasPlugin: does nothing other than API logging\n\n- ClearKeyCasPlugin: implement a clear key CAS that carries content\nkeys in the clear in ECMs. It initializes from a test asset string\nwith a valid id. It outputs to clear buffers.\n\nbug: 22804304\nChange-Id: Ifc70b86c1ec80a45b75c7bdd1e558a59018ace5a\n"
    },
    {
      "commit": "efb7b9b26b966f6440bc8c5126c78c46090bf590",
      "tree": "fea17c3a7281f85a949871bc0a190abbd32b2379",
      "parents": [
        "f3df83d5957fd717c1663d97cd96eb5b733902c6",
        "d0cb831e7f14c43359aeb080d9564185d28c7a75"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Mar 16 06:56:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 16 06:56:10 2017 +0000"
      },
      "message": "Merge \"Fix CTS post submit failures\""
    },
    {
      "commit": "d0cb831e7f14c43359aeb080d9564185d28c7a75",
      "tree": "5b1b48314857b676252e71b5c5bfd1a0eea8cadc",
      "parents": [
        "0be134af061566c7d68c0c4f868a677daf85f550"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 15 11:17:00 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 15 23:54:48 2017 -0700"
      },
      "message": "Fix CTS post submit failures\n\nMediaCodecTest.android.media.cts.MediaCodecTest.testCryptoError\nwas failing due to incorrect error code translation introduced\nby the drm hidl hal.\n\nbug: 35137940\nChange-Id: Ia5e16809872c19335b4b9c1a8ddd1e625a4781b4\n"
    },
    {
      "commit": "899f77210153f84de08084417d993e1f042fa871",
      "tree": "73f55943bfb9540778cc7fa1e2721e6ea00fe3ae",
      "parents": [
        "e424bc24ea6d3c49832436c9e400c6244f3b8c5d",
        "d76b8b5877a9c29bcf2385a1f7bfdf4043e398a0"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 15 20:44:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 15 20:44:28 2017 +0000"
      },
      "message": "Merge \"Prevent findSession from creating new sessions\""
    },
    {
      "commit": "e424bc24ea6d3c49832436c9e400c6244f3b8c5d",
      "tree": "d3a9f53f0856ae29b35cb62021b99dc1df5085b1",
      "parents": [
        "4a71e75dc56415cda4cf33ea92d4efd914a44541",
        "0be134af061566c7d68c0c4f868a677daf85f550"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 15 20:36:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 15 20:36:33 2017 +0000"
      },
      "message": "Merge \"Fix mediaserver crash due to NULL errorDetailMessage\""
    },
    {
      "commit": "9247e10531fa3128d5263e3ad605a0fecefcd2d0",
      "tree": "941a85cb000a579408dfdc13c97c9e48d8ab08bd",
      "parents": [
        "1ac2e2bdf0d232b4518020de7b923c0241b27137"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Mon Mar 13 16:38:20 2017 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Mar 14 14:08:04 2017 -0700"
      },
      "message": "Check opaque size in CREATE_PLUGIN.\n\nCheck opaque size to be not greater than an abitrary 100K\nand verify malloc succeeded.\n\nTest: Play Movies \u0026 TV\n\nTest: Netflix\n\nTest: ANDROID_BUILD_TOP\u003d ./android-gts/tools/gts-tradefed run gts\n -m GtsMediaTestCases --test\ncom.google.android.media.gts.WidevineH264PlaybackTests#testL1With480P60\n\nTest: Forcing opaque size to exceed limit and malloc to report failure;\n  both resulted in Netflix reporting an error and failing to play.\n  This is the expected result.\n\nbug: 30202440\nChange-Id: I9fdaf208471f2781ffbd656358b1bf1ef5b28ee8\n"
    },
    {
      "commit": "0be134af061566c7d68c0c4f868a677daf85f550",
      "tree": "126fab0ff10f8b5dc0582bf9325f326cf1022059",
      "parents": [
        "886deb506ea2938cfec40fc0dd2bff072850386b"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Mar 09 17:01:10 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Mar 13 11:37:24 2017 -0700"
      },
      "message": "Fix mediaserver crash due to NULL errorDetailMessage\n\nbug: 33905340\nChange-Id: Icad86ad066a053f4aa9ca708a3c8690a68ec1856\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": "d76b8b5877a9c29bcf2385a1f7bfdf4043e398a0",
      "tree": "e2e13eeec766580ae77a59cfd7f769f8c77bd842",
      "parents": [
        "832fcce0c4bdc748bc4cb75101615e77769ec4e8"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Mar 06 17:29:15 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Mar 06 18:54:27 2017 -0800"
      },
      "message": "Prevent findSession from creating new sessions\n\nfindSession in the SessionLibrary wasn\u0027t detecting\nthe case of a sessionId not found.  Since\nDefaultKeyedVector was used, a new session id would\nget created instead of returning a null sp.\n\nTest: drm hidl hal vts test\n\nbug:36006836\nChange-Id: Iff00d8b84188d2bf9f26bceccf645bb730076378\n"
    },
    {
      "commit": "de2c37e75c6e58fd9da2e87f11e72927620c3265",
      "tree": "417043c1898c25b395e6d0d2cdccefb575e826a5",
      "parents": [
        "4ec4e6b1073b0dc1b608aeeaf4e3129ea1a725c8",
        "abeb36a8c2f044772297536e70340c3b245863e4"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Mar 03 21:55:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 03 21:55:28 2017 +0000"
      },
      "message": "Merge \"Load vendor-provided drm hidl hal modules\""
    },
    {
      "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": "886aca07d2a730ba8e972478511c7bc8660ebd2a",
      "tree": "49602fe1cb3943a2d7ebacdf97f0d7f2d3546f66",
      "parents": [
        "881fc5c65fc7d8c56af0dea181d751fcec3a2b1c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Feb 27 15:56:33 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Feb 27 16:03:28 2017 -0800"
      },
      "message": "MediaCas: move *.aidl files from frameworks/base to frameworks/av\n\nPDK builds can\u0027t reference frameworks/base from frameworks/av.\n\nbug: 22804304\nChange-Id: I5ae534a09e15999c73d0c2d6e96755ee74ffa940\n"
    },
    {
      "commit": "9dbe9a57bf0ae2494ec312d6c1b06feec20e9ec9",
      "tree": "cd5c27963da0e52e42efe6bb0a5e8d97b6af6f41",
      "parents": [
        "a146a0c499e53a4f064777ab2b45407c14429fa0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jan 03 11:35:15 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Feb 18 00:57:33 2017 +0000"
      },
      "message": "MediaCas: add MediaCasService\n\nThis CL adds API only without implementation.\n\nbug: 22804304\nChange-Id: Ibb5a29cc616ec0af81957b2bfe1419c482591753\n"
    },
    {
      "commit": "3cb5316c442d182ada75a1394e1505a017400526",
      "tree": "cba6c593af42f45211dd149d66975c06b2185fa0",
      "parents": [
        "09b92c347ddcaf751571363e54a769eb4b95edd3"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 16 12:06:32 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 17 13:04:02 2017 -0800"
      },
      "message": "Support multiple codecs per crypto instance\n\nThe initial drm hidl hal implementation assumed one\ncodec per crypto instance, but in fact there can be\nmultiple codecs per crypto instance. This change\nextends the drm hal to allow multiple memory heaps\nper crypto plugin. It fixes the issue of mapping\nmemory frequently during playback.\n\nbug:35275191\n\nTest: manual verification with Play Movies on angler\nin passthrough mode and on marlin in binderized mode.\n\nChange-Id: Icada005f515483d7bc214b08caf6eea46ca354a7\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"
    },
    {
      "commit": "ce756ce2ce66c3d2246fc0798f84c97ebd8782a2",
      "tree": "4a18b5c30453beb48bdcb29f99f8f51601948e6a",
      "parents": [
        "9c8086fa924e8b570fa66c3ef3bce0ec24a16031",
        "8a0470a12759dd77b73346c7caf11de8318c6d3c"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Sat Dec 10 00:49:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 10 00:49:06 2016 +0000"
      },
      "message": "provideKeyResponse to send an event to test AMediaDrm_setOnEventListener. am: 58a795ba81\nam: 8a0470a127\n\nChange-Id: Ibcacfe7d993354a2e395db3642239e5b038bb55d\n"
    },
    {
      "commit": "8a0470a12759dd77b73346c7caf11de8318c6d3c",
      "tree": "6b37c76186b1dfe7b1709d8023142d89b20609a7",
      "parents": [
        "03489bde8bf2cd4ba3ae4c982323ceb40d92e3f4",
        "58a795ba810a929eb8d5f81502041f101c263bd2"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Sat Dec 10 00:39:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 10 00:39:56 2016 +0000"
      },
      "message": "provideKeyResponse to send an event to test AMediaDrm_setOnEventListener.\nam: 58a795ba81\n\nChange-Id: I36549dfe68546f0db60e841caa6c49c861095d9f\n"
    },
    {
      "commit": "58a795ba810a929eb8d5f81502041f101c263bd2",
      "tree": "b8a1dc36322302054793399ff92392f7af3ed22f",
      "parents": [
        "83cb42836108742727ba8fc0bf24ab832001d687"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Nov 15 18:39:51 2016 -0800"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Sun Dec 04 03:42:19 2016 +0000"
      },
      "message": "provideKeyResponse to send an event to test AMediaDrm_setOnEventListener.\n\nThe drm plugin provides a listener, we send a kDrmPluginEventVendorDefined\nif provideKeyResponse succeeds.\n\nThe reason for sending kDrmPluginEventVendorDefined is because\nkDrmPluginEventKeysChange currently does not have ndk api support.\n\nThis addition is intended for testing AMediaDrm_setOnEventListener only.\n\nTest: cherrypick go/ag/1598039 and go/ag/1630324\n\nANDROID_BUILD_TOP\u003d ./android-cts/tools/cts-tradefed run cts -m CtsMediaTestCases --test android.media.cts.NativeClearKeySystemTest#testClearKeyPlaybackCenc\n\nTest passes and look for \"EVENT_VENDOR_DEFINED received\" in the debug log.\n\nbug: 32648208\nChange-Id: Iec98b856e8d4ce888f8a1cd2568a3dee871effc5\n"
    },
    {
      "commit": "75571e4bc76bd2defd4309c7154120840396329d",
      "tree": "6011d30e202e4e6c03fdeffda65a9ad98ff2c131",
      "parents": [
        "300379ab01ec4c5f9f538284dbb1e49ad012de29"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 16:34:52 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 16:34:52 2016 -0800"
      },
      "message": "Clean up mediadrm dependencies\n\nMove various things around so mediadrmserver doesn\u0027t need\nlibstagefright and libmedia\n\nTest: build/boot\nChange-Id: I48b713cd679b992cb6ad1262c20394a9892d7027\n"
    },
    {
      "commit": "4f197ec220d2c9634429692dd37896233273111d",
      "tree": "9ee3410c97a0375f18e05a0728643cfe587f0edc",
      "parents": [
        "68f9d0dc3b25c69eecccc9487319dd3343f0790b",
        "46d0a5b493dc7ef8cfd068c1b12d1d47d03d7884"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 22:52:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 04 22:52:20 2016 +0000"
      },
      "message": "Merge \"Remove unneeded links with dynamic libraries\"\nam: 46d0a5b493\n\nChange-Id: Ica6dd538c30b9aeccddad229cb24ade4d82d2e4c\n"
    },
    {
      "commit": "263506542fbe480ddb247597bdcef16c437b48dd",
      "tree": "1ad06b1495a50534199f1aa5068b8519dd5d50c5",
      "parents": [
        "712690b37495816a3f55e2d000f1f68caf1c20a4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 14:17:07 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "c661ae6165338fd5f0bca50a63058b4bcd6def4b",
      "tree": "1fabefad176045b256eb3282f391b9e1ae4ee654",
      "parents": [
        "bf2e61f54c7dcc37c97b4908c9ed6871cf3d2b49"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 26 15:42:11 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "9e27bc6c9c446814fa88bca98c1faa26c8d41fed",
      "tree": "a57bf14c3eb4fb72fdb0f69c818bb238f5b6c6e0",
      "parents": [
        "8d8aec77e6e8a63dac4f9ad6327ba7f43881a25b"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Oct 19 18:20:47 2016 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Oct 19 18:20:47 2016 -0700"
      },
      "message": "Fix memory leak in DRM framework\n\nThe listener member of a Drm object wasn\u0027t\nbeing released, causing memory to be leaked\nevery time a MediaDrm instance was created.\n\nbug:32277525\nChange-Id: I5582056fff3d20a5fd2b178bf028008d7f9ad1b4\n"
    },
    {
      "commit": "e7557336920ca7e7d53e8ccc03d23359b41957af",
      "tree": "d9c490d2ba3d28176436b5d0374248322f0a349d",
      "parents": [
        "aadc29b910a22c1d2b422d5a96faef07dfc97292"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 17 15:12:12 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 17 15:23:03 2016 -0700"
      },
      "message": "Remove executable bit from ordinary files\n\nTest: builds OK\nChange-Id: I7912c9c9c85dc500d33698fc174ba2a0db387407\n"
    },
    {
      "commit": "5f5ee1110dd85001b43db7637a97474acfe8d681",
      "tree": "b9678c6154ad559ceb43989f832a105d11e38296",
      "parents": [
        "c471bc541c7d43a91cc034ca67938b94324bfc56"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 15 16:13:48 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 05 11:42:19 2016 -0700"
      },
      "message": "LOCAL_CLANG :\u003d true is now the default\n\nTest: verify that build has no failures\nChange-Id: Ib249b276c6295e55eb54fa37b6d15486415dfbed\n"
    },
    {
      "commit": "b58c4e1bbd4e2420614e1bfe13f885e502301b63",
      "tree": "69082d9b5339a5746d291bb2e8f124295abf234c",
      "parents": [
        "45c5d1a53534f6c41e369f09e4c77720bad28ca7",
        "16fbb20e739eba747c1d478a4bbcae47c7d7a421"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 08:46:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 16 08:46:45 2016 +0000"
      },
      "message": "Merge \"Stop including libcore/include/ in frameworks/av.\" am: adc9ba6520 am: c75164b942\nam: 16fbb20e73\n\nChange-Id: I751944e050b849e18c78857f64134ba54d0978eb\n"
    },
    {
      "commit": "fb78341ae3a11b4c0356b393b6163f3e1258d7be",
      "tree": "5fbee9b91938bd347b5bfbbc1dbe6e99e839b086",
      "parents": [
        "8a288e1fbd3b41ee555e2b6331b03e5f777f5711"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 15 13:04:22 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 15 13:04:22 2016 -0700"
      },
      "message": "Stop including libcore/include/ in frameworks/av.\n\nChange-Id: I7c0ffa84071c2080b5bfe2ce9ad7e1822fe863c7\n"
    },
    {
      "commit": "95ec4e074264966eac7ca04fc638a867d41b490d",
      "tree": "0daa095248c9b30965864d8935120b2fd78b64ba",
      "parents": [
        "784ccb3cdd169c4de33188621cb9691663312266",
        "af786a3f97993edb43e64ac8655d47b11bef4375"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Sep 14 20:06:30 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 14 20:06:30 2016 +0000"
      },
      "message": "Fix AMediaDrm_getKeyRequest which fails clearkey InitDataParser::parse test. am: 01a977aa75\nam: af786a3f97\n\nChange-Id: I2b4ac15bfaa5edf69c9ca12eccfb64df761e63fd\n"
    },
    {
      "commit": "01a977aa75c296c5467024a7beac50cbd4ed0335",
      "tree": "f8026c924aa6f15b1ae1f2d7c88564f5dd7a3ecf",
      "parents": [
        "790a227cecca77f00e954e9bf28e7015c8bf50ff"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Thu Aug 11 14:06:34 2016 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Mon Aug 29 22:58:59 2016 +0000"
      },
      "message": "Fix AMediaDrm_getKeyRequest which fails clearkey InitDataParser::parse test.\n\nAMediaDrm_getKeyRequest() passes mimeType to drm plugin\u0027s getKeyRequest()\nbased on the UUID. If the drm scheme is clearkey UUID, clearkey plugin will\nreturn ERROR_DRM_CANNOT_HANDLE because it is expecting initDataType\n(e.g. \"cenc\") instead of mimeType (e.g. \"video/mp4\").\n\nReplace initDataType parameter in clearkey DrmPlugin::getKeyRequest() with\nmimeType.\n\nbug: 30790899\nChange-Id: I60c77c458d8d836d3eb2f9f52296a86efa73a4eb\n"
    },
    {
      "commit": "aee0669a7bdc1502a5e3d0752aaf84b0354a005e",
      "tree": "84807a87c619574cbdb755f434735aaacb131492",
      "parents": [
        "df76b9605008434bb1fd520c8affe4fa3955e981",
        "e05551983910801c4bf3c157a000246e26713609"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 23:35:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 23:35:06 2016 +0000"
      },
      "message": "Merge \"Fix clang-tidy warnings in drm.\"\nam: e055519839\n\nChange-Id: I99159fb0391af796445ea24265d088d20d178077\n"
    },
    {
      "commit": "8c0164ca98bcc76f3656fb1078033bffd4a387de",
      "tree": "053055dfa80eb72f140b8ce6da9fb138f2e6486d",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:20:59 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:20:59 2016 -0700"
      },
      "message": "Fix clang-tidy warnings in drm.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\n* Use const reference type to avoid unnecessary copy.\nBug: 30413862\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Idf1c48d7bfe3f0da20401cb3ff1983ec00be170d\n"
    },
    {
      "commit": "5cb96b83e6bff91a5ab006ff542dc32031be9087",
      "tree": "94fee5c9f5cb6130a87d0e4cecbae27dd5abd2be",
      "parents": [
        "4d1522bdc7efaa9677ac92b620cea9e9110ec2a4",
        "f3d9908a888203e7e70b8c2d43ee741a95e154ed"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 24 20:41:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 20:41:03 2016 +0000"
      },
      "message": "Merge \"Add memory heap checks for mediaserver and audioserver\" into nyc-dev\nam: f3d9908a88\n\n* commit \u0027f3d9908a888203e7e70b8c2d43ee741a95e154ed\u0027:\n  Add memory heap checks for mediaserver and audioserver\n\nChange-Id: I8b5dda2e29da8651cbd9dbc77fa9ca6211b1a47d\n"
    },
    {
      "commit": "07b745e166ee62030960ccea37e117caadf71c32",
      "tree": "a370227e0d195f58a4e7797d8a70933730970907",
      "parents": [
        "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 23 16:21:07 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 23 16:55:08 2016 -0700"
      },
      "message": "Add memory heap checks for mediaserver and audioserver\n\nMemory heap check updated and restored to mediaserver,\nadded as new option to audioserver.\n\nRequires properties to be set (example for audioserver):\n\n$ adb shell setprop libc.debug.malloc.program audioserver\n$ adb shell setprop libc.debug.malloc.options backtrace\u003d8\n$ adb shell pkill audioserver\n\n...\n\nand to dump:\n\n$ adb shell dumpsys media.audio_flinger -m\n\nBug: 28909124\nBug: 27500825\nChange-Id: Ifa8c2c02b022daf1a799ee4a1d75282a3c921763\n"
    },
    {
      "commit": "f64686f3b8c5100e114974038d0b2bb215d9bcd9",
      "tree": "c98f9a492583996ed4b134baa258d1909f2b06f0",
      "parents": [
        "276b60e1be8ed92149411240d95705c642c7531a",
        "5405ce02c45b55c0ba12fd3131ae329506e91f94"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu May 19 19:12:38 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 19 19:12:38 2016 +0000"
      },
      "message": "Merge \"Fix misc-macro-parentheses warnings.\" am: 64d4f64af0\nam: 5405ce02c4\n\n* commit \u00275405ce02c45b55c0ba12fd3131ae329506e91f94\u0027:\n  Fix misc-macro-parentheses warnings.\n\nChange-Id: I94cd974549d819d7a43733636ecd4a6e464b76eb\n"
    },
    {
      "commit": "92c6b825ad27e790b5ebd7076bd9b9ef3d5815ce",
      "tree": "5387cdb9c95cece74df22fc6485dfea62e0c3a3d",
      "parents": [
        "0603c5dfc34923095218307674a60429bfa5873a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 17 15:20:14 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 17 15:20:14 2016 -0700"
      },
      "message": "Fix misc-macro-parentheses warnings.\n\nBug: 28705665\nChange-Id: I1ad468741c6f117817099d2ba87374dce2b776a9\n"
    },
    {
      "commit": "4c0d6da0073e33d1c88ed52481f430ad68bd73ea",
      "tree": "dae010e49a9bad5dc209a4b316c95e598967534e",
      "parents": [
        "5eb564afe15169c92504185e43e6c83888d67de7",
        "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Apr 28 09:46:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 28 09:46:18 2016 +0000"
      },
      "message": "Merge \"Move system services into correct cpusets.\" into nyc-dev\nam: ecd0a41\n\n* commit \u0027ecd0a41d9a2cc9efbc4ad6d4c91d417461772933\u0027:\n  Move system services into correct cpusets.\n\nChange-Id: I752b8b857ca94be20160ddebfb041aab0cca5fca\n"
    },
    {
      "commit": "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933",
      "tree": "64597a37b1444dcaef712e6fe6de1107b829baa9",
      "parents": [
        "c5e8b6b792abd029e3f7fedf0ca2f705d6c8d222",
        "58f3e5541361cb04d64b8ad6a676ad0d77a4ee57"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Apr 28 09:34:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 28 09:34:57 2016 +0000"
      },
      "message": "Merge \"Move system services into correct cpusets.\" into nyc-dev"
    },
    {
      "commit": "51ab9527d7427589e527d0dc8118d663926a8b68",
      "tree": "f75e953cb1431ab6eca9eb90226066b6de489bb3",
      "parents": [
        "868ab87ae6b690815cebb2a4a9766ed6a894afff",
        "40601964e1f8966d90c31b0c389dfab6a515bd50"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 27 05:25:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 27 05:25:28 2016 +0000"
      },
      "message": "Merge \"Remove MediaDrm stack from mediaserver\" into nyc-dev\nam: 4060196\n\n* commit \u002740601964e1f8966d90c31b0c389dfab6a515bd50\u0027:\n  Remove MediaDrm stack from mediaserver\n\nChange-Id: I8d9fca7ed5d7bc2d9338dd9919ceef6631abd781\n"
    },
    {
      "commit": "3003807fcfa96c9cbfea18d643f47108aa116cd5",
      "tree": "a3f7b454cdf3973b6fd716ee44f4295e6c100bb5",
      "parents": [
        "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 25 13:41:35 2016 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 26 20:46:17 2016 -0700"
      },
      "message": "Remove MediaDrm stack from mediaserver\n\nPart of media security hardening\n\nMediaDrm was temporarily allowed to\nrun in either mediaserver or mediadrmserver\nwhile all nexus devices were implementing\nsupport for the native_handle representation\nof secure buffers.  Now that all nexus\ndevices support native_handle, the MediaDrm\nstack can be removed from mediaserver.\n\nb/22990512\n\nChange-Id: Ie5d83bfeb4c4a824e1d0edb4c9452c782d6fd386\n"
    },
    {
      "commit": "58f3e5541361cb04d64b8ad6a676ad0d77a4ee57",
      "tree": "c9141eb0d37fe71c38956b341840845e7d3a697c",
      "parents": [
        "d298fb880ba440793ce206e5f519d4f7c8c8bb54"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Apr 15 14:27:22 2016 +0200"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Tue Apr 26 08:48:12 2016 +0000"
      },
      "message": "Move system services into correct cpusets.\n\nTo foreground:\n- cameraserver\n- mediaserver\n- audioserver\n- mediacodec\n- drmserver\n- mediadrmserver\n- mediaextractor\n\nBug: 24949295\nChange-Id: I182e5cf6fa4b33d87a0a2f77b0b03fa8d76b8e27\n"
    },
    {
      "commit": "29906b24012386b9e90b71075de35a213bf8672f",
      "tree": "282a9ea783d622dc54e915f6f71e240ff654f47f",
      "parents": [
        "9f0fdd1edd70ab31c3b7d9b687afb44e83b868b7",
        "118a465ca0b8cca90c5af3ccbe795e77998e97bf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 13 00:30:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 13 00:30:49 2016 +0000"
      },
      "message": "Merge \"libdrmframeworkcommon: Explicitly reference libbinder headers\" am: 3911d5d\nam: 118a465\n\n* commit \u0027118a465ca0b8cca90c5af3ccbe795e77998e97bf\u0027:\n  libdrmframeworkcommon: Explicitly reference libbinder headers\n\nChange-Id: I9de4509fa1f24a18702f81c741bf5c1832328c1d\n"
    },
    {
      "commit": "0572c6e6184cfc3a7fd2e1502b4d79a7f7ef76ad",
      "tree": "f09df3512369d1ca7fd86691df6f2f61a2a0b795",
      "parents": [
        "9ca3b7a22fba08c3c1317472d6e1a1645eb2fd60"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue Apr 12 14:34:34 2016 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue Apr 12 15:28:30 2016 -0700"
      },
      "message": "libdrmframeworkcommon: Explicitly reference libbinder headers\n\nWhen creating this static lib, explicitly reference libbinder\nto pick up its header include paths.\n\nBug: 27804373\nTest: lib compiles when libbinder\u0027s header include\n      paths change.\n\nChange-Id: I6cd034703db8ef13f0bcaece27373a60fcde7b4e\n"
    },
    {
      "commit": "a1176a1ea1a4b21a46d961bbf208ff5eddfaaa26",
      "tree": "601fb9433dc3d688c857386b8043748eac7fa553",
      "parents": [
        "1ab268e7b37aa919bfa72f557abb4f4be8451655",
        "30ecc7a6a439ed9eae622b30d7e0a978ad69a944"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 05 20:10:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 05 20:10:14 2016 +0000"
      },
      "message": "Merge \"Fix SIGPIPE errors from drmserver\" into nyc-dev\nam: 30ecc7a\n\n* commit \u002730ecc7a6a439ed9eae622b30d7e0a978ad69a944\u0027:\n  Fix SIGPIPE errors from drmserver\n\nChange-Id: I83f62aaa04096d0b17e8a5e225b6c1707a37a189\n"
    },
    {
      "commit": "5a7ddf48cc8f181c5fba2d413f69f9ebf56c592f",
      "tree": "8cb122c00485ced2e7f6beb6acfaa25c089d6580",
      "parents": [
        "2b7561f802bac06981dc46867d959e627085a8f7"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 04 23:19:20 2016 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 04 23:19:20 2016 -0700"
      },
      "message": "Fix SIGPIPE errors from drmserver\n\nbug: 25284410\nChange-Id: If905bb2e6b9850698a22dbeec350c7356a7a8855\n"
    }
  ],
  "next": "5f9a7eb465308a9c69c4aa1ff86e43290270ce41"
}
