)]}'
{
  "log": [
    {
      "commit": "a87e69cf8b4b2b58f5bbe2aa89632b36e1e533c4",
      "tree": "3c06f8f07fe275b50c4969f4ba6b356fbe8e1f52",
      "parents": [
        "2392e6d96d80c44a140a3ab5c45a17b48d8216c1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Oct 18 10:07:40 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Oct 21 11:56:06 2019 -0700"
      },
      "message": "MediaMetrics: Make submit one-way\n\nRemove the unused session id to improve speed and clarity.\n\nTest: dumpsys media.metrics sanity, mediametrics_tests\nChange-Id: Ide5e9218811e110997fed19f43eb6a5fdc5812ec\n"
    },
    {
      "commit": "ec056aea5c0a33d90accf8bddfdfd63f2c80dfc3",
      "tree": "8db17f07525fa8729924606ec695fe97042976e0",
      "parents": [
        "85bf8a17045dde02a1895ff51697429948dce23a"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Aug 17 01:54:04 2019 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Aug 21 17:29:29 2019 -0700"
      },
      "message": "DrmManager: record usage with libmediametrics\n\nBug: 134789967\nTest: dumpsys media.metrics\nChange-Id: I153244203aef0d8b9034efe4ff26f42028aadd7c\n"
    },
    {
      "commit": "1a394d593e5d089a2f6c5bcf897525375013bb32",
      "tree": "7dd81e98a8509912f25595f6e3cdd7f2f1e92c13",
      "parents": [
        "78fde5f87c205fab87df6aba08bb89e3b896c58e"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 11 15:49:24 2019 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 16 20:46:05 2019 +0000"
      },
      "message": "drmserver: use getCallingSid\n\nBug: 121035042\nTest: `atest android.drm.cts`\n    CtsDrmTestCases: Passed: 43, Failed: 0\nChange-Id: Ia85f437da29821d08dd585f87ac096de5f85b980\n"
    },
    {
      "commit": "5d49bef8000500556743af66b669ae7e18ac85b5",
      "tree": "31c26fd42fb436101e8e57bcc51efe355abde9a6",
      "parents": [
        "5e0659c82240821cfa6766d33cca438a5f09ef32"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Oct 03 23:01:09 2018 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Oct 05 15:58:26 2018 -0700"
      },
      "message": "openDecryptSession() should consistently return sp\u003cDecryptHandle\u003e\n\nTest:run cts-dev --module CtsDrmTestCases -t android.drm.cts.DRMTest\n\nbug:79378662\nChange-Id: Id46e63e3e0faf76ec98a77d7d439e5ccbc85e20f\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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "5a8dbe7ad39fbfb9076894dcd24c596aae2cfccb",
      "tree": "905692e8a003731105ca9188e2eb4066b24f8070",
      "parents": [
        "a9292e0651fae1ef26fa188b24a4a5d2d0a20c8f"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jun 23 14:13:52 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Mar 31 21:10:54 2016 +0000"
      },
      "message": "drm: unused argument warning messages\n\nChange-Id: Ifd8a470ffa02f986427c5f36380d70494efe864d\n"
    },
    {
      "commit": "c903684e9a8af5450bab61b0883fc81c5a466844",
      "tree": "04ac78614614acb27941e88babcce0d6e6595bc5",
      "parents": [
        "56d65dc0b4574b1d29132b25c90c83a8fb203c9e"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Feb 18 15:58:04 2016 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 19 14:33:08 2016 -0800"
      },
      "message": "Fix the last warnings in frameworks/av/ drm code.\n\n- index is always positive so no need to check \u003e 0\n- args parameters are unused.\n\nBug: 27151704\nChange-Id: Ia4c23e1fc4eaef47f38526574b35ccfea9c92177\n"
    },
    {
      "commit": "b2231171d83c196dbb97aaa2563fa142e33a91c6",
      "tree": "0f07c3a4ca9221b7b35eaaac407b8b494d93fec5",
      "parents": [
        "9129c06770340395fe88d08e586b599b8e2a44f9"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 12 16:57:08 2016 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 12 16:57:08 2016 -0800"
      },
      "message": "Fix more unused parameter warnings in frameworks/av/drm.\n\nBug: 27151704\nChange-Id: Id153f12623b5d9d447f3f0605c30caf8743c367c\n"
    },
    {
      "commit": "6ad1bce333a18d032e594bf99f12cbd6b2889be1",
      "tree": "79adaadbe4ca314d37c057c1e81fdf12083dfffb",
      "parents": [
        "f0d7854e93696c4a10c98bc94d7b5f869c80493a"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Dec 01 08:50:36 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Dec 01 08:50:36 2015 -0800"
      },
      "message": "drmserver: add readproc group\n\ndrmserver need to be in the readproc group to access /proc files\nassociated with other UIDs, due to enabling hidepid\u003d2 in\nhttps://android-review.googlesource.com/181345\n\nBug: 25925909\nChange-Id: If477214a6cd598cebbe440a94aa1d58ea8f7114a\n"
    },
    {
      "commit": "c6dd768006362ced8ef7ae3606cac40312099fd7",
      "tree": "7d14c1f9bb07a565a0d00a9b032489ba7dbc216f",
      "parents": [
        "d7c2effc0494a88b8b11ecf3c01f883b04c465e1"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Aug 14 13:01:03 2015 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Aug 19 17:23:25 2015 -0700"
      },
      "message": "bundle init.rc contents with its service\n\nBug: 23186545\nChange-Id: I18c6062f9e30d72e5a7ffd67c61b9eeec5c24e3b\n"
    },
    {
      "commit": "f785f497567ea9d55ade92cbf82a7e80eeb5cb82",
      "tree": "bd36d6320843cdb358ce79a6c3486919697ae594",
      "parents": [
        "2e25819fffbb23d42541ead1bf735f3a02fa0330"
      ],
      "author": {
        "name": "Riley Spahn",
        "email": "rileyspahn@google.com",
        "time": "Tue Jul 01 15:32:31 2014 -0700"
      },
      "committer": {
        "name": "Riley Spahn",
        "email": "rileyspahn@google.com",
        "time": "Fri Jul 25 13:25:51 2014 -0700"
      },
      "message": "Add SELinux MAC to DrmManagerService.\n\nAdd SELinux checks on all interfaces exposed by the\nDrmManagerService.\n\nChange-Id: Ib170d3229d88781b76e5fc1c557c8fed233df5d1\n"
    },
    {
      "commit": "6868e986044a23cd3592f03b3937978175ebad53",
      "tree": "7a73fe45500e09bf55fdb3917c7b4f927b5a94a2",
      "parents": [
        "0bffd2e60f644c8b8650c48d320c8cc22deb8ab6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 17 16:45:46 2014 -0700"
      },
      "committer": {
        "name": "Riley Spahn",
        "email": "rileyspahn@google.com",
        "time": "Fri Jul 11 09:18:11 2014 -0700"
      },
      "message": "Fix Externally reported security issue\n\nbug: 12724697\nChange-Id: I57f37dbb3b01c0c3d3256be67c395352dd6ada13\n"
    },
    {
      "commit": "3ab368e0810d894dcbc0971350c095049478a055",
      "tree": "a50053c391da8c02797158395f2ecfec83218855",
      "parents": [
        "db43b34c3428e480f8c4c66e7e88f4001f37f91e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 14:55:53 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 14:57:31 2014 -0700"
      },
      "message": "media: use size_t for integer iterator to Vector::size()\n\nChange-Id: I0a744dc7815a86a993df9b0623440be620ec8903\n"
    },
    {
      "commit": "0e56849007a0f128201e545b610f119217b41376",
      "tree": "58e22c5f2fc8113c6e3fc185dbb8ca98dcf32f13",
      "parents": [
        "089affb6c2d9ed1e2d49df4be02d30dc490506f9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Mar 14 15:36:20 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Mar 14 17:25:04 2014 -0700"
      },
      "message": "More 32-bit only\n\nChange-Id: Ic333215e39757f91b12d66b8a9ad7f43c8ba8b36\n"
    },
    {
      "commit": "f355f18aa2cc1706761e373fe19298a9ccc9c75a",
      "tree": "72caa7cb946dd0de42de5dc30e83b5e99137485d",
      "parents": [
        "20f4754b7e687d3718a0a0a585f2c9ac22e2567d"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Jul 22 15:54:42 2013 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jul 23 11:32:15 2013 -0700"
      },
      "message": "Remove obsolete drm manager code\n\nbug: 9545965\nChange-Id: Ia6e09efa826b1349d027045e782980daeb7d7596\n"
    },
    {
      "commit": "da0dc0af0effe9fbfb3ce3187c8472fca2baf3c6",
      "tree": "67aa5a912048834766759d1842f7e54a20f74481",
      "parents": [
        "ec77122351b4e78c1fe5b60a208f76baf8c67591"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: If493d87d60d71be664ad75b140c62acadb75b0d0\n"
    },
    {
      "commit": "13f7fe763b9ad52fc27f21ed923c46b9555a321f",
      "tree": "5bcd3cda2da2ab8a1e2f191113fe01c2f5f63664",
      "parents": [
        "2a330d6cbb25f0cdd6208aeee53b4a3b88dae3b0"
      ],
      "author": {
        "name": "Henrik B Andersson",
        "email": "henrikb.andersson@sonymobile.com",
        "time": "Fri Oct 26 15:15:15 2012 +0200"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 24 12:49:26 2013 -0800"
      },
      "message": "Fix for not ending up in an eternal loop in DrmManager.\n\nIn the original code a random number is used to get try\nto find an empty slot in the list of free DRM id\u0027s.\nWhen you reached the limit of 0xfff id\u0027s you ended up\nin an eternal loop causing ANRs.\n\nUpdated by James Dong \u003cjdong@google.com\u003e.\n\nChange-Id: I70176cc3f770223c4a8060f9739fe2bc03a703d9\n"
    },
    {
      "commit": "bf5b3b29e31b293313788d7464cfb258ac0da803",
      "tree": "1e3e016a1f7268688be59047be835a17609977f8",
      "parents": [
        "b3e12a4d15a329821979bf287c49a9630486e23f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 17:57:39 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 10 17:38:19 2012 -0700"
      },
      "message": "Let getOriginalMimeType() take a fd passed from drm java applications\n\nThis patch enables the drm framework to avoid opening files directly.\nAs a result, the drm framework no longer needs the sdcard read permision.\n\no related-to-bug: 6426185\n\nChange-Id: Ib176c35ef4b1a1a405e8e954f19a7985266f2510\n"
    },
    {
      "commit": "cc0df657cdc8316c2b816c562f269be1706f00ea",
      "tree": "d8bbb1b8a1431846f7adc665d88cbe5f6dd4c654",
      "parents": [
        "8fe9840be2ce6aac8a008fc15cb641f858b5a32e",
        "e20435de10f63af812da9d4f801b61a8817733a0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 20:51:33 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 13 20:51:33 2012 -0700"
      },
      "message": "am e20435de: Merge \"Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\" into jb-dev\n\n* commit \u0027e20435de10f63af812da9d4f801b61a8817733a0\u0027:\n  Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\n"
    },
    {
      "commit": "3d51d5cb53cc630709a0ba78d0e60501a675f2d5",
      "tree": "c01dc8011b4e0061343c8b60b0da3508c63ae822",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 18:10:35 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 15:18:29 2012 -0700"
      },
      "message": "Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\n\nChange-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26\nrelated-to-bug: 6647465\n"
    },
    {
      "commit": "cba7b32d8f2c47632313f54118ed3733b4b02cc8",
      "tree": "b24101645accdc9067e7970ef22f3d934bda8edf",
      "parents": [
        "cf0bf78c28cf25c30c42c784c1dc5bc094e6035d"
      ],
      "author": {
        "name": "Kei Takahashi",
        "email": "KeiA.Takahashi@jp.sony.com",
        "time": "Wed Jan 18 17:10:19 2012 +0900"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed May 23 14:44:06 2012 -0700"
      },
      "message": "Add a new API on DRM Framework for streaming\n\nIn case of DRM streaming, decrypt session can start just after\nreceiving the header, and it doesn\u0027t need to wait for the entire\ncontent. However, current API of DRM framework only accepts file\nhandle or URI. With this new API, DRM session can start\nwithout waiting for the entire content.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: I74375fe127df636067f1c300ea91654ba3d1aa3c\n"
    },
    {
      "commit": "1608735ef488ecd8c3c012a3b0d4b1d4ef3d93c7",
      "tree": "c77756706095cdb6852e56392e8365bcaa7d9232",
      "parents": [
        "a98db787397633155fd71b06ecaa765a7ad20cf2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 13 14:54:36 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 17 11:22:11 2012 -0700"
      },
      "message": "Support widevine:// URLs in NuMediaExtractor / java MediaExtractor.\n\nAllow anyone to talk to drm services.\n\nChange-Id: I5c2f3c419d01de30c3d6e2bc85b1fe5c9c37b392\nrelated-to-bug: 6276111\n"
    },
    {
      "commit": "559bf2836f5da25b75bfb229fec0d20d540ee426",
      "tree": "d7dd708b17eeca96a3e5d8bcc25a51ff3d1b5d0d",
      "parents": [
        "b0b2b4d890cf3bfb274797a759642b4e733343d7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 28 10:29:14 2012 -0700"
      },
      "committer": {
        "name": "Anatol Pomozov",
        "email": "anatol.pomozov@gmail.com",
        "time": "Wed Mar 28 12:07:41 2012 -0700"
      },
      "message": "AV Android make files changes\n\no plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc\no remove some runtime dependencies to libandroid, libandroid_runtime, etc\n\nChange-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10\n"
    },
    {
      "commit": "328745b130c1c59e53d68a9a3c71675d3932d34b",
      "tree": "c35e7d4e33ecbde14e93d658d3d91cc52fbd35ac",
      "parents": [
        "0f7affe1716dfd6687262008120ed128df1af214"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 28 13:55:55 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 28 18:50:44 2012 -0800"
      },
      "message": "Added permission check for all sensitive drm API calls\n\no all drm calls using a DecryptHandle now check the permission before proceeding\n\nChange-Id: Ic992a991357876c6e4bfbfab4f5eec1fa0634a13\n"
    },
    {
      "commit": "d907e9451ec3c7b2244dd5605f1a26ab23466a7a",
      "tree": "d54de2611c108f2ee1a240c89a90d13be95de9b9",
      "parents": [
        "843a12d146bd64642bf85a4e56c274246e3893a6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 22:20:28 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 22:26:48 2012 -0800"
      },
      "message": "Remove unnecessary header file includes for drmserver\n\nChange-Id: I14033861e74d20f9d4897b651c4eeee126d4d610\n"
    },
    {
      "commit": "9d2f386dd2885eaffa11fd494ae258bb09fe6397",
      "tree": "382639f8cc7f1a3677589d7dfca37b667ea4261c",
      "parents": [
        "83bc7f3cf78b28a818417f40a4f0c00593993366"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 10 08:24:37 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 12 16:25:12 2012 -0800"
      },
      "message": "Separate sniffing from session initialization\n\nThis avoid lengthy/duplicate sniffing for drm plugins when a decrypt session is opened\n\no The change is backward compatibile in that no update is required\n  for existing drm plug-ins if they do not plan to provide separate\n  sniffer/extractor\n\nrelated-to-bug: 5725548\n\nChange-Id: I7fc4caf82d77472da4e2bc7b5d31060fb54fd84c\n"
    },
    {
      "commit": "2a3d6e1b6cfd2d564a48371598fdc664ea40fa8c",
      "tree": "a1031e278f98ee35c02b14f322e4f1f0c60ae9e1",
      "parents": [
        "5805f995ef365bf00fcccd5c1f948086c17ec75e",
        "26c2a6bf34b370d467cab4753e5a4b187ba62c0f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 14 13:53:31 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 14 13:53:31 2011 -0800"
      },
      "message": "am 3f6a7d1e: am d70c64db: Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert \"Fix drm flag setting missed in false drm recognition fix.\"    This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.\n\n* commit \u00273f6a7d1ee961a4544563932b7499535dc1cac1ec\u0027:\n  Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert \"Fix drm flag setting missed in false drm recognition fix.\"    This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.\n"
    },
    {
      "commit": "785ee06d106cd7958e0c151ebc6b7174d9ba861e",
      "tree": "52cb291bf974f4593277cc1142e514ebadae4b89",
      "parents": [
        "19e9d0fe6dc3ff4fb1807fee2ad058bf3277e883"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 14 10:57:05 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 14 11:01:59 2011 -0800"
      },
      "message": "Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck\n1. Revert \"Fix drm flag setting missed in false drm recognition fix.\"\n   This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.\n\n2. Revert \"Fixed the false drm recognition.\"\n   This reverts commit aadbd80b307c817698ce5110ff8e002804d1b230.\n\n3. Revert \"Fix drm enumeration order, resolves failure to play forward lock ringtones\"\n   This reverts commit a5cbf023e349f2394ba6fc58d73b4375cfec4369.\n\n4. Revert \"Fix ANRs due to Widevine DRM plugin sniff taking too long.\"\n   This reverts commit d0d19db1ca1c289b069db33f4665bcb9386064e9.\n\nAs a result of the reverting, many ANRs from WV sniffing are back.\n\nrelated-to-bug: 5739618\n"
    },
    {
      "commit": "50a44951baf856cda679e78947e369ce923a6517",
      "tree": "ed289e8d756105114a04b35dbef3c027454f49f7",
      "parents": [
        "fec2284d520fa2856358692095a715678225abcb",
        "2a82a3a8824904f4e6750eb18dcc33ed113edbeb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Dec 12 15:39:17 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 15:39:17 2011 -0800"
      },
      "message": "am f14dc291: Merge from ics-mr1\n\n* commit \u0027f14dc29104340f8ccf9d42aef8dba2cc23f7f5e1\u0027:\n  Fix drm enumeration order, resolves failure to play forward lock ringtones\n"
    },
    {
      "commit": "a9d421d3c05b98ee5481428ca3dcb3e3245140ff",
      "tree": "9923d2dba8b8bf93adb3e4a54aa8788031f6c75b",
      "parents": [
        "7e976e926dd8085a64a7add97ce09bfeca26e088"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 09 20:04:17 2011 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 09 20:04:17 2011 -0800"
      },
      "message": "Fix drm enumeration order, resolves failure to play forward lock ringtones\n\nChange-Id: I58e8a26849409bc3bf98b066c5e07c2a0c91e0c9\nrelated-to-bug: 5735466\n"
    },
    {
      "commit": "40ddcb7150a31052ba20878454426dc3572b7acb",
      "tree": "cf08d0d860d0d353c4d14647f719ea80f0346a29",
      "parents": [
        "6a9ab553ebd36705d3edacc6deb6a27dd6b799a3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 10 14:58:44 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 10 14:58:44 2011 -0800"
      },
      "message": "Fix log message\n\nLog did not have a tag, and was wrong level\n\nChange-Id: I8d12895c80483e1e39f117a393b8be2f4bdd3e1d\n"
    },
    {
      "commit": "3856b090cd04ba5dd4a59a12430ed724d5995909",
      "tree": "a24e4c98fa6049fd8085826be838000f9a67e39b",
      "parents": [
        "1d2acaffde56ad79e6e96f228d7857863462397c"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "5f6f4e4e89bc9b234d89276aea3eae7f677e2ff7",
      "tree": "5e622df3a534d6023470490592a5ebb79b116310",
      "parents": [
        "fb6f03425a791dcc4188462c860becf6ca6be4ea"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Sep 21 19:18:30 2011 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Sep 21 21:50:31 2011 -0700"
      },
      "message": "Modified loadPlugIns to load from /vendor and /system; skip libraries that are already loaded.\nBUG: 5284436\n\nChange-Id: I99267c81a488860c3c7edb747100d44f3083bfc2\n"
    },
    {
      "commit": "8f00151cbe693d52f3e233757c57fab3b6396d21",
      "tree": "e23cc93514f43af27aa3e2d7bcfce1b88d614a2b",
      "parents": [
        "60c93010e8f96a179574ec66c00ec47a675319e3"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jul 21 15:10:22 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jul 25 16:09:58 2011 -0700"
      },
      "message": "Fix for bug 4371230.\n- Generate unique ID for each DrmManagerClient in native side\n- Fix the bug where multiple clients could use the same ID\n- Return the correct unique ID back to Java\n- Add a flag in the unique ID to separate native client and Java client\n\nChange-Id: Ia4574b6b0a526f2335a65380975dc62f9a6e7f9b\n"
    },
    {
      "commit": "5e0067b486c3862316aa1f293cf9690c0cf54bda",
      "tree": "104ac8491b40d6e9d8353322792fb83ce76f4c82",
      "parents": [
        "52f556b976a9caceee183d8af2118ddbee02c70a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "message": "Remove the simulator target from all makefiles.\nBug: 5010576\n\nChange-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8\n"
    },
    {
      "commit": "adfb5592622305090ad39dcc2b7df477736da2c6",
      "tree": "b343061612b7887cbb898fb53c0f9c407dea4450",
      "parents": [
        "f8c45a90a69cec5041f6fb11a7e31af646e43d25"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Apr 24 12:38:35 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Apr 24 12:40:16 2011 -0700"
      },
      "message": "Fix memory leak from retrieval of getSupportedDrmInfo.\n\nChange-Id: Ic2192a9791c0a3c5e5357b4367a2d8bfb15af20c\n"
    },
    {
      "commit": "1006c80903c4e6b0554a3bc2e3585639c395927d",
      "tree": "f024dd66dba1d170242cff661ad3b7035a1bbe59",
      "parents": [
        "99b1c9861c7cc1ee3c750b95ad823ad6a4dcfe65",
        "8d2577b9ac2f95f218db59a78447efd3c6a742dd"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Mar 15 14:10:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 15 14:10:30 2011 -0700"
      },
      "message": "Merge \"Bug fixes of DRM framework.\""
    },
    {
      "commit": "99b1c9861c7cc1ee3c750b95ad823ad6a4dcfe65",
      "tree": "e9354fa75ca308c682ed41c30a258866c4466ee4",
      "parents": [
        "f1e10e8ed74cac805d601139882378a1f450fe94",
        "e24faedc6bc34d2ef7bc7bae64b6b20ccaf8b97d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 15 13:51:17 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 15 13:51:17 2011 -0700"
      },
      "message": "am 7d7dcb5e: am 4528a7db: Merge \"Bug 4016329 do full string comparisons\" into honeycomb-mr1\n\n* commit \u00277d7dcb5ea891ad4c3252ed832ebd06accc96153d\u0027:\n  Bug 4016329 do full string comparisons\n"
    },
    {
      "commit": "8d2577b9ac2f95f218db59a78447efd3c6a742dd",
      "tree": "615cb3a9b4108444458d9d46858794fbed8d504b",
      "parents": [
        "8b9a9067511efca72ca872d689e30315c1450f94"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Mar 15 10:52:28 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Mar 15 11:17:22 2011 -0700"
      },
      "message": "Bug fixes of DRM framework.\n\n- Add death listener to clean-up drmserver appropriately\n  when drmserver died.\n- Remove \"static\" declaration of mUniqueIdVector because it was not\n  needed to be static variable.\n- Remove \"class DrmContentIds;\" because the class does not exist.\n- contentPath in saveRights() could be empty because\n  it is not required by some DRM schemes.\n- Fix naming convention to use sXXX for static variables.\n- Fix typo\n\nChange-Id: I7d440488fc074c200f1009d1bafafeffebd690b2\n"
    },
    {
      "commit": "8635b7b095fbf7ffc63d3ce791891a9116ace1f6",
      "tree": "6c9bbe1d0cec53f0c83099f1028302a178928cb9",
      "parents": [
        "1b99cc90afffbda6013ebbb45d64f17b1d90b9f5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 14 17:01:38 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 14 18:48:19 2011 -0700"
      },
      "message": "Add memory leak tracking/debugging code to drm server\n\nbug - 4099038\n\nChange-Id: I6c048eaf3d7f34bc144b8daaa5fdef1ed474af66\n"
    },
    {
      "commit": "41b3d3be18b54e72a44813cbdd180aae7e77b444",
      "tree": "a4ae478674f82a29aec053aec047caccbde2976a",
      "parents": [
        "8980847d149cfca1d0564d9454c262764b6ee164"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 14 11:32:29 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 14 17:59:51 2011 -0700"
      },
      "message": "Bug 4016329 do full string comparisons\n\nUse full string comparisons instead of partial for\n  file extension and MIME type.\nDo case-insensitive comparison of MIME type and file extensions.\nFix error in comment for String8::getPathExtension.\nRemove dead code -- StringTokenizer is unused.\n\nChange-Id: I322be6235abbdaab5f7eafa48926dbb2cf46dc29\n"
    },
    {
      "commit": "0e0a5f9e0b7a7ca618e8a1f7ccecc57a17e0d1e2",
      "tree": "8ad3203ba726da5b28d63f25d16c1c761cc97885",
      "parents": [
        "2eb62955eb84b97695e8a7e56e14310cbb86412b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 11 14:07:21 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 11 14:54:23 2011 -0800"
      },
      "message": "- Some change on the DrmManager in order to support feature request 4082089.\n    In DrmManager, we currently lock both processDrmInfo() and onInfo() which is\n    ok for now since processDrmInfo() is async call, and it will return without\n    waiting for onInfo() call. However, if we send an event in processDrmInfo(),\n    we will got deadlock here because we need to invoke onInf() which will wait\n    for processDrmInfo() to release the lock. Use different lock for onInfo().\n- Remove some redundent mutex lock.\n\nChange-Id: I59c794f95ba1693425723224114fa975cf9b235f\n"
    },
    {
      "commit": "6b610a3d31a225adfc5867223df25dba16637bd9",
      "tree": "76e9cebbc53f536838cbf5502d1cbc1649f64a12",
      "parents": [
        "4f46fed004b76d462ef859aa94a3c056b0e79b60"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 04 14:45:03 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 09 15:51:46 2011 -0800"
      },
      "message": "- Change level of some LOGs from LOGE to LOGV because those logs\n  are not error logs from non-DRMed content\u0027s point of view.\n- Add more mutex lock to avoid crash by multi-thread calls.\n- Fix for bug 4050039\n\nChange-Id: I52fed22069f0cda6c4ac6a5363469168c797a33b\n"
    },
    {
      "commit": "7f89d09c0f4a47119834ba15789260b933123ea5",
      "tree": "69a8676dad50967012b6abe98bdd7e1f859ecce9",
      "parents": [
        "5f5354e35ab3b2a0cb4cabb6d0aa5a160225ccc8"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 12:33:00 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 12:33:00 2011 -0800"
      },
      "message": "To support DRM files without file extension\n\nChange-Id: Ie7701048d0dbd51bf358364014a1b41c894b664c\n"
    },
    {
      "commit": "e7be8fe9ae977a253bd9976c6d4b260961c89109",
      "tree": "383dedf0443b02c134de0e01af3a8d9d24d70543",
      "parents": [
        "a8fa482f6dcbd5b58ddc8b630e3fb01370ebe583",
        "fc4f5aad4af1e2d8eea5e7d7f69d1cad4704cbb7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 12 09:31:46 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 12 09:31:46 2011 -0800"
      },
      "message": "Merge \"Bug 3229711\""
    },
    {
      "commit": "fc4f5aad4af1e2d8eea5e7d7f69d1cad4704cbb7",
      "tree": "22a8774411a162db2ae26e3863b420ba528218ad",
      "parents": [
        "38e6f20962b366fffe86dc33f9093ce4af87425a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 11 17:15:49 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 11 17:15:49 2011 -0800"
      },
      "message": "Bug 3229711\n\nChange-Id: I3a4d41597cb92a1526417a622390dbb93dc71e99\n"
    },
    {
      "commit": "ac2652c25f5d2a38709131f7731651bc5819fed5",
      "tree": "d8c86badbc1e53832fe2e3cf41f7970843c3f471",
      "parents": [
        "b03f5627d4e0d80ea7b185e0af1d8a5d19461325",
        "9cfc9eff42a0700029c39e89c38b52488845ad63"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jan 11 14:55:56 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 11 14:55:56 2011 -0800"
      },
      "message": "am 9e0bb6d5: am 0544d059: Merge \"DRM Framework bug fixes.\"\n\n* commit \u00279e0bb6d5eef5dfe2da60c50f3aaa39512307d11d\u0027:\n  DRM Framework bug fixes.\n"
    },
    {
      "commit": "c618b5af98dec06d49374a61a5a94016f9fec2d3",
      "tree": "a33e45ff0d2cd56b47da6fced34e898950ca08b2",
      "parents": [
        "c533edc9c70dd9434e2e496dc0d52f534472c7e0"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 30 16:27:42 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 30 16:27:42 2010 +0900"
      },
      "message": "DRM Framework bug fixes.\n\n- Make sure to clean-up obsolete listeners.\n- Close cursor after using it.\n- Add virtual destructor to the base class of OnInfoListener.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: Ibb6dd625ef48e3597188f0d7c90f9d4c780b6139\n"
    },
    {
      "commit": "6dc4726e7fa14e4006f6790c6f1ba02cfe888870",
      "tree": "5162c29866b9b737bc3808fd196e437d8cf0c0e1",
      "parents": [
        "321b630783709eeb18952c3408303489db4ea9eb",
        "f798e438c3997fd3fb39538bf3e958cfdc7a477c"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 22 21:29:08 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 22 21:29:08 2010 -0800"
      },
      "message": "am 24a90c26: am d9334934: Merge \"Update of DRM Framework.\"\n\n* commit \u002724a90c2674270fee0783bafa54fd5d845bdf0c18\u0027:\n  Update of DRM Framework.\n"
    },
    {
      "commit": "a2cd44cb5067b4fe98794860690394254d3ac73c",
      "tree": "08a581d8684a550faa9f5cb76dc5cab96e641f81",
      "parents": [
        "c726bd8b7b9929fd917b01e5551a66ad5fe2c04e"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Nov 19 15:19:36 2010 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Nov 19 15:52:32 2010 -0800"
      },
      "message": "64-bit file size/offset support for DRM framework\n\nChange-Id: I0ba7147607825234df9fa28732e1bba344e82e79\n"
    },
    {
      "commit": "3473846f64f5b28e1cbeb70ef5867073fc93159e",
      "tree": "9651de1dd360d8d77d9d4a53a23ed1181845b93c",
      "parents": [
        "cf6a8d23345a6e54834e53b1eb7e465f3cb5e914"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 16 13:56:11 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Fri Nov 19 22:02:51 2010 +0900"
      },
      "message": "Update of DRM Framework.\n\n-Access permission handling\n  Introduce an internal function which allows the desired process to\n  access decryption flow. This new function is just for reference and\n  each OEM manufacturer should implement/replace with their solutions.\n-New API, getMetadata()\n  This API is for retrieving media metadata from container-based DRM,\n  such as OMA forward-lock content. This API asks DRM agent to retrieve\n  media metadata hiddein inside of DRM special container.\n-New API, acquireRights()\n  This API wraps acquireDrmInfo() and processDrmInfo().\n  If DRM agent has valid implementation of both APIs,\n  Application can acquire DrmRights only by calling this API.\n-Bug fix in event loop of OnInfoListener.\n  Separate OnInfo event loop from mail thread loop so as to avoid\n  the issue that message is not dispatched when mail thread is busy.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: I04ee3e0988152a71e221f2256d83253749a29da0\n"
    },
    {
      "commit": "b251f75d5ca3fa19cfe8a284717e00dec31f18ea",
      "tree": "edb48bc69001ca3ef96bf072d71441bc8a60d547",
      "parents": [
        "bf3122eed31cd24acdf5cfd25541db0beb77e6f0",
        "3041096d137144d9d1ebdd6df88ebe8e85133c05"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Nov 03 11:39:04 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Nov 03 11:39:04 2010 -0700"
      },
      "message": "resolved conflicts for merge of a8d7b747 to master\n\nChange-Id: I8a4b72c9f9a10de8bbc285e00e2dd5cb9f498349\n"
    },
    {
      "commit": "5a6d1487905df5ea28168bd907aae93c0688dadf",
      "tree": "7da155569dc2461439f257f750fff5432f023a40",
      "parents": [
        "02a1db7dc1de2f2df306ec10bab992bc8bbaaca8"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Nov 02 15:02:48 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Nov 02 15:09:43 2010 -0700"
      },
      "message": "Disable some logs\n\nChange-Id: I05fcf6869916504367814fd2abd2b1af88619f5b\n"
    },
    {
      "commit": "e943f84129326ab885cc7a69dcfa17f766b72b89",
      "tree": "45602605772fcd85d240cbfd900b82e0067453e9",
      "parents": [
        "dcd25efb46c41c8d24a0a9cf61fb57f84149709e"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Fri Oct 08 23:05:49 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 02 08:06:06 2010 +0900"
      },
      "message": "Update of DRM framework\n\n - Overload openDecryptSession() with uri parameter\n   in order to accept URI of DRM content,\n   Following API is added,\n       DecryptHandle*openDecryptSession(const char* uri);.\n - Unify texisting three event types of processDrmInfo()\n   so that caller of DRM framework does not have to handle many event types.\n - Let DrmManagerService call load/unload plugins API so that\n   client of DRM framework does not have to manage plug-in load/unload.\n - Trivial fix in DrmManagerClient.java is also incorporated.\n\nChanges are made by Sony Corporation.\n\nChange-Id: If62b47fa0360718fdc943e6e6143671d7db26adc\n"
    },
    {
      "commit": "d6d4ba97bcb39bf6d0cde32ce7bef1753e420548",
      "tree": "4071f563bd7327f5e298c734c97a171da34eeeb5",
      "parents": [
        "bbf03557f2008fad77bf9340460d4e6a28cbb957"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Oct 26 12:11:55 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Oct 26 12:11:55 2010 -0700"
      },
      "message": "Do not create drm directory here. Fix for bug 3134576.\n\nChange-Id: I1e26ff32b1c2d97464d544c2455eab0a726e3294\n"
    },
    {
      "commit": "2272ee27d9022d173b6eab45c409b3c3f57f30ec",
      "tree": "42fd86597781bdf6b3795907ec1d086b0b549a5c",
      "parents": [
        "0335b70c6cdbe96650d4bed817f9233cd8db1c6d"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Sep 20 23:40:41 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Oct 04 22:14:53 2010 +0900"
      },
      "message": "Update of DRM framework.\n\n  - Change \"void\" type of return value to \"int\" for returning status.\n  - Add some of overloaded Java APIs which accept database Uri as input.\n  - Add asynchronous APIs\n  - Add OnEventListener and OnErrorListener for asynchronous APIs\n  - Disable debug log\n  - Change decrypt() API to accept an optional buffer needed by some of DRM schemes\n\nChanges are incorporated by Sony Corporation.\n\nChange-Id: I414a165e22cc79be6ea7cd28041788aa2b6b8f7c\n"
    },
    {
      "commit": "0335b70c6cdbe96650d4bed817f9233cd8db1c6d",
      "tree": "04e9557ed875fd6aecaba33c61c9b2e4b7328e82",
      "parents": [
        "3df6c0fc75b3278a93eff176471bd9c6365ab24b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Sep 10 12:46:57 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Sep 10 12:46:57 2010 -0700"
      },
      "message": "Make DRM libraries optional\n\nChange-Id: I0b591b75a035bc6d8049c85b595966845fedaa15\n"
    },
    {
      "commit": "a4f8842d67004f168b53fc684d4622679e19a3df",
      "tree": "9a9693bd5f5c97b062f7c87988d27e92bfaffc4b",
      "parents": [
        "27ed8ad2db653f6ac07dcf8bcc05e2409c8bb024"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Sep 09 16:02:22 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Sep 09 16:02:22 2010 -0700"
      },
      "message": "fix build\n\nChange-Id: I4aba42eabb2f959b5301bfd16f65fa6141d86ddc\n"
    },
    {
      "commit": "27ed8ad2db653f6ac07dcf8bcc05e2409c8bb024",
      "tree": "fa6b8100202640a8b9aec4b90271984f8e2c4336",
      "parents": [
        "f1a97e53a58f47afa17a9b0d3a5cc9abf7e5ed19"
      ],
      "author": {
        "name": "aimitakeshi",
        "email": "aimitakeshi@gmail.com",
        "time": "Thu Jul 29 10:12:27 2010 +0900"
      },
      "committer": {
        "name": "aimitakeshi",
        "email": "aimitakeshi@gmail.com",
        "time": "Wed Sep 01 15:40:00 2010 +0900"
      },
      "message": "  Initial contribution from Sony Corporation.\n\n  Add DRM Framework to support DRM content playback\n  together with StageFright.\n\n  - DRM Framework code is added\n     - include/drm\n     - drm\n  - api/current.xml is updated to include DRM Framework Java APIs\n  - cmds/servicemanager/service_manager.c is modified\n    to add drmManager and drmIOService.\n\nChange-Id: I6d7bc9c7067362b500e530988a9ce241761866fb\n"
    }
  ]
}
