)]}'
{
  "log": [
    {
      "commit": "7e8d4ba5887affda749978d787b898bf31fda729",
      "tree": "50f55dd31df7fe969fc901b791a2b8c3a694d856",
      "parents": [
        "ab37fbfcdc197429d59f6926ba970b3e68bbbadf"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 16:17:42 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 17:55:07 2017 -0700"
      },
      "message": "Move libmediandk and libcamera2ndk headers\n\nMove libmediandk and libcamera2ndk headers into their module\nand export them from there.  Also move them to the same path\nrelative to the export as used in the NDK, media/ for\nlibmediandk and camera/ for libcamera2ndk.\n\nTest: builds\nChange-Id: I0b424e0e48bfb5e2b762694a97d799de08f5dda3\n"
    },
    {
      "commit": "68b3d9f49e68a11af5225175dc9e60ce88819e84",
      "tree": "750d8fe493c2ec45542968192ecfe52d83133a02",
      "parents": [
        "9b088162cb9cdeb542f106a45d06a1f802e91e6e"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jan 06 19:07:54 2017 -0800"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Mon Jan 30 15:26:51 2017 -0800"
      },
      "message": "Pass application packagename to drm plugin.\n\nPass application package name to createPlugin and createDrmPlugin.\nThe application packagename will be used as part of a unique\nidentifier for drm plugin.\n\nTest: Play Movies.\n\nTest: ANDROID_BUILD_TOP\u003d ./android-gts/tools/gts-tradefed run gts -m\nGtsMediaTestCases --test\ncom.google.android.media.gts.WidevineH264PlaybackTests#testL1With480P60\n\nVerify the application\u0027s packagename is reachable in the drm plugin\u0027s\ndebug log.\n\nbug: 27101531\n\nChange-Id: I84fb09b591a7af63f6e20004e910112a4ce6ebac\n"
    },
    {
      "commit": "2103044be5c8fefbd97da410bbca47239fd3348d",
      "tree": "bdc90edb1f985308a27c4115aac76e2ee3478f55",
      "parents": [
        "5874853970818cc7fe039a4a8724da4ef8fc6d61"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Oct 18 12:34:05 2016 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Oct 18 13:30:25 2016 -0700"
      },
      "message": "Fix findId spinning if session id is not found.\n\nIf session id is not found, the iterator is not incremented\nso the end() condition is reached.\n\nThe Test:\nHow is this bug discovered:\nCalling AMediaDrm_closeSession() after AMediaDrm_provideKeyResponse()\nresults in spinning.\n\nThis cl is tested on nyc-mr1-dev branch using a NativeClearKeySystemTest\nthat is not yet checked in. This test will be ported to master soon.\nAfter testing in nyc-mr1-dev, the source in both branches is compared.\n\nTest: ANDROID_BUILD_TOP\u003d ./android-cts/tools/cts-tradefed run cts -m CtsMediaTestCases --test android.media.cts.NativeClearKeySystemTest#testClearKeyPlaybackCenc\n\nbug: 32235473\nChange-Id: I58c495d7499f70b7e85cab43911323b143a9d8fd\n"
    },
    {
      "commit": "b636524376b7620926fdb64751bfa9b28e362593",
      "tree": "9e2e0161d6cba8a0e2ceffdb3fd782ba4c6e4ad5",
      "parents": [
        "7c5593b35fa51fe78d4e7b6e12e60424c5da8a90"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Aug 11 11:01:37 2016 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Aug 11 11:01:37 2016 -0700"
      },
      "message": "DrmListener: Don\u0027t leak memory in error case.\n\nChange-Id: If4dc869e468f52997be732d03dc010f89551cd87\n"
    },
    {
      "commit": "3003807fcfa96c9cbfea18d643f47108aa116cd5",
      "tree": "a3f7b454cdf3973b6fd716ee44f4295e6c100bb5",
      "parents": [
        "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 25 13:41:35 2016 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 26 20:46:17 2016 -0700"
      },
      "message": "Remove MediaDrm stack from mediaserver\n\nPart of media security hardening\n\nMediaDrm was temporarily allowed to\nrun in either mediaserver or mediadrmserver\nwhile all nexus devices were implementing\nsupport for the native_handle representation\nof secure buffers.  Now that all nexus\ndevices support native_handle, the MediaDrm\nstack can be removed from mediaserver.\n\nb/22990512\n\nChange-Id: Ie5d83bfeb4c4a824e1d0edb4c9452c782d6fd386\n"
    },
    {
      "commit": "214c833fcde68833691cc54d2a4cd995d7eb0e16",
      "tree": "890ef2a323af056ab73727b827d46f1376ec89f6",
      "parents": [
        "eafe1f9734af31730790b0abaf8c6aae01bfee77"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 19 14:48:23 2016 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Mar 03 18:41:31 2016 +0000"
      },
      "message": "Fix compiler warnings in frameworks/av/media/ndk.\n\nBug: 26936282\nChange-Id: I86b32ef5a7e6b18974cbe4a885291acec2b2eb5f\n"
    },
    {
      "commit": "a69729dc76b97c44387088d351480d5d0701517e",
      "tree": "b08b8fc059f8a5fac2037b8ed7c0904cc3107416",
      "parents": [
        "9129c06770340395fe88d08e586b599b8e2a44f9"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 12 08:47:00 2016 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 12 21:03:53 2016 -0800"
      },
      "message": "Add mediadrm service\n\nPart of media security hardening\n\nThis is an intermediate step toward moving\nmediadrm to a new service separate from mediaserver.\nThis first step allows mediadrmservice to run based\non the system property media.mediadrmservice.enable\nso it can be selectively enabled on devices that\nsupport using native_handles for secure buffers.\n\nbug: 22990512\nChange-Id: I70320f0c4b7861cdba26fbc24c20bce54e5749a4\n"
    },
    {
      "commit": "d072c909d87f8150433860f6de4c11df6e09e2f9",
      "tree": "57ddf1e47d3ce322e10214991e01b509aeeb1155",
      "parents": [
        "eb0ee0e842d3b8294aa6c0b797eaf7aff3fd2f89"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Mar 16 13:39:29 2015 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Mar 16 15:39:03 2015 -0700"
      },
      "message": "Report key request message type for unprefixed EME\n\nbug: 19771299\nChange-Id: I02f0a4532b5ea8a7e680d71f45ac0da06879f3d6\n"
    },
    {
      "commit": "c7a11b2208aa8f1e6a39eb70a136fbc0dafd3260",
      "tree": "2dbc503f0b0b3a80a2186f94a85c4498600be82a",
      "parents": [
        "798ce934571bc7eb5715bf1c03cbe5436a1220e3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 30 10:13:25 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 30 10:13:25 2014 -0700"
      },
      "message": "Disable verbose logging\n\nChange-Id: If9c87615707ed67f209258f9207d56f671cd0f08\n"
    },
    {
      "commit": "18a1b5904b352cedef29b95169a1226140d38576",
      "tree": "dfe1ad0c7c743e3810dca41a2daadf56c712a40f",
      "parents": [
        "93c6fa7508cd0f5bb0ec80ea29ef8bfab4a6015f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 20 08:45:18 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 20 08:45:18 2014 -0700"
      },
      "message": "Use pointers instead of references because C\n\nChange-Id: I5c84469e5ff977bf8bb91be2cc6c38a0c7f08609\n"
    },
    {
      "commit": "7c96d53a65085f42ac2b6d416cbc16fd36ed72ff",
      "tree": "892a5dee6e6c62dd923aa817bafa6b3fe4a951cd",
      "parents": [
        "5362ba070797c52a18d3cb5558cd41d1a72c74c5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 15:26:14 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 15:26:14 2014 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I2b0a3049c81b99ba233d5945e16dcddd975aa4f9\n"
    },
    {
      "commit": "5362ba070797c52a18d3cb5558cd41d1a72c74c5",
      "tree": "fddfcdb07fcc5499c3b026fe4c42b217fef21c7a",
      "parents": [
        "16a25c150c49c730d206167012a24cbd9eb3a082",
        "e419d7cd5c62b4b5866a45d59c5770bb470193c1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 21:58:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 15 21:58:36 2014 +0000"
      },
      "message": "Merge \"Unify error/status codes\""
    },
    {
      "commit": "e419d7cd5c62b4b5866a45d59c5770bb470193c1",
      "tree": "eaabdbe6d72e7be1ceb0b1907784083db848c674",
      "parents": [
        "3425fd5a55dd31e261d2f2a9590c762d6d0a6b79"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 14:17:25 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 14:41:20 2014 -0700"
      },
      "message": "Unify error/status codes\n\nChange-Id: Ib90cc2f2adc07ff146256931c92c0ec4becb86f5\n"
    },
    {
      "commit": "3305b99ec3804c740aecd2ab6d1edd5c6137b7c6",
      "tree": "c0d2835a1f17306f2912447fdbf50d3ee191adcf",
      "parents": [
        "3425fd5a55dd31e261d2f2a9590c762d6d0a6b79"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed May 14 18:39:25 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu May 15 09:24:35 2014 -0700"
      },
      "message": "Hook up event handling in NDK MediaDrm API\n\nChange-Id: I48ac1d3ca5405c5909454c7a553917b31b9a50e5\n"
    },
    {
      "commit": "3425fd5a55dd31e261d2f2a9590c762d6d0a6b79",
      "tree": "efd531cb9f1ce0f44e41584f3f6e70d8ea566308",
      "parents": [
        "7edda7ac8b86f2493b7df945e9f63da947124288"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 14 11:12:46 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 14 15:18:40 2014 -0700"
      },
      "message": "Only export necessary symbols\n\nChange-Id: I869d7124c8cc555f4b09801a898f4dd3ecb072ec\n"
    },
    {
      "commit": "497ca097bf373ac69405131bd257915c97b31dc0",
      "tree": "46d9aa653abe08c6200e5a43005c5ca656849cae",
      "parents": [
        "cbe6fddebe3ec84176037de7f9681d2407fa1113"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue May 13 09:31:15 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue May 13 18:11:04 2014 -0700"
      },
      "message": "WIP: MediaDrm NDK APIs\n\nChange-Id: I3ac08a3b027135c3fd2a9e95c5e8b3fd722df019\nTODO: hooking up event handler, testing\n"
    }
  ]
}
