)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "0ff9ae3ecbb421551d5de9701a349d8a3741f965",
      "tree": "2fb69b8701f672c09fc5b139caccfa95fa6976cf",
      "parents": [
        "3c3c97ae534870c90f54e8cffc6d7d82ab8ca3da"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Dec 05 18:06:12 2018 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 20 10:34:27 2018 -0800"
      },
      "message": "Camera: Enable logical multi-camera API in NDK\n\nThe support inclues:\n- Physical camera specific stream support,\n- Physical camera result metadata, and\n\nTest: Newly added NDK CTS test pass\nTest: Newly added VNDK test pass\nBug: 120566141\nBug: 115532726\nChange-Id: I939b81522ca6c518c0e54ded5d3615f9973a6a65\n"
    },
    {
      "commit": "ef4b27d1d1123b452316f722a0eacc282d3fa94a",
      "tree": "a0acf7f1501bebe58caa1fb15fc118072b71a305",
      "parents": [
        "dd44e3c5f2d199589c040a422b3e343c796bd362",
        "538d53267bee085e08d489546bde620520b5b188"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 13 16:23:10 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 13 16:23:10 2018 -0800"
      },
      "message": "Merge \"Fix performance-for-range-copy warnings\" am: 1ce37f1de3 am: c9584831bc\nam: 538d53267b\n\nChange-Id: I15dfaa7eb997c7caf497b488384477952513cef7\n"
    },
    {
      "commit": "3ef324d11cc4b6f84c147998fcf02c3a528fc2b8",
      "tree": "9c31c781e4172fb511af7552838c6a63b0f04ac9",
      "parents": [
        "14c577fac81b8fdcc75e4bf9243f16bd624ba58b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 11:48:12 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 11:48:12 2018 -0800"
      },
      "message": "Fix performance-for-range-copy warnings\n\nBug: 30413223\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,performance*\nChange-Id: Ia63c695575d2602ff7e67db874d423b99f4daeef\n"
    },
    {
      "commit": "6df26071a5b581a90a6719a6dc03c212073dca71",
      "tree": "bc25beaef80c37fa9b32df72b3dd0d19ec89f49a",
      "parents": [
        "dcfd26eeac36f41dff92cab15f47512711b540cf"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Nov 06 23:55:12 2018 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Nov 16 10:04:22 2018 -0800"
      },
      "message": "Create a vendor available version of libcamera2ndk.\n\nBug: 110364143\n\nTest: mm -j64\nTest: AImageReaderVendorTest\n\nChange-Id: Ic9343cc7fb10eb374197945b72be59e7ce8282fe\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "8c6dd4e4208df831066be8ccd1fd937d1ee12e72",
      "tree": "5f3c32b0c010d916d38ab59475079c1eb4559826",
      "parents": [
        "00969d2ed7846085d18d7ffa5d44987448baf1d9",
        "2e6bb43bc132a07dce8fcc5f6960dee23282dab1"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Oct 18 23:31:40 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 18 23:31:40 2018 -0700"
      },
      "message": "Merge \"camera2 ndk: Fix error code passed on ACameraDevice_ErrorStateCallback.\" am: 31215a03a3 am: d7d5ad51d1\nam: 2e6bb43bc1\n\nChange-Id: I442019c4eac6be8365841a0d09dd42f968e024e2\n"
    },
    {
      "commit": "694cd4711db5bc03caddeec657ae98d212ef72d1",
      "tree": "c08613b5f59dce1c6a1cdda062dbe41fae928853",
      "parents": [
        "1ef73503fdceeb836107ef43f2a1d52d287edb3f"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Oct 16 12:44:58 2018 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Oct 17 10:33:21 2018 -0700"
      },
      "message": "camera2 ndk: Fix error code passed on ACameraDevice_ErrorStateCallback.\n\nThe error code passed to the camera2 ndk while calling the\nACameraDevice_ErrorStateCallback was the AIDL errorCode passed through\nthe ICameraDeviceCallbacks::onDeviceError() callback. These error codes\ndo not map directly, to the ones promised through the ndk in\nNdkCameraDevice.h. These need to be fixed to appropriate ndk error code mappings.\n\nBug: 117833501\n\nTest: GCA (sanity)\nTest: CTS Native camera2 tests (sanity)\n\nChange-Id: I65a80e4f2be5a3317a008bf0a71578e31fb45d62\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "eacb23737b49d79a03854fc56b1052df10dc3014",
      "tree": "e2d7452cc2d2c75277b97d456619b8b549c9d4b0",
      "parents": [
        "89a8d5ab7f9e53f1aa791640be99094a2b907726",
        "42bd82919b9e9ab1680ba18c69c85ba912fcd2cd"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 21:15:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 21:15:24 2018 -0700"
      },
      "message": "Merge \"Fix implicit fallthrough warning.\" am: 0f455238b1 am: b1d94eca22\nam: 42bd82919b\n\nChange-Id: I58ba1a242c7b64026dd5594ab182b62a32a56508\n"
    },
    {
      "commit": "e6a2f21608b32718baf35daa355d780040f120cb",
      "tree": "1e50e40d8b3abe4aab7b50ece92d4efdfb7accb3",
      "parents": [
        "225f99219cb5a950f49983cc31f7a8f2e9349fb6"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 12:16:31 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 12:16:31 2018 -0700"
      },
      "message": "Fix implicit fallthrough warning.\n\nBug: 112564944\nTest: make checkbuild\nChange-Id: Ia7b87dcd910141893d9b15ce781a56c4bc9efd69\n"
    },
    {
      "commit": "2be96a23ed1df37613dda952ba22297ee35c9012",
      "tree": "cf08e16f331e09c9f8bcb74395cb2eb24f41e72d",
      "parents": [
        "6689f2e894a99838c03c737ea7f0409aa2a1c37c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Sep 17 11:51:24 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Sep 17 11:51:24 2018 -0700"
      },
      "message": "Camera: codegen NDK update\n\nTest: compile\nBug: 109829698\nChange-Id: If8d0cb56a03397380c1bf07ea9f2deed31ab7f63\n"
    },
    {
      "commit": "e57e9a2ca66a801ace5d6b93200d24807d2566cc",
      "tree": "8bfd04d4cccb1253c4d85f879a18a7f80a1df40e",
      "parents": [
        "12efcb14eece15d3c973b4c825c962a6f6d01336"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Aug 23 15:36:41 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Aug 24 09:26:42 2018 -0700"
      },
      "message": "Camera NDK: internal-\u003epublic format conversion\n\nTest: new CTS test\nBug: 112897492\nChange-Id: I785612966e7c6201db333e3a736e6efda9e63feb\n"
    },
    {
      "commit": "dd045bf3607fe6ab5881872c484241627731cc82",
      "tree": "b2c474378cde252aa2098bc28ac2b7816332e84b",
      "parents": [
        "c524813b806a64123d376d1afb4d21b09a6de453"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Aug 20 12:39:19 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Aug 20 13:44:02 2018 -0700"
      },
      "message": "Camera NDK: don\u0027t explicit delete ACameraMetadata\n\nTo fix the warning in RefBase destructor.\n\nTest: NDK CTS tests, and ARCore measure app.\nBug: 112775599\nChange-Id: Ia448ac6d7e6c17699c16d287f65fc2826c9d7578\n"
    },
    {
      "commit": "728f909a1fecb99e565a0239580c5e9fff264209",
      "tree": "6f60997bd5daa8f0e1d6589308dcaf3fd1ecfc4d",
      "parents": [
        "ac0beb7bc1feeedf643263bd79b7cbe95f0dcc3a",
        "03f5575dc5c1a4de41dd2f327e59c1938b2a25d1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 03 17:13:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 17:13:39 2018 +0000"
      },
      "message": "Merge \"Camera: sort NDK getCameraIdList output\" into pi-dev"
    },
    {
      "commit": "03f5575dc5c1a4de41dd2f327e59c1938b2a25d1",
      "tree": "256ae5c8da47712a52176c3780fba07320b849ea",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 14 15:28:02 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 14 15:31:22 2018 -0700"
      },
      "message": "Camera: sort NDK getCameraIdList output\n\nBug: 72261912\nChange-Id: Iae9873459884c9d3f61dbd21e4e705b59f5f9d2d\n"
    },
    {
      "commit": "2d96092030f7bcd3c5c0de53dc8a97bbe3c2e0c4",
      "tree": "447189bad330ce14171154ff3ffd53a62fa120ac",
      "parents": [
        "ddefa9dd59b6ba75fcfb21612060eea1e26a5270"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 13 19:46:23 2018 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 13 19:46:23 2018 -0700"
      },
      "message": "Camera2: Add distortion correction support\n\nThis allows camera devices to correct geometric distortion in their\noptics, when requested by the application.\n\nThe correction only applies to processed (YUV, JPEG, etc) outputs,\nnot RAW buffers, or the result metadata.\n\nTest: New CTS test passes\nBug: 74434422\nChange-Id: I77a84c1321058ab6637be2fffaca19a27f46dca1\n"
    },
    {
      "commit": "5c22c15ed8c593189ed9bb8fcbccace2ca63b82a",
      "tree": "d3f608b779d55a54851ab49aacb697510725725f",
      "parents": [
        "91b1f83220c6fc643e2618f92b28482fa880c7fd"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sun Dec 31 17:12:25 2017 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Jan 24 18:18:18 2018 -0800"
      },
      "message": "Camera: Support physical camera metadata in capture result\n\n- Add physical camera metadata in capture result.\n- Adjust capture_result book-keeping for physical capture result.\n- Adapt to new version of ICameraDeviceCallback.\n- Batch physical metadata with logical metadata within one\nprocess_capture_result call.\n\nTest: testLogicalCameraTest CTS test\nBug: 64691172\nChange-Id: I63fd343770cbb6183b7c6e4566c698f69801a8e8\n"
    },
    {
      "commit": "763226f9bc18e94ea1c2f59f5d422ca2b456d2de",
      "tree": "f3cab5c00128f5000287d7e17ed9af4fbac08315",
      "parents": [
        "4e3815d14dceaf31d60ea325e650be4db17ce6c3",
        "714d292393272e1d4857ab9efd5783986508e3ef"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "guennadi.liakhovetski@intel.com",
        "time": "Tue Jan 23 02:47:06 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 23 02:47:06 2018 +0000"
      },
      "message": "Merge \"CameraService: fix camera removal paths\" am: 930c980043 am: 1f1584afba\nam: 714d292393\n\nChange-Id: I2f4b53bbcc9d8f3a6865405a6ac764f2f50a9395\n"
    },
    {
      "commit": "f42760c9b7136344f8b24a42c8c5bba74ac61ba9",
      "tree": "789e34ea68e8e36fa5430b87502ca43cf02bdf40",
      "parents": [
        "487585733d3e075734cb9827f1a36302590b8089",
        "aebbe41461c597cdcb4be35edb5484410b9b2dff"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 23 00:36:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 00:36:17 2018 +0000"
      },
      "message": "Merge \"camera: Support multiple physical camera requests\""
    },
    {
      "commit": "aebbe41461c597cdcb4be35edb5484410b9b2dff",
      "tree": "82061515fa8890cba39f1161b809b1875d578c73",
      "parents": [
        "c28189a64a6ef65aecccb6e3bb980f1afc189a1c"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Jan 15 13:53:24 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Sat Jan 20 16:11:35 2018 +0000"
      },
      "message": "camera: Support multiple physical camera requests\n\nCapture requests could include settings for different physical\ncameras. Camera service should always check whether such\nextended requests refer to valid physical devices and process\nthem accordingly.\nFix some stability issues in the camera native tests.\n\nTest: Basic camera sanity using camera application,\ncamera_client_test, Camera CTS\nBug: 64691172\n\nChange-Id: I68b81e983dd0b7caebfa03e4f0cf283f2a91dc7a\n"
    },
    {
      "commit": "5ca4a9bb85fe955f6e6fd1c6a618d8a529b84707",
      "tree": "497d22e5e44f50f86c96ee0f3a579a48906a875a",
      "parents": [
        "9831721434f8e2761bfdc4f4b30717f5efb30e65"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jan 18 12:23:50 2018 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Jan 19 16:23:38 2018 -0800"
      },
      "message": "camera: Add OIS data keys\n\nTest: CTS\nBug: 64847201\nChange-Id: I47265162554af58a081c203a1faaaf8d22b3217f\n"
    },
    {
      "commit": "6034bf5f21c57f66f3307d7934bc5c7616d2acf3",
      "tree": "cc7fe6bd323f5c58f4a43c3738745b4288d82c21",
      "parents": [
        "3d0a566bcc5e698fffa26f4913f85f5de6136572"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "guennadi.liakhovetski@intel.com",
        "time": "Thu Dec 07 10:28:29 2017 +0100"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 19 22:24:34 2018 +0000"
      },
      "message": "CameraService: fix camera removal paths\n\nCurrently the camera subsystem is trying to store all cameras, that\nhave ever been registered with it by camera HALs. This makes it\neasier for the framework, but with hotpluggable cameras it makes\nlittle sense, because for this HALs also have to store all cameras,\nthat have ever been plugged in and with every new plug in event\nidentify, whether this is a new camera or a known one. An easier and\ncleaner approach is to remove cameras upon unplug. This patch\nimplements that.\n\nChange-Id: Ie38cad59449386351518655e723e3f826a2ec826\nSigned-off-by: Guennadi Liakhovetski \u003cguennadi.liakhovetski@intel.com\u003e\n"
    },
    {
      "commit": "b3ded702104331ae35597eef28f670e407a1b519",
      "tree": "2a954f5b93ad8c07a573de1458d299ae69089538",
      "parents": [
        "04a86634014027c47acb4e5833ac87770aeb071f",
        "5fbe0ba24d88910e68610add74fd1e1b94d282b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 22 19:18:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 22 19:18:51 2017 +0000"
      },
      "message": "Merge \"Camera: Add support for session parameters\""
    },
    {
      "commit": "4dfa4cca7a4fcf5ea4a37dca1fef7f2f56f6dd8c",
      "tree": "f92865e72d54b28eabe206f027c632cb08ce6abb",
      "parents": [
        "d39b9e3ec153f68b6ba81228b5aa29a9b72770b0"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Nov 10 20:00:09 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Dec 19 11:05:20 2017 -0800"
      },
      "message": "Camera: pass StreamSurfaceId instead of Surface\n\nAlso fix buffer error callback on shared surfaces.\n\nTest: CTS\nBug: 68020997\nChange-Id: I71d6a1373ff09dcb21d39f78dd56727cbde9a3ad\n"
    },
    {
      "commit": "5fbe0ba24d88910e68610add74fd1e1b94d282b5",
      "tree": "571e90551fd1ee5e0d326af18d3e400970d8ea41",
      "parents": [
        "3700e162a5526ada762d081de34c9abdd085c5fe"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Oct 20 15:45:45 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Dec 14 09:35:46 2017 +0000"
      },
      "message": "Camera: Add support for session parameters\n\nThe initial values of the session-wide capture parameters\nshould be passed along the stream list during stream\nconfiguration. This could yield performance gains depending\non the Hal implementation and support.\n\nBug: 64450664\nTest: Camera CTS\nChange-Id: I2b0ec8916f027e7f34f81dc414c3ca649807e925\n"
    },
    {
      "commit": "d39b9e3ec153f68b6ba81228b5aa29a9b72770b0",
      "tree": "7a968a93bbf5eb67a18a7ee9bbc86c7881a8c4e6",
      "parents": [
        "68f1d2842541f043ca318b01690a7cdb41b1df78"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 30 17:39:23 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Nov 15 15:52:52 2017 -0800"
      },
      "message": "Camera NDK: add user context set/get API\n\nAlso add ACaptureRequest_copy API.\n\nTest: new NDK CTS test\nBug: 64266031\nChange-Id: I77cee16621d92ff3a4cd0c929419a4972b2be040\n"
    },
    {
      "commit": "4593b04bdad2ae66b22c5d3fb78276b523b7e942",
      "tree": "d855fc3d7505c608fc720474d2af565feb131738",
      "parents": [
        "ea8dd2c787f88e7289ffb8f226237587f95d8a93",
        "79edadcea74151b573d5b973d5a421baee693ec1"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Nov 10 15:29:40 2017 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Nov 10 15:33:45 2017 -0800"
      },
      "message": "Merge commit \u002779edadcea74151b573d5b973d5a421baee693ec1\u0027 from\noc-mr1-dev-plus-aosp into stage-aosp-master\n\nChange-Id: I04234f284e3117e8343e7c888646400c81f5a131\nMerged-In: Icf228c701afe37dd3c7f00ea9e6fb740b0d450f1\n"
    },
    {
      "commit": "40ead60d7163c2d5577099d49f11da7afa6124d1",
      "tree": "94fad1bcef74661c8e12e9c79ecb37be344aff99",
      "parents": [
        "c8061784ac0c1c98e5961501634925c8a4f95e51"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Sep 26 15:46:36 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 08 13:54:14 2017 +0000"
      },
      "message": "Add support for dynamic shared output surfaces\n\nThe Camera API needs to support the dynamic attach/detach of extra\noutput surfaces to a given camera stream.\n\nBug: 63912484\nChange-Id: I18809aea31f78fb9e125bd18b58951ade4fad3c5\n"
    },
    {
      "commit": "f614dd7578a52c71b76f092d5fa1aff335479b04",
      "tree": "e2e944c7d7a428af5a9e64f613fd0f8cb468867f",
      "parents": [
        "1caa256b05256b2e439f030b248a61ef9aef19c1",
        "752213573800986c12ec87df971594233d4b6aa2"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 30 21:55:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 30 21:55:54 2017 +0000"
      },
      "message": "Merge \"Camera NDK: fix deadlock issues\" am: c89e8b4e31\nam: 7522135738\n\nChange-Id: I8c9d5b36e97d0df2c30625a1857d6cc584336552\n"
    },
    {
      "commit": "6e2353b814ae81d7c69f38fbd65467c48f3000bf",
      "tree": "a173ba0f0444eace52c93411c2fd538bcde2b480",
      "parents": [
        "7a23b30bd0c997ddf5bd3284da43b3efc32bec20"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Oct 24 16:35:20 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Oct 26 16:30:52 2017 -0700"
      },
      "message": "Camera NDK: fix deadlock issues\n\n1. Fix AMessage contains last reference to session\n   issue\n2. Fix disconnectLocked waits on dead session issue\n\nTest: add some sleeps to make deadlock scenarios pops in CTS\n      and then run CTS 100 times.\nBug: 67965633\n\nChange-Id: If0ab9e33de12969dcb5f1d10e96f47f13024f399\n"
    },
    {
      "commit": "8a23ae4a220a9c8c744fa63e8568154ce0ec7ff1",
      "tree": "1ba1cf41e63be5c2561c534ce4675c78539d3d71",
      "parents": [
        "89224466a6c38d498f3794bca8ed3cd7ca1887e0",
        "12a4218bd64db4526e9323ede3c6e004d3015b30"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Oct 12 20:48:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 12 20:48:49 2017 +0000"
      },
      "message": "Merge \"Camera: fix use after freed error\" am: b7939bbfbf am: d0cc49f98d\nam: 12a4218bd6\n\nChange-Id: If205b11101420feb9318ff26e5d85c3375f63d3d\n"
    },
    {
      "commit": "d21c46b3cc97497be689c344046b51cba00aa4b5",
      "tree": "0dac87e317330453342de707e8c0b8b76b62c9da",
      "parents": [
        "16f2c1559c5722a6cd69fef3c17dc5756ba73fe6"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Oct 10 11:59:46 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Oct 10 11:59:46 2017 -0700"
      },
      "message": "Camera: fix use after freed error\n\nTest: static analyzer warning is fixed\nBug: 67606758\nChange-Id: I563b581755dc874d1c19f6875b161f7b8912229d\n"
    },
    {
      "commit": "8ca23dca1cd450b4d93e8da1c8bd6f6ee61e2f5f",
      "tree": "259191c6f2a13395c27c8095d00bfcbf3e926616",
      "parents": [
        "90153cae7ffd321338f90678a80abd62fb56e877"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Sep 05 18:15:56 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Sep 05 18:15:56 2017 -0700"
      },
      "message": "Camera: fix race in onRepeatingRequestError callback\n\nTest: CTS\nBug: 64180296\nChange-Id: I620e238bf1f4e7ab72911b6e68c689580fba22f1\n"
    },
    {
      "commit": "1861819f4d0c52617039ff5e4abdffb1e69c166b",
      "tree": "ec115037fe2937f9abb4db010853787df512e6bf",
      "parents": [
        "af4d169e3f3ed1f0ed474e56c01cd57678e00d0a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 16:17:42 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 05 20:02:58 2017 +0000"
      },
      "message": "Move libmediandk and libcamera2ndk headers\n\nMove libmediandk and libcamera2ndk headers into their module\nand export them from there.  Also move them to the same path\nrelative to the export as used in the NDK, media/ for\nlibmediandk and camera/ for libcamera2ndk.\n\nTest: builds\nChange-Id: I0b424e0e48bfb5e2b762694a97d799de08f5dda3\n(cherry picked from commit 7e8d4ba5887affda749978d787b898bf31fda729)\n"
    },
    {
      "commit": "7e8d4ba5887affda749978d787b898bf31fda729",
      "tree": "50f55dd31df7fe969fc901b791a2b8c3a694d856",
      "parents": [
        "ab37fbfcdc197429d59f6926ba970b3e68bbbadf"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 16:17:42 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 17:55:07 2017 -0700"
      },
      "message": "Move libmediandk and libcamera2ndk headers\n\nMove libmediandk and libcamera2ndk headers into their module\nand export them from there.  Also move them to the same path\nrelative to the export as used in the NDK, media/ for\nlibmediandk and camera/ for libcamera2ndk.\n\nTest: builds\nChange-Id: I0b424e0e48bfb5e2b762694a97d799de08f5dda3\n"
    },
    {
      "commit": "71c73a2985a7ac65ee597be3441ab300fa56e22e",
      "tree": "8f702e303a177904911b397237bde5cfd96e6fbb",
      "parents": [
        "98e11c12e6f5bd64e5d6930a2bbd3522a309d6b1"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 21 16:35:51 2017 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Apr 05 11:57:02 2017 +0000"
      },
      "message": "Camera: Support vendor tags from multiple providers\n\nDifferent vendors could have different vendor tags.\nA global vendor tag cache will store all available\nvendor tag descriptors from different providers.\nThe cache will then be shared with each camera client.\nCamera metadata will use specific vendor ids stored\nin the metadata buffer to identify the correct vendor\ntag provider.\n\nBug: 34275821\nTest: adb shell /data/nativetest/cameraservice_test/cameraservice_test\n--gtest_filter\u003dCameraProviderManagerTest.MultipleVendorTagTest\nComplete Camera/Camera2 CTS tests\nChange-Id: I2262128f21a0167504f018230624e2a89786c467\n"
    },
    {
      "commit": "c0dede99d99ab22f59cf34c3b7d262c80d7bbc4a",
      "tree": "5cd422223a04b98ac4ee89b26afb47d3fa2fe3ff",
      "parents": [
        "217fc01b390d88993c1c94669b251f952fe2c44e"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Jan 11 11:10:28 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 24 15:41:39 2017 -0800"
      },
      "message": "camera: Add enable ZSL key\n\nAdd enableZsl key so the apps can choose to allow or\ndisallow out of order frame contents and metadata like\ntimestamp.\n\nTest: Camera CTS tests on Marlin\nBug: 30983997\nChange-Id: I715ef24ab55d6941c0ece16f09f325c26b83ea54\n"
    },
    {
      "commit": "1a5954c3adc4dd6c265a7f454cc5d94825a0d1ee",
      "tree": "187e824897bf923e3a4414007acf826a02a93d5d",
      "parents": [
        "7f05785ddac8411823d865a1cdc725308ae4a7ae"
      ],
      "author": {
        "name": "Bjoern Johansson",
        "email": "bjoernj@google.com",
        "time": "Tue Jan 10 10:30:18 2017 -0800"
      },
      "committer": {
        "name": "Bjoern Johansson",
        "email": "bjoernj@google.com",
        "time": "Tue Jan 10 11:06:11 2017 -0800"
      },
      "message": "Fix NDK CameraManager crash when no cameras exist\n\nThe NDK CameraManager only lists cameras that support camera API v2. For\na device that only supports v1 the list comes back empty. This results\nin allocating an array of size zero. This array was then intialized with\na nullptr. This is fine if the array contains at least one item but in\nthe case where there are no cameras this will cause a buffer overflow.\nThis change removes the initialization which fixes the crash.\n\nTest: manual - ran camera CTS tests\nChange-Id: Ie1c872ff66997d55572fd855f20b56bd58b01752\n"
    },
    {
      "commit": "f51fca277eb5b86bd0b2e3fc90ecb2b63089de29",
      "tree": "4c9b0b9c9e3969dca6ee7a0e0f4b0904a1757d8c",
      "parents": [
        "07f49573613aee5a8e661f74a324db371ecc8551"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Dec 13 11:25:55 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Dec 13 16:32:23 2016 -0800"
      },
      "message": "Camera service: Updates in preparation for HIDL\n\n- For all camera2 paths, and anything shared between the legacy API and\n  camera2, switch to using strings for camera IDs\n- Update ICameraService.addListener to return current set of known\n  devices and their status, to allow for immediate return of camera\n  devices when first connecting to camera service\n- Remove unused code path for getCameraCharacteristics with HALv1\n- Add namespace qualifiers to Binder objects that are also used by\n  hardware binder.\n- Switch to using new HIDL DeviceStatus and TorchStatus enumerations\n  for better type safety in the service; map more clearly between\n  the HAL, service-internal, and Binder enums.\n\nTest: cts-tradefed run cts -m Camera --skip-connectivity-check -d -o --abi armeabi-v7a --disable-reboot\nBug: 32991422\nChange-Id: I765951d9a21000a8432bed9aa0e3604709daa4b1\n"
    },
    {
      "commit": "9d06601e54848f076b7472a376c672215cd70c46",
      "tree": "8ef76a427e631fde284d0e920075f406a6d885ab",
      "parents": [
        "d3196abc2d216e74be7b137cd0b93ef5b4f005db"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Sep 30 11:30:20 2016 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Oct 17 10:39:19 2016 -0700"
      },
      "message": "Camera2: Add onCaptureQueueEmpty callback\n\nonCaptureQueueEmpty is called when the non-repeating request queue in\ncameraservice becomes empty. Application can use this callback as a\ntrigger for a new request.\n\nTest: testMultipleCapture in PerformanceTest.java\n\nBug: 29006447\nChange-Id: Id21afd74381e0b70f924c6026025c91a8ffd5ee0\n"
    },
    {
      "commit": "b01d8f7d7853e6cd4ea1256fe3dfb2e4a79cf09a",
      "tree": "01ba035c489dc45c21b94942450f6cd3e1bbb5a3",
      "parents": [
        "ce9db56c299ed93331c16a6d25bcd02c573a1101"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Oct 04 16:34:18 2016 -0700"
      },
      "committer": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Oct 04 16:34:18 2016 -0700"
      },
      "message": "Fix warning: Potential leak of memory pointed to by \u0027device\u0027\n\nThis fixes the waring: Potential leak of memory pointed to by \u0027device\u0027\n\nChange-Id: I7e80c36ef4a66bb0e9febef7941c87eb4a083110\nTest: The warning is gone.\n"
    },
    {
      "commit": "d96f8837c9e1782e0309828b316cca5262719633",
      "tree": "a268b063006430a272e1e91c76cc38adf342669a",
      "parents": [
        "1974a4dfddfa4004b2bda7a529be4ead0ab970db",
        "ee844a800889eca5dfe658fbd953946ca1920fae"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Fri Sep 23 11:09:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 11:09:25 2016 +0000"
      },
      "message": "Don\u0027t try to connect camera service if it is disabled.\nam: ee844a8008\n\nChange-Id: I1c63845947bc43ec2bed1a20641336cf8988e6f7\n"
    },
    {
      "commit": "ee844a800889eca5dfe658fbd953946ca1920fae",
      "tree": "2cf0bebb0f1a709bc5556c91a78219c53c538594",
      "parents": [
        "47c996ba170821326a98fdde468ecf860904db3e"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Thu Sep 15 11:32:41 2016 +0100"
      },
      "committer": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Fri Sep 16 11:15:58 2016 +0100"
      },
      "message": "Don\u0027t try to connect camera service if it is disabled.\n\nOn Android Wear devices we don\u0027t have cameras, so we don\u0027t need the\nproxy service as well. If it is disabled by the system property, don\u0027t\nwait for it to start, but rather return null pointer in\ngetCameraService(), which causes getNumberOfCameras() to report zero\ncameras available.\nThe same logic applies to ACameraManager, where we return an empty list.\n\nBug: 28560707\nChange-Id: I4c0bc29f061f1b66710c8188a7916bfaf089d23f\n"
    },
    {
      "commit": "d19d994770a04f02c204affd29985c5aeaa58baa",
      "tree": "15224cbe7fce560c768f9dc16279e8913b94cd51",
      "parents": [
        "1567662f5a709398004cf509fb3f382f0c76f5b1"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:21:14 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:21:14 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in camera.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I61f9b5b2b6e13e0c6561327bc8dfe69c9cfc5ba5\n"
    },
    {
      "commit": "1d0955cb5257a59f0ae435fefe26c05af4f4fbb6",
      "tree": "34ffa6db9070caeef1ef5a4161bc4f3647c1678d",
      "parents": [
        "77404e1a890060a9cb4da017b660e6554fdc9a6f"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 16 01:14:13 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 26 22:24:49 2016 -0700"
      },
      "message": "CameraNDK: fill in more NDK API documents\n\nThis change adds document for ACaptureRequest, ACameraMetadata,\nAImage and AImageReader.\n\nBug: 27102995\nChange-Id: I79d88f73258c01ebeabcd5b4e3b90996759cb021\n"
    },
    {
      "commit": "a22528a9fac1763810d21b899e1b8c7977ea224c",
      "tree": "9bcdfa80d76888b64079a8cfe5a33241af23a7a9",
      "parents": [
        "3b3c26405dfc77e3bfda292e886112798f858636"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 12 14:03:11 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 12 14:54:35 2016 -0700"
      },
      "message": "CameraNDK: remove unused error enum values\n\nand fill in documents for each error value.\n\nBug: 27102995\nChange-Id: Ia44f87c09758f098442f894f4236ce8fa2ccffb3\n"
    },
    {
      "commit": "3e49be17d8c8c53f50bb0d39affbbc36f6a12488",
      "tree": "09d1a9437732a076fa18f79f0e40c808ac95c2aa",
      "parents": [
        "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 12 16:00:33 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 09 11:38:59 2016 -0700"
      },
      "message": "CameraNDK: add NDK API documents\n\nThis change adds document for ACameraManager, ACameraDevice and\nACameraCaptureSession.\n\nBug: 27102995\n\nChange-Id: I5706337e419cd533c1c7d46e412dc62bf7c726cb\n"
    },
    {
      "commit": "e8c535e833ed135895e99ca81aa3b85d80d7cf3c",
      "tree": "b0b0a255eda7c96bfffd3da79828d52c86372677",
      "parents": [
        "bc0c73e05ec935bc478ee0e40aee79f80771a482"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Apr 14 12:18:26 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 15 16:01:25 2016 -0700"
      },
      "message": "Camera: Stop repeating request if its output is abandoned\n\nStop repeating request if any of its output stream is abandoned.\nAdd a callback to notify the repeating request has been stopped\nwith frame number of the last frame.\n\nUpdate NDK with the new callback and behavior.\n\nBug: 21270879\n\nChange-Id: I3553775c7807a77104aa1650609480ca3321310c\n"
    },
    {
      "commit": "6a9d0dac7a6e33a276b234375207a3037a41ca7a",
      "tree": "1361eed04909c6ffe1364dde28923e988083a390",
      "parents": [
        "d77a954c1e6c3524ee2b61cba639e24b6d3320f7",
        "e081c59aeb309f5d91b99c433fc252e4570d4db8"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 22:55:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 22:55:17 2016 +0000"
      },
      "message": "Merge \"CameraNdk: add onBufferLost capture callback\" into nyc-dev"
    },
    {
      "commit": "25e60f13bd3768e845e9e1caf92f44db1d1307f0",
      "tree": "0588e985e213d1805a8e0b4940350ea9be226f6c",
      "parents": [
        "49d9f9a0ce21bcb8670019ff1365d1015da32e19",
        "eca6c4394bb5206feb34037619fd333aba2c4f39"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 22:33:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 22:33:37 2016 +0000"
      },
      "message": "Merge changes from topics \u0027cam-ndk-hidden-enum\u0027, \u0027cam-ndk-enum-dco\u0027, \u0027cam-ndk-hidden-keys\u0027 into nyc-dev\n\n* changes:\n  CameraNDK: hide some capabilities in NDK\n  CameraNDK: add metadata enum value documents\n  CameraNDK: hide more NDK metadata tags\n"
    },
    {
      "commit": "e081c59aeb309f5d91b99c433fc252e4570d4db8",
      "tree": "d2a046d2d80539b1b19ea7dd8a53242004f3a1a5",
      "parents": [
        "309d05d030903e7849affd60c58d4236147aa390"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 29 18:26:44 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 14:22:49 2016 -0700"
      },
      "message": "CameraNdk: add onBufferLost capture callback\n\nBug: 27102995\nChange-Id: Ic54d1950da54c09eb2fea1eea5fccd3141c626d4\n"
    },
    {
      "commit": "ff2a495cc65881caa25bae520f1249e92ceb9ac6",
      "tree": "29c117fd813491d1226ebebf9259d0073dec18df",
      "parents": [
        "59a2d786854012e4c52abac263bd751f286fbdfd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sat Apr 02 16:31:57 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 10:48:06 2016 -0700"
      },
      "message": "CameraNDK: hide more NDK metadata tags\n\n- Codegen update: some of hidden metadata keys should not be\ndisclosed in NDK.\n- Also added capture result frame number plumbing.\n\nBug: 27102995\nChange-Id: Ia238f95a4da726330205c53fc5d3f1f63d7553a1\n"
    },
    {
      "commit": "309d05d030903e7849affd60c58d4236147aa390",
      "tree": "2546b8f92d5ff120f73b454156b58d950c9ef99e",
      "parents": [
        "d9bd004bbe426978a2de8ee7d0489317b7580bdf"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 28 10:15:31 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 29 16:13:37 2016 -0700"
      },
      "message": "CameraNDK: implement abortCaptures API\n\nBug: 27102995\nChange-Id: Idaf1db02e0bcc60bb9cdb2797b4479ea0389f5f9\n"
    },
    {
      "commit": "8aac03f4d6c66749803d5708086ba5f509aa88c6",
      "tree": "9b870f8e7f15fb0933b9763fc6650e641ef18b36",
      "parents": [
        "e7d45e3ff9358293f27ce1add94af34908a6a263"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 03 15:45:23 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 07 13:06:08 2016 -0800"
      },
      "message": "CameraNDK: add API to list all tags in metadata\n\nBug: 27102995\nChange-Id: I2807b94867f7ed32585afedbbff0a77a93c8fe94\n"
    },
    {
      "commit": "085dd0935c9cd19791a9a58a4df4a05e29eadca7",
      "tree": "9da119e95d054a5429075bb8c8f1c39e26d3dcf8",
      "parents": [
        "97d5e4eb77687288b463f300912f6eb5c2b5b60e"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 02 14:16:31 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 03 17:34:00 2016 -0800"
      },
      "message": "CameraNDK: prevent double closing session\n\nBug: 27102995\nChange-Id: Ie3e9870d1fc1025cab7a1019ed7d056fe07536ad\n"
    },
    {
      "commit": "02bf03287652923b5bb5316667b065423565d6b4",
      "tree": "37fac61e840805769bd1c7ea8030390122a624cd",
      "parents": [
        "d56db1d2bee182d1851097a9c712712fc094d117"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 18 12:41:10 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 10:27:58 2016 -0800"
      },
      "message": "Camera: Clean up warnings and set -Werror\n\n- Also fix error logging template inconsistency\n- Also add a few error handling cases into camera2 NDK\n  to deal with previously-ignored error codes\n\nBug: 27149500\nChange-Id: I8f1f4c72252dd48d652f24b595b642199f20c327\n"
    },
    {
      "commit": "d56db1d2bee182d1851097a9c712712fc094d117",
      "tree": "243fda59e2b4d51491af628b49b3a35b267e0051",
      "parents": [
        "cf7913e2389a5e850e01aa6f905d252ee54c9891"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Dec 17 16:50:35 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 10:27:36 2016 -0800"
      },
      "message": "Camera: Switch camera2 to auto-gen C++ binder interfaces\n\n - Move camera service AIDL files to frameworks/av\n - Build C++ interface stubs with AIDL tools\n - Add necessary native-side parcelables and update existing ones\n - Remove manually-written stubs, rearrange remaining manual stubs\n - Adjust implementations to work with auto-generated stubs\n   - Adjust method signatures for auto-gen differences\n   - Add rich error messages using binder::Status\n\nBug: 25091611\nChange-Id: I6f69f34b9d1a3f8d1fb7db87357363f8fa8483ff\n"
    },
    {
      "commit": "c360382bf257d815b2a411152485d3c3b37a9f46",
      "tree": "c3e4607fd638aa585f3209d6bb7c122297347f2d",
      "parents": [
        "ead9146f844ee194a4f4244ba8ae1a3aece12b63"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 18 22:11:19 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 27 14:46:10 2016 -0800"
      },
      "message": "NDK: AImageReader implementation\n\nBug: 23012001\nChange-Id: I14341de141e6fc5817f397e849af35ccdb80d644\n"
    },
    {
      "commit": "ead9146f844ee194a4f4244ba8ae1a3aece12b63",
      "tree": "616249ae12bf73d57dc9c5ea7b3202930a05d1c9",
      "parents": [
        "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 06 16:45:08 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 25 16:48:37 2016 -0800"
      },
      "message": "Camera NDK library: capture session implementation\n\nBug: 23012001\nChange-Id: I3fd93205dcf1b9ed5a947cb944919eb531f219fc\n"
    },
    {
      "commit": "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c",
      "tree": "2cee23a637023c0365748d4a2f7f1048c9d97ab8",
      "parents": [
        "52a942055bcc4a96b6e281a54a70a53b6fca5798"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Dec 09 16:46:07 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 25 16:40:17 2016 -0800"
      },
      "message": "Camera NDK library: first draft\n\nBug: 23012001\n\nChange-Id: I06d834421289d4dead1c87301a6ee94487ccf023\n"
    }
  ]
}
