)]}'
{
  "log": [
    {
      "commit": "20f5734962687681012cc2aa79fb63526a9608b3",
      "tree": "f8fc35a23cc09c7e7bb4fa7e1cb00ea97c398242",
      "parents": [
        "6ec6a109df033925554ac2e5f3c9de085864989c"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Aug 24 15:39:05 2017 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Aug 24 15:57:25 2017 -0700"
      },
      "message": "Camera: Handle RESULT_ERROR followed by BUFFER_ERROR\n\nIn case a result error is followed by a buffer_error for a particular\nrequest, current logic won\u0027t be able to remove the pending request from\nthe inflight queue.\n\nMoving the skipResultMetadata flag into InFlightRequest struct fixes the\nissue.\n\nTest: Camera CTS\nBug: 64840907\nChange-Id: Iac44e431f9e9fc38684f8509328c777f9cf5f956\n"
    },
    {
      "commit": "050f5dcf7d1903926b165ebdd2dd30f7a2e83c02",
      "tree": "b4367bce50bded833f8be4a5d59bba2540878212",
      "parents": [
        "31abd0ae17fc7e7f78b514f260d7c8a7b12dca00"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu May 18 14:43:56 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Aug 10 11:09:02 2017 +0100"
      },
      "message": "Camera: Switch usage flags to 64-bit unsigned\n\nUsage flags should use 64-bit unsigned values.\n\nBug: 35215313\nTest: Camera CTS\nChange-Id: Ib8d8ec07e16698e34183c3e54498ad7491348087\n"
    },
    {
      "commit": "31abd0ae17fc7e7f78b514f260d7c8a7b12dca00",
      "tree": "abcf2c09867d5f019bcf88ad435ee2b2ceb139d3",
      "parents": [
        "e88fd530455d39e4c770870c74c1198820f62bfe"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu May 11 18:37:46 2017 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Aug 10 11:08:28 2017 +0100"
      },
      "message": "Camera: Remove dead legacy code\n\n\"mHal3Device\" is no longer used, the associated code is currently\ndead.\nLegacy code inside \"CameraHardwareInterface\" is also\nno longer used.\n\nBug: 35215313\nTest: Camera CTS\nChange-Id: I6ee33fc289e3b42af543d9027c7d76efc8d73b0b\n"
    },
    {
      "commit": "6aeb8885db848a028697c7d476fcc2ec84e65500",
      "tree": "2acecd50a020f68bf90847bb18bc9a0ebb1c32c8",
      "parents": [
        "a7a28931f13d2612bc6e8742d470364f93bdfe03"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 07 17:40:49 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 08 11:58:27 2017 -0700"
      },
      "message": "Camera: Add more systrace points\n\nTry to cover all methods that acquire locks, so that it\u0027s easier to\ntell what function might be holding one and slowing down others\n\nTest: Manual use of camera app\nBug: 63950311\nChange-Id: Ib81b348bd274598a422c0138d9ebbad65aeff922\n"
    },
    {
      "commit": "3d145ae9158eca80c4cbfe436c5b8b04cb514c46",
      "tree": "e285579dece0d6d7e120d1a743cc3e6c327291a6",
      "parents": [
        "dfcfad27da2216229b0141a736218ca06340ed5c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jul 27 12:47:03 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jul 27 12:47:03 2017 -0700"
      },
      "message": "Camera: add proper nullptr check\n\nTest: CTS\nBug: 64118349\nChange-Id: I2fd5c3f32d4e13560a88f4657c4f25faedd869ba\n"
    },
    {
      "commit": "84201fee0b18165187cb407378abef7723d82111",
      "tree": "3a10d83148fc49ddb6f43d2ce219467fa382d533",
      "parents": [
        "ef00a24944032e3fcdaef43f81fea87e6297eacf",
        "598fc608a5e316c0385239ffae3ad3e261b248cf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 23:23:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 24 23:23:51 2017 +0000"
      },
      "message": "Merge \"Camera: fix emulator deadlock\" into oc-dr1-dev"
    },
    {
      "commit": "ef00a24944032e3fcdaef43f81fea87e6297eacf",
      "tree": "448291434f10fd9caaa3108fe5c0b6ca3746a1b6",
      "parents": [
        "b2bae26bf4f537973fcfe4cc620044de3044b525",
        "5090c73caee76c3af27c58a7cd887178001b06ff"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 20:36:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 24 20:36:06 2017 +0000"
      },
      "message": "Merge \"Camera: fix race in disconnect and deleteStream\" into oc-dr1-dev"
    },
    {
      "commit": "598fc608a5e316c0385239ffae3ad3e261b248cf",
      "tree": "9c535db422e70d5f93f11dbe0f23e50dac5dceda",
      "parents": [
        "5090c73caee76c3af27c58a7cd887178001b06ff"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jul 24 11:37:23 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jul 24 12:12:51 2017 -0700"
      },
      "message": "Camera: fix emulator deadlock\n\nTest: Emulator FastBasicTest 100 iteration, CTS on real device\nBug: 63933389\nChange-Id: I27013d64a9cb29cb95591dc0598afbb59ac96290\n"
    },
    {
      "commit": "5090c73caee76c3af27c58a7cd887178001b06ff",
      "tree": "d13846fc6999e4ad63130b35d6da8b07c0de34a1",
      "parents": [
        "57cd4032c0d24056ac6a4a0776094a6f9b371676"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jul 20 16:05:29 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 21 10:32:22 2017 -0700"
      },
      "message": "Camera: fix race in disconnect and deleteStream\n\nCheck and return buffers to just deleted streams.\nAlso disallow deleteStream when camera runs into error to\nsimplify the stream lifecycle when error happens.\n\nTest: CTS, manual tests\nBug: 63863140\nChange-Id: I476737442041aebd393ec05998969d959cda0228\n"
    },
    {
      "commit": "b2bae26bf4f537973fcfe4cc620044de3044b525",
      "tree": "c26eb2f0193cf589b036e488096a5afbd54420b9",
      "parents": [
        "d937a5cf8533cc571ef2ac03d543bc15aacffdcf",
        "889234d4b84ef011c21e28be51ff614231603a06"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 21 16:05:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 21 16:05:00 2017 +0000"
      },
      "message": "Merge \"Camera: Avoid freeing outstanding input buffers\" into oc-dr1-dev"
    },
    {
      "commit": "889234d4b84ef011c21e28be51ff614231603a06",
      "tree": "c0092cef9a6cd772b1c7d546acb6a437e454f124",
      "parents": [
        "679b6f6eaaeba35fcf96cb04a784308211d4b319"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Jul 18 18:21:26 2017 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jul 20 11:44:02 2017 -0700"
      },
      "message": "Camera: Avoid freeing outstanding input buffers\n\nThe producer end can disconnect at any time which\nwill trigger the freeing of the input buffer. If\nany input buffers are outstanding and being processed\nby the camera device freeing them can cause stability\nissues.\n\nBug: 63682712\nTest: Manual using application.\nChange-Id: I25da97786d75e82b1b13dce34953de597bea9b2e\n"
    },
    {
      "commit": "57cd4032c0d24056ac6a4a0776094a6f9b371676",
      "tree": "a25a25301c9ad9f03a00798547863623f9292678",
      "parents": [
        "679b6f6eaaeba35fcf96cb04a784308211d4b319",
        "10bd57e0112ca12155463d44ab327fbf11fde7bc"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 20 17:37:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 20 17:37:41 2017 +0000"
      },
      "message": "Merge \"Camera3Device: Don\u0027t time out on long exposures\" into oc-dr1-dev"
    },
    {
      "commit": "657c1877d86a0d1353d2170026e2fcf46cf1eae0",
      "tree": "79933dda3a4fd9ce3205298d8de67b92b56e7aec",
      "parents": [
        "4f771e05dba8fc3f01ad2af4befe50f085e5f3fd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jul 18 18:09:57 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jul 19 12:05:38 2017 -0700"
      },
      "message": "Camera: fix deadlock with flush\n\nTest: CTS, run testReprocessAbort 50 times\nBug: 63701864\nChange-Id: Id41b68da143c9292437f35f8960ce4f80b9d59f7\n"
    },
    {
      "commit": "10bd57e0112ca12155463d44ab327fbf11fde7bc",
      "tree": "10f9e7fac4f86f0b6cf80eaffe137fc12d911f60",
      "parents": [
        "29204646b945adf58390b7d06f2cb223d6b2c4c0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 23 16:22:44 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 18 13:57:40 2017 -0700"
      },
      "message": "Camera3Device: Don\u0027t time out on long exposures\n\n - Calculate expected duration based on request settings instead\n   of using a fixed timeout for shutdown\n - Ensure the timeouts are always at least 5 seconds anyway\n\nTest: Camera CTS passes with a long-exposure device\nBug: 38212789\nChange-Id: I6b154710314cdc84b223f1a9f39fead9262ce27b\n"
    },
    {
      "commit": "32ab0585ffe4c84fa9b873ab2a51ed977d70b02f",
      "tree": "36351650f159729fc63e0c7d1622f761e8d134b6",
      "parents": [
        "af842eb79ed9943b7a4495136197e093fc7d8ba7",
        "db1e864daf162007341d6715094330c13bf5482f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 17 18:01:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 17 18:01:56 2017 +0000"
      },
      "message": "Merge \"Camera: fix bufferFreed callback object lifecycle issue\" into oc-dr1-dev"
    },
    {
      "commit": "af842eb79ed9943b7a4495136197e093fc7d8ba7",
      "tree": "9af834fcbca893485c5b1c69bb5d323400c81438",
      "parents": [
        "80e7e68dbf734da1c387152f1757aa70e88ddf5a",
        "1c484a65f1afeec8e4bf2aecbeab9df103f14c85"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 15 18:14:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 15 18:14:19 2017 +0000"
      },
      "message": "Merge \"Camera: Fix \"use after free\" for mOutstandingBuffers\" into oc-dr1-dev"
    },
    {
      "commit": "1c484a65f1afeec8e4bf2aecbeab9df103f14c85",
      "tree": "72f0e7680065017a1553f2cc00e60766cefcccd6",
      "parents": [
        "ac31fb897846c6e8c72ade7fa5e4ab3c00bf77c9"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jul 14 15:14:19 2017 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jul 14 16:27:58 2017 -0700"
      },
      "message": "Camera: Fix \"use after free\" for mOutstandingBuffers\n\nFix below use after free issues:\n\n\u003d\u003d4947\u003d\u003dERROR: AddressSanitizer: heap-use-after-free on address\n0xec61f434 at pc 0xf1954c18 bp 0xed3ff6f0 sp 0xed3ff6e8\nREAD of size 4 at 0xec61f434 thread T12 (C3Dev-1-ReqQueu)\n  #0 0xf1954c17 in _ZN7android7camera313Camera3Stream23removeOutstandingBufferERK21camera3_stream_buffer\n  frameworks/av/services/camera/libcameraservice/device3/Camera3Stream.cpp:508\n  #1 0xf1954c17 in _ZN7android7camera313Camera3Stream12returnBufferERK21camera3_stream_bufferx\n  frameworks/av/services/camera/libcameraservice/device3/Camera3Stream.cpp:543\n  #2 0xf193c663 in _ZN7android13Camera3Device13RequestThread21cleanUpFailedRequestsEb\n  frameworks/av/services/camera/libcameraservice/device3/Camera3Device.cpp:4131\n  #3 0xf193db5b in _ZN7android13Camera3Device13RequestThread10threadLoopEv\n  frameworks/av/services/camera/libcameraservice/device3/Camera3Device.cpp:3854\n  #4 0xf1562f35 in _ZN7android6Thread11_threadLoopEPv system/core/libutils/Threads.cpp:747\n  #5 0xf0ee6947 in _ZL15__pthread_startPv bionic/libc/bionic/pthread_create.cpp:214\n  #6 0xf0eba381 in __start_thread bionic/libc/bionic/clone.cpp:47\n\n0xec61f434 is located 68 bytes inside of 136-byte region [0xec61f3f0,0xec61f478)\nfreed by thread T0 here:\n  #7 0xf1a64963 in _ZdlPvSt11align_val_tRKSt9nothrow_t [asan_rtl]\n  #8 0xf155df09 in _ZNK7android7RefBase9decStrongEPKv system/core/libutils/RefBase.cpp:435\n  #9 0xf19693ab in _ZN7android7camera319Camera3OutputStream22BufferReleasedListener16onBufferReleasedEv\n    frameworks/av/services/camera/libcameraservice/device3/Camera3OutputStream.cpp:720\n  #3 0x1ff56dfb  (\u003cunknown module\u003e)\n\nBug: 62218367\nChange-Id: Ib03415f73a1e3c283520af752904b1bcc40bff28\n"
    },
    {
      "commit": "db1e864daf162007341d6715094330c13bf5482f",
      "tree": "76789003760a648ef9951ea15148029b2ef905e1",
      "parents": [
        "7bb115f1033fd7ef5e3556fc384aac475d16cce7"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 14 15:19:30 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 14 15:37:50 2017 -0700"
      },
      "message": "Camera: fix bufferFreed callback object lifecycle issue\n\nMake sure the callback object won\u0027t be freed in the middle\nof callback execution.\n\nTest: CTS + stress test\nBug: 63683767\nChange-Id: I6fb1b754cadb3d499c1c246687d2f60d444d00bb\n"
    },
    {
      "commit": "7bb115f1033fd7ef5e3556fc384aac475d16cce7",
      "tree": "eb340f49ba586e1a7f035b99447f5e3e3029e995",
      "parents": [
        "ac31fb897846c6e8c72ade7fa5e4ab3c00bf77c9",
        "f3fe36ff1d730aea85fe652b778c6e093b1242e7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 00:00:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 14 00:00:03 2017 +0000"
      },
      "message": "Merge \"Camera: fix buffer leak in device error condition\" into oc-dr1-dev"
    },
    {
      "commit": "f3fe36ff1d730aea85fe652b778c6e093b1242e7",
      "tree": "fc7d192a4251aeab772e903b6254571bfcdb9c2b",
      "parents": [
        "4a907a1760ee9ee3ab603f064cfe24a2cb32ec82"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 07 18:23:18 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jul 12 13:40:02 2017 -0700"
      },
      "message": "Camera: fix buffer leak in device error condition\n\nTest: CTS, manually inspect dmabuf after camera closed\nBug: 63302673\nChange-Id: Ie91ef4f92aaacb7e7c70c660f6a072168871cb10\n"
    },
    {
      "commit": "e8c96c765b95ec7dcd10732621a825fce05960c6",
      "tree": "0197cb1e0849140d5be7aaf085cff87ad91177cf",
      "parents": [
        "15fb0ee6bd752ccde960b961dd1e9113c37e5f8b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 27 12:24:07 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 10 11:59:00 2017 -0700"
      },
      "message": "CameraService: Clean up ICameraServiceProxy; send it more info\n\n- Remove hand-written ICameraServiceProxy C++ impl; use the AIDL-\n  generated version instead\n- Send client package name and camera facing with the camera state\n  notices\n\nTest: Verify by logging that information sent to proxy is correct;\n      no camera CTS regressions.\nBug: 32449509\nChange-Id: I7a305b76b4f1d5c08b7938108bd73c95986508e0\n"
    },
    {
      "commit": "d3d419feb18c6236655763123105b249ae640f9a",
      "tree": "bd6573f2902d74ab04f46b5600d4218cf5a0874d",
      "parents": [
        "1fa57e8d3149703e794997edffa4e03bfb0a6887",
        "90c0fdff4ce81b41c51a255b7e0099ec3335c294"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jun 30 01:51:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 30 01:51:47 2017 +0000"
      },
      "message": "Merge \"Camera: adjust inflight list warning threshold\" into oc-dr1-dev"
    },
    {
      "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": "1c19ca687955a8030144a4ce2a61559b58b1316e",
      "tree": "2bedd605b2a4beed78f6d647fd880b324085e0cd",
      "parents": [
        "f3ffd1ced8c4709388f8ed5c9a49284f36aa5b97",
        "ba435258270476d7931329dc0239bdc468e9ddbd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 29 19:20:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 29 19:20:11 2017 +0000"
      },
      "message": "Merge changes from topic \u0027b/62420820\u0027 into oc-dr1-dev\n\n* changes:\n  Camera: Device 3: Ignore buffer limits when clearing request queue\n  Camera: fix status tracker race condition\n"
    },
    {
      "commit": "ba435258270476d7931329dc0239bdc468e9ddbd",
      "tree": "bec6ac11c1230250ddfd3b1935e8192ca0b00015",
      "parents": [
        "38dfde5ffa29386df284b4aa233581bfd3dda874"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 21 16:07:25 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jun 28 18:18:18 2017 -0700"
      },
      "message": "Camera: Device 3: Ignore buffer limits when clearing request queue\n\nWhen abortCaptures is called, the request queue is cleared; as part of that,\nany requests with input buffers trigger the removal and return of one input\nbuffer from the input stream.\n\nHowever, if the HAL currently is processing some number of reprocess\nrequests, the stream\u0027s max buffer limit may have been reached, in\nwhich case getInputBuffer will block until the HAL returns an input\nbuffer.  This stalls flushing (and calling of capture_request) for\nsome time, and seems to cause problems for the HAL during the flush.\n\nSo instead, don\u0027t respect the HAL\u0027s max buffer limit when all we\u0027re\ndoing is throwing work away.\n\nTest: CTS, manual testing\nBug: 62420820\nChange-Id: I72d8cdaf67fb3cc6876a03cee9e0021d95cecdfe\n"
    },
    {
      "commit": "38dfde5ffa29386df284b4aa233581bfd3dda874",
      "tree": "dfd20b93d63483828204c5457a5f56852f3be36a",
      "parents": [
        "efa8da08f3c873b07ec016299ddada7d844ae086"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jun 27 17:13:33 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jun 28 14:31:24 2017 -0700"
      },
      "message": "Camera: fix status tracker race condition\n\nRequest thread may race with disconnect call when device is\ndisconnected in error condition. Acquire mLock when camera\ndevice is updating status tracker to prevent that race\n(status tracker being freed and then updated).\nIn other places where status tracker is updated, there is\na promoted sp to guarantee status tracker remain alive during\nthe call.\n\nTest: CTS, manual camera testing\nBug: 62420820\nChange-Id: Id894b5d3482c64125c114f79dbe746c56048fcbe\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"
    }
  ],
  "next": "bbbbe84b3a7296c9c3266bb16e0dc98b11cb5939"
}
