)]}'
{
  "log": [
    {
      "commit": "81e1c008520d77adb180f5f58f5ed34b38dabaf7",
      "tree": "78df0ce9e680a06bbc567567d95a10ab111ea607",
      "parents": [
        "a8129f7246dfb580158a002d06492c699183101c"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Wed Nov 20 06:12:58 2019 -0800"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Wed Nov 20 06:15:15 2019 -0800"
      },
      "message": "Revert \"DecryptHandle cleanup\"\n\nThis reverts commit e75d74c70f125bddeb36e175de77e3b0461d1e48.\n\nTest: Local build completes\nBug: 144814133\n"
    },
    {
      "commit": "e75d74c70f125bddeb36e175de77e3b0461d1e48",
      "tree": "046998455cb57700e99e614c21ad7e3771519021",
      "parents": [
        "bc0d257bbe16df642b8c75510e2d59665c46dfe4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 14 08:33:58 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 19 14:47:48 2019 -0800"
      },
      "message": "DecryptHandle cleanup\n\nRemove copyControlVector, extendedData and decryptInfo from DecryptHandle,\nsince none of these were actually used.\n\nTest: atest cts/tests/tests/drm/src/android/drm/cts/DRMTest.java\nChange-Id: I499bf4884e467b53d05e1317e3dbe0bd85537577\n"
    },
    {
      "commit": "11966872eedd949041dfe0a905794654a3df49cf",
      "tree": "7ad77e435903461790f78282853777f389b7bfd0",
      "parents": [
        "71028253b21dfee4e3908916c4182cd0ea140f11"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Feb 22 17:54:19 2019 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Mar 28 23:54:38 2019 -0700"
      },
      "message": "Remove subdirs from Android.bp\n\nsubdirs is meaningless now.\n\nTest: Builds\n\nBug: 129513796\n\nChange-Id: I60130e38b5924b73c5520d884868dd580f5345bf\n"
    },
    {
      "commit": "b6826d9e88b521c5c970cf748db83b43c70d56d1",
      "tree": "f6ad0f52bc55d3c13f71f4a572a16fd80d8e26e6",
      "parents": [
        "d1265e14e77943e84a52fd7c04922280dd598899"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Nov 20 19:11:07 2018 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Wed Jan 02 17:30:17 2019 +0000"
      },
      "message": "Use ICU in libandroidicu\n\nlibicuuc and libicui18n are moved into APEX, but\nthey have no stable ABI due to the version suffix.\n\nUse libandroidicu which provides stable symbol.\nSee http://go/apex-stable-icu4c-interface for the design.\nSee http://aosp/801855 for libandroidicu implementation.\n\nBug: 117094880\nTest: m checkbuild\nChange-Id: Ida6aac85dfb79bf8e7a3a2540e567ee211279e09\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": "5cf0751390afa26b8fefacbf43541d7d4cffc1a5",
      "tree": "b23cb5a877f17f7378e6f98ee906e0f55091b52c",
      "parents": [
        "16f2c1559c5722a6cd69fef3c17dc5756ba73fe6"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 02 13:59:12 2017 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 20 19:19:00 2017 +0000"
      },
      "message": "Use -Werror in frameworks/av\n\n* Suppress unused-variable warnings.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nExempt-From-Owner-Approval: already had multiple +2 votes\nChange-Id: I985f9328684df501b5934a5c01f783ed7ca5aa0c\n"
    },
    {
      "commit": "b5c1bcb963dc638d4f67b6b016509c174363f48e",
      "tree": "a8c524c36516f2da8ff9fe00f06d2e83cad3a5b9",
      "parents": [
        "70b1b4007116a8f99041c0c78f42cc2c2a1c8d01",
        "809ea9d9ccecafd9295f9be6e4930bafb55c6f68"
      ],
      "author": {
        "name": "Zhizhou Yang",
        "email": "zhizhouy@google.com",
        "time": "Fri Aug 18 20:39:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 18 20:39:34 2017 +0000"
      },
      "message": "Merge \"Fix memory leak warning in FwdLockEngine.cpp\"\nam: 809ea9d9cc\n\nChange-Id: Id83653de65130ab3f73a720d9196d5ae47ec9613\n"
    },
    {
      "commit": "67810646ca83b77940eb9b54c507d2940eabf7c6",
      "tree": "8dd5931ddcf92e34669e7a9279466de3025cf268",
      "parents": [
        "f402866c6aab58d8f991f1122976714caebf7eee"
      ],
      "author": {
        "name": "Zhizhou Yang",
        "email": "zhizhouy@google.com",
        "time": "Tue Aug 15 16:43:12 2017 -0700"
      },
      "committer": {
        "name": "Zhizhou Yang",
        "email": "zhizhouy@google.com",
        "time": "Wed Aug 16 10:14:39 2017 -0700"
      },
      "message": "Fix memory leak warning in FwdLockEngine.cpp\n\nIf addValue does not succeed, there will be memory leak on\ndecodeSession. Fixed it by checking if addValue returns true first.\n\nPlus fixed a small indentation error.\n\nTest: mmm with static analyzer and warning disappears.\nChange-Id: Ibf9b85e4c416e8fea8b80a3ba47f87f88573c54c\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": "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": "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": "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": "b11a8649de8c029084c3628fc493f8032bae210f",
      "tree": "a2ff93bf1c29cb0889c528a65defb769b86da431",
      "parents": [
        "c279308043d67b0e3c9d934e3951ae2750314c6c",
        "b5ab355f6cd5dc50ca1ff5418dddb318479749fb"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Mar 31 14:30:37 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Mar 31 14:30:37 2016 -0700"
      },
      "message": "resolve merge conflicts of b5ab355 to nyc-dev-plus-aosp\n\nChange-Id: Icd4ae55a3a3557b823dcdb2493fa4cc46951bbc7\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": "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": "c52ca479388f4b98da4a25850f552f9c54ccc1d2",
      "tree": "da9779554e95edb189c0755abc8833c095838b81",
      "parents": [
        "661c5953f54848a37a012d9106af00e61bb98e08"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 12 13:10:19 2016 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 12 13:45:39 2016 -0800"
      },
      "message": "Suppress unused parameter warnings in libdrmframework.\n\nThis change also enables -Werror flag that causes\nall warning to fail this target\u0027s build to prevent regressions.\n\nBug: 27151704\nChange-Id: I5d815d20aea151eb40292b8e2bffb144240413a2\n"
    },
    {
      "commit": "2544611b6f37e69955fe7161995b7bacf3ae8fba",
      "tree": "091344aa26255c41c285fc39b4d44cac22cb3aef",
      "parents": [
        "eb1e82d71ec30eaad9e11f3b0dedef0d895035f8"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@google.com",
        "time": "Tue May 12 11:18:14 2015 -0700"
      },
      "committer": {
        "name": "Adam Langley",
        "email": "agl@google.com",
        "time": "Tue May 12 11:18:14 2015 -0700"
      },
      "message": "FwdLockConv.c: include what you use.\n\nThis file needs stdlib.h for malloc, free and realloc, but was\npreviously getting it only via the OpenSSL headers that it was\nincluding.\n\nBoringSSL, in the future, will be tider about what it includes via its\nheaders and so this file will need to include stdlib.h itself.\n\nChange-Id: Ic0ee43ed74ff96f1a57e6e153c65e80e0115c0e9\n"
    },
    {
      "commit": "683202e1d42d2642f7471272b4a3b5d64525a7bf",
      "tree": "803ba36e5830c8ae133edf7c7ca3f12f73c2bb79",
      "parents": [
        "1ed13b3b443735e7f7b5002954f31741b0b1c572"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@google.com",
        "time": "Thu Jan 22 17:14:35 2015 -0800"
      },
      "committer": {
        "name": "Adam Langley",
        "email": "agl@google.com",
        "time": "Thu Jan 22 17:14:35 2015 -0800"
      },
      "message": "Remove superfluous OpenSSL include paths.\n\nThe libcrypto and libssl modules (and their respective static and host\nversions) use LOCAL_EXPORT_C_INCLUDE_DIRS thus just including the module\nis sufficient.\n\nChange-Id: If9df76e6fefb7419cbb2fb33a0264626c748561e\n"
    },
    {
      "commit": "f888020c6e2735624f2b2a30e72aca24e17b8b4d",
      "tree": "76d92b7a91a4bebd4e84d6afdc2ef4a2e4943df8",
      "parents": [
        "d02641098b16df2fd4cd32b72a30eb6f3b64e12b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 14 07:58:25 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 17 10:05:07 2014 -0800"
      },
      "message": "Update calls to IInterface::asBinder()\n\nto use the new static version.\n\nChange-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a\n\nConflicts:\n\tmedia/libmedia/IAudioFlinger.cpp\n\tmedia/libmedia/IMediaPlayer.cpp\n\tmedia/libstagefright/CameraSource.cpp\n"
    },
    {
      "commit": "375c025bc668006f5e51a94665860d69a46433b0",
      "tree": "83c7a88e144f79c6dd5b24194c4170a875b717f3",
      "parents": [
        "5bed74771daa5f0f8907aeb529d2ab0f388140b2",
        "ac4d8b31d4c7785ccaed28977e05e158d554ce38"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 07 23:20:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 07 23:20:52 2014 +0000"
      },
      "message": "am ac4d8b31: am 6ade0417: Merge \"Remove dead code.\"\n\n* commit \u0027ac4d8b31d4c7785ccaed28977e05e158d554ce38\u0027:\n  Remove dead code.\n"
    },
    {
      "commit": "f4a4c1da7e9d5086374216a6a57334b09c208f31",
      "tree": "2360e057a72fdffc045bbcb3349acbdf4f316cab",
      "parents": [
        "ae38d425fdb3e3fea015c161d635d631172350c3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 07 13:55:27 2014 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 07 13:55:27 2014 -0700"
      },
      "message": "Remove dead code.\n\nBUG: 17364950\nChange-Id: I7c55fd918a8c0d1a3375807eaece9ae9176ffeea\n"
    },
    {
      "commit": "d061bcd3f4bd99a909933937a72d6db926e3496e",
      "tree": "3781940ff3de1b33396913a01c60fe8e256c06b7",
      "parents": [
        "677007ef5d1b6db2e57d0defa7afa28c19b693cb",
        "3a94ca562e6a57cf324a8b8165b596ad61f7a20d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Sep 26 19:53:07 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 26 19:53:07 2014 +0000"
      },
      "message": "am 3a94ca56: am fc36efee: Merge \"Fix comparison of String8 to char* literal\"\n\n* commit \u00273a94ca562e6a57cf324a8b8165b596ad61f7a20d\u0027:\n  Fix comparison of String8 to char* literal\n"
    },
    {
      "commit": "f129e84addb1b0ba1240f39430404dad717c21c2",
      "tree": "4e808b54b2013515a45031f46f3d368275d4a140",
      "parents": [
        "14fc930d5d2ef272b39342fa083f4097464fc9ea"
      ],
      "author": {
        "name": "Bernhard Rosenkraenzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Thu Sep 18 21:17:29 2014 +0200"
      },
      "committer": {
        "name": "Bernhard Rosenkraenzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Thu Sep 18 21:17:29 2014 +0200"
      },
      "message": "Fix comparison of String8 to char* literal\n\nClang (correctly) interprets\n\nif (\".\" \u003d\u003d sName)\n\nas\n\nif (\".\" \u003d\u003d (const char*)sName)\n\nand recognizes that comparing the pointers isn\u0027t what was meant.\n\nWith\n\nif (sName \u003d\u003d \".\")\n\nboth clang and gcc see and use String8::operator\u003d\u003d(const char *),\nensuring we get the wanted behavior.\n\nChange-Id: Ide240e13214a56f6899f72de3db75dac647e6d4b\nSigned-off-by: Bernhard Rosenkraenzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "7045f37119f70c24eeea0624bfc8e25a2f9629a5",
      "tree": "664a25827a5345d3a2f5c73a4e818fac4f693c01",
      "parents": [
        "1342065ac08f527769dde614c5e7c2980b56bf88",
        "bb5b41a39f7e93a8df444ae0a1c71495531d265e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jul 25 22:01:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 25 22:01:51 2014 +0000"
      },
      "message": "am bb5b41a3: am a018cd49: Merge \"Add SELinux MAC to DrmManagerService.\"\n\n* commit \u0027bb5b41a39f7e93a8df444ae0a1c71495531d265e\u0027:\n  Add SELinux MAC to DrmManagerService.\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": "31dcd338b3826928646d77f23f977ecdd52598a3",
      "tree": "62bcf15eb7d991d0c9351c1cf35eb8f5a3887763",
      "parents": [
        "47a2377ec07ad4ec06ecd25bfd45a37df91e68e6",
        "4299a7c2b049b07b3456a81a4c2b1030523c08ca"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jun 10 18:41:50 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 10 18:41:50 2014 +0000"
      },
      "message": "am 4299a7c2: am 940f8be3: Merge \"Implement a NoOp DrmManagerClientImpl when no DRM service exists\" into klp-modular-dev\n\n* commit \u00274299a7c2b049b07b3456a81a4c2b1030523c08ca\u0027:\n  Implement a NoOp DrmManagerClientImpl when no DRM service exists\n"
    },
    {
      "commit": "4299a7c2b049b07b3456a81a4c2b1030523c08ca",
      "tree": "d3540220be0376ea8166a6d60941fd9ef753dc99",
      "parents": [
        "cb3d3a365c91ed996c47dea6ff1490f2f13c1b52",
        "940f8be3619cecda66dad33f995904795df88c2d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jun 09 21:12:44 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 09 21:12:44 2014 +0000"
      },
      "message": "am 940f8be3: Merge \"Implement a NoOp DrmManagerClientImpl when no DRM service exists\" into klp-modular-dev\n\n* commit \u0027940f8be3619cecda66dad33f995904795df88c2d\u0027:\n  Implement a NoOp DrmManagerClientImpl when no DRM service exists\n"
    },
    {
      "commit": "927634a98167e24241b89d80a1ea4511c0bb9cd1",
      "tree": "3ea03fe6cbbde8d9659015719881e51164e428e6",
      "parents": [
        "e32106fd5175afdf939ae397aece9caf378a4912"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 04 15:14:03 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jun 06 13:44:55 2014 -0700"
      },
      "message": "Implement a NoOp DrmManagerClientImpl when no DRM service exists\n\nChange-Id: Ib06f429102a51c540c8132f3397130328279e03a\n"
    },
    {
      "commit": "1b24cf32e02a1372e57b3a2a432bc0adfe496e6d",
      "tree": "220f4583ae1081df62fa5c861eed3e9e90a24515",
      "parents": [
        "4845b69f70ff457be8d8908f6eb61e2af67e00d3",
        "e80631aa1992ca50af679cd6a018c0ffda7f9b17"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "message": "am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027e80631aa1992ca50af679cd6a018c0ffda7f9b17\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\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": "9be49c915852b592a881be3905658e4fc698749d",
      "tree": "043ffa8d835b63a41af470fdb51d580774b0008e",
      "parents": [
        "5f44635dc35814b98b4dc2b255355a93122fec59",
        "bb9e396d311ea38e958fb5b56efff7aea4eaed82"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 28 01:08:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 28 01:08:42 2014 +0000"
      },
      "message": "am bb9e396d: am 06f7d151: am 06da69d5: Merge \"frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH\"\n\n* commit \u0027bb9e396d311ea38e958fb5b56efff7aea4eaed82\u0027:\n  frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH\n"
    },
    {
      "commit": "7d6fc5ebc8718ebb5bf505d9bda83ab63741a545",
      "tree": "3dff65731f7dcb75e20974287e8008c7048ca86f",
      "parents": [
        "4ef1dc2d5b5f5df93b173b0b4c4719d4484e031d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 24 21:00:32 2014 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jan 27 12:39:29 2014 -0800"
      },
      "message": "frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH\n\nLOCAL_MODULE_PATH doesn\u0027t work for multiarch builds, replace it\nwith LOCAL_MODULE_RELATIVE_PATH.\n\nChange-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e\n"
    },
    {
      "commit": "817d4aa19e6a9c95ec20486e6d74dea5a38e7236",
      "tree": "e7d4814f283c3f27a9778e81bb4e222ee762c73d",
      "parents": [
        "1dfca7775f0b8352a0fd6cfed1e70075e5fa4e75"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Nov 08 14:37:33 2013 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Nov 08 14:37:33 2013 -0800"
      },
      "message": "Fixed file descriptor leak in FwdLockEngine::onGetOriginalMimeType.\n\nBug: 11534051\nChange-Id: I0ab56b0a96b30f721bcac1d1ccc6ca85c3271ef5\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": "558d60e4e2217e02b3e7adf7afaf51d1c6e08f91",
      "tree": "115bba1eb50a969fb98c1ece924ae7edb2d4df31",
      "parents": [
        "2d45dbd1910a7e51d383e8583017e6f26cd3498a"
      ],
      "author": {
        "name": "Henrik B Andersson",
        "email": "henrikb.andersson@sonymobile.com",
        "time": "Sun Jul 15 07:46:29 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 28 18:34:58 2013 -0800"
      },
      "message": "Remove unnecessary lib dependencies in the FL makefile\n\nChange-Id: Ia1e81a91b4b8dc1bf3558a4aa06e90a955c6fbe6\n"
    },
    {
      "commit": "2d45dbd1910a7e51d383e8583017e6f26cd3498a",
      "tree": "260d8bd329b3e2004f7fb995a4a21d32588252f8",
      "parents": [
        "0bf43848adb00922122b0a0eed2fa0318bde8317"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hung.nguyen@sonymobile.com",
        "time": "Tue Jun 05 13:19:53 2012 +0200"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jan 25 16:25:18 2013 -0800"
      },
      "message": "Fixed bugs where the content of buffer holding keys was cleared using a wrong size in forward lock\n\nModified by James Dong \u003cjdong@google.com\u003e\n\nChange-Id: Iaacfc79b2b26bdee7046d8555e3b4e0bc224c3c5\n"
    },
    {
      "commit": "0bf43848adb00922122b0a0eed2fa0318bde8317",
      "tree": "b8b0ca3491d76059f03e97f695949876b6e153bc",
      "parents": [
        "13f7fe763b9ad52fc27f21ed923c46b9555a321f"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hung.nguyen@sonymobile.com",
        "time": "Tue Jun 05 13:19:53 2012 +0200"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 24 15:42:42 2013 -0800"
      },
      "message": "Fixed memory leakage in the DRM framework\n\nChange-Id: Ib1276bec6cafb4e94f8f13b52e50e4987765eec4\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": "9352d1168c09903d4ea27b695ef683316c544ae5",
      "tree": "8a5d71edb9d565bf0e7d671abe08d059a933e35f",
      "parents": [
        "0d27c65ddb5c968baa6db0c26e80f5c451bc52bc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 08 17:19:18 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 08 17:20:28 2012 -0700"
      },
      "message": "Remove some unused forward lock code\n\nChange-Id: I94d01f6ad5b1676cc4d6a95807e166f3c25aa79c\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": "ed5b285520ae1ddad78b7c945d659a2c1f3140b8",
      "tree": "19f1bd4de2eace3c5297d649ce711285df777e21",
      "parents": [
        "4b75a9c8b93a90749bc5d22912ad0d96c12f4ecf"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Apr 09 12:55:18 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Apr 09 12:55:18 2012 -0700"
      },
      "message": "You don\u0027t need LOCAL_SHARED_LIBRARIES/LOCAL_STATIC_LIBRARIES to build a static library.\n\nChange-Id: Ia2c4b4fb3b78cbe0d2856cec073b2c7f9c28d3cb\n"
    },
    {
      "commit": "cec40f97a8c0b9a43a78ae98fc35fcc80d6f6c4f",
      "tree": "46d31c1f2e52e2d36a682ca978f3e3611a916b4e",
      "parents": [
        "559bf2836f5da25b75bfb229fec0d20d540ee426"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 28 15:01:36 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 28 15:08:34 2012 -0700"
      },
      "message": "Removed unnecessary include JNI from two drm Android.mk files\n\nChange-Id: I7b7a1acce4d6db748ff193270e73bc3582ba2380\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": "27e52c70cf02ee5f7f6b49df80674c5fbf8a7a2e",
      "tree": "ee478a3f921519b7a79b194b8142124697c7b474",
      "parents": [
        "75979dc147c4d2f832730da2e9b68d93ce892ba3",
        "ad6ec91c0bca37587e28bf72dfc38cde1b90544f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 14 10:43:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 10:43:22 2012 -0700"
      },
      "message": "Merge \"make sure that lower-case mime and file suffix is used to check against the supported ones\""
    },
    {
      "commit": "75979dc147c4d2f832730da2e9b68d93ce892ba3",
      "tree": "b26fb398fb90419a003547ec3a08157440acc48b",
      "parents": [
        "edc8a8e6054d67b22ec27d62f0abfdafafd66b76",
        "35250664455c9642cc14d3831b663880637a7d70"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 14 10:43:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 10:43:18 2012 -0700"
      },
      "message": "Merge \"Fixed a buffer overflow bug in DrmPassthruPlugin\""
    },
    {
      "commit": "35250664455c9642cc14d3831b663880637a7d70",
      "tree": "5235afea54b20fde679fe3f4b1ac8c7442a4376f",
      "parents": [
        "aa4397f07c43bd83bc3100b749401dc3d15e7622"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 19:20:55 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 19:23:23 2012 -0700"
      },
      "message": "Fixed a buffer overflow bug in DrmPassthruPlugin\n\nChange-Id: I8df2a90409c9266a094a1a0904a5ff76ec483d16\n"
    },
    {
      "commit": "0a38af09ebbacdc9aa0d5ecb24e2f0484bf4f191",
      "tree": "bb23c2fbbdd3ed276b0eba5237bfc0762b3a2b16",
      "parents": [
        "aa4397f07c43bd83bc3100b749401dc3d15e7622"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 18:54:16 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 18:54:16 2012 -0700"
      },
      "message": "Turned off log spamming from DrmPassthruPlugin\n\nChange-Id: I2cecdba49cf044d2aafd8aa404d27df311cad401\n"
    },
    {
      "commit": "ad6ec91c0bca37587e28bf72dfc38cde1b90544f",
      "tree": "3bfd1f4840a7230a517284c3c1a35405877545b7",
      "parents": [
        "aa4397f07c43bd83bc3100b749401dc3d15e7622"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 12 23:20:29 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 14:54:02 2012 -0700"
      },
      "message": "make sure that lower-case mime and file suffix is used to check against the supported ones\n\nChange-Id: I6a20832f6a2dfb8554dbddef0dee87cc21c05c80\n"
    },
    {
      "commit": "f67fdc6d8bb31226ffeeecbff6aca610befd0110",
      "tree": "d9040fa17452df1d10c51ea18f9bff5e8f8843b8",
      "parents": [
        "d64f3a376536a993fe6d81730b8b7b738500435e",
        "bd2f13ddbe7a9e7550205f6b53880329e09b9457"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 12 10:33:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 12 10:33:38 2012 -0700"
      },
      "message": "Merge \"Avoid checking supported mime types or file suffixes in multiple places\""
    },
    {
      "commit": "bd2f13ddbe7a9e7550205f6b53880329e09b9457",
      "tree": "0319c10c1db0fbc2ae32b3ae6a202324e228ad07",
      "parents": [
        "083c154162c88a9f63aeaa10a4b52dd454bda9ff"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 09 17:33:42 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 09 17:44:11 2012 -0800"
      },
      "message": "Avoid checking supported mime types or file suffixes in multiple places\n\nChange-Id: I47d24070c7bda385cd1d7fa1f6a75dbb1f82b476\n"
    },
    {
      "commit": "9c78e8681dafcdf265bc733875bad436ef9ec220",
      "tree": "4101804d01eda87a39da4a40fe138f4e3adabdd3",
      "parents": [
        "083c154162c88a9f63aeaa10a4b52dd454bda9ff"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 09 13:05:17 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 09 13:21:31 2012 -0800"
      },
      "message": "Added an failure log message when the fwdlock engine fails to open a given file.\n\nChange-Id: I0e7f60b61f03fde046fc1ad668b28cdee635898b\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": "29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47",
      "tree": "3bdafe4b02fe36f6ee29c3170f0b0d2799bebf86",
      "parents": [
        "d709ca9c6a0fa1c8f40cbe624a119398643c5087"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "5ff1dd576bb93c45b44088a51544a18fc43ebf58",
      "tree": "c002dcda87f08329197b01395539bd25f10ca737",
      "parents": [
        "8a08dcc0a5de19a904e77d5f31bed3dff9a59890"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 10:07:54 2012 +0000"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/157065\n\nBug: 5449033\nChange-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69\n"
    },
    {
      "commit": "b8a805261bf0282e992d3608035e47d05a898710",
      "tree": "7a43908b8e936ac1f30eef0542b40d667c47aa23",
      "parents": [
        "94023fa6744e24f26f0aba1699ec278649bd66df"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Jan 03 22:38:27 2012 +0000"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156016\n\nBug: 5449033\nChange-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298\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": "cfff1f2b0bac432fac49f0b21e09e08f0e913622",
      "tree": "dbcae16e000420b1a7bf15e48d6c088c1c0bab24",
      "parents": [
        "6801b4dbd00b485ecdcd31b517ed885a8fa21c63",
        "e3c56d16412882e2dac697fbe6fa9852ee4dee31"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 15:13:14 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 15:13:14 2011 -0700"
      },
      "message": "resolved conflicts for merge of 845fdba7 to master\n\nChange-Id: I716b6ceb03bd733f9e7f49008112c8f2c53ad9ce\n"
    },
    {
      "commit": "e3c56d16412882e2dac697fbe6fa9852ee4dee31",
      "tree": "59ecf59e6635c9820f9ce60b553034406251d644",
      "parents": [
        "1de2393648b9fe43977ef88b72489fec05d629a9",
        "90855078eb989944bca1824058d7231cd68e5021"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 14:47:43 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 04 14:47:43 2011 -0700"
      },
      "message": "am 8a6fb50d: am 4e197ea8: am e15a73ee: Merge \"Bug fixes in OMA DRM v1 Forward Lock Agent\"\n\n* commit \u00278a6fb50d69ec40a413b117bc9145a97ec427852f\u0027:\n  Bug fixes in OMA DRM v1 Forward Lock Agent\n"
    },
    {
      "commit": "90855078eb989944bca1824058d7231cd68e5021",
      "tree": "37223af2787c451afadf1a9e392ade89450d2f9a",
      "parents": [
        "93a1e245c94f14b6fb68361f76e46285431dab26"
      ],
      "author": {
        "name": "Henrik B Andersson",
        "email": "henrikb.andersson@sonyericsson.com",
        "time": "Mon Feb 21 14:22:08 2011 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonyericsson.com",
        "time": "Thu Aug 04 13:43:02 2011 +0200"
      },
      "message": "Bug fixes in OMA DRM v1 Forward Lock Agent\n\nA couple of fixes in the Forward Lock Agent.\nThe DRM Framework isn\u0027t thread safe so the Forward Lock Agent needs\nto protect the private structures.\nBase64-encoded content with LF-only instead of CRLF line breaks is now\naccepted.\nA fix for non-standard boundary characters.\nThe debug prints are also turned off as default.\n\nChange-Id: I8ab417231380fbe1c371d18a147773ceabc6f69f\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": "ab00df4d8585b181e9058eb1b9c7996aa3bbaeab",
      "tree": "5e60b07a24b05d9c667df5946facb3b20b7c9454",
      "parents": [
        "6ef9a104959c1d15232fe3a319e4a270eed3ddb5"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jun 22 14:55:16 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jun 22 16:36:24 2011 -0700"
      },
      "message": "- Add two sanity checks.\n- Remove one unnecessary line.\n- Clear the extendedData vector in DecryptHandle.\n\nChange-Id: I2610c6d68f12d48cb69323a5eb2ae4b3b3e44dff\n"
    },
    {
      "commit": "185a19319e61ccd5e8806b7d00a20192dbcaf1f8",
      "tree": "1980e1ce6a6cf8d98ddee830a20f312655b997ba",
      "parents": [
        "fb6c6167c81c6ade0956d05924eebdeeec65d973",
        "409e5a07f044239aac2059c9ba3b3f6f48eeaba1"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 21 13:19:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 21 13:19:36 2011 -0700"
      },
      "message": "Merge \"Fix a memory leak in the Forward Lock plugin. For bug 4770217.\""
    },
    {
      "commit": "409e5a07f044239aac2059c9ba3b3f6f48eeaba1",
      "tree": "15cee992c66e03cc53d88ef507c95a23c5107d70",
      "parents": [
        "50b0f02dea21f31ec1fbe45b86893aa9233483b8"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 21 11:07:59 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 21 11:07:59 2011 -0700"
      },
      "message": "Fix a memory leak in the Forward Lock plugin.\nFor bug 4770217.\n\nChange-Id: I14f4d4ead524c661e68a20738e7a50e4d8fd92ea\n"
    },
    {
      "commit": "daeba2d6b9df5252afacec835a23340e5d9910ec",
      "tree": "f9444c2e3cbffed3691c5e4159b0b0ce2920bf8c",
      "parents": [
        "01bded1246cd770b54b8011527f5c29e1b5663e3",
        "c10ce33302f91896fc2a87c13b00518a4bc26e3a"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jun 16 10:23:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 16 10:23:04 2011 -0700"
      },
      "message": "Merge \"-Fix some typo -Remove one unnecessary memory allocation\""
    },
    {
      "commit": "c10ce33302f91896fc2a87c13b00518a4bc26e3a",
      "tree": "6a83d35dc96348371134130cc25f08867a2adace",
      "parents": [
        "6771263604cf8e464b5cd1278823b0898af3a2a9"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jun 15 10:27:52 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jun 15 17:32:06 2011 -0700"
      },
      "message": "-Fix some typo\n-Remove one unnecessary memory allocation\n\nChange-Id: Icea21f33d2c7891333e06429d2f382389e5bd27f\n"
    },
    {
      "commit": "b432603d711cd504d0de62f7fbb095b90c9a4283",
      "tree": "1940dd0c20ee6d0424a2f5d890e151d9573ae2fd",
      "parents": [
        "6771263604cf8e464b5cd1278823b0898af3a2a9"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 14 14:44:15 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 14 14:50:10 2011 -0700"
      },
      "message": "To remove log spam in the Forward Lock DRM plugin.\nFix for bug 4619159.\n\nChange-Id: Id4984aade4cceb59a1fdf904949f62535decd2a4\n"
    },
    {
      "commit": "50872c0b6563b75bb02e0de2fd578b40db8227db",
      "tree": "265629254ff8dccd23348ba2c9ef18cbcf68b243",
      "parents": [
        "afcedc9e6f17d8213d9bd8f6c36643dcc816d0ef"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jun 13 16:29:38 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jun 13 16:29:38 2011 -0700"
      },
      "message": "Duplicated fileDesc is not closed when input file is not forward-lock content.\nFix for bug 4606053.\n\nChange-Id: I1b45457d8cdc75d268631911f46ce6ec931b1770\n"
    },
    {
      "commit": "277360f06bdfefe821d4ddde8876f8e2507887c3",
      "tree": "5c9eeb0a89d523d8c7f729541e2de382f7d38646",
      "parents": [
        "199b6924d11a48ca8383392e18ac0f2e58523f01",
        "504c5e3fa3d4378773bd76b045d7a2e1e834fe59"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 25 10:11:49 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 25 10:11:49 2011 -0700"
      },
      "message": "am ed7b688c: am aac43ea1: am b8b85ea2: Merge \"Fix for bug 4126624. Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.\" into honeycomb-mr1\n\n* commit \u0027ed7b688c015dbd064b81dfaed5dd6c7ed6728ac3\u0027:\n  Fix for bug 4126624. Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.\n"
    },
    {
      "commit": "25cd5788a70f45c807ad22aa0ecdc7e1d4d5fd67",
      "tree": "49a2fb6a70bf380524ad78133c59a1bbe43e1422",
      "parents": [
        "07d0220bcc9036bcbe36819912559267d9c1c538"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 24 13:14:02 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 24 13:14:02 2011 -0700"
      },
      "message": "Fix for bug 4126624.\nChange the mDrmManagerClientImpl to sp to avoid double delete the pointer.\n\nChange-Id: I7aacea1bc58ab6425ef6f6f09472c6f2970ebb4d\n"
    },
    {
      "commit": "07d0220bcc9036bcbe36819912559267d9c1c538",
      "tree": "b321b94e19eeca3423f8cf5e110e4206b70f483a",
      "parents": [
        "eabd34665adc284525fe7337ad5c56a8b92964ef"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 23 22:35:13 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 24 10:30:57 2011 -0700"
      },
      "message": "Fix for bug 4165823.\nAdd death listener to clean-up drmserver appropriately when drmserver died.\nCherry-pick from master. Do not merge.\n\nChange-Id: I7782cc96ce173a87ebfd315950f3880fa90294d6\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": "9691a73139bb36c5bf294ed13eedcb04d7f05320",
      "tree": "ba00ccb1b57782b8d542f373edc326417954822e",
      "parents": [
        "35812d2cc295e95e9383b64c07f5f8919d7a6885"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Mar 14 14:02:13 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Mar 14 14:25:59 2011 -0700"
      },
      "message": "frameworks/base: remove LOCAL_PRELINK_MODULE\n\nChange-Id: I54dd62ebef47e7690afa5a858f3cad941b135481\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "1825ce2475d4cbed336ddb779ab5acb09d9a155c",
      "tree": "229089e703ee58a77790038ac5de28a3e0581296",
      "parents": [
        "8b9a9067511efca72ca872d689e30315c1450f94",
        "6cfa41f06fc6a85ebaf5b94c4602128359587473"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 11:56:39 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 11:56:39 2011 -0700"
      },
      "message": "resolved conflicts for merge of c761a80d to master\n\nChange-Id: I0c0474b95d66c23310d04b7a7f4c9571a211582c\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": "b5ce361d19e69fe156f7188c9ee0f4734b259874",
      "tree": "1536e63d3394cbbd5c2e8bc5cde6affb2b173850",
      "parents": [
        "609ce04d29780c430ff7e17511fc073a664c02d5"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Feb 24 16:40:57 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 10 16:20:48 2011 -0800"
      },
      "message": "Fix for bug 3477330\nThis patch fixs a crash bug caused by using a NULL DecryptHandle pointer.\nFix by using sp\u003cDecryptHandle\u003e instead.\n\nChange-Id: Icbd59858385e8256125a615a3c82656b25319d44\n"
    },
    {
      "commit": "1de41a66e3e7b548ee44e6654580e5f6f7265b11",
      "tree": "83cd99f5e978752330b7a29a66eea8c35d9f436d",
      "parents": [
        "d4366e89e46317673a97516ee2d25768038dc444"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Feb 18 22:42:26 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Feb 18 22:42:26 2011 -0800"
      },
      "message": "Move all Widevine code which have dependency on vendor modules to vendor/widevine\n\nChange-Id: If75bce539bae02117fb4f628be64e3a7363375e9\n"
    },
    {
      "commit": "d4366e89e46317673a97516ee2d25768038dc444",
      "tree": "d166ef7e7cfaf4bfbb215c9fb8b2c21b36c2ddb0",
      "parents": [
        "0e10ea4e9773fc9c6c391b5b391a95e29edf29e4"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 15 10:34:26 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Feb 18 16:10:53 2011 -0800"
      },
      "message": "- Update from Widevine\n- Bug fixes\n\nChange-Id: I494cfe145e7aad36f3d8c68841cab847487dd85b\n"
    },
    {
      "commit": "44482001e106cfb7389110f869ddae381f8a2da7",
      "tree": "a7a5ddedfc4501ccadf974f49d97d9b5496f95e6",
      "parents": [
        "2324edf081300b0a588d498667806452e13f21ea"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 21 09:06:19 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 21 09:06:19 2011 -0800"
      },
      "message": "Bug 3361124 Remove drmioserver, continued\n\nChange-Id: I525b7a3ac1a79d3aaa1d3c7853df1c903b38b7c0\n"
    },
    {
      "commit": "0a32d7981b98fdfca48a1e35ca746f1cc11849d3",
      "tree": "5db5c4e1d151dfdbbfa746b552ff1f0b74ae8ce9",
      "parents": [
        "bdda424ecfd2825c15b2360770da8c950c715c47"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jan 18 15:23:51 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jan 18 15:23:51 2011 -0800"
      },
      "message": "rename /system/lib/drm/plugins/native/ to /system/lib/drm-plugin/\n\nChange-Id: I043489cb81e53ed7cd5abd9769004da5ecd4d91d\n"
    },
    {
      "commit": "6508ec903e7b6596a3b8167e3b18d0b966ea1b8f",
      "tree": "bd1100e370bfc582f36ff046b47a9371ad8cbab7",
      "parents": [
        "641f3f4778ed52c4225ced1eb3ee59cb3ee72a67",
        "3ed11317ce695a413d337c60fde222f30306f092"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jan 13 12:38:29 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 13 12:38:29 2011 -0800"
      },
      "message": "am 1dac4cdd: am a220a297: Merge \"Initial OMA DRM forward lock contribution\"\n\n* commit \u00271dac4cdd6faba15426a0b37a7a615c04f5a35394\u0027:\n  Initial OMA DRM forward lock contribution\n"
    },
    {
      "commit": "13e05b3f569965d97ec7d7f65e4cd46c6a22c23d",
      "tree": "27dbcb7a1f26d44723dbb123ce4c36e6cfc1b177",
      "parents": [
        "c2322f7ac756e78de9491c17dc3c0dd14456c599",
        "fdd65a0fc7df2c878cc601e4c0f4021cb264f051"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jan 13 10:51:13 2011 -0800"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Jan 13 10:51:13 2011 -0800"
      },
      "message": "Merge \"Initial OMA DRM forward lock contribution\""
    },
    {
      "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": "fdd65a0fc7df2c878cc601e4c0f4021cb264f051",
      "tree": "a8c288da5c4cf8ef658df6b81406dedf916a56ce",
      "parents": [
        "7f7371ad2df83fe6a085089446575d0bcd24d59a"
      ],
      "author": {
        "name": "Pravat Dalbehera",
        "email": "pravat.dalbehera@sonyericsson.com",
        "time": "Wed Jan 05 09:02:51 2011 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Wed Jan 05 09:02:51 2011 +0100"
      },
      "message": "Initial OMA DRM forward lock contribution\n\nOMA DRM forward lock agent is plugged into the\nOpen DRM framework. Forward lock agent implementation contains:\n- Forward lock engine to communicate with framework\n- Converter to encrypt the original file into a special format\n- Decoder to feed the decrypted data for rendering\n- Lightweight unique key-encryption mechanism\n- Documentation\n\nChange-Id: Id828ebc30b8147b58b14960a73571648bc01ae94\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": "e558276ea14c1a165aa3b319885e9512b8322613",
      "tree": "4c59ace94c6258f52d418d68a8791201e4fb07ec",
      "parents": [
        "32cb1ba657a1094bb815f4d39f3e4bf12ce8437e"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Nov 24 15:39:20 2010 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Nov 24 15:39:20 2010 -0800"
      },
      "message": "Remove empty Widevine make files\n\nChange-Id: I0e58070231d00a13da4c46e7c8c4b824c5c12263\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"
    }
  ],
  "next": "b251f75d5ca3fa19cfe8a284717e00dec31f18ea"
}
