)]}'
{
  "log": [
    {
      "commit": "d39b9e3ec153f68b6ba81228b5aa29a9b72770b0",
      "tree": "7a968a93bbf5eb67a18a7ee9bbc86c7881a8c4e6",
      "parents": [
        "68f1d2842541f043ca318b01690a7cdb41b1df78"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 30 17:39:23 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Nov 15 15:52:52 2017 -0800"
      },
      "message": "Camera NDK: add user context set/get API\n\nAlso add ACaptureRequest_copy API.\n\nTest: new NDK CTS test\nBug: 64266031\nChange-Id: I77cee16621d92ff3a4cd0c929419a4972b2be040\n"
    },
    {
      "commit": "40ead60d7163c2d5577099d49f11da7afa6124d1",
      "tree": "94fad1bcef74661c8e12e9c79ecb37be344aff99",
      "parents": [
        "c8061784ac0c1c98e5961501634925c8a4f95e51"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Sep 26 15:46:36 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 08 13:54:14 2017 +0000"
      },
      "message": "Add support for dynamic shared output surfaces\n\nThe Camera API needs to support the dynamic attach/detach of extra\noutput surfaces to a given camera stream.\n\nBug: 63912484\nChange-Id: I18809aea31f78fb9e125bd18b58951ade4fad3c5\n"
    },
    {
      "commit": "a8ed92b08fd73cee9cf707c012d67ea4e8cf066d",
      "tree": "e2acd7d4f92da1a4f3bef945c9a130e12f74591c",
      "parents": [
        "33835a12a0db844814da4425330526d2dac6b21e",
        "3b318a6b73e305380dd6b364d199ebb00c7f6b30"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Nov 07 00:47:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 07 00:47:13 2017 +0000"
      },
      "message": "Merge \"Camera NDK: fix typedef name\" am: c4defa724e\nam: 3b318a6b73\n\nChange-Id: I79897683ad856069fc43e8fde4fed1070838127b\n"
    },
    {
      "commit": "c4defa724e89a62c16176fb9731670f29ea50358",
      "tree": "7252de45da4c387de62ae1ede14970cbfbf11056",
      "parents": [
        "a09c0d25eafa78c4330db3b24e495b56493f4500",
        "be9b8bc0b52bd149cc75f64f1c53a6e43af9faed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 07 00:32:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 07 00:32:03 2017 +0000"
      },
      "message": "Merge \"Camera NDK: fix typedef name\""
    },
    {
      "commit": "f614dd7578a52c71b76f092d5fa1aff335479b04",
      "tree": "e2e944c7d7a428af5a9e64f613fd0f8cb468867f",
      "parents": [
        "1caa256b05256b2e439f030b248a61ef9aef19c1",
        "752213573800986c12ec87df971594233d4b6aa2"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 30 21:55:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 30 21:55:54 2017 +0000"
      },
      "message": "Merge \"Camera NDK: fix deadlock issues\" am: c89e8b4e31\nam: 7522135738\n\nChange-Id: I8c9d5b36e97d0df2c30625a1857d6cc584336552\n"
    },
    {
      "commit": "be9b8bc0b52bd149cc75f64f1c53a6e43af9faed",
      "tree": "b9dd893d23a28849a2314b880696be87ce5f1266",
      "parents": [
        "6e2353b814ae81d7c69f38fbd65467c48f3000bf"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 30 14:48:37 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 30 14:48:37 2017 -0700"
      },
      "message": "Camera NDK: fix typedef name\n\nBug: https://github.com/android-ndk/ndk/issues/559\nChange-Id: I3e8c42c59fbc7bdd83a9eb3b6248823e17155837\n"
    },
    {
      "commit": "c89e8b4e314d223a90dcebd7debb4e04bdb19a76",
      "tree": "a77cda74c91a57827fd58e96683fa2a5be5da4ae",
      "parents": [
        "0b3801465552107244257a7fa5234b8f13aad55c",
        "6e2353b814ae81d7c69f38fbd65467c48f3000bf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 30 21:39:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 30 21:39:52 2017 +0000"
      },
      "message": "Merge \"Camera NDK: fix deadlock issues\""
    },
    {
      "commit": "6e2353b814ae81d7c69f38fbd65467c48f3000bf",
      "tree": "a173ba0f0444eace52c93411c2fd538bcde2b480",
      "parents": [
        "7a23b30bd0c997ddf5bd3284da43b3efc32bec20"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Oct 24 16:35:20 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Oct 26 16:30:52 2017 -0700"
      },
      "message": "Camera NDK: fix deadlock issues\n\n1. Fix AMessage contains last reference to session\n   issue\n2. Fix disconnectLocked waits on dead session issue\n\nTest: add some sleeps to make deadlock scenarios pops in CTS\n      and then run CTS 100 times.\nBug: 67965633\n\nChange-Id: If0ab9e33de12969dcb5f1d10e96f47f13024f399\n"
    },
    {
      "commit": "8a23ae4a220a9c8c744fa63e8568154ce0ec7ff1",
      "tree": "1ba1cf41e63be5c2561c534ce4675c78539d3d71",
      "parents": [
        "89224466a6c38d498f3794bca8ed3cd7ca1887e0",
        "12a4218bd64db4526e9323ede3c6e004d3015b30"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Oct 12 20:48:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 12 20:48:49 2017 +0000"
      },
      "message": "Merge \"Camera: fix use after freed error\" am: b7939bbfbf am: d0cc49f98d\nam: 12a4218bd6\n\nChange-Id: If205b11101420feb9318ff26e5d85c3375f63d3d\n"
    },
    {
      "commit": "d0cc49f98dc995835ba1e69db10a5f25791e69fe",
      "tree": "13a67795d09168cfaf38f08107a6d8de7043b33a",
      "parents": [
        "23ac59ad8d4bd40ec7dead44932bb3480ef5da51",
        "b7939bbfbfa733dfa8ca9838fadb714adfe759fd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Oct 12 20:23:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 12 20:23:29 2017 +0000"
      },
      "message": "Merge \"Camera: fix use after freed error\"\nam: b7939bbfbf\n\nChange-Id: Ic2d8d779fbf8246e7e75f1c42fd63555681815fb\n"
    },
    {
      "commit": "d21c46b3cc97497be689c344046b51cba00aa4b5",
      "tree": "0dac87e317330453342de707e8c0b8b76b62c9da",
      "parents": [
        "16f2c1559c5722a6cd69fef3c17dc5756ba73fe6"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Oct 10 11:59:46 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Oct 10 11:59:46 2017 -0700"
      },
      "message": "Camera: fix use after freed error\n\nTest: static analyzer warning is fixed\nBug: 67606758\nChange-Id: I563b581755dc874d1c19f6875b161f7b8912229d\n"
    },
    {
      "commit": "8ca23dca1cd450b4d93e8da1c8bd6f6ee61e2f5f",
      "tree": "259191c6f2a13395c27c8095d00bfcbf3e926616",
      "parents": [
        "90153cae7ffd321338f90678a80abd62fb56e877"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Sep 05 18:15:56 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Sep 05 18:15:56 2017 -0700"
      },
      "message": "Camera: fix race in onRepeatingRequestError callback\n\nTest: CTS\nBug: 64180296\nChange-Id: I620e238bf1f4e7ab72911b6e68c689580fba22f1\n"
    },
    {
      "commit": "83aa87633dd629f613d9ad7242330d458e0f76f0",
      "tree": "b180f181f5ce38a39ceaee4060f514190ba0c44e",
      "parents": [
        "f5095b3373511b88e3254b30c3bc3b99f2ea00f8",
        "6bc3288dab1c6240e43626d4b1053a7f67e65326"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Aug 08 23:08:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 08 23:08:39 2017 +0000"
      },
      "message": "Merge \"Camera: update ndk docs\" into oc-dev\nam: 6bc3288dab\n\nChange-Id: Ic1040690a50c410e9e38b536154af95fe1999a17\n"
    },
    {
      "commit": "117407c4e3cea37f6a9cfd8fcce4200adf69a7ba",
      "tree": "f2108c324c3673e69a1b05343d73dce82c48110f",
      "parents": [
        "dd3e6bd26749b5656af8053406961e912a18eb0e",
        "bbdae2f58c3bd18d72be876c023b4bfb00e2f920"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon May 08 22:34:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 08 22:34:04 2017 +0000"
      },
      "message": "Merge \"camera: Clarify ZSL supports\" into oc-dev\nam: bbdae2f58c\n\nChange-Id: Ie8aaa188fa1e9037e8ed8130ca1a57a8558bf659\n"
    },
    {
      "commit": "1861819f4d0c52617039ff5e4abdffb1e69c166b",
      "tree": "ec115037fe2937f9abb4db010853787df512e6bf",
      "parents": [
        "af4d169e3f3ed1f0ed474e56c01cd57678e00d0a"
      ],
      "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": "Fri May 05 20:02:58 2017 +0000"
      },
      "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(cherry picked from commit 7e8d4ba5887affda749978d787b898bf31fda729)\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": "71c73a2985a7ac65ee597be3441ab300fa56e22e",
      "tree": "8f702e303a177904911b397237bde5cfd96e6fbb",
      "parents": [
        "98e11c12e6f5bd64e5d6930a2bbd3522a309d6b1"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 21 16:35:51 2017 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Apr 05 11:57:02 2017 +0000"
      },
      "message": "Camera: Support vendor tags from multiple providers\n\nDifferent vendors could have different vendor tags.\nA global vendor tag cache will store all available\nvendor tag descriptors from different providers.\nThe cache will then be shared with each camera client.\nCamera metadata will use specific vendor ids stored\nin the metadata buffer to identify the correct vendor\ntag provider.\n\nBug: 34275821\nTest: adb shell /data/nativetest/cameraservice_test/cameraservice_test\n--gtest_filter\u003dCameraProviderManagerTest.MultipleVendorTagTest\nComplete Camera/Camera2 CTS tests\nChange-Id: I2262128f21a0167504f018230624e2a89786c467\n"
    },
    {
      "commit": "c0dede99d99ab22f59cf34c3b7d262c80d7bbc4a",
      "tree": "5cd422223a04b98ac4ee89b26afb47d3fa2fe3ff",
      "parents": [
        "217fc01b390d88993c1c94669b251f952fe2c44e"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Jan 11 11:10:28 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 24 15:41:39 2017 -0800"
      },
      "message": "camera: Add enable ZSL key\n\nAdd enableZsl key so the apps can choose to allow or\ndisallow out of order frame contents and metadata like\ntimestamp.\n\nTest: Camera CTS tests on Marlin\nBug: 30983997\nChange-Id: I715ef24ab55d6941c0ece16f09f325c26b83ea54\n"
    },
    {
      "commit": "b554bff208ec1af8b6a8cfd78a86103c8dd46089",
      "tree": "09bc070a4a80a20841468e85f38aa7eed018165c",
      "parents": [
        "a6edcbb2026fe0a75fa55b6763c8d51b49083e47",
        "1a5954c3adc4dd6c265a7f454cc5d94825a0d1ee"
      ],
      "author": {
        "name": "Bjoern Johansson",
        "email": "bjoernj@google.com",
        "time": "Tue Jan 10 23:18:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 10 23:18:23 2017 +0000"
      },
      "message": "Merge \"Fix NDK CameraManager crash when no cameras exist\""
    },
    {
      "commit": "1a5954c3adc4dd6c265a7f454cc5d94825a0d1ee",
      "tree": "187e824897bf923e3a4414007acf826a02a93d5d",
      "parents": [
        "7f05785ddac8411823d865a1cdc725308ae4a7ae"
      ],
      "author": {
        "name": "Bjoern Johansson",
        "email": "bjoernj@google.com",
        "time": "Tue Jan 10 10:30:18 2017 -0800"
      },
      "committer": {
        "name": "Bjoern Johansson",
        "email": "bjoernj@google.com",
        "time": "Tue Jan 10 11:06:11 2017 -0800"
      },
      "message": "Fix NDK CameraManager crash when no cameras exist\n\nThe NDK CameraManager only lists cameras that support camera API v2. For\na device that only supports v1 the list comes back empty. This results\nin allocating an array of size zero. This array was then intialized with\na nullptr. This is fine if the array contains at least one item but in\nthe case where there are no cameras this will cause a buffer overflow.\nThis change removes the initialization which fixes the crash.\n\nTest: manual - ran camera CTS tests\nChange-Id: Ie1c872ff66997d55572fd855f20b56bd58b01752\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": "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": "f51fca277eb5b86bd0b2e3fc90ecb2b63089de29",
      "tree": "4c9b0b9c9e3969dca6ee7a0e0f4b0904a1757d8c",
      "parents": [
        "07f49573613aee5a8e661f74a324db371ecc8551"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Dec 13 11:25:55 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Dec 13 16:32:23 2016 -0800"
      },
      "message": "Camera service: Updates in preparation for HIDL\n\n- For all camera2 paths, and anything shared between the legacy API and\n  camera2, switch to using strings for camera IDs\n- Update ICameraService.addListener to return current set of known\n  devices and their status, to allow for immediate return of camera\n  devices when first connecting to camera service\n- Remove unused code path for getCameraCharacteristics with HALv1\n- Add namespace qualifiers to Binder objects that are also used by\n  hardware binder.\n- Switch to using new HIDL DeviceStatus and TorchStatus enumerations\n  for better type safety in the service; map more clearly between\n  the HAL, service-internal, and Binder enums.\n\nTest: cts-tradefed run cts -m Camera --skip-connectivity-check -d -o --abi armeabi-v7a --disable-reboot\nBug: 32991422\nChange-Id: I765951d9a21000a8432bed9aa0e3604709daa4b1\n"
    },
    {
      "commit": "5589a4f1167a7d4b780535a90b03c909ea05ed28",
      "tree": "ed9dcfe7c9694822a6285728055fa9dea9775a2f",
      "parents": [
        "856ccbf720ab623debbe549da29067a687a82979",
        "00ed920ff6d029605550fff893b99c4f301d187e"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Nov 16 04:40:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 16 04:40:27 2016 +0000"
      },
      "message": "Merge \"fix Access to field \u0027targets\u0027 results in a dereference of a null pointer\" am: caea9fc26a am: 52caf00e7a am: f176757e68\nam: 00ed920ff6\n\nChange-Id: I2ec0b253e8f4bc53d5b683118b9a5817b994eeff\n"
    },
    {
      "commit": "52caf00e7acf35d740d32333a995f44793f44816",
      "tree": "3cdb9cf14c873f18ec1c2c5352ac92af9af65f87",
      "parents": [
        "9b81cc421e65e85d1b6b5846829fe66fa04f61ea",
        "caea9fc26a654c6b856d6e3f4458b52c5d14365f"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Nov 16 04:17:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 16 04:17:57 2016 +0000"
      },
      "message": "Merge \"fix Access to field \u0027targets\u0027 results in a dereference of a null pointer\"\nam: caea9fc26a\n\nChange-Id: Id38c914a250aab0b4a395739db7e700c821ddaf3\n"
    },
    {
      "commit": "2169303858f60f6c813be208ea3e088b073ef676",
      "tree": "af323fefaefb9c559043cb9cc37ed5ef22aa62d7",
      "parents": [
        "11f51b046344c8e14ef764d755cae697f6bce4e8"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Nov 15 17:52:15 2016 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Nov 15 17:52:15 2016 -0800"
      },
      "message": "fix Access to field \u0027targets\u0027 results in a dereference of a null pointer\n\nThis fixes Access to field \u0027targets\u0027 results in a dereference of a null\npointer\n\nTest: the warning is gone.\nChange-Id: If5d8c1c87c4cf77252bd5d262eefeba30c772fe7\n"
    },
    {
      "commit": "9d06601e54848f076b7472a376c672215cd70c46",
      "tree": "8ef76a427e631fde284d0e920075f406a6d885ab",
      "parents": [
        "d3196abc2d216e74be7b137cd0b93ef5b4f005db"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Sep 30 11:30:20 2016 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Oct 17 10:39:19 2016 -0700"
      },
      "message": "Camera2: Add onCaptureQueueEmpty callback\n\nonCaptureQueueEmpty is called when the non-repeating request queue in\ncameraservice becomes empty. Application can use this callback as a\ntrigger for a new request.\n\nTest: testMultipleCapture in PerformanceTest.java\n\nBug: 29006447\nChange-Id: Id21afd74381e0b70f924c6026025c91a8ffd5ee0\n"
    },
    {
      "commit": "09316fdbebc8e2e899f663aa1e4b1bcb0531354d",
      "tree": "4a91e4ec2b5b56317e736f40ad60e61bf8e3c66b",
      "parents": [
        "6f1326f3443dc6ac74ad54c3f17a3b19c6439a05",
        "5f5ee1110dd85001b43db7637a97474acfe8d681"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 05 23:31:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 05 23:31:18 2016 +0000"
      },
      "message": "Merge \"LOCAL_CLANG :\u003d true is now the default\""
    },
    {
      "commit": "5f5ee1110dd85001b43db7637a97474acfe8d681",
      "tree": "b9678c6154ad559ceb43989f832a105d11e38296",
      "parents": [
        "c471bc541c7d43a91cc034ca67938b94324bfc56"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 15 16:13:48 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 05 11:42:19 2016 -0700"
      },
      "message": "LOCAL_CLANG :\u003d true is now the default\n\nTest: verify that build has no failures\nChange-Id: Ib249b276c6295e55eb54fa37b6d15486415dfbed\n"
    },
    {
      "commit": "b01d8f7d7853e6cd4ea1256fe3dfb2e4a79cf09a",
      "tree": "01ba035c489dc45c21b94942450f6cd3e1bbb5a3",
      "parents": [
        "ce9db56c299ed93331c16a6d25bcd02c573a1101"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Oct 04 16:34:18 2016 -0700"
      },
      "committer": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Oct 04 16:34:18 2016 -0700"
      },
      "message": "Fix warning: Potential leak of memory pointed to by \u0027device\u0027\n\nThis fixes the waring: Potential leak of memory pointed to by \u0027device\u0027\n\nChange-Id: I7e80c36ef4a66bb0e9febef7941c87eb4a083110\nTest: The warning is gone.\n"
    },
    {
      "commit": "d96f8837c9e1782e0309828b316cca5262719633",
      "tree": "a268b063006430a272e1e91c76cc38adf342669a",
      "parents": [
        "1974a4dfddfa4004b2bda7a529be4ead0ab970db",
        "ee844a800889eca5dfe658fbd953946ca1920fae"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Fri Sep 23 11:09:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 11:09:25 2016 +0000"
      },
      "message": "Don\u0027t try to connect camera service if it is disabled.\nam: ee844a8008\n\nChange-Id: I1c63845947bc43ec2bed1a20641336cf8988e6f7\n"
    },
    {
      "commit": "ee844a800889eca5dfe658fbd953946ca1920fae",
      "tree": "2cf0bebb0f1a709bc5556c91a78219c53c538594",
      "parents": [
        "47c996ba170821326a98fdde468ecf860904db3e"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Thu Sep 15 11:32:41 2016 +0100"
      },
      "committer": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Fri Sep 16 11:15:58 2016 +0100"
      },
      "message": "Don\u0027t try to connect camera service if it is disabled.\n\nOn Android Wear devices we don\u0027t have cameras, so we don\u0027t need the\nproxy service as well. If it is disabled by the system property, don\u0027t\nwait for it to start, but rather return null pointer in\ngetCameraService(), which causes getNumberOfCameras() to report zero\ncameras available.\nThe same logic applies to ACameraManager, where we return an empty list.\n\nBug: 28560707\nChange-Id: I4c0bc29f061f1b66710c8188a7916bfaf089d23f\n"
    },
    {
      "commit": "d7973ba37cea1a9638ded23041c69774ae8cebbc",
      "tree": "4daf011ff510334f5da445be00aabe988690f242",
      "parents": [
        "8a288e1fbd3b41ee555e2b6331b03e5f777f5711"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 14 12:35:50 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 15 16:57:16 2016 -0700"
      },
      "message": "Migrate libcamera2ndk to ndk_library.\n\nTest: make checkbuild tests\nBug: http://b/30465923\nChange-Id: Iab800fd20beeef64250abc7d1c966d12fa8bfbb5\n"
    },
    {
      "commit": "d19d994770a04f02c204affd29985c5aeaa58baa",
      "tree": "15224cbe7fce560c768f9dc16279e8913b94cd51",
      "parents": [
        "1567662f5a709398004cf509fb3f382f0c76f5b1"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:21:14 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:21:14 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in camera.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I61f9b5b2b6e13e0c6561327bc8dfe69c9cfc5ba5\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": "a22528a9fac1763810d21b899e1b8c7977ea224c",
      "tree": "9bcdfa80d76888b64079a8cfe5a33241af23a7a9",
      "parents": [
        "3b3c26405dfc77e3bfda292e886112798f858636"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 12 14:03:11 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 12 14:54:35 2016 -0700"
      },
      "message": "CameraNDK: remove unused error enum values\n\nand fill in documents for each error value.\n\nBug: 27102995\nChange-Id: Ia44f87c09758f098442f894f4236ce8fa2ccffb3\n"
    },
    {
      "commit": "3e49be17d8c8c53f50bb0d39affbbc36f6a12488",
      "tree": "09d1a9437732a076fa18f79f0e40c808ac95c2aa",
      "parents": [
        "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 12 16:00:33 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 09 11:38:59 2016 -0700"
      },
      "message": "CameraNDK: add NDK API documents\n\nThis change adds document for ACameraManager, ACameraDevice and\nACameraCaptureSession.\n\nBug: 27102995\n\nChange-Id: I5706337e419cd533c1c7d46e412dc62bf7c726cb\n"
    },
    {
      "commit": "e8c535e833ed135895e99ca81aa3b85d80d7cf3c",
      "tree": "b0b0a255eda7c96bfffd3da79828d52c86372677",
      "parents": [
        "bc0c73e05ec935bc478ee0e40aee79f80771a482"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Apr 14 12:18:26 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 15 16:01:25 2016 -0700"
      },
      "message": "Camera: Stop repeating request if its output is abandoned\n\nStop repeating request if any of its output stream is abandoned.\nAdd a callback to notify the repeating request has been stopped\nwith frame number of the last frame.\n\nUpdate NDK with the new callback and behavior.\n\nBug: 21270879\n\nChange-Id: I3553775c7807a77104aa1650609480ca3321310c\n"
    },
    {
      "commit": "6a9d0dac7a6e33a276b234375207a3037a41ca7a",
      "tree": "1361eed04909c6ffe1364dde28923e988083a390",
      "parents": [
        "d77a954c1e6c3524ee2b61cba639e24b6d3320f7",
        "e081c59aeb309f5d91b99c433fc252e4570d4db8"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 22:55:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 22:55:17 2016 +0000"
      },
      "message": "Merge \"CameraNdk: add onBufferLost capture callback\" into nyc-dev"
    },
    {
      "commit": "25e60f13bd3768e845e9e1caf92f44db1d1307f0",
      "tree": "0588e985e213d1805a8e0b4940350ea9be226f6c",
      "parents": [
        "49d9f9a0ce21bcb8670019ff1365d1015da32e19",
        "eca6c4394bb5206feb34037619fd333aba2c4f39"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 22:33:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 22:33:37 2016 +0000"
      },
      "message": "Merge changes from topics \u0027cam-ndk-hidden-enum\u0027, \u0027cam-ndk-enum-dco\u0027, \u0027cam-ndk-hidden-keys\u0027 into nyc-dev\n\n* changes:\n  CameraNDK: hide some capabilities in NDK\n  CameraNDK: add metadata enum value documents\n  CameraNDK: hide more NDK metadata tags\n"
    },
    {
      "commit": "e081c59aeb309f5d91b99c433fc252e4570d4db8",
      "tree": "d2a046d2d80539b1b19ea7dd8a53242004f3a1a5",
      "parents": [
        "309d05d030903e7849affd60c58d4236147aa390"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 29 18:26:44 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 14:22:49 2016 -0700"
      },
      "message": "CameraNdk: add onBufferLost capture callback\n\nBug: 27102995\nChange-Id: Ic54d1950da54c09eb2fea1eea5fccd3141c626d4\n"
    },
    {
      "commit": "ff2a495cc65881caa25bae520f1249e92ceb9ac6",
      "tree": "29c117fd813491d1226ebebf9259d0073dec18df",
      "parents": [
        "59a2d786854012e4c52abac263bd751f286fbdfd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sat Apr 02 16:31:57 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 10:48:06 2016 -0700"
      },
      "message": "CameraNDK: hide more NDK metadata tags\n\n- Codegen update: some of hidden metadata keys should not be\ndisclosed in NDK.\n- Also added capture result frame number plumbing.\n\nBug: 27102995\nChange-Id: Ia238f95a4da726330205c53fc5d3f1f63d7553a1\n"
    },
    {
      "commit": "309d05d030903e7849affd60c58d4236147aa390",
      "tree": "2546b8f92d5ff120f73b454156b58d950c9ef99e",
      "parents": [
        "d9bd004bbe426978a2de8ee7d0489317b7580bdf"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 28 10:15:31 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 29 16:13:37 2016 -0700"
      },
      "message": "CameraNDK: implement abortCaptures API\n\nBug: 27102995\nChange-Id: Idaf1db02e0bcc60bb9cdb2797b4479ea0389f5f9\n"
    },
    {
      "commit": "8aac03f4d6c66749803d5708086ba5f509aa88c6",
      "tree": "9b870f8e7f15fb0933b9763fc6650e641ef18b36",
      "parents": [
        "e7d45e3ff9358293f27ce1add94af34908a6a263"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 03 15:45:23 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 07 13:06:08 2016 -0800"
      },
      "message": "CameraNDK: add API to list all tags in metadata\n\nBug: 27102995\nChange-Id: I2807b94867f7ed32585afedbbff0a77a93c8fe94\n"
    },
    {
      "commit": "085dd0935c9cd19791a9a58a4df4a05e29eadca7",
      "tree": "9da119e95d054a5429075bb8c8f1c39e26d3dcf8",
      "parents": [
        "97d5e4eb77687288b463f300912f6eb5c2b5b60e"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 02 14:16:31 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 03 17:34:00 2016 -0800"
      },
      "message": "CameraNDK: prevent double closing session\n\nBug: 27102995\nChange-Id: Ie3e9870d1fc1025cab7a1019ed7d056fe07536ad\n"
    },
    {
      "commit": "02bf03287652923b5bb5316667b065423565d6b4",
      "tree": "37fac61e840805769bd1c7ea8030390122a624cd",
      "parents": [
        "d56db1d2bee182d1851097a9c712712fc094d117"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 18 12:41:10 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 10:27:58 2016 -0800"
      },
      "message": "Camera: Clean up warnings and set -Werror\n\n- Also fix error logging template inconsistency\n- Also add a few error handling cases into camera2 NDK\n  to deal with previously-ignored error codes\n\nBug: 27149500\nChange-Id: I8f1f4c72252dd48d652f24b595b642199f20c327\n"
    },
    {
      "commit": "d56db1d2bee182d1851097a9c712712fc094d117",
      "tree": "243fda59e2b4d51491af628b49b3a35b267e0051",
      "parents": [
        "cf7913e2389a5e850e01aa6f905d252ee54c9891"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Dec 17 16:50:35 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 10:27:36 2016 -0800"
      },
      "message": "Camera: Switch camera2 to auto-gen C++ binder interfaces\n\n - Move camera service AIDL files to frameworks/av\n - Build C++ interface stubs with AIDL tools\n - Add necessary native-side parcelables and update existing ones\n - Remove manually-written stubs, rearrange remaining manual stubs\n - Adjust implementations to work with auto-generated stubs\n   - Adjust method signatures for auto-gen differences\n   - Add rich error messages using binder::Status\n\nBug: 25091611\nChange-Id: I6f69f34b9d1a3f8d1fb7db87357363f8fa8483ff\n"
    },
    {
      "commit": "aeead926245c1d1a4fa76a050be915288d0b32f1",
      "tree": "d18c2475e99f4577d7dcfd0d056e8700e50a3f12",
      "parents": [
        "5bae3d6b17d7eb90b52174f8149aaa7c7ff334d6",
        "c360382bf257d815b2a411152485d3c3b37a9f46"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 27 22:56:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 22:56:50 2016 +0000"
      },
      "message": "Merge \"NDK: AImageReader implementation\""
    },
    {
      "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": "d8f9a713f3462ef8ac41c0d02aa90efc29cb33c7",
      "tree": "0a4826b5cf32ea7ebb449b501798c933913ca0dd",
      "parents": [
        "ead9146f844ee194a4f4244ba8ae1a3aece12b63"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 26 16:04:40 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 26 16:04:40 2016 -0800"
      },
      "message": "Camera NDK: fix build break\n\nOn devices still using gcc\n\nChange-Id: Ideb1a054d753194569513362f5b1fb80446eaf82\n"
    },
    {
      "commit": "ead9146f844ee194a4f4244ba8ae1a3aece12b63",
      "tree": "616249ae12bf73d57dc9c5ea7b3202930a05d1c9",
      "parents": [
        "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 06 16:45:08 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 25 16:48:37 2016 -0800"
      },
      "message": "Camera NDK library: capture session implementation\n\nBug: 23012001\nChange-Id: I3fd93205dcf1b9ed5a947cb944919eb531f219fc\n"
    },
    {
      "commit": "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c",
      "tree": "2cee23a637023c0365748d4a2f7f1048c9d97ab8",
      "parents": [
        "52a942055bcc4a96b6e281a54a70a53b6fca5798"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Dec 09 16:46:07 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 25 16:40:17 2016 -0800"
      },
      "message": "Camera NDK library: first draft\n\nBug: 23012001\n\nChange-Id: I06d834421289d4dead1c87301a6ee94487ccf023\n"
    }
  ]
}
