)]}'
{
  "log": [
    {
      "commit": "e7f4b46a572a0131de6d9d2a2ca81247dec056ff",
      "tree": "1241518b766e632674222fa28e707a8c87ce1625",
      "parents": [
        "c6aa503951f6d65ead9b0066568bdb47b9896ca3"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Feb 12 08:43:07 2019 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Feb 15 12:05:44 2019 -0800"
      },
      "message": "Camera: Use capture result metadata to override EXIF\n\nUse static and dynamic metadata to override Exif tags.\n\nAlso added back a missing ATRACE_ASYNC_ENDs statement.\n\nTest: Camera CTS\nTest: ERROR_BUFFER of internal streams is propagated to app\nTest: ERROR_RESULT only results in EXIF not being overridden\nBug: 124066183\nChange-Id: Id2c69c6bee04ae724ff5f190b2dd96d0159700c9\n"
    },
    {
      "commit": "0302b6d14cca873521fb65b184fe8964b496affc",
      "tree": "5c23cc9d1aa2d5cd2a199b51e7261295328938eb",
      "parents": [
        "d97b1b3994f3cb026348b136817d107934ba6677",
        "7e5a2042659b0659be82397202261732a797c216"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 14 18:41:53 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 18:41:53 2019 +0000"
      },
      "message": "Merge changes I7362942f,I946fb95d\n\n* changes:\n  Camera: rework API1 shim takePicture retry logic\n  Camera: bug fixes for HAL buffer manager\n"
    },
    {
      "commit": "cbfa4c1c9b2dd9976ccb16e39545a7ba6449761a",
      "tree": "bc2e2e2d019cf75794a19bbd03dbf97d99760f87",
      "parents": [
        "cf272c82a2bda2cb759b62a01ad38d89bd31d356",
        "4ec1788b4f826bedebedb8d4bb7e957a8c5d14f5"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Feb 13 21:54:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 21:54:22 2019 +0000"
      },
      "message": "Merge \"Camera: Enable Hal side stream reconfiguration queries\""
    },
    {
      "commit": "7e5a2042659b0659be82397202261732a797c216",
      "tree": "334ce161ad5de35aebfae4486d393fb77e6d59f7",
      "parents": [
        "cd333fe74677da852cc05dcb24c9e7e4614377ec"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 06 16:01:06 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 13 11:54:55 2019 -0800"
      },
      "message": "Camera: rework API1 shim takePicture retry logic\n\nonBufferReleased is no longer reliable indicator of capture\nerror due to HAL buffer manager feature. Switch to listen\nto error callback from HAL directly.\n\nTest: API1 CTS + Pixel 3\nBug: 123952355\nChange-Id: I7362942f19356583ec66f259b01e963a1af3a205\n"
    },
    {
      "commit": "cd333fe74677da852cc05dcb24c9e7e4614377ec",
      "tree": "8f6b5f27a5d510da3bf2027601d6eb514c5c7bd8",
      "parents": [
        "ffb2516cc730b5ac621ad8a92e827faf4e86b8ca"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Feb 08 13:45:41 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 13 11:06:18 2019 -0800"
      },
      "message": "Camera: bug fixes for HAL buffer manager\n\nTest: GCA smoke test + Camera CTS\nBug: 120986771\nChange-Id: I946fb95d8e685995ebb8cf3d36b0373958bfad09\n"
    },
    {
      "commit": "5a9b492828f9bc0d04e1292add45a271e0189c4e",
      "tree": "9c3fe53b8a78f01bfc55f480e9e12e8e1a915489",
      "parents": [
        "1342d0740e9a7accd48a7c28725ca61ded231ee1",
        "63f3611018857754d60a176783133371bae5f009"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 11 01:22:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 11 01:22:52 2019 +0000"
      },
      "message": "Merge \"Camera service: Support for device state change notifications\""
    },
    {
      "commit": "2c54504df6b633d9840da6b5f781e69c41890d54",
      "tree": "babc5581801fbb8211c18783cf3a3efa564d7847",
      "parents": [
        "ffb2516cc730b5ac621ad8a92e827faf4e86b8ca"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Feb 07 10:27:35 2019 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Feb 08 17:13:58 2019 +0000"
      },
      "message": "Camera: Disconnect composite streams from output surface at shutdown\n\nWhen a composite stream is deleted, the previously connected output\nsurface needs to be disconnected. Otherwise when the composite stream is\nre-created with the same output surface, connect() will fail.\n\nTest: TestingCamera2, and Camera CTS\nBug: 79465976\nBug: 109735087\nBug: 124072769\nChange-Id: I254238235d306f9be8152110b1c55a7ada46424a\n"
    },
    {
      "commit": "4ec1788b4f826bedebedb8d4bb7e957a8c5d14f5",
      "tree": "5a8e77b46d6a24e94bfef41a33f11e5cac562ca6",
      "parents": [
        "627cb60a9fb54e8f6b2eab0c874392f20cd9d8e8"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 24 17:16:58 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Feb 07 14:10:14 2019 -0800"
      },
      "message": "Camera: Enable Hal side stream reconfiguration queries\n\nSession parameter changes will by default trigger internal stream\nreconfiguration. If possible query Hal whether this sequence\nis required for specific parameter values.\n\nBug: 122609098\nTest: Manual using application\nChange-Id: I9eaa55b0a552d9753122c16f9470779e2ed8ffec\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": "8ec576b7abfc01ac99f3542d29a86ddc3533541b",
      "tree": "0a5f9b632ca91d056c2bc4b06399361ccdf1703f",
      "parents": [
        "988393f76077ebe699cd9d13c7c2804a5da23eb1",
        "a1185162c486651b856f3cb5ced219b67be735bf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 05 18:08:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 18:08:16 2019 +0000"
      },
      "message": "Merge \"Camera: Only report dynamic depth tag related errors\""
    },
    {
      "commit": "988393f76077ebe699cd9d13c7c2804a5da23eb1",
      "tree": "bdb118dfea77963960be629d118b53d47c50a767",
      "parents": [
        "0435a4dcb66366da53cf4544c941a40ed2b9c2bd",
        "f949ddde2b4d1c986b847676f8bd9ad8364ebd4b"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Feb 05 17:55:03 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 17:55:03 2019 +0000"
      },
      "message": "Merge \"cameraserver: Add support for hiding secure cameras.\""
    },
    {
      "commit": "d64607b6a79c235b7daaa7e3fe3002270f1ede1c",
      "tree": "fac60e4f298a716530dd616342ead44b68f07aaf",
      "parents": [
        "81c75b410ebab27152f2c39fcb6d703ee8d6c0e7",
        "21cb47be5a6b0170c3a6cea57d13a9c6fcbf03da"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 04 22:02:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 22:02:21 2019 +0000"
      },
      "message": "Merge \"Camera: fix cleanupFailedRequests + HAL buffer manager path\""
    },
    {
      "commit": "21cb47be5a6b0170c3a6cea57d13a9c6fcbf03da",
      "tree": "7bdda77377bda38b562b76af5d23d1916f25f6bb",
      "parents": [
        "6512d900a8e1af55f9bf6be5f37bd7f3d7ddbe27"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 18 15:08:17 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Feb 04 12:19:04 2019 -0800"
      },
      "message": "Camera: fix cleanupFailedRequests + HAL buffer manager path\n\nTest: crash fixed\nBug: 120986771\nChange-Id: I3f7031b0a2db30dfbdcf0522dec1c0d6dc9ab26b\n"
    },
    {
      "commit": "26af1a51efb42d3b6a5ed76bd307bba9cd636bfe",
      "tree": "bcf9cf14ad35fdfc358ccab5f33029486804de5c",
      "parents": [
        "464a1f3f00320bdd603e6f2d0b069280fe1b11f4"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Fri Jan 25 06:57:01 2019 -0800"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Mon Feb 04 11:48:48 2019 -0800"
      },
      "message": "Camera: Remove thread that keeps HAL service alive for extra delay\n\nhwservicemanager now guarantees clients will be held for ~5s before the\ncallback onClients(false) is called and they are allowed to exit.\n\nTest: On walleye_svelte, manually observe camera behavior and the\n      lifetime of the lazy camera service process.\n\nChange-Id: Iafbdd73f439da3a4f0fecb069e356d30aa2732b5\n"
    },
    {
      "commit": "63f3611018857754d60a176783133371bae5f009",
      "tree": "a867c7939bd6c855c013144401e5ccdebb20f9c6",
      "parents": [
        "7de66a0e2fc5d37e22710583e88be5aa53e6ed5b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Dec 06 14:57:03 2018 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Feb 01 16:15:13 2019 -0800"
      },
      "message": "Camera service: Support for device state change notifications\n\nAdd AIDL method for device-wide physical state updates (such as\nfolding/unfolding), and wire it up to the new camera provider HAL call.\n\nAlso clean up camera provider startup sequence - devices were being enumerated before\nthe new lazy HAL interface pointers were set up, resulting in many repeated calls\nto getService even for a non-lazy HAL.\n\nAlso add unit test for CameraProviderManager to verify its section of\nthe callpath, as well as tests to check that the provider HAL and\nhardware service manager aren\u0027t queried more than expected during\ninitialization.\n\nTest: atest cameraservice_test\n\nChange-Id: I5ec60fd9d93b7a2fe4d1a5854fad720a972fe8ea\n"
    },
    {
      "commit": "a1185162c486651b856f3cb5ced219b67be735bf",
      "tree": "0658410f267e10cb42178f9314269b9ebc5d22b0",
      "parents": [
        "af87b707107ccab0b7a29bd784c9025606960c56"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Jan 30 16:41:43 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Jan 30 17:09:02 2019 -0800"
      },
      "message": "Camera: Only report dynamic depth tag related errors\n\nFailing to add dynamic depth camera characteristics\nmust not have any additional side effects for the\ndevice info constructor.\nIn case we encounter any issues report the failure and\ntry to continue with the intitialization.\nAdditionally fix a minor typo and remove a debug log.\n\nBug: 123660999\nTest: Manual using application,\nCamera CTS\nChange-Id: I7b4e723ce3bcaf0e5d4c313ba17bca965e8964d8\n"
    },
    {
      "commit": "f949ddde2b4d1c986b847676f8bd9ad8364ebd4b",
      "tree": "8772f413703528cff344d72d192094a98ab395cd",
      "parents": [
        "88cc9a5fbc2fc8acd37f10816fcc5c39cfd8bad5"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Jan 29 14:34:11 2019 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jan 30 15:27:20 2019 -0800"
      },
      "message": "cameraserver: Add support for hiding secure cameras.\n\nBug: 123046494\n\nTest: Sanity -\u003e GCA\nTest: Hardcode all cameras hidden, AImageReaderVendorTest passes, GCA\n      cannot find cameras.\n\nChange-Id: I7780751101c660e47d84627ec191f43d268f1aa9\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "07095df02a11678cf4637ead28bc5c8c5d27db2a",
      "tree": "4230c9ea7c8b0ab1fbf782c70eb602276b0b8230",
      "parents": [
        "ed6addb0dba071c2830df161c0c273cda449ea5c"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Jan 29 06:28:58 2019 -0800"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Jan 29 06:28:58 2019 -0800"
      },
      "message": "DepthCompositeStream: Fix erase() in error case\n\nWe had a typo for which vector we were erase()ing from in an\nerror case.  We fix that typo here.\n\nTest: TreeHugger\nChange-Id: Id1d38a5c1955e19415ca2e1c84a3f58763bf83c8\n"
    },
    {
      "commit": "cbf174b59307290e4c80947232feedb4cc9c0c26",
      "tree": "b0f8827388ee27877d4b1786e8f8b8f4f7a252fe",
      "parents": [
        "538c90e79d06f99e8a2dda4b1ccf3a5e46062934"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 25 14:38:59 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Sun Jan 27 19:58:55 2019 -0800"
      },
      "message": "Camera: Link dynamically to Depth photo library\n\nMove all depth photo specific processing in a separate\nlibrary and link to it dynamically.\n\nBug: 109735087\nTest: Camera CTS\nChange-Id: I00a20b26fc9a1d127ad962a36b5b554dd36f0d41\n"
    },
    {
      "commit": "538c90e79d06f99e8a2dda4b1ccf3a5e46062934",
      "tree": "ea9226aea37c9790b69b587d1650b80d89fb5909",
      "parents": [
        "4c6d2b5c41bc6f233e281d227e26f16f5f49ae26"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Dec 17 18:03:19 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 25 11:05:10 2019 -0800"
      },
      "message": "Camera: Add DepthCompositeStream\n\nAdd the necessary logic to support dynamic depth metadata.\n\nBug: 109735087\nTest: Manual using application,\nCamera CTS\nChange-Id: Ic4710872dc596bc718270e1c79d4da53fb850875\n"
    },
    {
      "commit": "4c6d2b5c41bc6f233e281d227e26f16f5f49ae26",
      "tree": "d1c8753dfd21489968b673be4a36c1e85a76c698",
      "parents": [
        "45b005c624c8178d42fa7ba518b7a7d23fd47c68"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 04 17:13:56 2019 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 25 11:05:10 2019 -0800"
      },
      "message": "Camera: Add support for dynamic depth if possible\n\nComposite dynamic depth streams will be supported\nin case camera devices include:\n- Dense depth streams which are not exclusive.\n- Jpeg/Blob output with sizes that either match depth\n  or are with similar aspect ratio.\nMake a guesstimate regarding the dynamic depth minimum\nframe and stall durations.\n\nBug: 109735087\nTest: Manual using application,\nCamera CTS\n\nChange-Id: I8a89c7895cf57ce4408e41b1afae9c85d48c4e07\n"
    },
    {
      "commit": "d1d435a76bc728e3e0883d525c2cf34f32c6517d",
      "tree": "1ab4ebe95e1593ebee4b5a020e8595153a0f328e",
      "parents": [
        "abf2929e8d084d2ca99d4d8712abbf31c2cb5178"
      ],
      "author": {
        "name": "Michael Groover",
        "email": "mpgroover@google.com",
        "time": "Tue Dec 18 17:39:42 2018 -0800"
      },
      "committer": {
        "name": "Michael Groover",
        "email": "mpgroover@google.com",
        "time": "Thu Jan 03 21:30:13 2019 -0800"
      },
      "message": "Prevent camera access when sensor privacy is enabled\n\nTest: Manually verified apps cannot use the camera when sensor privacy \\\n      is enabled.\nBug: 110842805\n\nChange-Id: Ic3fed8272e90f3f64e0f6c342569c27e1a476014\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": "538d53267bee085e08d489546bde620520b5b188",
      "tree": "ad1f76cc15a1b1f1b6ccc223884e651a321ce77d",
      "parents": [
        "7dac08bb5b0750188e4cc5ffcf6330c1351cd759",
        "c9584831bc346189dbc09e3301111d74a4c8602d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 13 15:34:27 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 13 15:34:27 2018 -0800"
      },
      "message": "Merge \"Fix performance-for-range-copy warnings\" am: 1ce37f1de3\nam: c9584831bc\n\nChange-Id: Ie1ce6c4e3f89aaec185947473cdd437fb5d2cb63\n"
    },
    {
      "commit": "1ce37f1de3f7185ccffd4d9145b036941a582fe4",
      "tree": "f9bc06168767ceabcc6c1732e4bf4a3d24abf802",
      "parents": [
        "ebd8c69ac531cfcb6aa05a96e8cba604008bd6f0",
        "3ef324d11cc4b6f84c147998fcf02c3a528fc2b8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 13 21:28:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 21:28:33 2018 +0000"
      },
      "message": "Merge \"Fix performance-for-range-copy warnings\""
    },
    {
      "commit": "18343452006468a83457b9623b082f64fb479169",
      "tree": "1999a7d544c9bd5b1b4c09a536f0199fd93f1805",
      "parents": [
        "c6b48fe6272db5d3ca910598565c2b48b547ce7f",
        "0cf77658fa992cef0247484ba6b43526a9d2d571"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 13:59:12 2018 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 13:59:12 2018 -0800"
      },
      "message": "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master\n\nBug: 120502534\nChange-Id: Ifdd73b6dfcf3791fb8dae2b1796a34bb56aea190\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": "a29c135cab39ff25d8394d0fa31e0ab2c0d08d6a",
      "tree": "3880f5ca39c8dfd7652ba05e44822097f0b3178d",
      "parents": [
        "b7bd4383c9dbebc0d094b33cfe0fc4b8f9b313b2"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Wed Oct 10 12:05:42 2018 -0700"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Mon Dec 10 09:25:04 2018 -0800"
      },
      "message": "Camera: Support lazy HALs\n\nDrop camera HAL references when unused.\n\nUse ro.camera.enableLazyHal property to toggle behavior on or off.\n * If true, the cameraserver drops references to ICameraProvider HALs\n   when they are not being used for either camera or torch.\n * If false (or unset), stores a strong reference to each ICameraProvider\n   that is registered. This is the same as the old behavior.\n\nBug: 79374634\nTest: Apply CL that lets camera HAL exit when unused. Open camera/enable\n      torch, close camera/disable torch, check ps -A to see if HAL exits.\nChange-Id: I1842f9bf9e862ab74e4ec8aa72fc46fc47782ed0\n"
    },
    {
      "commit": "b7bd4383c9dbebc0d094b33cfe0fc4b8f9b313b2",
      "tree": "079524972e446f49b4466190028da97bf2393f94",
      "parents": [
        "1b3c907bb2cb9d1e2f91baf37709d935f687bf96"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Thu Nov 15 17:19:48 2018 -0800"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Fri Dec 07 13:29:21 2018 -0800"
      },
      "message": "Camera: Remove superfluous hardware::camera\n\nTest: Ensure camera works as before\nBug: 79374634\nChange-Id: Ie8f0da2ec6e6b855329983a2ec39ef2acf0f3eff\n"
    },
    {
      "commit": "1b3c907bb2cb9d1e2f91baf37709d935f687bf96",
      "tree": "e7449d196f98e8906851fe7e4763097fbe5972e9",
      "parents": [
        "0422892023dcd4616f00028fd223fef056bc0e16"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Wed Nov 07 12:41:53 2018 -0800"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Fri Dec 07 13:29:21 2018 -0800"
      },
      "message": "Camera: Setup vendors tags when initializing ProviderInfo\n\nAdd new VendorTagDescriptor member to ProviderInfo, allowing it to cache\nthe descriptor\n\nTest: Use torch, camera, and run cameraservice_test\nChange-Id: Iba5af5dc890b3188a9e55ff5c71421aceec14cbb\n"
    },
    {
      "commit": "b852e79b827e0a78f9ea20ab44603031dcc8f1b5",
      "tree": "577bc16842688d7b377174c308ea98370b600aac",
      "parents": [
        "3989f64995b4a5ff4da651dcc8207f41bcdffc1e",
        "639ed1204cec08fe779d11728d1ae33c90c3151e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 07 00:50:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 00:50:05 2018 +0000"
      },
      "message": "Merge \"Camera: VNDK: Fix deferred endConfigure due to missing sessionParam\""
    },
    {
      "commit": "639ed1204cec08fe779d11728d1ae33c90c3151e",
      "tree": "0c92425cf4d99bda246d22535cce3df49e6bdfac",
      "parents": [
        "f4a342abd2959904caa18b5a0671e8107581ff24"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 06 14:42:52 2018 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 06 14:46:03 2018 -0800"
      },
      "message": "Camera: VNDK: Fix deferred endConfigure due to missing sessionParam\n\nIn case the app doesn\u0027t provide sessionParameters, the VNDK should still\nallow endConfigure() to be called to the camera service.\n\nTest: Run test app and observe camera streams properly\nBug: 120505813\nChange-Id: Ifa72dca61b8e25cd433d2c02c70b1c8e5e097228\n"
    },
    {
      "commit": "71738ebf94589faa5aef3c1ba8d53cd17b7fec0f",
      "tree": "f2b932fdd7a713db6ef4a74dc7c442c2764deae1",
      "parents": [
        "4d58d4d8c750c01b9435b95ffdb5552c663aae76",
        "35ae826b8d002b5045e208106a38354d86aed01d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 06 12:33:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 06 12:33:31 2018 +0000"
      },
      "message": "Merge \"Camera: Add support for stream combination query\""
    },
    {
      "commit": "e8c8b4359835a12a3d1bf84f281c36bce031bb33",
      "tree": "cac3af958f25ed4f7163b8ddfe2134a957aafc9b",
      "parents": [
        "6b6a0f05248fc646d42f09cb891d8b6fda19426e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 17 10:08:02 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 03 16:28:21 2018 -0800"
      },
      "message": "audio policy: implement uid state management for capture\n\nReceive app state updates from ActivityManager and use it to implement\nconcurrent capture policy.\n\nBug: 111438757\nTest: Manual test with solotester app concurrently with Camera, Duo and\nAssistant\n\nChange-Id: I979ad4ecc8b926abb64e1b321b43bd7bd442a8f1\n"
    },
    {
      "commit": "db0532ba88de07e3ee8aa48db31e0ed5b5eff903",
      "tree": "2a3a8cae54830536a0eb30b089c3ba268803d184",
      "parents": [
        "55bb8a1dcce15a931c35d3705afe19c52d06f881",
        "8cf929268cdb2cede142ebca0932fa4ac59d0f60"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 28 16:30:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 16:30:00 2018 +0000"
      },
      "message": "Merge \"cameraserver: Allow cameraserver HIDL interface to get provider ids with VendorTagSections.\""
    },
    {
      "commit": "fcbaf540db0fb0adf70962067977d04582d5dc78",
      "tree": "14eb995ac0ab752e6993d570c1f9514fd6015600",
      "parents": [
        "71085b5a772c4b50ce80692a6268713bd2eae585",
        "05ca87ccf43d0f39881af9e30d3a88d7b7f28d70"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Nov 27 15:36:10 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 27 15:36:10 2018 -0800"
      },
      "message": "Merge \"Camera: Do not update state at HAL starts up if state already exists\" am: c3ee35f339\nam: 05ca87ccf4\n\nChange-Id: Ie7e5ab214485ab8eda9f3630a7df78486d1e0921\n"
    },
    {
      "commit": "c3ee35f339ce6b67f8e3b17f48a2dc0f9959db3f",
      "tree": "39ba3e062194bed351e55c488dda8787e2a59ed8",
      "parents": [
        "9a4842894af7b5b7db4f152ddd1420660876c36f",
        "e1aedc5a83ba7cc1d2849b5c6d6272e29bc7fe51"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 27 23:15:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 23:15:03 2018 +0000"
      },
      "message": "Merge \"Camera: Do not update state at HAL starts up if state already exists\""
    },
    {
      "commit": "b1e11d229957a67fb3592edb372ecf506b65d15d",
      "tree": "d501e8503500bc315565d0d39c218d24ddffafdf",
      "parents": [
        "11da03b75cdefb3bd34f4f5caf7aa7904d22d67a",
        "6407c30275b986fdb172a12588c822161ae578c0"
      ],
      "author": {
        "name": "Lei Yuan",
        "email": "leiyuan@asrmicro.com",
        "time": "Tue Nov 27 09:32:25 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 27 09:32:25 2018 -0800"
      },
      "message": "Merge \"Camera: update Intent firstly at api1 capture with device3\" am: 792a7e94a5 am: fd99b9f7fc\nam: 6407c30275\n\nChange-Id: Iccfb2cd5181f79549b9b268c01168fcebaa9976b\n"
    },
    {
      "commit": "e1aedc5a83ba7cc1d2849b5c6d6272e29bc7fe51",
      "tree": "e9d84108fe5d06f1ab7a0cf8287356eb3337cf63",
      "parents": [
        "18697362534415319b635dbdc96bfb43769b327a"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Nov 20 10:04:08 2018 -0800"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Tue Nov 27 17:29:53 2018 +0000"
      },
      "message": "Camera: Do not update state at HAL starts up if state already exists\n\nThis is to handle lazy hal, where cameraserver doesn\u0027t know HAL goes\naway.\n\nTest: Observe that the between QS Torch Tile and Camera App is correct.\nBug: 79374634\nMerged-In: I2f802b1c409ba3581f0fcacfc0ac5f6059391139\nChange-Id: I2f802b1c409ba3581f0fcacfc0ac5f6059391139\n"
    },
    {
      "commit": "6407c30275b986fdb172a12588c822161ae578c0",
      "tree": "823f8f4cf74305f159f722582e4bdaec2918e1d5",
      "parents": [
        "0cbe83b72c89c71a945f022fac50442ffe433a05",
        "fd99b9f7fc8be77f125e6048bfa2b58f97e43f16"
      ],
      "author": {
        "name": "Lei Yuan",
        "email": "leiyuan@asrmicro.com",
        "time": "Tue Nov 27 09:24:16 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 27 09:24:16 2018 -0800"
      },
      "message": "Merge \"Camera: update Intent firstly at api1 capture with device3\" am: 792a7e94a5\nam: fd99b9f7fc\n\nChange-Id: Ia5c92a287b516750a9513de0284f61374b0abe06\n"
    },
    {
      "commit": "950eca05791b92d6d7e6838317077b4d01064633",
      "tree": "68e2260641ae33363e3a78cfe997eaf47b2a0df5",
      "parents": [
        "45214bb80ed49a14cf8661f093016166148794fc",
        "6ba3f5e527169386472f0fb0b8ccd3184ecfd435"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 27 16:58:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 16:58:24 2018 +0000"
      },
      "message": "Merge \"Camera: Do not update state at HAL starts up if state already exists\""
    },
    {
      "commit": "792a7e94a5238d352cb4eb2707884d796d6af85b",
      "tree": "fd8973031922233b314be2c443b261e6a79c26ff",
      "parents": [
        "18697362534415319b635dbdc96bfb43769b327a",
        "1e8baa298c6ddf98a0834cb9f30d1796b607c4cc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 27 16:50:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 16:50:50 2018 +0000"
      },
      "message": "Merge \"Camera: update Intent firstly at api1 capture with device3\""
    },
    {
      "commit": "8b3299d514cdd9f219c7fd50980d3fc949572077",
      "tree": "79e967f1b43fa63e878944ae5d54113366a32040",
      "parents": [
        "7fd4312a952f063e292cbf500e121aefc654d33d",
        "644a3e1cb3287a5a863968998fd77efccc915241"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 27 08:40:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 08:40:51 2018 +0000"
      },
      "message": "Merge \"Camera: Clear camera 3.5 device session\""
    },
    {
      "commit": "1e8baa298c6ddf98a0834cb9f30d1796b607c4cc",
      "tree": "9889785f493337cb4ac82cee45ccde8e7e3ecb3b",
      "parents": [
        "4462ff08c41880644903702e4734cda7a320aadd"
      ],
      "author": {
        "name": "Lei Yuan",
        "email": "leiyuan@asrmicro.com",
        "time": "Wed Nov 21 10:50:37 2018 +0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Nov 26 20:04:11 2018 +0000"
      },
      "message": "Camera: update Intent firstly at api1 capture with device3\n\ncapture fps range depend on intent which is different between still capture and video snapshot.\n\nBug: 119841034\nChange-Id: Ib7c653c5f32c451631f208bf7353c06340c43b18\nSigned-off-by: Lei Yuan \u003cleiyuan@asrmicro.com\u003e\n"
    },
    {
      "commit": "644a3e1cb3287a5a863968998fd77efccc915241",
      "tree": "e8a8c0277c5b04695f1490d1d450ef1167d2c673",
      "parents": [
        "c9f262d6ac1712ddf384062950ddf0ec5737c392"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Nov 23 13:52:39 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Nov 23 15:39:48 2018 +0000"
      },
      "message": "Camera: Clear camera 3.5 device session\n\nCached 3.5 HIDL session needs to be released\nin order to destroy the session implementation\non provider side.\n\nTest: Camera CTS\nBug: 119939541\nChange-Id: I8b4c403b7bb9f3ac481e240701b5aaad505fdf2e\n"
    },
    {
      "commit": "6b9e098335aaaf582d1cdb0ea145c3d56095cdb5",
      "tree": "a74722b242d3c497cffd074ea74e6b019716e55a",
      "parents": [
        "5928ec9661758549cbda50710a152050136d5ddc",
        "b52b64c88068eb4d4240d8a4c32779094681b071"
      ],
      "author": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Thu Nov 22 14:27:19 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 22 14:27:19 2018 -0800"
      },
      "message": "Merge \"remove linking against aidl enum\" am: 4a084f536f\nam: b52b64c880\n\nChange-Id: I94246360002ea8aebd3eda80272b6f697d0eeffc\n"
    },
    {
      "commit": "4a084f536f84ebee3f807aa84a6e1b1576b6d010",
      "tree": "7ac2c7b5088a51e82dc5c4743b92948c94d96f41",
      "parents": [
        "a1270b044b4cc3447cb5b47af55a21638599475c",
        "cf461b20567bc2ed110a7d0b88529829f7a37291"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 22 22:06:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 22 22:06:02 2018 +0000"
      },
      "message": "Merge \"remove linking against aidl enum\""
    },
    {
      "commit": "8cf929268cdb2cede142ebca0932fa4ac59d0f60",
      "tree": "b17a63b8076a83a003c901257f3d7757f2c2632d",
      "parents": [
        "aee8f2951ea72719721e6d9944575f242356f14d"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Nov 19 15:45:17 2018 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 21 15:24:56 2018 -0800"
      },
      "message": "cameraserver: Allow cameraserver HIDL interface to get provider ids with VendorTagSections.\n\nBug: 110364143\n\nTest: mm -j64\nTest: AImageReaderVendorTest (sanity)\nTest: GCA (sanity)\n\nChange-Id: Iddcd5c1edb6cbe4b83968f01e46056a30c720219\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "70da577d31190279f8950a7d546539ef1bacb1fb",
      "tree": "3cb77646d3ab44a58f1a922ee8aa19506d0b35ea",
      "parents": [
        "aee8f2951ea72719721e6d9944575f242356f14d"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Nov 20 18:50:31 2018 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 21 12:39:04 2018 -0800"
      },
      "message": "cameraserver: Fix AIDL-\u003eHIDL conversion for CaptureResultExtras.\n\nBug: 119838731\n\nTest: AImageReaderVendorTest\n\nChange-Id: Iccfaa953a27faf450bc88e0505dcb9d66af0597a\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "aee8f2951ea72719721e6d9944575f242356f14d",
      "tree": "3664a54061e8cf7584d8dbd8f1a172df106e4f41",
      "parents": [
        "fc88cd718da0b07a821791bc3e7b0de069d85805",
        "e0bb61b64b14eabd8ab8c7667ba2a7ab4a82b7e1"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 21 20:08:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 21 20:08:23 2018 +0000"
      },
      "message": "Merge changes from topic \"cameraserver-remove-libmediandk\"\n\n* changes:\n  camerserver: Remove dependency on libmediandk.\n  libmediautils: move AImageReader_getHGBPFromHandle from libmediandk.\n"
    },
    {
      "commit": "e0bb61b64b14eabd8ab8c7667ba2a7ab4a82b7e1",
      "tree": "28b76267cbdb99920d724d62e676fee1abb44c19",
      "parents": [
        "32b4f494fb4c032a8c9e8f3b8c9ed1d7ccd8ef22"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 14 23:59:12 2018 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 21 12:06:27 2018 -0800"
      },
      "message": "camerserver: Remove dependency on libmediandk.\n\nlibmediandk brings in many unneeded dependencies which results in\nan abnormal increase in vss. AImageReader_getHGBPFromHandle has been\nmoved to libmediautils.\n\nTest: mm -j64\nTest: showmap \u003cpid of cameraserver\u003e vss before change: 50628\nTest: showmap \u003cpid of cameraserver\u003e vss after change: 31256\n\nChange-Id: I4de95d08ae514c252a1e01f3b03e0021c821b72a\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "aa1b815ead94f8c393ec62b7ed1842d4f788418d",
      "tree": "107bd6238da853cb2ade5c70aa79af00cce17bb1",
      "parents": [
        "f7a3e19bcbe2436ebcd7f324032e9775064a45ce"
      ],
      "author": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Wed Nov 21 10:02:25 2018 +0900"
      },
      "committer": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Wed Nov 21 07:56:19 2018 +0000"
      },
      "message": "fix indentation for coding rule\n\nfollow the coding convention(line width, indentation)\n\nTest: m -j\nChange-Id: I617392e88bb772909e45f3a77809c9074b74cff8\n"
    },
    {
      "commit": "cf461b20567bc2ed110a7d0b88529829f7a37291",
      "tree": "04a66a8305a327297f7b5e65fdc5bb965a397426",
      "parents": [
        "a3354a219068001848efa811a6cdf96c08b318bc"
      ],
      "author": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Sat Nov 17 05:08:04 2018 +0900"
      },
      "committer": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Wed Nov 21 05:59:19 2018 +0900"
      },
      "message": "remove linking against aidl enum\n\nusing transaction id directly is not recommended\nso remove permission check in onTransact() and add it into notifySystemEvent()\n\nBug: 119525871\nTest: m -j\nChange-Id: I0f2feb5204876fa9b56b9cdb096f25d2226025ec\nMerged-In: I0f2feb5204876fa9b56b9cdb096f25d2226025ec\n"
    },
    {
      "commit": "13f6f2a23a116e23af5ce3224fbcfd4e6a869b90",
      "tree": "ad47eb876dea488341fd4b778e51c2f10542a705",
      "parents": [
        "61592c6dee7fb86d660b6d1b4c88c660acb928d6",
        "aa5e64c79deef2b40a77ff4be59ea41befbfa616"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 20 19:01:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 20 19:01:31 2018 +0000"
      },
      "message": "Merge \"remove linking against aidl enum\""
    },
    {
      "commit": "6ba3f5e527169386472f0fb0b8ccd3184ecfd435",
      "tree": "c9726c4cb38534a4e6d9abdf3cb6e064d3fef9a2",
      "parents": [
        "c40d87ea8409b23e6326ffe2233e02a99ecfac15"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Nov 20 10:04:08 2018 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Nov 20 10:13:42 2018 -0800"
      },
      "message": "Camera: Do not update state at HAL starts up if state already exists\n\nThis is to handle lazy hal, where cameraserver doesn\u0027t know HAL goes\naway.\n\nTest: Observe that the between QS Torch Tile and Camera App is correct.\nBug: 79374634\nChange-Id: I2f802b1c409ba3581f0fcacfc0ac5f6059391139\n"
    },
    {
      "commit": "eb8b659add93161d169edbe1f94243939df953a6",
      "tree": "57c1c755a9db1c00e66af9a78d9413bf2d38e411",
      "parents": [
        "ce4afa6ca3a2cc61ff2855fd062c8c49a8ec86ca",
        "110342bd776c2a96a8a7a168a34dbca91843ee16"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 19 22:14:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 19 22:14:37 2018 +0000"
      },
      "message": "Merge changes Ic2684098,I48c26abc\n\n* changes:\n  Camera: check stream state in useHalBufManager mode\n  Camera: fix RequestBufferStateMachine bug\n"
    },
    {
      "commit": "110342bd776c2a96a8a7a168a34dbca91843ee16",
      "tree": "2c9ca5ac9c8fcf0dc17a6621421651ca6a505846",
      "parents": [
        "8a4ccb0274032d23fccae6469cf2e5ca81597ffc"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Nov 19 11:47:46 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Nov 19 11:47:46 2018 -0800"
      },
      "message": "Camera: check stream state in useHalBufManager mode\n\nTest: Surface abandon CTS test fixed.\nBug: 109829698\nChange-Id: Ic2684098e129702f0ad8d8ce0af04a5195f29881\n"
    },
    {
      "commit": "c514e5467caa77730c40874ee72869c13c533647",
      "tree": "c233ca75c6625f7d33e05098e4ea50aec75eb412",
      "parents": [
        "340d378c87ea9581b807286db78bcc627658a6ce",
        "20d6cbf0b16c5d7cf81d6f4d1cfe4c2e93720a13"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Nov 19 01:54:14 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 19 01:54:14 2018 -0800"
      },
      "message": "Merge \"Camera: Relax maximum Hal buffers and acquired count check\" am: 6bff4d55bf am: a0f9adaf25\nam: 20d6cbf0b1\n\nChange-Id: I8e987a9324f24ce38846a628480d601367f147ae\n"
    },
    {
      "commit": "20d6cbf0b16c5d7cf81d6f4d1cfe4c2e93720a13",
      "tree": "6b485d294d7e9030b54ac652285a62f875288d4b",
      "parents": [
        "644bdbcbcf6578825d50244e402a487d01112c5c",
        "a0f9adaf25f1a1a75a32aa1f0843f44ea904c159"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Nov 19 01:49:15 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 19 01:49:15 2018 -0800"
      },
      "message": "Merge \"Camera: Relax maximum Hal buffers and acquired count check\" am: 6bff4d55bf\nam: a0f9adaf25\n\nChange-Id: I96b594a7ae6151425aa6c6429ec31ad8db516ba0\n"
    },
    {
      "commit": "6bff4d55bf5a904e00cc9f2d189925d64ebdd6fd",
      "tree": "d9663f96fd6273a56119d584d8cd299d037cb746",
      "parents": [
        "e18577838e64c7eb505d8a7aa5c8accad1af717e",
        "f63f1d906a1a9bdc86685df1ca77674ba0486cba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 19 09:40:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 19 09:40:39 2018 +0000"
      },
      "message": "Merge \"Camera: Relax maximum Hal buffers and acquired count check\""
    },
    {
      "commit": "aa5e64c79deef2b40a77ff4be59ea41befbfa616",
      "tree": "6f2257609c96bc91e0340e001a5117f637cd4c0e",
      "parents": [
        "eacf0137cfef6efc1df0bb80e4e168b34e2e38a4"
      ],
      "author": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Sat Nov 17 05:08:04 2018 +0900"
      },
      "committer": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Sat Nov 17 10:48:53 2018 +0900"
      },
      "message": "remove linking against aidl enum\n\nusing transaction id directly is not recommended\nso remove permission check in onTransact() and add it into notifySystemEvent()\n\nBug: 119525871\nTest: m -j\nChange-Id: I0f2feb5204876fa9b56b9cdb096f25d2226025ec\n"
    },
    {
      "commit": "8a4ccb0274032d23fccae6469cf2e5ca81597ffc",
      "tree": "5f295b6deb31442a6f4447d9899776a3f13f0e4a",
      "parents": [
        "651fe2e9b41bfd2dbda967af42ed34360914197c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Nov 16 15:43:36 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Nov 16 15:43:36 2018 -0800"
      },
      "message": "Camera: fix RequestBufferStateMachine bug\n\nThe old implementation only toggle idle when waitUnitlDrained\nis explicitly called, but there are some cases where\napplication don\u0027t need to call waitUntilDrained but can still\nexpect the device goes into idle.\n\nTest: CTS on Pixel3 equipped with webcam HAL\nBug: 109829698\nChange-Id: I48c26abcc9c2f1263c2360611c935fc317745e59\n"
    },
    {
      "commit": "08feec53d2d7760bb6639dc4c93b33f0bd51b79c",
      "tree": "7b0f53bee4ebf84f5cc2f6cef5abc486cc60e1a7",
      "parents": [
        "c74fafab6db73b0ee7adbba937c502d1806df5b9",
        "651fe2e9b41bfd2dbda967af42ed34360914197c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 18:11:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 18:11:05 2018 +0000"
      },
      "message": "Merge \"Camera: fix bug in useHalBufMgr mode\""
    },
    {
      "commit": "651fe2e9b41bfd2dbda967af42ed34360914197c",
      "tree": "3255739c268e7f4db24df817e31f94a0c8fd2a18",
      "parents": [
        "58b1b4ec8d71ef86afde643832dcfdbf4bbe4bda"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Nov 13 11:49:31 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Nov 14 14:10:01 2018 -0800"
      },
      "message": "Camera: fix bug in useHalBufMgr mode\n\nTest: smoke test in TestingCamera\nBug: 109829698\nChange-Id: Ifca425aa934e7330dcb07ccf3312c28a99588319\n"
    },
    {
      "commit": "35ae826b8d002b5045e208106a38354d86aed01d",
      "tree": "a02af8be0bb7fca6305333e2136e94d650e42bdb",
      "parents": [
        "54cbc29870372ef9d5763c2a86d86508bc351d1b"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Nov 08 13:11:32 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 14 18:17:58 2018 +0000"
      },
      "message": "Camera: Add support for stream combination query\n\nSupport runtime \"SessionConfiguration\" queries by camera\nclients.\n\nBug: 111593096\nTest: adb shell /data/nativetest64/camera_client_test/camera_client_test\n--gtest_filter\u003dCameraClientBinderTest.CheckBinderCameraDeviceUser,\nCamera CTS\nChange-Id: I1505e7bccdce468490b46ad4546e459354a4cda3\n"
    },
    {
      "commit": "f2f38ba77d0426070223e8bb6932fb846c4da76e",
      "tree": "378de9d4b9b869cc66088a3ec4f5a74158da64b2",
      "parents": [
        "f8274c19f9ad04d652e36288d2e3be4f6df9bece",
        "0c94727f29ed3702406a34662951bc307bac00d4"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Nov 13 18:31:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 18:31:36 2018 +0000"
      },
      "message": "Merge changes from topic \"cameraserver-hidl-impl\"\n\n* changes:\n  cameraserver: Implement HIDL ICameraDeviceUser and ICameraDeviceCallbacks.\n  cameraserver: Implement AIDL wrapper class for HIDL ICameraServiceListener.\n  cameraserver: Implement HIDL ICameraService skeleton.\n"
    },
    {
      "commit": "ba92a60c8c322e0f795513c2eb67a42c7ae0b3c5",
      "tree": "f7acc5d9d6d74c815da6cca6ef058e51f20c4dd6",
      "parents": [
        "0d06f2d04fdfda9dedf12e42568028dc17e2d138",
        "268a136c680d8734911e36e4b883ce8d5a09f181"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 13 15:27:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 15:27:10 2018 +0000"
      },
      "message": "Merge \"Camera: Improve monochrome camera capability support\""
    },
    {
      "commit": "268a136c680d8734911e36e4b883ce8d5a09f181",
      "tree": "551b7db0d608c113332896360724d9b1d00b4171",
      "parents": [
        "3197ffaa800bbe17e783e8a2322134eb0500eab2"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Oct 16 16:32:59 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Nov 12 16:30:57 2018 -0800"
      },
      "message": "Camera: Improve monochrome camera capability support\n\n- Add dummy CFA pattern for monochrome camera.\n- Handle monochrome camera in DngCreator.\n- Fix up static and dynamic metadata tags related to monochrome camera\nfor older version of devices.\n\nTest: Camera CTS\nTest: Capture a DNG file and inspect with LightRoom\nBug: 70216652\nChange-Id: I68d2b3d77b7f81bdc9e4129c2a8af10a4f18db3b\n"
    },
    {
      "commit": "da0c1f2ca3e860997844eb146524887f96583d9f",
      "tree": "0953361779ed5551b3cefa65243eba4b5fa8dc7b",
      "parents": [
        "3197ffaa800bbe17e783e8a2322134eb0500eab2",
        "58b1b4ec8d71ef86afde643832dcfdbf4bbe4bda"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 12 22:52:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 12 22:52:55 2018 +0000"
      },
      "message": "Merge \"Camera: handle HAL buffer manager + stream sharing case\""
    },
    {
      "commit": "d16cbe1e18d0e717be1534ec0837e19b16e8c1a3",
      "tree": "ec69e6201a5e33bfd57ab0214e33c1f85ec8bb17",
      "parents": [
        "040eaf1dd9a59ca636283415b1bf272bc5e06cf5",
        "f20dd6b779d0e156dccabb6d56b769eb5d6f5f5c"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Nov 12 14:23:18 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 12 14:23:18 2018 -0800"
      },
      "message": "Camera: Don\u0027t drop preview buffers during video\nam: f20dd6b779\n\nChange-Id: I4c57e0658ed72b8dd6462fcf5637119118c880bd\n"
    },
    {
      "commit": "b98450a73820e26178f97e9232e2bbee53194d99",
      "tree": "3cbb821c3d7deff1949a2a7618cb98067a2d753b",
      "parents": [
        "581d835eaea60e9a4d0e194cdde1a55292eebaa0",
        "040eaf1dd9a59ca636283415b1bf272bc5e06cf5"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Nov 12 13:57:56 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 12 13:57:56 2018 -0800"
      },
      "message": "Merge \"CameraService: Fix missing torch state callback\" am: 5a80267cc4 am: 28c5bca5a9\nam: 040eaf1dd9\n\nChange-Id: I7fded40f84985919bf58a549fe59b2510f9ef5f3\n"
    },
    {
      "commit": "040eaf1dd9a59ca636283415b1bf272bc5e06cf5",
      "tree": "a46382c5690a2bd28be8eeb04c8e93268845f5cd",
      "parents": [
        "1bc4a8634b6376587f5cc479ee17215377e4676e",
        "28c5bca5a9802e1997269b270c0efb8c99d19227"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Nov 12 13:38:57 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 12 13:38:57 2018 -0800"
      },
      "message": "Merge \"CameraService: Fix missing torch state callback\" am: 5a80267cc4\nam: 28c5bca5a9\n\nChange-Id: I2942facaf5b979d86ac3ae89c449730b5581b818\n"
    },
    {
      "commit": "581d835eaea60e9a4d0e194cdde1a55292eebaa0",
      "tree": "9580b8aded200dcfbd1bb8755f684469e84a0db4",
      "parents": [
        "ef4bd9c42575c4e35c9c3e26d0a40ad0db6a6465",
        "30ab5ed62fecb96078fb8ece767a66ef794bcb12"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 12 21:19:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 12 21:19:42 2018 +0000"
      },
      "message": "Merge \"Camera: prevent requestStreamBuffers break IDLE state\""
    },
    {
      "commit": "58b1b4ec8d71ef86afde643832dcfdbf4bbe4bda",
      "tree": "9620815e54b1e6822a8b2620825a6482bc0612d0",
      "parents": [
        "30ab5ed62fecb96078fb8ece767a66ef794bcb12"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 15 12:18:36 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Nov 12 10:50:13 2018 -0800"
      },
      "message": "Camera: handle HAL buffer manager + stream sharing case\n\nTest: CTS MultiViewTest\nBug: 109829698\nChange-Id: I98a7438d6bb9c01f95ae69c7556d7ed965629410\n"
    },
    {
      "commit": "30ab5ed62fecb96078fb8ece767a66ef794bcb12",
      "tree": "78299ab52c528c7ddeb8495e5582b7da87e95573",
      "parents": [
        "7447f0fc15347d0fe4d5cda256fe680c50391a93"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Oct 12 15:57:04 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Nov 12 10:50:08 2018 -0800"
      },
      "message": "Camera: prevent requestStreamBuffers break IDLE state\n\nTest: CTS\nBug: 109829698\nChange-Id: Ib9092e4e6b7d6cee2fbd96a3209e3b760f9fdaf0\n"
    },
    {
      "commit": "0c94727f29ed3702406a34662951bc307bac00d4",
      "tree": "8ad977ae9261032f3d758140f57ac39fa5e56edf",
      "parents": [
        "94f79a96b6374b8e83c6eaea6e1fc554002743c3"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Aug 15 14:42:04 2018 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Nov 12 09:13:36 2018 -0800"
      },
      "message": "cameraserver: Implement HIDL ICameraDeviceUser and ICameraDeviceCallbacks.\n\nBug: 110364143\n\nTest: (build) mm -j64\n\nChange-Id: I2164b9ffacb3c00404a5a6506a4b6631663ee4c7\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "94f79a96b6374b8e83c6eaea6e1fc554002743c3",
      "tree": "0406acb747a46fc01c9c3ac7586524e5699eaa8e",
      "parents": [
        "be543d41191ab6354b32b446565c4f1b4c6f75f2"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Aug 15 13:57:17 2018 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Nov 12 07:50:30 2018 -0800"
      },
      "message": "cameraserver: Implement AIDL wrapper class for HIDL ICameraServiceListener.\n\nBug: 110364143\n\nTest: (build) mm -j64\n\nChange-Id: Ibf1da18d0fac5ddaab5da8df52c4183b3aaadbfc\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "be543d41191ab6354b32b446565c4f1b4c6f75f2",
      "tree": "7d52c2501f00e1f961e13edef8d2c7273f7c4c57",
      "parents": [
        "158ce41988f3706465514265eed1d7e4b6fb123c"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Aug 15 13:16:14 2018 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Nov 12 07:50:24 2018 -0800"
      },
      "message": "cameraserver: Implement HIDL ICameraService skeleton.\n\nImplement basic ICameraService HIDL functions, along with HIDL\u003c\u003d\u003e AIDL\ntype conversions.\n\nBug: 110364143\n\nTest: (build) mm -j64\nTest: lshal-\u003eandroid.frameworks.cameraservice.service@2.0 shows up\nTest: Sanity-\u003e click pictures using GCA.\n\nChange-Id: I44c2a96b1ccc05941d075e2bdeb94a8378d53c67\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "f2a6e8ca6d7dad8d3929068538124b8faedda697",
      "tree": "b8f21b2f6b3e88f33ab7710051cc3dbbe0e94f84",
      "parents": [
        "c077b0ad74481ed5d2c5a02735f38d02bcc1a0f3",
        "7447f0fc15347d0fe4d5cda256fe680c50391a93"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sat Nov 10 00:30:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 10 00:30:39 2018 +0000"
      },
      "message": "Merge changes I6f75c28f,I3561b197,I3d957922\n\n* changes:\n  Camera: implement signalPipelineDrain API\n  Camera: synchronize mOutputStreams access\n  Camera: implement buffer managment API\n"
    },
    {
      "commit": "7447f0fc15347d0fe4d5cda256fe680c50391a93",
      "tree": "3e87dee9acd49315973a22e4a2079588623e9fb3",
      "parents": [
        "4ee35438095692be67245afb5100384b558bac71"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Oct 11 15:28:12 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Nov 08 10:58:28 2018 -0800"
      },
      "message": "Camera: implement signalPipelineDrain API\n\nSignalPipelineDrain will be sent after the request\nthread has stopped sending capture requests so\nHAL can expect no more capture requests are sent\nafter they receive this call.\n\nTest: CTS\nBug: 109829698\nChange-Id: I6f75c28ff0998a8edc80f9af9ebe727c585ea6e9\n"
    },
    {
      "commit": "4ee35438095692be67245afb5100384b558bac71",
      "tree": "b3297e5f145dd0c00447361898b587c1b3492e6f",
      "parents": [
        "d5cd5ffe3ada6b71818d9957bd7ca68b10e54268"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Oct 10 13:52:31 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Nov 08 10:35:47 2018 -0800"
      },
      "message": "Camera: synchronize mOutputStreams access\n\nmOutputStreams access used to be protected by mLock, but that has\nchanged due to:\n   - Treble interface switched from passing stream pointer to\n     stream index\n   - The buffer management API runs in HAL callback thread\n\nTest: CTS\nBug: 109829698\nChange-Id: I3561b197f46f07d2a15bb4f52b096f36c73a0407\n"
    },
    {
      "commit": "d5cd5ffe3ada6b71818d9957bd7ca68b10e54268",
      "tree": "453088b96fa46fd9e8a43154add309a36456db12",
      "parents": [
        "0b28757873bdd37a537d7d820408d6bf98e6c35a"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 01 14:43:04 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Nov 08 10:32:30 2018 -0800"
      },
      "message": "Camera: implement buffer managment API\n\nTest: compile\nBug: 109829698\nChange-Id: I3d95792282da52db9db6fd6a086bbd7b3ff9dca9\n"
    },
    {
      "commit": "f63f1d906a1a9bdc86685df1ca77674ba0486cba",
      "tree": "dccef221935799024851912626a62ca483529a50",
      "parents": [
        "b8fd364d0a0e23317c1fbc5055800bbeee3ba349"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Nov 06 16:33:29 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Nov 08 17:16:04 2018 +0000"
      },
      "message": "Camera: Relax maximum Hal buffers and acquired count check\n\nFor some resolutions input HeifWriter surfaces have much higher\nacquired buffer count compared to the maximum Hal buffer for the\nrespective use case. From the tests so far shared streaming doesn\u0027t\nseem to be affected by the imbalance and the splitter is able to\nsupport this case.\n\nBug: 110161669\nTest: Camera CTS\nChange-Id: I129221b0f35e45c8b26f27f94910a6edda8d675b\n"
    },
    {
      "commit": "71fb1a8ce526868a1b36058a1a27260946f83d59",
      "tree": "421763ce137b5fd8e1de9df184d9bc1c4581c97a",
      "parents": [
        "99d67ef5a5db05e5d281ac11900e22c24e25fd95",
        "0505d7c2c40a4b1c57360640b79e326a9c4283dc"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Nov 07 22:54:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 07 22:54:03 2018 +0000"
      },
      "message": "Merge \"Camera: Use recommended configs for shim supported parameters\""
    },
    {
      "commit": "7d859d43560b03ec092d781db9b00bb3eb48d55f",
      "tree": "87c145db086f2c9e89a52fcaaf96b9959cb2815b",
      "parents": [
        "4d16ee4f1092960f58ecaec03beb5ff10898ade3"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Nov 06 15:33:23 2018 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Nov 06 15:36:32 2018 -0800"
      },
      "message": "CameraService: Fix missing torch state callback\n\nIn case HAL process crashes, addStates() should still send torch state\ncallback to the app if observer is registered.\n\nTest: Kill HAL process and observe Flashlight icon in quicksettings\nTest: Camera CTS\nBug: 117949686\nChange-Id: Icee1891ef3993ebb0e7eed2dc281db8cd6106e84\n"
    },
    {
      "commit": "824d1ff69c0487ee8ecdb8836ebfd056c2daf83e",
      "tree": "4b54172d81a3bd0b90aea22d963cf8704e68905b",
      "parents": [
        "ce7ed8bab094fffe2cd01a9955a4eb8f1edc2439",
        "e71a799bf7ac3418200a9d6035b268cdc1362322"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Nov 01 05:50:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 01 05:50:38 2018 -0700"
      },
      "message": "Merge \"Camera: Consider the currently acquired input buffers\" am: fc0fa0c91b am: 55982d66b6\nam: e71a799bf7\n\nChange-Id: I6a0cd4d8cb3843237979bac419f4bf0c4a9c6f82\n"
    },
    {
      "commit": "e71a799bf7ac3418200a9d6035b268cdc1362322",
      "tree": "a88ca3250d8c4464fd2273d582e13d8f02f20c01",
      "parents": [
        "b01c17d57d366def26e711b746bfdaa7710d7522",
        "55982d66b693d5c2cb389fdcfc6c23f504bed9a7"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Nov 01 05:40:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 01 05:40:55 2018 -0700"
      },
      "message": "Merge \"Camera: Consider the currently acquired input buffers\" am: fc0fa0c91b\nam: 55982d66b6\n\nChange-Id: I93a5fb02746d502dcd2ce63d8a6f77cad83bd21c\n"
    },
    {
      "commit": "6e2ba3f8c454f7fc2c2f8c3619ce818ad715c02e",
      "tree": "0d9cbb2e8af8ebe572731edc90c4f39300625796",
      "parents": [
        "fec151edf5e525c8d8f2a448d1e080d90b63e3a6"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Oct 25 12:36:52 2018 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Nov 01 10:04:18 2018 +0000"
      },
      "message": "Camera: Avoid device sync during capture if possible\n\nCurrently we always sync using the latest request id\nbefore standard capture. The purpose is to avoid\nsending triggers and 3A mode settings out of sync to\nHal. However during regular capture the precapture\ntrigger is not always used so we should be able to\nskip the device sync in this case. This can enable\ncapture requests to arrive in Hal with one preview\nframe earlier.\n\nBug: 79682338\nTest: Camera CTS\nChange-Id: I9ea0b03968266d5c8f1e187358f13a21d394ff90\n"
    },
    {
      "commit": "f20dd6b779d0e156dccabb6d56b769eb5d6f5f5c",
      "tree": "bff85bb8d23173df41fd890bdf3d793bf3bd885c",
      "parents": [
        "70a12185ecb780a1cf523d28ed4128ae67b341bd"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Oct 15 16:28:06 2018 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Oct 30 10:06:27 2018 +0000"
      },
      "message": "Camera: Don\u0027t drop preview buffers during video\n\nIn case the camera device supports ZSL, avoid dropping\npreview buffers while video recording is active. Preview\nmust not get interrupted in this case.\n\nBug: 117640175\nTest: Manual using application, Camera CTS\nChange-Id: I9021b4c46428e008298ddef0a86972640b0afa41\nMerged-In: I9021b4c46428e008298ddef0a86972640b0afa41\n(cherry picked from commit 6c79c9aa7fe61ea81a154f5c92f96b34889029a0)\n"
    },
    {
      "commit": "0505d7c2c40a4b1c57360640b79e326a9c4283dc",
      "tree": "7c859f2a6c204de8053973d7a468224b339c483d",
      "parents": [
        "49fb89d3a0853ef77ecd533bec586abc65754857"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Sep 19 15:13:08 2018 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Oct 23 12:50:50 2018 +0100"
      },
      "message": "Camera: Use recommended configs for shim supported parameters\n\nThe legacy camera shim layer currently uses various heuristics\nin order to determine valid supported preview/video/snapshot\nsizes and formats. This makes the code complex and in some\ncases the result is not optimal in terms of power and\nperformance. If the camera supports recommended stream\nconfigurations, then use the suggested stream\nconfigurations to generate the above supported lists.\n\nBug: 64029608\nTest: Camera CTS\nChange-Id: I6ed1d50b3d1a854421f3d119be2e32211e8a4c35\n"
    },
    {
      "commit": "f130ad79e6b2beff56a1fcd4f218872513da1070",
      "tree": "f52e7190b3d9df4e0c3d37db64cf7bbfb5b59b3a",
      "parents": [
        "efd99ec863f5a69f20dfacea3f6f4835962c5362"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Oct 11 11:03:07 2018 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Oct 22 15:41:25 2018 +0000"
      },
      "message": "Camera: Consider the currently acquired input buffers\n\nThe maximum acquired count of the input buffer queue during surface\nsharing should be set considering the total maximum acquired count of\nindividual registered outputs and also the current acquired count\nof the input buffer queue. The reason the two can be different is\ndue to the fact that individual outputs can acquire and also block\nbuffers from the input. The latter portion contains all buffers\nwhich are still queued but not acquired. This can happen in case\nsome output acquires the maximum amount of buffers possible then\nstops consuming entirely and the camera client continues to reference\nit in subsequent capture requests.\nTo handle this, track the number of acquired buffers in the input\nqueue and expand (or contract) the maximum acquired count only if\npossible. The maximum shouldn\u0027t change otherwise because the blocked\nbuffers could still be used by the unresponsive output at some\nlater point in time.\n\nBug: 117982710\nTest: Camera CTS\nChange-Id: Ia4e743efdf59cb0c9baaea492f78c37d0f2c95b3\n"
    },
    {
      "commit": "0a0c0278c7c89f0b6a9b5ec75ab13c052d95a4e7",
      "tree": "c63571ff7fdd5831b2869dce777b9e1dbaf8ca8f",
      "parents": [
        "8c6dd4e4208df831066be8ccd1fd937d1ee12e72",
        "6c79c9aa7fe61ea81a154f5c92f96b34889029a0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 19 12:02:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 19 12:02:48 2018 +0000"
      },
      "message": "Merge \"Camera: Don\u0027t drop preview buffers during video\""
    },
    {
      "commit": "99f5cb42b9e603e62d5a6e585959e2eee0ca8872",
      "tree": "b0aa174c564c704b039c460274351bab1ec37b68",
      "parents": [
        "1fc768da202add530f5130889ebac61296ee7b68",
        "0b28757873bdd37a537d7d820408d6bf98e6c35a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 16 01:05:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 16 01:05:40 2018 +0000"
      },
      "message": "Merge \"Camera: use streamIdx as SurfaceMap index\""
    },
    {
      "commit": "0b28757873bdd37a537d7d820408d6bf98e6c35a",
      "tree": "ae3e0934e7c72049b557896a1eb8011c21b4436a",
      "parents": [
        "d48b9c77751fa41a2ed36aae890cea2dbe218460"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 15 12:38:13 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Oct 15 12:42:31 2018 -0700"
      },
      "message": "Camera: use streamIdx as SurfaceMap index\n\nTest: surface sharing CTS tests\nBug: n/a\nChange-Id: I69d59f716b25a4e912e09626a48d8050a6227b31\n"
    },
    {
      "commit": "6c79c9aa7fe61ea81a154f5c92f96b34889029a0",
      "tree": "b3b2cac1f4cf559ac3c06f27c16e950bfee25e4c",
      "parents": [
        "41e08e5ad644cb379876cf508f80c94e024af45c"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Oct 15 16:28:06 2018 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Oct 15 16:31:41 2018 +0100"
      },
      "message": "Camera: Don\u0027t drop preview buffers during video\n\nIn case the camera device supports ZSL, avoid dropping\npreview buffers while video recording is active. Preview\nmust not get interrupted in this case.\n\nBug: 117640175\nTest: Manual using application, Camera CTS\nChange-Id: I9021b4c46428e008298ddef0a86972640b0afa41\n"
    },
    {
      "commit": "b5be68edecd62d8edbf86fd4858d1ceb81a74b6c",
      "tree": "74ce0f1dd1f94b3418ecf3594cea6029ae95fc7e",
      "parents": [
        "1c152226bcfaa32d1e1e95168157fe99048d424a",
        "7db171bf8d532cd473ce90de68817c0d3a88af54"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 12 17:19:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 12 17:19:10 2018 -0700"
      },
      "message": "Merge \"Fix implicit fallthrough warnings.\" am: fe9d6ef9f3 am: 0085e651da\nam: 7db171bf8d\n\nChange-Id: I0b3eb93a95489b6c2446cae6e3fe757f1910caf8\n"
    },
    {
      "commit": "7db171bf8d532cd473ce90de68817c0d3a88af54",
      "tree": "3ac95b9140dda707eb9a077cd1f98aab7ed80bfa",
      "parents": [
        "58a839d2c0d62e49b905e87dc97e689a1fd2f9d6",
        "0085e651dae4dba9c613e4ff9b3a451cf19eabac"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 12 17:12:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 12 17:12:17 2018 -0700"
      },
      "message": "Merge \"Fix implicit fallthrough warnings.\" am: fe9d6ef9f3\nam: 0085e651da\n\nChange-Id: Icbb9c918c838cbf2740ef4a6e9362644dea443dd\n"
    },
    {
      "commit": "0085e651dae4dba9c613e4ff9b3a451cf19eabac",
      "tree": "c4ce850bf54e5a465d1d80693b677e5c7ada00f6",
      "parents": [
        "eccb7a7e88367adcb8779ff44ece7a1784628a4f",
        "fe9d6ef9f34b014afc2045b3915b3cd3691eed37"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 12 17:05:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 12 17:05:07 2018 -0700"
      },
      "message": "Merge \"Fix implicit fallthrough warnings.\"\nam: fe9d6ef9f3\n\nChange-Id: Ib7f6babfe80bcfe22881f5a6879304f16b44ba6a\n"
    },
    {
      "commit": "5ff7710c0976dec093df1920849bc71ebed498dd",
      "tree": "5e6987c3f88e49006e2619b10c46e1bcaf9a9446",
      "parents": [
        "50c5673394117cafdd430a31368f24b990fefaec"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 12 15:19:00 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 12 15:19:00 2018 -0700"
      },
      "message": "Fix implicit fallthrough warnings.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: I9da3446928e62ffaa9a7bc91c0bb3fcb26aca3af\n"
    }
  ],
  "next": "1e91e0ea18e4c267b54ae2e14c8c9f0a013188a7"
}
