)]}'
{
  "log": [
    {
      "commit": "e9179cf47b6ac3c4246fb78f515ede3382aff7bd",
      "tree": "22d5a36e7cbfee35ccaef0ea9fcd37416555a46b",
      "parents": [
        "d90aeec7d734fab978b550df142ea3bf75be7dd7",
        "31e1e5dcf21aa6fdab349fe77bc12eabf57b0c4a"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Feb 22 23:59:11 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 22 23:59:11 2021 +0000"
      },
      "message": "Merge \"libcamera_client: Add utils function isCameraServiceDisabled.\""
    },
    {
      "commit": "31e1e5dcf21aa6fdab349fe77bc12eabf57b0c4a",
      "tree": "45e73187e66a31cc54a0fbdc82ce6e234eda4d60",
      "parents": [
        "cd2b79a8d7962fa754c0387990c9ff67fa201350"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Sep 08 16:25:17 2020 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Feb 22 21:09:52 2021 +0000"
      },
      "message": "libcamera_client: Add utils function isCameraServiceDisabled.\n\nNote: ndk_vendor/ACameraManager.cpp is vendor code whcih can\u0027t depend on\na framework library without it being vndk, which libcamera_client isn\u0027t.\n\nBug: 168061412\n\nTest: builds\nTest: Camera app, native cts imagereader test(validity)\n\nChange-Id: I87d8e056d0e8ef938d5c8f976417ca707d6471d9\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n(cherry picked from commit f5b9cc68a46184bd18ecf7c4d9d150460acd19e1)\n"
    },
    {
      "commit": "948e6aace91d16acfaa97763c7228029a1c2afe0",
      "tree": "e1213aacab8f21fd8bf9dcd02dbc82741013379f",
      "parents": [
        "367398038247b09a3f92e05affac5f9b1f5e2f90"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 21:02:31 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 04:09:57 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/av\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  apex/Android.bp\n  camera/cameraserver/Android.bp\n  camera/tests/Android.mk\n  cmds/screenrecord/Android.bp\n  cmds/stagefright/Android.mk\n  drm/common/Android.bp\n  drm/drmserver/Android.bp\n  drm/libdrmframework/Android.bp\n  drm/libdrmframework/plugins/common/util/Android.bp\n  drm/libdrmframework/plugins/forward-lock/FwdLockEngine/Android.bp\n  drm/libdrmframework/plugins/forward-lock/internal-format/common/Android.bp\n  drm/libdrmframework/plugins/forward-lock/internal-format/converter/Android.bp\n  drm/libdrmframework/plugins/forward-lock/internal-format/decoder/Android.bp\n  drm/libdrmframework/plugins/passthru/Android.bp\n  drm/libmediadrm/Android.bp\n  drm/libmediadrm/fuzzer/Android.bp\n  drm/libmediadrm/protos/Android.bp\n  drm/libmediadrm/tests/Android.bp\n  drm/mediacas/plugins/clearkey/Android.bp\n  drm/mediacas/plugins/clearkey/tests/Android.bp\n  drm/mediacas/plugins/mock/Android.bp\n  drm/mediadrm/plugins/clearkey/common/Android.bp\n  drm/mediadrm/plugins/clearkey/default/Android.bp\n  drm/mediadrm/plugins/clearkey/default/tests/Android.bp\n  drm/mediadrm/plugins/mock/Android.bp\n  media/audioserver/Android.mk\n  media/bufferpool/1.0/Android.bp\n  media/bufferpool/1.0/vts/Android.bp\n  media/bufferpool/2.0/Android.bp\n  media/bufferpool/2.0/tests/Android.bp\n  media/codec2/components/aac/Android.bp\n  media/codec2/components/amr_nb_wb/Android.bp\n  media/codec2/components/aom/Android.bp\n  media/codec2/components/avc/Android.bp\n  media/codec2/components/base/Android.bp\n  media/codec2/components/cmds/Android.bp\n  media/codec2/components/flac/Android.bp\n  media/codec2/components/g711/Android.bp\n  media/codec2/components/gav1/Android.bp\n  media/codec2/components/gsm/Android.bp\n  media/codec2/components/hevc/Android.bp\n  media/codec2/components/mp3/Android.bp\n  media/codec2/components/mpeg2/Android.bp\n  media/codec2/components/mpeg4_h263/Android.bp\n  media/codec2/components/opus/Android.bp\n  media/codec2/components/raw/Android.bp\n  media/codec2/components/vorbis/Android.bp\n  media/codec2/components/vpx/Android.bp\n  media/codec2/components/xaac/Android.bp\n  media/codec2/core/Android.bp\n  media/codec2/faultinjection/Android.bp\n  media/codec2/fuzzer/Android.bp\n  media/codec2/hidl/1.0/utils/Android.bp\n  media/codec2/hidl/1.0/vts/functional/Android.bp\n  media/codec2/hidl/1.0/vts/functional/audio/Android.bp\n  media/codec2/hidl/1.0/vts/functional/common/Android.bp\n  media/codec2/hidl/1.0/vts/functional/component/Android.bp\n  media/codec2/hidl/1.0/vts/functional/master/Android.bp\n  media/codec2/hidl/1.0/vts/functional/video/Android.bp\n  media/codec2/hidl/1.1/utils/Android.bp\n  media/codec2/hidl/client/Android.bp\n  media/codec2/hidl/services/Android.bp\n  media/codec2/sfplugin/Android.bp\n  media/codec2/sfplugin/tests/Android.bp\n  media/codec2/sfplugin/utils/Android.bp\n  media/codec2/tests/Android.bp\n  media/codec2/vndk/Android.bp\n  media/codecs/amrnb/common/Android.bp\n  media/codecs/amrnb/enc/fuzzer/Android.bp\n  media/codecs/amrnb/fuzzer/Android.bp\n  media/codecs/amrwb/dec/fuzzer/Android.bp\n  media/codecs/amrwb/enc/Android.bp\n  media/codecs/amrwb/enc/SampleCode/Android.bp\n  media/codecs/amrwb/enc/fuzzer/Android.bp\n  media/codecs/amrwb/enc/test/Android.bp\n  media/codecs/g711/decoder/Android.bp\n  media/codecs/g711/fuzzer/Android.bp\n  media/codecs/m4v_h263/dec/Android.bp\n  media/codecs/m4v_h263/dec/test/Android.bp\n  media/codecs/m4v_h263/fuzzer/Android.bp\n  media/codecs/mp3dec/fuzzer/Android.bp\n  media/extractors/Android.bp\n  media/extractors/aac/Android.bp\n  media/extractors/amr/Android.bp\n  media/extractors/flac/Android.bp\n  media/extractors/fuzzers/Android.bp\n  media/extractors/midi/Android.bp\n  media/extractors/mkv/Android.bp\n  media/extractors/mp3/Android.bp\n  media/extractors/mp4/Android.bp\n  media/extractors/mpeg2/Android.bp\n  media/extractors/ogg/Android.bp\n  media/extractors/tests/Android.bp\n  media/extractors/wav/Android.bp\n  media/img_utils/Android.bp\n  media/libaaudio/Android.bp\n  media/libaaudio/examples/Android.bp\n  media/libaaudio/examples/input_monitor/Android.bp\n  media/libaaudio/examples/loopback/Android.bp\n  media/libaaudio/examples/write_sine/Android.bp\n  media/libaaudio/src/Android.bp\n  media/libaaudio/tests/Android.bp\n  media/libaudioclient/Android.bp\n  media/libaudioclient/tests/Android.bp\n  media/libaudiofoundation/Android.bp\n  media/libaudiofoundation/tests/Android.bp\n  media/libaudiohal/Android.bp\n  media/libaudiohal/impl/Android.bp\n  media/libaudioprocessing/Android.bp\n  media/libaudioprocessing/audio-resampler/Android.bp\n  media/libaudioprocessing/tests/Android.bp\n  media/libaudioprocessing/tests/fuzzer/Android.bp\n  media/libcpustats/Android.bp\n  media/libdatasource/Android.bp\n  media/libeffects/config/Android.bp\n  media/libeffects/downmix/Android.bp\n  media/libeffects/downmix/tests/Android.bp\n  media/libeffects/dynamicsproc/Android.bp\n  media/libeffects/factory/Android.bp\n  media/libeffects/loudness/Android.bp\n  media/libeffects/lvm/benchmarks/Android.bp\n  media/libeffects/lvm/lib/Android.bp\n  media/libeffects/lvm/tests/Android.bp\n  media/libeffects/lvm/wrapper/Android.bp\n  media/libeffects/preprocessing/Android.bp\n  media/libeffects/preprocessing/benchmarks/Android.bp\n  media/libeffects/preprocessing/tests/Android.bp\n  media/libeffects/proxy/Android.bp\n  media/libeffects/visualizer/Android.mk\n  media/libheif/Android.bp\n  media/libmedia/Android.bp\n  media/libmedia/tests/codeclist/Android.bp\n  media/libmedia/xsd/Android.bp\n  media/libmedia/xsd/vts/Android.bp\n  media/libmediahelper/Android.bp\n  media/libmediahelper/tests/Android.bp\n  media/libmediametrics/Android.bp\n  media/libmediaplayerservice/Android.bp\n  media/libmediaplayerservice/datasource/Android.bp\n  media/libmediaplayerservice/nuplayer/Android.bp\n  media/libmediaplayerservice/tests/Android.bp\n  media/libmediaplayerservice/tests/stagefrightRecorder/Android.bp\n  media/libmediatranscoding/Android.bp\n  media/libmediatranscoding/tests/Android.bp\n  media/libnbaio/Android.bp\n  media/libnblog/Android.bp\n  media/libstagefright/Android.bp\n  media/libstagefright/bqhelper/Android.bp\n  media/libstagefright/bqhelper/tests/Android.bp\n  media/libstagefright/codecs/aacdec/Android.bp\n  media/libstagefright/codecs/aacenc/Android.bp\n  media/libstagefright/codecs/amrnb/dec/Android.bp\n  media/libstagefright/codecs/amrnb/enc/Android.bp\n  media/libstagefright/codecs/amrwbenc/Android.bp\n  media/libstagefright/codecs/avcdec/Android.bp\n  media/libstagefright/codecs/avcenc/Android.bp\n  media/libstagefright/codecs/common/Android.bp\n  media/libstagefright/codecs/flac/dec/Android.bp\n  media/libstagefright/codecs/flac/enc/Android.bp\n  media/libstagefright/codecs/g711/dec/Android.bp\n  media/libstagefright/codecs/gsm/dec/Android.bp\n  media/libstagefright/codecs/hevcdec/Android.bp\n  media/libstagefright/codecs/m4v_h263/dec/Android.bp\n  media/libstagefright/codecs/m4v_h263/enc/Android.bp\n  media/libstagefright/codecs/mp3dec/Android.bp\n  media/libstagefright/codecs/mpeg2dec/Android.bp\n  media/libstagefright/codecs/on2/dec/Android.bp\n  media/libstagefright/codecs/on2/enc/Android.bp\n  media/libstagefright/codecs/opus/dec/Android.bp\n  media/libstagefright/codecs/raw/Android.bp\n  media/libstagefright/codecs/vorbis/dec/Android.bp\n  media/libstagefright/codecs/xaacdec/Android.bp\n  media/libstagefright/colorconversion/Android.bp\n  media/libstagefright/data/Android.bp\n  media/libstagefright/filters/Android.bp\n  media/libstagefright/flac/dec/Android.bp\n  media/libstagefright/flac/dec/test/Android.bp\n  media/libstagefright/foundation/Android.bp\n  media/libstagefright/foundation/tests/AVCUtils/Android.bp\n  media/libstagefright/foundation/tests/Android.bp\n  media/libstagefright/foundation/tests/OpusHeader/Android.bp\n  media/libstagefright/foundation/tests/colorutils/Android.bp\n  media/libstagefright/http/Android.bp\n  media/libstagefright/httplive/Android.bp\n  media/libstagefright/id3/Android.bp\n  media/libstagefright/id3/test/Android.bp\n  media/libstagefright/mpeg2ts/Android.bp\n  media/libstagefright/mpeg2ts/test/Android.bp\n  media/libstagefright/omx/Android.bp\n  media/libstagefright/omx/tests/Android.bp\n  media/libstagefright/rtsp/Android.bp\n  media/libstagefright/tests/Android.bp\n  media/libstagefright/tests/ESDS/Android.bp\n  media/libstagefright/tests/HEVC/Android.bp\n  media/libstagefright/tests/extractorFactory/Android.bp\n  media/libstagefright/tests/fuzzers/Android.bp\n  media/libstagefright/tests/mediacodec/Android.bp\n  media/libstagefright/tests/metadatautils/Android.bp\n  media/libstagefright/tests/writer/Android.bp\n  media/libstagefright/timedtext/Android.bp\n  media/libstagefright/timedtext/test/Android.bp\n  media/libstagefright/webm/Android.bp\n  media/libstagefright/webm/tests/Android.bp\n  media/libstagefright/writer_fuzzers/Android.bp\n  media/libstagefright/xmlparser/Android.bp\n  media/libstagefright/xmlparser/test/Android.bp\n  media/libstagefright/xmlparser/vts/Android.bp\n  media/libwatchdog/Android.bp\n  media/mediaserver/Android.bp\n  media/mtp/Android.bp\n  media/mtp/tests/Android.bp\n  media/tests/benchmark/Android.bp\n  media/tests/benchmark/MediaBenchmarkTest/Android.bp\n  media/tests/benchmark/MediaBenchmarkTest/src/main/cpp/Android.bp\n  media/tests/benchmark/src/native/common/Android.bp\n  media/tests/benchmark/src/native/decoder/Android.bp\n  media/tests/benchmark/src/native/encoder/Android.bp\n  media/tests/benchmark/src/native/extractor/Android.bp\n  media/tests/benchmark/src/native/muxer/Android.bp\n  media/tests/benchmark/tests/Android.bp\n  media/utils/Android.bp\n  media/utils/fuzzers/Android.bp\n  services/audioflinger/Android.bp\n  services/audiopolicy/Android.bp\n  services/audiopolicy/common/Android.bp\n  services/audiopolicy/common/managerdefinitions/Android.bp\n  services/audiopolicy/config/Android.bp\n  services/audiopolicy/engine/common/Android.bp\n  services/audiopolicy/engine/config/Android.bp\n  services/audiopolicy/engine/interface/Android.bp\n  services/audiopolicy/engineconfigurable/Android.bp\n  services/audiopolicy/engineconfigurable/config/Android.bp\n  services/audiopolicy/engineconfigurable/config/example/automotive/Android.bp\n  services/audiopolicy/engineconfigurable/config/example/caremu/Android.bp\n  services/audiopolicy/engineconfigurable/config/example/phone/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.bp\n  services/audiopolicy/engineconfigurable/tools/Android.bp\n  services/audiopolicy/engineconfigurable/wrapper/Android.bp\n  services/audiopolicy/enginedefault/Android.bp\n  services/audiopolicy/enginedefault/config/example/Android.bp\n  services/audiopolicy/manager/Android.mk\n  services/audiopolicy/managerdefault/Android.bp\n  services/audiopolicy/service/Android.mk\n  services/audiopolicy/tests/Android.bp\n  services/camera/libcameraservice/Android.bp\n  services/camera/libcameraservice/fuzzer/Android.bp\n  services/camera/libcameraservice/tests/Android.mk\n  services/mediacodec/Android.bp\n  services/mediacodec/registrant/Android.bp\n  services/mediaextractor/Android.bp\n  services/medialog/Android.bp\n  services/medialog/fuzzer/Android.bp\n  services/mediametrics/Android.bp\n  services/mediametrics/benchmarks/Android.bp\n  services/mediametrics/fuzzer/Android.bp\n  services/mediametrics/tests/Android.bp\n  services/mediaresourcemanager/Android.bp\n  services/mediaresourcemanager/fuzzer/Android.bp\n  services/mediaresourcemanager/test/Android.bp\n  services/mediatranscoding/Android.bp\n  services/mediatranscoding/tests/Android.bp\n  services/minijail/Android.bp\n  services/oboeservice/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  media/codecs/amrnb/dec/Android.bp\n  media/codecs/amrnb/dec/test/Android.bp\n  media/codecs/amrnb/enc/Android.bp\n  media/codecs/amrnb/enc/test/Android.bp\n  media/codecs/amrwb/dec/Android.bp\n  media/codecs/amrwb/dec/test/Android.bp\n  media/codecs/m4v_h263/enc/Android.bp\n  media/codecs/m4v_h263/enc/test/Android.bp\n  media/codecs/mp3dec/Android.bp\n  media/codecs/mp3dec/test/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS\n    legacy_by_exception_only\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\n    SPDX-license-identifier-Unicode-DFS\nto:\n  apex/testing/Android.bp\n  camera/Android.bp\n  camera/ndk/Android.bp\n  media/ndk/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/Car/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/CarEmu/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/Phone/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/SettingsNoInput/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/SettingsNoOutput/Android.bp\n  services/audiopolicy/tests/resources/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 legacy_by_exception_only\nto:\n  drm/mediadrm/plugins/clearkey/hidl/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\n\nChange-Id: I8360756b326b891b56629127091540310851c941\nMerged-in: Ic169757d64ad8da7eebd0e1febdcbfb467fe81f4\nMerged-in: Ifa3fefe5dc12229e8043a54ffd1f3958d6b02310\nMerged-in: I1e32081a069c4c1b25aa200dcdb165c0feb07b8a\nMerged-in: Ib2050becaf89b8e4db5867bc601dedeb4eb8ebd2\nMerged-in: I5a4d51fb1244ed49bcd70e446aaa26e2aa8ed7b1\n"
    },
    {
      "commit": "81fc8593d7aa1ee1692242fa9998dd40eac70438",
      "tree": "bb28038502f0b741bc0f04f870dbca92928f1959",
      "parents": [
        "38b2948cbc9922915c838cbe5222d071949f49d4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 16:45:07 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 01 20:45:16 2021 +0000"
      },
      "message": "Remove __ANDROID_API__ #if checks.\n\n__INTRODUCED_IN() does the right thing automatically now.\n\nBug: http://b/178449269\nTest: treehugger\nChange-Id: I9c0776bb4868f7f6a083dd52ca7ebedfffcc8f4c\nMerged-In: I9c0776bb4868f7f6a083dd52ca7ebedfffcc8f4c\n"
    },
    {
      "commit": "66ce6895270823d3c1226a001128fc380c85fa1d",
      "tree": "90a9486d7e24a77dd93425a0f765f641602a5dc0",
      "parents": [
        "f40f36b355c935c1e4a2eeb7ef8c6e44a58661b0",
        "acae264d8c65574c8f7c11f9a5ebfadc76c9b4fe"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 23 06:07:39 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 23 06:07:39 2020 +0000"
      },
      "message": "Merge \"Camera: Fix deadlock in ACameraCaptureSession destructor\""
    },
    {
      "commit": "acae264d8c65574c8f7c11f9a5ebfadc76c9b4fe",
      "tree": "4277414bd2a9d80a07cfe8a60b8059e5883d633f",
      "parents": [
        "ea8fec6c31d2e45ee2d4c9581a22854168519835"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Dec 21 17:11:37 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Dec 22 14:22:04 2020 -0800"
      },
      "message": "Camera: Fix deadlock in ACameraCaptureSession destructor\n\nmSequenceCallbackMap\u0027s entry should be cleared before calling\nonSequenceCompletedCallback. This is to make sure the\nACameraCaptureSession object is destroyed in the callback thread.\n\nThe fix is for a regression introduced in ag/11835321.\n\nTest: Camera CTS\nBug: 176034707\nChange-Id: Ib38f4ca8ec499cd88f31b0be09f1db74e5ec35c6\n"
    },
    {
      "commit": "7057ee252201bfa1ea0d89e5149a994a774d62d1",
      "tree": "e1b5f3ab72c0fe70562c9b1f251e63c123a0f874",
      "parents": [
        "165a485a5d2bc800d65d9901d118120016a80b8f",
        "d341edc3e71bad31210c5fcdef7a0b3571598b92"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Sep 29 17:09:37 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 29 17:09:37 2020 +0000"
      },
      "message": "Camera: Clarify SCALER_CROP_REGION usage am: d341edc3e7\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12586223\n\nChange-Id: I1b674fd74f70b70c5a713e1cf45a5132bb5fe8bd\n"
    },
    {
      "commit": "d341edc3e71bad31210c5fcdef7a0b3571598b92",
      "tree": "160f31f30a844a1a736bf293dd8c5e863d70b552",
      "parents": [
        "aecca1082929f140088771708e08d28923212c18"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Sep 14 11:43:22 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Sep 16 11:55:30 2020 -0700"
      },
      "message": "Camera: Clarify SCALER_CROP_REGION usage\n\n1. Document same SCALER_CROP_REGION may map to different aspect\nratio/output size for different sessions.\n2. Remove the text in ZOOM_RATIO about using SCALER_CROP to change\naspect ratio.\n\nTest: Build and read docs\nBug: 168493526\nChange-Id: I14ca9803f510cc5b62ca0f4dfe6bb32aed9535f6\n"
    },
    {
      "commit": "d4e465536df45633c7262c2ea16a15e6707f94dd",
      "tree": "de00c2916f191fc42b0ba8a3d01c874f31ffd4e0",
      "parents": [
        "8d0488ea9be36e46e5964313e82687ddfe248a3c",
        "4a29ff5062afb1fb93161fe787dd284140b4bef0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jun 21 23:14:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sun Jun 21 23:14:07 2020 +0000"
      },
      "message": "Merge \"Camera: Adjust documentation and comments for insensitive language.\" into rvc-dev am: 4a29ff5062\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11936451\n\nChange-Id: Ie4f7a14933c2baa4d99f4362a6756445a31f98f0\n"
    },
    {
      "commit": "4a29ff5062afb1fb93161fe787dd284140b4bef0",
      "tree": "988e8198d2fbe530225fd2d900e9b0c2faaf3b7b",
      "parents": [
        "f00b91b986fca9d87b900ed0e34c963bb85519f1",
        "0bdfa28ffa45b9bc45d78040ebbd96692ebdfdab"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jun 21 22:53:20 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 21 22:53:20 2020 +0000"
      },
      "message": "Merge \"Camera: Adjust documentation and comments for insensitive language.\" into rvc-dev"
    },
    {
      "commit": "0bdfa28ffa45b9bc45d78040ebbd96692ebdfdab",
      "tree": "946d517e494fae27fee45aa97bd91436cd4f50c8",
      "parents": [
        "7a0d96e9223a6a2b68f98b27e86d75a443080189"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 19 13:54:35 2020 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 19 15:26:15 2020 -0700"
      },
      "message": "Camera: Adjust documentation and comments for insensitive language.\n\nTest: Builds\nBug: 159480149\nChange-Id: I598b5638a7166d2b93bf90915e4d845773c4e215\n"
    },
    {
      "commit": "4fede8bb21fb6bf10ed2e288a87dd559f76a861d",
      "tree": "0f259975be053fe21b507303e43cb479fa0bee47",
      "parents": [
        "80844b8c6efa510d337590d6f5903acb54d02184",
        "61f163d269a98e54051bde12f43fb4b871e5ea34"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 19 21:11:59 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 19 21:11:59 2020 +0000"
      },
      "message": "Merge \"Camera: Update physical stream cropping behavior\" into rvc-dev am: 61f163d269\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11456664\n\nChange-Id: I6a5d87754745438b97d089e489606e6325c65b75\n"
    },
    {
      "commit": "61f163d269a98e54051bde12f43fb4b871e5ea34",
      "tree": "0274435ad77fcd0db57d0f4f64a25c35eaadf94f",
      "parents": [
        "2e2461eab59b9c93a6eb197aa0e30eedbc98a6e2",
        "bf8af46ce0d624a56a6c97d239022da74fd88088"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 19 21:10:21 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 21:10:21 2020 +0000"
      },
      "message": "Merge \"Camera: Update physical stream cropping behavior\" into rvc-dev"
    },
    {
      "commit": "bf8af46ce0d624a56a6c97d239022da74fd88088",
      "tree": "3d840ec2a54234e65ed12d92d31bfae00ab5b73e",
      "parents": [
        "453044a3a0b190548ef15b27201444617bfec5d9"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue May 12 11:48:48 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Jun 18 15:53:24 2020 -0700"
      },
      "message": "Camera: Update physical stream cropping behavior\n\nUpdate physical stream cropping behavior to allow larger field-of-view.\n\nTest: Build\nBug: 155393103\nBug: 153583897\nBug: 157676445\nBug: 157138779\nChange-Id: Ib4a4066c9baed260a88265044cd3924cae27ca6f\n"
    },
    {
      "commit": "80844b8c6efa510d337590d6f5903acb54d02184",
      "tree": "7d6379dbfc9beb33c6b27a2e5fad38e674d42dab",
      "parents": [
        "ab6412a6872a746f03c0ba54bdfddd3ee12dbf68",
        "2e2461eab59b9c93a6eb197aa0e30eedbc98a6e2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 18 22:16:16 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 18 22:16:16 2020 +0000"
      },
      "message": "Merge \"Camera: Add lastCompletedFrameNumber in CaptureResultExtras (take 2)\" into rvc-dev am: 2e2461eab5\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11835321\n\nChange-Id: Iee359125dbf8b14877faa21b46cb81e58006148e\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": "27a9d4e57988c9c9e75639edc69b4fb62ddf1a07",
      "tree": "aa11e37dc8eeeb5d9cd40d7cbde8d7bb0f6c0fc2",
      "parents": [
        "5999b5312e9dc6f18de3e57121211912d10f14cb",
        "686681022fa2c2ae9d77d98278da63f345954c3b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 12 19:50:40 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 12 19:50:40 2020 +0000"
      },
      "message": "Merge \"Include \u003cstdbool.h\u003e in NDK headers that use bool.\" am: 0470f03daf am: 686681022f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1333894\n\nChange-Id: I72210a30844e53629373dfc8db0235d3305fcc74\n"
    },
    {
      "commit": "9dafdd6a8f73ba07cf1f17247bc29844c676509e",
      "tree": "f0829b97cfd41492086776baf3695e823ff7cb32",
      "parents": [
        "bcfc35b0e3999b168f84888c2d69c6f024099c5c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 12 09:46:18 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 12 09:46:18 2020 -0700"
      },
      "message": "Include \u003cstdbool.h\u003e in NDK headers that use bool.\n\nBug: https://github.com/android/ndk/issues/1281\nTest: treehugger\nChange-Id: Ibba9b1b03e92da8a664145a269732c638b2ec550\n"
    },
    {
      "commit": "9643a5aecc36ce2b0966a1a9eae9b56e539bb9c7",
      "tree": "616a9029ecf7cfcb7d4eda9d7d7ad7080210c61d",
      "parents": [
        "256a0befb7d95a031b90d4b7f8a027a227109041",
        "49509200dca7c4a2137f7a0034b6880fad97804e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 10 16:49:04 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 10 16:49:04 2020 +0000"
      },
      "message": "Merge \"Revert \"Camera: Add lastCompletedFrameNumber in CaptureResultExtras\"\" into rvc-dev am: 49509200dc\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11818441\n\nChange-Id: I899008319d1943e9832a084c1a0992cb4809b666\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": "7735b0970e7fbcd23abe424803656e13c7c6a095",
      "tree": "e13295a569f258370db1505ba21151e8aaaa7f67",
      "parents": [
        "d4de218e28e2eaa66f6d98624e5a0b942121e5a9",
        "79f08b942dfbcb2e9f88763fcbc168d981b787f5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 08 19:41:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 08 19:41:23 2020 +0000"
      },
      "message": "Merge \"Camera: Add lastCompletedFrameNumber in CaptureResultExtras\" into rvc-dev am: 79f08b942d\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11415576\n\nChange-Id: Iff577ba64a4ae518453658da28aaf0039559e681\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": "67e6bee99f616d2b968f4504d09f854acde37976",
      "tree": "11aec012a950055080d1be3bca4cfaf720437f7b",
      "parents": [
        "43af1ebfdd59a7bd43f4bc553dfa5db3787e4ee2",
        "ccaf569b2bc907546089952eaf6286057c254cf8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri May 15 15:53:59 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 15 15:53:59 2020 +0000"
      },
      "message": "Merge \"Camera: Update documentation for rolling shutter skew\" into rvc-dev am: ccaf569b2b\n\nChange-Id: I98a8639f61b82bc7354d461623bd7ca7a21c7455\n"
    },
    {
      "commit": "cbc273749d35c0f7932c3dc572c17220fa761b45",
      "tree": "7d57008537e0c48ba89ad5c328df307bd8593c7f",
      "parents": [
        "ff9fc0702faf39f86291d9b05e1bcd7bb9782632",
        "94ba1a762f47e0cd2c1fd742e150398da620313d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 12 17:27:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 12 17:27:47 2020 +0000"
      },
      "message": "Merge \"Camera: Fix minor NDK doc formatting error\" into rvc-dev am: 94ba1a762f\n\nChange-Id: I28573d171313750da41e8fc2a5d5a906b423f23c\n"
    },
    {
      "commit": "f15e0b62fc3ec7be7bf15b1a7ef2fab5df0f14f9",
      "tree": "525a8c4c1d08a9e62d0361303d92f54b31b371e1",
      "parents": [
        "40a8344385306bacdf85742d4d7480f323f749b8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon May 11 10:25:17 2020 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon May 11 10:25:17 2020 -0700"
      },
      "message": "Camera: Update documentation for rolling shutter skew\n\nExisting definition was inconsistent, so update it to be consistent\nand match what implementations have actually done.\n\nTest: Builds\nBug: 150331548\nChange-Id: I037edfbf462ae9822194761d68bcfa34d27f79c6\n"
    },
    {
      "commit": "40a8344385306bacdf85742d4d7480f323f749b8",
      "tree": "82dd7100dd1c6971895e1a2f328b14fdf61ceddb",
      "parents": [
        "929c3645336dd0e01d3f61ffaedc95fe417ab1bb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon May 11 10:17:46 2020 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon May 11 10:17:46 2020 -0700"
      },
      "message": "Camera: Fix minor NDK doc formatting error\n\nTest: Builds\nBug: 150331548\nChange-Id: I0c0c219d48006b3f2b06a55740908cf27b1e83a9\n"
    },
    {
      "commit": "4080e97fad8fc0058b0c6921d2f914737b99d9ae",
      "tree": "32827bad4ae6d00cf7632380419bd1a4d9af8dfa",
      "parents": [
        "a74dc5d6b9fb59cacf2482cdf398f7c543781d21",
        "f8673bf03d095bf9c9b3fe89b88b5df64c37060a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 14 20:59:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 14 20:59:39 2020 +0000"
      },
      "message": "Merge \"Camera: Fix race between callback and unregisteration of callbacks\" into rvc-dev am: f8673bf03d\n\nChange-Id: Ic3b59edf0f55098c677af3924fb75250eeb95c85\n"
    },
    {
      "commit": "7e540682b362a3e8679e274084aeaefdf01314da",
      "tree": "9a4a88c8548c0a4b672e2d208ecfa88b45580d8d",
      "parents": [
        "5226677901af08551446c103bf7d15797e87756c"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Apr 10 13:30:25 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Apr 13 17:48:27 2020 -0700"
      },
      "message": "Camera: Fix race between callback and unregisteration of callbacks\n\nBecause callbacks are called from a looper thread, if the subscriber\nunsubscribes and frees the callback, invalid memory access may occur from the\nlooper thread.\n\nAddress this by draining all pending callbacks at the time of listener\nunregistration.\n\nNOTE: There is rare chance that the wait on the condition times out,\nstill resulting in the original NPE issue. We intensionally allow that\nto avoid deadlock, in case the application uses the same mutex lock for\ncallbacks and unregister functions.\n\nTest: for i in {1..10}; do atest -it NativeImageReaderTest; done\nTest: ACameraNdkVendorTest\nBug: 148976953\nChange-Id: I92f5a02a4e3e63f2e72e8043ff4f4ac16c1eec5d\n"
    },
    {
      "commit": "7c06a8bda84302c8bde5814ce3b5843b23d58a56",
      "tree": "6d939a89aa35a6e097f1790bb966d0824e99753b",
      "parents": [
        "cb00499828a898a3863ce4a5fcbc95a5c365f401",
        "8f612b453b1f2d8d873e615aae281cb047d5a7dc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 24 18:55:45 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 24 18:55:45 2020 +0000"
      },
      "message": "Merge \"Camera: Improve documentation for android.control.zoomRatio\" into rvc-dev am: 8f612b453b\n\nChange-Id: I400fa1ccfe8157b1bcc9699659c3c5045819b46e\n"
    },
    {
      "commit": "878f9df9e6877e73bee4f510833fc74a4bd3d2fc",
      "tree": "162c4da44f14814ce616fe9ff621f9782040b7bf",
      "parents": [
        "1939a00071ce5dc757566c7af24a1f5589ea22f7"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 13 09:37:34 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Mar 23 13:25:17 2020 -0700"
      },
      "message": "Camera: Improve documentation for android.control.zoomRatio\n\nTo better document how android.control.zoomRatio works, add examples to\nillustrate its relationship with scalerCropRegion.\n\nTest: Build and read docs\nBug: 144780745\nChange-Id: Iab0e849b4d045fc1648fcf2ddc51d84c66249273\n"
    },
    {
      "commit": "138c4d0809944815ed0470a908daaebaa1101d25",
      "tree": "13cb9e87628accc50a4fb8e7ac882cf0ca81e0fd",
      "parents": [
        "c8566c6bb2771b838d3f0a8240b68732a8e40247",
        "1939a00071ce5dc757566c7af24a1f5589ea22f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 21 04:40:36 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Mar 21 04:40:36 2020 +0000"
      },
      "message": "Merge \"Camera: Move bokeh mode to extended scene mode.\" into rvc-dev am: 1939a00071\n\nChange-Id: I8d845389d6d9b0834975de4852ed43da38333c6b\n"
    },
    {
      "commit": "aa0ae2bb07632ac39f266a6f6167a5a0f87c597e",
      "tree": "35963920eca3dd1521992f195ca02914b0a8a6a8",
      "parents": [
        "301dd5f1d99993725cb6336e6d520904e23ce925"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Mar 16 16:00:45 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 20 12:14:54 2020 -0700"
      },
      "message": "Camera: Move bokeh mode to extended scene mode.\n\nMigrate BOKEH_MODE_STILL_CAPTURE and BOKEH_MODE_CONTINUOUS to be 2 enums\nof CONTROL_EXTENDED_SCENE_MODE.\n\nTest: Camera CTS, VTS\nBug: 151759402\nChange-Id: Ie56c6403cd7b530356d3a007088e30730906ec65\n"
    },
    {
      "commit": "c504dbb3dbd236ab3b7c7f14e6b886286dd121b1",
      "tree": "93842170e9d9ad6dc49866e602e414e563209dac",
      "parents": [
        "d6bd406abdd7937658abf33bc8684c464e8bc413",
        "cb7796d6af25df5170a494ca4c36cf426d9a0dec"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Mar 19 20:47:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 19 20:47:21 2020 +0000"
      },
      "message": "RESTRICT AUTOMERGE: Camera NDK: Hide keys for the rotate-and-crop controls am: cb7796d6af\n\nChange-Id: Ic42f2437851982f2c050ff4e7181469a7f8e4ce1\n"
    },
    {
      "commit": "cb7796d6af25df5170a494ca4c36cf426d9a0dec",
      "tree": "6abe04fa305389f1ea105e5086d944c8cf52b1c2",
      "parents": [
        "8d386f779d76eb2a87ec570bf6ee3c0ce674085f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 18 13:33:24 2020 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 18 14:49:16 2020 -0700"
      },
      "message": "RESTRICT AUTOMERGE: Camera NDK: Hide keys for the rotate-and-crop controls\n\nImplementation is not complete yet, so hide the feature for now.\n\nTest: Adjusted camera CTS continues to pass\nBug: 150036107\nChange-Id: Ie112d21121693336c77700b982fc547f5cba429b\n"
    },
    {
      "commit": "3f7417cf5d6d0288919729f6c188e8b570c2bc3e",
      "tree": "0191cf641e7f9b23ac7a95f35dc40d9a7c144998",
      "parents": [
        "935a03364789a0b8b6d51f594f2b680ec0cddebc",
        "ce554fe70047ed68a70527786f12afacc4e402a6"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 16 23:25:59 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 16 23:25:59 2020 +0000"
      },
      "message": "Merge \"camera2 ndk: Fix vndk error return value for ACameraManager::OpenCamera().\" am: 5995f21460 am: ce554fe700\n\nChange-Id: Ib1a0a1f322ea9b3cbca7ffc3eece6c3e5bd510d7\n"
    },
    {
      "commit": "5995f2146016068b5619445b2f93372f12b5be51",
      "tree": "4bfaecbf42f23f203322a3411c05c4d1c13e07e9",
      "parents": [
        "e4f1dbca673187c0e1a384338845e8b770c8227b",
        "0197292197ea94427199d68536237c7d11d0666d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 16 22:57:29 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 16 22:57:29 2020 +0000"
      },
      "message": "Merge \"camera2 ndk: Fix vndk error return value for ACameraManager::OpenCamera().\""
    },
    {
      "commit": "be4e9983ec5281b8186047fcebf6f8118eb8aa4d",
      "tree": "7c369b753118360ab41c2b119539b459977dfaa7",
      "parents": [
        "fb92f096994098051d23ededce2f345cad2de073",
        "10b1611714960c67c8661a228ea36879e9e05e18"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 16 22:40:59 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 16 22:40:59 2020 +0000"
      },
      "message": "Merge \"Camera: fix NDK logspam\" into rvc-dev am: 10b1611714\n\nChange-Id: Iab97bb1398a09953c66263a9044c994fc0e62c83\n"
    },
    {
      "commit": "0197292197ea94427199d68536237c7d11d0666d",
      "tree": "fc97fb3caab5e2f2deef80b05535fc61ee4017b6",
      "parents": [
        "edfb26069d7548ea33ec379f39768de5622ea7f4"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Mar 05 15:22:46 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Mar 16 12:01:07 2020 -0700"
      },
      "message": "camera2 ndk: Fix vndk error return value for ACameraManager::OpenCamera().\n\nBug: 147402004\n\nTest: make hidl connectDevice return Status::DISCONNECTED.\n      Run AImageReaderVendorTest. See that\n      ACameraManager::openCamera() returns ACAMERA_ERROR_DISCONNECTED.\n\nMerged-In: I3bcf0be54d1b9e88baa0b22350d74c0370ad23a6\nChange-Id: I3bcf0be54d1b9e88baa0b22350d74c0370ad23a6\n(cherry picked from commit 911a13b29bfed85ae22d117954b6cd63cac4195d)\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "42924a24cfddc9efecec4725a518a75e01f4e6b5",
      "tree": "205c3bb95f903dc233539fb323aa1a08ad5747ba",
      "parents": [
        "90334d0f03f4bee709969433898025fc16863f01"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 12 11:19:14 2020 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 16 17:43:41 2020 +0000"
      },
      "message": "Camera: fix NDK logspam\n\nDuration keys may be missing if the device doesn\u0027t support\ncorresponding capture feature.\n\nTest: build (log only change)\nBug: 150900659\n\nMerged-In: I83e122ff08bc581ddd4bb7e304f152f612817875\nChange-Id: I83e122ff08bc581ddd4bb7e304f152f612817875\n"
    },
    {
      "commit": "c92172e004d608967fb38824947340e32ac70b1c",
      "tree": "f6ebf1a0995ee1a1515a9cd9ca2f4bb3fb0b9ebd",
      "parents": [
        "f4522c4b1d972f924f1b8374649cfd7ac47d9dd7",
        "4cfc33a875ba878b46327dc6db34d3a75f903342"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 13 01:08:36 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 13 01:08:36 2020 +0000"
      },
      "message": "Merge \"camera2 ndk: Fix vndk error return value for ACameraManager::OpenCamera().\" into rvc-dev am: 4cfc33a875\n\nChange-Id: I15430ed7b817e6de6c06f6074eb26e4c51f6e566\n"
    },
    {
      "commit": "4cfc33a875ba878b46327dc6db34d3a75f903342",
      "tree": "1cdf37fa3da85f468f59782bbea7e853d3b4deac",
      "parents": [
        "018c41740674d42b79b99f9361f75749ddabacae",
        "911a13b29bfed85ae22d117954b6cd63cac4195d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 13 00:53:21 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 13 00:53:21 2020 +0000"
      },
      "message": "Merge \"camera2 ndk: Fix vndk error return value for ACameraManager::OpenCamera().\" into rvc-dev"
    },
    {
      "commit": "911a13b29bfed85ae22d117954b6cd63cac4195d",
      "tree": "9fca529f92fe0b9e17dad9fd66b540217c38921c",
      "parents": [
        "904b623c8cdbd43a2089c5d3b45240757bd3bc81"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Mar 05 15:22:46 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Mar 12 15:17:10 2020 -0700"
      },
      "message": "camera2 ndk: Fix vndk error return value for ACameraManager::OpenCamera().\n\nBug: 147402004\n\nTest: make hidl connectDevice return Status::DISCONNECTED.\n      Run AImageReaderVendorTest. See that\n      ACameraManager::openCamera() returns ACAMERA_ERROR_DISCONNECTED.\n\nChange-Id: I3bcf0be54d1b9e88baa0b22350d74c0370ad23a6\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "859bcfc10ff9e1702d1bc7cfad066807b46db497",
      "tree": "5ab8027dca088203f5da46cfd77d8892ef453d1e",
      "parents": [
        "db51e1f159df4cec37032b436ae6bce746c402c7",
        "ec29306db53ae51d6a1bc094f3b4ca3f98b9f01a"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 11 20:17:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 11 20:17:31 2020 +0000"
      },
      "message": "Merge \"Camera: Add onCameraOpened/onCameraClosed callbacks\" into qt-qpr1-dev am: 67110b519a am: ec29306db5\n\nChange-Id: I786534d1aff256842b0e26db3e550754f7ce0b87\n"
    },
    {
      "commit": "80fbc4cb9e32b1a7bd762d3b106ef1ba94295fc2",
      "tree": "aaebe1757cea12c4a41e34063e4dbcbd7bf1e8f6",
      "parents": [
        "aeef85fba43f7384f25cd777ac2fc392917ba403",
        "5ae4551c9290e02f7890e014ca69b1b748567ccd"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 10 23:29:03 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 10 23:29:03 2020 +0000"
      },
      "message": "Merge \"Camera: Add onCameraOpened/onCameraClosed callbacks\" into rvc-dev am: 5ae4551c92\n\nChange-Id: I1f9d25313e2dc509e3ae196b4f5d31c582352849\n"
    },
    {
      "commit": "1bb30b2efa3cf029daaedf7cfb4cbec7433ee38d",
      "tree": "90e9b007d4327887126db4907cd3131d9a083a82",
      "parents": [
        "a6544e3bf7de17f104d5fb509d6cb7f6d90dc79f"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 06 09:02:23 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Mar 10 11:38:13 2020 -0700"
      },
      "message": "Camera: Add onCameraOpened/onCameraClosed callbacks\n\nThe onCameraOpened/onCameraClosed callbacks are used to notify camera\nservice client with [] permission that a certain camera device has been\nopened/closed.\n\nTest: Manually check callbacks are received in SystemUI app\nBug: 150540299\nChange-Id: If6f3624c43927c30afef7df0a780eafe3ae4c527\nMerged-In: If6f3624c43927c30afef7df0a780eafe3ae4c527\n"
    },
    {
      "commit": "695044d6f177871d349fa7e9a4a2ac07e093ae25",
      "tree": "e0dda6998c8734784af3f88cc4fa96da98d0eeba",
      "parents": [
        "6d4357197004ad81b2a256db33c82aa5c86a0b41"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 06 09:02:23 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Mar 09 08:43:25 2020 -0700"
      },
      "message": "Camera: Add onCameraOpened/onCameraClosed callbacks\n\nThe onCameraOpened/onCameraClosed callbacks are used to notify camera\nservice client with CAMERA_OPEN_CLOSE_LISTENER permission that a certain\ncamera device has been opened/closed.\n\nTest: Manually check callbacks are received in SystemUI app\nBug: 150540299\nChange-Id: If6f3624c43927c30afef7df0a780eafe3ae4c527\n"
    },
    {
      "commit": "b3f7cd2ec35e4fa1eb013afa13906e25bfc4bcec",
      "tree": "8b7049d25c7a3d2a77e0b72d5e0be8e9bb82494e",
      "parents": [
        "b9bfddabc21c0819e7feccecddf09a70ade2670f"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Jan 23 12:27:18 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Feb 26 04:01:10 2020 +0000"
      },
      "message": "Use std::optional for nullable\n\nAIDL now use std::optional to represent nullable types for efficiency\ninstead of std::unique_ptr which might cause additional heap allocation.\n\nBug: 1447732670\nTest: m\nMerged-In: I9045bc6fc2eb06839203af6db94a80de9b83ad1f\nChange-Id: I9045bc6fc2eb06839203af6db94a80de9b83ad1f\n(cherry picked from commit 3f9a3b407aeff0311038b2097d657446c4f98b90)\n\nExempt-From-Owner-Approval: CP from master\n"
    },
    {
      "commit": "b949b61103a14645ed6fda09dc626fc273bf49e3",
      "tree": "b7c5fcc38ef21c8cfd31771f4b122a18d01c27dc",
      "parents": [
        "eeb2d61b7f123b87c1fdb359035ced62e5f0dbb9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 06 11:08:41 2020 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 11 11:08:01 2020 -0800"
      },
      "message": "Camera NDK: New lifecycle for ACameraMetadata_fromCameraMetadata\n\nInstead of requiring the user to call NewGlobalRef/DeleteGlobalRef\nfor keeping the java object alive when creating an NDK view into it,\nreference count the real native data instead, so that there\u0027s no need\nto keep track of the Java object lifecycle.\n\n- Switch CameraMetadataNative to use std::shared_ptr internally\n- Switch ACameraMetadata to use std::shared_ptr internally\n- Always copy data in the ACameraMetadata copy constructor\n\nTest: New CTS tests pass, fail without this CL\nBug: 148972471\nChange-Id: I40a0ccb8b40c7a89ee7d3a6f7bac7c9c88d709f1\n"
    },
    {
      "commit": "4fa28d2e0a2294bb265a24c7e7fe112076cfc724",
      "tree": "a4cfa9ee18204b5198a72cd414eb367a730a2ea7",
      "parents": [
        "de8e67bc32a4c1494ed59a36c222b6ec7ad594c6"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Jan 23 15:57:25 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Feb 06 13:48:55 2020 -0800"
      },
      "message": "Camera: Fill out vndk implementation for physical camera callbacks\n\nAlso fixed missing implementation of Camera availability callbacks for\nExtendedAvailabilityCallback.\n\nTest: Camera CTS, and vndk test\nBug: 148146086\nChange-Id: I557d6db3900b2346b7bc7e12cd946bc4c2dc4076\n"
    },
    {
      "commit": "0da716bedb8d61afdb46d1871e3eea5c580c8fa2",
      "tree": "fbdb964c4dde886db167017aaff08ef3ecd8f1ed",
      "parents": [
        "9d73033022f883101e17bed172ee63b421fd011e"
      ],
      "author": {
        "name": "Jiawen Chen",
        "email": "jiawen@google.com",
        "time": "Tue Jan 28 15:31:08 2020 -0500"
      },
      "committer": {
        "name": "Jiawen Chen",
        "email": "jiawen@google.com",
        "time": "Wed Jan 29 11:05:46 2020 -0500"
      },
      "message": "Fix ACameraMetadata_fromCameraMetadata crash.\n\nRoot cause was that jclass instances acquired from JNIEnv::FindClass are\nnot pinned and become invalidated due to Java garbage collection. Adding\na new global ref pins the pointer.\n\nFIXED\u003d148174094\n\nTest: atest android.hardware.camera2.cts.CameraManagerTest#testCameraCharacteristicsNdkFromSdk android.hardware.camera2.cts.CaptureResultTest#testCameraCaptureResultAllKeys\nTest: atest NativeCameraDeviceTest NativeCameraManagerTest NativeImageReaderTest NativeStillCaptureTest\n\nChange-Id: Id0601b9c01e1a58485e3b039a87a5cf56a19e0af\n"
    },
    {
      "commit": "e2a8892e61129a62c1ac158d1b7f25bead50ef03",
      "tree": "78284a4b097f87d6ef80268da3913240fc326093",
      "parents": [
        "a2055c57eaf82a94fdcbf8af1ae6069b357d0105"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jan 06 13:09:21 2020 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 23 13:25:41 2020 -0800"
      },
      "message": "Camera NDK: Add android.scaler.rotateAndCrop control\n\nTest: None yet\nBug: 134631897\nChange-Id: I656e0da76f440ae1ceca3e05f3a66ef26465de24\n"
    },
    {
      "commit": "4385816acc487864df24f48a97c5c1e772d87313",
      "tree": "47ebe72a3ae88881555ae75cccf1f65d4dc3017a",
      "parents": [
        "0bc6f60e1f036380bd48d022631e6561b90f210c"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jan 10 13:42:15 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Jan 23 00:08:42 2020 -0800"
      },
      "message": "Camera: Support new provider callback version in camera service\n\nThe new provider callback version enables availability callback for\nphysical camera.\n\nTest: Camera CTS\nBug: 119325027\nChange-Id: I22e0b669c3d9891a431e1befc7f1c9f40b826a08\n"
    },
    {
      "commit": "f0b35a84d669235a39ec67ce938d228029b2663f",
      "tree": "b4c0eb50adf8544d490fbb412795372bf00bf857",
      "parents": [
        "2c5b3c2f90acaf233112c7921e4c75a88d7a7227",
        "cc0b795ac29688e1675d177e60eb4f37184240c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 22 04:01:01 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 22 04:01:01 2020 +0000"
      },
      "message": "Merge changes from topic \"OfflineReproc-impl\"\n\n* changes:\n  Camera: Propagate all offline stream ids to clients\n  Camera: Add initial offline client listener logic\n  Camera: Initial support for composite streams in offline mode\n  Camera: Initial offline session client\n  Camera: fill in Camera3Device offline processing impl\n"
    },
    {
      "commit": "2c5b3c2f90acaf233112c7921e4c75a88d7a7227",
      "tree": "cf1c4adf07ad5ebf894b45429632da72d2a25325",
      "parents": [
        "8bd561127e1c124e6abae040683df7ae70763f74",
        "9f713e83cf3c0f31d4b2771d36fdd66a5faa9068"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 21 22:02:48 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 21 22:02:48 2020 +0000"
      },
      "message": "Merge \"Add ACameraMetadata_fromCameraMetadata.\""
    },
    {
      "commit": "cc0b795ac29688e1675d177e60eb4f37184240c5",
      "tree": "c55c8e4b206b243c09947dfc5149867fdfc35117",
      "parents": [
        "d99c8ae877daa76ad182bab886c85ad4811ff428"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Jan 07 13:54:47 2020 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:23:33 2020 -0800"
      },
      "message": "Camera: Propagate all offline stream ids to clients\n\nCamera clients must be aware of any configured streams\nthat can support offline processing mode.\nA few corner cases that need to be considered:\n - Composite streams can support offline mode only\n   when all internal streams support it as well.\n - Streams that use the internal camera buffer manager\n   will not have support for offline mode.\n - Shared streams are also unsupported in offline mode.\n\nBug: 135142453\nTest: Camera CTS\nChange-Id: Idde826a6fb18a8907850e87cfe593de7cb1c5f4a\n"
    },
    {
      "commit": "9f713e83cf3c0f31d4b2771d36fdd66a5faa9068",
      "tree": "2a44923b190b4cfb1793a20e7692e4a0b61de887",
      "parents": [
        "255f610f5ab71b5e36d93744dfe058daf6c96041"
      ],
      "author": {
        "name": "Jiawen Chen",
        "email": "jiawen@google.com",
        "time": "Wed Jan 15 11:06:13 2020 -0500"
      },
      "committer": {
        "name": "Jiawen Chen",
        "email": "jiawen@google.com",
        "time": "Tue Jan 21 14:26:28 2020 -0500"
      },
      "message": "Add ACameraMetadata_fromCameraMetadata.\n\nTest: atest android.hardware.camera2.cts.CameraManagerTest#testCameraCharacteristicsNdkFromSdk android.hardware.camera2.cts.CaptureResultTest#testCameraCaptureResultAllKeys\nBug: 80513080\n\nChange-Id: If3ec6e9531829f2eaec788df237ff69083a6c580\n"
    },
    {
      "commit": "31f98910412ed7e023ffb240c49de63f958fd226",
      "tree": "eaa6841ecc653cac5c87c54b21947263c14c89bf",
      "parents": [
        "ff1725382653dfa2db8536edc38a6b1f2c166f2a",
        "b0168b2bca591185b522cbf1911817d513a94084"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 16 21:49:18 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 16 21:49:18 2020 +0000"
      },
      "message": "Merge \"Camera: Add new pose reference for foldables\""
    },
    {
      "commit": "b0168b2bca591185b522cbf1911817d513a94084",
      "tree": "340ed39e2d67682cc9e833f59ca851c38e29a6e4",
      "parents": [
        "f0a91423d480c4634e647c4e4a1fe760580f7ff2"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Jan 08 13:06:46 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 14 14:15:37 2020 -0800"
      },
      "message": "Camera: Add new pose reference for foldables\n\nBug: 119325027\nTest: Build\nChange-Id: I0e5291acb53dd0e5861a3031fd082cf075468487\n"
    },
    {
      "commit": "9d37afccb782049e8a39ac49961327e84f67b65a",
      "tree": "06992e9b1127350a478686ea66976d5002ae6d4d",
      "parents": [
        "d1ce689ac43bfd6c75c2f15a349e475396d04dcd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 09 15:11:58 2020 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 09 15:11:58 2020 -0800"
      },
      "message": "Camera: Improve timestamping docs\n\nSpecifically, publicly commit to UNKNOWN being CLOCK_MONOTONIC, though\nwith loose accuracy guarantees.\n\nAlso document how to handle REALTIME timestamps for A/V sync purposes.\n\nTest: Builds, docs-only change\nChange-Id: I600b553c38f1b3490879630ae90d207bed0277b5\n"
    },
    {
      "commit": "39dff6917f6a87ce0f9a5eb9e5868f266a65f8c1",
      "tree": "7d39b32e42829c52c9ec6e8915e291a3395cebe3",
      "parents": [
        "336ffa96f5bb0cdd4b24b7967d9385c42d7e9299"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jan 06 16:11:49 2020 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jan 06 16:11:49 2020 -0800"
      },
      "message": "Camera: Add visual samples for android.scaler.cropRegion docs\n\nTo better document the cropping specification for camera2, add diagrams\nfrom source.android.com into the reference docs as well.\n\nTest: Docs build, look correct\n\nChange-Id: I624dac7dbdc9146fbb89ab57cf6fda4ae03c1214\n"
    },
    {
      "commit": "dbdf72b97b2d591bfecd22825df6b2550464bb75",
      "tree": "2897d8758f1c148594172e968ba1738565c97df5",
      "parents": [
        "9c7e2a51e2fb24bbf193b46a3f5e892af19cdfe5"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Nov 13 11:22:12 2019 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Dec 18 14:34:09 2019 -0800"
      },
      "message": "Camera: Add support for new camera zoom API\n\n- Add NDK API spec for the new zoom API\nThe new zoom API combines optical and digital zoom, and supports both\nzoom-out and zoom-in with more precision.\n- Add new NDK API to specify separate zoom ratio ranges for different\nbokeh modes.\n- Add ZoomRatioMapper in camera service to convert between\ncontrol.zoomRation to and from scaler.cropRegion.\n\nTest: Camera CTS/ITS/CtsVerifier/ZoomRatioTest\nBug: 130025314\nChange-Id: I4c7d867f840b5720bc73bb0485e8a9a93d2276b5\n"
    },
    {
      "commit": "1f338c87f80bbf6adf1985c88ec8dfed311d4a45",
      "tree": "c819dfe26697ea73d28064e26428c28e30af8535",
      "parents": [
        "85b01c780e0065ee56a4623f62edad1125108be4",
        "826e5c01ed7cf182009de09fc52ac1e250833540"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 17 21:45:33 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 17 21:45:33 2019 +0000"
      },
      "message": "Merge \"camera2 ndk: Allow nullptr for ACameraCaptureSession_captureCallbacks.onClosed.\" into qt-qpr1-dev am: 9ed54cdf4d am: 826e5c01ed\n\nChange-Id: I33107fb888e664a1d80fba26dd8645991863115e\n"
    },
    {
      "commit": "221f7b2d2140a49411767b1706eb48037bfada71",
      "tree": "b23dd37c758df7c1aae8e07e22cb8d3324e16b1c",
      "parents": [
        "f12b7622412701c4725ed5633972dd53bdd4d3c9"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Aug 14 15:00:24 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Dec 16 13:17:17 2019 -0800"
      },
      "message": "camera2 ndk: Allow nullptr for ACameraCaptureSession_captureCallbacks.onClosed.\n\nBug: 134680093\nBug: 146357162\n\nTest: AImageReaderVendorTest\n\nMerged-In: I8d365b434c257e949496d9495d0fa31a18a2e068\nChange-Id: I8d365b434c257e949496d9495d0fa31a18a2e068\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n(cherry picked from commit 9da975d887ef8d63970e4b11dc9f2c0e0da92705)\n"
    },
    {
      "commit": "b978c389e811a957d173cca97e19dfb5cc49ba38",
      "tree": "2586a6d50d09135ede7ff4d609f4b332fb44cbe2",
      "parents": [
        "68e5e9a665f0b57be41329325258a9839a9c7ed2"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Oct 30 00:22:37 2019 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Dec 16 11:31:14 2019 -0800"
      },
      "message": "Camera: add offline session API skeleton\n\nTest: N/A, no implementation yet\nBug: 135142453\nChange-Id: I497e42433d4d49466fe37467d4ff66e8583c55df\n"
    },
    {
      "commit": "f12b7622412701c4725ed5633972dd53bdd4d3c9",
      "tree": "d4f2eab461cb087a7488e49201294a3c6fdaac0d",
      "parents": [
        "960bbfab7bd5f2fff6afdecb920f21b8eb3fee45"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Sep 26 08:50:17 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Dec 09 14:08:59 2019 -0800"
      },
      "message": "camera2ndk: ~ACameraCaptureSession shouldn\u0027t hold device lock in ACameraDevice_close().\n\nWe call disconnectLocked before stopping CameraDevice\u0027s looper, in order to avoid this situation:\n\n1) Its possible that an OnResultReceived callback is received, and posts an\n   AMessage with sp\u003cACameraCaptureSession\u003e on CameraDevice\u0027s looper.\n\n2) Before the looper message is processsed, ACameraDevice_close() is\n   called by the client, which results in the looper being stopped and\n   cleared with device lock held.\n\n3) When the looper is getting cleared, the AMessage containg the\n   ACameraCaptureSession pointer is destructed leading to\n   ~ACameraCaptureSession running without knowing that the device is\n   being closed, as a result it tries to hold device lock, resulting in\n   a deadlock.\n\nBug: 141603005\n\nTest: CTS native tests\nTest: use camera2 vndk client for extended periods of time\n\nChange-Id: Ia0d47fc2975981055cd1f2103c1cbe8d76642fe4\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n(cherry picked from commit a8bf1c6e6d210833070152adf130f4d988fc255e)\n"
    },
    {
      "commit": "efdabae3644f6009846aa726d362150c64f0b0c1",
      "tree": "f46fd5cdc15c3f8976e92ec3d81b332b8ca6e153",
      "parents": [
        "73b065fe9ea7169a1747490b95e58a981388c1fc",
        "b3fc5d6b8edaf593c907430cd8bc90c2fc718480"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Nov 26 23:23:04 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 26 23:23:04 2019 -0800"
      },
      "message": "Merge \"camera2 ndk: Don\u0027t send onStatusChanged callbacks for devices which don\u0027t support camera2.\" am: b2872d478f am: 837798c7e3\nam: b3fc5d6b8e\n\nChange-Id: I6cfd02b1ef58b05d70ab90f229cb69b4829c3902\n"
    },
    {
      "commit": "80f128b4074ab814060b460cc5059c523e81eeb3",
      "tree": "a36b3ba3757dfaa9e45bb55c3ce690f1dacd0bdd",
      "parents": [
        "3066e206366b25b6b64cf0ad29188bd04b56b183"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Oct 30 16:13:31 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Nov 18 08:45:48 2019 -0800"
      },
      "message": "camera2 ndk: Don\u0027t send onStatusChanged callbacks for devices which don\u0027t support camera2.\n\nBug: 143368726\n\nTest: CTS native camera tests\n\nChange-Id: I7b33bdc906924f3acb3d1809aacdf6e4769d0607\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "9e648f6d57901b8d2c6d595d08d0cb55d87981e4",
      "tree": "93503618ab62ac82e0f1dd0c5fa8fdefaed04748",
      "parents": [
        "f1a584a44cd2fb35a1817438db4342ee8bd6825e"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Nov 04 12:52:45 2019 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Nov 13 16:57:43 2019 -0800"
      },
      "message": "Pipe through featureId from context to Camera code\n\nBug: 136595429\nTest: atest CtsAppOpsTestCases (now including two new test cases that\n          open a camera with a null and a non-null feature)\nChange-Id: Idfb8f8049dff536525d4f081151c79d980d76c69\n"
    },
    {
      "commit": "77e073fcf861354cc2197c930a9f3ccbfee4bb41",
      "tree": "640e043a35b5819fb4c578f4b9458c0d93c84b44",
      "parents": [
        "77e5c86ab8179080c8687aa21c838051f330ba0a"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Jul 08 15:09:13 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Oct 28 17:42:37 2019 -0700"
      },
      "message": "Camera: Add bokeh mode tags in camera ndk metadata\n\nIntroduce new bokeh mode metadata tags for camera device to enable bokeh\neffect.\n\nTest: Build and read docs\nBug: 118258123\nChange-Id: Iadd7c2a0edcafc516411a5a5f49ad0563e3736be\n"
    },
    {
      "commit": "f6ad0bb7ca3c4ff789f704a77868e04d915f5d55",
      "tree": "93c8f1ecc920728b799fbb204c590a7f3305a826",
      "parents": [
        "77dfac6e8f9e74ef77597e091aaace61f7e3b5ee",
        "e3b3be4826e5a3d43f2547c4fdd469ddd7cc5847"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Oct 23 10:02:52 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 23 10:02:52 2019 -0700"
      },
      "message": "Merge changes from topic \"camera_ndk_fixes\" am: 35f148bc5a am: ee6b817886 am: 6928bc3506\nam: e3b3be4826\n\nChange-Id: I1583ced230e9c359d8dcdf39773c2da7b5eec9b1\n"
    },
    {
      "commit": "ee6b8178863916cfa7aa751ddb1b45be932b01ab",
      "tree": "fc1c6ade2b019c017a2fa1e48e956263e57284b9",
      "parents": [
        "b340eb8a289ae7c289a0bb87176bc8480f8d1dde",
        "35f148bc5a1cb1efffd9aee0223a06720a303329"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Oct 21 11:30:56 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 21 11:30:56 2019 -0700"
      },
      "message": "Merge changes from topic \"camera_ndk_fixes\"\nam: 35f148bc5a\n\nChange-Id: I0e8da27ad9d603597ee1741c3e89322f98dedd94\n"
    },
    {
      "commit": "a8bf1c6e6d210833070152adf130f4d988fc255e",
      "tree": "4c66eb6d2c40df1f398b3d05a8ef7035e1801f07",
      "parents": [
        "9ddd6e8d9e472e9bc9e023444a4715466d1e9390"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Sep 26 08:50:17 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Oct 14 11:02:46 2019 -0700"
      },
      "message": "camera2ndk: ~ACameraCaptureSession shouldn\u0027t hold device lock in ACameraDevice_close().\n\nWe call disconnectLocked before stopping CameraDevice\u0027s looper, in order to avoid this situation:\n\n1) Its possible that an OnResultReceived callback is received, and posts an\n   AMessage with sp\u003cACameraCaptureSession\u003e on CameraDevice\u0027s looper.\n\n2) Before the looper message is processsed, ACameraDevice_close() is\n   called by the client, which results in the looper being stopped and\n   cleared with device lock held.\n\n3) When the looper is getting cleared, the AMessage containg the\n   ACameraCaptureSession pointer is destructed leading to\n   ~ACameraCaptureSession running without knowing that the device is\n   being closed, as a result it tries to hold device lock, resulting in\n   a deadlock.\n\nBug: 141603005\n\nTest: CTS native tests\nTest: use camera2 vndk client for extended periods of time\n\nChange-Id: Ia0d47fc2975981055cd1f2103c1cbe8d76642fe4\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "3c797d1d0502c9323acdd1085af96280d20d0d1c",
      "tree": "79b4ec7ba4edcd7ca6560e076957b10178aa0913",
      "parents": [
        "9ee56ec1a7ace45b42b65e01fdda98114b5c0833"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Jun 11 13:35:42 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Oct 07 18:14:18 2019 -0700"
      },
      "message": "AImageReaderVendorTest: Tolerate failures for ACameraDevice_isSessionConfigurationSupported.\n\nBug: 134683975\n\nTest: AImageReaderVendorTest on multiple devices supporting physical different stream\n      combinations.\n\nMerged-In: I6aabd024b7092d4ecf60f8e0adbd0a2bf799cd25\nChange-Id: I6aabd024b7092d4ecf60f8e0adbd0a2bf799cd25\n(cherry picked from commit 48eb9b80c4e2751488b68df29ea64a137b52e2f7)\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "fdb43e49e9b43df47c8d9afb86f7e4ab83f8702b",
      "tree": "124853b510e9586e006aca7aea9dd2291f6265ea",
      "parents": [
        "ee14f8236132fc05a1236e0c54aaf9af91b38b56",
        "cfaf477e54f6c9d58b079f73507a5dfbeb773faa"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 11 20:31:33 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 20:31:33 2019 +0000"
      },
      "message": "Merge \"Merge qt-r1-dev-plus-aosp-without-vendor (5817612) into stage-aosp-master\" into stage-aosp-master"
    },
    {
      "commit": "78cb7123b23c197b296d40b2ffb886bde97ddfc4",
      "tree": "db2db564be30a32fd02232f7bc856b53621eed8f",
      "parents": [
        "a4be0c37e92faf1579b05077d7e3cbef8b93db78",
        "8c7465931249ed0ffea7de99f2d736ce0bc607dc"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 14:51:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 09 14:51:59 2019 -0700"
      },
      "message": "Merge \"Remove libhwbinder/libhidltransport deps\" am: 6cffe44e0f am: b7d2632c22 am: 2dc8ae5642\nam: 8c74659312\n\nChange-Id: I3ce106ae89de98eb9c438ccc30067a07b44da581\n"
    },
    {
      "commit": "2dc8ae5642ff2e4d92a5f141189f73082d0a9478",
      "tree": "933101c420fd8c2e7b4fdb5baf5c10310739bb17",
      "parents": [
        "f6d4e3349b7b44995109f845328ce73e98eb6b82",
        "b7d2632c22781990ab23d492abce4820334a2842"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 14:37:57 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 09 14:37:57 2019 -0700"
      },
      "message": "Merge \"Remove libhwbinder/libhidltransport deps\" am: 6cffe44e0f\nam: b7d2632c22\n\nChange-Id: I93c5296391c469571e153e5366ee90ab9754ea9c\n"
    },
    {
      "commit": "af905470168892078ca85cbd77c844b07f46d1d7",
      "tree": "02acf167a294e18f49a8cf075aa6ee7eb21fbf68",
      "parents": [
        "1210f45ea764f0d186e55a19c068283a4ff6cfac"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:08:49 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:08:49 2019 -0700"
      },
      "message": "Remove libhwbinder/libhidltransport deps\n\nSince these were combined into libhidlbase.\n\nBug: 135686713\nTest: build only (libhwbinder/libhidltransport are empty)\nChange-Id: I6cc85a91afb603e31b85090917f9f3b59d82a4d1\n"
    },
    {
      "commit": "6bbbfe2daf51a59056c331182aec57c79e474f55",
      "tree": "7576e1be43dbe35b69a5867b41587e7b9a45a5df",
      "parents": [
        "dba03231c2fb2c54c8a7b313786c7bc7d3471908",
        "7dc76b20ab402a032f00e93c5ef8594bef7336cd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Sep 01 04:40:38 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 01 04:40:38 2019 +0000"
      },
      "message": "Merge \"Camera: Mention postRawSensitivityBoost together with sensitivity\""
    },
    {
      "commit": "5216b21181e16103db22a8fe10ef76eca6fc83fa",
      "tree": "5064f0c470e238dbd3f66ab307b1b87da1884233",
      "parents": [
        "676a5419d7cd73695ce22fe0c6d8666dc9c4e234"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jul 17 09:26:23 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Aug 19 19:33:43 2019 -0700"
      },
      "message": "cameraserver: Add support for system only cameras\n\nBug: 133508924\nBug: 138135733\n\nandroid.permission.CAMERA and android.permission.SYSTEM_CAMERA are both\nrequired by a client process to access system only cameras.\n\nTest: Advertise the back camera as system only;\n        1) don\u0027t give Camera2 SYSTEM_CAMERA permissions,\n           Camera2 can\u0027t connect to the back camera\n        2) give Camera2 SYSTEM_CAMERA permissions, Camera2 successfully\n           connects.\n        3) 3P app can\u0027t connect to any camera if all cameras are\n           advertised as SYSTEM_ONLY_CAMERAs.\n\nTest: CTS CameraDeviceTest, CameraManagerTest\n\nChange-Id: I0309462f962d9c8c92564ef6781b2aae1485a933\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "9da975d887ef8d63970e4b11dc9f2c0e0da92705",
      "tree": "bbe6890d9a7d7e4b76ac872c18b752e4d68bab37",
      "parents": [
        "b535c8d620c393e34f8ea6ac91edc25975042bcd"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Aug 14 15:00:24 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Aug 14 15:06:21 2019 -0700"
      },
      "message": "camera2 ndk: Allow nullptr for ACameraCaptureSession_captureCallbacks.onClosed.\n\nBug: 134680093\n\nTest: AImageReaderVendorTest\n\nChange-Id: I8d365b434c257e949496d9495d0fa31a18a2e068\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "7dc76b20ab402a032f00e93c5ef8594bef7336cd",
      "tree": "7ee1c576590ad7cba3d57c318b0855e3c071d37b",
      "parents": [
        "1b03fc43bd922333dde02bc3be8fa44b1333d341"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Jul 08 15:09:13 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Jul 08 15:09:13 2019 -0700"
      },
      "message": "Camera: Mention postRawSensitivityBoost together with sensitivity\n\nThis helps application developer be aware of availability of\npostRawSensitivityBoost.\n\nTest: Build and read docs\nBug: 119755308\nChange-Id: I65778a17d98aa9a9bdbb4a452005c25dfae96950\n"
    },
    {
      "commit": "648db896cc1bd8ae91c236de81f755dd1054a5e2",
      "tree": "4042e71adad92280a524a57e05367b63677a7fb7",
      "parents": [
        "fee0ea55bbc54a5898433797a599ae7ff0b52a64",
        "5a5881d89d543c732d1fe1491cd26ed14290dd85"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jun 28 19:54:49 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 28 19:54:49 2019 -0700"
      },
      "message": "Merge \"Camera: Clarify manual capture behavior for logical camera\" into qt-dev am: 2655a0d0fc am: 4fea62f7a0\nam: 5a5881d89d\n\nChange-Id: I822ce30980300aabca94b6f4b56b5ce7bd3d47d6\n"
    },
    {
      "commit": "4fea62f7a0aa454710f69f2fdfd7d08492f94808",
      "tree": "2a6bd49694a01939b3353f06cf9ac51a8232a0f3",
      "parents": [
        "3439c875dd21991992afe033005e4f2ebed919bd",
        "2655a0d0fcb2065ae680808e87206effe9610042"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jun 28 17:33:55 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 28 17:33:55 2019 -0700"
      },
      "message": "Merge \"Camera: Clarify manual capture behavior for logical camera\" into qt-dev\nam: 2655a0d0fc\n\nChange-Id: Iaf3864b08fb90db90e77a9ec1e6dca54ad7475a2\n"
    },
    {
      "commit": "4d641386b33e7323fe8c44d4fc538049736ee4ee",
      "tree": "90a012fd915725558b5c6a44fa3ed2cc57beed7d",
      "parents": [
        "2cbc7cd807382e371ad5ae71039afccb9641433c"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Jun 26 14:46:02 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Jun 27 10:29:13 2019 -0700"
      },
      "message": "Camera: Clarify manual capture behavior for logical camera\n\nTest: Build and read docs\nBug: 136098496\nChange-Id: I2d62c383798b86c3fa4f7bcb9d55cd990a6d1718\n"
    },
    {
      "commit": "4574d4ed7a979ad0d91e37a09a315c479f920962",
      "tree": "b03afa6fbebf6618a82ca129b97ab7906bf361b2",
      "parents": [
        "62a6173c5443f9726b914ede43b3c2e0fd643128",
        "a8488c9c32de3d4cfa6f9b96bec362bbc337a91b"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Jun 25 19:51:18 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 25 19:51:18 2019 +0000"
      },
      "message": "Merge \"camera2 ndk/vndk: cleanup-\u003estop CameraDevice\u0027s looper in ~ACameraDevice()\" into qt-dev"
    },
    {
      "commit": "4c3979cf2bdb0ef406898496e1bb14202f3821dc",
      "tree": "a705a369bf2a12183f5e8f7f87f7b36a1e6142f9",
      "parents": [
        "c4871a8abe1c0669f6cd9825421df6256ef30c0c",
        "78048ace061e784c4bee5fc45b0eddc867d843a4"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jun 24 16:14:23 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 24 16:14:23 2019 -0700"
      },
      "message": "Merge \"camera2 ndk/vndk: cleanup-\u003estop CameraDevice\u0027s looper in ~ACameraDevice()\" into qt-r1-dev am: 95f6e43fa2\nam: 78048ace06\n\nChange-Id: I7a47c05f3053b22494eb22553f7c8fcaa0b7d542\n"
    },
    {
      "commit": "a8488c9c32de3d4cfa6f9b96bec362bbc337a91b",
      "tree": "a44151003b388a6950e52fc7e8cc465ce8e5e467",
      "parents": [
        "50f9a1320b8dfff8732ca26c73a50b1950f2831e"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Jun 21 12:45:34 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jun 24 14:43:46 2019 -0700"
      },
      "message": "camera2 ndk/vndk: cleanup-\u003estop CameraDevice\u0027s looper in ~ACameraDevice()\n\nIt\u0027s possible that the following sequence happens:\n\n1) hwbinder / binder thread T1: onResultReceived() starts -\u003e promotes wp\u003cCameraDevice\u003e to sp\u003c\u003e;\n\n2) Some other app thread T2 : ACameraDevice_close() -\u003e delete ACameraDevice -\u003e doesn\u0027t result in\n                              CameraDevice\u0027s destructor running since mCameraDevice has another live\n                              reference, app destroys some object O1.\n\n3) T3 (callback looper thread): callback is received since looper is still running which accesses\n                                dead app object O1 -\u003e results in undefined behavior.\n\n4) T1: onResultReceived completes and CameraDevice is destructed\n\nWe need to stop CameraDevice\u0027s looper thread (that waits for all callbacks queued to complete) in\n~ACameraDevice() so we receive no callbacks after ACameraDevice is closed.\n\nBug: 135641415\n\nTest: CTS native tests: no new failures\nTest: AImageReaderVendorTest; enroll; while(1) auth;\n\nChange-Id: Ia24de753f6ee409d941fff39616f09df2164880a\nMerged-In: Ia24de753f6ee409d941fff39616f09df2164880a\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n(cherry picked from commit 174084011ca8b593a8cf35412928517b9e864be9)\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "174084011ca8b593a8cf35412928517b9e864be9",
      "tree": "034550890e2f44344d82eaa547f6e2cac97fa988",
      "parents": [
        "b233eaef6a0b9a0b38845de252322c5e7418cdcf"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Jun 21 12:45:34 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Jun 21 13:52:39 2019 -0700"
      },
      "message": "camera2 ndk/vndk: cleanup-\u003estop CameraDevice\u0027s looper in ~ACameraDevice()\n\nIt\u0027s possible that the following sequence happens:\n\n1) hwbinder / binder thread T1: onResultReceived() starts -\u003e promotes wp\u003cCameraDevice\u003e to sp\u003c\u003e;\n\n2) Some other app thread T2 : ACameraDevice_close() -\u003e delete ACameraDevice -\u003e doesn\u0027t result in\n                              CameraDevice\u0027s destructor running since mCameraDevice has another live\n                              reference, app destroys some object O1.\n\n3) T3 (callback looper thread): callback is received since looper is still running which accesses\n                                dead app object O1 -\u003e results in undefined behavior.\n\n4) T1: onResultReceived completes and CameraDevice is destructed\n\nWe need to stop CameraDevice\u0027s looper thread (that waits for all callbacks queued to complete) in\n~ACameraDevice() so we receive no callbacks after ACameraDevice is closed.\n\nBug: 135641415\n\nTest: CTS native tests: no new failures\nTest: AImageReaderVendorTest; enroll; while(1) auth;\n\nChange-Id: Ia24de753f6ee409d941fff39616f09df2164880a\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "a161bbe3bdf3c42ad2815411364e1d79f3d947c5",
      "tree": "2581e058dd9b5014bdf76d8a9c1e392d323dc408",
      "parents": [
        "cba2d38632c2984f3dde4a42f68e804f5d11ca82",
        "490e2062a4f1f258ff23821ca438d89edf5c0ed2"
      ],
      "author": {
        "name": "Andrew Chant",
        "email": "achant@google.com",
        "time": "Thu Jun 20 22:46:35 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 20 22:46:35 2019 -0700"
      },
      "message": "Merge \"libcamera2ndk_vendor: stop looper thread on ~ACameraDevice()\" into qt-r1-dev am: 1c388a30c1\nam: 490e2062a4\n\nChange-Id: Ie5d771bf1c1275625bcf7c827d36bbe095697c08\n"
    },
    {
      "commit": "b233eaef6a0b9a0b38845de252322c5e7418cdcf",
      "tree": "c5e73f9f173c0a8a81f4d8195513141d1a03eaa1",
      "parents": [
        "3bd9e0e1a16a4fbe74c4edbe8be7069f988e9c2c"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Jun 20 20:30:07 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Jun 20 20:30:08 2019 -0700"
      },
      "message": "libcamera2ndk_vendor: stop looper thread on ~ACameraDevice()\n\nBug: 135641415\n\nTest: enroll; while(1) auth;\n\nChange-Id: I59c522a0e8827c5990926f0cf7c7960e1cea2e5e\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "a5a4f632cd7b59c8f2836a06fbdc8e59eed1a716",
      "tree": "e5a4c1f859cf3b6c3757982b86361978b2dce3d9",
      "parents": [
        "88ed3ec19285504f81b979bf5f11be72b04170b5",
        "2af3e748e114d32191ae5634269ca744e6b2fd81"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 18 04:37:59 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 18 04:37:59 2019 +0000"
      },
      "message": "Merge \"Camera: don\u0027t require (15, max) fps range on NIR camera\""
    },
    {
      "commit": "2af3e748e114d32191ae5634269ca744e6b2fd81",
      "tree": "698848612fdf7b592b9cef9245c946db03797b89",
      "parents": [
        "924b5b2fe2b57d9e94682417f447d8e0f3b0342e"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jun 12 14:49:44 2019 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jun 12 15:08:15 2019 -0700"
      },
      "message": "Camera: don\u0027t require (15, max) fps range on NIR camera\n\nTest: manually check generated doc\nBug: 132307219\nChange-Id: I5136920865f4bbe46d2c9cfa0c5dd61c0c2ea75e\n"
    },
    {
      "commit": "48eb9b80c4e2751488b68df29ea64a137b52e2f7",
      "tree": "26e99f02d3b5e80becf6eb10741864c1ff40b5ae",
      "parents": [
        "fd80bbcb2b4f6aa910c28fca41d8136aa038a033"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Jun 11 13:35:42 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jun 12 12:52:54 2019 -0700"
      },
      "message": "AImageReaderVendorTest: Tolerate failures for ACameraDevice_isSessionConfigurationSupported.\n\nBug: 134683975\n\nTest: AImageReaderVendorTest on multiple devices supporting physical different stream\n      combinations.\n\nChange-Id: I6aabd024b7092d4ecf60f8e0adbd0a2bf799cd25\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "0da67bb0e7facf146be789e4c67afa4fc5788995",
      "tree": "1f6e1e1ebf6edff1fda1edfaae9e243e0815bbbc",
      "parents": [
        "46238cd0395a0cb759bb1370356a8ac0fb2fa72b"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jun 03 16:46:03 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jun 05 10:53:07 2019 -0700"
      },
      "message": "libcamera2ndk_vendor: Don\u0027t retrieve value from failed HIDL calls.\n\nBug: 134424054\n\nTest: AImageReaderVendorTest; use libcamera2ndk_vendor client on device.\n\nChange-Id: Id6ebfc7c37af8d814a1bedfffdde14a8397591a5\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "7c856a23927dd2e9e2b7017dbd5336961c5d2c9e",
      "tree": "9ea9242fb606aea6e07e8204caf4b0d45d0d15ea",
      "parents": [
        "00ffd9e0c4cd97529b77248eae5c819a7d3f8a13"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon May 13 13:43:26 2019 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon May 13 13:44:17 2019 -0700"
      },
      "message": "camera: make libcamera2ndk_vendor vendor only\n\nTest: build and CGA\nBug: 132625347\nChange-Id: I7c8676c7ffcc64cc280ce3d7250f94b96eb1de00\n"
    },
    {
      "commit": "98a4990f3159175d20435e7f05949e2ab8fa8b40",
      "tree": "09f1e71a1517a9d2ad2dcc7b8e43e51d466dbf5d",
      "parents": [
        "b61a9d4cdebb0d572db81930535e63f4a0f3f9d0"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu May 09 12:52:40 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu May 09 15:36:12 2019 -0700"
      },
      "message": "libcamera2ndk_vendor: Add missing physicalCameraSettings metadata in saved cached CaptureRequest metadata.\n\nBug: 131925326\n\nTest: AImageReaderVendorTest; test using vendor process using\n      libcamera2ndk_vendor\n\nChange-Id: Ie86ec7f070e985121cdc89367bb0d4b227b41985\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "b61a9d4cdebb0d572db81930535e63f4a0f3f9d0",
      "tree": "b52915e9f50f5db08f2fafc6bd11335c8e1f67bc",
      "parents": [
        "4714c214a0fa5a85f6f8b98c7a6c2339b6a847d1"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed May 08 16:05:50 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu May 09 15:36:06 2019 -0700"
      },
      "message": "libcamera2ndk_vendor: Fix potential use after free of camera_metadata_t\n\nBug: 131566406\n\nTest: Use libcamera2ndk_vendor multiple times without seeing logs /\n      assertions indicating null metadata / corrupted metadata in\n      allocateACaptureRequest.\n\nChange-Id: I2154a83bb97a4dd945f15328769b811e9485a0ac\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "b16194d50f62eee1f4da85552a8ae4661665ada9",
      "tree": "eeca3ec9a0eb19f932aa51bbecfcd2c181ff7336",
      "parents": [
        "48601f013a60c916187591e6e05dfaf76a87b698"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Apr 19 16:04:01 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Apr 24 13:31:23 2019 -0700"
      },
      "message": "camera2 vndk: Add ACameraMananger_getTagFromName.\n\nIn some situations, clients of the vndk might need to be able to query\ntags at runtime, based on tag names. For example, when client hals are\nde-coupled from the camera HAL.\n\nBug: 131093919\n\nTest: AImageReaderVendorTest\nTest: Modify AImageReaderVendorTest to retrieve vendor tags given their\n      names, using ACameraMetadata_getTagFromName\n\nChange-Id: I1cdec5b154037185e99d29be2c6890e4fdc4a32a\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "27d12e5b832ceae7f2c727a4715a1e40c3717d53",
      "tree": "872b3333c25b857482349935506cfcffc5e382b3",
      "parents": [
        "bde241b71f7bc1d6f4ccf8d1fb4d02b31c9785a6",
        "ac64098127785c34c866e704e46283a0cb3c7a37"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 24 01:19:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 24 01:19:09 2019 +0000"
      },
      "message": "Merge \"Camera: Relax BURST_CAPTURE requirement\" into qt-dev"
    },
    {
      "commit": "ac64098127785c34c866e704e46283a0cb3c7a37",
      "tree": "aa9790eae78344ffdcf6e9c0c9070a0fc3e349e1",
      "parents": [
        "e8322b5584596350b2bb7ccffacd9af8ffe8194c"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 09 23:06:32 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Apr 22 14:36:53 2019 -0700"
      },
      "message": "Camera: Relax BURST_CAPTURE requirement\n\nAllow resolutions larger or equal to 24 megapixels to stream at 10fps to\nmeet BURST_CAPTURE requirement.\n\nTest: Build\nBug: 129693371\nChange-Id: I8f53b6a6f725e11d9deb1505d9d63d142e971006\n"
    }
  ],
  "next": "8300dc1549954d8e50431ca9da0cf0601a8e14fa"
}
