)]}'
{
  "log": [
    {
      "commit": "dcae796ffe640c00a65c18294c0c70563bae644c",
      "tree": "c1b07936f3d22be1bf9c8e7775a2058f7628f5e4",
      "parents": [
        "713d77a2ac6badfbde82e12e771ebb7c169a08bc"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Aug 20 21:20:10 2024 +0000"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Nov 25 17:30:58 2024 +0000"
      },
      "message": "Add FMQ support to camera2 SDK for metadata transfer\n\nThis CL adds support for CaptureResult metadata to be transferred over\nFMQ instead of binder copies.\n\nBug: 362791857\n\nFlag: com.android.internal.camera.flags.fmq_metadata\n\nTest: GCA\nTest: Perfetto profiling shows decreased cameraserver to client\n      onResultReceived latency\n\nChange-Id: Ia8df1a4cef5008c06dc2ca4fdd319704d5e049ab\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "1c1bee0543ba23cf9b50ee78b610768f6eee9e48",
      "tree": "c473a07b394ca00d89db098b7cd35c56009334c6",
      "parents": [
        "af8be3f58b905f3c12f740564cb449b81105a992"
      ],
      "author": {
        "name": "Austin Borger",
        "email": "borgera@google.com",
        "time": "Thu Jun 01 16:51:35 2023 -0700"
      },
      "committer": {
        "name": "Austin Borger",
        "email": "borgera@google.com",
        "time": "Mon Jun 26 18:01:11 2023 +0000"
      },
      "message": "cameraservice: Migrate all internal String8/String16s to std::string\n\nString8 and String16 are deprecated classes. It is recommended to use\nstd::string or std::u16string wherever possible. String16 is the native\nstring class for aidl, but Strings marked @utf8InCpp can use std::string\ndirectly.\n\nThis patch standardizes libcameraservice\u0027s use of strings to\nstd::string, which is capable of storing utf-8 strings. This makes the\ncode more readable and potentially reduces the number of string copies\nto a minimum.\n\nA new set of string utils is added to frameworks/av/camera to aid this\nmigration.\n\nChange-Id: I59330ac03c8a52b6c21a2388bba0c143e68af4cf\nBug: 265487852\nTest: Presubmit, ran CtsCameraTestCases on Cuttlefish, adb shell dumpsys media camera and observed output\n"
    },
    {
      "commit": "ffc4c0164df8a13f365e980d2ebcc4777f44256b",
      "tree": "aafcd27dbbcb7dc37d538db31f70e1d6d15566b4",
      "parents": [
        "0830985fde7eb864f348ebdcaca39cd651f63769"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Apr 20 15:55:46 2022 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed May 04 23:51:20 2022 +0000"
      },
      "message": "Camera: Add support for readout timestamp\n\nThe readout timestamp is added to CaptureResultExtras used by\nonCaptureStarted(). If the HAL supports readoutTimestamp, the\nreadout timestamp is passed in onCaptureStarted().\n\nTest: atest Experimental2022SystemTest\nBug: 229097448\nBug: 229773853\nChange-Id: I1ac822b14a2a4198e7c8ef17a39212f504c2d719\n"
    },
    {
      "commit": "4550ed484982dc42906dcf42cb7fb5abcff8284e",
      "tree": "34ae6a3cc6176c16865e7906a2428ebcbe37527e",
      "parents": [
        "da3489fb4ff5241186b15d295a5b9c78d86dfcc0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 11 16:20:19 2021 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 11 16:20:19 2021 -0700"
      },
      "message": "Remove a use of String16::remove.\n\nThis function, ironically, is being removed. This is one of only two\nusers, and it\u0027s pretty hard to use correctly for anything other than\nclearing the entire string. In this case, assigning u\"\" seems clearer\neven in a world where remove() was better implemented.\n\nTest: treehugger\nChange-Id: Ia6c7601f4303537a66bc3051e8a7743716367d6c\n"
    },
    {
      "commit": "b7b426553c366e19327000605c58fe9d2206206b",
      "tree": "cd2fbdeb52dcd6e58c5e5370a22bbd97e4266865",
      "parents": [
        "a0a5ad220b5fe5ef6bf880ea41b7476f0fcc703b"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu May 07 11:59:02 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Jun 18 11:09:48 2020 -0700"
      },
      "message": "Camera: Add lastCompletedFrameNumber in CaptureResultExtras (take 2)\n\nThe new fields in CaptureResultExtras notify the application the last\ncompleted frame numbers. A frame number is completed if:\n- All buffers are returned, and\n- Final capture result is returned, or RESULT_ERROR/REQUEST_ERROR is called,\n\nIgnore the HAL\u0027s notify(ERROR_BUFFER), and depends on the buffers\u0027\nSTATUS_ERROR bit, capture result metadata, and ERROR_RESULT/ERROR_REQUEST\nfor sending ERROR_BUFFER to the application.\n\nThis makes sure client doesn\u0027t ignore BUFFER_ERROR after capture\nresult metadata callback.\n\nPublic API and NDK logic are fixed. VNDK is yet to be done.\n\nTest: Camera CTS\nBug: 155353799\nChange-Id: I54d198080b251239aeb88a8f93456bba6b3630d8\n"
    },
    {
      "commit": "51b882c2a996be51f4fd2108348949e7435dcbbb",
      "tree": "14f2b63319b45ba43108b1b318dceafa419543b8",
      "parents": [
        "730a7916262d23d406296f21aa2ac89a0a47c94c"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Wed Jun 10 05:41:44 2020 +0000"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Wed Jun 10 05:41:44 2020 +0000"
      },
      "message": "Revert \"Camera: Add lastCompletedFrameNumber in CaptureResultExtras\"\n\nRevert \"Camera: Fix race for onCaptureBufferLost callback\"\n\nRevert submission 11415576-bufferErrorLossFix\n\nReason for revert: Breaks Camera on at least the wembley device\nReverted Changes:\nI12b716acc:Camera: Fix race for onCaptureBufferLost callback\nI43f0f5ea1:Camera: Add lastCompletedFrameNumber in CaptureRes...\n\nBug: 158622719\nChange-Id: I98440c52f61d571e1cb6692667fb067020746795\nTest: Locally tried this revert on rvc-dev on a wembley, and now the Camera works\n"
    },
    {
      "commit": "730a7916262d23d406296f21aa2ac89a0a47c94c",
      "tree": "63998bad70f9e02896b03b6dab2d79f3301fafb3",
      "parents": [
        "4e48c2477d084919f13ee191a6c36713d83063f3"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu May 07 11:59:02 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Jun 03 14:32:02 2020 -0700"
      },
      "message": "Camera: Add lastCompletedFrameNumber in CaptureResultExtras\n\nThe new fields in CaptureResultExtras notify the application the last\ncompleted frame numbers. A frame number is completed if:\n- All buffers are returned\n- Final capture result is returned, or CAPTURE_ERROR is called,\n- For buffers that are cancelled, all notifyError() is called.\n\nThis makes sure client doesn\u0027t ignore BUFFER_ERROR after capture\nresult metadata callback.\n\nPublic API and NDK logic are fixed. VNDK is yet to be done.\n\nTest: Camera CTS\nBug: 155353799\nChange-Id: I43f0f5ea18a670dfa00872ebc581567e2df76ad4\n"
    },
    {
      "commit": "8a0be29c19ba7c1de4a0983b8dbcafb730b17fc0",
      "tree": "a7514664b6bda989070d4b7548783a8af1578345",
      "parents": [
        "450c7b2aa6e5df8cdbebd763c719b3e149fb75f2"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jan 08 13:10:38 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Feb 19 14:48:59 2020 -0800"
      },
      "message": "Add some move constructors and assignment operators to CameraMetadata.\n\nThis avoids unnecessary copying of camera metadata which can get\nexpensive in cases of large camera metadata blobs.\n\nBug: 71727540\n\nTest: GCA (sanity)\nTest: Add CallStack::logStack() in CameraMetadata\u0027s move asignment\n      operator -\u003e see that it gets called for every insertResultLocked.\n\nChange-Id: I6c75c7ce5267126916c865b028e5f7c7f50b763b\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "edec62de621a69e66db6b753dacb4919da16f3ae",
      "tree": "fc20b99e88ece37258d8da39461e6553a62d8a27",
      "parents": [
        "f97d64cd3a1588b22b47dd3805be291525bb17d9"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 19 17:59:24 2019 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Mar 22 13:27:08 2019 -0700"
      },
      "message": "Camera: Include the physical camera device during errors\n\nThe physical camera device ID must be present as part\nof the capture result extras in case of corresponding\nresult failure notification.\n\nBug: 128835627\nTest: Camera CTS,\nAImageReaderVendorTest\n--gtest_filter\u003dAImageReaderVendorTest.LogicalCameraPhysicalStream\nChange-Id: I042af8bd85eaadd389b059c2833f352ceb2f40fc\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": "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": "e95bb6312b972117a0ee70eabf78fcd118018f61",
      "tree": "25f870b8ee2f63b99fd689905462fcbff68312f8",
      "parents": [
        "9322ba85a06ae149575ab102dc9bcffb4388cc7e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Mar 06 19:55:44 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Mar 06 19:58:39 2016 -0800"
      },
      "message": "Camera3: Add error stream ID for buffer drop errors\n\nTo enable passing buffer drop errors to API users\n\nBug: 24168122\nChange-Id: I2769d0ba1fbd9a09494d5904eac511cecea3e6a8\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": "204e3295e2814052aef7e45ee9edd60128efbbd0",
      "tree": "1110e6c06e489c9c2003398e1768b9194effee78",
      "parents": [
        "671160ffe81592efa376dc1ff0fc3f4ddcdebc35"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 14 17:09:23 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 16 15:27:17 2014 -0700"
      },
      "message": "Camera HAL3: migrate from partial quirks to partial result\n\n- Enable the normal partial result path for HAL3.2, the quirk is only used\nfor the HAL version lower than HAL3.2. The partial quirks is no longer supported\nfor HAL3.2 or higher versions.\n- Add CameraDeviceBase getDeviceVersion API.\n- Fix some build warnings\n\nChange-Id: I7a1b03d4d5fd5258d2addfba4368bee2ba691337\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"
    }
  ]
}
