)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "8300dc1549954d8e50431ca9da0cf0601a8e14fa",
      "tree": "59d0d9cd9b88aaf6d45c764883a860cf7b189f68",
      "parents": [
        "8263e3519b6801f019e471efe4a6045b7046e4d3"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Apr 19 16:08:44 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Apr 19 16:31:34 2019 -0700"
      },
      "message": "camera2 vndk: Don\u0027t try to retrieve ACameraDevice in CallbackHandler.\n\nIts possible that the device is closing, however, it hasn\u0027t stopped its\nlooper yet. In that case, if we receive a callback, we\u0027ll receive a null ACameraDevice. Cache the\ncamera id during CallbackHandler\u0027s construction instead, like the ndk does.\n\nBug: 130910407\n\nTest: AImageReaderVendorTest\n\nChange-Id: Ia7cd40ff1ce4fe52abb5528c68e3557523a5367d\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "8bf6e5d3c0e60b05ec6dbe7ef9ee9b01b9278976",
      "tree": "71d8049e0cd2dadbcab8c660d768439297ed994c",
      "parents": [
        "aceea8bddd0324df4414673bc39a3f38fe16e8a1",
        "4f6fa9daa4557de78789b937276e45bbaf0b019c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 17 23:23:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 17 23:23:30 2019 +0000"
      },
      "message": "Merge \"Camera: Clarify multi-camera RAW and FOV behaviors\" into qt-dev"
    },
    {
      "commit": "4f6fa9daa4557de78789b937276e45bbaf0b019c",
      "tree": "1eca67f25a562bca05c149fccc1073b241285bd6",
      "parents": [
        "019b2fc5aa5d62b911d029234548eb9c253b8f60"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 29 10:40:35 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 16 17:11:01 2019 -0700"
      },
      "message": "Camera: Clarify multi-camera RAW and FOV behaviors\n\n- RAW capability can exist for multi-camera even if physical cameras are\nof different sizes/capabilities.\n- FOV for all processes streams must be the same regardless of logical\nor physical streams.\n- All metadata tags related to pixelArray/preCorrectionActiveArray/activeArray\nneeds to be mapped properly by the camera HAL.\n- Do distortion correction mapping for physical subcamera as well.\n\nTest: Build and read docs, camera CTS, ITS.\nBug: 118906351\nBug: 126220135\n\nChange-Id: I29a61fc3a603561c1d74dc2261600ce4cd3d34cd\n"
    },
    {
      "commit": "d57b17cf5475ed6177c75acde33c9ee70630dfa5",
      "tree": "57147d0ff7febc2fa61e14e9bd06a608ca3e314f",
      "parents": [
        "019b2fc5aa5d62b911d029234548eb9c253b8f60",
        "5e95ecbd8a029a0f5c63cac38f4f2a8c1e38c594"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Apr 12 18:11:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 12 18:11:06 2019 +0000"
      },
      "message": "Merge \"Camera: Document LEGACY devices not being allowed on new devices\" into qt-dev"
    },
    {
      "commit": "5e95ecbd8a029a0f5c63cac38f4f2a8c1e38c594",
      "tree": "cce4b153d610ba17d550d9f9705f17d46ded1747",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 10 17:30:33 2019 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Apr 11 00:43:02 2019 +0000"
      },
      "message": "Camera: Document LEGACY devices not being allowed on new devices\n\nBug: 130315905\nTest: Builds\nChange-Id: Ia1380344ba73216eaf078f2480ce278e99c03820\n"
    },
    {
      "commit": "bbe759d4a49d0ff67068facba6a93fa834274e5a",
      "tree": "620ed3889b7b0d57c270f00a6caa2a3bdb82c950",
      "parents": [
        "10ba310fea4259fcc02c18d1adae1c1936d88f61",
        "62899df9cf57f974532acecf6eb11872eb54352e"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Apr 05 15:59:07 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 15:59:07 2019 +0000"
      },
      "message": "Merge \"camera2 ndk: Move check for ndk support for capabilities from a white-list to a black-list.\" into qt-dev"
    },
    {
      "commit": "62899df9cf57f974532acecf6eb11872eb54352e",
      "tree": "4653a3fc90ce90d0a011e8d399f0251f5b662512",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Apr 02 16:53:34 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Apr 04 14:34:11 2019 -0700"
      },
      "message": "camera2 ndk: Move check for ndk support for capabilities from a white-list to a black-list.\n\nBug: 129979644\n\nTest: Fake SECURE_IMAGE_DATA by updating camera characteristics in\n      cameraserver; Retrieve capabilities in AImageReader test and\n      confirm that SECURE_IMAGE_DATA is supported\n\nTest: AImageReaderVendorTest\n\nChange-Id: Ia105969ce1df52408e6b7663a658d89f47cd90c2\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "9c58bd569a3a5e82faf6e4ef70d0f0bb6413f7e7",
      "tree": "8a1848944d8a98c694f4710818707ae480e429fd",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 04 12:13:47 2019 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 04 13:06:43 2019 -0700"
      },
      "message": "Camera NDK: document not all cameras are supported\n\nTest: check html output of: frameworks/native/doc/make website\n      (with a tweak in Doxyfile to add \"__ANDROID__API__\u003d24\" to\n       PREDEFINED)\nBug: 120916880\n\nChange-Id: Idf93a13b9bbe2974fa4256de1f3ca67b7eee1bb6\n"
    },
    {
      "commit": "0e5a1b3bb64d9a5d38903770e018379856401efd",
      "tree": "1487b64fdf8e564dde5f119c5986c8505eda07c2",
      "parents": [
        "1ad4601a07dbcccb461ca8ce39f460298fbaef86",
        "b94a3d3e5461e6148bcb3be96f51e51c8f57c7e2"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 04 00:03:48 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 04 00:03:48 2019 -0700"
      },
      "message": "Merge \"Camera: add QCIF resolution exception\" into pi-dev\nam: b94a3d3e54\n\nChange-Id: I53511f3350360c8b75aaa7c3f481235beadb09b9\n"
    },
    {
      "commit": "ecd19f37e673adcf04ea68b7001b3200c692eb14",
      "tree": "fceba5df3008ed4ba72acd7b846166fa79a40f38",
      "parents": [
        "63dc6cf50582fa13702c59f43155f6c18312178b",
        "83e5dd90020f3c95ef1d6f5fc3e7f84c15b221ed"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 00:06:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 00:06:55 2019 +0000"
      },
      "message": "Merge \"Camera: Relax logical camera stream combination requirement\""
    },
    {
      "commit": "3689dfb9e5840e640e0e577f8d869cf817b21d7a",
      "tree": "19ce62a1fbd6837f0439e9c44dabc78c0c29a6df",
      "parents": [
        "5635b7d126c46bb33d80f1518fe75702e4c2e179",
        "73d25278987accf34b9edddbe7d08dca8bdccb7c"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Apr 02 20:15:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 20:15:42 2019 +0000"
      },
      "message": "Merge \"camera2 vndk: Initialize uninitialized members of OutputConfiguration in wrapper constructor.\""
    },
    {
      "commit": "7307cc0f6734dbad9644cf4adac3091e42bd9972",
      "tree": "cf424ad755e488a1f080260694c3d8fff7ddb265",
      "parents": [
        "a504d888d4cc53d8067bb67f9d7f1c063ca54a93"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 23 15:27:24 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 01 11:59:50 2019 -0700"
      },
      "message": "Camera: add QCIF resolution exception\n\nTest: checkbuild\nBug: 120158047\nBug: 122461651\nChange-Id: Ic7ed2e3a93278fbc95e7c6edd7eb6c35a38e1f4d\n"
    },
    {
      "commit": "09cc4b1d530e550167c4ad01c84559c8797e0ff8",
      "tree": "c22a1ea6f6a4b9433be7910d5c6ecfa775dc98aa",
      "parents": [
        "fc332471b307dff3ab152db2f0cb35f12c7a50aa",
        "edec62de621a69e66db6b753dacb4919da16f3ae"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 01 17:00:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 17:00:41 2019 +0000"
      },
      "message": "Merge \"Camera: Include the physical camera device during errors\""
    },
    {
      "commit": "73d25278987accf34b9edddbe7d08dca8bdccb7c",
      "tree": "89a41fa30a39d82d2746431b1e3bb57a318cb8c2",
      "parents": [
        "6a91f7cf52fe6f02f88b1fc6461be8133c97d5ed"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Mar 28 15:50:42 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Mar 28 16:56:18 2019 -0700"
      },
      "message": "camera2 vndk: Initialize uninitialized members of OutputConfiguration in wrapper constructor.\n\nTest: AImageReaderVendorTest\n\nChange-Id: Ia612e68680c307c8a1b635893173a2fcd0f3d213\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "83e5dd90020f3c95ef1d6f5fc3e7f84c15b221ed",
      "tree": "400458d9b2c163fa6731f261e3ad21dc56037f79",
      "parents": [
        "759bd0f18f2271c9c997818827d5e92bcada7453"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Mar 20 12:06:49 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Mar 26 10:14:00 2019 -0700"
      },
      "message": "Camera: Relax logical camera stream combination requirement\n\nLogical camera now doesn\u0027t mandate concurrent physical streams\ncombination. Instead, require is_stream_combination_required to query\nwhether such a combination is supported by HAL.\n\nTest: Camera CTS, ITS\nBug: 119325664\nChange-Id: I8ea7abc6fe1e34e687e86dcd1e7529d030bcc71a\n"
    },
    {
      "commit": "edec62de621a69e66db6b753dacb4919da16f3ae",
      "tree": "fc20b99e88ece37258d8da39461e6553a62d8a27",
      "parents": [
        "f97d64cd3a1588b22b47dd3805be291525bb17d9"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 19 17:59:24 2019 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Mar 22 13:27:08 2019 -0700"
      },
      "message": "Camera: Include the physical camera device during errors\n\nThe physical camera device ID must be present as part\nof the capture result extras in case of corresponding\nresult failure notification.\n\nBug: 128835627\nTest: Camera CTS,\nAImageReaderVendorTest\n--gtest_filter\u003dAImageReaderVendorTest.LogicalCameraPhysicalStream\nChange-Id: I042af8bd85eaadd389b059c2833f352ceb2f40fc\n"
    },
    {
      "commit": "24810e7a6725e9c3275bd9a8115a3049a73685d1",
      "tree": "3d2857d01991626c2cd71a1a1b2ba021271c09a2",
      "parents": [
        "8f922e189dbb1d7e75a4f4d2a51fe32a905549de"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Mar 18 10:55:01 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Mar 20 12:58:11 2019 -0700"
      },
      "message": "Camera: Add isSessionConfigurationSupported in NDK/VNDK\n\nTest: NativeCameraDeviceTest and AImageReaderVendorTest\nBug: 128933069\nChange-Id: I26ca4c0ca12f7bd1b872c2f33e8fa63a056ae068\n"
    },
    {
      "commit": "635ebee7b8e9529178ba7cb8b651e32b76c6c9ad",
      "tree": "8a3b38c93b24bb9a310db5614d7d5536c27c5d91",
      "parents": [
        "ede17f7293baf51af1541e734e404a5e1529a2a5"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 12 18:05:35 2019 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Mar 15 12:53:10 2019 -0700"
      },
      "message": "Camera: Add low latency snapshot use case id\n\nAdditionally initializey the stream id to invalid negative\nvalue in case the Hal tries to verify it during stream\ncombination queries.\n\nBug: 128450197\nTest: Camera CTS\nChange-Id: Ife058e22ef72ee84be82799ed397ca49cd8ea99f\n"
    },
    {
      "commit": "04992c95abdac4105cdd417a51db06d019f5281d",
      "tree": "735e5a4574ea94ce1fd43a7924b6ad80e6cead3f",
      "parents": [
        "1812b4e7dd2409dc82e34c6e9a25c8c766680197",
        "c6f2ab3c7b927e87d55c8bde9ac02571c3a7ef66"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 12 18:26:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 12 18:26:16 2019 +0000"
      },
      "message": "Merge \"Camera: Add NDK support for camera permission update callbacks\""
    },
    {
      "commit": "bc2a37f4a8087425e8a17cf746270e5acf9de049",
      "tree": "d7b13f22f7952c3600519546a4fff750eb828421",
      "parents": [
        "0428b8e5a53c3c37e0f76decc7a8f32854488062"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Mar 11 18:12:37 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Mar 11 18:14:16 2019 -0700"
      },
      "message": "camera2 ndk: Add some null checks before dereferencing captureSequenceId.\n\nTest: AImageReaderVendorTest\n\nChange-Id: Icdb11569305cdbf4e4f9c791b306292e46395271\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "c6f2ab3c7b927e87d55c8bde9ac02571c3a7ef66",
      "tree": "fbc5ed49c073569bb633b64a3c5ad974d1dfa7e9",
      "parents": [
        "e8f70444fb37caae83518e26535191cc681055d1"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Mar 04 11:18:59 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Mar 08 18:52:27 2019 -0800"
      },
      "message": "Camera: Add NDK support for camera permission update callbacks\n\nCamera NDK clients must receive notifications about\naccess permission changes.\n\nBug: 121379978\nTest: Camera CTS\nChange-Id: I66866ee3bbf7d45619995f036f19af50e812c236\n"
    },
    {
      "commit": "f920def4cbe0992261ac7bf07422069e1970badd",
      "tree": "a201b317fa203015f33b092a83cc25061f82b699",
      "parents": [
        "94f20b1b06c006eb4b1b2690a74ba7a8eaff02b1",
        "38c13a703b4d169d33b2219a546ee278c5bf7c39"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 08 21:31:54 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 08 21:31:54 2019 +0000"
      },
      "message": "Merge \"Camera: fix filter logic for depth only camera\""
    },
    {
      "commit": "38c13a703b4d169d33b2219a546ee278c5bf7c39",
      "tree": "c35e0e05fdc51f752a5ee89b2f889197e3252cec",
      "parents": [
        "defe9d507eb566ce960a1f41f4082c0fc98a1436"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Feb 26 14:02:15 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 08 10:54:03 2019 -0800"
      },
      "message": "Camera: fix filter logic for depth only camera\n\nTest: partner testing\nBug: 126408288\nChange-Id: I5c3abcd72e64b40e7cbac467646d99a1f5b362d0\n"
    },
    {
      "commit": "6c17e2107b76dd2b40c79e4236cb690f2361d5d9",
      "tree": "f8d306970853b435d253029e7e9ecf241dd62fae",
      "parents": [
        "a073d2ec8465dd6c656e600b5e985729d92f7309"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Feb 19 14:51:47 2019 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Mar 07 12:22:21 2019 -0800"
      },
      "message": "Camera: Enable physical camera setting in camera ndk/vndk\n\nPort physical camera settings support to ndk/vndk.\n\nTest: Related camera VTS and NDK/VNDK tests pass\nBug: 115532726\nChange-Id: Ie2d46b4ec041d2cec3c02145fbf06cf70eec5ac3\n"
    },
    {
      "commit": "8702e425c7755d56dbcac0cd557cd682d1cb3694",
      "tree": "cc0e479de019898962fa2b2aaac4f60a9dc33f52",
      "parents": [
        "13c8870eb5b25dbf0e5b7d99f19a6c1d3d8ddab3",
        "53722fa75c1b74b7accdf2293fda9948beaeb461"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 04 20:36:38 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 04 20:36:38 2019 +0000"
      },
      "message": "Merge \"Camera: Update listeners about permission changes\""
    },
    {
      "commit": "53722fa75c1b74b7accdf2293fda9948beaeb461",
      "tree": "f5eff9c096e7a23d43608104d655ce9596412173",
      "parents": [
        "3f1962974d7611adf3d7db6aee63d5876eb12c4e"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Feb 22 17:47:20 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Mar 04 10:22:55 2019 -0800"
      },
      "message": "Camera: Update listeners about permission changes\n\nCamera service listeners must be able to receive\ninformation about camera access permission changes.\n\nBug: 121379978\nTest: Camera CTS\nChange-Id: I2e13fdd35a267901a3caa0e0ce78ab1cea83e7ab\n"
    },
    {
      "commit": "b24806f9d0d0dcbac7f55439c899c99bdd4c15d9",
      "tree": "e923caf5782c0dc7ba85de9c5cc0e5c3bdbee2c3",
      "parents": [
        "e724f2bcb37a2288a5b053ecbde1a9672c8e4660"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Feb 27 08:57:43 2019 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Feb 28 15:25:06 2019 -0800"
      },
      "message": "Camera: ndk: Improve docs for activePhysicalId metadata key\n\nTest: Read updated docs\nBug: 125346954\nChange-Id: I0f0c071a98fb5f23c3db257d3e5cb63a96e8fad8\n"
    },
    {
      "commit": "6da81c8dbaa5180137efc701f361ef32ec1888c6",
      "tree": "ed59b0f47991e9e5218c036d6b5d4b41bc37c2c0",
      "parents": [
        "06f087d7ebc4b62bec118d1ce8c9ce0e158b8b61",
        "44df34d4f85eb6047c43961802524db95f082c5c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 26 23:31:00 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 23:31:00 2019 +0000"
      },
      "message": "Merge \"Camera: Add NDK support for depth jpeg format\""
    },
    {
      "commit": "ece71b2f22195fc8c21f1237eacd81e17dc556ad",
      "tree": "2417637484af2235457f11059753fd7e8e3d39c9",
      "parents": [
        "e7e4191d9bb4857b4272e4b21e473f4a4a9ed2fd"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Feb 20 16:50:51 2019 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Feb 20 16:52:27 2019 -0800"
      },
      "message": "camera2 vndk: Clarify documentation around ACameraDevice::allocateCaptureRequest.\n\nTest: builds; not a functional change.\n\nChange-Id: Id3cc9013802eca044c24d910e4fce4fc7a640f2d\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "44df34d4f85eb6047c43961802524db95f082c5c",
      "tree": "a2b0255037134321ecdd8fd6bb9dab1440cdb730",
      "parents": [
        "54aa6de10bf6517f3c31ed91ddfa1c27465dc98e"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 12 09:30:15 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 12 11:22:25 2019 -0800"
      },
      "message": "Camera: Add NDK support for depth jpeg format\n\nDepth jpeg image format must be available for\nnative clients using the Camera NDK.\n\nBug: 124064032\nTest: Camera CTS\nChange-Id: I21f14ea63fe4a568c1cfccd0dcd32fce5cad8098\n"
    },
    {
      "commit": "68ac7ada1f7329db65445d05c986899dbb13b745",
      "tree": "89ee2fc914f6b49e5cac2aae83c61f5c6ace83b2",
      "parents": [
        "627cb60a9fb54e8f6b2eab0c874392f20cd9d8e8"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Jan 30 14:03:28 2019 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Feb 06 10:32:08 2019 -0800"
      },
      "message": "Camera: Add HEIC support\n\n- Derive HEIC capabilities from camera HAL and media framework.\n- Add HeicCompositeStream to encode camera buffers to HEIC buffers.\n- Add ExifUtils to overwrite JPEG APP segments and send to media codec.\n- Add NDK enums and corresponding format support.\n\nTest: Camera CTS\nBug: 79465976\nChange-Id: I0a885e76335f3eba4be0fd42241edb0b7349f284\n"
    },
    {
      "commit": "627cb60a9fb54e8f6b2eab0c874392f20cd9d8e8",
      "tree": "6ebad9c5541cbd341884199f69b43604d6b0c3b3",
      "parents": [
        "5876259a061e5e63db3fa5d45ff5585fb4a836fc",
        "1da379a140fda8bd1a76ecab5347622641b44528"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 06 16:28:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 16:28:42 2019 +0000"
      },
      "message": "Merge \"Camera: Cache physical camera id values\""
    },
    {
      "commit": "1da379a140fda8bd1a76ecab5347622641b44528",
      "tree": "ef54520c35808b2f5eac037d1e410b8c6409b4eb",
      "parents": [
        "612be7ff334b6c2c1051bd6dbb4088922af0336e"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 05 15:36:31 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 05 16:00:38 2019 -0800"
      },
      "message": "Camera: Cache physical camera id values\n\nA pointer to data within CameraMetadata can become\ninvalid after each metadata modification. Cache any\nvalues that could potentially point to the raw\ninternal metadata buffer.\n\nBug: 123954417\nTest: Camera CTS\nChange-Id: Ie5ac9600ff454af551c4cf8e0f25ba5a6a6e897d\n"
    },
    {
      "commit": "f949ddde2b4d1c986b847676f8bd9ad8364ebd4b",
      "tree": "8772f413703528cff344d72d192094a98ab395cd",
      "parents": [
        "88cc9a5fbc2fc8acd37f10816fcc5c39cfd8bad5"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Jan 29 14:34:11 2019 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jan 30 15:27:20 2019 -0800"
      },
      "message": "cameraserver: Add support for hiding secure cameras.\n\nBug: 123046494\n\nTest: Sanity -\u003e GCA\nTest: Hardcode all cameras hidden, AImageReaderVendorTest passes, GCA\n      cannot find cameras.\n\nChange-Id: I7780751101c660e47d84627ec191f43d268f1aa9\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "4c6d2b5c41bc6f233e281d227e26f16f5f49ae26",
      "tree": "d1c8753dfd21489968b673be4a36c1e85a76c698",
      "parents": [
        "45b005c624c8178d42fa7ba518b7a7d23fd47c68"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 04 17:13:56 2019 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 25 11:05:10 2019 -0800"
      },
      "message": "Camera: Add support for dynamic depth if possible\n\nComposite dynamic depth streams will be supported\nin case camera devices include:\n- Dense depth streams which are not exclusive.\n- Jpeg/Blob output with sizes that either match depth\n  or are with similar aspect ratio.\nMake a guesstimate regarding the dynamic depth minimum\nframe and stall durations.\n\nBug: 109735087\nTest: Manual using application,\nCamera CTS\n\nChange-Id: I8a89c7895cf57ce4408e41b1afae9c85d48c4e07\n"
    },
    {
      "commit": "ba2bb3a2a807e8925475ec674916da3a8b9a1989",
      "tree": "5389e50944bbb98afe4d0e4cf7fbe183409306b5",
      "parents": [
        "3eb2373841c4440521e66363c40d488edf73253d"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Jan 24 16:29:16 2019 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Jan 24 16:29:23 2019 -0800"
      },
      "message": "camera2 vndk: Remove superflous log from utility function.\n\nTest: builds\n\nChange-Id: I7070a78d77c6b525939fd4e44c9ca7ec5f16de99\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "245bd8a37c7faa3bada97e00e031a645403a22e1",
      "tree": "dfc570086fdbbfb6c10e07445c16711773bb821f",
      "parents": [
        "6ead2c3454f38dac2724a877aa2b57d94877611a"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Nov 19 15:59:35 2018 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 22 14:01:53 2019 -0800"
      },
      "message": "Camera: Update NDK for activePhysicalId metadata\n\nTest: Camera CTS on Pixel\nBug: 77915333\nChange-Id: I93338d4e7f14be31bbae78f1f58a5164eae66c80\n"
    },
    {
      "commit": "227b9446d1c6df011f697bf8d5b90e9c180323b1",
      "tree": "c993fd929a4c8c084bae9a88004805444cd92766",
      "parents": [
        "96024c18126150259ba123ef48d180c6e0a2cf7e",
        "9401b553496fa0a6be0513fd6b26758c672151e7"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Jan 15 23:12:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 23:12:48 2019 +0000"
      },
      "message": "Merge \"camera2 vndk: Set up vendor tags in CameraManager\""
    },
    {
      "commit": "76ba73f7ed1b172efed2dd76bc3877f1a607dc0c",
      "tree": "d95c75089721840257eeb1f6fd4d4ee328bcb474",
      "parents": [
        "937dba18c32af5030999daf8d4e9aa3d4cf3b705"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jan 14 17:11:05 2019 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jan 14 17:11:08 2019 -0800"
      },
      "message": "camera2 ndk: Check for nullptr before assigning captureSequenceId.\n\nBug: 122853890\n\nTest: mm -j64\nTest: AImageReaderVendorTest\n\nChange-Id: I9520abdaecf60401dad614481ca98195501c52e8\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    }
  ],
  "next": "9401b553496fa0a6be0513fd6b26758c672151e7"
}
