)]}'
{
  "log": [
    {
      "commit": "2bbdce4e9b9d36ebd6fac699cbefe33c773558fe",
      "tree": "2bb3e0497fbf32e52b2e46bb5aeb91ec531b4629",
      "parents": [
        "e66dc80ed7ab709613d7f465f22793ef3e9d0114"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sun Jan 12 14:55:41 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sun Jan 26 19:20:17 2020 -0800"
      },
      "message": "ICameraService: Add methods to query concurrent streaming camera support.\n\n- getConcurrentStreamingCameraIds() :\n        returns a list of combinations of camera ids that may stream\n        concurrently.\n\n- isConcurrentSessionConfigurationSupported() :\n        queries whether camera devices can support the\n        corresponding given session configurations concurrently.\n\nBug: 77960042\n\nTest: GCA (sanity)\nTest: CTS\n\nChange-Id: Iba237118ccf145695a500a2c406713e416e66011\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "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": "35ae826b8d002b5045e208106a38354d86aed01d",
      "tree": "a02af8be0bb7fca6305333e2136e94d650e42bdb",
      "parents": [
        "54cbc29870372ef9d5763c2a86d86508bc351d1b"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Nov 08 13:11:32 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 14 18:17:58 2018 +0000"
      },
      "message": "Camera: Add support for stream combination query\n\nSupport runtime \"SessionConfiguration\" queries by camera\nclients.\n\nBug: 111593096\nTest: adb shell /data/nativetest64/camera_client_test/camera_client_test\n--gtest_filter\u003dCameraClientBinderTest.CheckBinderCameraDeviceUser,\nCamera CTS\nChange-Id: I1505e7bccdce468490b46ad4546e459354a4cda3\n"
    },
    {
      "commit": "be543d41191ab6354b32b446565c4f1b4c6f75f2",
      "tree": "7d52c2501f00e1f961e13edef8d2c7273f7c4c57",
      "parents": [
        "158ce41988f3706465514265eed1d7e4b6fb123c"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Aug 15 13:16:14 2018 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Nov 12 07:50:24 2018 -0800"
      },
      "message": "cameraserver: Implement HIDL ICameraService skeleton.\n\nImplement basic ICameraService HIDL functions, along with HIDL\u003c\u003d\u003e AIDL\ntype conversions.\n\nBug: 110364143\n\nTest: (build) mm -j64\nTest: lshal-\u003eandroid.frameworks.cameraservice.service@2.0 shows up\nTest: Sanity-\u003e click pictures using GCA.\n\nChange-Id: I44c2a96b1ccc05941d075e2bdeb94a8378d53c67\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "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": "c28189a64a6ef65aecccb6e3bb980f1afc189a1c",
      "tree": "55c55d7c4317558551ffb0313d96e4703de6936d",
      "parents": [
        "ac3ce6c30c5859401332caa207ed79ac188de647"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Nov 27 23:05:10 2017 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Sat Jan 20 15:40:28 2018 +0000"
      },
      "message": "Camera: Add physicalCameraId to OutputConfiguration\n\nAdd physical camera ID in OutputConfiguration so that the application\ncan optionally set physical camera id for an output stream.\n\nTest: Camera CTS\nBug: 64691172\nChange-Id: I5909cd71618cc07ef403c420913eb1c02f1e10f0\n"
    },
    {
      "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": "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": "032845cc878f538e3336c96e1c24668953eab971",
      "tree": "a2697cdbed6665b9de900200e4bbea86fa19d3b0",
      "parents": [
        "e2ce9366d1b138326035c643b7fec68cd2dc83c5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 08 17:05:02 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 09 23:07:17 2017 +0000"
      },
      "message": "fallout of view::Surface / Surface split\n\nTest: built and booted device\nBug: treble\nChange-Id: I022ebb581563463e93935da61a113087043dfeca\n"
    },
    {
      "commit": "758c215374dba397dabe17b8e96dd38593c09dd7",
      "tree": "d3c1326f44d95e97d5c73270f0195c5e2b7297ae",
      "parents": [
        "217fc01b390d88993c1c94669b251f952fe2c44e"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 10 18:26:18 2017 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 24 11:25:06 2017 -0800"
      },
      "message": "Camera: Combine handling of deferred surface and shared surface\n\n- Refactor the OutputConfiguration to contain isDeferred and isShared\n  flag, and not contain NULL surface.\n- Unify the handling of deferred surface and shared surface.\n\nTest: Camera CTS, and manual testing of GoogleCamera use cases\nBug: 33777818\nChange-Id: I5dd3472f0f2133699b0e9fbdd8ba456956222746\n"
    },
    {
      "commit": "addae1cfa92c3bae2b59917160da5520d2a25865",
      "tree": "d1b4f95e84a693a1f932337f9e45a47e35cf2d0a",
      "parents": [
        "7a667f6675f6dfc07892e0f9e67c60b26002e8f8",
        "0129d52df9794d6fdf06be304722b5cb51a2eab5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 01:54:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 01:55:02 2017 +0000"
      },
      "message": "Merge \"camera2: Add support for secondary surface for stream\""
    },
    {
      "commit": "f675356f9e275b9a52101a997ad20404922b5147",
      "tree": "299c3ff7729746a2babe30ee34036b4d6906b409",
      "parents": [
        "5a3b54df3014ece49eb1f339e5598c01c6126251"
      ],
      "author": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Tue Oct 11 14:51:05 2016 -0700"
      },
      "committer": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Thu Jan 12 12:19:20 2017 -0800"
      },
      "message": "Clean up Fence a little.\n\nTest: No functional change.\n\nChange-Id: Ie0836b4bd589cbadf219d893b44f82f70a051174\n"
    },
    {
      "commit": "0129d52df9794d6fdf06be304722b5cb51a2eab5",
      "tree": "f1d74ea701960753675b03385434c90a7c3c5875",
      "parents": [
        "844800fb97bfd061f845cd13d42fbdfacdbca6c5"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sun Oct 30 22:43:41 2016 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 10 10:31:40 2017 -0800"
      },
      "message": "camera2: Add support for secondary surface for stream\n\n- Enhance OutputConfiguration to contain multiple surfaces for one\n  underlying stream.\n- Create Camera3SharedOutputStream to handle streams with multiple\n  surfaces.\n- Create Camera3StreamSplitter to handle buffer flows between camera and\n  multiple consumers.\n\nTest: cts, and manually test camera preview/snapshot/recording\nBug: 33777818\nChange-Id: Ia010c3cc9d9b4bd5b9ea03cc42fe4e0a0d8033f1\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": "48932bbf9f1e74282419a54c116afbb51a5db786",
      "tree": "0053a289b1bc0c79b972da2371f339a673ccfea5",
      "parents": [
        "8e7b58c0aeb6d106d9f83ff0048c30849f12df82"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 30 13:45:53 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 30 14:13:20 2016 -0700"
      },
      "message": "Camera2: CaptureRequest: Use common code for Surface unparcel\n\nDon\u0027t re-implement the native unparceling of Surface, that\u0027s\nwhat view::Surface is for.\n\nBug: 31162160\nTest: Camera CTS passes\nChange-Id: I31eae73ba08d820e4b17f2bcd3867d8f4473d68f\n"
    },
    {
      "commit": "ccdf3e2f4104d7e43ba790220e2703ab27671af2",
      "tree": "532c520f48145adbf7816a9366ddce75995eb0b0",
      "parents": [
        "790a227cecca77f00e954e9bf28e7015c8bf50ff"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Mon Aug 29 20:28:38 2016 -0700"
      },
      "committer": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Mon Aug 29 20:28:38 2016 -0700"
      },
      "message": "camera2: Add parcel/unparcel for missing Surface field.\n\nRead/write the newly added isSingleBuffered int in CaptureRequest.\n\nBug 31162160\n\nChange-Id: I1801079648771579917d73695d0c060f875c1d2e\n"
    },
    {
      "commit": "5d677d1f0879d5101e38df480a38228a64d63959",
      "tree": "eb8724a33f7f422d4dd0914e206c19948fc4da68",
      "parents": [
        "827388ba4fd8d5e859858dbb29ced986b9ed77f4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun May 29 16:52:39 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jun 02 15:42:57 2016 -0700"
      },
      "message": "Camera3: add deferred surface support\n\nInitial native implementation and aidl changes for surfaceless support.\n\nBug: 28323863\nChange-Id: Id6634c3ef2ecc84422a88f63de0a19a0cb496e96\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": "018107a82d80f186d3efca250e38e9c85436a4d9",
      "tree": "cad8e46d1d824328bdd8dfbace742397a21da310",
      "parents": [
        "97385561584e96c1c1149cf883e0ad1c75cfbdd0"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jan 18 15:32:50 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sat Jan 23 16:26:47 2016 -0800"
      },
      "message": "camera: Add surface set ID to OutputConfiguration\n\nBug: 25088440\nChange-Id: I95153522b8b1f3ec4c98800b94a95fe7782c9205\n"
    },
    {
      "commit": "c78ac26e3a65328fc0118f16ee76a800d0687eb7",
      "tree": "9009e37c981c7cbfdd106c44de2622edf1672a49",
      "parents": [
        "a09f8cf8c76fa946c4b91be059b420941abcdc3b"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 13 17:58:46 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Aug 14 17:30:24 2015 -0700"
      },
      "message": "Add experimental camera session prepare API.\n\nBug: 18949148\nChange-Id: I8f73e68ea2e3acc60d98954106f364d13f439a82\n"
    },
    {
      "commit": "b25e3c87724b6147ed1da7c1d6617c39bfce2fbf",
      "tree": "c0e95e487b2583b8ba87e2ce5505fb74dec9d2d8",
      "parents": [
        "1bc88814f530bf67e425cfb8cea0f2b8dce3c03f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 15 16:04:27 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 16 14:55:33 2015 -0700"
      },
      "message": "Camera: Add hidden experimental tearDown method.\n\nBug: 18949148\nChange-Id: Ie86ec7d1ec3db54e1154563b2339a208a935f849\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": "1fa8999c91d5df81949aa723000058380cd3faa2",
      "tree": "3ebf10fd408c34bc35108c24df5ccbd02e2153eb",
      "parents": [
        "4170eeec0a2dc2a9543b7e4674a43b3d2faac61d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jun 01 15:44:31 2015 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jun 03 20:22:06 2015 -0700"
      },
      "message": "Camera2: implement high speed video APIs\n\nBug: 21442271\nChange-Id: Ia0ae5bbd3e8c81bad293c29987301a2457817d12\n"
    },
    {
      "commit": "4d44cad22ea925a651463f2d51d6586c14d4b787",
      "tree": "3e9fa49f6f98a8deee591f58054488ddc6e46505",
      "parents": [
        "4123d6db0642cd13e69230705b12d6b6fee6f73f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Apr 11 13:15:45 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 15 10:51:33 2015 -0700"
      },
      "message": "Camera2: Add prepare for output streams\n\nThe prepare call asynchronously pre-allocates buffers for a given\noutput stream, and then fires the onPrepared callback.\n\nNot implemented for Camera2Device or used in Camera2Client.\n\nChange-Id: I1cccdfff846dd6985133c591dbdceed823929ade\n"
    },
    {
      "commit": "618ff8a48a0c895a78f91f5692510c2a809425c3",
      "tree": "9473236e1e759aecf921b87e50302d933bae041d",
      "parents": [
        "25f82752942b1c78aec8ee303d61afff85cff9d1"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Mar 13 11:27:17 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 13 17:25:36 2015 -0700"
      },
      "message": "camera2: add reprocess support\n\nAdd support to create input stream, submit reprocess capture requests,\nand receive reprocess capture results.\n\nChange-Id: Iee2d4313f3d52616a484eaea7a28f5ef9d8a674b\n"
    },
    {
      "commit": "b97babb8c08969b55af3b6456d15f764c8873d3f",
      "tree": "e972ec2e9ff83219464a753f4298aa37c3220e55",
      "parents": [
        "802a568f77b9a372537e4216b2a7cbb203958a87"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 12 13:42:44 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 18 14:15:12 2015 -0700"
      },
      "message": "Camera: plumbing rotation field through\n\nChange-Id: I0f4343a0bfa7bf09ba887c78a1da1c08daa35333\n"
    },
    {
      "commit": "3d82c0d9ed2b3e956ad699a9ca2c8a70c9d24678",
      "tree": "7f36bbbe98842a1b7cd46137afb853ad5d9b8fe1",
      "parents": [
        "df68f07ca7cdeb500fcf101b317c61a0f0865723"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 23 15:19:19 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 06 10:38:55 2015 -0800"
      },
      "message": "Camera: Wire up dataSpace, clean up ICameraDeviceUser\n\n- Remove unused arguments from ICameraDeviceUser::createStream\n- Add dataSpace as a stream parameter, plumb it through everything\n\nChange-Id: I608cafe694785d1c512276e71b2016f8ac3b0ccb\n"
    },
    {
      "commit": "f6b1396150ed55fa9829e31f11533cd65c61d914",
      "tree": "06247c9de5d10f56ecbfc8091b7d5cc8149f14f4",
      "parents": [
        "3097dafa3ee60440c10b5bf9ed4d355fee1c1ae5",
        "8189863774bd479f0060bbe1e4ce74dadcfc55c3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 03 18:55:44 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 03 18:55:44 2015 +0000"
      },
      "message": "am 81898637: am 16e8d463: Merge \"camera2: fix various BpCameraDeviceUser methods to return correct result.\"\n\n* commit \u00278189863774bd479f0060bbe1e4ce74dadcfc55c3\u0027:\n  camera2: fix various BpCameraDeviceUser methods to return correct result.\n"
    },
    {
      "commit": "19fa0feaef631f92ab812cd1640252ade5fae1a2",
      "tree": "1c42641374d9ec3af44b3a79ddcd71d5e7b803cf",
      "parents": [
        "434c80e54fb0dbf01941aa7560d5add5e69e0f1d"
      ],
      "author": {
        "name": "John Lin",
        "email": "jolin@mozilla.com",
        "time": "Mon Feb 02 18:10:42 2015 +0800"
      },
      "committer": {
        "name": "John Lin",
        "email": "jolin@mozilla.com",
        "time": "Tue Feb 03 04:10:44 2015 +0000"
      },
      "message": "camera2: fix various BpCameraDeviceUser methods to return correct result.\n\n- submitRequest*(): res is the request ID and not always equals to NO_ERROR.\n- cancelRequest() and flush(): the result of reading last frame number should be put in resFrameNumber, not in res.\n\nChange-Id: Ic81c58f4ac14c05b3db4bdc5c99f48d00665d3fc\nSigned-off-by: John Lin \u003cjolin@mozilla.com\u003e\n"
    },
    {
      "commit": "5fc21ebe222505e3d89c5f2f5e2ec3fcdbd0b732",
      "tree": "997e43d39c1cbb5b7fb6079de34a224bf0da1554",
      "parents": [
        "0cd651d18eeee52be945b0379b667473549bbf63",
        "c2d88d0b1571c11187e32b94e281ded17606070f"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Nov 21 02:43:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 21 02:43:14 2014 +0000"
      },
      "message": "am c2d88d0b: am f4ea51fd: Merge \"camera2: fix an error reading a NULL string\" into lmp-mr1-dev\n\n* commit \u0027c2d88d0b1571c11187e32b94e281ded17606070f\u0027:\n  camera2: fix an error reading a NULL string\n"
    },
    {
      "commit": "7bc4fc847770d399d7c4a7afee5aa58b94f3b897",
      "tree": "20a25d78f016adfaa7ec0279f40610d637df04fd",
      "parents": [
        "990dad996b748fdaa2041cc6d039e96ccfeae6fb"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Nov 20 10:36:22 2014 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Nov 20 10:40:38 2014 -0800"
      },
      "message": "camera2: fix an error reading a NULL string\n\nHandle the case where the surface name isn\u0027t set.\n\nBug: 10461464\nChange-Id: I3ee233a7a5f6489513e6d87241cda2aaefbfd43b\n"
    },
    {
      "commit": "f888020c6e2735624f2b2a30e72aca24e17b8b4d",
      "tree": "76d92b7a91a4bebd4e84d6afdc2ef4a2e4943df8",
      "parents": [
        "d02641098b16df2fd4cd32b72a30eb6f3b64e12b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 14 07:58:25 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 17 10:05:07 2014 -0800"
      },
      "message": "Update calls to IInterface::asBinder()\n\nto use the new static version.\n\nChange-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a\n\nConflicts:\n\tmedia/libmedia/IAudioFlinger.cpp\n\tmedia/libmedia/IMediaPlayer.cpp\n\tmedia/libstagefright/CameraSource.cpp\n"
    },
    {
      "commit": "29478402ba0683323b7c7ff4843c8c2a4f0673d5",
      "tree": "480a20a060a588baa99af7849b31d78f672ba19a",
      "parents": [
        "77a3374a6170fb5f0168169bc4bc3fa9baf318eb"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu May 22 13:09:57 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu May 22 13:24:44 2014 -0700"
      },
      "message": "cameraservice: Fix ICameraDeviceUser aidl order.\n\nChange-Id: I19eb3d2ff86c0b395b6358e018c677b6e2d45c75\n"
    },
    {
      "commit": "b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8",
      "tree": "a97770362fc690d625a0383597cb057d48737876",
      "parents": [
        "7ac0039611ea7ea18f9545f96a8f5cb31dcdebe5"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri May 09 19:57:56 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed May 21 18:14:41 2014 -0700"
      },
      "message": "camera2: Update CameraService for HAL1 shim.\n\nUpdates the camera service to handle shim connections.\n\nChanges include:\n- Adds begin/end configure binder calls.\n- Adds cache for shim client static camera metadata.\n- Implements basic getCameraCharacteristic functionality for shim clients.\n\nBug: 15116722\nBug: 15117269\n\nChange-Id: I510c5888ca15f8e7d3b8ed1680ff1c7f8f514744\n"
    },
    {
      "commit": "cb0652e5a850b2fcd919e977247e87239efaf70e",
      "tree": "bdba4ac95dedd4ad9be77b9f5a86e147c11224f3",
      "parents": [
        "d27368f7d28813f7dad37fc31940c822df80e68e"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Wed Mar 12 18:29:36 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 10 11:54:08 2014 -0700"
      },
      "message": "CameraService: trigger appropriate callbacks for burst capture.\n\n* Instead of tracking CameraMetadata only, now we track both\nCameraMetadata and CaptureResultExtras, which is not part of\nthe HAL metadata. This will enable the correct callback of\nonCaptureStarted and onResultReceived given burst requests.\n\n* Get last frame number in reply when submitting requests,\ncanceling requests, and flushing device. For repeating requests,\nthis frame number is the last frame number of the previous\nrequest. For non-repeating requests, this frame number is the\nexpected last frame number of the current request. The goal\nis provide frame number to Java side in order to trigger\nonCaptureSequenceCompleted correctly.\n\n* Fix notifyError so that onDeviceError can be called correctly.\n\nBug: 10749500\nChange-Id: I2f3dda6c530090055d4a2ff9f0f087bbbe8d9257\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": "e07f53720bcf543bcfe90c228a49c2a85a3fdb4c",
      "tree": "388f8ab6a1b539a7bd8b903479864f1c1a3afeb0",
      "parents": [
        "8271f1a2225a34a0748624786392213a746c56d7",
        "abaa51d3ca31f0eda99e1d271e6dc64c877dbf58"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 27 16:49:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 27 16:49:13 2013 +0000"
      },
      "message": "Merge \"Camera2: Add flush support\" into klp-dev"
    },
    {
      "commit": "88aef23d00a509693a955b6a207c0fb023fbc92d",
      "tree": "9f184b520c7e87a64771c7c1a3e572435f0c2132",
      "parents": [
        "33142e1e318c0c766a385d88d2434f62f9e2dfe7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Aug 23 17:47:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Aug 23 17:47:06 2013 -0700"
      },
      "message": "camera2: Get rid of annoying \"Reading a NULL string....\" error message\n\nBug: 10461464\nChange-Id: Ie99f025db0e0e12c703f2d391e218b49330ee4dd\n"
    },
    {
      "commit": "abaa51d3ca31f0eda99e1d271e6dc64c877dbf58",
      "tree": "52f4cc1078708f7c0099fded06dcb01daf6ca6bb",
      "parents": [
        "62c1a46eec047eb5fbc4b90432ec1ce65b76fb75"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 14 11:37:00 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 23 14:08:27 2013 -0700"
      },
      "message": "Camera2: Add flush support\n\n- On HAL2 devices, fall back to wait until idle\n- On HAL3 devices, call HAL flush method\n\nBug: 9758581\nChange-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a\n"
    },
    {
      "commit": "11d0d44d583f679638cc927bfffe920e495e90cc",
      "tree": "e795a55fea68ccd8f7b5a92edbadaa3b77260a7f",
      "parents": [
        "7b82efe7a376c882f8f938e1c41b8311a8cdda4a"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 09:50:58 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 12:10:51 2013 -0700"
      },
      "message": "Camera: fix the metadate parcel write issue\n\nAlso rename the frameId to requestId to make it less confusing.\n\nChange-Id: I14a20b6fcabb86294afb31fc0c56397e185c1373\n"
    },
    {
      "commit": "7b82efe7a376c882f8f938e1c41b8311a8cdda4a",
      "tree": "d7ed69f0a495bc1a873a285ba11e72a9867c5565",
      "parents": [
        "d054c32443a493513ab63529b0c8b1aca290278c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 25 17:12:35 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 10:58:44 2013 -0700"
      },
      "message": "Camera: Rename new API to camera2, rearrange camera service\n\n - Support API rename from photography to camera2\n - Reorganize camera service files\n   - API support files to api1/, api2/, api_pro/\n   - HAL device support files into device{1,2,3}/\n   - Common files into common/\n   - Camera service remains at top-level\n\nChange-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9\n"
    }
  ]
}
