)]}'
{
  "log": [
    {
      "commit": "0ff9ae3ecbb421551d5de9701a349d8a3741f965",
      "tree": "2fb69b8701f672c09fc5b139caccfa95fa6976cf",
      "parents": [
        "3c3c97ae534870c90f54e8cffc6d7d82ab8ca3da"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Dec 05 18:06:12 2018 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 20 10:34:27 2018 -0800"
      },
      "message": "Camera: Enable logical multi-camera API in NDK\n\nThe support inclues:\n- Physical camera specific stream support,\n- Physical camera result metadata, and\n\nTest: Newly added NDK CTS test pass\nTest: Newly added VNDK test pass\nBug: 120566141\nBug: 115532726\nChange-Id: I939b81522ca6c518c0e54ded5d3615f9973a6a65\n"
    },
    {
      "commit": "ef4b27d1d1123b452316f722a0eacc282d3fa94a",
      "tree": "a0acf7f1501bebe58caa1fb15fc118072b71a305",
      "parents": [
        "dd44e3c5f2d199589c040a422b3e343c796bd362",
        "538d53267bee085e08d489546bde620520b5b188"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 13 16:23:10 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 13 16:23:10 2018 -0800"
      },
      "message": "Merge \"Fix performance-for-range-copy warnings\" am: 1ce37f1de3 am: c9584831bc\nam: 538d53267b\n\nChange-Id: I15dfaa7eb997c7caf497b488384477952513cef7\n"
    },
    {
      "commit": "3ef324d11cc4b6f84c147998fcf02c3a528fc2b8",
      "tree": "9c31c781e4172fb511af7552838c6a63b0f04ac9",
      "parents": [
        "14c577fac81b8fdcc75e4bf9243f16bd624ba58b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 11:48:12 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 11:48:12 2018 -0800"
      },
      "message": "Fix performance-for-range-copy warnings\n\nBug: 30413223\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,performance*\nChange-Id: Ia63c695575d2602ff7e67db874d423b99f4daeef\n"
    },
    {
      "commit": "6df26071a5b581a90a6719a6dc03c212073dca71",
      "tree": "bc25beaef80c37fa9b32df72b3dd0d19ec89f49a",
      "parents": [
        "dcfd26eeac36f41dff92cab15f47512711b540cf"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Nov 06 23:55:12 2018 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Nov 16 10:04:22 2018 -0800"
      },
      "message": "Create a vendor available version of libcamera2ndk.\n\nBug: 110364143\n\nTest: mm -j64\nTest: AImageReaderVendorTest\n\nChange-Id: Ic9343cc7fb10eb374197945b72be59e7ce8282fe\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "8c6dd4e4208df831066be8ccd1fd937d1ee12e72",
      "tree": "5f3c32b0c010d916d38ab59475079c1eb4559826",
      "parents": [
        "00969d2ed7846085d18d7ffa5d44987448baf1d9",
        "2e6bb43bc132a07dce8fcc5f6960dee23282dab1"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Oct 18 23:31:40 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 18 23:31:40 2018 -0700"
      },
      "message": "Merge \"camera2 ndk: Fix error code passed on ACameraDevice_ErrorStateCallback.\" am: 31215a03a3 am: d7d5ad51d1\nam: 2e6bb43bc1\n\nChange-Id: I442019c4eac6be8365841a0d09dd42f968e024e2\n"
    },
    {
      "commit": "694cd4711db5bc03caddeec657ae98d212ef72d1",
      "tree": "c08613b5f59dce1c6a1cdda062dbe41fae928853",
      "parents": [
        "1ef73503fdceeb836107ef43f2a1d52d287edb3f"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Oct 16 12:44:58 2018 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Oct 17 10:33:21 2018 -0700"
      },
      "message": "camera2 ndk: Fix error code passed on ACameraDevice_ErrorStateCallback.\n\nThe error code passed to the camera2 ndk while calling the\nACameraDevice_ErrorStateCallback was the AIDL errorCode passed through\nthe ICameraDeviceCallbacks::onDeviceError() callback. These error codes\ndo not map directly, to the ones promised through the ndk in\nNdkCameraDevice.h. These need to be fixed to appropriate ndk error code mappings.\n\nBug: 117833501\n\nTest: GCA (sanity)\nTest: CTS Native camera2 tests (sanity)\n\nChange-Id: I65a80e4f2be5a3317a008bf0a71578e31fb45d62\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "eacb23737b49d79a03854fc56b1052df10dc3014",
      "tree": "e2d7452cc2d2c75277b97d456619b8b549c9d4b0",
      "parents": [
        "89a8d5ab7f9e53f1aa791640be99094a2b907726",
        "42bd82919b9e9ab1680ba18c69c85ba912fcd2cd"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 21:15:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 21:15:24 2018 -0700"
      },
      "message": "Merge \"Fix implicit fallthrough warning.\" am: 0f455238b1 am: b1d94eca22\nam: 42bd82919b\n\nChange-Id: I58ba1a242c7b64026dd5594ab182b62a32a56508\n"
    },
    {
      "commit": "e6a2f21608b32718baf35daa355d780040f120cb",
      "tree": "1e50e40d8b3abe4aab7b50ece92d4efdfb7accb3",
      "parents": [
        "225f99219cb5a950f49983cc31f7a8f2e9349fb6"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 12:16:31 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 12:16:31 2018 -0700"
      },
      "message": "Fix implicit fallthrough warning.\n\nBug: 112564944\nTest: make checkbuild\nChange-Id: Ia7b87dcd910141893d9b15ce781a56c4bc9efd69\n"
    },
    {
      "commit": "2be96a23ed1df37613dda952ba22297ee35c9012",
      "tree": "cf08e16f331e09c9f8bcb74395cb2eb24f41e72d",
      "parents": [
        "6689f2e894a99838c03c737ea7f0409aa2a1c37c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Sep 17 11:51:24 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Sep 17 11:51:24 2018 -0700"
      },
      "message": "Camera: codegen NDK update\n\nTest: compile\nBug: 109829698\nChange-Id: If8d0cb56a03397380c1bf07ea9f2deed31ab7f63\n"
    },
    {
      "commit": "e57e9a2ca66a801ace5d6b93200d24807d2566cc",
      "tree": "8bfd04d4cccb1253c4d85f879a18a7f80a1df40e",
      "parents": [
        "12efcb14eece15d3c973b4c825c962a6f6d01336"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Aug 23 15:36:41 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Aug 24 09:26:42 2018 -0700"
      },
      "message": "Camera NDK: internal-\u003epublic format conversion\n\nTest: new CTS test\nBug: 112897492\nChange-Id: I785612966e7c6201db333e3a736e6efda9e63feb\n"
    },
    {
      "commit": "dd045bf3607fe6ab5881872c484241627731cc82",
      "tree": "b2c474378cde252aa2098bc28ac2b7816332e84b",
      "parents": [
        "c524813b806a64123d376d1afb4d21b09a6de453"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Aug 20 12:39:19 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Aug 20 13:44:02 2018 -0700"
      },
      "message": "Camera NDK: don\u0027t explicit delete ACameraMetadata\n\nTo fix the warning in RefBase destructor.\n\nTest: NDK CTS tests, and ARCore measure app.\nBug: 112775599\nChange-Id: Ia448ac6d7e6c17699c16d287f65fc2826c9d7578\n"
    },
    {
      "commit": "728f909a1fecb99e565a0239580c5e9fff264209",
      "tree": "6f60997bd5daa8f0e1d6589308dcaf3fd1ecfc4d",
      "parents": [
        "ac0beb7bc1feeedf643263bd79b7cbe95f0dcc3a",
        "03f5575dc5c1a4de41dd2f327e59c1938b2a25d1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 03 17:13:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 17:13:39 2018 +0000"
      },
      "message": "Merge \"Camera: sort NDK getCameraIdList output\" into pi-dev"
    },
    {
      "commit": "03f5575dc5c1a4de41dd2f327e59c1938b2a25d1",
      "tree": "256ae5c8da47712a52176c3780fba07320b849ea",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 14 15:28:02 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 14 15:31:22 2018 -0700"
      },
      "message": "Camera: sort NDK getCameraIdList output\n\nBug: 72261912\nChange-Id: Iae9873459884c9d3f61dbd21e4e705b59f5f9d2d\n"
    },
    {
      "commit": "2d96092030f7bcd3c5c0de53dc8a97bbe3c2e0c4",
      "tree": "447189bad330ce14171154ff3ffd53a62fa120ac",
      "parents": [
        "ddefa9dd59b6ba75fcfb21612060eea1e26a5270"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 13 19:46:23 2018 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 13 19:46:23 2018 -0700"
      },
      "message": "Camera2: Add distortion correction support\n\nThis allows camera devices to correct geometric distortion in their\noptics, when requested by the application.\n\nThe correction only applies to processed (YUV, JPEG, etc) outputs,\nnot RAW buffers, or the result metadata.\n\nTest: New CTS test passes\nBug: 74434422\nChange-Id: I77a84c1321058ab6637be2fffaca19a27f46dca1\n"
    },
    {
      "commit": "5c22c15ed8c593189ed9bb8fcbccace2ca63b82a",
      "tree": "d3f608b779d55a54851ab49aacb697510725725f",
      "parents": [
        "91b1f83220c6fc643e2618f92b28482fa880c7fd"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sun Dec 31 17:12:25 2017 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Jan 24 18:18:18 2018 -0800"
      },
      "message": "Camera: Support physical camera metadata in capture result\n\n- Add physical camera metadata in capture result.\n- Adjust capture_result book-keeping for physical capture result.\n- Adapt to new version of ICameraDeviceCallback.\n- Batch physical metadata with logical metadata within one\nprocess_capture_result call.\n\nTest: testLogicalCameraTest CTS test\nBug: 64691172\nChange-Id: I63fd343770cbb6183b7c6e4566c698f69801a8e8\n"
    },
    {
      "commit": "763226f9bc18e94ea1c2f59f5d422ca2b456d2de",
      "tree": "f3cab5c00128f5000287d7e17ed9af4fbac08315",
      "parents": [
        "4e3815d14dceaf31d60ea325e650be4db17ce6c3",
        "714d292393272e1d4857ab9efd5783986508e3ef"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "guennadi.liakhovetski@intel.com",
        "time": "Tue Jan 23 02:47:06 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 23 02:47:06 2018 +0000"
      },
      "message": "Merge \"CameraService: fix camera removal paths\" am: 930c980043 am: 1f1584afba\nam: 714d292393\n\nChange-Id: I2f4b53bbcc9d8f3a6865405a6ac764f2f50a9395\n"
    },
    {
      "commit": "f42760c9b7136344f8b24a42c8c5bba74ac61ba9",
      "tree": "789e34ea68e8e36fa5430b87502ca43cf02bdf40",
      "parents": [
        "487585733d3e075734cb9827f1a36302590b8089",
        "aebbe41461c597cdcb4be35edb5484410b9b2dff"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 23 00:36:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 00:36:17 2018 +0000"
      },
      "message": "Merge \"camera: Support multiple physical camera requests\""
    },
    {
      "commit": "aebbe41461c597cdcb4be35edb5484410b9b2dff",
      "tree": "82061515fa8890cba39f1161b809b1875d578c73",
      "parents": [
        "c28189a64a6ef65aecccb6e3bb980f1afc189a1c"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Jan 15 13:53:24 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Sat Jan 20 16:11:35 2018 +0000"
      },
      "message": "camera: Support multiple physical camera requests\n\nCapture requests could include settings for different physical\ncameras. Camera service should always check whether such\nextended requests refer to valid physical devices and process\nthem accordingly.\nFix some stability issues in the camera native tests.\n\nTest: Basic camera sanity using camera application,\ncamera_client_test, Camera CTS\nBug: 64691172\n\nChange-Id: I68b81e983dd0b7caebfa03e4f0cf283f2a91dc7a\n"
    },
    {
      "commit": "5ca4a9bb85fe955f6e6fd1c6a618d8a529b84707",
      "tree": "497d22e5e44f50f86c96ee0f3a579a48906a875a",
      "parents": [
        "9831721434f8e2761bfdc4f4b30717f5efb30e65"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jan 18 12:23:50 2018 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Jan 19 16:23:38 2018 -0800"
      },
      "message": "camera: Add OIS data keys\n\nTest: CTS\nBug: 64847201\nChange-Id: I47265162554af58a081c203a1faaaf8d22b3217f\n"
    },
    {
      "commit": "6034bf5f21c57f66f3307d7934bc5c7616d2acf3",
      "tree": "cc7fe6bd323f5c58f4a43c3738745b4288d82c21",
      "parents": [
        "3d0a566bcc5e698fffa26f4913f85f5de6136572"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "guennadi.liakhovetski@intel.com",
        "time": "Thu Dec 07 10:28:29 2017 +0100"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 19 22:24:34 2018 +0000"
      },
      "message": "CameraService: fix camera removal paths\n\nCurrently the camera subsystem is trying to store all cameras, that\nhave ever been registered with it by camera HALs. This makes it\neasier for the framework, but with hotpluggable cameras it makes\nlittle sense, because for this HALs also have to store all cameras,\nthat have ever been plugged in and with every new plug in event\nidentify, whether this is a new camera or a known one. An easier and\ncleaner approach is to remove cameras upon unplug. This patch\nimplements that.\n\nChange-Id: Ie38cad59449386351518655e723e3f826a2ec826\nSigned-off-by: Guennadi Liakhovetski \u003cguennadi.liakhovetski@intel.com\u003e\n"
    },
    {
      "commit": "b3ded702104331ae35597eef28f670e407a1b519",
      "tree": "2a954f5b93ad8c07a573de1458d299ae69089538",
      "parents": [
        "04a86634014027c47acb4e5833ac87770aeb071f",
        "5fbe0ba24d88910e68610add74fd1e1b94d282b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 22 19:18:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 22 19:18:51 2017 +0000"
      },
      "message": "Merge \"Camera: Add support for session parameters\""
    },
    {
      "commit": "4dfa4cca7a4fcf5ea4a37dca1fef7f2f56f6dd8c",
      "tree": "f92865e72d54b28eabe206f027c632cb08ce6abb",
      "parents": [
        "d39b9e3ec153f68b6ba81228b5aa29a9b72770b0"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Nov 10 20:00:09 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Dec 19 11:05:20 2017 -0800"
      },
      "message": "Camera: pass StreamSurfaceId instead of Surface\n\nAlso fix buffer error callback on shared surfaces.\n\nTest: CTS\nBug: 68020997\nChange-Id: I71d6a1373ff09dcb21d39f78dd56727cbde9a3ad\n"
    },
    {
      "commit": "5fbe0ba24d88910e68610add74fd1e1b94d282b5",
      "tree": "571e90551fd1ee5e0d326af18d3e400970d8ea41",
      "parents": [
        "3700e162a5526ada762d081de34c9abdd085c5fe"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Oct 20 15:45:45 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Dec 14 09:35:46 2017 +0000"
      },
      "message": "Camera: Add support for session parameters\n\nThe initial values of the session-wide capture parameters\nshould be passed along the stream list during stream\nconfiguration. This could yield performance gains depending\non the Hal implementation and support.\n\nBug: 64450664\nTest: Camera CTS\nChange-Id: I2b0ec8916f027e7f34f81dc414c3ca649807e925\n"
    },
    {
      "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": "4593b04bdad2ae66b22c5d3fb78276b523b7e942",
      "tree": "d855fc3d7505c608fc720474d2af565feb131738",
      "parents": [
        "ea8dd2c787f88e7289ffb8f226237587f95d8a93",
        "79edadcea74151b573d5b973d5a421baee693ec1"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Nov 10 15:29:40 2017 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Nov 10 15:33:45 2017 -0800"
      },
      "message": "Merge commit \u002779edadcea74151b573d5b973d5a421baee693ec1\u0027 from\noc-mr1-dev-plus-aosp into stage-aosp-master\n\nChange-Id: I04234f284e3117e8343e7c888646400c81f5a131\nMerged-In: Icf228c701afe37dd3c7f00ea9e6fb740b0d450f1\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    }
  ]
}
