)]}'
{
  "log": [
    {
      "commit": "fd86bde72d5851abf3f70de1a2fcdba31fd8da29",
      "tree": "cf251f9fa794a2b486021970969cce4bdc26b70b",
      "parents": [
        "6292c1525f8e76fdda4615a42ab429f6735597d3",
        "25f5ece09fc045850785f09ddd9193e45b52c9d3"
      ],
      "author": {
        "name": "Quddus Chong",
        "email": "quddusc@google.com",
        "time": "Wed Jun 07 17:45:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 07 17:45:01 2017 +0000"
      },
      "message": "docs: Fix groupname for Media API ref docs. Test: Verified by manually generating docs.\nam: 25f5ece09f\n\nChange-Id: I6033886c55eb76e59be4a8de61f0cef1a9c1940a\n"
    },
    {
      "commit": "3f4c0df2e31681e94af7a0c1c9a25438d28f6d12",
      "tree": "3829c863fec77a396a3400ed8d9f9a3ba6376c37",
      "parents": [
        "17d7650d1c1a982a5a98c46ef0d87c136472563c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 16:19:06 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 15 17:51:40 2017 -0700"
      },
      "message": "Convert libmediandk to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m -j checkbuild\nChange-Id: I1d0aa1ba2da52a430d93b4c64bebf900f5af3a78\n"
    },
    {
      "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": "e31bc87213619054f18fcc8462641767e82a7eaf",
      "tree": "f8cbb1e538a2b9a55ee7241ec45cb7d305d1db5d",
      "parents": [
        "64f9ce291f2a8e8b89ba1682660299312148c1de"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Apr 21 17:13:18 2017 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon May 01 11:03:33 2017 -0700"
      },
      "message": "Minor updates AHardware accessor in AImageReader\n\n1/ Be more explicit about what usage/format combination is supported.\n2/ Get rid of usage1 following the same change in AHardwareBuffer.\n3/ No more gralloc1 usage, so don\u0027t call android_convertGralloc1To0Usage\nanymore.\n\nBug: 35114769\nBug: 37097572\nTest: Ran AImageReaderCts\nChange-Id: Ic712d0ac5bd86b2c4c68815125ba9037212dfd65\n"
    },
    {
      "commit": "549a2ebbbddcd33c0510333430181a5edcc6beea",
      "tree": "ed17eb41b9be9267758dfca860663bcf520f0a82",
      "parents": [
        "9ba03c881f92f1bd62b28f1c38dc7579382ebdbc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 24 14:49:13 2017 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 27 21:47:36 2017 +0000"
      },
      "message": "Plumb gralloc producer/consumer bits correctly\n\nBug: 33350696\nTest: compile, boot device, cts\nChange-Id: Ie05bcac25557a7c570ccadc850adb7c9697e144d\n"
    },
    {
      "commit": "2c88559250dc3cf88c9809ef3f7211c668c5f0ba",
      "tree": "65fea069118a373eafa87a2487d2f8b0207792af",
      "parents": [
        "0ba7cd85016caac178ee8e52f067ca9c42511dc3"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 07 15:48:32 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 10 12:54:39 2017 -0700"
      },
      "message": "Remove .(ll)ndk suffix from (ll)ndk_library\n\nSoong handles these automatically now.\n\nBug: 33241851\nTest: Android-aosp_arm.mk is the same before/after\nTest: build.ninja is the same before/after\nTest: build-aosp_arm.ninja is the same before/after\nChange-Id: I792e4647b38988db5d9f591d69688479ce9dc62b\n"
    },
    {
      "commit": "755ca9b427035040f3e1722b5f0db3720a08bbfa",
      "tree": "bbba4d3142fb54b188b7e125a332846cc92cb7df",
      "parents": [
        "58a220fe06957cf7f0325cc9509947f1602e2986"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Mar 31 16:59:50 2017 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Apr 03 13:05:28 2017 -0700"
      },
      "message": "Use gralloc0 usage to init BufferItemConsumer\n\nBufferItemConsumer is expecting gralloc0 usage, use\nandroid_convertGralloc1To0Usage.\n\nAlso one minor log change: during acquireImageLocked, turn off the\nwarning when accquired buffer has different dimension than originally\nconfigured on ImageReader. It is actually a legal operation for\nIGraphicBufferProducer to change buffers dimension dynamically.\n\nBug: 35114769\nTest: AImageReaderCts now passes with CPU_READ_OFTEN case.\nChange-Id: I32015148437be56242a46c8e20ca33497e182ac2\n"
    },
    {
      "commit": "58c2a1c7cfcb05ee515583bd6e62473122e7d526",
      "tree": "9ca71654562ca3cff07133f7c5ee2fda537a6220",
      "parents": [
        "dbbd4884c14bcc83ece858629e7271cf181d027a",
        "af42d3f9c5fa1847b661a76bd888b480aedfe5a7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 23 22:56:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 23 22:56:28 2017 +0000"
      },
      "message": "Merge \"NdkMediaCodec: add AMediaCodec_signalEndOfInputStream\""
    },
    {
      "commit": "dbbd4884c14bcc83ece858629e7271cf181d027a",
      "tree": "ebff5acfd215bac7ab250844444a5dde05bfc5bb",
      "parents": [
        "4d7aacd7e12f084aed2bc8cfe28daa0dc915a08b",
        "b6026e0b0a85c9eb4c67404e89219b27c4b01287"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 23 22:56:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 23 22:56:28 2017 +0000"
      },
      "message": "Merge \"NdkMediaCodec: expose surface APIs in manifest\""
    },
    {
      "commit": "af42d3f9c5fa1847b661a76bd888b480aedfe5a7",
      "tree": "97f37ea4a86c88f66acc66725cf025c1ddf0c6eb",
      "parents": [
        "58207fea63c6b758957a190f2adc95a71e17d7cd"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 20 16:45:37 2017 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 23 12:20:58 2017 -0700"
      },
      "message": "NdkMediaCodec: add AMediaCodec_signalEndOfInputStream\n\nBug: 32746065\nChange-Id: I20cdb02a93dfffdb2379db885f50738fb3a502d9\n"
    },
    {
      "commit": "b6026e0b0a85c9eb4c67404e89219b27c4b01287",
      "tree": "3ddc61014a487e9504baa9153fbee1bdc5ab627d",
      "parents": [
        "9470b9e3ebe6b5786cd37742f684c2772a1708d2"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 20 16:46:34 2017 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 23 11:28:10 2017 -0700"
      },
      "message": "NdkMediaCodec: expose surface APIs in manifest\n\nBug: 32746065\nChange-Id: Ie2c9ce33c839f38fffb1d96f92a773b1c3357249\n"
    },
    {
      "commit": "58207fea63c6b758957a190f2adc95a71e17d7cd",
      "tree": "5eab0707cdaa9e8bb76b751da5b88edcaac2c4bc",
      "parents": [
        "bd3ae0a48d5d76a882707b6308e232a401548b22",
        "f373e84c798b113d274a4d89edfea8afb899d3e2"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Mar 22 23:50:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 23:50:06 2017 +0000"
      },
      "message": "Merge changes from topic \u0027ims-o\u0027\n\n* changes:\n  NdkMediaCodec: implement setParameters to signal dynamic parameters\n  NdkMediaCodec: implement createPersistenInputSurface and setInputSurface\n  NdkMediaCodec: implement createInputSurface\n"
    },
    {
      "commit": "5ea3c11508eaf1fb1167099cfaed1752730c4e4a",
      "tree": "baecf909927356718b11975a576e268f829e6624",
      "parents": [
        "e168996c51cbbc78790c2b3282c9455a5c7b667c"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Mar 01 18:03:59 2017 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Mar 20 16:05:37 2017 -0700"
      },
      "message": "Register new NDK API\n\nBug: 35114769\nTest: Build and CTS (android.media.cts.NativeImageReaderTest)\nChange-Id: I8ecad0b30dd5621d41e9d337d63abed234dbbabe\n"
    },
    {
      "commit": "e168996c51cbbc78790c2b3282c9455a5c7b667c",
      "tree": "26d1799dfee6a0fc5b00402cc71af1c260a768d8",
      "parents": [
        "355d99044ff82d943792f52b83d9aa2b1c42fc8e"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Feb 20 16:59:05 2017 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Mar 20 16:05:37 2017 -0700"
      },
      "message": "Implementing new NdkImageReader APIs\n\nBug: 35114769\nTest: Build (should have no functional change from headers change), and\n      run CTS test CtsNativeImageReaderTestCases on a Pixel.\nChange-Id: Icb40196363d9f10a5d853c17f0bc378b6c27b3f6\n"
    },
    {
      "commit": "f373e84c798b113d274a4d89edfea8afb899d3e2",
      "tree": "9530382be10bb6d2e5ad70bcb1e0847b68259b56",
      "parents": [
        "85a536331e3a18a41361fe326187508a3e9972da"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Wed Feb 01 11:50:15 2017 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 16 16:36:33 2017 -0700"
      },
      "message": "NdkMediaCodec: implement setParameters to signal dynamic parameters\n\nAdd setParameters to communicate parameter changes when the codec\nis in running state.\n\nBug: 32746065\nChange-Id: I223041bebadedfb09848315a360b5efaae451c14\n"
    },
    {
      "commit": "85a536331e3a18a41361fe326187508a3e9972da",
      "tree": "b55d8f6ab04512c747ffa9ac81287feec2f7edc6",
      "parents": [
        "19431587cec960606a8756fa2767bc4bce987318"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Tue Jan 31 12:21:33 2017 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 16 16:36:32 2017 -0700"
      },
      "message": "NdkMediaCodec: implement createPersistenInputSurface and setInputSurface\n\nExpose createPersistentInputSurface() and setInputSurface via\nNDK-mediaCodec to enable native encoder apps to record from a\npersistent input surface.\n\nBug: 32746065\nChange-Id: Ia152f43dacfe376a89c550ecbeaf6d4016ec07b5\n"
    },
    {
      "commit": "19431587cec960606a8756fa2767bc4bce987318",
      "tree": "dd493f5d57b3692e71bf3c8dafd5cb233c4b8eb0",
      "parents": [
        "6fcb1488b835568dd1423ccd5f0b09483b8d9917"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Mon Jan 16 11:56:18 2017 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 16 16:35:36 2017 -0700"
      },
      "message": "NdkMediaCodec: implement createInputSurface\n\nExpose createInputSurface() via NDK-mediaCodec to enable native\nencoder apps to record from an input surface.\n\nBug: 32746065\nChange-Id: I654f2c0deadb336d492cdd6ba290e09c8996ce40\n"
    },
    {
      "commit": "6b109422d7deb5a70f7d1c8e56295965bfd69e81",
      "tree": "71baada132b2a668ca91eb26b2b99feab1aa5b3e",
      "parents": [
        "606e71cfb90e9646230d37a52b1b43c62c85292c"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Mar 15 15:15:39 2017 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Mar 15 15:15:39 2017 -0700"
      },
      "message": "ndk: AMediaMuxer_addTrack to translate error only for negative values\n\nBug: 36260305\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --test android.media.cts.NativeDecoderTest\nChange-Id: Ic2b6ec0b8d8a1a9a100eafd3175bdffd80ab4b8d\n"
    },
    {
      "commit": "2f1a4737c997d9589447a51974e3aaecafee2937",
      "tree": "606e0c4b811c8cf30b8ce83ea3a361a8ff402337",
      "parents": [
        "ddb459198eeaea80b04b2b345d719cc64c8c1b05"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Sat Feb 04 17:31:55 2017 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Mar 13 11:38:21 2017 -0700"
      },
      "message": "Refactor AImage/AImageReader\n\n1/ Use BufferItemConsumer instead of CpuConsumer for AImageReader.\n2/ Delay lock image in AImage until the first time getPlaneXXX functions\nget called.\n3/ Add libmedia_jni as dependency so that we can reuse existing code\nfrom android_media_Utils.h\n\nBug: 35114769\nTest: Ran the following CTS test case from CtsCameraTestCases:\n      NativeCameraDeviceTest, NativeCameraManagerTest,\n      NativeImageReaderTest, NativeStillCaptureTest\n\nChange-Id: Ia8dc451ea873e8290592deacc7f8d40360382f86\n"
    },
    {
      "commit": "80ab5ab91c9a31192bc42c4326173d38e42bcc24",
      "tree": "c7e522273d22a8219560f265ba962e3700be7083",
      "parents": [
        "e9d1100af6d56c46aa3a1121b2ae481a4436dade",
        "05d19b08f3affa6fa8407e779f67e7ad1c1ca84f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 04 00:52:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 04 00:52:45 2017 +0000"
      },
      "message": "Merge \"fallout of cleaning-up libutils includes\""
    },
    {
      "commit": "de2a544846419f61080b8f7db427261807390747",
      "tree": "ffd5715452cb582e4568f4e3fd6e79667e56e5b1",
      "parents": [
        "4ec4e6b1073b0dc1b608aeeaf4e3129ea1a725c8"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Feb 08 14:41:41 2017 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Mar 03 14:51:41 2017 -0800"
      },
      "message": "Add more AIMAGE_FORMAT for RGB formats\n\nAs we are adding AHardwareBuffer access through AImage and AImageReader,\nwe now need buffer formats used by GL/Vulkan.\n\nBug: 35114769\nTest: Built system and ran native camera cts\nChange-Id: I4157c933b411ab597799c933d18fc78ad3323eb5\n"
    },
    {
      "commit": "05d19b08f3affa6fa8407e779f67e7ad1c1ca84f",
      "tree": "d2c99a03302a60a9ab3db1a9f5cc90640686009a",
      "parents": [
        "4ec4e6b1073b0dc1b608aeeaf4e3129ea1a725c8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 28 16:28:19 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 03 12:37:45 2017 -0800"
      },
      "message": "fallout of cleaning-up libutils includes\n\nTest: run \u0026 compile\nBug: n/a\nChange-Id: I63585ed5a764b9ce7af2187b79ca0c83e683fd7f"
    },
    {
      "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": "20559df30cd7a1b0373d07f198a5845ce550f643",
      "tree": "c7018544f37b383bc3b1bde572c8b01acaf1abd9",
      "parents": [
        "0ab12ecf971252442baaf4426a21a83b32c683aa",
        "3c1d987a05dd3dcf3554a2e309418524282e9a3c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jan 06 20:58:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 06 20:58:17 2017 +0000"
      },
      "message": "Merge \"Unversion NDK stub libraries.\" am: 0b4540f867 am: 17eea8c807 am: 34df2b45c1\nam: 3c1d987a05\n\nChange-Id: I985aae1a055c6684e791815e8fef90ff0f5e4ca3\n"
    },
    {
      "commit": "3c1d987a05dd3dcf3554a2e309418524282e9a3c",
      "tree": "45cac905fb601712c9689f916614da769d0fa358",
      "parents": [
        "fd233285616f31ebe339a413f24c0aa9891afedf",
        "34df2b45c135014db19f75770227d5f8adf85550"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jan 06 20:54:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 06 20:54:15 2017 +0000"
      },
      "message": "Merge \"Unversion NDK stub libraries.\" am: 0b4540f867 am: 17eea8c807\nam: 34df2b45c1\n\nChange-Id: I86d832f16cff2445dc5c85e3f6c4419535b236ca\n"
    },
    {
      "commit": "1714f2e1da8720037b04456a44c16d30e37ad06a",
      "tree": "443b56e4278e68705154b9a1e9db6b7009d6e1b9",
      "parents": [
        "ea73e1aef0d38aaf5a212100233b23d09fd78122"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 05 16:00:15 2017 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 05 16:00:15 2017 -0800"
      },
      "message": "Unversion NDK stub libraries.\n\nThe system versions of these libraries aren\u0027t versioned yet.\n\nBug: https://github.com/android-ndk/ndk/issues/278\nTest: make ndk\nChange-Id: I139f34217c8855a366ecb537bfabf2ca0181e4d3\n"
    },
    {
      "commit": "8af5545d28f21ceeadd21113fe5b835c268ee49c",
      "tree": "20de26b5450bb267f22549b9912b51472919680b",
      "parents": [
        "ae9f2761b79b112f42c285a288b3ecb7f919b345",
        "04d24cb629a61025bf5d36c4f0dffdc17f220078"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Dec 14 18:34:59 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 14 18:34:59 2016 +0000"
      },
      "message": "Merge \"Fix warning: Called C++ object pointer is null\" am: 5d26ace4fe am: e27bc81ac5 am: cffbc7d055\nam: 04d24cb629\n\nChange-Id: Ib10de5ef338100e0eacba85278d69a9f2f5f27e7\n"
    },
    {
      "commit": "04d24cb629a61025bf5d36c4f0dffdc17f220078",
      "tree": "11016a7ac49759e082ae9056029fdeadd6189db3",
      "parents": [
        "df6a4623209260b0c5f63c45620a9f6834ae751e",
        "cffbc7d055bf70b233c042920aec9947f5d5cd24"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Dec 14 18:27:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 14 18:27:43 2016 +0000"
      },
      "message": "Merge \"Fix warning: Called C++ object pointer is null\" am: 5d26ace4fe am: e27bc81ac5\nam: cffbc7d055\n\nChange-Id: I080a44e509499dbe43048d67f489f3fd8ca0cdc1\n"
    },
    {
      "commit": "5d26ace4feff6a1b527b538a9c78d88b33814988",
      "tree": "bc42f77e3ab779c4a39e0f8c0813de4f56a9bbb4",
      "parents": [
        "16b37bb46933ab6bbd38912cdc91bc3039decd65",
        "c95c0befd9095249ec27591c4143b8e1a5f39bbd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 18:06:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 18:06:49 2016 +0000"
      },
      "message": "Merge \"Fix warning: Called C++ object pointer is null\""
    },
    {
      "commit": "c95c0befd9095249ec27591c4143b8e1a5f39bbd",
      "tree": "086e123c00cad7694a063b316c64051f15c43ea4",
      "parents": [
        "653748414b0fd6056bcc3bd5b3917da4d1883531"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Dec 06 20:54:10 2016 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Dec 06 20:54:27 2016 -0800"
      },
      "message": "Fix warning: Called C++ object pointer is null\n\nBug: None\nTest: The warning is gone.\nChange-Id: If33148cc1d8b0f3b26b39afdfc086d2abf18173d\n"
    },
    {
      "commit": "75571e4bc76bd2defd4309c7154120840396329d",
      "tree": "6011d30e202e4e6c03fdeffda65a9ad98ff2c131",
      "parents": [
        "300379ab01ec4c5f9f538284dbb1e49ad012de29"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 16:34:52 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 16:34:52 2016 -0800"
      },
      "message": "Clean up mediadrm dependencies\n\nMove various things around so mediadrmserver doesn\u0027t need\nlibstagefright and libmedia\n\nTest: build/boot\nChange-Id: I48b713cd679b992cb6ad1262c20394a9892d7027\n"
    },
    {
      "commit": "44690bc0ec24d2941b2defe8f2890390021c66b2",
      "tree": "23b03b9e10827b533baad899c31507d022197342",
      "parents": [
        "45b4f4fc29c3dcb052fb0afca1a59194c00688d3",
        "8cc90e4d0c9931a2191654d6616779af07f74181"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Nov 08 00:28:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 08 00:28:29 2016 +0000"
      },
      "message": "Fix findId spinning if session id is not found. *** DO NOT MERGE ***\nam: 8cc90e4d0c\n\nChange-Id: Ide2eaebf378d48874d6f88dc7ebd84b6e36678d1\n"
    },
    {
      "commit": "4f197ec220d2c9634429692dd37896233273111d",
      "tree": "9ee3410c97a0375f18e05a0728643cfe587f0edc",
      "parents": [
        "68f9d0dc3b25c69eecccc9487319dd3343f0790b",
        "46d0a5b493dc7ef8cfd068c1b12d1d47d03d7884"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 22:52:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 04 22:52:20 2016 +0000"
      },
      "message": "Merge \"Remove unneeded links with dynamic libraries\"\nam: 46d0a5b493\n\nChange-Id: Ica6dd538c30b9aeccddad229cb24ade4d82d2e4c\n"
    },
    {
      "commit": "263506542fbe480ddb247597bdcef16c437b48dd",
      "tree": "1ad06b1495a50534199f1aa5068b8519dd5d50c5",
      "parents": [
        "712690b37495816a3f55e2d000f1f68caf1c20a4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 14:17:07 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "8cc90e4d0c9931a2191654d6616779af07f74181",
      "tree": "761242e591b7ae565aec4e56cc5936878e95c24a",
      "parents": [
        "341d2236fa13275789e0d4ac65057f97bf95152b"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Nov 02 18:32:49 2016 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Thu Nov 03 13:30:23 2016 -0700"
      },
      "message": "Fix findId spinning if session id is not found. *** DO NOT MERGE ***\n\nThis fix is already in master.\n\nIf session id is not found, the iterator is not incremented\nsuch that 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-mr2-dev branch using a NativeClearKeySystemTest.\nAfter the test is run, the previous screen will be restored.\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: I2bbbd8a4e92a4c926eff538a67d9719c1b6ec7d0\n"
    },
    {
      "commit": "c661ae6165338fd5f0bca50a63058b4bcd6def4b",
      "tree": "1fabefad176045b256eb3282f391b9e1ae4ee654",
      "parents": [
        "bf2e61f54c7dcc37c97b4908c9ed6871cf3d2b49"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 26 15:42:11 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "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": "7e34bf5af26f8752d4786d3098740cdf51e2438f",
      "tree": "683b624805503653ebae9f105abde2a8ea86a8fe",
      "parents": [
        "616445eaa07885173767544d3c5a61ad652d1171"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Aug 23 00:09:18 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Sep 30 20:05:18 2016 +0900"
      },
      "message": "MediaCodec refactoring part 1-a: buffers become separate class\n\nMediaCodecBuffer is meant to replace ABuffer and MediaBuffer in\ncommunication between framework components. As the first step, replace\nuse of ABuffer in MediaCodec with MediaCodecBuffer, and adjust related\nclasses accordingly.\n\nMediaCodec.getBuffer() and related APIs now returns MediaCodecBuffers;\nthus change MediaCodec clients to use MediaCodecBuffer accordingly.\n\nTest: manually tested for key use cases (Camera, YouTube and Play Movies)\nChange-Id: Iba7ce131645e75ce5ddbf497fb793ab38b7f245b\n"
    },
    {
      "commit": "aeab585655852e18799f78f1a8da597f1e30bb3f",
      "tree": "14027e0a1807ad3811c1dafa363ff421aac52052",
      "parents": [
        "c5fae20b06e01e87e7c5e54a415dd76d1a35879b",
        "a578c4f37861fd26ff6a8b4836c1e7acbad60c75"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 27 21:15:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 27 21:15:17 2016 +0000"
      },
      "message": "Merge \"Migrate libmediandk to ndk_library.\" am: 84404f068f am: c84b665cb4 am: 2384bfcce8\nam: a578c4f378\n\nChange-Id: I474b7695c808456d3e43acf853f35494510019f8\n"
    },
    {
      "commit": "a578c4f37861fd26ff6a8b4836c1e7acbad60c75",
      "tree": "b2645c915b777224e187fc63523da387a17d15f7",
      "parents": [
        "6328aa9c0a20d5ff712a5c32b00f99f4d3d18d36",
        "2384bfcce80c4791f31ace3484b2ceea74644a99"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 27 21:05:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 27 21:05:04 2016 +0000"
      },
      "message": "Merge \"Migrate libmediandk to ndk_library.\" am: 84404f068f am: c84b665cb4\nam: 2384bfcce8\n\nChange-Id: I4c7013c6a5079708f03a3b1cc7edfd801945ccef\n"
    },
    {
      "commit": "2975a24dc42c8953125b39a5194da3aec244cbef",
      "tree": "6c41478b26de6f9fd0bcf4740fe61473adbcd6b3",
      "parents": [
        "7449b5e025eeb79b04d67c4595c0497b942fe785"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 23 16:17:45 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 23 16:20:20 2016 -0700"
      },
      "message": "Migrate libmediandk to ndk_library.\n\nTest: make native\nBug: http://b/30465923\nChange-Id: Id62eac2d5cc518465445d87ce204fa918f0ddb68\n"
    },
    {
      "commit": "3f38113e33160bfb079ae3f14624477677fb4119",
      "tree": "58820d6fccac1c8209bf29977a07d5b6bca1efee",
      "parents": [
        "0f9516b8e4b7d22815d31ae461268aaf9ac752fd",
        "1b795fcd993df12196e8cf0614e1e49fc88d691d"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Sep 17 01:43:42 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 17 01:43:42 2016 +0000"
      },
      "message": "NdkMediaExtractor: fix advance return value am: 70452261b0 am: fc619fff8b\nam: 1b795fcd99\n\nChange-Id: I2c6fcee47d60d8c69842607726e1ebccf93ae18b\n"
    },
    {
      "commit": "1b795fcd993df12196e8cf0614e1e49fc88d691d",
      "tree": "8cf02661e94bc9762efde13fa99f252250a4587a",
      "parents": [
        "2cd94964c87ca46427819664a618d722a30aee7d",
        "fc619fff8ba7553253d25ca444b084e95618b2f8"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Sep 17 01:41:11 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 17 01:41:11 2016 +0000"
      },
      "message": "NdkMediaExtractor: fix advance return value am: 70452261b0\nam: fc619fff8b\n\nChange-Id: Ib092bca12fe9ea1ccd039af91aafab3f41b3bf16\n"
    },
    {
      "commit": "70452261b0ed8e47676641ee5cc546dc5f8333ba",
      "tree": "72f75379a3098f802ab38e2718197e87da6fd31d",
      "parents": [
        "a1d7f8aab76a4560fa8127db3320c8394bf3da6f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Sep 16 16:43:49 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Sep 16 16:46:37 2016 -0700"
      },
      "message": "NdkMediaExtractor: fix advance return value\n\nBug: 31438605\nChange-Id: I7424d8fca01818d67a6968700912182a281a61dc\n"
    },
    {
      "commit": "634d3a4ec85970ea8232756c5e4c6d757ddcacd6",
      "tree": "574994ef060389e21a363c97b89af3a7137478d3",
      "parents": [
        "61e0f6ef751ee9e852bb22148a49182e224bf17f",
        "71f5bdbf2f2335c25d6545e58c141342ce62a6aa"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sat Sep 10 17:30:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 10 17:30:24 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in media.\" am: de9d105255 am: 4b2033ca3a am: d9a64f742a\nam: 71f5bdbf2f\n\nChange-Id: I5448dfee5493b286c8ecefacd7671ff30e796bdf\n"
    },
    {
      "commit": "71f5bdbf2f2335c25d6545e58c141342ce62a6aa",
      "tree": "c4ef2bded52d7161bff9483e502b9b29941b9692",
      "parents": [
        "84d49abd8ebd6a5d67d50e0faf2a55f347605bc6",
        "d9a64f742ab2c6a7d0f08b9af4f38ada174cdc83"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sat Sep 10 17:19:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 10 17:19:47 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in media.\" am: de9d105255 am: 4b2033ca3a\nam: d9a64f742a\n\nChange-Id: I432372272d6a7658340c63aecc1daec6e2855b4e\n"
    },
    {
      "commit": "bd01692e4e5f004db3f453947b8a66270aa59904",
      "tree": "13f39eb68e4e52f52a777fccd5359a149ef8e620",
      "parents": [
        "e6a4cf9c7ccba0a21a2b19c40b1a9bd5f8d81c7e",
        "de34b121178fa74e7690861bc0abeb9f7c70d66a"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Thu Sep 01 14:19:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 01 14:19:28 2016 +0000"
      },
      "message": "Fix AMediaExtractor_getSampleCryptoInfo returning iv as key. am: b2fb3c9787 am: 73fb549529\nam: de34b12117\n\nChange-Id: I0cc0ab7ebac2d56f084b1923c4e512b6ba528ff7\n"
    },
    {
      "commit": "de34b121178fa74e7690861bc0abeb9f7c70d66a",
      "tree": "61228b2ff6c6ca6fd8d25000a2f53362ba73db0c",
      "parents": [
        "6c185f5ddbcef3509cfd5a7a44d53ba1119c7c61",
        "73fb5495297f645709b7ddba9d8e32a5921f4a2d"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Thu Sep 01 14:16:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 01 14:16:41 2016 +0000"
      },
      "message": "Fix AMediaExtractor_getSampleCryptoInfo returning iv as key. am: b2fb3c9787\nam: 73fb549529\n\nChange-Id: Ia75e1b37a37ee8ad5f6e59f5a1a6323deb0bb713\n"
    },
    {
      "commit": "b2fb3c9787e4cc372e87b71eb55bfe008b2693cc",
      "tree": "403d796470e3b0d624010a2c80b7dfa23091c33e",
      "parents": [
        "790a227cecca77f00e954e9bf28e7015c8bf50ff"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Mon Aug 29 14:57:47 2016 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Mon Aug 29 22:55:47 2016 +0000"
      },
      "message": "Fix AMediaExtractor_getSampleCryptoInfo returning iv as key.\n\nThere is a typo such that iv is returned as the crypto key in\nthe AMediaCodecCryptoInfo object.\n\nkKeyCryptoKey should replace kKeyCryptoIV when searching for\nthe crypto key in the meta data.\n\nbug: 31158746\nChange-Id: I68c266b69fdb801b2b1182bbffe9a31cab7be6ce\n"
    },
    {
      "commit": "724e04107548bfdb67f4be5772c0f08a0bd65f3e",
      "tree": "e865d173e709e8c9e09bd838e3eba06b3a811e55",
      "parents": [
        "1567662f5a709398004cf509fb3f382f0c76f5b1"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:22:17 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:22:17 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in media.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I141b22bcb3caf386400b6b0403d1b231a8e7e6c4\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": "edab4257fa821c91c6e5a64cda78c9c38ea905c0",
      "tree": "856ba650f36f697025823f6a0140ab41e420e942",
      "parents": [
        "5691e5400a9cf7aee4c76ded5db7eed53bfb9c8d",
        "885dd7136a999d21219a4cc9034f20ef688c0625"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 13 14:18:00 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 13 14:18:00 2016 -0700"
      },
      "message": "Merge commit \u0027885dd7136a999d21219a4cc9034f20ef688c0625\u0027 into manual_merge_885dd71\n\nChange-Id: I871b103643cabab183bc24c1ce40930c7a083c79\n"
    },
    {
      "commit": "fcddb0b73931d207b21bd281a7df3ba2f230a607",
      "tree": "f9b35ea1d18407f17cd1fd10d9365867abbed823",
      "parents": [
        "f81362f6cd1bb22f988c30e6b552e6a2d95c4de7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 08 17:19:25 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 08 17:19:25 2016 -0700"
      },
      "message": "Enable strict warning checks and fix\n\nChange-Id: Id401a937911eb418e93314812f2f7c2b5ecff8d6\n"
    },
    {
      "commit": "aa9bc9c0bc27eab90b1b7f1d35d4273e990d6e62",
      "tree": "ae624a74211e079f0c2155d3ddf3cc42af7920a8",
      "parents": [
        "6691f9ace0f0bb11640b61de6703c4fa5eb275be",
        "40687b3ab422020d1fd1e7acf4042590d649c385"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jun 02 18:20:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 02 18:20:14 2016 +0000"
      },
      "message": "Merge \"CameraNDK: fill in more NDK API documents\" into nyc-dev am: b7444b1d60\nam: 40687b3ab4\n\n* commit \u002740687b3ab422020d1fd1e7acf4042590d649c385\u0027:\n  CameraNDK: fill in more NDK API documents\n\nChange-Id: I59ff1a94bb7a5e21140a675e89e84a65bf85238a\n"
    },
    {
      "commit": "165134a1dcdbdb0177d81b77bfdf08fe90cbbf2b",
      "tree": "64c83247bbd537aa0033b6eedbd874417c7d9ead",
      "parents": [
        "c5004b233c1f47593c1ef181c737e38885be9676",
        "b7444b1d60b72f17e9627b3fe0d0af1a980e4d97"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jun 02 18:17:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 02 18:17:21 2016 +0000"
      },
      "message": "Merge \"CameraNDK: fill in more NDK API documents\" into nyc-dev\nam: b7444b1d60\n\n* commit \u0027b7444b1d60b72f17e9627b3fe0d0af1a980e4d97\u0027:\n  CameraNDK: fill in more NDK API documents\n\nChange-Id: I84ed3651471a9bfa7357682ef164d5ca83dd6461\n"
    },
    {
      "commit": "1d0955cb5257a59f0ae435fefe26c05af4f4fbb6",
      "tree": "34ffa6db9070caeef1ef5a4161bc4f3647c1678d",
      "parents": [
        "77404e1a890060a9cb4da017b660e6554fdc9a6f"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 16 01:14:13 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 26 22:24:49 2016 -0700"
      },
      "message": "CameraNDK: fill in more NDK API documents\n\nThis change adds document for ACaptureRequest, ACameraMetadata,\nAImage and AImageReader.\n\nBug: 27102995\nChange-Id: I79d88f73258c01ebeabcd5b4e3b90996759cb021\n"
    },
    {
      "commit": "47734c9509ecb472c2844cae46e2d916b9358321",
      "tree": "6b17e7f1540458e2f1abbe1c082353f920edc3df",
      "parents": [
        "20be7bf5ba6f3d4db36686d5af4316006cf9bb27",
        "98a9b2a491360c762e2ed46a9126f576693645a5"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "message": "resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp\n\nChange-Id: Iae0a5cb698807d74ba28878d7ce1f69b6ba5219a\n"
    },
    {
      "commit": "090ef604f81447eab4aa0a5b45d6307482573560",
      "tree": "6eb6530aab79b1cdc543ef16650be519db449e37",
      "parents": [
        "cdf7931424583ff20a754999216041fb46287cb3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:39:54 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:55:42 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings.\n\nBug: 28341362\nChange-Id: I625fbab25f16282c2ea929cd16283d9d146fa17b\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": "4e1478032f28001dd944983a6da8f4bd59486c11",
      "tree": "5f9f8cf7e1cb2f0db03bf2f52b82d7d9d6679104",
      "parents": [
        "c526e1ef36f8f0520a059c6cf304e12e86170c26"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Mar 14 14:44:20 2016 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Apr 04 08:59:13 2016 -0700"
      },
      "message": "ndk: Avoid memory leak in failure case.\n\nBug:27760031, 27995615\nChange-Id: I8cf7243a49ff9200408de8a4d4e69514ec02981a\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": "c360382bf257d815b2a411152485d3c3b37a9f46",
      "tree": "c3e4607fd638aa585f3209d6bb7c122297347f2d",
      "parents": [
        "ead9146f844ee194a4f4244ba8ae1a3aece12b63"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 18 22:11:19 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 27 14:46:10 2016 -0800"
      },
      "message": "NDK: AImageReader implementation\n\nBug: 23012001\nChange-Id: I14341de141e6fc5817f397e849af35ccdb80d644\n"
    },
    {
      "commit": "8c35da50221e6d87e49c13ad2f058f265b3b29c4",
      "tree": "7455dc04b22f0f4939f0b4531074c7f9c5464c0b",
      "parents": [
        "f2e71d265424820caf64dd8e53c03c6a65f80373"
      ],
      "author": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Fri Jan 08 17:33:09 2016 -0800"
      },
      "committer": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Thu Jan 21 19:53:50 2016 +0000"
      },
      "message": "NdkMediaCodec: Implement setOutputSurface\n\nChange-Id: I9b493b4ff423685b67ee4292396b4388bb53a8da\n"
    },
    {
      "commit": "18cb1eca504817b5b144a023ae2792d90e74c9a5",
      "tree": "4b39e8a99696709fb6d1c8197328f073cb21f66a",
      "parents": [
        "1ab2f2d0a6208ec9b6bb7e8b130efa9b70737f98"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 18 11:55:22 2015 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Jan 11 17:01:07 2016 -0800"
      },
      "message": "Support AES-CBC sample encryption in MediaDrm\n\nbug:23719082\nChange-Id: I3028452f315122b65296881aed1fbf66c3ceeebc\n"
    },
    {
      "commit": "59e469e0b0d95bba2aee3bbda003b7042fd1cdd9",
      "tree": "414d01ca10e525ce1b1599f8700aa53d5a21d6d9",
      "parents": [
        "58cfee58b835de185b55808ebc475392f4e617f6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 11 11:19:27 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 11 11:19:27 2015 -0700"
      },
      "message": "Fix a few potential crashes\n\nChange-Id: Icb71cb07495406be756e195f2578b6e3aa8b1163\n"
    },
    {
      "commit": "f70127178b7bcc9da4260b8ef886fa6485893bc8",
      "tree": "b4a436f02520f13ba756d200295d976dde7dcfa2",
      "parents": [
        "147dc8f2acd5c3bbba2e2a9523f72c159b57a58f",
        "346bb516cc55944fbdf683a928b7e99fac2f7eb6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 14 20:43:16 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 14 20:43:19 2015 +0000"
      },
      "message": "Merge \"Check for overflows when parsing PSSH\""
    },
    {
      "commit": "6bb63addf65905dcc4d5f0461559142a716f6fbb",
      "tree": "4fcb0d55c982a04dd8555c35ad11464e30508fa3",
      "parents": [
        "48a31bf3f1c1ed5953a4e64f71cdf528f3a38ee5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 28 19:05:08 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 29 14:10:21 2015 -0700"
      },
      "message": "NdkMediaCodec: Return NULL if the MediaCodec cannot be created\n\nBug: 20566134\nChange-Id: Idb09bc47a02aed03e97aa81f303ed95ebaa2f5ba\n"
    },
    {
      "commit": "346bb516cc55944fbdf683a928b7e99fac2f7eb6",
      "tree": "a0ca2f40d5f26a079490bfee046532b2283e620f",
      "parents": [
        "7d669b3551c20109f5544455ca1555499693e1e1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 09 14:32:45 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 09 14:34:38 2015 -0700"
      },
      "message": "Check for overflows when parsing PSSH\n\nBug: 19661248\nChange-Id: I444f731f8b9bf18f9ad7ce5ac50c5b4837c2f779\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": "3f27436a9346f043f52265da1e6a74cde2bffd4d",
      "tree": "a7404d2ba96071bea1f02f93f6782214fc1e4cc1",
      "parents": [
        "0655386a0dc15fc31883d2e38917ff0e9db89ae7"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 14:35:41 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 10 10:36:09 2015 -0700"
      },
      "message": "stagefright: don\u0027t use ALooperRoster mutex for reply handling\n\nChange replyID-s from uint32_t to an object\nMove reply handling into the loopers (to reuse a common mutex)\n\nBug: 19607784\nChange-Id: Iaa035b846c424c5687ed17ce1079b325e86c54be\n"
    },
    {
      "commit": "1d15ab58bf8239069ef343de6cb21aabf3ef7d78",
      "tree": "d4b3266c9baf5e6dee214fc6562391101e198be7",
      "parents": [
        "5804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 04 16:46:34 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 17:49:50 2015 -0800"
      },
      "message": "media: switch to new AMessage handling\n\nBug: 19607784\nChange-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa\n"
    },
    {
      "commit": "b187de1ada34a9023c05d020a4592686ba761278",
      "tree": "31dea84d078f6198ce17ca856fcbb76c402f37b6",
      "parents": [
        "64cbdee08a18b25448a5fb0b058d3b83d5630d7f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 30 08:18:15 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 30 08:18:15 2014 -0800"
      },
      "message": "Line length 100\n\nChange-Id: I6c8fe626a3825fa9e139319656d682a57b887c97\n"
    },
    {
      "commit": "58344bc9165a9465a63acc874f3e71251a0d7f50",
      "tree": "ddd73ed0dcedaa3e54e6d773982cb6597139cc8d",
      "parents": [
        "168799c32ce3f9196ae7928986a7ba3770c74b14"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 23 11:36:38 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 23 11:43:39 2014 -0700"
      },
      "message": "64 bit fixes for NdkMediaExtractor\n\nBug: 18094443\nChange-Id: Iae049012966707f5c187c61ed68407f22c662b25\n"
    },
    {
      "commit": "98f28cde0d5d682956b5e6b119823e7e8d40415b",
      "tree": "ddb8e589a88578418662405c525d5d9a5621845f",
      "parents": [
        "a5750e0dad9e90f2195ce36f2c4457fa04b2b83e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 18 16:32:50 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jun 26 14:58:26 2014 +0000"
      },
      "message": "ndk: 64-bit compile warnings\n\nChange-Id: I214973a97547bf714e56e4596359cb2bd9cdea9c\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": "eb4860c305def68c5965474bb43c67c2c9d49bbb",
      "tree": "d2d6b8af92ab837bb52ca4f55ea1d08406f4c3c6",
      "parents": [
        "dd114d19f65d8a5cdfddbaf6d3ef8119c6169b28"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 29 08:04:34 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 29 08:04:34 2014 -0700"
      },
      "message": "getSampletime -\u003e getSampleTime\n\nChange-Id: I87aaa87be068d414903a0e1e22bfe4183cf45ab0\n"
    },
    {
      "commit": "e22a64b6887240fc9910d6fc8afb0e6f81507047",
      "tree": "473c1affe037144582472f23d9211e87e1774a35",
      "parents": [
        "7ac0039611ea7ea18f9545f96a8f5cb31dcdebe5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 23 15:49:49 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 23 15:49:49 2014 -0700"
      },
      "message": "Remove codec callback for now.\n\nChange-Id: I7ef3c1fc7aa1bfec958e6ea58bf95ae35a575e91\n"
    },
    {
      "commit": "0e03cf07deeda10c573657479591dcfbf1efca56",
      "tree": "e39fa0817932720d9cdf44cc1bba141ba9dfe0b7",
      "parents": [
        "43a28fb96ccb6800ceb0c6275075845f3ae5a7ed"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 21 07:53:04 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 21 07:53:04 2014 -0700"
      },
      "message": "Remove the last of the references.\n\nChange-Id: Id68cdab7e972e3e78e2065e56b8a095c3d496df2\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": "79e2b622702fb148ccff12d6f38643466555c4eb",
      "tree": "cdd30838c98f75104c5b90f9c9f189406e947c06",
      "parents": [
        "7c96d53a65085f42ac2b6d416cbc16fd36ed72ff"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 16 08:07:28 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon May 19 10:45:41 2014 -0700"
      },
      "message": "Add docs, releaseOutputBufferAtTime, seekTo.\n\nChange-Id: Iadd231b63e75b7937c13d2ebfef47aedeaeef5a1\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": "7edda7ac8b86f2493b7df945e9f63da947124288",
      "tree": "b46bdd0a6325134ecc7e206743508786062374fd",
      "parents": [
        "5afbb7468a0cd15ba13a16599a7143fa232a9c16",
        "829e097f832b4c4c41733f9b77121888204d993e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 14 22:08:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 14 22:08:43 2014 +0000"
      },
      "message": "Merge \"Fix typos and pointer math.\""
    },
    {
      "commit": "829e097f832b4c4c41733f9b77121888204d993e",
      "tree": "746b75df4c6c5601665990274dc614eb80df8a28",
      "parents": [
        "deb9081a61b446dbe50461082974a4228899f178"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 13 16:22:19 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 14 09:06:08 2014 -0700"
      },
      "message": "Fix typos and pointer math.\n\nChange-Id: I07f33a57454d013844b56bc3e57fe0a271e8b38c\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"
    },
    {
      "commit": "050eb3280d7305b84f723d515be2dc9606dc39d1",
      "tree": "110716a883abc7e41f3507f86973224dc4bc0adb",
      "parents": [
        "021cf9634ab09c0753a40b7c9ef4ba603be5c3da"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 09 15:10:23 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 13 15:03:04 2014 -0700"
      },
      "message": "Some crypto stuff, error codes\n\nAdd crypto/drm related functions, define some media errors\ninstead of using magic numbers in the code.\n\nChange-Id: I5924cba0bfcdb3623073c9182a646b70f4ead5a5\n"
    },
    {
      "commit": "cdb42cdc5ccb785edabe1ee6407134fbae5662a9",
      "tree": "3c3313e9c6b2ecda67fa486dd39bc5fb5285752b",
      "parents": [
        "86aa02ce274826dc80ffa00766b16172c47503fd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 08 14:46:05 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 09 08:25:40 2014 -0700"
      },
      "message": "Add AMediaCodec callback\n\nChange-Id: I33b7ff3bcdcff6d3a5e1db385b900ae18b7e0f03\n"
    },
    {
      "commit": "86aa02ce274826dc80ffa00766b16172c47503fd",
      "tree": "99aab102e4a44533c645b8a074759548e7f7fcf8",
      "parents": [
        "cdedf74e34117f9834055973880ee728f11d97cd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 07 16:03:54 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 08 09:36:08 2014 -0700"
      },
      "message": "Make AMediaCodec_create* APIs more like their Java counterparts\n\nand add configure flags.\n\nChange-Id: Ibfb7f8cad724fa1db2320966828104d40b5e6590\n"
    },
    {
      "commit": "34d497283c66b5ef0f8855c007eaa20d7ac8b96d",
      "tree": "5f3cc71c9454f4081dd82eb9d42f47261ae11bc1",
      "parents": [
        "08aaabe87960c04ecac180db1fe88b5a7bc2ed3b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 07 12:55:18 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 07 12:55:18 2014 -0700"
      },
      "message": "Expand AMediaFormat\n\nRemove getDouble and getSize methods, since these are not used and/or\nnot present in the corresponding Java MediaFormat API.\nAdd setBuffer/getBuffer, needed for making formats for encoding, and\nadd other setters.\n\nChange-Id: I528d51b4ed571d852b949637f7ae3a95d31da7c1\n"
    },
    {
      "commit": "08aaabe87960c04ecac180db1fe88b5a7bc2ed3b",
      "tree": "740a80ccc357b0a138445b2728c32ee9762db745",
      "parents": [
        "8e085cbeccb1138d52a0a423af02e6ab41b4fee4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 06 16:08:19 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 07 09:57:08 2014 -0700"
      },
      "message": "Add NDK version of MediaMuxer\n\nand add some constness here and there.\n\nChange-Id: Ib3caa8310691e8f27aaa1afcfaec0b384513d4f1\n"
    },
    {
      "commit": "7c9b141d551fde406f199f0dd21582f8551aea23",
      "tree": "a85ae2f96546c0a1f3b81532f4dda22a72d942a5",
      "parents": [
        "91d8ec1860e8186cd202f9415f6b41c20fbd54fb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 06 10:33:07 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 06 10:37:04 2014 -0700"
      },
      "message": "MediaFormat owns its strings\n\nHave MediaFormat own the strings it returns from toString and getString,\nreducing the chance of memory leaks.\n\nChange-Id: I0ddd593874c8b3af0b7714f2d8a106edf8121108\n"
    },
    {
      "commit": "83ae5be9a9928a7265e40d2906530e56eb3bc20c",
      "tree": "5c14ef439417f495c1b734c661bde9710bdc0a24",
      "parents": [
        "0c3be875376adaee8d8e8dd917c64926e1513b29"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon May 05 14:48:34 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon May 05 14:48:34 2014 -0700"
      },
      "message": "Don\u0027t build libmediandk for PDK\n\nChange-Id: I9b2e5f5c8cc0fad59d4a4268c8767f540d536d10\n"
    },
    {
      "commit": "0c3be875376adaee8d8e8dd917c64926e1513b29",
      "tree": "97643df739a33f80cf3dc106b013319549e829a5",
      "parents": [
        "fa366b2a32294ea22bf7b6f237cdbbd715cbbeb9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 01 10:14:44 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon May 05 10:48:54 2014 -0700"
      },
      "message": "WIP: MediaCodec and friends NDK APIs, plain C version\n\nChange-Id: I9ed6b9c5afb026a1b5fe8b652e75635bbcc223df\n"
    }
  ]
}
