)]}'
{
  "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": "eca178fbbf489c06f1dd275658dc8a438328565e",
      "tree": "17dce5b20fb79abf74ebbe776e94a9003d819a78",
      "parents": [
        "3bd241dcd726b2c4119a0b6bb1246bcdc513a912",
        "d1478ceafe5acf538e96f5d0e42dda92bbfb118e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 19 05:07:26 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 19 05:07:26 2020 +0000"
      },
      "message": "Merge \"cameraserver: system camera rules should be checked before making onPhysicalCameraStatusChanged callbacks.\" into rvc-dev"
    },
    {
      "commit": "22e58223044a6910a1d92f2c6cef3c7b418c4d4f",
      "tree": "f29e3133eb02ab9b3e8415d18dfd630e4f81bc11",
      "parents": [
        "3e58083f214629ebc87cd0a0d965e84e673524f0",
        "e867578b74c62770971f64734d5e0729a870a4b0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 13 04:55:28 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 04:55:28 2020 +0000"
      },
      "message": "Merge \"Camera3: Add flush support to HEIC composite streams\" into rvc-dev"
    },
    {
      "commit": "e867578b74c62770971f64734d5e0729a870a4b0",
      "tree": "90f507899ae0d082eab9ed82f3c04b3f41834b2a",
      "parents": [
        "40fae84d5e67baab376c831df2b1ad33f9b989ce"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 05 09:12:14 2019 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue May 12 15:02:52 2020 -0700"
      },
      "message": "Camera3: Add flush support to HEIC composite streams\n\n- Handle various corner cases with regard to REQUEST_ERROR, RESULT_ERROR, and BUFFER_ERROR.\n- Drain the codec outputs in case the input buffer isn\u0027t dropped.\n- Allow APP_SEGMENT to drop while still producing valid output image.\n- Add a status tracker to manage active/idle state.\n- Use frame number as key for pending input frames since with ZSL, 2\ncapture result could have the same timestamp.\n- Also removed some deprecated variable/methods.\n\nTest: CTS, vendor testing\nBug: 145579077\nChange-Id: I9c3e929469b8fb75b32b016f9006036c954f663f\n"
    },
    {
      "commit": "d1478ceafe5acf538e96f5d0e42dda92bbfb118e",
      "tree": "508c7fd844d177479685a73f328f47c06b721e13",
      "parents": [
        "5120edaad25acb60218d81bde9a1e7b79ac3f143"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu May 07 17:35:23 2020 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon May 11 15:14:21 2020 -0700"
      },
      "message": "cameraserver: system camera rules should be checked before making onPhysicalCameraStatusChanged callbacks.\n\nBug: 152089822\n\nTest: GCA (sanity)\nTest: Camera CTS\n\nChange-Id: I1cdca010819550f9743f8a6d1c209b123cb16ba4\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "cc79094c69bdc85c7c8f52247a00bae1dff68473",
      "tree": "ae20e4e48fc2ccda1611c3010b378e4dc34b2e63",
      "parents": [
        "b3cedfdf595bbb3538a7a6e36b70de5e62a58fa1",
        "12c7ec759a2629c2b11861ec89fd8a3bef778d39"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed May 06 16:59:34 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 06 16:59:34 2020 +0000"
      },
      "message": "Merge \"Revert \"Add isUidActiveOrForeground() for camera/audio to use.\"\" into rvc-dev"
    },
    {
      "commit": "12c7ec759a2629c2b11861ec89fd8a3bef778d39",
      "tree": "f6761f74625adddd3853d93fd8d5e92a7f388950",
      "parents": [
        "ffffffc42242cf06c433e4e4958d7991a7e2848c"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Mon May 04 17:40:52 2020 +0000"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Mon May 04 18:06:32 2020 +0000"
      },
      "message": "Revert \"Add isUidActiveOrForeground() for camera/audio to use.\"\n\nRevert \"Add isUidActiveOrForeground() for camera/audio to use.\"\n\nRevert \"Add isUidActiveOrForeground for camera/audio to use.\"\n\nRevert submission 10829580-isUidForeground\n\nReason for revert: In CameraService.cpp, before this change, around \"am.isUidActive\", there was up to 300 ms retry. After this change, the code could move forward fast without retry, but at \"mAppOpsManager-\u003estartOpNoThrow\" call, for the same reason as uid is not updated fast enough, \"mAppOpsManager-\u003estartOpNoThrow\" could also fail.\n\nThis CL does not really fix the root cause, but it changes the timing and now the code fails at \"mAppOpsManager-\u003estartOpNoThrow\" call.\n\nAlso the timing change may also cause recent multiple CTS test failures.\n\n\nBug: 154570809, 155032617, 154849083\n\nReverted Changes:\nIffed63293:Add isUidActiveOrForeground() for camera/audio to ...\nI3685e0c8d:Add isUidActiveOrForeground() for camera/audio to ...\nI51ed1fe78:Add isUidActiveOrForeground for camera/audio to us...\n\nChange-Id: I8acde2524201b6c6d0d5c0ff9cfb2053ffbcb8ef\n"
    },
    {
      "commit": "2fc997ef3107415ba111cbe64d4355059830d85f",
      "tree": "24d9b2dbe9f7b9d590ac8cbc8486c7ef1510d1bc",
      "parents": [
        "ef9abae0c7f05913cddb3e87566aa4d64b6f353f",
        "9bf8a6fcf9800df24961d2a4691fee7cccb242e9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 04 05:28:39 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 04 05:28:39 2020 +0000"
      },
      "message": "Merge \"Camera: Initialize preCorrectionActiveArraySize\" into rvc-dev"
    },
    {
      "commit": "9bf8a6fcf9800df24961d2a4691fee7cccb242e9",
      "tree": "18213271661c1cdadb629c9d0c6113455fb3692d",
      "parents": [
        "241746e794c0e160a18fcd2ddf989584e81f3dad"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri May 01 09:49:04 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sat May 02 22:28:27 2020 -0700"
      },
      "message": "Camera: Initialize preCorrectionActiveArraySize\n\nHandle the case where the HAL doesn\u0027t advertise\npreCorrectionActiveArraySize by initializing it to activeArraySize.\n\nTest: \"dumpsys media.camera\" before and after the change\nBug: 145300768\nChange-Id: I1281686d9b324793a4a99c6a4ddf5d693172507b\n"
    },
    {
      "commit": "17f951088b42c4f399e1c18b65f1ffebee48fa80",
      "tree": "3455820b06beee3f5b10d0272ad348a11b74e722",
      "parents": [
        "fc8cd670b78d399981f95209e410e155c6bce43d",
        "7ffbd9898911062cea59c1c6b39875be88b66eb3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 01 18:00:47 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 18:00:47 2020 +0000"
      },
      "message": "Merge \"Camera: Fix potentail race condition\" into rvc-dev"
    },
    {
      "commit": "0d0191e6788af367ca6c3a563c8085ccac458341",
      "tree": "a7dade403e7c060aa17b2ab3dc3faff226437c52",
      "parents": [
        "55bfd11fd19949f9a657eda09053901a2515060a"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 21 17:01:18 2020 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Apr 29 23:46:34 2020 +0000"
      },
      "message": "Camera: Skip session parameters in case of abandoned streams\n\nSession parameter application may require an internal stream\nre-configuration. Sometimes clients can abandon one ore more\nregistered outputs before changing a session parameter value.\nEven if the new capture request doesn\u0027t reference the\nabandoned surfaces the session parameter cannot be properly\nconfigured. Keep the camera service behavior consistent with\nolder versions by skipping the internal stream\nre-configuration.\n\nBug: 113513019\nTest: Camera CTS\nChange-Id: I8fb49b59ae0aecf537484a7238fe7a8a5d3efe64\n"
    },
    {
      "commit": "9b0d9534c75dc4d40edbf13938aa09c3eec737a1",
      "tree": "8497e2d67c87e7ba12b86bf7bd07d2cf7a531e1a",
      "parents": [
        "ec77ef69320225579dbee12b5199442fe3e669ca"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 14 17:14:20 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Apr 23 12:19:22 2020 -0700"
      },
      "message": "Camera: Fix off-by-1 error for scaling crop region\n\nMake sure the scaling of coordinates based on zoomRatio is symmetric\nrelative to the center of the image. And use the center of the pixel\nfor calculation.\n\nTest: testZoomRatio, testDigitalZoom, cameraservice_test\nTest: vendor testing\nBug: 153959755\nChange-Id: I966bd31bde5afd50462a018590c7a4fefc3eaac6\n"
    },
    {
      "commit": "2c656796f416401ae48cd4a2e313dcb9e3aa256b",
      "tree": "32f9cfe2e8d6fa552d24a5c1c9bbbafb6607a3f5",
      "parents": [
        "7e540682b362a3e8679e274084aeaefdf01314da"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Apr 13 17:36:49 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 14 09:39:35 2020 -0700"
      },
      "message": "Camera: Handle the case of calling Uid being cameraserver\n\nWith HAL1-camera2 legacy implementation, the getCameraCharacteristics\nmay be called without camera permission. So the cameraserver\u0027s Uid is\nused in that case.\n\nAppOpsManager returns MODE_IGNORED when the cameraserver\u0027s Uid is passed.\nDo not treat this as an error case.\n\nBug: 153511543\nTest: On Pixel 2 device, run \"adb root; adb shell setprop\npersist.camera.HAL3.enabled 0; adb reboot\", then \"atest\ncts/tests/camera/CaptureRequestTest\"\n\nChange-Id: I29aaa2045b14233537c737bf0738fbc32422540e\n"
    },
    {
      "commit": "7ffbd9898911062cea59c1c6b39875be88b66eb3",
      "tree": "39ea58633a125ca880630f02f969afee0acae9e4",
      "parents": [
        "b27ef83f2c8e37d2b9c50b001e03969c451b9131"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 13 10:04:23 2020 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 13 10:05:10 2020 -0700"
      },
      "message": "Camera: Fix potentail race condition\n\nmDistortionMappers are used in callback thread and request thread.\nHowever, callback thread does not query before calling mDistortionMappers[mId.c_str()],\nthis may cause insertion to the map and mDistortionMappers.find may run at the same time.\n\nBug: 153506800, 153457587\nTest: Camera CTS\nChange-Id: I899033bacd355113fbad3e8f7ec76482aa147158\n"
    },
    {
      "commit": "2a245e16f70635c0489efc204d8a76b935f4a0df",
      "tree": "c774fa4f6b9ff064c1c69536d043498c07aef414",
      "parents": [
        "1ad04e663d0f6eb86032b7c4ac7ef7b3dba01de1"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 07 16:54:14 2020 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Apr 08 08:34:34 2020 -0700"
      },
      "message": "Camera: Fix possible invalid metadata access\n\nCamera metadata entries can become invalid\nafter updates. Avoid using the possibly\nreleased entry pointer when extending\ncamera characteristics with dynamic depth\ntags.\nAdditionally simplify rotate and crop\nregion checks.\n\nBug: 152240541\nTest: cameraservice_test\nChange-Id: I416739ed7e128f4ec94353ec2938b9bf226be182\n"
    },
    {
      "commit": "0fa486f5148b706062f333e7283a0af4b9374382",
      "tree": "cb929db2d288c553907d09e69abe7b57da3a4fb5",
      "parents": [
        "95ec1b8ea487abbf4ef50d53c227338f559e9599",
        "c530c5973f425f574fc5e4add205938e5f040ab4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 06 19:42:12 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 06 19:42:12 2020 +0000"
      },
      "message": "Merge \"Camera: fix use after free in sensor timestamp\" into rvc-dev"
    },
    {
      "commit": "28dcd1c4441915e377209e11e4dbc06db30d531e",
      "tree": "82e9df1fcd5809cb3e80eb1a18473472bca851a1",
      "parents": [
        "1cfbd0a8a1083af1a7afeb19b2bdc0d757d9daf5"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 05 12:41:07 2020 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 01 10:40:10 2020 -0700"
      },
      "message": "Camera: don\u0027t stop preview on disconnecting device\n\nTest: partner monkey testing\nBug: 147333205\nMerged-In: I0a58c10f5372cd5e5420771a5ec8ae5e6ac93169\nChange-Id: I0a58c10f5372cd5e5420771a5ec8ae5e6ac93169\n"
    },
    {
      "commit": "ff54b89f5e95ff4da00f7cc1af7e240dd03569f2",
      "tree": "f8ab0c14896e5255f9258edd1a65b5faf15a1637",
      "parents": [
        "d155a1fd9493b0aad727214c78194d61175f2f29",
        "d25dc976bd8bb77228ff686a5944042ef061d8b7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 26 17:56:34 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 26 17:56:34 2020 +0000"
      },
      "message": "Merge \"Camera: Make sure JPEG_QUALITY has reasonable default values in default templates\" into rvc-dev"
    },
    {
      "commit": "ffffffc42242cf06c433e4e4958d7991a7e2848c",
      "tree": "d2ef2ad6334135cd2fde6ae172e163623739da0c",
      "parents": [
        "1939a00071ce5dc757566c7af24a1f5589ea22f7"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Tue Mar 24 16:13:59 2020 -0700"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Tue Mar 24 18:22:49 2020 -0700"
      },
      "message": "Add isUidActiveOrForeground() for camera/audio to use.\n\nWhen start/resume activity, WindowManagerService start/resume the\nactivity, then post a runnable to DiaplayThread and\nActivityManagerService to update UidRecord\u0027s\nproc state, because the thread switch, the latency before proc\nstate update is undetermined.\n\nWhen CameraService calls ActivityManagerService.isUidActive(), the proc\nstate may not have been updated and camera access is denied.\n\nisUidActiveOrForeground() will check isUidActive() first, if false,\ncheck isUidForeground() which is actually to check with WindowManagerService if\nthe uid is foreground, which is equivalent to ActivityManagerService\u0027s uid\nactive, just updated earlier.\n\nBug: 151185692, 151777097, 109950150\nTest: manual test.\nChange-Id: I3685e0c8d2e69ca7ff3c4de4bef4ec754c400015\n"
    },
    {
      "commit": "d25dc976bd8bb77228ff686a5944042ef061d8b7",
      "tree": "451783f05bb08ebdc229fb1f92fc970bcfa9065f",
      "parents": [
        "8f612b453b1f2d8d873e615aae281cb047d5a7dc"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Mar 24 17:11:43 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Mar 24 17:11:43 2020 -0700"
      },
      "message": "Camera: Make sure JPEG_QUALITY has reasonable default values in default templates\n\nTest: CameraDeviceTest on Pixel 4\nBug: 149337877\nChange-Id: I77b8302ba9011db80acb931b3849087d18b7153e\n"
    },
    {
      "commit": "c2462eaef9f174eac472bf8848081cda0e2b52d1",
      "tree": "33706f1cf51ee387424ecc3a15eafb4cd18cf5c1",
      "parents": [
        "301dd5f1d99993725cb6336e6d520904e23ce925",
        "c0fe54c6427be540e4c5e1549f7b537f88cb5570"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 20 17:59:15 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 20 17:59:15 2020 +0000"
      },
      "message": "Merge \"Camera: Release online and offline resources\" into rvc-dev"
    },
    {
      "commit": "c530c5973f425f574fc5e4add205938e5f040ab4",
      "tree": "ec05f4a2862d0b3e42fc5ff93b4a6e95f938c7b1",
      "parents": [
        "90334d0f03f4bee709969433898025fc16863f01"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 09 14:50:36 2020 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 16 17:45:47 2020 +0000"
      },
      "message": "Camera: fix use after free in sensor timestamp\n\nThe metadata object might be overriden later and has it memory\nre-allocated; hence snaping the sensor timestamp value before\nwe call into any method that might change the metadata.\n\nTest: build\nBug: 150944913\nMerged-In: I0f944fc9133d3ab279859f20236d956d7ca338f8\nChange-Id: I0f944fc9133d3ab279859f20236d956d7ca338f8\n(cherry picked from commit 60afc2fd8dab203a5697adbdb8dd4718d00bd9f1)\n"
    },
    {
      "commit": "28fc70a6cb4f90c5ff24873d41ad2320a4e7fc34",
      "tree": "30435c4dffc4afd72d6fe7be76e7da2b9992ef56",
      "parents": [
        "1ca9e116a1a8cc1eaecdb3d2481dac71909c270d",
        "cad23c25737f100ac117835aa234c02f2013c0a9"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sat Mar 14 01:44:49 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 14 01:44:49 2020 +0000"
      },
      "message": "Merge \"cameraserver: rename getConcurrentStreamingCameraIds -\u003e getConcurrentCameraIds.\" into rvc-dev"
    },
    {
      "commit": "c0fe54c6427be540e4c5e1549f7b537f88cb5570",
      "tree": "ed5030049ca87eae2fcf9b9bfb3dbd234d82fbdb",
      "parents": [
        "5e3b7679084322e027a7e5121ff0f4944b3b6de6"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Mar 11 14:05:07 2020 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Mar 11 17:20:07 2020 -0700"
      },
      "message": "Camera: Release online and offline resources\n\nClear the cached previous request in case of\nsuccessful offline switch. The request can\npotentially continue to have valid references\nto offline streams.\nClear the online camera device reference after\ncomposite streams switch to offline mode.\nIn this case, all internal offline streams must\nbe released by the offline session.\n\nBug: 149346795\nTest: Camera CTS\nChange-Id: If29308dd0f402ab492e304e0475005b2a9801e74\n"
    },
    {
      "commit": "cad23c25737f100ac117835aa234c02f2013c0a9",
      "tree": "06b8ffe5296c19a4256e990ac2eced37bc209caa",
      "parents": [
        "904b623c8cdbd43a2089c5d3b45240757bd3bc81"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Mar 10 15:04:59 2020 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Mar 11 16:11:14 2020 -0700"
      },
      "message": "cameraserver: rename getConcurrentStreamingCameraIds -\u003e getConcurrentCameraIds.\n\nBug: 150896133\n\nTest: builds\nTest: atest ConcurrentCameraTest.java\n\nChange-Id: Id73f15164200a4cc91354b67784bab3c470caf57\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": "fca6714fd6d72f6e9e47927d6ef246807cece7bf",
      "tree": "1e562e8498795e7b900dd256096902f6c53a4f51",
      "parents": [
        "796804387e39ddb35a63b747759dac955683809e"
      ],
      "author": {
        "name": "Susmitha Gummalla",
        "email": "vgummall@codeaurora.org",
        "time": "Thu Mar 05 14:58:30 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 06 09:01:49 2020 -0800"
      },
      "message": "Camera: Intialize useGrid and chooseHeic variables\n\n--Handle early return case in Heic Encoder Manager\n\nBug: 150894246\nCRs-Fixed: 2636054\nChange-Id: I7f437241a1f33cc4cb4384369828e12b331b09c9\n"
    },
    {
      "commit": "796804387e39ddb35a63b747759dac955683809e",
      "tree": "22b488496859081a7c8ab3d30e3cb8435546703c",
      "parents": [
        "888b22394aab8a8d7a9741540b927ebccf3018c0"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Mar 05 11:53:46 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Mar 05 16:28:02 2020 -0800"
      },
      "message": "Camera: Fix ProviderInfo leak\n\nHaving a sp\u003cProviderInfo\u003e in DeviceInfo resulting in the parent\nProviderInfo not being deallocated.\n\nTest: Check camera characteristics object freed by killing provider\nBug: 149813446\nChange-Id: Ic15ffcd3a5ce424187877e17a14b4db581e2c50a\n"
    },
    {
      "commit": "b31dab4d2d261f42dffb064a89402e3e941c6928",
      "tree": "5491a09552ecf57f0372df0548baef203a826b73",
      "parents": [
        "c161e75873b85086d88e917a2a5ede1f9d513c85",
        "06b7522331a2ba20ee63aabee21c29ecc7287394"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 18:15:51 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 18:15:51 2020 +0000"
      },
      "message": "Merge \"Camera: Fix possible ExifUtils heap corruption\" into qt-dev am: f3f966faa6 am: 06b7522331\n\nChange-Id: Ifb363ff0c2cc78df2ed576094b8d2853f44abd8c\n"
    },
    {
      "commit": "06b7522331a2ba20ee63aabee21c29ecc7287394",
      "tree": "120c191031960562ca1a04d067e38c538dd7db03",
      "parents": [
        "29e2bfb97270d6c406e2b66664f5c5dd47a9ebb3",
        "f3f966faa6f46156726a338208f6c10a97d3fb4b"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 17:58:27 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 17:58:27 2020 +0000"
      },
      "message": "Merge \"Camera: Fix possible ExifUtils heap corruption\" into qt-dev am: f3f966faa6\n\nChange-Id: I1172c6499824d907555a7e4d5996c23b2f5c4b9d\n"
    },
    {
      "commit": "626f7fc3ff0b439bd8ea569cdaeab87fa1733048",
      "tree": "fec1573dcbe8b2a4a45e4ca9f3881972fc12d239",
      "parents": [
        "0f2787e8080e92c4fef66498e55bf2dbfe795fc6",
        "cbe770a7c3abc3f6dd45e7d704efd3549d0fb91c"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Feb 20 06:43:14 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 20 06:43:14 2020 +0000"
      },
      "message": "Merge \"cameraserver: re-cache concurrent camera id combinations on cameraDeviceStatusChange callbacks.\""
    },
    {
      "commit": "e03cebc75e19a6034780f77af3d30d151de7f4ee",
      "tree": "0a851cb47bae70e39c4010f5b94031ea1f302993",
      "parents": [
        "b1cc886c8f2f87ac8fef9bf8f3100ee7765816d9",
        "8a0be29c19ba7c1de4a0983b8dbcafb730b17fc0"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Feb 19 22:59:23 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 19 22:59:23 2020 +0000"
      },
      "message": "Merge \"Add some move constructors and assignment operators to CameraMetadata.\""
    },
    {
      "commit": "8a0be29c19ba7c1de4a0983b8dbcafb730b17fc0",
      "tree": "a7514664b6bda989070d4b7548783a8af1578345",
      "parents": [
        "450c7b2aa6e5df8cdbebd763c719b3e149fb75f2"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jan 08 13:10:38 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Feb 19 14:48:59 2020 -0800"
      },
      "message": "Add some move constructors and assignment operators to CameraMetadata.\n\nThis avoids unnecessary copying of camera metadata which can get\nexpensive in cases of large camera metadata blobs.\n\nBug: 71727540\n\nTest: GCA (sanity)\nTest: Add CallStack::logStack() in CameraMetadata\u0027s move asignment\n      operator -\u003e see that it gets called for every insertResultLocked.\n\nChange-Id: I6c75c7ce5267126916c865b028e5f7c7f50b763b\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "cbe770a7c3abc3f6dd45e7d704efd3549d0fb91c",
      "tree": "296e3f0ef582b41ec8ed374c0cfc037d21ed0044",
      "parents": [
        "450c7b2aa6e5df8cdbebd763c719b3e149fb75f2"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Feb 14 11:14:46 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Feb 18 15:23:51 2020 -0800"
      },
      "message": "cameraserver: re-cache concurrent camera id combinations on cameraDeviceStatusChange callbacks.\n\ncameraserver should re-cache concurrent camera id combinations when it\nreceives cameraDeviceStatusChange callbacks from the camera provider in\ncase new concurrent camera id combinations have appeared / old ones have\ngone away.\n\nBug: 148995918\n\nTest: atest ConcurrentCameraTest.java\n\nChange-Id: Ic433495d2dcf98d00cb247f434ad6c798ea17c54\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "649a27ad16faeb7a6bf87a50a33d19d461ece27c",
      "tree": "b711c590fb7c9148d9e04f3c16a11c185bb34008",
      "parents": [
        "cadf7289e0dacf4a40422f0b36f97891649d398b"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 18 13:38:04 2020 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 18 13:38:04 2020 -0800"
      },
      "message": "Camera: Fix possible ExifUtils heap corruption\n\nBoth EXIF_TAG_IMAGE_WIDTH and EXIF_TAG_IMAGE_LENGTH\nexpect short values as per EXIF spec. Call appropriate\nlibexif function to avoid possible heap corruption.\n\nBug: 148223871\nTest: run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Poc20_02#testPocBug_148223871\nChange-Id: I57a774454b52c16d7da9f90d7e3a3407294606a5\n"
    },
    {
      "commit": "2ae8501c1b1598f331f5ddb16aa64f46b88247d6",
      "tree": "1443551316fdaa68a1ade91e98f265293b5c883d",
      "parents": [
        "450c7b2aa6e5df8cdbebd763c719b3e149fb75f2",
        "646c31b058e25dd8ee44ff4ec5a5c3005c8c829c"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Feb 18 00:52:33 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 18 00:52:33 2020 +0000"
      },
      "message": "Merge \"Add mInterfaceLock back to Camera3Device methods called by RequestThread.\""
    },
    {
      "commit": "646c31b058e25dd8ee44ff4ec5a5c3005c8c829c",
      "tree": "b74cf931febaf3cd627fccd8c147b72c379de9e3",
      "parents": [
        "265e047963d0694b488c9919e7c3f95dd5d5c119"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Jan 30 13:09:59 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Feb 12 17:58:14 2020 -0800"
      },
      "message": "Add mInterfaceLock back to Camera3Device methods called by RequestThread.\n\nMethods like reconfigureCamera called by the RequestThread internally\ncall methods which might expect to have mInterfaceLock locked\n(eg: configureStreamsLocked).\n\nAlso, function calls which expect to be serialized w.r.t\nreconfigureCamera can cause reported camera status to be inconsistent\nw.r.t the expected status.\n\nFor example the following situation might occur\nthrough CameraTest.java#testVideoSnapshot :\n\nFor certain video sizes that would fail to configure the camera\nstartRecordingL\n    camera reconfiguration is triggered -\u003e reconfigureCamera() starts\n    waitUntilDrained -\u003e gets interleaved with reconfigureCamera()\n    reconfigureCamera() completes\n    Here the status of the camera device is active instead of CONFIGURED.\n    updateRecording\n        createStream() called expects the camera to not be in an ACTIVE\n        state since updateProcessorStream cannot handle stream\n        configuration failure gracefully when the device is streaming.\n        However since waitUntilDrained did not complete after\n        reconfigureCamera the camera status is STATUS_ACTIVE.\n\nAs a result, we should hold mInterfaceMutex while\ncalling these methods. To avoid deadlocks (b/143513518), we can have the thread\ncalling disconnect, relinquish mInterfaceMutex right before it starts\nwaiting on RequestThread to exit. It can re-acquire it when\nRequestThread finishes.\n\nBug: 147313521\n\nTest: atest CameraTest.java#testVideoSnapshot on pixel2 passes\nTest: camera CTS\nTest: GCA (sanity)\n\nChange-Id: I384f62bc9936d9691dfe9c13ff743e3d07f2ed55\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "61780a953c8befea40b89a289c6b66d511372c0e",
      "tree": "2cd6c3acbd6b6c90028fe50194f50e9b85cd00c3",
      "parents": [
        "117c6f7d414421093c54055fdd7672e916ec7740",
        "4fa28d2e0a2294bb265a24c7e7fe112076cfc724"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 08 00:32:40 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 08 00:32:40 2020 +0000"
      },
      "message": "Merge \"Camera: Fill out vndk implementation for physical camera callbacks\""
    },
    {
      "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": "89a2c5ceef75fbefca117d9df56a8047a36005fa",
      "tree": "ccc27362514e6bb804fe090672d443e71a19646b",
      "parents": [
        "b5c0071bb7a1c6524deb42ac6643d8fae3106248"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 31 15:02:25 2020 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Feb 04 11:30:15 2020 -0800"
      },
      "message": "Use libbinderthreadstateutils.\n\nClients needing to differentiate between system/vendor used to be able\nto use isServingCall. However, this was expensive to implement. This\nalternative approach instead requires users of this API to use\nlibbinderthreadstateutils which does a slighty different operation.\n\nBug: 148692216\nTest: atest VtsHalCameraServiceV2_0TargetTest\nTest: running AImageReaderVendorTest\nTest: try face unlock\nChange-Id: I5615f4e8863487d0de8dad2d0529214750897036\n"
    },
    {
      "commit": "b6a1bc586c2f3864fe30d7fbded32ee357eca9fc",
      "tree": "6abb4421eff035c979ba49865445e8187213b706",
      "parents": [
        "f030d4e31b0e7fa52e0f6999b1c3dd39ec0b658c",
        "faa4bde9babbe4214b98c05016b6a56fc7f8807b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 03 16:08:21 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 03 16:08:21 2020 +0000"
      },
      "message": "Merge changes from topic \"offlineProc-framework\"\n\n* changes:\n  Camera: Various offline processing fixes\n  Camera: some patchs for offline processing\n"
    },
    {
      "commit": "05c49e907fd4872defdce3b15b8a6be08c177284",
      "tree": "6aa72fda62eae77ba06c584e1e53869ee71c96a6",
      "parents": [
        "0b890e627dc50e9f8bcb0870db37c0c310d1cdb2",
        "16dd56fa2dcbadb7144592a65804dbfbbc46b1c8"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 30 23:01:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 30 23:01:07 2020 +0000"
      },
      "message": "Merge \"CameraService: hold onto SensorPrivacyManager\" am: 733c728752 am: 9279fa954a am: 16dd56fa2d\n\nChange-Id: Ibe7d0626f3c93cabc933ae1b8fbc678c3052b19e\n"
    },
    {
      "commit": "9279fa954ac08e851618b660ab426bbf7a3c6477",
      "tree": "789e1d5526165a4aadfcc55a47114228b04c1405",
      "parents": [
        "e32e81084278221408c1e6f735f929a90787768a",
        "733c728752ae6958c88b2da4a4c662d266294b70"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 30 20:36:30 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 30 20:36:30 2020 +0000"
      },
      "message": "Merge \"CameraService: hold onto SensorPrivacyManager\" am: 733c728752\n\nChange-Id: Ibdf8f29d1ede305d4fc7f7b18ee5f37c25a85162\n"
    },
    {
      "commit": "faa4bde9babbe4214b98c05016b6a56fc7f8807b",
      "tree": "3d22f9dd95e0fae80c49a5715fd1df46dc560917",
      "parents": [
        "87fcccad5dd80a6469a52b783877a3d4edb2dbb6"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 23 12:19:37 2020 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 30 09:46:38 2020 -0800"
      },
      "message": "Camera: Various offline processing fixes\n\nNotable fixes:\n- Rework FrameProcessorBase so it accept and work with\n  offline sessions.\n- Erase internal composite streams from offline stream list.\n\nBug: 135142453\nTest: Camera CTS\nChange-Id: I9dbc01e62fa94c1e0bfb84a8ddaa9e39ab4a7e34\n"
    },
    {
      "commit": "87fcccad5dd80a6469a52b783877a3d4edb2dbb6",
      "tree": "10f5fc65014c601c30196b5949e0674daedf97a0",
      "parents": [
        "2496ffbc450029ee9ec26980a101e71352b4f635"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 28 09:37:18 2020 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 30 09:04:48 2020 -0800"
      },
      "message": "Camera: some patchs for offline processing\n\nTest: CTS OfflineSessionTest\nBug: 135142453\n\nChange-Id: I09a19b3b2e366855ed35b588f75f9734f505072c\n"
    },
    {
      "commit": "3cf67173b15b9ab2df4a9d029e49c4ceaa64be9d",
      "tree": "3c4dc37f5d68ca02c6c5360bedfb1a077c7631f3",
      "parents": [
        "b7765027eca85ef49f842a60db9ebda1bfe7d53c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 29 11:44:22 2020 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 29 11:44:22 2020 -0800"
      },
      "message": "CameraService: hold onto SensorPrivacyManager\n\nunlinkToDeath is no longer required, (this change in behavior is to\navoid leaks) so holding onto the service here (still calling\nunlinkToDeath to avoid a log, but may for instance remove all\nunlinkToDeath calls in the future).\n\nBug: 145692765\nTest: boot, see linkToDeath maintained\nChange-Id: Ib74ab470580643ff61fc684fdd4e16d5e38389af\n"
    },
    {
      "commit": "6425bcd8d5698b44127550d00c0d3e8ea876f7d7",
      "tree": "ef92b9acd993769d43f3fcfb5f18603ee00026d2",
      "parents": [
        "6fd900a34131e6a6a9d9e01f1d594710ead4fb04",
        "2bbdce4e9b9d36ebd6fac699cbefe33c773558fe"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jan 27 18:24:07 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 27 18:24:07 2020 +0000"
      },
      "message": "Merge \"ICameraService: Add methods to query concurrent streaming camera support.\""
    },
    {
      "commit": "2bbdce4e9b9d36ebd6fac699cbefe33c773558fe",
      "tree": "2bb3e0497fbf32e52b2e46bb5aeb91ec531b4629",
      "parents": [
        "e66dc80ed7ab709613d7f465f22793ef3e9d0114"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sun Jan 12 14:55:41 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sun Jan 26 19:20:17 2020 -0800"
      },
      "message": "ICameraService: Add methods to query concurrent streaming camera support.\n\n- getConcurrentStreamingCameraIds() :\n        returns a list of combinations of camera ids that may stream\n        concurrently.\n\n- isConcurrentSessionConfigurationSupported() :\n        queries whether camera devices can support the\n        corresponding given session configurations concurrently.\n\nBug: 77960042\n\nTest: GCA (sanity)\nTest: CTS\n\nChange-Id: Iba237118ccf145695a500a2c406713e416e66011\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "5277625231db4f313115fbcb6cefca7f2dfc2ce0",
      "tree": "288802a30819352b91c3b270329fb41b577928a0",
      "parents": [
        "bccf38e3fa6bc2a372c3a0d38c6274b68c0e5fb7",
        "7c96ea7ff84e1084332548583841735b694bfebd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sat Jan 25 03:44:28 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 25 03:44:28 2020 +0000"
      },
      "message": "Merge \"Remove mediametrics include symlinks\""
    },
    {
      "commit": "f2e37092cfb034d2c207af0d65da686f305faa53",
      "tree": "cafb01c07b7b73fad5e71848e8447bad5dcb5cc0",
      "parents": [
        "e2a8892e61129a62c1ac158d1b7f25bead50ef03"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 07 15:32:32 2020 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 23 14:56:43 2020 -0800"
      },
      "message": "CameraService: Implement SCALER_ROTATE_AND_CROP_AUTO, part 1\n\nWhen an app sets SCALER_ROTATE_AND_CROP to AUTO, the camera service\nneeds to select the right ROTATE_AND_CROP mode given the application\nUI state at the moment, received from the window manager.\n\nIn addition, some of the metadata in the active array coordinate\nsystem needs to be converted to/from the cropped+rotated coordinate\nsystem to ensure roundtripping UI information works as before.\n\nAlso ensure that the available rotate and crop metadata field is\nalways available, with a value of NONE if nothing else.\n\nThis commit adds support for doing the coordinate transforms and\noverriding AUTO to a concrete value; it does not wire up a connection\nto another system service to receive the correct override value, but\ndoes add a command to set the override value for all current camera\nclients.\n\nTest: New CTS tests pass, unit tests for RotateAndCropMapper pass\nBug: 134631897\nChange-Id: Icc45530e2cfbaf838a1e4d04e4fd2aef8122e8e1\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": "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": "d99c8ae877daa76ad182bab886c85ad4811ff428",
      "tree": "ae34cd0d76db6869ee2cd37c2260921adf3efcd3",
      "parents": [
        "4697b64a3b853898ec26e6397eacc3d8bb486473"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Nov 26 13:19:13 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:23:21 2020 -0800"
      },
      "message": "Camera: Add initial offline client listener logic\n\nVarious camera notification callbacks need to be\npropagated back to client.\n\nTest: Camera CTS\nBug: 135142453\n\nChange-Id: I11a1bc634e4c6f9540d1f7f9c20e4151fdcc5ec6\n"
    },
    {
      "commit": "4697b64a3b853898ec26e6397eacc3d8bb486473",
      "tree": "94bedc5c648e367f9ca43df62c5915b08c22a186",
      "parents": [
        "b2bc5a46efe3e77a5962ba0f2f770c524e93e03f"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Nov 19 17:11:14 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:23:08 2020 -0800"
      },
      "message": "Camera: Initial support for composite streams in offline mode\n\nComposite streams must be able to switch to offline processing\nmode. To support them the offline session client must continue\npassing all necessary callbacks and events similar to regular\ncamera clients.\n\nTest: Camera CTS\nBug: 135142453\nChange-Id: I498681af16ad072e3df01d0279b4cfe76b48f9ec\n"
    },
    {
      "commit": "b2bc5a46efe3e77a5962ba0f2f770c524e93e03f",
      "tree": "378fd039dafaeaff8882eb774a7be1a864778b86",
      "parents": [
        "5fd603ea87e9f94e4b8c5fdc5b891518d6a471a8"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 20 16:02:14 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:22:53 2020 -0800"
      },
      "message": "Camera: Initial offline session client\n\nTest: N/A, no implementation yet\nBug: 135142453\nChange-Id: I08fecba80ab88a8b70fe71fdd4b660d49e40324c\n"
    },
    {
      "commit": "5fd603ea87e9f94e4b8c5fdc5b891518d6a471a8",
      "tree": "f31de530528e7aa6a40e9d21ae466c8bfc77fcd0",
      "parents": [
        "56d98ba8001cd2a83c735ff8bc4d155c69072027"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Nov 20 11:22:27 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:22:16 2020 -0800"
      },
      "message": "Camera: fill in Camera3Device offline processing impl\n\nMove shared method implementations to Camera3OutputUtils.cpp/h\nDefined interfaces to handle Camera3Device/Camera3OfflineSession\nbehavior differences in Camera3OutputInterface.h.\n\nBug: 135142453\nTest: N/A (not enough implementation yet)\nChange-Id: I57476ca5a1edf69c02a22241ad776d6f02636033\n"
    },
    {
      "commit": "56d98ba8001cd2a83c735ff8bc4d155c69072027",
      "tree": "d56db19cc58a63967b39ed545a810dd14f959e89",
      "parents": [
        "7d381e52fa5808e0acbad8b31383188e133c41b6"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jan 16 16:57:14 2020 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jan 16 16:57:14 2020 -0800"
      },
      "message": "Camera: supports new HIDL camera device 3.6\n\nTest: webcam HAL with device 3.6\nBug: 135142453\nChange-Id: I6cd80380608eb7ea72bc958aae870a8573bce631\n"
    },
    {
      "commit": "7c96ea7ff84e1084332548583841735b694bfebd",
      "tree": "eb5d7c1bcb91cea21469e46b7c014ae44635a217",
      "parents": [
        "255f610f5ab71b5e36d93744dfe058daf6c96041"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 10 15:46:22 2020 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 16 15:55:18 2020 -0800"
      },
      "message": "Remove mediametrics include symlinks\n\nBug: 143245419\nTest: build\nChange-Id: I6c836e60c0fe078f5ab7370aec156bdd6e8dcbf0\n"
    },
    {
      "commit": "336ffa96f5bb0cdd4b24b7967d9385c42d7e9299",
      "tree": "a35ecc6d7839e9b2d5363b6fda9c0bf1f298a97b",
      "parents": [
        "c60fccb3b36c1804dafd72a39bd97c99974f2348",
        "29e9ec182d20f44ee2e8a15de1940cb4ef29663e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 06 21:05:43 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 06 21:05:43 2020 +0000"
      },
      "message": "Merge \"Camera: Integrate dynamic depth processing\""
    },
    {
      "commit": "a93b86c6f1f032113f3d1fc4807b86dfe513a6b8",
      "tree": "0a94096be8d347b064269db77ec37a766287c17e",
      "parents": [
        "60e7d69f19d6c80082778dec51b23efbc2ed7e5f",
        "cfae241ef67e6ffc7d3c95148866bbc0eb188aec"
      ],
      "author": {
        "name": "Wei Lee",
        "email": "wtlee@google.com",
        "time": "Mon Jan 06 06:44:55 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 06 06:44:55 2020 +0000"
      },
      "message": "Merge \"Camera: Set focal length for external camera if the information is provided\""
    },
    {
      "commit": "7609334508e235c77a09c23b50dc07351d1487fb",
      "tree": "11282517dc96490e8bb03f69a62bde53cab66942",
      "parents": [
        "684e4758669bacea71379735d49bdc74807772f3",
        "1c834da07093c79d2a8fedb47836b78f00a31e2e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 02 21:18:03 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 02 21:18:03 2020 +0000"
      },
      "message": "Merge \"Camera3: Remove mutex from ZoomRatioMapper\""
    },
    {
      "commit": "29e9ec182d20f44ee2e8a15de1940cb4ef29663e",
      "tree": "63c37c5dc495aafa88e2951fe69fecc82a57e561",
      "parents": [
        "684e4758669bacea71379735d49bdc74807772f3"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 02 12:43:50 2020 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 02 13:08:30 2020 -0800"
      },
      "message": "Camera: Integrate dynamic depth processing\n\nIntegrate dynamic depth processing as part of\nthe camera service library.\nDynamic linking is no longer required as legacy\ndevices with small system partitions are not\nsupported.\n\nBug: 132449311\nTest:\natest\ncts/tests/camera/src/android/hardware/camera2/cts/StillCaptureTest.java#testDynamicDepthCapture\natest\ncts/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#testDynamicDepth\natest\ncts/tests/camera/src/android/hardware/camera2/cts/ExtendedCameraCharacteristicsTest.java#testDepthOutputCharacteristics\ncameraservice_test --gtest_filter\u003dDepthProcessorTest.*\n\nChange-Id: Ie8befc5c0635e3e08c7ad8cac7b056cdf5aa3548\n"
    },
    {
      "commit": "1c834da07093c79d2a8fedb47836b78f00a31e2e",
      "tree": "4542e2d86881525c694e8111686b1674bec4b8d7",
      "parents": [
        "62f49ed06456101818acac1be1508c3439fab2fc"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Dec 18 11:17:03 2019 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Dec 31 07:18:16 2019 +0000"
      },
      "message": "Camera3: Remove mutex from ZoomRatioMapper\n\nZoomRatioMapper\u0027s member variables are const after construction. As a\nresult, we don\u0027t need mutex to protect updateCaptureRequest and\nupdateCaptureResult calls.\n\nAlso fixed missing zoom ratio mapping initialization for physical\nsub-camera.\n\nTest: testZoomRatio CTS\nBug: 130025314\nChange-Id: Ibe2ff7cffb13178dcf70fc9e2eb044184e58bcf2\n"
    },
    {
      "commit": "40ea29352c0c2dd0c1494be69463521dd3260218",
      "tree": "d04e4718594d003120db1c6154d5d37bf6e173f5",
      "parents": [
        "62f49ed06456101818acac1be1508c3439fab2fc",
        "bd2e388b26faff9d686bf56e476009843b4615df"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 27 21:35:58 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 27 21:35:58 2019 +0000"
      },
      "message": "Merge \"Functions called by RequestThread::threadLoop must not hold mInterfaceMutex.\" am: 2638df9bf8 am: 12638d3b84 am: bd2e388b26\n\nChange-Id: Iaf36c4f517ec7ab4d1956179c88600a4154f176e\n"
    },
    {
      "commit": "bd2e388b26faff9d686bf56e476009843b4615df",
      "tree": "9fd4f720217961241ed5cadc43d38f01e156c493",
      "parents": [
        "cb257970c1921db3cbfd15823ef0a561257b4690",
        "12638d3b84c5cad75135de224169a5b1e3caaf6b"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 27 21:19:19 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 27 21:19:19 2019 +0000"
      },
      "message": "Merge \"Functions called by RequestThread::threadLoop must not hold mInterfaceMutex.\" am: 2638df9bf8 am: 12638d3b84\n\nChange-Id: I0993e9e07e212773a92aade3148d1462aab4bfe1\n"
    },
    {
      "commit": "2638df9bf8fbe3e82c1908b47df206746080fb70",
      "tree": "95ec34c8139dec38eb7e10104bd376117dfefcc8",
      "parents": [
        "801a252a4203c54ad7165f522f4b36dd1f14fc92",
        "37eca2499bfb3cda510f0a2e2a4e9d629b405a36"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Dec 27 20:28:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 27 20:28:48 2019 +0000"
      },
      "message": "Merge \"Functions called by RequestThread::threadLoop must not hold mInterfaceMutex.\""
    },
    {
      "commit": "62f49ed06456101818acac1be1508c3439fab2fc",
      "tree": "cfe90abde740459ccf8135a6a819fb2bbf28fa57",
      "parents": [
        "b7b2f5d8658b5d08831f91c25400c9717b05dac1"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Sep 04 14:07:53 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Dec 27 11:24:32 2019 -0800"
      },
      "message": "Camera: Heic: Update codec quality per shot\n\nUpdate codec quality setting at the time of:\n- Input pending frame creation if there is no inflight encoding.\n- Any pending input frame is done processing.\n\nNote that since there is no way for camera framework to synchronize\nquality setting per-frame when encoder runs in surface mode, the update\nof quality is on best-effort basis.\n\nTest: vendor testing, and camera CTS\nBug: 140506016\nChange-Id: I58ddc9302b1507428ccf42f4c77c6624f1c600ba\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": "1d8e707a3c713429d1e21349b2c9dacac07b8591",
      "tree": "f8735d228d541c4832d101c602328f5ebe4eef71",
      "parents": [
        "f1ecd8fc035ea16977e65c2ca6e9a1663c80a3d1",
        "053fe0f226924f287741de7c45e1bb9a9bff8812"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 12 04:43:18 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 12 04:43:18 2019 +0000"
      },
      "message": "Merge \"Camera: Handle onBuffersDiscarded callback\" into qt-qpr1-dev am: 6a971a6aec am: 053fe0f226\n\nChange-Id: I4e8808204579c8baf79438cc8c323b2c65b84257\n"
    },
    {
      "commit": "37eca2499bfb3cda510f0a2e2a4e9d629b405a36",
      "tree": "fe7f6d9647772349d4c87203b1db141e78c64474",
      "parents": [
        "3066e206366b25b6b64cf0ad29188bd04b56b183"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Nov 18 08:55:56 2019 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Dec 11 14:10:36 2019 -0800"
      },
      "message": "Functions called by RequestThread::threadLoop must not hold mInterfaceMutex.\n\nFunctions called by RequestThread::threadLoop must not hold\nmInterfaceMutex since the following deadlock scenario may occur:\n\nT1: disconnect() -\u003e holds mInterfaceMutex and waits for RequestThread to\n    exit\n  T2: RequestThread::threadLoop()-\u003ereconfigureCamera (or any other function) that waits on\n      mInterfaceMutex\n\nleading to a deadlock\n\nBug: 143513518\n\nTest: GCA\nTest: CTS\n\nChange-Id: I4bd856e5263934a54cd7087a01d35cfe10936196\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "d65084c86d0760afce46cd889b58b3d982088017",
      "tree": "d0bcc9d9ad39d899fa60e929e3fc9a7e994369d2",
      "parents": [
        "960bbfab7bd5f2fff6afdecb920f21b8eb3fee45"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Aug 15 09:11:56 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Dec 09 22:21:11 2019 +0000"
      },
      "message": "Camera: Handle onBuffersDiscarded callback\n\nUse onBuffersDiscarded callback from buffer queue to invalidate the\nbuffer caches in cameraserver process.\n\nTest: Run testDiscardFreeBuffers, and use trace to profile memory\nBug: 136677409\nBug: 145617243\nChange-Id: Ifac5e852e2a1ac50f5c3f2e047966c59eeb5f1ba\nMerged-In: Ifac5e852e2a1ac50f5c3f2e047966c59eeb5f1ba\n(cherry picked from commit 0160ddd149893fd14c563ac9a124e49443b69fe4)\n"
    },
    {
      "commit": "cfae241ef67e6ffc7d3c95148866bbc0eb188aec",
      "tree": "fde38af918396900c322f3188ccd2afe4e6db3d5",
      "parents": [
        "e3c93d02f76fc8ba1628b1f4cdf271ce011b73d2"
      ],
      "author": {
        "name": "Wei Lee",
        "email": "wtlee@google.com",
        "time": "Wed Dec 04 12:48:14 2019 +0800"
      },
      "committer": {
        "name": "Wei Lee",
        "email": "wtlee@google.com",
        "time": "Fri Dec 06 17:36:37 2019 +0800"
      },
      "message": "Camera: Set focal length for external camera if the information is provided\n\nCurrently, we will set -1.0 as the default focal length for external\ncamera even if camera HAL provides the information. We should respect\nthe information if it is provided.\n\nBug: 141517606\nTest: cts-tradefed run commandAndExit cts -m CtsCameraTestCases -t\nandroid.hardware.cts.CameraTest#testJpegExif\n\nChange-Id: Iae38ed0243a386187e29c5c4549d92ca24f58d0d\n"
    },
    {
      "commit": "b7be229b0748034b6711fd855339af762e9097de",
      "tree": "f792ad2b8c278688acb339c8f13fb58461c6ba50",
      "parents": [
        "decaebce1d97f871f80847999063c6ea56cf6b81",
        "6ffc16c3531ed5a8dd9e5e1647537bd093156d96"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Dec 05 11:03:49 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 05 11:03:49 2019 -0800"
      },
      "message": "Merge \"cameraserver: filter out non-HAL3 devices from HIDL addListener.\" am: 58205951c3\nam: 6ffc16c353\n\nChange-Id: Icc89c3b8f7af5ca7899f1bbc1cddf65d87ecdda3\n"
    },
    {
      "commit": "58205951c319c089b1d320f81028262b9a470400",
      "tree": "2748ca345f579eac2ed61e77a61bdde0634a4a6c",
      "parents": [
        "0287266a3e2543268938e1b91129fb934b92b356",
        "8fe02b24e4cdf93cb1c004b7d77c01671bd44916"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 05 18:34:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 05 18:34:29 2019 +0000"
      },
      "message": "Merge \"cameraserver: filter out non-HAL3 devices from HIDL addListener.\""
    },
    {
      "commit": "8dae54c472554974c12baac111677679f66431f3",
      "tree": "5e86008717e1a14e28da7f288ae8be09b6dc8d89",
      "parents": [
        "652ba81b9ffc137883f949bc958fa388a754e701"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Dec 02 15:17:17 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Dec 02 15:17:17 2019 -0800"
      },
      "message": "Camera: Unblock the request thread earlier during flush\n\nExplicitly signal and unblock the request thread\nduring device flushes via \"mRequestSignal\". This can\npotentially reduce the time needed to go in to IDLE state.\n\nBug: 144978201\nTest: Camera CTS\nChange-Id: Ib212ca481a961252cf744af4b96f3c45865d121e\n"
    },
    {
      "commit": "2d05e23d5c6160e343a2d00f047883b830be0219",
      "tree": "37ef016a15e6d3bfea44bc672c329c6715f064e7",
      "parents": [
        "cb4aa3aaf8ef23b4297167ccb0da44285517bd5a",
        "1960c88baffd5371b69bbe5268702dd02b8a24a3"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 20 08:27:13 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 20 08:27:13 2019 -0800"
      },
      "message": "Merge \"Camera: Check consumer interface before disconnecting\" am: aa59be48d4 am: a4f8c20bf9\nam: 1960c88baf\n\nChange-Id: I18f80217287d0c23846cc052dce768e7723518c4\n"
    },
    {
      "commit": "1960c88baffd5371b69bbe5268702dd02b8a24a3",
      "tree": "419f3e1fefaf996d23e7184a8eb9f5a13cbef079",
      "parents": [
        "f2bb7b0ccc86a06deae882ac3974e2004eb98a27",
        "a4f8c20bf985d4a6d3a108d6813fe01d5b41cd55"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 20 08:23:56 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 20 08:23:56 2019 -0800"
      },
      "message": "Merge \"Camera: Check consumer interface before disconnecting\" am: aa59be48d4\nam: a4f8c20bf9\n\nChange-Id: I691c6c369db7b6334a54dbe98b61711b8185e1cb\n"
    },
    {
      "commit": "a4f8c20bf985d4a6d3a108d6813fe01d5b41cd55",
      "tree": "36c529afa2ebdbbe4a31b8649aaf60cd957ff979",
      "parents": [
        "f1a372c1792ad6b92a7cabd804a5195589daf8e0",
        "aa59be48d4385700852552e3359f5c41a73fcd16"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 20 08:20:02 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 20 08:20:02 2019 -0800"
      },
      "message": "Merge \"Camera: Check consumer interface before disconnecting\"\nam: aa59be48d4\n\nChange-Id: I2c1b1878b8ca56bcce5a977afec2170a62a738a0\n"
    },
    {
      "commit": "960bbfab7bd5f2fff6afdecb920f21b8eb3fee45",
      "tree": "6eca1abc80b0d3ea6a0680f45fd0ea28019815f1",
      "parents": [
        "9132522c7e3702227cf65756d11630d51d022f3f"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Oct 30 10:12:46 2019 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Nov 19 17:09:42 2019 +0000"
      },
      "message": "Camera: Check consumer interface before disconnecting\n\nThe internal buffer queue and respective \u0027mConsumer\u0027 may\nnever get initialized in case the connection and/or\nconfiguration of client shared output surfaces fails.\nTo avoid possible instabilities check whether the\nconsumer interface is valid before trying to disconnect.\n\nBug: 143506890\nTest: atest\ncts/tests/camera/src/android/hardware/camera2/cts/MultiViewTest.java\n\nChange-Id: Ia533233444fd548ddb52f4fde06212a21bc843bc\nMerged-In: Ia533233444fd548ddb52f4fde06212a21bc843bc\n"
    },
    {
      "commit": "0dff6354a26026e997592e65de60d51fc1413f4f",
      "tree": "310442d464502c421836a4ef3697f1ede7b646f4",
      "parents": [
        "c9b7938917ab330a9b5be036c94b644432402c51",
        "80cf46d6fb0248d62996e8277c1b699379e68e04"
      ],
      "author": {
        "name": "Michael Gonzalez",
        "email": "michgonz@codeaurora.org",
        "time": "Mon Nov 18 13:46:34 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 18 13:46:34 2019 -0800"
      },
      "message": "Merge changes Iba1c82b0,Ia498f6dd,I16fd11f5 into qt-qpr1-dev am: 40f8906f45\nam: 80cf46d6fb\n\nChange-Id: I05b66f64f0f941cde473d02d02e6c1714d7d4a6a\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": "f2ae75ddc535e8ecb253d0b657e597c227057838",
      "tree": "61c1153d1df097e72171679ce8fb3db1313f5bfe",
      "parents": [
        "0017f0d7714fd06bfbc8faf3039f5fac8c3bdef4"
      ],
      "author": {
        "name": "Michael Gonzalez",
        "email": "michgonz@codeaurora.org",
        "time": "Tue Oct 08 14:30:32 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Nov 08 18:57:31 2019 +0000"
      },
      "message": "Camera: Heic: Wait for output TS before dequeuing output buffers\n\nDuring testHeicExif, the codec output buffer timestamp may rarely arrive\nafter the first codec output tiles arrive.\n\nTest: vendor testing\nBug: 141169323\nChange-Id: Iba1c82b087533cb87a32d69f7d6908e2c925b807\nMerged-In: Iba1c82b087533cb87a32d69f7d6908e2c925b807\n(cherry picked from commit 5c103f2962cd41a948dca4f2156c6efdf506bef1)\n"
    },
    {
      "commit": "0017f0d7714fd06bfbc8faf3039f5fac8c3bdef4",
      "tree": "437279d82780f895267ddf9f7c3ebb79f0067521",
      "parents": [
        "983f81403e9189c52e23f878c6ea5d22e97448e2"
      ],
      "author": {
        "name": "Michael Gonzalez",
        "email": "michgonz@codeaurora.org",
        "time": "Wed Oct 09 15:38:17 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Nov 08 18:57:02 2019 +0000"
      },
      "message": "Camera: Heic: Handle out-of-order buffer outputs\n\nDuring reprocess usecases, the Camera HAL may return JPEG Appsegment\nframes out of order. This leads to a scenario where\nmAppSegmentConsumer-\u003elockNextBuffer may not refer to the currently muxed\nframe.\n\nTo work around this, the number of lockable appsegment buffers has been\nincreased.\n\nTest: Vendor testing\nBug: 141169323\nChange-Id: Ia498f6ddaba588b66cbaeee94fe8bdd7314bb90c\nMerged-In: Ia498f6ddaba588b66cbaeee94fe8bdd7314bb90c\n(cherry picked from commit b5986a36b2913ec100b110720c3e24e26fd0d1dd)\n"
    },
    {
      "commit": "983f81403e9189c52e23f878c6ea5d22e97448e2",
      "tree": "541d7935d24f3855262fe810e557f9b4230bc983",
      "parents": [
        "4333c308afa4a695fd8f444d308b794cad656a6e"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Sep 25 14:19:28 2019 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Nov 08 18:54:15 2019 +0000"
      },
      "message": "Camera: Heic: Wait for first output tile callback before muxer start\n\nIn order for muxer to start writing any track, the format returned from\nonFormatChanged must first be available. By waiting for first output\ntile callback, we are guaranteed to have received onFormatChanged, which\nmeans a valid format is available for muxer to use.\n\nThis change also makes it such that no multiple muxers are inflight, avoiding\ndequeueBuffer failure because right now we only support maximum dequeued\nbuffer count to be 1.\n\nAdd more verbose logs for ease of debugging.\n\nTest: Vendor testing\nBug: 141169323\nChange-Id: I16fd11f5558e525ceae59df00533553e4b4e7589\nMerged-In: I16fd11f5558e525ceae59df00533553e4b4e7589\n(cherry picked from commit 3d00ee51a207d15718fcac4fefc72306532d68af)\n"
    },
    {
      "commit": "b4235aabf383c9ea3e5bcaddcab37d69b4cb6d44",
      "tree": "6b6ecfa3475471c5f91a1b6b9a21b8c4510fb77c",
      "parents": [
        "efe567a24ba2a171782c20ce2aa4c773c78fc798",
        "039b9e940fc575861e6cd652105b0c3a36a1d574"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 07 17:18:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 07 17:18:31 2019 +0000"
      },
      "message": "Merge \"Camera: Decrease latency when joining sequencer thread\""
    },
    {
      "commit": "dd44d37f522c4b22fefd6b4c65d048d94ece0cdc",
      "tree": "cc60d3b290331516bb034c909062ee246e8eba69",
      "parents": [
        "8f7242b6bd2c957a76176d357ca0631f287b19e8",
        "5c103f2962cd41a948dca4f2156c6efdf506bef1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 07 01:02:29 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 07 01:02:29 2019 +0000"
      },
      "message": "Merge \"Camera: Heic: Wait for output TS before dequeuing output buffers\""
    },
    {
      "commit": "039b9e940fc575861e6cd652105b0c3a36a1d574",
      "tree": "b031dc1fe7a085b2e5d2dc56c46db91d18cf291a",
      "parents": [
        "8814904b2057809ca759014d16b0b8ae434128e8"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 06 12:15:15 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 06 13:02:46 2019 -0800"
      },
      "message": "Camera: Decrease latency when joining sequencer thread\n\nDepending on timing, legacy camera clients that try to\ndisconnect may observe a random delay while waiting\nfor the capture sequencer thread to exit from its\nrespective \u0027threadLoop\u0027. The delay there can be as much as\n\u0027kWaitDuration\u0027.\nTo improve the average disconnect latency use a separate\nand much smaller timeout when managing idle state.\n\nBug: 143557484\nTest: atest cts/tests/camera/src/android/hardware/cts/\n\nChange-Id: I164b3d37182cac776c0064047a5ef5b5a0f8b314\n"
    },
    {
      "commit": "8fe02b24e4cdf93cb1c004b7d77c01671bd44916",
      "tree": "b98bc23bfd5801683f09420cbeb179b2d24a0992",
      "parents": [
        "3066e206366b25b6b64cf0ad29188bd04b56b183"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Oct 25 11:01:00 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Nov 01 10:55:38 2019 -0700"
      },
      "message": "cameraserver: filter out non-HAL3 devices from HIDL addListener.\n\nBug: 143192708\n\nTest: Use vendor clients of cameraserver\nTest: GCA (sanity)\n\nMerged-In: Ic31f71887b55f3d838ca35274a5f65802ea50584\nChange-Id: I51ae92d3596a962ca6ca551f8fab9fd0c77b6283\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "f90425ded5810d4f4dbb12fe10d0961b1470da68",
      "tree": "56606c3cc2696f9820632665c539e179f3dc4342",
      "parents": [
        "311ee8ccb060a9d0d996cf9f00fca07939089de7",
        "90e6369928665598bf407e1ceb0ae47d39c80a64"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Nov 01 17:47:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 01 17:47:24 2019 +0000"
      },
      "message": "Merge \"cameraserver: filter out non-HAL3 devices from HIDL addListener.\""
    },
    {
      "commit": "eb7e13873fe59343412efbcd560fac2a2a2d9f71",
      "tree": "543f3b2cad2919fb1c0f298f4e53542bd1460c4f",
      "parents": [
        "86a313bc172914766df88420079de7fb0826a450",
        "13ad0eb5e16cb42690595f291306eaa437e952b6"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Thu Oct 31 23:11:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 31 23:11:21 2019 +0000"
      },
      "message": "Merge \"Add new parameter capability to onUidStateChanged()\""
    },
    {
      "commit": "3cc114cc5820f78c0f14dd69492d5f37cf826cfb",
      "tree": "90aefc161196450874478d0a0a42439dcc7de813",
      "parents": [
        "9ef4f8d690bc42a0f17d6036d70f6769578a76b5",
        "b5986a36b2913ec100b110720c3e24e26fd0d1dd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 30 21:36:27 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 30 21:36:27 2019 +0000"
      },
      "message": "Merge \"Camera: Heic: Handle out-of-order buffer outputs\""
    },
    {
      "commit": "6fcb941084faecce31909f1c50ee1ba442244f8b",
      "tree": "d8904b383fd5d7e01c3c966c1c57c44266dbad18",
      "parents": [
        "22cd27bcc50b17ebb5104400cece4c34f1729930",
        "c499a089250910118da5a292794d0dc1c9053171"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Oct 30 14:30:59 2019 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Oct 30 14:30:59 2019 -0700"
      },
      "message": "DO NOT MERGE - qt-qpr1-dev-plus-aosp-without-vendor@5915889 into stage-aosp-master\n\nBug: 142003500\nChange-Id: I0de886061b2d75f9c37e8edbd4e7e08225d0186b\n"
    },
    {
      "commit": "359adca4b7cf734ab9a0d27a005b9f6dfdc0ad8e",
      "tree": "741e8f07f2f56c89d2e42e32233d5c4e9d6c0c37",
      "parents": [
        "2218ec1a22bb644669b7c142cea1a06c00abcf49"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Oct 30 10:12:46 2019 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Oct 30 21:06:40 2019 +0000"
      },
      "message": "Camera: Check consumer interface before disconnecting\n\nThe internal buffer queue and respective \u0027mConsumer\u0027 may\nnever get initialized in case the connection and/or\nconfiguration of client shared output surfaces fails.\nTo avoid possible instabilities check whether the\nconsumer interface is valid before trying to disconnect.\n\nBug: 143506890\nTest: atest\ncts/tests/camera/src/android/hardware/camera2/cts/MultiViewTest.java\n\nChange-Id: Ia533233444fd548ddb52f4fde06212a21bc843bc\n"
    },
    {
      "commit": "eef9ebc66a120a23e906c351aca079b1d1127d0b",
      "tree": "45ab80070a5dc101810cf3529af2886764b51611",
      "parents": [
        "cb6aeceef69857361fabc6d6f50e589365a61b51",
        "3d00ee51a207d15718fcac4fefc72306532d68af"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 28 21:51:33 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 28 21:51:33 2019 +0000"
      },
      "message": "Merge \"Camera: Heic: Wait for first output tile callback before muxer start\""
    },
    {
      "commit": "90e6369928665598bf407e1ceb0ae47d39c80a64",
      "tree": "9dd58c3aac1c81bb53a4e2547e213350e93fcbea",
      "parents": [
        "33e8ef86ecfa90f9d41ab700c6f9f5e2a19c97a1"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Oct 25 14:13:01 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Oct 25 14:13:02 2019 -0700"
      },
      "message": "cameraserver: filter out non-HAL3 devices from HIDL addListener.\n\nBug: 143192708\n\nTest: Use vendor clients of cameraserver\nTest: GCA (sanity)\n\nChange-Id: Ic31f71887b55f3d838ca35274a5f65802ea50584\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "b7c2cf5d34843dcaf43053acc9da91cccaf122ac",
      "tree": "dbddd7d90ff918a155557baa943d5b1db79cf626",
      "parents": [
        "f16f21366cbc91778d3e4c57d0d679dafd274d1f"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Oct 07 15:26:41 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Oct 24 15:51:05 2019 -0700"
      },
      "message": "cameraserver: Avoiding deadlocks while calling isPublicallyHiddenSecureCamera().\n\nThe following scenario can occur:\n\n T1 serving Client A\u0027s disconnect() call:\n   T2 : serving Client B\u0027s connect() call\n     T2 : CameraProviderManager::openSession() locks mInterfaceMutex and waits on open() HAL\n          interface call\n       T1: updateStatus() locks mStatusListenerMutex\n         T1: CameraProviderManager::isPublicallyHiddenSecureCamera() waits\n             on mInterfaceMutex\n           T2: while waiting on open(), gets a torchModeStatus() callback from the camera HAL\n              T2: onStatusChanged()\n                T2: broadcastTorchModeStatus() which waits on mStatusListenerMutex\n\nAs a result there\u0027s a possible circular hold and wait between T1 and T2.\n\nWe cache isPublicallyHiddenSecureCamera in CameraState. That doesn\u0027t completely\navoid having to hold mInterfaceLock while calling isPublicallyHiddenSecureCamera() in CameraService\n(cache updates), instead it reduces it. We instead need to hold mCameraStates lock which has a\nsmaller scope.\n\nBug: 141756275\n\nTest: CTS\nTest: GCA (sanity)\n\nMerged-In: I8562c83478b1fe8fbda7c85f97b995985666918d\nMerged-In: I4a697c1eaccc3603007be4a595febea981fbeb64\nChange-Id: Ie5508afb126a874f76fbbfc2dd19ef79ae6255e0\n(cherry picked from commit fd39db81e44e191baa476a579de6cc2618de025a)\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "f7a342bfcb9bd0ab30f6b3b98073bfcc20471150",
      "tree": "bdc534e82968841cb32df6e8dd607cba6efc3efc",
      "parents": [
        "08c3c988eee1391458ccf1adbb5d0f60c7718f8e",
        "998d1fe22142a3fd729df87af59476f97b926e02"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 24 18:19:45 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 24 18:19:45 2019 +0000"
      },
      "message": "Merge changes I67b3fe39,I2ad5c542\n\n* changes:\n  CameraService: Add unit test for stuck HAL at startup\n  CameraService: Don\u0027t block on camera HAL start in all cases\n"
    },
    {
      "commit": "a987db923b070148ebd42cb4a502f05702630d33",
      "tree": "31cfbdfbb4e1dfd41067d5c3909d2116c7841f90",
      "parents": [
        "8219d3feeb33a046ac39c81426ac00c898b1f6ea",
        "ff7eab2a57ff31501e9da98bdc2c633c4996eae5"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Oct 23 15:32:41 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 23 15:32:41 2019 -0700"
      },
      "message": "Merge \"Camera: Release all composite streams during \"detachDevice\"\" into qt-qpr1-dev am: f16f21366c am: 01510dc526\nam: ff7eab2a57\n\nChange-Id: I21ee58b59ce2afefb378f6de51c616f08cc6412e\n"
    },
    {
      "commit": "ff7eab2a57ff31501e9da98bdc2c633c4996eae5",
      "tree": "2f68d5ff7da61153da6702aba670149784a5fe89",
      "parents": [
        "89f3994620c9b19ece47694680b3c3aad594d924",
        "01510dc5268a5320a289640abb92a58bc20e3c5a"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Oct 23 15:26:39 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 23 15:26:39 2019 -0700"
      },
      "message": "Merge \"Camera: Release all composite streams during \"detachDevice\"\" into qt-qpr1-dev am: f16f21366c\nam: 01510dc526\n\nChange-Id: Id88dc89d3cf99266e34211aa72b4e99bb259c40d\n"
    }
  ],
  "next": "998d1fe22142a3fd729df87af59476f97b926e02"
}
