)]}'
{
  "log": [
    {
      "commit": "90c0fdff4ce81b41c51a255b7e0099ec3335c294",
      "tree": "afdf5c7adc759badc33e62c4345edcb608a223c4",
      "parents": [
        "f3ffd1ced8c4709388f8ed5c9a49284f36aa5b97"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jun 29 13:22:12 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jun 29 13:22:12 2017 -0700"
      },
      "message": "Camera: adjust inflight list warning threshold\n\nTest: logspew is gone, CTS\nBug: 63113636\nChange-Id: Id663dbdb80439e80ca268986051a8196b31db227\n"
    },
    {
      "commit": "fad3228356ec81d11ec352dcf6dfaa4c6d4f82c0",
      "tree": "16ffa7d7060822ee5cc0d8156f0b0645e0639d23",
      "parents": [
        "40855085232566727e31de1ca8199275c6e2b393"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jun 27 19:04:48 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jun 28 13:26:23 2017 -0700"
      },
      "message": "Camera: fix camera status after HAL crash\n\nWhen camera HAL dies and cameraserver is still alive, make sure\nwe update camera status after HAL re-register itself.\n\nTest: kill hal process and run camera app, CTS\nBug: 63058983\nChange-Id: Iba7e6cbebb674994c905f7feb1776acc479b612f\n"
    },
    {
      "commit": "db7b0a5efffc05f0ef92843bc4c6e3532cea836a",
      "tree": "1e19d56ff9c1ba5ef8c80dbb9ab121db76f93160",
      "parents": [
        "f0ba75d52621fdd744d021cb78127ba07f89f7fe",
        "b4bec13dca8d0a3077c411bd0455e6267ac4aad4"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jun 23 22:51:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 23 22:51:51 2017 +0000"
      },
      "message": "Merge \"Camera: Add debug messages for camera latency\" into oc-dev\nam: b4bec13dca\n\nChange-Id: Ifac57b6f2e0ebd41e5dc375b49a687e403d839e7\n"
    },
    {
      "commit": "686f644f981badd481d8781bf80b221544df7b1f",
      "tree": "59d934e011bfa583d9747ca7c994c5e0fe755cc7",
      "parents": [
        "4226c955b64e672905b99b71f1b05798ecd30105"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jun 20 16:16:04 2017 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jun 23 12:05:16 2017 -0700"
      },
      "message": "Camera: Add debug messages for camera latency\n\nLog latency histogram of:\n- processCaptureRequest call,\n- dequeueBuffer call, and\n- waiting time for handout count fall below max_buffers\n\nTest: Camera CTS\nBug: 62651109\nChange-Id: I5ee1cdb4139fa359f0887d6f6871884e28739340\n"
    },
    {
      "commit": "a2f10fb5a0731dc54c06bd55f54ade38800069cd",
      "tree": "7d962dab0633d011f34f1d791a190deeb51f91a5",
      "parents": [
        "3c1ba2cd6276ee4304ba082fbe40fd870c1746c8",
        "9eef26c39af2f69b921e9d2e85d830bddcc31829"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 15 20:11:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 15 20:11:01 2017 +0000"
      },
      "message": "CameraService: ZslProcessor: Don\u0027t call back into BQ from callback\nam: 9eef26c39a\n\nChange-Id: I2db501eca0c737aa532b32684ce7ee2732f05d83\n"
    },
    {
      "commit": "9eef26c39af2f69b921e9d2e85d830bddcc31829",
      "tree": "955ef24de746778ee3b2db9b8486fff0e5e0309e",
      "parents": [
        "17d79b7da557e35ba888adeda69a5c5f4028bf61"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 15 10:33:03 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 15 10:33:03 2017 -0700"
      },
      "message": "CameraService: ZslProcessor: Don\u0027t call back into BQ from callback\n\nThis causes a deadlock.\n\nTest: Camera1 CTS passes\nBug: 62648829\nChange-Id: I88aed08fe952fead2b356861ba0a9e24c0535e92\n"
    },
    {
      "commit": "c6747867cb492bb090eaf3cc48b6cedb607eaacc",
      "tree": "2e5167ea34e4ef569a03f0e7af60647333f2966e",
      "parents": [
        "f4cd3b27e86502054f13540f620d8f79bb7a026c"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Jun 12 15:57:26 2017 +0100"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jun 12 21:17:52 2017 +0000"
      },
      "message": "Camera: Collect result metadata in case of output buffer errors\n\nOutput buffer error notifications during result processing shouldn\u0027t\nimpact the metadata result. As per API contract the result is still\nvalid and we should wait for it to arrive.\n\nBug: 62485653\nTest: Manual using application,\nComplete Camera/Camera2 CTS.\n\nChange-Id: I58de1b7c48d10e25a71a1ffb709e66e619a6bdcf\n"
    },
    {
      "commit": "bc83d65ea629d0213064d35d5efcabd7d67f2857",
      "tree": "aa56723ae6bee8ec20924ae2d7b1247533f3652b",
      "parents": [
        "0407b8bd3f4fd32dd1d71bb2361687151ab54aa9",
        "f3e343c14c30684d93bdec24751cd672aca5cce0"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Jun 06 21:27:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 21:27:06 2017 +0000"
      },
      "message": "Merge \"Workaround for Clang emitting spurious Wunused-lambda-capture warning\" am: 5a6046f0b7 am: e270ab96fe\nam: f3e343c14c\n\nChange-Id: I33a8cb72ea5010cfc629d7014bff76e703ff445d\n"
    },
    {
      "commit": "4910fe04f74b1e31d6c4283f39a4098049c0639f",
      "tree": "6df0e1f470ba39407549cad7ca1db124b59ea323",
      "parents": [
        "d09ea54b7b347792d758ed49529fe4b3fe692b33",
        "5d6ebe53418ae8783ac295a8753e287fbb187868"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jun 01 21:56:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 01 21:56:01 2017 +0000"
      },
      "message": "Merge \"Camera: Free buffers more aggressively\" into oc-dev\nam: 5d6ebe5341\n\nChange-Id: Idaff58724265933eac067c6e9b45fc0152bc65be\n"
    },
    {
      "commit": "debd04d3df0cef1231ad50630c8a0c931a0874c0",
      "tree": "e92973bdd1ed95cbb932540cdd12a8d43a683dde",
      "parents": [
        "7e3eaeb2e0258add61d777dc493e5e1a014b3729"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Jun 01 10:53:59 2017 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Jun 01 10:53:59 2017 -0700"
      },
      "message": "Workaround for Clang emitting spurious Wunused-lambda-capture warning\n\nBug: 38349491\nTest: Build\nChange-Id: I642108d456a1a9bd548cdeaf1ad46b98fc447c8a\n"
    },
    {
      "commit": "89954d931d7b952597dc8e29e7a87da31a4ae0b1",
      "tree": "4c4e5b48c53e2f6470ec0a9752ec0271bdb4f84e",
      "parents": [
        "629afae6135e6dc1e88ab4080f984fb30b3cdd7c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sun May 21 17:28:53 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed May 31 13:55:31 2017 -0700"
      },
      "message": "Camera: Free buffers more aggressively\n\nThis change attempts to free buffers managerd by\nBufferManager more aggresively to reduce memory pressure.\n\nAlso fix a small buffer accounting issue: check detachBuffer\nactually returns a non-null buffer.\n\nTest: keep taking single shot in GCA, CTS\nBug: 38483630\nChange-Id: I6c64d1dc2244cec4f1300bbf3992f66f2167eed2\n"
    },
    {
      "commit": "610aa7fbb0091c6e862761746202117277f69083",
      "tree": "ff16df497f65d0affc2147dabd059c3119d60395",
      "parents": [
        "c78fd0388a5fa37733d494ff9de138163566f3ee",
        "4d351037a53438ca0355efe6a845d29e3ef11bec"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 25 23:35:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 25 23:35:28 2017 +0000"
      },
      "message": "Merge \"Camera: fix new device register logic\" into oc-dev\nam: 4d351037a5\n\nChange-Id: I7cf0574ccdcaf684319634ee5ee8c3b4d68557c2\n"
    },
    {
      "commit": "4d351037a53438ca0355efe6a845d29e3ef11bec",
      "tree": "780b19135df394b6f8764baa9097b494adce5142",
      "parents": [
        "758e62457c63fffd32e7e26ffcead7276de800f5",
        "92e3321e41e10f2e07a71f9512a6cadef7f40b64"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 23:15:38 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 25 23:15:45 2017 +0000"
      },
      "message": "Merge \"Camera: fix new device register logic\" into oc-dev"
    },
    {
      "commit": "92e3321e41e10f2e07a71f9512a6cadef7f40b64",
      "tree": "3aa0b72e5228be234a71e3f5cdfc314805d62e94",
      "parents": [
        "d004c157bac96c4a180604bf304e0dbdb8bc11b5"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed May 24 15:54:15 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 25 12:30:56 2017 -0700"
      },
      "message": "Camera: fix new device register logic\n\nTest: smoking test GCA, CTS\nBug: 38452093\nChange-Id: I984cfbb61a7c4983e27f250f9825f9418cf940e9\n"
    },
    {
      "commit": "5357a1d3cf2dac2482649d950d1ea59b9ccccd5b",
      "tree": "bc6fdf2bc3c0416248fe114c6f7240661fecf471",
      "parents": [
        "cbb01d061a7e02933f3e5a0b900af08c2b1d4b3e",
        "e97d86657de7b733d1b767caa6301549e3b00e56"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed May 24 18:59:48 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 18:59:48 2017 +0000"
      },
      "message": "Merge \"Camera: Handle consumer side detach in BufferManager\" into oc-dev\nam: e97d86657d\n\nChange-Id: I7bbaa955597393746193ff365c533491e1d62389\n"
    },
    {
      "commit": "fd76cf5246c714a1c1ef10b2b974cacf0077f216",
      "tree": "ec816981bd5028b42b086c0183528f5bc1dc6699",
      "parents": [
        "38ad5e22885a4b02d0429ecb4c1b4446373a3551"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon May 15 10:01:04 2017 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue May 16 23:14:39 2017 -0700"
      },
      "message": "Camera: Handle consumer side detach in BufferManager\n\n- BufferQueue consumer may detach buffers, and BufferManager isn\u0027t\naware. Hook up onBufferRemoved callback so that BufferManager\u0027s internal\nhandoutBuffer and attachedBuffer counts can be updated when a buffer\nis detached.\n- Deleted some code that\u0027s not exercised any more.\n\nTest: Camera CTS and burst capture.\nBug: 38238747\nChange-Id: I6861da6e013fe5609907f807639c5d691c0c3af9\n"
    },
    {
      "commit": "5d183a921dfd6bd68e1ae5e8090c71579e909e16",
      "tree": "0f498bac2fe93c6a0803ff43cc424803943640f4",
      "parents": [
        "c97b068fbda412605497c56498be1e47ff6f955d",
        "c03b7307eba75fab7e617be5ad1f3f5a36f3f629"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon May 15 10:16:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 15 10:16:59 2017 +0000"
      },
      "message": "Merge \"Camera: Advertise only unique API1 compatible devices\" into oc-dev\nam: c03b7307eb\n\nChange-Id: I741aa04bee600b73d7f25699b4961ab3a4e14c6e\n"
    },
    {
      "commit": "c03b7307eba75fab7e617be5ad1f3f5a36f3f629",
      "tree": "49bf57d6629df8f4bcb8eb1b59887056d12d506a",
      "parents": [
        "feb0d87f693abd8fd2fa7ebfcdf7d91f0b95c131",
        "cdb74a6840fc4ae594afadf5eedc1d27106989ea"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 15 10:10:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 15 10:10:36 2017 +0000"
      },
      "message": "Merge \"Camera: Advertise only unique API1 compatible devices\" into oc-dev"
    },
    {
      "commit": "fae3f105f08adcf1576707a0a98d1df376ed5e93",
      "tree": "a1eb515aabe3b03e4b7f886a52955026877c650e",
      "parents": [
        "ee88546960e62e54f4b01ab00e6ace492f2d4cde",
        "9ec59fc5d016a609adffdb7e68236b9d5d05254d"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri May 12 11:56:02 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 11:56:02 2017 +0000"
      },
      "message": "Merge \"Camera: Close acquire fences on failed buffers\" into oc-dev\nam: 9ec59fc5d0\n\nChange-Id: Ie4bdccb86aed6434a824b5904eb0711c54c1ec35\n"
    },
    {
      "commit": "ee88546960e62e54f4b01ab00e6ace492f2d4cde",
      "tree": "2244db6b8712d8e7b8ed1f6bfee68709686bfcf4",
      "parents": [
        "bd072244aa7eb34ce553f650932a3b532701d543",
        "d1cdbf268afaef3f70768d45f9aed14e64689530"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri May 12 11:55:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 11:55:33 2017 +0000"
      },
      "message": "Merge \"Camera: Re-enumarate new providers\" into oc-dev\nam: d1cdbf268a\n\nChange-Id: I1dc221c5c01ba0b666c365fb13931c07aedee7c8\n"
    },
    {
      "commit": "9ec59fc5d016a609adffdb7e68236b9d5d05254d",
      "tree": "0f5f8278f2497825cb8ffba25ba4579d94a6a05a",
      "parents": [
        "d1cdbf268afaef3f70768d45f9aed14e64689530",
        "c58cf4c4104b001425f9d4a36f3e5441874efd3d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 12 11:49:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 12 11:49:59 2017 +0000"
      },
      "message": "Merge \"Camera: Close acquire fences on failed buffers\" into oc-dev"
    },
    {
      "commit": "cdb74a6840fc4ae594afadf5eedc1d27106989ea",
      "tree": "4cde7e0448bdca16928521ae15df36417d5fb4eb",
      "parents": [
        "c7205dc331139d2b9e2e096bf2cb7ec7a8137664"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu May 11 20:29:52 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri May 12 10:18:09 2017 +0100"
      },
      "message": "Camera: Advertise only unique API1 compatible devices\n\nProviders could have devices with same id but different\nAPI versions. The total number of API1 compatible devices\nneeds to consider only the unique ids in this case.\n\nBug: 38237265\nTest: Manual using application\nChange-Id: I5a31c3cd28f00e8af3029213711505e4075a61b2\n"
    },
    {
      "commit": "c58cf4c4104b001425f9d4a36f3e5441874efd3d",
      "tree": "8d491ec841455391a127fed1c3e80c79a9fd5e9f",
      "parents": [
        "2d12b8e3677c2c6b620358fa7e4699dda8c0f0bc"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu May 11 17:23:41 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu May 11 17:51:21 2017 +0100"
      },
      "message": "Camera: Close acquire fences on failed buffers\n\nBuffers that didn\u0027t get a chance to be processed\nmight still hold valid acquire fences. Check and\nclose those if necessary.\n\nBug: 38229510\nTest: Manual using application\nChange-Id: I8e823a655cc30ed966e277ace090e96c64ba1c8c\n"
    },
    {
      "commit": "aee727dd2f16bf299f738542b5e72fc72671f770",
      "tree": "e260620ec07770ac742e20172bbf8bee5649d2f6",
      "parents": [
        "2d12b8e3677c2c6b620358fa7e4699dda8c0f0bc"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu May 04 16:35:48 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu May 11 15:16:00 2017 +0100"
      },
      "message": "Camera: Re-enumarate new providers\n\nCamera service should enumarate newly added\ncamera providers.\n\nBug: 37592461\nTest: Manual using camera application\nChange-Id: I4c886b99127d23148c70ce1e1e773cb8393d91b4\n"
    },
    {
      "commit": "7c4573fedc6bb0da6e5f6b8c1ad6937c60b2f4d4",
      "tree": "7bb3eb7b6c19922356da757535af7f88307a2f7d",
      "parents": [
        "cd3b59c8ba5da18eb4f501b62f4e583027bc3e9d"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu May 04 11:22:01 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu May 04 21:55:36 2017 +0000"
      },
      "message": "Remove redundant dependencies\n\nandroid.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.\n\nTest: links\nBug: 33276472\nChange-Id: I1e33404a582a3707e0990634467c1fc7430c23a2\n(cherry picked from commit 240b83a455a047c7693419d7d7bd948de6614dbe)\n"
    },
    {
      "commit": "63eb7e79cf94662a5412fd6e473cf12f5f48eef0",
      "tree": "1c01d5f29622fa3f18da515afa27e7d0b2997943",
      "parents": [
        "9b6cd785f3854e47e1874df60163b0e8207bc5d9",
        "f53f66edb3b06d1df5caf1fa806f7ed95305a4cf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 04 07:30:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 04 07:30:55 2017 +0000"
      },
      "message": "Merge \"Camera: Cleanup \u0027CameraModule\u0027 dependend code\" into oc-dev"
    },
    {
      "commit": "c5cbb87d00ead068a7088db4060bce1c0e699b8c",
      "tree": "1c86d0d823e7a924c3002c469f2ea03d1d86596b",
      "parents": [
        "76e360332d7e0e4c0c132bf712c14f5a8ee2a217"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Apr 27 12:48:33 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon May 01 20:31:43 2017 +0000"
      },
      "message": "Camera service: Don\u0027t crash if the camera HAL dies mid-use.\n\nCheck for transaction errors in all calls to the HIDL interface;\nreturn DEAD_OBJECT consistently if a transaction error occurs.\n\nTest: Camera CTS does not regress; killing camera HAL does not kill camera service.\nBug: 37748853\nChange-Id: Iab3ad08376e164db340f8f29c3cfc7fdf261cc00\n"
    },
    {
      "commit": "f53f66edb3b06d1df5caf1fa806f7ed95305a4cf",
      "tree": "400f752c1b17be1b97177a9b321aa2f482243d39",
      "parents": [
        "7b171c2aa37a5ff2d99a7c8920e610b2f53f4cfe"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 11 14:29:43 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Apr 28 11:36:46 2017 +0100"
      },
      "message": "Camera: Cleanup \u0027CameraModule\u0027 dependend code\n\nCameraModule is already part of the HIDL wrapper and\nis no longer needed in the service code.\nAdd extra logic in camera provder manager for identifying\ncamera API1 compatible devices.\n\nBug: 34392075\nTest: Complete Camera CTS\nChange-Id: I64a49e9091557c88859872d0c599c5be378db8b5\n"
    },
    {
      "commit": "7e8d4590f75afc2b271e7d2e5762ac43d56728db",
      "tree": "129128aa1747ebfdd807a119106c6e4ecae9e8d7",
      "parents": [
        "2a53da4379f1a5624203673cce8c1773b0cffa50"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Apr 10 14:45:09 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 25 20:02:21 2017 +0100"
      },
      "message": "Camera: Cleanup \u0027Camera2Client\u0027 device dependend code\n\nBug: 34392075\nTest: Manual using application.\nChange-Id: I365b83c9cfbfe3ddbd9d41f2aa9788490b87b5cf\n"
    },
    {
      "commit": "2a53da4379f1a5624203673cce8c1773b0cffa50",
      "tree": "a2289da83a6b0205fbd9662c59464fa0e49f82c6",
      "parents": [
        "7e25e5e2195823b4b9cbe61c072b9267297cab34"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Apr 10 12:02:42 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 25 20:02:16 2017 +0100"
      },
      "message": "Camera: Remove RAW boost value override logic\n\nRAW boost value will be inserted by HIDL wrapper. The logic\nneeds to move there.\n\nBug: 34392075\nTest: runtest -x\ncts/tests/camera/src/android/hardware/camera2/cts/DngCreatorTest.java\nChange-Id: I7d4321d728eba11b5ec1345536bb669d70f3cffc\n"
    },
    {
      "commit": "7e25e5e2195823b4b9cbe61c072b9267297cab34",
      "tree": "3760e9ceddb453238a327e0dfda86b017ea167eb",
      "parents": [
        "08dd245c7c30900637197065213fbaa2b2a5c1ee"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Apr 07 15:48:49 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 25 20:02:12 2017 +0100"
      },
      "message": "Camera: Remove AE pre-capture trigger cancel override\n\nBug: 34392075\nTest: runtest -x\ncts/tests/camera/src/android/hardware/camera2/cts/StillCaptureTest.java\n-m testAePrecaptureTriggerCancelJpegCapture\nChange-Id: I0e632c83fb3ae0e4df26fe35bf1ef8441c1f20fa\n"
    },
    {
      "commit": "08dd245c7c30900637197065213fbaa2b2a5c1ee",
      "tree": "b21e325bd5604c83dcc263ef2a6f5881ca2f9c98",
      "parents": [
        "94cfe137a105ec7db047e963e18483425e0d2272"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Apr 06 16:55:14 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 25 20:02:07 2017 +0100"
      },
      "message": "Camera: Make device related code version agnostic\n\nCamera device related code should be agnostic w.r.t.\ndevice version as much as possible. Specifically the\nfollowing requirements must hold true:\n- Since support for devices 3.0\u00263.1 is deprecated\n\"ANDROID_QUIRKS_USE_PARTIAL_RESULT\" is no longer considered.\n- \"ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS\" is always\nused instead of the deprecated \"ANDROID_SCALER_AVAILABLE_JPEG_SIZES\".\n- Buffer manager for camera streams is used for dynamic buffer\nallocation.\n- \"flush\" is always used instead of waiting for buffers to drain.\n- Similar to \"flush\" stream \"tearDown\" is always available.\n- Dead code handling buffer registration is removed.\n\nBug: 34392075\nTest: Manual using camera application\nChange-Id: If1b215f785ba61c6991fdf163d4eb18733690471\n"
    },
    {
      "commit": "698f0a75c3740ac100b0b3ab89a6ab2453a3dadc",
      "tree": "8af94c73e7b580c8da1ea7d1719a9ebf5e385d92",
      "parents": [
        "4aa3bd0474befeff4d410b5ef5dad630ea4d2879"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Apr 05 11:20:09 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Apr 21 17:24:44 2017 +0100"
      },
      "message": "Camera: Clear available callback buffers during recording stop\n\nMake sure we don\u0027t keep any stale available callback buffer\nreferences after recording stops. This can lead to resource\nleaks.\n\nBug: 36478361\nTest: Complete Camera/Camera2 CTS tests\nChange-Id: I9f72b784ba3ae1cf9f9b16064a13b7ba8a1d0394\n"
    },
    {
      "commit": "2a6a4689d39b4b4ad1f5d690ac54cce0fd6aae6c",
      "tree": "edf8d6df1cff170dc9327fd46aea8c9f3b37d124",
      "parents": [
        "5551797eb2d813ef01e23eb93fd680bc1e0dd886"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Apr 20 10:58:51 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Apr 20 13:13:59 2017 +0100"
      },
      "message": "Camera: Ignore buffer handle \u0027int\u0027 section\n\nBufer handle hashing and comparison currently uses the buffer\n\u0027Int\u0027 section along with the Fd section. However the values there\ncan dynamically change after the buffer gets allocated which will\nintroduce side-effects in the buffer id map.\n\nBug: 37257356\nTest: Complete Camera/Camera2 CTS\nChange-Id: I2cf09ced69f155285dae67b3a2502e6b87f7d9cc\n"
    },
    {
      "commit": "e9e78196f9e1b4f7cb787b089710e0e8c6c32432",
      "tree": "fe535176f6d8f355dedf0b0739d6eea2bdb80292",
      "parents": [
        "1b1e248f69f3933cef4aab97ee8388151145bbc9",
        "238ef5f352a59e97a90e2f9af88a27ad705442e5"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 19 00:12:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 19 00:12:24 2017 +0000"
      },
      "message": "Merge \"Camera: allow shifted camera metadata for some interface\" into oc-dev"
    },
    {
      "commit": "1b1e248f69f3933cef4aab97ee8388151145bbc9",
      "tree": "350b074417f347745079673051dc08d518f4e934",
      "parents": [
        "5c1b4f3a1d42f1a9eeecb20881c28d48edec4f90",
        "067606686b9f8bf78580f07dbde78989b755dcbc"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 19 00:12:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 19 00:12:02 2017 +0000"
      },
      "message": "Merge \"Camera: use framework VideoNativeHandleMetadata header\" into oc-dev"
    },
    {
      "commit": "238ef5f352a59e97a90e2f9af88a27ad705442e5",
      "tree": "db99451cfa4f006f84c28aac58733c34d42425f3",
      "parents": [
        "067606686b9f8bf78580f07dbde78989b755dcbc"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 18 15:01:15 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 18 15:01:15 2017 -0700"
      },
      "message": "Camera: allow shifted camera metadata for some interface\n\nAllow shifted metadata when the buffer is allocated by\nhwbinder (which might allocate buffers to 4 bytes boundary\non 32-bits CPU)\n\nTest: compile, GCA working\nBug: 37095012\nChange-Id: I404b73ac3b460f5ff03cb64001c24f7a05b91396\n"
    },
    {
      "commit": "a81ce34cf26bc344474380885ec1c9af2c6543ef",
      "tree": "631064666980b7714cbbbd22e58ce9f720006016",
      "parents": [
        "2efd6be69a00b55bd2c20f27a99039b5ac2c5ff3"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Apr 13 15:18:36 2017 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 18 11:08:33 2017 -0700"
      },
      "message": "Camera: Make finalizeOutputConfigurations more resilient\n\nThere could be race in application where finalizeOutputconfigurations\ndoesn\u0027t include any new surface. Do not fail in this case.\n\nTest: CameraStressTest#testBackCameraSwitchPreview\nBug: 36811459\nBug: 35137641\nChange-Id: Ic185e6d8bfcb8af5b81a33fbbd2fd4e49cc647ce\n"
    },
    {
      "commit": "067606686b9f8bf78580f07dbde78989b755dcbc",
      "tree": "e6c074abefe29ef4167714d057d34eeb26f59bf6",
      "parents": [
        "2efd6be69a00b55bd2c20f27a99039b5ac2c5ff3"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 17 17:37:03 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 17 17:37:03 2017 -0700"
      },
      "message": "Camera: use framework VideoNativeHandleMetadata header\n\nTest: build\nBug: 35625849\nChange-Id: I8e95677267646f897abdf94881ef335635461c0a\n"
    },
    {
      "commit": "2efd6be69a00b55bd2c20f27a99039b5ac2c5ff3",
      "tree": "4da0d7a32a2c60e89d57087692a7c3c95bb6ef00",
      "parents": [
        "061d5b8c59dc6ab2ca747da21f0f67a4479973cf"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 31 14:37:36 2017 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Apr 17 14:17:37 2017 -0700"
      },
      "message": "Camera: Use slowJpeg if JPEG minimum duration is less than preview fps\n\nIf the minimum duration of JPEG is less than the frame duration derived\nfrom maximum fps, enable slowJpeg mode so that JPEG doesn\u0027t slow down\npreview.\n\nCap the default max fps to 30 so that the switch between different\nsensor modes can be minimized while still allowing the app to go higher\nthan 30fps.\n\nTest: Camera1 CTS\nBug: 36692074\nChange-Id: If4d367ac587c0f4d3620ca2d25063c5a12ebfceb\n"
    },
    {
      "commit": "a640c5a8731adb001b955192ce032c69c7322849",
      "tree": "3fd97031ef925fa418816e5cc24e2bbd926f0e3f",
      "parents": [
        "997b94353ae6a3201416dfb40a9f03573144f849"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Apr 12 16:30:31 2017 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Apr 14 13:27:15 2017 -0700"
      },
      "message": "Use fmq for camera capture result.\n\nTest: camera works.\n\nBug: 35788245 [Treble] Pass camera metadata using shared memory\n\nChange-Id: I344212cfd80f6df4e5aec01ec3f12f1ee9bb71c8\n"
    },
    {
      "commit": "f79b55484121b70652411272cf286a3bebd4fdb6",
      "tree": "80b57e63c90b05ce025180e86e448adc2418e806",
      "parents": [
        "7faba5ea99bfa9f76be3f38fd26193fdd56e9485"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Apr 11 14:44:25 2017 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Apr 13 11:51:48 2017 -0700"
      },
      "message": "Use fmq for camera capture request.\n\nTest: camera works.\nBug: 35788245 [Treble] Pass camera metadata using shared memory\n\nChange-Id: I58d7f6ef91ff45680840bf61a431a0c071ebbdfb\n"
    },
    {
      "commit": "68dbd4ea14b11b2da16cadbce0edc574e05b5f5d",
      "tree": "9ded8fa57f7f85979ff2858176a4634f58ecfa2d",
      "parents": [
        "c24deb62e9809fd812e2ceac688ff766bf31b5ae"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 11 11:44:29 2017 +0100"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Apr 11 17:47:48 2017 +0000"
      },
      "message": "Camera: Update service test for multiple vendor providers\n\nAppending to a source with valid vendor id from a metadata without\nvendor id should be supported.\n\nBug: 37198452\nTest: CameraProviderManagerTest.MultipleVendorTagTest\nChange-Id: Ic0b160216386fcfe1aa57b7e4a363b405459b3d0\n"
    },
    {
      "commit": "8d8ebcaa7d13f163abee5bbf23b4e5a21fbfb44c",
      "tree": "edb53b5b3d2d87fc6374adf405dad3990c41efa7",
      "parents": [
        "2caa3a6a5e5d0c71c09ef18dd646909a1c010598",
        "67a0c0e77dce4dccc9155f4bfce490d167457c8a"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Tue Apr 11 01:08:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 11 01:08:39 2017 +0000"
      },
      "message": "Merge \"libcameraservice: update for revised HIDL gralloc\" into oc-dev"
    },
    {
      "commit": "0ba7cd85016caac178ee8e52f067ca9c42511dc3",
      "tree": "765c7252b001eeb4ae16997012c495f45c214e03",
      "parents": [
        "04ecef31886cdcd41eff19f80a905c95abe57177",
        "5b3570dcede02e7427b0bf3350499974ec8c75c7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 10 12:21:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 10 12:21:41 2017 +0000"
      },
      "message": "Merge \"Camera: Don\u0027t advertize zoom in case max digital zoom is 1\" into oc-dev"
    },
    {
      "commit": "04ecef31886cdcd41eff19f80a905c95abe57177",
      "tree": "71ab6cd993dcf6e833bf0516346164db3876e3b2",
      "parents": [
        "7b0e5146eef88ea22ab94934edf46f09a89d6803",
        "2638f7216de92f254a50dd55be1539f1c6b23552"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 10 11:51:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 10 11:51:10 2017 +0000"
      },
      "message": "Merge \"Camera: Advertise AE/AWB locks in case they are supported\" into oc-dev"
    },
    {
      "commit": "67a0c0e77dce4dccc9155f4bfce490d167457c8a",
      "tree": "008b2cd9b0fbf367118eb6aabef502af5e839468",
      "parents": [
        "ef0b6b64144b6e062bbb445a6df73c365b66646d"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 06 13:37:01 2017 -0700"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Apr 07 11:30:12 2017 -0700"
      },
      "message": "libcameraservice: update for revised HIDL gralloc\n\nThere is only BufferUsage instead of ProducerUsage/ConsumerUsage\nnow.\n\nTest: make\nChange-Id: I265ca4c27e284fb1f704659efd74355f82d3c192\n"
    },
    {
      "commit": "71c73a2985a7ac65ee597be3441ab300fa56e22e",
      "tree": "8f702e303a177904911b397237bde5cfd96e6fbb",
      "parents": [
        "98e11c12e6f5bd64e5d6930a2bbd3522a309d6b1"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 21 16:35:51 2017 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Apr 05 11:57:02 2017 +0000"
      },
      "message": "Camera: Support vendor tags from multiple providers\n\nDifferent vendors could have different vendor tags.\nA global vendor tag cache will store all available\nvendor tag descriptors from different providers.\nThe cache will then be shared with each camera client.\nCamera metadata will use specific vendor ids stored\nin the metadata buffer to identify the correct vendor\ntag provider.\n\nBug: 34275821\nTest: adb shell /data/nativetest/cameraservice_test/cameraservice_test\n--gtest_filter\u003dCameraProviderManagerTest.MultipleVendorTagTest\nComplete Camera/Camera2 CTS tests\nChange-Id: I2262128f21a0167504f018230624e2a89786c467\n"
    },
    {
      "commit": "47cf8e62b81770c0896aac444ef22a840b3a2c5e",
      "tree": "9744b05c0c22855b54fd7a1eafdc2b0a837b3de3",
      "parents": [
        "80158939f9ce31676d6520ff97dc3af4a9760a7f"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 04 13:00:03 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 04 13:18:41 2017 -0700"
      },
      "message": "Revert \"Camera: Map between bufferqueue gralloc0 usage, and HIDL gralloc1 usages\"\n\nThis reverts commit 1a2f15daf13552e86324025cf6d31d887cd8fa02.\n\nTest: fix b/36876770\nBug: b/36876770\nChange-Id: Ie7b8c9ee444e3e8667154b396e3e6a556b54739a\n"
    },
    {
      "commit": "5b3570dcede02e7427b0bf3350499974ec8c75c7",
      "tree": "b59c0c519045a1ab92a10e8fecd0db8b3b9152ce",
      "parents": [
        "ac3e2cce871b7cdbb0526d4af9d0bc477e795b2e"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 04 13:57:10 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 04 14:02:11 2017 +0100"
      },
      "message": "Camera: Don\u0027t advertize zoom in case max digital zoom is 1\n\nMark immediate zoom as not supported in case the camera has\nmaximum digial zoom close to 1. This will avoid corner\ncases wehere we can have \u0027NUM_ZOOM_STEPS\u0027 all equal to 1.\n\nBug: 33093106\nTest: Complete CameraTest CTS package\nruntest -x cts/tests/camera/src/android/hardware/cts/\n\nChange-Id: I039276385de74192375f36b1504dd89cb8ae0c52\n"
    },
    {
      "commit": "2638f7216de92f254a50dd55be1539f1c6b23552",
      "tree": "9fc2158f12faadce364725b972b1dc37355289dd",
      "parents": [
        "ac3e2cce871b7cdbb0526d4af9d0bc477e795b2e"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 04 11:45:41 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 04 12:24:25 2017 +0100"
      },
      "message": "Camera: Advertise AE/AWB locks in case they are supported\n\nAE/AWB lock availability is present in the camera static metadata.\nCheck whether they are supported before advertising them in Camera\nParameters.\n\nBug: 33091727\nTest: Complete CameraTest CTS\nruntest -x cts/tests/camera/src/android/hardware/cts/\nChange-Id: I9a8cc8ffcc28b6b476904c3c011ab0ec65b162c9\n"
    },
    {
      "commit": "ac3e2cce871b7cdbb0526d4af9d0bc477e795b2e",
      "tree": "4df0c3b8c8665299ad3436119f175f198ae34476",
      "parents": [
        "03857c4b5a029a588b647532e907a875026e593a",
        "ba0fac313cc2451681f62a398253c2c01c1c61e7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 09:55:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 09:55:23 2017 +0000"
      },
      "message": "Merge \"Camera: Try to remove inflight requests during error notifications\" into oc-dev"
    },
    {
      "commit": "03857c4b5a029a588b647532e907a875026e593a",
      "tree": "2d21803a5c7cb78b2c915b50beeec9ab098fac91",
      "parents": [
        "654be2e6354e4685393c8c1bc8408ae6579ce7dd",
        "017d49c409af17a2e0ef3ca48fadb1b5a5ec3fe4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 00:33:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 00:33:16 2017 +0000"
      },
      "message": "Merge \"Camera: add buffer freed notification for output streams\" into oc-dev"
    },
    {
      "commit": "654be2e6354e4685393c8c1bc8408ae6579ce7dd",
      "tree": "497e29903fbac5ddf99b307cfd90ac0561e3c74c",
      "parents": [
        "ff4e56e96d3d84ad6431c57bc473d8d028890d77",
        "be83fa713da45b1c751d33ad69ce0017ebe9f707"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 00:31:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 00:31:01 2017 +0000"
      },
      "message": "Merge \"Camera: add buffer freed notification interface\" into oc-dev"
    },
    {
      "commit": "017d49c409af17a2e0ef3ca48fadb1b5a5ec3fe4",
      "tree": "171c3f4c91d4066d8f1e6d8c2f73e1e0c7b25859",
      "parents": [
        "be83fa713da45b1c751d33ad69ce0017ebe9f707"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 31 19:11:00 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 03 15:05:42 2017 -0700"
      },
      "message": "Camera: add buffer freed notification for output streams\n\nTest: ReprocessCaptureTest fixed\nBug: 34461678\nChange-Id: Icd5af79a8f7fc35b0a040c57a639ae6777e71024\n"
    },
    {
      "commit": "ff4e56e96d3d84ad6431c57bc473d8d028890d77",
      "tree": "dc451cf600ead91000cbae55a53c4123a27b1f6e",
      "parents": [
        "755ca9b427035040f3e1722b5f0db3720a08bbfa",
        "1a2f15daf13552e86324025cf6d31d887cd8fa02"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 03 22:03:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 22:03:14 2017 +0000"
      },
      "message": "Merge \"Camera: Map between bufferqueue gralloc0 usage, and HIDL gralloc1 usages\" into oc-dev"
    },
    {
      "commit": "be83fa713da45b1c751d33ad69ce0017ebe9f707",
      "tree": "b061d7dc0e4ca3e4085758e9d03bb1031692c5fc",
      "parents": [
        "32efa2fd44f9ac834771663cd9fe2fcc5f5ec2f8"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 30 13:35:36 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 03 14:44:11 2017 -0700"
      },
      "message": "Camera: add buffer freed notification interface\n\nTo cleanup caches of obsolete buffers.\nThis CL addressed the input stream bit, the output\nstream hook will be a followup CL.\nAlso cleanup some dead API in CameraDeviceBase.h\n\nTest: fix CTS ReprocessCaptureTest\nBug: 34461678\nChange-Id: I801cd81c29becaa45630ed0a5c2dab8df1278a6a\n"
    },
    {
      "commit": "ba0fac313cc2451681f62a398253c2c01c1c61e7",
      "tree": "f6a6585468ccbae6c851c5357bacc938099e8cc8",
      "parents": [
        "32a81b609574523c69e3534337c222f3294a050d"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Mar 30 09:05:34 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Apr 03 08:39:28 2017 +0000"
      },
      "message": "Camera: Try to remove inflight requests during error notifications\n\nMake it possible for clients to clear the internal inflight queue\nas part of error result notifications. For this to work all pending\nbuffers must be returned previously with the exception of the\nresult metadata.\n\nBug: 35652756\nTest: Complete Camera/Camera2 CTS without any regressions.\nChange-Id: I9d8a6b63364fd254311cda2f8c836b99ee05cacb\n"
    },
    {
      "commit": "b5df547bce900fa5764d735bee304e79c001d60d",
      "tree": "8c44905bfa88178d5dd546b9bae8bbaf9397b3a1",
      "parents": [
        "32efa2fd44f9ac834771663cd9fe2fcc5f5ec2f8"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 20 19:32:19 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sat Apr 01 13:13:36 2017 -0700"
      },
      "message": "Camera: HAL1 recording batching support\n\nTest: Angler HAL1 + batching normal recording mode\nBug: 35997432\nChange-Id: If088715ccdb40163f44150c16deed62432692c07\n"
    },
    {
      "commit": "1a2f15daf13552e86324025cf6d31d887cd8fa02",
      "tree": "b965621c2ee9c54f62b95a125268115d40aa492f",
      "parents": [
        "be3d40cadb8490291512a6d7882791dda9104316"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Mar 23 15:37:22 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 29 15:38:29 2017 -0700"
      },
      "message": "Camera: Map between bufferqueue gralloc0 usage, and HIDL gralloc1 usages\n\nOtherwise some bits aren\u0027t where they\u0027re supposed to be.\n\nAlso stop using HW_CAMERA_ZSL; we need to only set HW_CAMERA_READ, and it\u0027s\nconfusing to set a producer flag on the consumer usage side.\n\nTest: Camera CTS passes\nBug: 35215313\nChange-Id: I23e6e60bf875fe9d8f2d7a1f805d2ef854c16b97\n"
    },
    {
      "commit": "be3d40cadb8490291512a6d7882791dda9104316",
      "tree": "361ccc398028c2279cdb19025b533028d8be1ccb",
      "parents": [
        "5f8beee0ea76ffe5cc40a517e8db43dbd64fbeff"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Mar 27 13:03:10 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 28 08:16:44 2017 +0000"
      },
      "message": "Camera: Update \u0027indexOfKey\u0027 return check\n\nMethod \u0027indexOfKey\u0027 will return \u0027NAME_NOT_FOUND\u0027 error\nstatus in case it doesn\u0027t find any values matching the\ngiven key. Checking for anything other than this error\ncode could lead to instabilities.\n\nBug: 35925482\nTest: Manual using application\nChange-Id: Ie72eb29776b27a6d485f6e42ee7e62c62795ca9e\n(cherry picked from commit 4219c290e526c6cb1767038776fff4f9b5d74cc7)\n"
    },
    {
      "commit": "abd441afaa247044a6849c66a41fb025dcb5c811",
      "tree": "af1c77b6203841f4dda6ed65f12f39a33e19f91b",
      "parents": [
        "d0722779b39fecb7ca06aa05d87cb9e88b10ba53",
        "dc3134e3f612050ae2c8a0d847bf091c53ed2f4c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 25 20:41:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 25 20:41:15 2017 +0000"
      },
      "message": "Merge \"Camera: fix FlashLightTest\""
    },
    {
      "commit": "dc3134e3f612050ae2c8a0d847bf091c53ed2f4c",
      "tree": "c5ab97c9401c629f0f30986c42c07168e086cc37",
      "parents": [
        "e8e9e191502ce306a04221e10ea2fe06ee40cacb"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 23 15:26:59 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 24 11:45:35 2017 -0700"
      },
      "message": "Camera: fix FlashLightTest\n\nFix issues related Treble HAL1 path.\n\nTest: FlashLightTest pass on Angler HAL1/module 1.0\nBug: 35674539\nChange-Id: I6bd749464c0e6e437a4743d2d66a0a5f54cdba38\n"
    },
    {
      "commit": "afa8a910f065246c8c59386b8b0d9d96669ac85c",
      "tree": "d1242e9268c1fa28b299551239366aa36d57c273",
      "parents": [
        "e8ecda97764c45c86f71b50f7eff3e30ee9f540c"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Mar 15 10:51:27 2017 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Mar 21 09:24:40 2017 -0700"
      },
      "message": "Camera: Do not crash if detachNextBuffer fails\n\nTest: Camera CTS\nBug: 33777818\nChange-Id: I965d741df6ce6bdb701dbe1d721cf42ea53c7a40\n"
    },
    {
      "commit": "e8ecda97764c45c86f71b50f7eff3e30ee9f540c",
      "tree": "e3c7be3719a193ed4325ba9e02873d48a9e68e14",
      "parents": [
        "5ea3c11508eaf1fb1167099cfaed1752730c4e4a"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Feb 20 17:10:28 2017 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Mar 21 09:24:22 2017 -0700"
      },
      "message": "Camera: Allow different kinds of IMPLEMENTATION_DEFINED surfaces to share\n\nDo not guard against mismatching usage flag and data space for\nIMPLEMENTATION_DEFINED formats, so that different formats can share\nthe same stream if HAL support is available.\n\nTest: Camera CTS\nBug: 33777818\nChange-Id: I62a1f458c06ae417c9a2c407d433319a1158fdcc\n"
    },
    {
      "commit": "e8e9e191502ce306a04221e10ea2fe06ee40cacb",
      "tree": "68d436e9e51efc24598df0e8e5a0553afc8e369b",
      "parents": [
        "94c68e09c9a9f30a68ce46b5efb5795fccb34616"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 16 15:23:51 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 17 14:44:32 2017 -0700"
      },
      "message": "Camera: fix number of cameras logic\n\nTest: no Camera CTS regression\nBug: 36289841\nChange-Id: I7218347a0f2e8184dd43a9f35acc0554b761e15e\n"
    },
    {
      "commit": "94c68e09c9a9f30a68ce46b5efb5795fccb34616",
      "tree": "6c2af97b3bd661633c94abd342783b1ff8b90ccb",
      "parents": [
        "7ec2a45e48f6c24a5e8fa96416d8793329b79d2f"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 06 14:09:44 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 17 14:44:32 2017 -0700"
      },
      "message": "Camera: add batching support for HFR\n\nTest: GCA slow motion recording workin\nBug: 34899394\nChange-Id: Icf56458d3fa6f0b4a6b8cfffe6a61da0626e81ec\n"
    },
    {
      "commit": "403044af4352f6d56aef0fb9548d2bfce56d3127",
      "tree": "9c6646efcf3b2fa54143e48401df34c1466a1a20",
      "parents": [
        "52d0204d8fb9c293e4db67ed10b0491f006b5fbe"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sun Feb 26 23:29:04 2017 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 17 10:04:28 2017 -0700"
      },
      "message": "Camera: Fix error check for HFR timestamp\n\nWith Camera HAL sending empty metadata for HFR batching, service\nshouldn\u0027t check matching timestamp for empty metadata.\n\nTest: Manually test high speed recording\nBug: 35775704\nChange-Id: I68f3c16ea9a91f15c70e406540764b02cb6951e1\n"
    },
    {
      "commit": "8ce2339cb7dc61e5fac5af90ce73716dc9e3ba52",
      "tree": "68564e43b8249da15c05534be600dee0fd6a0e18",
      "parents": [
        "bb2e149ef409b7e14463c0fa84f99b877c96902e",
        "4a472663e85585403ad0d15e1bf5b37c10628dd0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 17 00:32:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 17 00:32:55 2017 +0000"
      },
      "message": "Merge \"Camera: Send shutter and result once per batch\""
    },
    {
      "commit": "b96b515ac582b05c4be87956d4f4a55f943ed7ae",
      "tree": "a61a3afecc75c51f87818075b12fe33d8be038d3",
      "parents": [
        "1ac2e2bdf0d232b4518020de7b923c0241b27137",
        "8d942f9a5c5affcdc6f1138d4ce3bac4b7ee53d5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 14 20:17:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 14 20:17:58 2017 +0000"
      },
      "message": "Merge \"CameraProviderManager: Handle transaction errors, HAL process death\""
    },
    {
      "commit": "8d942f9a5c5affcdc6f1138d4ce3bac4b7ee53d5",
      "tree": "ec67e1fa50c270f87dd5db898c4d2adf30d3b1b8",
      "parents": [
        "3ecd658d0e403726cc8e03a4b4a4fdc81a0ec5d3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 13 10:09:51 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 13 12:46:34 2017 -0700"
      },
      "message": "CameraProviderManager: Handle transaction errors, HAL process death\n\n- Register and handle camera provider deaths\n- Check for transport errors on all provider calls\n- Clean up provider callback locking\n\nTest: No camera CTS regressions\nBug: 35096594\nBug: 35441122\nChange-Id: I08117f38f5201368a28093debdbcae67a68a4e7\n"
    },
    {
      "commit": "5ff9c91a90d7d5fad49de38bc314910251b25774",
      "tree": "8b388e36722a5a3514e3f1118bb3f6f3acd20235",
      "parents": [
        "ca47e6d574cd3d02821b87657a80d84b328d4f26"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Mar 09 23:13:00 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Mar 09 23:13:00 2017 -0800"
      },
      "message": "cameraservice: remove String\\d+::std_string\n\nPart of removing libc++ from libutils.\n\nBug: 35363681\nTest: pass\nChange-Id: Iae07bb7a5e3ce4794e0b999249c2e101e860e64a\n"
    },
    {
      "commit": "2752e5b66ac80b5d6bcba1db186f29f86722956b",
      "tree": "56718dcfb2d642a6eb8d074d95033cf186541170",
      "parents": [
        "22fd9de35b387f1ed808f4fe6e0b87eac3e82690"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 27 18:26:48 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 08 23:10:24 2017 +0000"
      },
      "message": "fallout of getting rid of IGraphicBufferAlloc\n\nTest: compile \u0026 run\nBug: cleanup\nChange-Id: Ifba0668d798c523c556ca7dae2c172711a256b05"
    },
    {
      "commit": "4a472663e85585403ad0d15e1bf5b37c10628dd0",
      "tree": "a6e9a6f6ee288011890054c81e21f2b711c87bdd",
      "parents": [
        "0012417ddc1320c6df79258266da1e869036b211"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sun Feb 26 23:29:04 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 08 12:56:36 2017 -0800"
      },
      "message": "Camera: Send shutter and result once per batch\n\nFor High Speed Recording, only send the shutter and result for the last\nrequest in the batch, and count on the application process to derive\nother results in the batch.\n\nThis reduces the binder transaction between the two processes, and saves\npower.\n\nTest: Manually test high speed recording with GCA, and CTS\nBug: 35775704\nChange-Id: I3e1b4c1db3d1d1044400d825e2affa4461362b39\n"
    },
    {
      "commit": "e7091aa805f44bc030235b4f5de12c151a35312a",
      "tree": "2e0bc77751cefa5f6d8cdddf7c89bd7d299da5d5",
      "parents": [
        "bbbbe84b3a7296c9c3266bb16e0dc98b11cb5939"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 07 15:23:06 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 07 15:58:28 2017 -0800"
      },
      "message": "Camera3Device: Fix regression to old camera API operation.\n\nWhen Camera2Client uses Camera3Device, it operates with lazy stream\nconfiguration (in which streams are configured only once a capture\nrequest is going to actually be sent). In this path, the operating\nmode may never get set to a valid mode, and thus always fail\nstream configuration.\n\nEnsure that all paths calling into configureStreamsLocked set the\nappropriate operating mode.\n\nTest: Actually no camera CTS regressions this time, honest!\nBug: 34853980\nChange-Id: I6e1855206f6d76cca5ff8348555b26bd7b868843\n"
    },
    {
      "commit": "bbbbe84b3a7296c9c3266bb16e0dc98b11cb5939",
      "tree": "8aa3ad36f5a828c1bd97400c0a3999482d5d171b",
      "parents": [
        "17d791ad76d6c33201e5953483a0770380d42572"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 28 17:50:56 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 07 12:35:49 2017 -0800"
      },
      "message": "Camera: Allow direct selection of operating mode\n\nInstead of a true/false switch for high-speed mode, use an integer\nenum instead and define the two existing modes, plus the start\nof a vendor mode space.\n\nFor all non-high-speed modes, use the normal configuration path,\nbut pass the operating mode to the HAL.\n\nTest: New CTS test passes\nBug: 34853980\nChange-Id: I9dc2b2a2164e9779f079a30e936c4117bcf96efe\n"
    },
    {
      "commit": "05d19b08f3affa6fa8407e779f67e7ad1c1ca84f",
      "tree": "d2c99a03302a60a9ab3db1a9f5cc90640686009a",
      "parents": [
        "4ec4e6b1073b0dc1b608aeeaf4e3129ea1a725c8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 28 16:28:19 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 03 12:37:45 2017 -0800"
      },
      "message": "fallout of cleaning-up libutils includes\n\nTest: run \u0026 compile\nBug: n/a\nChange-Id: I63585ed5a764b9ce7af2187b79ca0c83e683fd7f"
    },
    {
      "commit": "14b3b1200341103081ede8a4ce7f09eae29ac99a",
      "tree": "fe1c3aeab642d38a5fa517a86c99842a7be30645",
      "parents": [
        "cca34c05ca2d5e7ac6c2fbee3ac2db88f059143d",
        "4717c470bf989e02f798857358471f8feb77660f"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 02 23:15:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 02 23:15:55 2017 +0000"
      },
      "message": "Merge \"Camera: camera service HAL1 HIDL path\""
    },
    {
      "commit": "4717c470bf989e02f798857358471f8feb77660f",
      "tree": "1b494a778d2110a8d5d0785dcc764ccc654b8c07",
      "parents": [
        "881fc5c65fc7d8c56af0dea181d751fcec3a2b1c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Feb 13 10:56:40 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 01 22:03:38 2017 -0800"
      },
      "message": "Camera: camera service HAL1 HIDL path\n\nBug: 32991422\nTest: Camera CTS pass (except FlashLightTest)\nChange-Id: If6668540d9b24696031c893f3fa257cd294d773c\n"
    },
    {
      "commit": "fc9c52f773827a08d37af018b7368bda91a5e791",
      "tree": "b284c6c3d7cff727ee7a94597bf791ce911749ab",
      "parents": [
        "1cbdb4170cba2115c8397507a79938070e3032d4",
        "bee0f0a5e7aa19aa7c59de03b508985b68bc6b5e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 28 21:52:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 28 21:53:00 2017 +0000"
      },
      "message": "Merge \"Camera: Rework StreamSplitter for camera use cases\""
    },
    {
      "commit": "6566536c89a9e8646404bd2e671e3e081c181b4a",
      "tree": "b9efd343001c73bfe13fdf267356ad64397a97ab",
      "parents": [
        "b4d5ec0d8f3755ccb8d5ce51798c3004330e1120"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Feb 24 13:07:56 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 27 10:16:13 2017 -0800"
      },
      "message": "Cameraserver: Use multiple hwbinder threads\n\nSome interactions between camera service and hwservicemanager require\nmultiple threads to execute without deadlocks, such as calling\ngetService() from within an onRegistered() callback.\n\nIncrease thread count to 3 to accomodate.\n\nAlso switch the order of listener registration and legacy provider\naddition back to what it was originally.\n\nTest: No deadlock when camera service is restarted\nBug: 35096594\nChange-Id: I6def961d5765958fef284c0a1820e903abc851ef\n"
    },
    {
      "commit": "bee0f0a5e7aa19aa7c59de03b508985b68bc6b5e",
      "tree": "35c822f20d984b0b1dbd8cdd83bf05040a5069e5",
      "parents": [
        "92a4bab4807d6a6736587e99094a10c420aa0a7d"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 24 14:51:37 2017 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sat Feb 25 21:26:10 2017 -0800"
      },
      "message": "Camera: Rework StreamSplitter for camera use cases\n\n- Merge notifyRequestedSurfaces into getBufferLocked, so that during\ngetBufferLocked, the stream splitter gets to know which outputs the\ncurrent request is on.\n\n- Reserve buffer slot in the output queue during getBufferLocked instead\nof during onFrameAvailable. So if there is no slot/buffer available, no\nnew request is sent to HAL. This aligns with current cameraservice logic.\nDo not hold the lock while calling attachBuffer to output queue because\nit could block for a slow consumer.\n\n- Instead of setting the consumer buffer count of input buffer queue to\nmaximum of all shared outputs, set it to sum of them. By doing this,\nIn the case of a slow consumer, other consumers sharing the same stream\nwon\u0027t be impacted.\n\n- Handle the case where onBufferReleased not being fired for buffer\nreplaced by attachBuffer/queueBuffer.\n\n- Add function to check the return value of onFrameAvailable so that\nwhen output is abandoned, the error code is propagated back to\nqueueBuffer.\n\nTest: Camera CTS, and CTS with StreamSplitter enabled for all\nimplementation defined use cases.\nBug: 33777818\nChange-Id: I863f501d5283bbe70c71e66b4d37d690484b90fa\n"
    },
    {
      "commit": "5d7e5151e2572413fa7e30a8f65beadd89f45416",
      "tree": "4a96d1af951b7a33a1faad29d83c9de9f13b5e70",
      "parents": [
        "231653e95d7343481b343d2d25e70ae8937ee77e"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Feb 22 15:37:48 2017 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Feb 22 15:58:19 2017 +0000"
      },
      "message": "Camera: Avoid possible race condition during provider init\n\nThe current sequence of registering for provider notifications\nand trying to add a legacy provider could introduce a race\ncondition leading to a deadlock. The \"onRegistration\" callback\nwill try to acquire \"mInterfaceMutex\" which is still held during\n the execution of \"addProvider\" for legacy. However \"addProvider\"\ncould get suspended waiting on the HIDL provider interface. If this\nhappens and the same thread that unblocks the service query tries\nto notify the provider manager, then we will end up in a deadlock.\nTo avoid this, the initialization sequence can be modified a bit.\nFirst add the legacy provider and then register for notifications.\n\nBug: 35096594\nTest: Manual using stop/start of cameraserver\nChange-Id: Ia381ae6bf567525cabd3f51246a192ddac37b7f8\n"
    },
    {
      "commit": "20bd4b508cddd60818822ff2f71d1082bb0de477",
      "tree": "76402dae7b5aafb1331e5148af9e0daa323fda29",
      "parents": [
        "9b2cd918052fdfda587c45b7b2b9a9e132ce6b7b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Feb 21 12:07:19 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Feb 21 12:07:19 2017 -0800"
      },
      "message": "Remove unused includes.\n\nFound while debugging 35096594.\n\nTest: pass\nChange-Id: I9d637ea4fc2cdb57afebdb299e4c890a9d814333\n"
    },
    {
      "commit": "bc1713d3b85d7ce656e032da6e4b6b342f14db03",
      "tree": "df2747b33b188cf3b5af2505d1076984120ddc8d",
      "parents": [
        "87251eee475a53599b980334df777326fa8e1527"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 13 18:37:50 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 12:25:14 2017 -0800"
      },
      "message": "fallout of splitting rect.h out of libandroid.\n\nA lot of media makefiles didn’t specify libui or\nlibgui but included headers from these libraries\ndirectly. \n\nIt works because these headers are on the global\ninclude path. With this change, though, rect.h\nis not anymore (albeit exported from libui).\n\nTest: built and booted device\nBug: 35164655\nChange-Id: I72e8f0b7bd25c6a67eedc17afe52c4c484a147fe"
    },
    {
      "commit": "88fd00509164dc46a98ff2921c956e2d37919117",
      "tree": "a255a4a0c2ac5655a4022e35fa95ee7fdce51c00",
      "parents": [
        "f5f4056014118f6ddd16affe853fd0605001ab40"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Feb 09 16:40:07 2017 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Feb 13 13:39:29 2017 -0800"
      },
      "message": "Camera: Allow finalizeOutputConfiguration not adding new surface\n\nIf the application calls finalizeOutputConfiguration without adding new\nsurface, as long as there is at least one surface in the\nOutputConfiguration, do not throw exception.\n\nAdd logic to not allow finalizeOutputConfigurations twice on a\nparticular stream.\n\nTest: testDeferredSurfaces cts and GoogleCameraApp manual test.\nBug: 35137641\nChange-Id: I96061231e9b884e73c92520e7f2c021db32fa731\n"
    },
    {
      "commit": "2d6140b8dce137f89029b12468e25d5911f23420",
      "tree": "17ace90df116bffc8a456dd7e168219cc5fd0967",
      "parents": [
        "f26ad101eb9ee8180ee54f3af44f553905c35c0c",
        "b12fb5d4642ee1651ae4432d3bebc4b0a33469e9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 13 11:18:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 11:18:29 2017 +0000"
      },
      "message": "Merge changes from topic \u0027api1_zsl_rework\u0027\n\n* changes:\n  Camera2: Add native test for framework-backed ZSL\n  Camera: Rework ZSL path when using API1 with HAL3\n"
    },
    {
      "commit": "d1adbd51e6450a8ee1770921e3b99e91ecc1be4f",
      "tree": "055408a3e458264ec5a6855d5847b94829cb0a03",
      "parents": [
        "c96fc852f010f9254a38a0073a4de7a848e33e44",
        "83f042776b131b149f803fff6ab184ae2c4d98cd"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Feb 10 16:19:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 16:19:42 2017 +0000"
      },
      "message": "Merge \"audioflinger: Adjust priority of hal threads\""
    },
    {
      "commit": "83f042776b131b149f803fff6ab184ae2c4d98cd",
      "tree": "d3c78a3313c94799261a927c84cddc7c0ebdd398",
      "parents": [
        "ba05ff122c080be9fafe1f8112052cacfcd2b6fe"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Feb 07 10:45:09 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Feb 09 15:51:36 2017 -0800"
      },
      "message": "audioflinger: Adjust priority of hal threads\n\nHALs are prohibited from using framework binder, and there is\nno equivalent scheduling policy service in hwbinder. Thus, in order\nto match priorities of FastCapture / Mixer threads with their\ncounterparts in the HAL, it is needed to request the priority boost\nfrom audioflinger on behalf of the HAL.\n\nTest done to verify the priority was correctly set.\n\nBug: 34131400\nChange-Id: If8b6b031c0fcba771fae901a5b8e7da89b3a1570\nTest: check priority match between audioflinger\u0027s and hal\u0027s threads\n"
    },
    {
      "commit": "e2ce9366d1b138326035c643b7fec68cd2dc83c5",
      "tree": "ed2019cac1005eafccf01dde9ea4b4b1402d1eaf",
      "parents": [
        "76cfc06bda06200df6056e17fbfac8c9db064d44",
        "28ad2eae9ac86df397b27d27fcc92d2c893138af"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 09 11:06:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 09 11:06:26 2017 +0000"
      },
      "message": "Merge \"Camera: Check for invalid camera during API version calls\""
    },
    {
      "commit": "9aa1dcbccba23378312e63bb0dd2cbe4ef4cb1f9",
      "tree": "118e67eaf5de5b4f932b82d19616060cf8ef06cd",
      "parents": [
        "3b7958fa8a6d4bc84e45fcee4f30d50acc62ce36",
        "01d56fe3fcad97dbed15093e03d6f50eca9fbef9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 08 21:26:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 21:26:41 2017 +0000"
      },
      "message": "Merge \"Add missing includes\""
    },
    {
      "commit": "2f140ed90057ca0df3f9da8318241ecfb6dda9eb",
      "tree": "f724e1154c5889091fcf2cc3e863b470d3ae7f28",
      "parents": [
        "b16ebe1450d4a1d240175a2a9c0c63563d610f1e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Feb 08 09:57:23 2017 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Feb 08 09:57:23 2017 -0800"
      },
      "message": "CameraService: don\u0027t skip device dump when there is no client\n\nWe shouldn\u0027t skip the device metadata dump when the camera is not\nin use.\n\nTest: adb shell dumpsys media.camera works\nBug: 35125905\nChange-Id: I26e2a612efa55b3289adb160c90d3fbc95bb4085\n"
    },
    {
      "commit": "28ad2eae9ac86df397b27d27fcc92d2c893138af",
      "tree": "70b6cf66c02e4d2939510fcda9272d4a9c17c712",
      "parents": [
        "e1c8daf1095e86f7095bab0f087fc080277ee5e7"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 07 16:14:32 2017 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Feb 08 11:39:23 2017 +0000"
      },
      "message": "Camera: Check for invalid camera during API version calls\n\nCTS test case \u0027testCameraManagerInvalidDevice\u0027 will try\nto query the static characteristics of invalid devices.\nThe supported camera API will also get checked as\npart of the current call flow. A camera device access\nexception will be thrown which is not expected. The\ncorrect exception should be \"IllegalArgumentException\".\n\nBUG: 35095452\nTest: run cts -m Camera -t\nandroid.hardware.camera2.cts.CameraManagerTest#testCameraManagerInvalidDevice\n-d -o --abi armeabi-v7a --disable-reboot\nChange-Id:I055deea116d5f3a69ed1a47b00d820be88a87232\n"
    },
    {
      "commit": "01d56fe3fcad97dbed15093e03d6f50eca9fbef9",
      "tree": "6fcba42b38d4afb289fb7b74438c277f6d8f6c6c",
      "parents": [
        "ba05ff122c080be9fafe1f8112052cacfcd2b6fe"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 07 17:12:36 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 07 17:12:36 2017 -0800"
      },
      "message": "Add missing includes\n\nTest: compiled\nBug: not applicable\nChange-Id: Ie4007970f83e5d08b2d35e78a49d93d696809d7b\n"
    },
    {
      "commit": "8131a26957de26f15c6b41a64eb299ff61888e88",
      "tree": "a72d7a23666cd1f78882f331b3de102911e80948",
      "parents": [
        "8eacd8090e16c022dcbb11850cff83f984fe2357"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Feb 01 12:33:43 2017 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Feb 06 10:40:27 2017 +0000"
      },
      "message": "Camera service: Update client eviction priorities\n\nUse both oom score and process state for client eviction.\nThe score will have higher priority over the process state.\nThis should resolve the state ambiguity when PiP clients\ntry to connect to exclusive camera resources while\nforeground clients are running.\n\nBUG: 34701266\nTest: Manual testing, complete CTS Camera package\nChange-Id: Ic775b011a20e50f9c0c1c0a4bc1cf7ca75410740\n"
    },
    {
      "commit": "2d16ffaae63051b5faf7c39a455c6d5af0226377",
      "tree": "35fc853dd42fac7ec04708d75e99bb950f848f20",
      "parents": [
        "e4806bbccc2150607d84d2df5cb91aa24c4fe10a"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Jan 23 15:36:53 2017 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Feb 02 16:44:29 2017 +0000"
      },
      "message": "Camera: Rework ZSL path when using API1 with HAL3\n\nCurrently this path relies entirely on the deprecated bi-directional\nstreams. This needs to be re-worked and the functionality should\nonly use input\u0026ouput streams. In this case the dedicated\n\u0027Camera3ZslStream\u0027 module becomes mostly obsolete. Some of the logic\nfor buffer comparison will still be needed and can be moved to ZSL\nprocessor entirely.\n The processor module will now use two streams, one input stream and\none ZSL output stream, which will produce the queue data. Both of\nthem will be configured to use the supported sensor array size and\nprivate format. Scaling from the sensor resolution to the final user\nrequested size will happen during the re-process pass once image\ncapture gets triggered.\n\nBUG: 34131351\nTest: Manual via TestingCamera, \u0027CameraTest\u0027 API1 test cases\nChange-Id: I7c87b7e7f89815e01a7cb5ce39d9c561c58562df\n"
    },
    {
      "commit": "03904c44cdf8ce30333d7e96e3eda959e5a8c208",
      "tree": "d30daba7da2e48e10e358038b9a8d64c18db4d3c",
      "parents": [
        "be0ee69ae88f9082eab0083cbf7b8a0676b5f673",
        "a141c5f3cc2214a96f250999edacc3bd4d454601"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 02 02:10:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 02:10:01 2017 +0000"
      },
      "message": "Merge \"Camera: StreamSplitter: Return overwritten buffer to input\""
    },
    {
      "commit": "ec0a5ac45728bc610e0266ec1a21d65ac340562a",
      "tree": "0269cf403217944cd63d475acca76f26cbfc1c11",
      "parents": [
        "67999b020e1eec218f5aa669ebc969636f53956b",
        "c31dc7e61eb37214ad186f6a2bc43d7b92bd236e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 01 23:36:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 23:36:34 2017 +0000"
      },
      "message": "Merge \"Camera3Device: Update frame counters/timestamps for dumpsys info\""
    },
    {
      "commit": "2987b83c782667dd3740f731268fe3372c343fce",
      "tree": "686cfefcaafa349999cd206c347c68a3700b107a",
      "parents": [
        "b23ba1ddd57b12e632e470ba21ce3c6ef44de4b3",
        "d00111e3b0c2ee59736fda992dd9ea24b23ef46a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 01 02:57:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 02:57:02 2017 +0000"
      },
      "message": "Merge \"Camera service: Fix dump() for treble path and rearrange it\""
    },
    {
      "commit": "aadc336983e503f1b86533eb910f693383711b6a",
      "tree": "c8234f0324e88a19dfa6a5fd15fbcf6711508d32",
      "parents": [
        "12eb31583f40220b73a5e33b427e1d8f58243939",
        "8131418cf06d38431aff416f1d38ec011d4259ee"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 01 02:07:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 02:07:01 2017 +0000"
      },
      "message": "Merge \"Camera service: Clean up dump() command indenting.\""
    }
  ],
  "next": "c31dc7e61eb37214ad186f6a2bc43d7b92bd236e"
}
