)]}'
{
  "log": [
    {
      "commit": "49aac43b4a323a8702d93b7cf878252905dc3987",
      "tree": "125099fef354312c7b63a7a8e13e0ca10ae1f4b4",
      "parents": [
        "123efa3d1b317c3e055205827113e6f78603107c"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Nov 01 15:24:29 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Nov 01 19:31:03 2016 -0700"
      },
      "message": "Camera API1: don\u0027t pick wrong preview fps value\n\nBug: 32556975\nChange-Id: I69eb18abe191ae0f1e76f8b62daaf5717cce9669\n"
    },
    {
      "commit": "84eb96049ce0690334530ad916e22d6933c0223b",
      "tree": "43f1b52fb8aab29b5f37412536e373821eef9f12",
      "parents": [
        "4f5dc7799f082d77e399d8beee7b017a02755cf6"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Oct 31 13:27:52 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Oct 31 13:27:52 2016 -0700"
      },
      "message": "Camera API1: relax the fps check with some margin\n\nSome HALs may advertise slightly larger min frame durations, which\nmakes the supported fps check fail. Then, some supported fps range\nmay be missing in the supported preview fps range list.\n\nBug: 32544699\nChange-Id: I1ed62b97d3d39e5d7f0e7c407c6cc482b8968373\n"
    },
    {
      "commit": "4f5dc7799f082d77e399d8beee7b017a02755cf6",
      "tree": "466bc6e41b266d3c97a4173e036b0c4c8d1135d7",
      "parents": [
        "59e9ca734f4d33fa1698466cdb2b66ab4ea1b82b"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 26 14:34:40 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 26 16:32:30 2016 -0700"
      },
      "message": "Camera API1: filter out the unsupported preview fps range\n\nThe advertised supported preview fps ranges need to be supported\nby all preview sizes. This change does the check to make sure the\nAPI1 doesn\u0027t over-advertise its capability.\n\nBug: 32360340\nChange-Id: Iccd13967305f1d0a62b89da87070591bfb973bbf\n"
    },
    {
      "commit": "d17567dcae35bef4635766c408c23e6fa4abf33a",
      "tree": "489d2168187045b7360fcd7a25fa5d30d484ed5e",
      "parents": [
        "d44ade926e137941596a51d5005f9deabde0ca9c",
        "e4df8abe28ca2da39dcacc4f3396ba9aea7cfdb3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 18 22:40:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 22:40:26 2016 +0000"
      },
      "message": "Merge \"Camera3Device: Wait for empty in-flight map when waiting for idle\" into nyc-mr1-dev"
    },
    {
      "commit": "90f7c37361c22f86bd3d63d22c27fbea34c188e1",
      "tree": "5f4f092af79056faf9962d9aa7d4de77cd845a31",
      "parents": [
        "15223ec262f8f1135be6ee727a480dd4a04457e7"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Aug 16 16:19:43 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Aug 16 16:27:55 2016 -0700"
      },
      "message": "Camera3Device: add prop to disable sched fifo\n\nto disable sched fifo:\nadb root\nadb shell setprop camera.fifo.disable 1\n\nBug: 30898724\n\nChange-Id: Ic3d1d15f9deb36b49e7d710d60fac969a98a1730\n"
    },
    {
      "commit": "e1c8063521b0645b091b080d896106b2e6fd8670",
      "tree": "c654bdea51c62cd6b15df075604fd44bfc805521",
      "parents": [
        "cd05b9a27a35fcf840de2554bd35f279bddf597d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Aug 08 14:48:05 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Aug 08 14:48:05 2016 -0700"
      },
      "message": "Camera: use wp for NotificationListener\n\nBug: 30737827\nChange-Id: I01b8bee39fe329bf250b9179a84a8928d209a357\n"
    },
    {
      "commit": "e4fe21bb7cef893cd38bd194ea880333389aea38",
      "tree": "f11a6522c9bfe08156124a3e0a2ddf2f5e22d901",
      "parents": [
        "fa1e123f3fffe1eb3d6c284e19014815835e22d6"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Aug 04 12:42:40 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Aug 04 12:47:21 2016 -0700"
      },
      "message": "CameraService: Notify flashlight about device close\n\nAlways notify flashlight about device close when device is\ndisconnected.\n\nBug: 30485086\nChange-Id: Id537c32413f4df9d12c405538ceab2974d3ab319\n"
    },
    {
      "commit": "f0645c19a8c8433766f4cb6edff7fca5db8017bf",
      "tree": "a2b109f9ca90986d8fd53ff94de6866af376dfad",
      "parents": [
        "2da394d6ea122c0521a2f3fffe2bbfc75405f4be"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Aug 02 00:58:11 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Aug 02 19:10:58 2016 +0000"
      },
      "message": "Camera3: don\u0027t let dequeueBuffer block indefinitely\n\nThe synchronous consumers (e.g. ImageReader) may be very slow when the\nclients have computational intensive image processings. When system\nload is high, these processing will be even much slower. This could\nstarve the producer side and then cause dequeue/attach buffer block\nindefinitely. If clients intends to close the capture session, right\nafter a capture request is submitted, the waitUntil drain could be\nblocked indefinitely if the capture request dequeue buffer call is\nblocked indefinitely, as the request thread will never become idle until\nthe last dequeue buffer is done and the request is sent.This indefinite\ngetBuffer() blocking could easily trigger the waitUntilDrained 5s timeout\nthus put the camera device into error state although there is nothing\nbad happening in the HAL.\n\nIntroducing the timeout will avoid such bad situation. When consumer is\nslow, there will be no new request being sent to HAL, as there is really\nno new buffer available.\n\nBug:30404840\nChange-Id: Ibf08d2745911203bce6f31130800707f36d7f985\n"
    },
    {
      "commit": "7ee4c0778c75a54cccf5ce82bd296e0dadcccb24",
      "tree": "2719734a0bdbebd03e3cf02b4696ec38d328f24e",
      "parents": [
        "de0613d0ad8b8fb9d19a27185ae4d307a5b7fb9d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 25 13:52:28 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jul 26 19:59:39 2016 -0700"
      },
      "message": "Camera3Device: make request thread SCHED_FIFO for all cases\n\nTo mitigate the request thread CPU starvation for system highly loaded\nsituation.\n\nBug: 30357698\nBug: 28313712\nChange-Id: Ied30103ce7245e139580219cce99d743b657307e\n"
    },
    {
      "commit": "e4df8abe28ca2da39dcacc4f3396ba9aea7cfdb3",
      "tree": "9ff96d50457832f530e436f37905e4a2e24084f8",
      "parents": [
        "a6c2f96018533e24f44480f5336e56cc98f0a341"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 21 12:53:07 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 21 12:53:07 2016 -0700"
      },
      "message": "Camera3Device: Wait for empty in-flight map when waiting for idle\n\nCurrently we only wait for the request queue to be idle, and for\nall outstanding buffers to be returned to their queues and their\nfences triggered.\n\nBut we also need to wait for result metadata to arrive for all\nin-flight requests.  This is simplest to check for by monitoring\nentries in the in-flight map and signaling idle/active to the\nstatus tracker when the map becomes empty/nonempty.\n\nBug: 30282459\nChange-Id: I34275b0fdb4f279783291d300707ac21a6aa5249\n"
    },
    {
      "commit": "4d453830b6a8fb7571a88a9a241eabd50a483c44",
      "tree": "8cde39560a9a84e3b1807e2fe3cc1346c50feb68",
      "parents": [
        "cecb30a22f3657483f07f259231b81b02b2a7305"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 15 11:56:53 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 18 11:09:08 2016 -0700"
      },
      "message": "Camera3Device: Add dumpsys monitoring of request/result metadata\n\nAdd new -m dumpsys option to cameraservice dump for monitoring\nchanges in selected metadata values in requests and results.\n\nThis option takes a comma-separated list of metadata keys, or the\nshortcut value \"3a\", which expands to all the \"android.control\" tags.\n\nIn subsequent dumpsys calls, the last 100 changes to the tags being\nmonitored are listed.\n\nThe monitoring must be turned on once the camera device is running.\n\nBug:\nChange-Id: If8938b30611ccafa86c2c4a06e57fc72680f827b\n"
    },
    {
      "commit": "24edc3b919777167c7f5c2a356c972d0ecbfd9b7",
      "tree": "87c52952873bb90f165805cef4f12a8c5feb0ed3",
      "parents": [
        "ed61dd87524387e9121bbf9633674ebd155ba85f",
        "af9d030e075e659e9f50fdd143aa83459a7795e2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 08 21:02:49 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 08 21:02:51 2016 +0000"
      },
      "message": "Merge \"Camera service: Trust telephony service to forward client UIDs.\" into nyc-mr1-dev"
    },
    {
      "commit": "af9d030e075e659e9f50fdd143aa83459a7795e2",
      "tree": "8fccc7bc56b932c75a53dad67d9361f283ced88b",
      "parents": [
        "b343e0444a3420321c606a827347f18445d76385"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 29 14:40:10 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 08 11:28:17 2016 -0700"
      },
      "message": "Camera service: Trust telephony service to forward client UIDs.\n\nFor video telephony use cases, trust callers from the telephony\nservice to forward the true client UID in the connect calls, so\nthat it can be verified for access.\n\nBug: 27616192\nChange-Id: Icd3ff4f7c8686f74a0677f54d49579b95c69037e\n"
    },
    {
      "commit": "8e73af9bcea96bc90afa7451c6014333fc51b655",
      "tree": "f126561d5e3b0dfa0d97df586fb6799909903e0c",
      "parents": [
        "b343e0444a3420321c606a827347f18445d76385"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 07 17:44:22 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 07 17:44:22 2016 -0700"
      },
      "message": "Camera1: JpegProcessor: Do not lock until we have to\n\nJpegProcessor::onBufferReleased is fired for both successful and failed\nJpeg captures, but only cares about the failures.\n\nIn success cases, onBufferReleased is always fired some time after\nonFrameAvailable, and sometimes the thread scheduling pushes\nonBufferReleased to be so late that preview restart has started, which\ncan cause a deadlock with onBufferReleased acquiring locks in the\nopposite order that preview startup will.\n\nTo fix, move the JpegProcessor mutex acquire to only happen in the error\ncases, in which case onFrameAVailable will not have fired, and the\ncamera state will still be STILL_CAPTURE, not STOPPED or mid-preview\nstartup.\n\nBug: 29524651\nChange-Id: I3f103e070c3b39c38117b91824cd79c5dfc757ac\n"
    },
    {
      "commit": "c451d0f8098c9efd21d796e32f739af1915f9aba",
      "tree": "73246c15eba4cb5db8604476af93d4f4ac8ba227",
      "parents": [
        "bb3bee86d56930752cfef5197cd67c4495a946e6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 30 17:17:35 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 01 14:31:50 2016 -0700"
      },
      "message": "Camera: API1: Improve ZSL mode activation heuristics\n\n- Don\u0027t engage ZSL if picture size is too small\n- Don\u0027t engage ZSL if picture size matches preview size\n- Include ZSL choice in dumpsys\n\nBug: 29620318\nChange-Id: Ie8e0c5a9e1ed9f177d701f22996c4c1f4b81a71e\n"
    },
    {
      "commit": "fe82275a06f0ace675482b23ee2cb685d2628af1",
      "tree": "eb2270d84bdb4ba685ff8bf9cd11d195babb85e5",
      "parents": [
        "fd75b28a114aeb5f4c02a3c5c8f41fc80051b354",
        "b889242affec0f669408f2ad58bd7fb3d44a05a2"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 29 00:54:38 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 29 00:54:38 2016 +0000"
      },
      "message": "Merge \\\"Camera3Device: Correctly shut down abandoned streams\\\" into nyc-dev\nam: b889242aff\n\nChange-Id: I50fd0619dec5488dbeadb903b95e5bd4e5980f61\n"
    },
    {
      "commit": "ff51b47dae1c236291a0508b29e8f4e7d0780761",
      "tree": "7388d7ab90032db64771e2f2d30bf8afb650396b",
      "parents": [
        "6e70614750e8100f86fb4cb0f010b49aef39b3a1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 28 15:26:19 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 28 15:26:19 2016 -0700"
      },
      "message": "Camera3Device: Correctly shut down abandoned streams\n\nIf a stream was abandoned (consumer died), the stream teardown would\nterminate early. Update teardown conditions to complete even for the\nabandoned state.\n\nOne consequence of this is that the buffer manager never received an\nunregister call for the stream, leading it to error out when trying to\nremove buffers from it.\n\nAlso switch to STATE_ABANDONED in case of an error detaching a buffer,\ninstead of the error state.\n\nBug: 29778464\nChange-Id: I44de69773e8bbf9ebe83207498d6ee0674ed91bf\n"
    },
    {
      "commit": "7b171a9e7be64e9881ed03baad1422d75ca768a4",
      "tree": "c8212a048895a1fd646dedcc732dc6906a1c0583",
      "parents": [
        "36ff576ec7d23dc40f46c379ef0a3281d35112af"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Jun 24 16:05:52 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Jun 24 16:05:52 2016 -0700"
      },
      "message": "Camera3: log a warning when frame drop occurs\n\nBug: 28311997\nChange-Id: I7253fb040c1f08c18fc7a01042503e9457163a1e\n"
    },
    {
      "commit": "e8a984e43504890e0f676256a0445b9917a2af91",
      "tree": "fbbf92929438537ef1e8929d9ebc77c0e219cf4c",
      "parents": [
        "9ec10a72bf56471a8afea7b8a7aaa705ef7d7cca",
        "77c1a3554275a51ac8eb9fbe86f476afc8983192"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 17 22:14:01 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 17 22:15:06 2016 -0700"
      },
      "message": "resolve merge conflicts of 77c1a35 to nyc-mr1-dev\n\nChange-Id: I18c301c55904c06b3f6f5d8eaa2df47ff87ddb4f\n"
    },
    {
      "commit": "77c1a3554275a51ac8eb9fbe86f476afc8983192",
      "tree": "cc4d10cda5fe4a2e47c2745c260195b43c0827c9",
      "parents": [
        "37a9de26f6403955a19b81ce5ffe87998e9bf46e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 13 12:32:43 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 17 17:32:18 2016 -0700"
      },
      "message": "Camera: BufferManager: Don\u0027t attach/detach on every frame\n\n- Maintain separate count of attached buffers\n- Only attach when new buffers need to be allocated\n- Only detach when a buffer needs to be freed\n- Fix missing notification initializations\n- Remove warning that\u0027s always logged\n\nBug: 28695173\nChange-Id: I38e997fa1e69c2b8743e43eed31a6a08a6f9cd7a\n"
    },
    {
      "commit": "2591f8308729b8f7b5d669d774cdac5636731535",
      "tree": "17ae94b1984d624c2145405512e68f598d52aa6f",
      "parents": [
        "1978994a117f0bac69e7b17af6ffe1dc9e632272",
        "642c0275dc438d37ee9e7929260145eaa8c88780"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jun 13 22:06:13 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 13 22:06:13 2016 +0000"
      },
      "message": "Merge \\\"CameraDevice3: Fail stream configuration more gracefully\\\" into nyc-dev\nam: 642c0275dc\n\nChange-Id: I5a6eee36000d2f4f0666abb0189369ba20d8e44d\n"
    },
    {
      "commit": "9b5860bd84adb5c7d497f188b5e6ade7f066ba3c",
      "tree": "5a237702f98ad626a31244f8224b43c6c19f5ed8",
      "parents": [
        "09b5fd9cbfa3dd968ad1a5614afd1d538043a711"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Jun 10 13:39:09 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jun 13 12:28:28 2016 -0700"
      },
      "message": "CameraDevice3: Fail stream configuration more gracefully\n\nIf stream configuration fails, do not set the device status to\nSTATUS_ERROR except when HAL returns a fatal error. This allows\nthe application to try another configuration after one fails.\n\nBug: 29248970\nChange-Id: Iffa4b734c13b79a7da95be994a6317002627d771\n"
    },
    {
      "commit": "aedd66764b713c5e56e911f45a43a1a44d3dee70",
      "tree": "0da4f25f64ba142b056a791dfed0777f42175b73",
      "parents": [
        "8dffbc8ef53d861d5c5ae1350ad1a26aefe53c60",
        "86823e4d1fc81fabdf4baf95d7635768bb9677ba"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Jun 03 20:22:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 03 20:22:47 2016 +0000"
      },
      "message": "Merge \"Camera3Device: Prepare video stream for high speed\" into nyc-dev\nam: 86823e4d1f\n\n* commit \u002786823e4d1fc81fabdf4baf95d7635768bb9677ba\u0027:\n  Camera3Device: Prepare video stream for high speed\n\nChange-Id: Ia81057ad033d89a3e705c1d9ee661bd365853f19\n"
    },
    {
      "commit": "c66969beb346b878701c4adccf83a1475c3a0687",
      "tree": "5f879b0628a3a7d96bae85d6836647f5704ca798",
      "parents": [
        "aaa28debcb0d2475d065a467281d1cc77c7c4aca"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu May 19 16:37:51 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jun 02 17:28:10 2016 -0700"
      },
      "message": "Camera3Device: Prepare video stream for high speed\n\nPrepare video stream for high speed recording on the first video\nrequest to avoid buffer allocation after video recording starts.\n\nBug: 28246165\nChange-Id: Iaf41c6b779e5b689f568453d99a9058c8aec3881\n"
    },
    {
      "commit": "5d677d1f0879d5101e38df480a38228a64d63959",
      "tree": "eb8724a33f7f422d4dd0914e206c19948fc4da68",
      "parents": [
        "827388ba4fd8d5e859858dbb29ced986b9ed77f4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun May 29 16:52:39 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jun 02 15:42:57 2016 -0700"
      },
      "message": "Camera3: add deferred surface support\n\nInitial native implementation and aidl changes for surfaceless support.\n\nBug: 28323863\nChange-Id: Id6634c3ef2ecc84422a88f63de0a19a0cb496e96\n"
    },
    {
      "commit": "473fad9a5767e86ee9dbbffe0dfee10c7ad45a45",
      "tree": "4b3535073ff0be3700ff9f72c98f24426b30c8f6",
      "parents": [
        "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 23 15:54:41 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 23 15:54:41 2016 -0700"
      },
      "message": "Camera: fix deadlock\n\nDo not hold request lock while executing client callback.\n\nBug: 28821274\nChange-Id: Ibbdae7f892a54abd0b6d87d2295e9863983e1cf7\n"
    },
    {
      "commit": "855c20283de5eab6798c76ffd4ea86bd6754a7fb",
      "tree": "09304379297e065ddaf1cb3f0c64b123df6a3085",
      "parents": [
        "98268270da9e728f706d4d44260950dc5d1ed6c4"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 10 13:39:25 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 10 13:39:25 2016 -0700"
      },
      "message": "Camera: fix recording stream update logic\n\nBug: 28695248\nChange-Id: I43d2d456cab84b378507979bad89c8c1f5b86b58\n"
    },
    {
      "commit": "4afbdecf8c6dc5ad04f6fa6c8712ce2c56a00c47",
      "tree": "86b63273b28da8a766546c980186884ed5303867",
      "parents": [
        "d99b20af28220bcdb67d75691c7113d3f0514bea"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed May 04 15:42:51 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed May 04 22:46:50 2016 +0000"
      },
      "message": "Camera: update service to support HAL3.4\n\nWe need support HAL3.4 device in cameraservice.\n\nBug:28599474\nChange-Id: Ibad0249349335d78557820429439e71eceba259e\n"
    },
    {
      "commit": "2d13b1d3eeaba31d8c15acc6037fd68b150a9a66",
      "tree": "697328a5049f2f91ff6cf30a7ae7ae7bf5adc1b0",
      "parents": [
        "c5e8b6b792abd029e3f7fedf0ca2f705d6c8d222"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Apr 28 12:11:20 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 29 17:27:30 2016 -0700"
      },
      "message": "Camera: Fix passing video native handle for 64-bit app\n\nAdd new binder calls to pass video native handle so the video native\nhandle can be passed between 32-bit and 64-bit processes.\n\nRemove problematic code that used IMemory to pass video native\nhandle because the sizes of VideoNativeMetadata are different in\n32-bit and 64-bit processes.\n\nBug: 28403412\nChange-Id: I3341b1812ecc41d61846bb72ca926ecb1674c9ec\n"
    },
    {
      "commit": "c1e0154940f84014967f9f611d22ad85a01be7cb",
      "tree": "28ad2914f349566cb32eee5ee3d822bf2d9780ec",
      "parents": [
        "bb6ac1823f7a3d74fbfac841dc74da556f05d2e7",
        "c9ca6788c65ed3f578d1a1ed0ba7c268254dcb4b"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Apr 27 00:32:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 27 00:32:33 2016 +0000"
      },
      "message": "Merge \"Camera: Use separate lock for mStreamingRequestId\" into nyc-dev"
    },
    {
      "commit": "bb6ac1823f7a3d74fbfac841dc74da556f05d2e7",
      "tree": "27a0043cfb5f5e37fc0a81ee65c5e141e1bfa55c",
      "parents": [
        "89b3068ff2819c37db5a3af280f927183fe56849",
        "34713c04b5e1a897b0fd905a89622059a787f7a7"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Apr 27 00:16:13 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 27 00:16:13 2016 +0000"
      },
      "message": "Merge \"Camera: Do not signal AutoConditionLock if acquisition times out\" into nyc-dev"
    },
    {
      "commit": "89b3068ff2819c37db5a3af280f927183fe56849",
      "tree": "550eb7cf79d0f0671e1c94ba9328e7a527312e08",
      "parents": [
        "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd",
        "0f6778e333a0ee3750135e02c259f49382a6896a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Apr 26 21:49:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 26 21:49:40 2016 +0000"
      },
      "message": "Merge \"Camera3: For HFR, make priority elevation request synchronous\" into nyc-dev"
    },
    {
      "commit": "c9ca6788c65ed3f578d1a1ed0ba7c268254dcb4b",
      "tree": "b7a4981b001064d8bb4870e4ab6dd6a923dcf124",
      "parents": [
        "34713c04b5e1a897b0fd905a89622059a787f7a7"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 26 13:40:31 2016 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 26 14:18:53 2016 -0700"
      },
      "message": "Camera: Use separate lock for mStreamingRequestId\n\nThere are cases where evictClientIdByRemote holds\nmBinderSerializationLock and waits for mRequestLock, and at the same\ntime checkAndStopRepeatingRequest holds mRequestLock and waits for\nmBinderSerializationLock, causing deadlock.\n\nSolution is to use separate lock to protect mStreamingRequestId.\n\nBug: 28295136\nChange-Id: I40f8e1ded29abde86bc12b20dd119f9f3371ebb2\n"
    },
    {
      "commit": "34713c04b5e1a897b0fd905a89622059a787f7a7",
      "tree": "d685b643dc64dc3958edf4bbc2fab53c2ec2e6f0",
      "parents": [
        "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 26 07:35:03 2016 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 26 14:18:47 2016 -0700"
      },
      "message": "Camera: Do not signal AutoConditionLock if acquisition times out\n\nIt\u0027s possible for AutoConditionLock to time out in waitAndAcquire\nwhile waiting for the condition. In this case, we don\u0027t want to\nreset the state because others may be holding the condition without\nlock.\n\nBug: 28295136\nChange-Id: Ife90232daef8fd0d31acf9e52cfbcf542987e3fa\n"
    },
    {
      "commit": "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd",
      "tree": "f9ca73d77e2af217c3436154d5be73ef5ddf06dd",
      "parents": [
        "1302f9ddd27c89f73cc7790d518f8fc88d89560c",
        "9b5a6e9a667f85adeddea787a9f609d9cde84ef4"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 26 17:29:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 26 17:30:00 2016 +0000"
      },
      "message": "Merge \"Camera: override external facing for API1 client\" into nyc-dev"
    },
    {
      "commit": "0f6778e333a0ee3750135e02c259f49382a6896a",
      "tree": "bc4326c1cca03ed6b934382acc8391ccbcf96be5",
      "parents": [
        "56f949b44a4c8d287c7f3028695eceb07ae41f54"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 25 16:57:04 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 25 16:57:04 2016 -0700"
      },
      "message": "Camera3: For HFR, make priority elevation request synchronous\n\nSince we only do this once per session, it has trivial overhead,\nand it\u0027s important that any permission denials are actually properly\ndetected.\n\nBug: 28246165\nChange-Id: Id4c23db6e3b7ab5f7755b3f55ddd589cbdbde8af\n"
    },
    {
      "commit": "56f949b44a4c8d287c7f3028695eceb07ae41f54",
      "tree": "e07f4c4fe5b4051ff9e596ab4fc16af40409152d",
      "parents": [
        "35443e32bfe0960dc6a6564426054b104977b143",
        "3d1c478fc34824db4e68d50c12f283d6b55c272e"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 25 21:09:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 25 21:09:57 2016 +0000"
      },
      "message": "Merge changes I4588e7da,Ic4a70a1b into nyc-dev\n\n* changes:\n  Fix Emulator CTS tests for Camera, Location, Sensors, Telephony\n  Camera: Disconnect camera after checking flash unit\n"
    },
    {
      "commit": "3d1c478fc34824db4e68d50c12f283d6b55c272e",
      "tree": "ba0247abe2b56cc4275657278b4611c4c887c2c8",
      "parents": [
        "6dcc706b3b06eedcc8d24a3001543c3f49999d94"
      ],
      "author": {
        "name": "Jim Kaye",
        "email": "jameskaye@google.com",
        "time": "Tue Apr 12 17:24:46 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 25 13:36:05 2016 -0700"
      },
      "message": "Fix Emulator CTS tests for Camera, Location, Sensors, Telephony\n\nThis gets all the android.app.cts.SystemFeaturesTest tests to pass.\n\nIn addition to these changes, the AVD\u0027s config.ini must indicate\nan emulated front camera and no back camera.\n\nhttps://code.google.com/p/android/issues/detail?id\u003d205072\n\nBug: 28170202\n\nChange-Id: I4588e7daeea034847912e9044c44edf629336c35\n"
    },
    {
      "commit": "9b5a6e9a667f85adeddea787a9f609d9cde84ef4",
      "tree": "15ec9f725ecf26449621520d73a00fb66296f064",
      "parents": [
        "4178befd29da90abe0e2fd6f58b5caa1c225badd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Apr 22 13:24:05 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Apr 22 14:26:59 2016 -0700"
      },
      "message": "Camera: override external facing for API1 client\n\nBug: 28322515\nChange-Id: I6ecb4f27c98b2c5d509756e27259fa8afdd27631\n"
    },
    {
      "commit": "6dcc706b3b06eedcc8d24a3001543c3f49999d94",
      "tree": "aaf8ea0e9c52bb0adae94398d244f31f14d530f0",
      "parents": [
        "e8c535e833ed135895e99ca81aa3b85d80d7cf3c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 18 11:14:48 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 22 14:19:47 2016 -0700"
      },
      "message": "Camera: Disconnect camera after checking flash unit\n\nDisconnect camera device after opening it just to check if\nit has a flash unit. Leave it open if torch is being turned on.\n\nBug: 28170202\n\nChange-Id: Ic4a70a1b4be28625449ed52cbf6c5d214089adb7\n"
    },
    {
      "commit": "d89821ec5481e0640d84bfe3e29a1254a52ca683",
      "tree": "763fe19cd50d918784cb965c037003684a3af50e",
      "parents": [
        "8111860ba116d84034b2aa21445feec71c65a9d4"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 20 11:23:50 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 20 11:48:13 2016 -0700"
      },
      "message": "Camera: Add dumpsys --unreachable support\n\nUse libmemunreachable to instrument camera service to detect\nnative memory leaks.\n\nWill detect any memory allocated through jemalloc; does not track\ngralloc or other special allocations.\n\nIt can be triggered with\ndumpsys media.camera --unreachable\n\nBug: 28295283\nChange-Id: Ib4e73e9d1a168b3cee4c56a9bf1aeb438591c799\n"
    },
    {
      "commit": "e8c535e833ed135895e99ca81aa3b85d80d7cf3c",
      "tree": "b0b0a255eda7c96bfffd3da79828d52c86372677",
      "parents": [
        "bc0c73e05ec935bc478ee0e40aee79f80771a482"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Apr 14 12:18:26 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 15 16:01:25 2016 -0700"
      },
      "message": "Camera: Stop repeating request if its output is abandoned\n\nStop repeating request if any of its output stream is abandoned.\nAdd a callback to notify the repeating request has been stopped\nwith frame number of the last frame.\n\nUpdate NDK with the new callback and behavior.\n\nBug: 21270879\n\nChange-Id: I3553775c7807a77104aa1650609480ca3321310c\n"
    },
    {
      "commit": "03aa02bda9bf1f38d8c6d9e6bfd8222ed18d3ff5",
      "tree": "6a42b16eada0b77ad45147a4bab6ca6fb79a2eb8",
      "parents": [
        "0c4a97e6e1470b2d8b8810792af8d66689020c51",
        "4c060997514cb37aec9a9a7cec02a3f257d3a74d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 13 20:33:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 20:33:50 2016 +0000"
      },
      "message": "Merge \"Camera: derive post RAW sensitivity keys for BC\" into nyc-dev"
    },
    {
      "commit": "4c060997514cb37aec9a9a7cec02a3f257d3a74d",
      "tree": "bb769eb0a9781077f4f09e0aa36cd1212fd1ff27",
      "parents": [
        "0115a8bff177dd8c4ca038423ee2efd36fbd58f1"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 11 17:40:12 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 13 12:44:21 2016 -0700"
      },
      "message": "Camera: derive post RAW sensitivity keys for BC\n\nDerive post RAW sensitivity keys for devices\nearlier than HAL3.4.\n\nBug: 27950762\nChange-Id: Icc2232cb722c61a5878a81706885303b15ddee3e\n"
    },
    {
      "commit": "bb969e7b2230b520a903b22fb6e89c3e14d38ad8",
      "tree": "459a1b8cd30e067d651d19f9c7f2f918b3702368",
      "parents": [
        "b818309e1dc687e952b3151b71eecdf15ec92abf",
        "e02e932d2210bd513bb8283840bbe24b58d28620"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Apr 12 23:08:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 23:08:18 2016 +0000"
      },
      "message": "Merge \"Camera: Keep a list of outstanding buffers\" into nyc-dev"
    },
    {
      "commit": "e02e932d2210bd513bb8283840bbe24b58d28620",
      "tree": "1b8d710f8794cde2364a4ec03940390dc9f98770",
      "parents": [
        "c526e1ef36f8f0520a059c6cf304e12e86170c26"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 11 16:59:33 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Apr 12 14:09:04 2016 -0700"
      },
      "message": "Camera: Keep a list of outstanding buffers\n\nKeep a list of outstanding buffers in Camera3Stream so that\nit won\u0027t return invalid buffers or the same buffers twice back\nto the buffer queue.\n\nBug: 27894484\nChange-Id: I9f96629b4f531778433c2e1ec32a142f2040832b\n"
    },
    {
      "commit": "6192b89257c5ae8834faa25b801d561043675d3b",
      "tree": "cdae74b88ba798bcf594e66d6ef54cb1a79f89cb",
      "parents": [
        "b06b9dfc27ec6e58a7aebb82e0d30d32eb95c080"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 04 12:31:18 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 04 12:31:18 2016 -0700"
      },
      "message": "Camera: Ensure correct error message for disconnected devices\n\nAfter a device has been disconnected, should return consistent errors\nto the caller if they invoke further device methods.\n\nFor API1, that\u0027s INVALID_OPERATION, and for API2, that\u0027s\nERROR_DISCONNECTED.\n\nChange-Id: I0f3d889906a9818c0e03852702b146fd33c9e42a\nFixes: 27591189\n"
    },
    {
      "commit": "05a8cf58ce8095752999e0efc7b2713cfeb5309e",
      "tree": "28105e0cca0590b25a8ab299a3b9a828e801f623",
      "parents": [
        "ca0cde2597b527083a2f86bda4db00dccaf394d6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 28 14:08:56 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 28 14:08:56 2016 -0700"
      },
      "message": "Camera: Camera3InputStream: Stop after finding buffer to return\n\nErasing iterator invalidates it, so it\u0027s not safe to continue using it.\nBesides, there should only be one buffer to erase anyway.\n\nBug: 27878949\nChange-Id: I00e9845fa953c26e117e40112b9f35fc781c5dcf\n"
    },
    {
      "commit": "b0fdc1ed2182fe851ef7ca98a1b4a552b53b3033",
      "tree": "df45449f4c88ede8a67365ed7c8691b6c45f84da",
      "parents": [
        "287b36cf4a2a045dda11ea803f3fa7cb1a435d51"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sun Mar 20 23:21:39 2016 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Mar 24 15:19:38 2016 -0700"
      },
      "message": "Camera: Retry JPEG capture if buffer is dropped.\n\nCamera api1 doesn\u0027t have error notification if JPEG buffer is dropped.\nAdd retry logic to try again if such error happens.\n\nBug: 27074407\nChange-Id: I646566c6ee5a064896b5a433d8e1797140f0d257\n"
    },
    {
      "commit": "d384306b8a5c2f106a02574c356d78a08e7894ac",
      "tree": "02699e69fffb1c0203fe4d37ceaaad5ab75da757",
      "parents": [
        "6b3305184ca24ac7561e245638250e04399a4401",
        "18df60e094edbaa08cbecd25b0398643b8a0f29a"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Mar 22 00:42:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 22 00:42:31 2016 +0000"
      },
      "message": "Merge \"Camera: Use original client PID for eviction\" into nyc-dev"
    },
    {
      "commit": "8708e14eba0c9f533c274f7067d744386e45b385",
      "tree": "ec864cd2ac1b89ce1fc376c95bb5379c7c17883d",
      "parents": [
        "311fab5291be07fe33ec65240825b4f4bc118fe7",
        "3525dd92724e4942c9259f19581d63b93f18e14b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 21 20:24:35 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 21 20:24:35 2016 +0000"
      },
      "message": "Merge \"Camera: Fix openLegacy error codes\" into nyc-dev"
    },
    {
      "commit": "3525dd92724e4942c9259f19581d63b93f18e14b",
      "tree": "8b9fb5724ad48dd04b4d255cbf53e1f00b7f9894",
      "parents": [
        "7f7052f5e45f8eb1df80a6978e0095d9e9c9eded"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Mar 20 18:04:09 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 21 12:35:33 2016 -0700"
      },
      "message": "Camera: Fix openLegacy error codes\n\nFix error handling regressions from the Binder interface refactor\n\n- Error codes from openLegacy became incorrect\n- Client initialize() call error codes were not discriminated between\n\nBug: 27657269\nChange-Id: I2379d45d5fe5c2ad43c78bcfd18ea4c833adc987\n"
    },
    {
      "commit": "18df60e094edbaa08cbecd25b0398643b8a0f29a",
      "tree": "49632241e8b546fbc0ea991bd3218f41152452fa",
      "parents": [
        "42f2707bb2d9698765d1180787ffc890c41ddb3a"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Mar 18 18:18:09 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Mar 21 10:39:25 2016 -0700"
      },
      "message": "Camera: Use original client PID for eviction\n\nUse the original client PID to evaluate priorities for eviction. The\noriginal client PID may be different from the calling PID when the\napplication uses MediaRecorder to open camera.\n\nBug: 26493273\nChange-Id: I8f56194f1ca2151701efb8cb380ff4abf6c8d6c4\n"
    },
    {
      "commit": "32dc5a990b6180dcb919220dcbefcec92afd8cc2",
      "tree": "65e56237cada4c9fdf5fe902d2c56254e3d03a5c",
      "parents": [
        "31c76d38cdd9f3dd79bd35eda224133754155fad",
        "ace805805313827c7edde3bc6eb6624ab9f62dcb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 18 22:20:49 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 18 22:20:49 2016 +0000"
      },
      "message": "Merge \"Camera2: Send ILLEGAL_ARGUMENT error for a bad stream configuration\" into nyc-dev"
    },
    {
      "commit": "ace805805313827c7edde3bc6eb6624ab9f62dcb",
      "tree": "edc7923eca4c01c71ffcb2029531e1f5b88028c7",
      "parents": [
        "7f7052f5e45f8eb1df80a6978e0095d9e9c9eded"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 18 13:27:35 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 18 13:43:08 2016 -0700"
      },
      "message": "Camera2: Send ILLEGAL_ARGUMENT error for a bad stream configuration\n\nBug: 24168122\nChange-Id: Icd9ce14fcdd2f88c5bde01a9652bb8cb66875560\n"
    },
    {
      "commit": "c40fcb01669240e9c1a6af74bcb0fcd85147fa87",
      "tree": "db07c22d600048f2f81d08f7255e6beea753a1c9",
      "parents": [
        "7f7052f5e45f8eb1df80a6978e0095d9e9c9eded",
        "42f2707bb2d9698765d1180787ffc890c41ddb3a"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Mar 18 17:46:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 18 17:46:16 2016 +0000"
      },
      "message": "Merge \"Camera: validate input in releaseRecordingFrame\" into nyc-dev"
    },
    {
      "commit": "42f2707bb2d9698765d1180787ffc890c41ddb3a",
      "tree": "9c9c511293153db9af6907684e88993d1ffc17b0",
      "parents": [
        "b53ab34b95b8633070cbef5d03162d182aac3a9a"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jan 11 17:39:17 2016 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Mar 17 11:32:12 2016 -0700"
      },
      "message": "Camera: validate input in releaseRecordingFrame\n\nCheck mem isn\u0027t null before using it in releaseRecordingFrame.\n\nBug: 26164272\nChange-Id: I384d4aa2798b6121ae548a6bb618fc0189f96633\n"
    },
    {
      "commit": "2cbf6cea23539bfe99e36d1d221de62255452e86",
      "tree": "87e7c0e561fc7593e2238fe692a130edfd0c92a1",
      "parents": [
        "b77d03b62cb743d0faf74b54aa466b4d220b5e61"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 14 13:03:25 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 15 17:06:02 2016 +0000"
      },
      "message": "Camera: Update dataspace to new spec, convert for older HALs\n\n- Switch clients of camera devices to use new dataspace values\n- For older HALs, map to legacy dataspace values\n\nBug: 27344373\nChange-Id: Icabc345025383f987ef4472cd26182a580dc8b3c\n"
    },
    {
      "commit": "97a330964b0548238d75602c74b290bea77a6b55",
      "tree": "ea27b196e1b86b342ae46ba26d06d4b15de4bc10",
      "parents": [
        "0d390f6da426255d8a962d36b6086f4ea2e1a07d",
        "e95bb6312b972117a0ee70eabf78fcd118018f61"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 11 18:13:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 18:13:01 2016 +0000"
      },
      "message": "Merge \"Camera3: Add error stream ID for buffer drop errors\" into nyc-dev"
    },
    {
      "commit": "37964cbbcf994350d989b482c201ee9571ea1b38",
      "tree": "3646bc737b00e7d7f2cce91e0bb5bd21b4f08c61",
      "parents": [
        "98783a370f3f35058b42534d7d1d05e0fb7e9f5a",
        "5cd8d64b36e0bc87115a5221b06e2fe3c5f9879b"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Mar 10 23:12:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 10 23:12:08 2016 +0000"
      },
      "message": "Merge \"Camera3Device: Send partial results seperately\" into nyc-dev"
    },
    {
      "commit": "5cd8d64b36e0bc87115a5221b06e2fe3c5f9879b",
      "tree": "c9366335878174e23658b1c021462a26c11b00c2",
      "parents": [
        "9cd140240c84789d00349c33e9c0b7a74d1543ed"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Mar 08 14:46:58 2016 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Mar 10 14:50:38 2016 -0800"
      },
      "message": "Camera3Device: Send partial results seperately\n\nChange Camera3Device to send partial results as soon as a\npartial result is received from HAL so that 3A partial results\nare not bundled.\n\nChange FrameProcess to wait until all 3A states are received before\nnotify the client about 3A changes.\n\nBug: 17320166\nChange-Id: I31a3e42081430ff4f7a482c4b2f1db272b8b2e4a\n"
    },
    {
      "commit": "3c8aa2fded9e5c5daf8a3e6ac8acbe3d329d8e65",
      "tree": "c8d88cb1f91655903c3230bb1c90486de93e2628",
      "parents": [
        "ae34ed2bcc9fa49a22fe7497327adb689ef27e8d",
        "9cd140240c84789d00349c33e9c0b7a74d1543ed"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Mar 09 22:58:02 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 22:58:02 2016 +0000"
      },
      "message": "Merge \"Camera3Device: Validate template ID\" into nyc-dev"
    },
    {
      "commit": "9cd140240c84789d00349c33e9c0b7a74d1543ed",
      "tree": "80baad1161cbdd72fd3d12c7730a45ae6a30524b",
      "parents": [
        "9322ba85a06ae149575ab102dc9bcffb4388cc7e"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Mar 09 12:21:01 2016 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Mar 09 14:55:14 2016 -0800"
      },
      "message": "Camera3Device: Validate template ID\n\nValidate template ID before creating a default request.\n\nBug: 26866110\nChange-Id: Ifda457024f1d5c2b1382f189c1a8d5fda852d30d\n"
    },
    {
      "commit": "431503c11ca9e069584f70b0eef8b858a4a43546",
      "tree": "4264423a96f04228f74ff8dd12d97cb51f3fd9c8",
      "parents": [
        "9322ba85a06ae149575ab102dc9bcffb4388cc7e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Mar 07 17:30:16 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Mar 07 17:30:16 2016 -0800"
      },
      "message": "Camera3Device: fix dereferencing null pointer crash\n\nIt\u0027s possible that the dump is called during the device shutdown\nprocess, where the buffer manager could be already torn down. Add\nnull check before calling the dump function.\n\nBug: 27500853\nChange-Id: I179eb7ac1e81be2c196833b2c88488cd59fe2cc5\n"
    },
    {
      "commit": "e95bb6312b972117a0ee70eabf78fcd118018f61",
      "tree": "25f870b8ee2f63b99fd689905462fcbff68312f8",
      "parents": [
        "9322ba85a06ae149575ab102dc9bcffb4388cc7e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Mar 06 19:55:44 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Mar 06 19:58:39 2016 -0800"
      },
      "message": "Camera3: Add error stream ID for buffer drop errors\n\nTo enable passing buffer drop errors to API users\n\nBug: 24168122\nChange-Id: I2769d0ba1fbd9a09494d5904eac511cecea3e6a8\n"
    },
    {
      "commit": "0effd5277058b1fa6067875ca86d74452c4491c3",
      "tree": "6b68791bceaa5e04905b2c5a1af36e627b4e8a7d",
      "parents": [
        "97d5e4eb77687288b463f300912f6eb5c2b5b60e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Mar 04 10:22:27 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Mar 04 10:22:27 2016 -0800"
      },
      "message": "Camera2: protect the device access\n\nThe Camera3Device could be detached during the static metadata access,\nwhich could cause some nstive crash or even DoS.\n\nBug: 26696230\nChange-Id: I081a119f6687fdbfcba845c4d317d043390c3a84\n"
    },
    {
      "commit": "1e74e241f5a4e0e763e27c888561405d013c9ca0",
      "tree": "da3bca0b308fa52cfe856b74e91a6279d74055c7",
      "parents": [
        "ce2d9b4646ec840369a4d3434458c0390f3bc7c4"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Mar 03 11:24:28 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Mar 03 11:24:28 2016 -0800"
      },
      "message": "Camera: Don\u0027t crash when the device has no vendor tags.\n\nTurns out copying from null pointers crashes things.\n\nBug: 27466842\nChange-Id: I294f03614eec8c488c016469549464065821a7e7\n"
    },
    {
      "commit": "02bf03287652923b5bb5316667b065423565d6b4",
      "tree": "37fac61e840805769bd1c7ea8030390122a624cd",
      "parents": [
        "d56db1d2bee182d1851097a9c712712fc094d117"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 18 12:41:10 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 10:27:58 2016 -0800"
      },
      "message": "Camera: Clean up warnings and set -Werror\n\n- Also fix error logging template inconsistency\n- Also add a few error handling cases into camera2 NDK\n  to deal with previously-ignored error codes\n\nBug: 27149500\nChange-Id: I8f1f4c72252dd48d652f24b595b642199f20c327\n"
    },
    {
      "commit": "d56db1d2bee182d1851097a9c712712fc094d117",
      "tree": "243fda59e2b4d51491af628b49b3a35b267e0051",
      "parents": [
        "cf7913e2389a5e850e01aa6f905d252ee54c9891"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Dec 17 16:50:35 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 10:27:36 2016 -0800"
      },
      "message": "Camera: Switch camera2 to auto-gen C++ binder interfaces\n\n - Move camera service AIDL files to frameworks/av\n - Build C++ interface stubs with AIDL tools\n - Add necessary native-side parcelables and update existing ones\n - Remove manually-written stubs, rearrange remaining manual stubs\n - Adjust implementations to work with auto-generated stubs\n   - Adjust method signatures for auto-gen differences\n   - Add rich error messages using binder::Status\n\nBug: 25091611\nChange-Id: I6f69f34b9d1a3f8d1fb7db87357363f8fa8483ff\n"
    },
    {
      "commit": "bc57b12030cbd4885d9231e721bbfed1b6522212",
      "tree": "74dd04976e9dc4a5c4d57d2f5aca96ff59c326de",
      "parents": [
        "3166aa66a26ee7af2ba6e4c71db576c4a9924d25"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Feb 16 09:59:16 2016 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Feb 16 09:59:16 2016 -0800"
      },
      "message": "Fix compiler warnings in Camera3 service code.\n\n- Removes unsed mDepth variable\n- Fixes the type of count in getRawOpaqueBufferSize\n\nBug: 27149500\nChange-Id: I7d5010cb513f9163c8bb6bf4ab427e54ee9d4963\n"
    },
    {
      "commit": "c28dcccb9bc0a94950a7475f9bd8a6a38be34419",
      "tree": "cc2dd0ea424ac62a24c75a6d5f821789c08ac628",
      "parents": [
        "3aaa699a46edb4f47d0cd5a11d57eba93493bd90"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Feb 11 23:48:46 2016 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Feb 12 13:16:30 2016 -0800"
      },
      "message": "Camera3: Use proper timestamp clock domain for different streams\n\nIf buffer consumers assume different clock domain compared to the camera\noutput, camera3 device uses the offset between the clock domains to convert\nthe timestamp.\n\nBug: 27153476\nChange-Id: Iaae33281411cb27b639e87b0dad957d640182898\n"
    },
    {
      "commit": "b30f2636bc36d56b94dc5d35e20a68b2e403aac2",
      "tree": "bf28313a8675f35e140f6ea6f1fc728fb0bca90c",
      "parents": [
        "814ce809867326e6ba46583444476e9f63ad01f7",
        "f73511756147a685267f208784921fea40decc64"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 09 21:33:51 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 21:33:51 2016 +0000"
      },
      "message": "Merge \"CameraHardwareInterface: Reconnect preview in HAL set_buffer_count\" into nyc-dev"
    },
    {
      "commit": "f73511756147a685267f208784921fea40decc64",
      "tree": "a9ecf3941f8c65a4e741a6cdad5ee186997191f9",
      "parents": [
        "664041339740874917944c850b113656236edda6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 09 12:13:57 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 09 12:13:57 2016 -0800"
      },
      "message": "CameraHardwareInterface: Reconnect preview in HAL set_buffer_count\n\nWorkaround for b/27039775\n\nSome camera device HAL v1 implementations expect that calling\npreview_stream_ops-\u003eset_buffer_count resets the preview stream\u0027s flag\nfor whether any buffers have been queued up by the camera HAL, allowing\nthe HAL to dequeue all buffers in the stream again (instead of just its\nown buffer count limit, which is lower).\n\nThe underlying buffer queue behavior has now changed, and that flag is\nno longer reset on a change of buffer count, to support dynamic buffer\nqueue buffer count features.\n\nTo maintain backwards compatibility with HALv1 implementations that rely\non this implicit HAL interface behavior, add a disconnect/connect pair\nto the set_buffer_count call, which will reset the dequeue flag, along\nwith all other preview stream parameters.\n\nTo maintain other parameters, cache them when they are originall\nset (either by the HAL or by the higher-level camera client), and apply\nthem again after reconnecting.\n\nBug: 27039775\nChange-Id: I9fa220b356715e7f8e48adc7acdffbfa598c329c\n"
    },
    {
      "commit": "80fa61994c8bcc21e5150c1a6bf447f6423239c4",
      "tree": "a6880ac57427a788addd486f96a86be45750d544",
      "parents": [
        "664041339740874917944c850b113656236edda6"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Feb 08 12:02:25 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Feb 08 14:39:48 2016 -0800"
      },
      "message": "Camera3: increase the buffer manager water mark by one\n\nThis reduces the chance of allocation during stream steady state.\nIt helps the cases where one stream is active, and other streams may\nrandomly request some buffers.\n\nChange-Id: I3f29001a45e223dd2e7929452c4a2ac81a1213f2\n"
    },
    {
      "commit": "edd41ae47b99b98249e819ac72fb94264326a4eb",
      "tree": "e573b70cb41a6617aab98b0aa7ee0c0646fa48f9",
      "parents": [
        "6bd34cc33c65634cf76787b17a79959716faf596"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Feb 03 14:45:53 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Feb 03 20:45:33 2016 -0800"
      },
      "message": "Camera3: buffer manager doesn\u0027t support HAL3.2 devices\n\nNot all HAL3.2 devices implemented dynamic buffer registeration.\nThis CL excludes the HAL3.2 devices from the buffer manager\nsupported devices.\n\nBug: 26955436\nChange-Id: I5bc2eec0a4db2f5ab85f7677ed7b367c13ce67aa\n"
    },
    {
      "commit": "8d1a154cc6239096edda698ea638e6ab6fe53c4e",
      "tree": "2bdda9c3490ad3dfe06726157b8bf84f4777fe19",
      "parents": [
        "251322bc8ac7ff7690bf706206c8ef251ca059f2"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Jan 29 20:28:21 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Feb 02 11:44:13 2016 -0800"
      },
      "message": "Camera3: add dynamic buffer count water mark support\n\nThe dynamic buffer count water mark starts from zero, and grows when the max of\nhand-out buffer counts grow, until reach to the max allowed total buffer count.\nFor the case where the clients almost always uses less number of buffers than\nthe max allowed total buffer count, the dynamic buffer count water mark will\nremain low, and the memory footprint will be smaller.\n\nChange-Id: I305f40232f4740d3e9bedf14ee9b76a81e29e244\n"
    },
    {
      "commit": "f1d124eff4ce99adb8ea34912ef899863e7b76e3",
      "tree": "3e6e5b7c9d9cce2e22d8b74cddff56c5a2d69f8e",
      "parents": [
        "157bd8a8a69c15cba8276652a15dbb7e5fd5cffb"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jan 28 16:32:15 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jan 28 16:32:15 2016 -0800"
      },
      "message": "Camera: derive post RAW sensitivity boost range\n\nBug: 26625646\nChange-Id: Ifbc49d744ac0dca201028aa414dae56febf28e4b\n"
    },
    {
      "commit": "1ff811b024c690e53510113d19042b7cd2d2637a",
      "tree": "cbb5f8d7385b194819bdb18247c5cef7d48e4eee",
      "parents": [
        "2961a35354218904bf190c10a9e52350298c4385"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jan 26 14:39:51 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jan 28 12:37:42 2016 -0800"
      },
      "message": "Camera3: return cancelled buffers to buffer manager\n\nWhen a buffer is cancelled, it is considered as a free buffer and need to be\nreturned to buffer manamager for buffer reuse. This will also make the prepare\nwork.\n\nAlso fix the buffer removal bug.\n\nBug: 25088440\nChange-Id: I0e3da44c76008406ee19541366da7a962c355949\n"
    },
    {
      "commit": "feb76cc0340f3eb4c9ae91cbfab4dcea449422f5",
      "tree": "cc4ca7aee0d37dfbf5438aa1b948698116403706",
      "parents": [
        "dfb7c95a69f43201cfe52f1e3cffde9adf7b88ba",
        "6773d4777f4ccbbe6377e4ae1b42c117066ae6ba"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jan 28 02:04:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 02:04:34 2016 +0000"
      },
      "message": "Merge changes from topic \u0027camera-hardening\u0027\n\n* changes:\n  camera: Add support to pass native handles across binders\n  Camera: Fix client permission check\n  Add cameraserver process\n"
    },
    {
      "commit": "13a69633108f40f56aa47f1bcbb406cd5173c245",
      "tree": "106facab429a8d42b21cecb330ade13e4b640709",
      "parents": [
        "a03910b23a31058eea178e8d3f5e84fcf852d5c2"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 26 09:51:07 2016 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Jan 27 16:36:02 2016 -0800"
      },
      "message": "Camera3: Selectively set buffer timestamp depends on consumer\n\nCertain consumers such as Hardware Composer and AudioSource\nuse MONOTONIC timestamp, which causes time misalignment if\ncamera timestamp is in BOOTTIME.\n\nDo not set buffer time stamp for such streams and let\nBufferQueue handle it.\n\nBug: 22214409\nBug: 26762232\nChange-Id: Id1c4b85a181e39827e8f27949a199165bbd445f9\n"
    },
    {
      "commit": "98a668f6ea51e4d894d2ebb61a0e18287fb14008",
      "tree": "2e0942e593e58b5b6c44b87526a35dbf3d808b34",
      "parents": [
        "1f36e3b27abfb16bc5e788e253d367eff4886dba"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Dec 18 14:10:33 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jan 25 17:47:12 2016 -0800"
      },
      "message": "Camera: Fix client permission check\n\nModify StageFright\u0027s CameraSource to forward calling PID as\nclient PID when connecting to CameraService so CameraService\ncan check if the client PID has permission to use camera.\n\nChange CameraService to check calling UID is trusted before\nusing the passed in client PID and client UID to verify permission.\n\nBug: 24511454\nChange-Id: I4906ab73510e2c75714690bed675e3c13aca3ccf\n"
    },
    {
      "commit": "8aa17d0c577594e1240d21fd823d9f4c5cc14fa0",
      "tree": "6313b6e02bcece4fc1b53047ccd10d0ae9621bae",
      "parents": [
        "cc97730e142c21a0af67bd2f18d9938a4ef96a39",
        "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 26 00:52:20 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 26 00:52:20 2016 +0000"
      },
      "message": "Merge \"Camera NDK library: first draft\""
    },
    {
      "commit": "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c",
      "tree": "2cee23a637023c0365748d4a2f7f1048c9d97ab8",
      "parents": [
        "52a942055bcc4a96b6e281a54a70a53b6fca5798"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Dec 09 16:46:07 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 25 16:40:17 2016 -0800"
      },
      "message": "Camera NDK library: first draft\n\nBug: 23012001\n\nChange-Id: I06d834421289d4dead1c87301a6ee94487ccf023\n"
    },
    {
      "commit": "cc97730e142c21a0af67bd2f18d9938a4ef96a39",
      "tree": "2d4ecbfd8984419251325620c4635fbf8b71d62d",
      "parents": [
        "52a942055bcc4a96b6e281a54a70a53b6fca5798"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jan 25 13:46:23 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jan 25 13:46:23 2016 -0800"
      },
      "message": "Camera3: hook up stream set Id\n\nHook up the stream set Id with native implementation.\n\nBug: 25088440\nChange-Id: Iaed9f02d6638ea259d18f7ea75fbd2c87073c3e4\n"
    },
    {
      "commit": "125684aba1a11b7adbf5f9d607ee2bcc9449081c",
      "tree": "36bdb7aeb1e28c40f3ec04816f3e97eca472ad8a",
      "parents": [
        "97385561584e96c1c1149cf883e0ad1c75cfbdd0"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sat Dec 26 15:07:30 2015 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sat Jan 23 16:16:48 2016 -0800"
      },
      "message": "Camera3: add camera3 buffer manager support\n\n* Add camera buffer manager for buffer allocation and sharing management across\nmultiple streams. Only gralloc v0 implementation is done, v1 implementation is\npending. With this, the max mem footprint for multiple streams in the same\nstream set will be the max buffer count x max buffer size.\n* API1 client will still use the old bufferQueue code path, buffer manager\nis only targeting at API2 clients.\n* Prepare and teardown should work with buffer manager.\n* Some existing code typo fix and cleanup (to fix the compiling warnings).\n\nBug: 25088440\nChange-Id: I68b246faa43080302acd02a8e976384bd3e26a23\n"
    },
    {
      "commit": "c73e0410c6b931fe598061b2f348834da0a21707",
      "tree": "9108dbd203574f12a5e0b50e5f669eecb1a2e2c3",
      "parents": [
        "1d2d88b2040e600463a25f72de24d28aefcf457b",
        "715e5cdec771abb372d46813a8b0ab57d47afd99"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jan 15 01:11:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 15 01:11:52 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly am: c400396525 am: 795243686f am: fb5043a703 am: 3a0d1df37d am: f0b0a7c7bb\nam: 715e5cdec7\n\n* commit \u0027715e5cdec771abb372d46813a8b0ab57d47afd99\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "715e5cdec771abb372d46813a8b0ab57d47afd99",
      "tree": "8d21b188753f55c475040495c0abf078b5971258",
      "parents": [
        "b1501e2917d94ec0fff6959cbdcf2db84b97f4b0",
        "f0b0a7c7bb61d6ea9f8f89c55368529711d18e1a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:43:31 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 14 22:43:31 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly am: c400396525 am: 795243686f am: fb5043a703 am: 3a0d1df37d\nam: f0b0a7c7bb\n\n* commit \u0027f0b0a7c7bb61d6ea9f8f89c55368529711d18e1a\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "fb5043a703f596b7393c1e24ca4b321b0f697293",
      "tree": "e73accf4133146bc489c380a720173e55c6e7fbe",
      "parents": [
        "6dd6c546513aa18dc1d7fba0f72d670edce34f77",
        "795243686fe2e1c352732b47bcdb6ea9e9e7e39e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:35:00 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 14 22:35:00 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly am: c400396525\nam: 795243686f\n\n* commit \u0027795243686fe2e1c352732b47bcdb6ea9e9e7e39e\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "795243686fe2e1c352732b47bcdb6ea9e9e7e39e",
      "tree": "3edcea13261beb3b42a2b4e4d55ab14e3ace186e",
      "parents": [
        "e463301aa44f0ea0ae1a2399bf8800d94cf6ce3e",
        "c4003965258404a19b99280ac0f475e2f290bf27"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:33:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 14 22:33:06 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly\nam: c400396525\n\n* commit \u0027c4003965258404a19b99280ac0f475e2f290bf27\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "5a94f6f199e261c235a05f6b066aa53078962e93",
      "tree": "adcd7e1ae1fa56f903172caa31e28b00552e7830",
      "parents": [
        "0ca02a0c2c77bf88aa7d7b7c3ec04f9153ddce93",
        "49c9705a7987b94bd53fddd4834f5f534cf946f7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:07:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 14 22:07:44 2016 +0000"
      },
      "message": "Merge \"CameraService: Further fixes to default camera counts\""
    },
    {
      "commit": "c4003965258404a19b99280ac0f475e2f290bf27",
      "tree": "c9a4ed77bfc9c2d5b677ffb4943e657b215e04e1",
      "parents": [
        "a39f9818759155a2651995d6844f9821d83e3f0d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 13 10:07:04 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 13 16:39:53 2016 -0800"
      },
      "message": "Camera: Disallow dumping clients directly\n\nCamera service dumps should only be initiated through\nICameraService::dump.\n\nBug: 26265403\nChange-Id: If3ca4718ed74bf33ad8a416192689203029e2803\n"
    },
    {
      "commit": "b1501e2917d94ec0fff6959cbdcf2db84b97f4b0",
      "tree": "a975e15bad569a12905a72c574d72839d244462b",
      "parents": [
        "3432236e09331ae4c6e94d9850e679f3c1d8ae01",
        "6258d848c52d36e804977c3007a968ad823b9244"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 13 20:45:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 13 20:45:16 2016 +0000"
      },
      "message": "Camera: set mNumberOfNormalCameras correctly am: 6dd6c54651 am: 72bc40dc51\nam: 6258d848c5\n\n* commit \u00276258d848c52d36e804977c3007a968ad823b9244\u0027:\n  Camera: set mNumberOfNormalCameras correctly\n"
    },
    {
      "commit": "6dd6c546513aa18dc1d7fba0f72d670edce34f77",
      "tree": "8a80f6984f7a31f59a392d36acb2ebe4941af740",
      "parents": [
        "0dd00d9b1986cd2cc4f45bdb96266dee01f20d72"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Dec 07 12:20:11 2015 -0800"
      },
      "committer": {
        "name": "Zhengyin Qian",
        "email": "qianzy@google.com",
        "time": "Tue Jan 12 17:35:27 2016 -0800"
      },
      "message": "Camera: set mNumberOfNormalCameras correctly\n\nNeed to set the number correctly when a camera HAL is not present.\n\nBug: 25951590\nChange-Id: I666acf7a2a523c51f2c2ae88ff690ca9dccda08c\n"
    },
    {
      "commit": "d55d0bee625d4bb02d72fcd91d40fc30e1f87b86",
      "tree": "b57076f570612dd65661a118d6fc348e747ba776",
      "parents": [
        "c16bf1d9e8ccdd27327e988d50f5b9640e5406f8",
        "f615179ee48bb11a27426d60f76845764cf00f75"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 13 00:55:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 13 00:55:09 2016 +0000"
      },
      "message": "Merge \"libcameraservice: Allow media server to disconnect camera even unlocked\" am: a68b10a49b\nam: f615179ee4\n\n* commit \u0027f615179ee48bb11a27426d60f76845764cf00f75\u0027:\n  libcameraservice: Allow media server to disconnect camera even unlocked\n"
    },
    {
      "commit": "49c9705a7987b94bd53fddd4834f5f534cf946f7",
      "tree": "0fb944424a80a64d9af14239309c7d3264e127df",
      "parents": [
        "df9e6aaf716279baf0e27b99acf10005924245ed"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 12 14:29:40 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 12 14:30:28 2016 -0800"
      },
      "message": "CameraService: Further fixes to default camera counts\n\nAt least one section of code still doesn\u0027t clear the camera\ncounts correctly on error, so ensure that they always start at 0.\n\nAlso include normal camera count in dumpsys, and remove unnecessary\ninitializers in the constructor.\n\nChange-Id: Ib891bd37ab5f74b43d5d31b24ac23fa0b11434b3\n"
    },
    {
      "commit": "418f4d1350da8931853a616d4da180978c6bb971",
      "tree": "2d8f8bd98e9b6f7b03916cd5218236c150d77bf4",
      "parents": [
        "7abffd68a77a7ed89b75361a671ce4a4cdacd142"
      ],
      "author": {
        "name": "Wang, Jianfeng XA",
        "email": "jianfeng.xa.wang@sonymobile.com",
        "time": "Tue May 27 17:48:08 2014 +0900"
      },
      "committer": {
        "name": "Hidenari Koshimae",
        "email": "hidenari.koshimae@sonymobile.com",
        "time": "Tue Jan 12 15:04:39 2016 +0900"
      },
      "message": "libcameraservice: Allow media server to disconnect camera even unlocked\n\nThe camera service may fail to release the camera hardware instance\nin some use cases.\nWhen an application unlocked the camera before disconnect, disconnect\nfrom the application will not be accepted. And disconnect from media\nserver will not be accepted also. Then, the camera hardware instance\nwill not be released and a resource leak will be caused.\n\nAllow media server to disconnect the camera at all times even if\nthe camera is unlocked.\n\nChange-Id: Icd5ed81bed242fa5947aa40ca85e4ca7fa7286e7\n"
    },
    {
      "commit": "d0ef20e9e91afa734078bc229a5ded8e7e3ab944",
      "tree": "90d2f552051d2bc811fe01bea052842766e6dcfd",
      "parents": [
        "6152b8ce798f3cbb6a737a2b834edf0a33feee6f",
        "8cca0750a84c2d97224c0cfef7cf255308ee80b3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Dec 09 18:27:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 09 18:27:46 2015 +0000"
      },
      "message": "Merge \"Camera: Support BufferQueue between Camera and StageFright\""
    },
    {
      "commit": "e9154ced1216ceb06a82140ed65051c0397e8abc",
      "tree": "ec510e85dfb95120b707d1985a99ec92263f236b",
      "parents": [
        "5be2304ab2a1e40ca85f2c01defa4bb33e8344d9"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Dec 07 14:38:04 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Dec 08 13:31:10 2015 -0800"
      },
      "message": "Camera: plumbing for RAW OPAQUE\n\nBug: 25596619\nChange-Id: I0867a36962084bc508aebc89cb910473402a5e09\n"
    },
    {
      "commit": "654b4bf34361b0166a564d178c11ce98cf561cfa",
      "tree": "8a76eb9c6e4f193dab308688d03ee8bf2d0bfed3",
      "parents": [
        "4aeee811662bdb8f6f4b24884d62780deb7ca1c6"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Dec 08 12:19:31 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Dec 08 12:22:47 2015 -0800"
      },
      "message": "Camera: fix HAL1.0 support\n\nBug: 26050582\nChange-Id: Ic64fb005d7c804dc2b8b9c22fdbe44408646b406\n"
    },
    {
      "commit": "8cca0750a84c2d97224c0cfef7cf255308ee80b3",
      "tree": "5c57eb6c935102e464667b8fa86364f19bce8495",
      "parents": [
        "cf52591e7441fcea757ca9090a66dbcdff0a73e3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Nov 13 15:28:48 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Dec 08 12:17:46 2015 -0800"
      },
      "message": "Camera: Support BufferQueue between Camera and StageFright\n\nUse a BufferQueue between Camera and StageFright to pass video\nbuffers for Camera HALv3 devices.\n\nCameraSource in StageFright will try to use \"buffer queue\" mode\nif it is supported by the camera device. In \"buffer queue\" mode,\nCameraSource creates a buffer queue and a listener thread to recieve\nvideo buffers from camera device. CameraSource then wraps the\nANWBuffer in MediaBuffer. If the camera device doesn\u0027t support\n\"buffer queue\" mode, it falls back to \"metadata in video buffer\"\nmode or \"real YUV data\" mode.\n\n\"Metadata in video buffer\" mode is removed from Camera2Client and\nonly \"buffer queue\" mode is supported.\n\nBug: 24511454\n\nChange-Id: Ice833b57bcd8d91852d6415402013f56f3e3970a\n"
    }
  ],
  "next": "a6b3ed1b8ee37fe244dfbcbe3dbeda66b55c846d"
}
