)]}'
{
  "log": [
    {
      "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": "116c7922f7d595fe0ad9d8a6a313ee206c0117f5",
      "tree": "3012665abc303919ff447a5695f712653b7155eb",
      "parents": [
        "7de1920b41a7c5a6aa466dcd4fffc936193328b1"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Thu Aug 31 15:58:36 2017 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Oct 11 16:00:14 2017 -0700"
      },
      "message": "Track libgui changes\n\nNew SurfaceFlinger API.\n\nTest: Boots\nChange-Id: Icdc53535664fef32ebc937eb2283e96abdefbbc1\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": "b5df547bce900fa5764d735bee304e79c001d60d",
      "tree": "8c44905bfa88178d5dd546b9bae8bbaf9397b3a1",
      "parents": [
        "32efa2fd44f9ac834771663cd9fe2fcc5f5ec2f8"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 20 19:32:19 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sat Apr 01 13:13:36 2017 -0700"
      },
      "message": "Camera: HAL1 recording batching support\n\nTest: Angler HAL1 + batching normal recording mode\nBug: 35997432\nChange-Id: If088715ccdb40163f44150c16deed62432692c07\n"
    },
    {
      "commit": "b12fb5d4642ee1651ae4432d3bebc4b0a33469e9",
      "tree": "43a512f813599c231e7b26d92a86b059f8c68edc",
      "parents": [
        "2d16ffaae63051b5faf7c39a455c6d5af0226377"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 26 13:04:06 2017 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Feb 02 16:44:39 2017 +0000"
      },
      "message": "Camera2: Add native test for framework-backed ZSL\n\nThe test needs to make sure that all\nnecessary requirements for enabling the\nframework-backed ZSL mode along the\nAPI1-\u003eHAl3.x path are fulfilled. It should\nthen go through all supported picture\nresolutions and try to take still\nimages in such conditions, that will\nallow ZSL to remain active and process\nframes from its own internal queue.\n\nBUG: 34131351\nChange-Id: Ife066397089abad94055e303e73e64abea038664\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": "06d47907bed5594198cfe7a5c7a89d5877625b58",
      "tree": "c8967600b8ef0106b28b1e467ee34d93ca420c37",
      "parents": [
        "7e62a9ee00f48814beb6695b01d95993b0020825",
        "1c39c2bd6780e858e0f36cfc58eac84ce88ef3ce"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 15 23:41:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 15 23:41:36 2016 +0000"
      },
      "message": "Merge \"Camera: Stop repeating request if its output is abandoned\" into nyc-dev\nam: 1c39c2b\n\n* commit \u00271c39c2bd6780e858e0f36cfc58eac84ce88ef3ce\u0027:\n  Camera: Stop repeating request if its output is abandoned\n\nChange-Id: I9bdd7a3ee21988a8e9ddf598603151e47220d51c\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": "0492686c4703b3ddbff52d047ef226b973a3388a",
      "tree": "59c4bfe277c79bf4cf3198d13472f49ca7000b98",
      "parents": [
        "fb4a8ad9003ce26ba3c870818f53001d2eeeded4",
        "6e0c00ba53d8e5ad14d9e447c3c040ce6fd81a47"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 15:42:53 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 15:42:53 2016 -0800"
      },
      "message": "resolve merge conflicts of 6e0c00ba53 to nyc-dev-plus-aosp\n\nChange-Id: I123a42e8cd1439177ea75a3c0aba7dca0b2f31fe\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": "28ace6b191453091569c223a442776694cf3a895",
      "tree": "24fd3908a9fd827b78be3059e2eaff6818dd09a6",
      "parents": [
        "4b10421d8f8abb11907a4c54e4e225b6d9330ece",
        "4be8e17981171d14daa71ff74c538ec41d265497"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Feb 13 02:11:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Feb 13 02:11:03 2016 +0000"
      },
      "message": "Merge \"Add missing liblog dependency\"\nam: 4be8e17981\n\n* commit \u00274be8e17981171d14daa71ff74c538ec41d265497\u0027:\n  Add missing liblog dependency\n"
    },
    {
      "commit": "cdf15736da5d623948df6586118d5a7d0df3e809",
      "tree": "02bb087ecb4962cc25c235cd3555c6c4336c89e6",
      "parents": [
        "d1a9f491e7850136c203ba118a5f045933cd5d29"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 12 16:41:00 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 12 16:52:53 2016 -0800"
      },
      "message": "Add missing liblog dependency\n\nBug: http://b/27171986\nChange-Id: Iacceec85de8a64d1f28724ba6c4d6eab34d865a0\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"
    },
    {
      "commit": "d309fb9c8a2c4564d88fffba19c4e3688e4b862b",
      "tree": "6bfe3758c23a0a46e4d198ccb9a3a28ba65abe4d",
      "parents": [
        "dc123cbae198204e8c6c3d4f4f09a95cbc0e9ec5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Nov 25 12:12:45 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Dec 01 11:58:16 2015 -0800"
      },
      "message": "CameraService: Remove device HALv2 support, other cleanup\n\nHALv2 only ever shipped with Nexus 10, and has been fully superceded by\nHALv3. Remove it to allow for various code simplifications and cleanup.\n\n- Remove Camera2Device\n- Remove various special-case codepaths for supporting Camera2Device\n- Remove CameraDeviceFactory, since it only creates Camera3Devices now\n- Remove BurstCapture and associated CaptureSequence/Parameters code\n- Remove old ZslProcessor and simplify ZslProcessor hierarchy to be\n  just ZslProcessor3, which is renamed to just ZslProcessor\n- Add service-init-time check for unsupported device versions\n- Fix assorted compiler warnings, some old, some new\n- Remove references to HALv2 when possible\n\nBug: 25866588\nChange-Id: Ia1063264d315f9b742ec5cdd0483539310894f5e\n"
    },
    {
      "commit": "3450ba7879be6522ea46a56c5e66e5382f5dd5ba",
      "tree": "201ed5e416af4f44012e6b5c7f2b16bd30cfc673",
      "parents": [
        "a3b3caaae3fc23b99c5c455ee429f79c270cfbae"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jun 16 11:00:37 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jul 06 17:49:44 2015 -0700"
      },
      "message": "camera2: Fix native binder interface and add tests.\n\n- Add CameraBinderTests for limited coverage of native\n  camera2 binder interfaces for the camera service.\n- Fix several bugs in the native binder interfaces.\n\nBug: 18468810\nChange-Id: Iab2d81a5cacd20daf7454aeeed033cc13d88452c\n"
    },
    {
      "commit": "9efdf956cc2eef63fef609375901d6c8df6351b6",
      "tree": "4e7cfe7a780397d9578bd7860023168ea62519a5",
      "parents": [
        "514d7af22c5d6526309e71fadcff42b072c30241"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Mar 18 23:11:57 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Mar 20 22:34:54 2015 -0700"
      },
      "message": "camera2: Remove ProCamera.\n\nBug: 19186859\nChange-Id: I4aaadb53db65b479f92cbb3c05329d1e40317900\n"
    },
    {
      "commit": "9a4fa2dfb7ce565fabfb7a7bef4f4adfea191f05",
      "tree": "b91d3bdf39760c82e54ab0be64c74d277f9a57fd",
      "parents": [
        "9d19e392f61de3e8cd365afa12d7836bd3721602",
        "a97dfeb91aae9569ff11a5a40634e2960c03915e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Feb 20 01:04:44 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 01:04:48 2015 +0000"
      },
      "message": "Merge \"Camera: Remove RAW_SENSOR in favor of RAW16\""
    },
    {
      "commit": "a97dfeb91aae9569ff11a5a40634e2960c03915e",
      "tree": "8f325ccd2d62226dd0868863a324e20f2ef7858f",
      "parents": [
        "37b2b389139ed638831e49708c947863eef631ef"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 19 16:26:13 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 19 16:26:13 2015 -0800"
      },
      "message": "Camera: Remove RAW_SENSOR in favor of RAW16\n\nChange-Id: I69ca24c69f58be958efdef300b127401d2b2e880\n"
    },
    {
      "commit": "3068d73c6c7e1f44523b1466b903a9c82408b258",
      "tree": "197720671edfdcc2c75a7d05a13c60be2b17fb75",
      "parents": [
        "8f7b7fa417566e9a6a29ea9f0e220b3cd6d1a9e3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Feb 09 13:29:57 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Feb 12 15:05:30 2015 -0800"
      },
      "message": "camera: implement flashlight control\n\nImplement flashlight API for module v2.4 by calling module APIs and\nby for hal v2 and v3 by using CameraDeviceBase.\n\nBug: 2682206\nChange-Id: Ib8b77f6fd462489d672f27e14fe37801d35b7544\n"
    },
    {
      "commit": "bd014b81ef227752150bdbd1bb6a235db09f3616",
      "tree": "0a63f29eb4c20eab0df0a02f17ed51e7c0570c08",
      "parents": [
        "e21b7cd8feb7e9468c932609c53a114b1680a012",
        "fe80b7ee58b394b0cd958470aeea3c5a09f6b2bf"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 12 05:59:26 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 12 05:59:26 2014 +0000"
      },
      "message": "am fe80b7ee: am 6bf7c5cf: Merge \"Clean up test makefiles.\"\n\n* commit \u0027fe80b7ee58b394b0cd958470aeea3c5a09f6b2bf\u0027:\n  Clean up test makefiles.\n"
    },
    {
      "commit": "0cb2c99f70dec2e4b93b72de9b433f2919c1540e",
      "tree": "05123db873a9d52cd27f75df7809adf06434d425",
      "parents": [
        "032ecb7f233f392e6e68f030bf72a9bc7c861d11"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 19:06:54 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 11 15:23:50 2014 -0700"
      },
      "message": "Clean up test makefiles.\n\nThe build system takes care of linking the correct STL and gtest\nlibraries for you, and specifying them manually confuses the build\nsystem when using libc++.\n\nChange-Id: I6ac66c2f4e97cd3c55efb7a85e10922420554e7f\n"
    },
    {
      "commit": "d1176ef16677b6c94fb893edb6a864cdccc0b190",
      "tree": "8cc18e17c4e32633d20e8c2b7fc9e397cc1791ac",
      "parents": [
        "3a005b3b19b750afe24577ae322aff4602ca2740"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Feb 21 10:51:38 2014 -0800"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Mar 13 12:09:22 2014 -0700"
      },
      "message": "camera3: Pass vendor tags through binder.\n\nBug: 12134423\n\n- Adds a class for parceling vendor tag definitions.\n- Passes vendor tag definitions to clients of the camera service.\n- Switches over to new vendor tag mechanism when reading from HAL.\n\nChange-Id: Icef3fe9e67160767bdb8244ac49c85b68b497123\n"
    },
    {
      "commit": "f1e98d857ec377f2c9b916073d40732e6ebb7ced",
      "tree": "2a435e723f17c0c7b3e6db323d68be6cfb7d5c66",
      "parents": [
        "f05e50eb06d3f70e50fa7f44c1fd32128033b49d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 06 09:32:43 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 02 18:11:21 2013 -0700"
      },
      "message": "Camera API 2, Device 2/3: Implement idle and shutter callbacks\n\n- Update callback Binder interface\n- Rename frameId to be requestId to be consistent and disambiguate\n  from frameNumber.\n- Implement shutter callback from HAL2/3 notify()\n  - Add in-flight tracking to HAL2\n  - Add requestId to in-flight tracking\n  - Report requestId from shutter callback\n- Implement idle callback from HAL3 process_capture_result\n  - Add new idle tracker thread\n  - Update all idle waiting to use the tracker\n  - Add reporting from request thread, all streams to tracker\n  - Remove existing idle waiting infrastructure\n\nBug: 10549462\nChange-Id: I867bfc248e3848c50e71527e3561fe92dc037958\n"
    },
    {
      "commit": "d1d6467d3bcbc1305eeba0176a2edf04925c368e",
      "tree": "b79d4ac9bc0293a29ce391f3fb611d7ea8f30eb3",
      "parents": [
        "84b7fb0c88ddd05ed7c148c82fe1691040a9404d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 06 15:00:01 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Sep 08 09:58:11 2013 -0700"
      },
      "message": "Camera: Correct stream id types\n\nBug: 10604704\nChange-Id: I223ac5d200eb6439c08955fb7ad586592099fbae\n"
    },
    {
      "commit": "c6deb68aa7d1b9a4a4ba4549411c3be2753723d2",
      "tree": "c094df7fbfd2be3f02d115fbef0b3ac87e298e6e",
      "parents": [
        "8dd719e4374c009c86569180a9017bab339db37e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Apr 18 11:53:35 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Apr 18 14:15:07 2013 -0700"
      },
      "message": "Fix ProCameraTests to pass on Wolfie, disabling failing tests\n\nNote: tests fail in racy conditions, but we don\u0027t occur those conditions\nin practice in other consumers of ProCamera.\n\nBug: 8654735\nChange-Id: Ic73395ad564031a6b30ad99762dee59f9c35cecf\n"
    },
    {
      "commit": "41f37e7c29b5cc3bbd9ee60ea73c4d857d2ad717",
      "tree": "0b19597abd5afd5f2347b8bfea683c99bca99ca5",
      "parents": [
        "526b2285e975b3c02d174d8798b55e9fc300f0d3"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Fri Apr 12 14:52:52 2013 -0700"
      },
      "committer": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Fri Apr 12 14:52:52 2013 -0700"
      },
      "message": "Update the test output path.\n\nIn order for the automated test to pick up the test.\nThe output must be in /data/nativetest.\n\nChange-Id: Idc15036afb5617ac1ef67ff74ba332c5f73fe155\n"
    },
    {
      "commit": "ad065d38daace14281801127bd447114b7b4daa5",
      "tree": "578cf8abe9a79b88b5c623c33f9d52e9eaef42eb",
      "parents": [
        "bdeaccfdfc26f9257d2d8036381cb5e8982fa6f5",
        "cba2c163555cd329f49d40658ea3ee902e94dda3"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 22:43:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 22:43:14 2013 +0000"
      },
      "message": "Merge \"Camera: Add hotplug support (for fixed # of cameras)\" into jb-mr2-dev"
    },
    {
      "commit": "65d7986ceac6e35426749ac7e05bbd2a38949db4",
      "tree": "41fe024c821e0cbcf8763f6525066c7fd3eb398e",
      "parents": [
        "a97d15e2e2f0b317a345d3a6f02df80b8988b1f6"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 11:07:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 11:23:54 2013 -0700"
      },
      "message": "ProCamera: Fix memory leak in consumeFrameMetadata\n\nBug: 8402301\nChange-Id: I975990185f45bb8552712271b9ac457af08a170c\n"
    },
    {
      "commit": "cba2c163555cd329f49d40658ea3ee902e94dda3",
      "tree": "1d125f0012a52db51a1aec733792c1b41959734c",
      "parents": [
        "a97d15e2e2f0b317a345d3a6f02df80b8988b1f6"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 20 15:56:31 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 26 17:16:11 2013 -0700"
      },
      "message": "Camera: Add hotplug support (for fixed # of cameras)\n\n* Minor: also change addListener to fire the current status upon subscription\n* Minor: STATUS_AVAILABLE is now an alias for STATUS_PRESENT and deprecated\n\nChange-Id: I254608a7332095e3ef201ffea64cff156cfc1b3e\n"
    },
    {
      "commit": "475391897f0886aae1833d5e8b2e5aea47cc36bb",
      "tree": "c425abf53898f2804e9f8adc7ae813d0784fcda4",
      "parents": [
        "acd695c42749f8821b0a0cc27739ddf096c6d4e8"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 18 11:10:48 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 18 11:10:48 2013 -0700"
      },
      "message": "ProCameraTests: Minor add grey/frame count debug-only print outs\n\nChange-Id: I0f7b7f3c083a644e9bb0c2302244a5ad434e96a8\n"
    },
    {
      "commit": "fa4cf9d310685b4c25877cba772ff7da84caf517",
      "tree": "d954ae7a991a1dfc084019433f370b46abb1f6c4",
      "parents": [
        "ce124da179775a81ad7dcc3f33315eca451e66f2"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 04 16:14:23 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 11 16:32:24 2013 -0700"
      },
      "message": "(Camera)ProCamera: Remove unused functions from binder interface\n\nChange-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d\n"
    },
    {
      "commit": "ba5ca4ee770fa0fe9e14990fd13b23f1010f5c98",
      "tree": "435f4462759de475b36d98f9f893fbfb8a8b7e41",
      "parents": [
        "bfc9915f482520eb9676c6d2dbf7f1ac078d937d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 11:21:00 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 16:25:55 2013 -0800"
      },
      "message": "ProCamera: Add CpuConsumer asynchronous mode support\n\nBug: 8290146\nBug: 8291751\nChange-Id: I25423a2b8a70ac7169911b1c7b482aa17190fe0f\n"
    },
    {
      "commit": "bfc9915f482520eb9676c6d2dbf7f1ac078d937d",
      "tree": "1353c3f2f63777397770edfd1f146c691e5684e2",
      "parents": [
        "3fa4891f54bbfdbe8ee652930d22c96639964eff"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 27 12:55:20 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 15:55:15 2013 -0800"
      },
      "message": "Camera: Drop ProCamera connections when a Camera connection happens\n\n* Also adds an ICameraServiceListener with available/not available statuses\n\nBug: 8291653\nChange-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84\n"
    },
    {
      "commit": "3fa4891f54bbfdbe8ee652930d22c96639964eff",
      "tree": "fefeb57ca7316faa84ac848d3b597daae7a29417",
      "parents": [
        "b99c5b8eebb35133a08c46b015624bd4c4a6c477"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 10:41:51 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 11:48:46 2013 -0800"
      },
      "message": "ProCameraTest: Drop frames test move processing delay between lock/unlock\n\n* This makes it more likely to find races with the buffer being unlocked\n  by itself\n\nChange-Id: I1fa7dbfb73f60664a02a35678b58bcc9b06893a2\n"
    },
    {
      "commit": "4bc4a3845e456fd464556d79d20650a107e873e5",
      "tree": "f077296572f972d21a7a54c2334fb6a6fd36308e",
      "parents": [
        "a140a6efea1db7837984b3578755cfa4eaa8d92d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 13:36:17 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: Fix waitForFrameBuffer not handling multiple outstanding frames\n\nIf the CpuConsumer triggered multiple onFrameAvailable callbacks in between\na single waitForFrameBuffer call, the old code would only handle 1 callback.\n\nThis meant on two subsequent waitForFrameBuffer calls the second would always\ntimeout when two buffers were already available to be unlocked.\n\nBug: 8238112\nChange-Id: Ibefca35005ac5c408e5ada97ec4a4344a9e3e497\n"
    },
    {
      "commit": "a140a6efea1db7837984b3578755cfa4eaa8d92d",
      "tree": "d7ce2fa02ae78e0ca1fedf453290787ce5cd2be3",
      "parents": [
        "dcb07d51e307019731147751946774f45321edfb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 14:45:03 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: add waitForFrameBuffer/waitForFrameResult blocking calls\n\nChange-Id: I851d41aeecaa15245d5b9d622132e8706d6e292c\n"
    },
    {
      "commit": "dcb07d51e307019731147751946774f45321edfb",
      "tree": "31aad9f274c5a5d600a5aab1d2545111a0510120",
      "parents": [
        "7b33a74bbc514b99c16be7fff9a34e892bc19264"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 14:18:10 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCameraTests: clean up a bit, still needs more cleanup\n\nChange-Id: Ia7e18c81002c8d98176f21553cf13cbd13cfdf5d\n"
    },
    {
      "commit": "7b33a74bbc514b99c16be7fff9a34e892bc19264",
      "tree": "a3c2e719aebc4dc486312970b57c588cba8f5ce9",
      "parents": [
        "a91537e268f2b35f9f0dfdc0c4f84655c93285ae"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 13:49:26 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: Add getInfo for getting static metadata (and a test)\n\nChange-Id: I3b87dfbc621d98bf41f37a892a1012baf85b5166\n"
    },
    {
      "commit": "a91537e268f2b35f9f0dfdc0c4f84655c93285ae",
      "tree": "114691436e16b7c8dfc5929d922712edd2c41aff",
      "parents": [
        "eb72e1796b3af548e87891a6d2b73b0567807f25"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 12:02:29 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - implement onResultReceived callback for metadata callbacks\n\nChange-Id: I46775402b007244bc383d6343a620eebbd492aad\n"
    },
    {
      "commit": "eb72e1796b3af548e87891a6d2b73b0567807f25",
      "tree": "6295a6de3236516de88cd40f0851b56e3eb2f6ef",
      "parents": [
        "5835cc46a2f06dbfa5fbdab70e091896ef2fb438"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 11:43:14 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCameraTests - add CpuConsumer tests for dual streams\n\nChange-Id: Ia010450dc79ac2841645b8c2e1553c9ec74ee5e3\n"
    },
    {
      "commit": "5835cc46a2f06dbfa5fbdab70e091896ef2fb438",
      "tree": "f303abd135f649d5beb940a238b906b4027564f5",
      "parents": [
        "76f8b43909817179b317880202360863b8f976d0"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:29:53 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - add createStreamCpu and unit test\n\nChange-Id: I468172dbfdd78510b273bf9d119c950cbeda7ea3\n"
    },
    {
      "commit": "985fd30a10f6fec4293f071fd258c4726cff5a3d",
      "tree": "493a26cd4544e2858822e8fbaf1ddc04fbd215d4",
      "parents": [
        "68506fd58d26748617babe94d5648503cb3690bb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 18:24:43 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera2Client - add createStream (service is stubbed) and unit test\n\nChange-Id: I1ae7ba9b24f5883c214c19a7ed0eaf0c802d69c1\n"
    },
    {
      "commit": "68506fd58d26748617babe94d5648503cb3690bb",
      "tree": "2e5e9336005bcbf29165acb14ba13a35749be4b5",
      "parents": [
        "39f79f77a435c2f769477caeb071e2f9f6e78742"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:57:31 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera - add createStream stub and unit test for it\n\nChange-Id: Ic05130e63f4f2c0c3278ba348b192992169f105f\n"
    },
    {
      "commit": "39f79f77a435c2f769477caeb071e2f9f6e78742",
      "tree": "0a9f096348c3f74921b16aa92054a8bac330a69f",
      "parents": [
        "5376573eff55f370f041889618c9a7a9e1894615"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jan 30 10:14:24 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCameraTests - add asynchronous locking unit test\n\nChange-Id: Ib79eb84046c9ed898bfb086a6600265fc351924c\n"
    },
    {
      "commit": "5376573eff55f370f041889618c9a7a9e1894615",
      "tree": "b90f41af6bb5a6952c7e7deb6812626c3035d927",
      "parents": [
        "634a51509ee50475f3e9f8ccf897e90fc72ded31"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:41:57 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProClient add asynchronous locks and such\n\nChange-Id: I551e5e5e76d9be733fab5224beaa7309268c0f38\n"
    },
    {
      "commit": "634a51509ee50475f3e9f8ccf897e90fc72ded31",
      "tree": "5d9fc437299a8b5adc391eb721d55c9df00afc87",
      "parents": [
        "1d88023e1de6b9f370eb4be944dd9c4480d01f11"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:15:11 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add ProCamera private binder interface for an API2-light functionality\n\nChange-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274\n"
    },
    {
      "commit": "1d88023e1de6b9f370eb4be944dd9c4480d01f11",
      "tree": "74f8b58c828f3045acf3ab8cb9d8f92046685fd8",
      "parents": [
        "fc42642ab78da5fe25bcbea7a568bf880268a9dc"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 16:50:13 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add unit test infrastructure for libcameraclient\n\nChange-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c\n"
    }
  ]
}
