)]}'
{
  "log": [
    {
      "commit": "5404ee174dd6b5e312d3a97bc63c2bc8d142012b",
      "tree": "f91538f49c70a4730b3806617b1cdf11328e8b55",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:25:53 2016 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 17:28:17 2016 +0000"
      },
      "message": "Fix clang-tidy warnings in camera.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\n* Use const reference type to avoid unnecessary copy.\nBug: 30413862\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I71d3008da843ba5f1df1a73a320fb2af6ceffa16\nMerged-In: I71d3008da843ba5f1df1a73a320fb2af6ceffa16\n"
    },
    {
      "commit": "6d7af0e93c8442f98b3f3683a3e03d9b4b9856db",
      "tree": "4faf12b19d4bc5f2121db3f7876ba2be3e4468bb",
      "parents": [
        "42cf4c39dcfc7c2cbd9fa3e6769dcd130d56c171"
      ],
      "author": {
        "name": "Eman Copty",
        "email": "eman.copty@intel.com",
        "time": "Fri Jun 17 20:46:40 2016 -0700"
      },
      "committer": {
        "name": "Eman Copty",
        "email": "eman.copty@intel.com",
        "time": "Sat Jun 18 06:55:41 2016 -0700"
      },
      "message": "Add support for streams with vendor specific formats\n\nThe function createStream() validates the format of\nthe created stream is published by the HAL in the\nStreamConfigurationMap, however the vendor formats\ncannot be added to StreamConfigurationMap and hence\nshouldn\u0027t be checked.\n\nChange-Id: Ie93422aa8813a313db6d2d3b4fdfc457fede0a0d\n"
    },
    {
      "commit": "bf29173d6d63536ae9f8cfd1d02153237ee23612",
      "tree": "3f6fe33288711b73e8683d671a57860d6f14219d",
      "parents": [
        "0603c5dfc34923095218307674a60429bfa5873a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 17 15:16:07 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 17 15:16:07 2016 -0700"
      },
      "message": "Fix misc-macro-parentheses warnings.\n\nBug: 28705665\nChange-Id: I97d1dec9a4397fd7a3cab5180a833066b8abe0ab\n"
    },
    {
      "commit": "7fed0d95953a195c38b94e043f8e4418f90b846e",
      "tree": "85ea13f916ee82167468034e7b2dc73b0ae48aee",
      "parents": [
        "95165fd5c78113bc6b54979b136ddc3ff0e44cbf"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 10 13:48:21 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 10 13:49:03 2016 -0700"
      },
      "message": "DO NOT MERGE:Camera: fix recording stream update logic\n\nWill be merged internally.\n\nBug: 28695248\nChange-Id: I3008a0cb76fe1c43b305d635519d60d92a3adedb\n"
    },
    {
      "commit": "090ef604f81447eab4aa0a5b45d6307482573560",
      "tree": "6eb6530aab79b1cdc543ef16650be519db449e37",
      "parents": [
        "cdf7931424583ff20a754999216041fb46287cb3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:39:54 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:55:42 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings.\n\nBug: 28341362\nChange-Id: I625fbab25f16282c2ea929cd16283d9d146fa17b\n"
    },
    {
      "commit": "0b094277076286d100cf1da6860b7038be662ce9",
      "tree": "9a1a2711e0b708fdfe368588855975b3b27f6250",
      "parents": [
        "0431f4adf181e09503e7fb9d3677e79d45f31a08"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Apr 22 13:24:05 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Apr 22 14:27:26 2016 -0700"
      },
      "message": "DO NOT MERGE: Camera: override external facing for API1 client\n\nBug: 28322515\nChange-Id: I6ecb4f27c98b2c5d509756e27259fa8afdd27631\n"
    },
    {
      "commit": "e0c317973c14f5898c881c48d44adadd6f64fb77",
      "tree": "e9659ccab9ee83be1c01c7a9f998aa624a9221e3",
      "parents": [
        "6f1850cbcfdfc37da8e89852ed88f8afaad01b87"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Thu Apr 14 10:29:30 2016 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Thu Apr 14 10:29:30 2016 -0700"
      },
      "message": "Export libbinder headers as part of libcameraservice\n\nlibcameraservice\u0027s headers include headers from libbinder.  libbinder\u0027s\nheader include path must be included as part of libcameraservice\u0027s\ninclude path.\n\nBug: 27804373\nTest: This library compiles with a slightly modified libbinder include\n      path.\n\nChange-Id: I7540aec33d432f1ff3673d4fecadb88b707551dd\n"
    },
    {
      "commit": "103177fd3326a9aac9cb64d2ab4efcb193571ed5",
      "tree": "f90200aa7c97015feab0926e9a601cf7148e26a6",
      "parents": [
        "cf34799f702fca5cb6fabd185650c265c08c8b2e",
        "2dab1fe48bdf75e1e510ea12e7b5a55ed2692d3f"
      ],
      "author": {
        "name": "Bin Chen",
        "email": "chen_bin@projectara.com",
        "time": "Thu Feb 25 19:09:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 25 19:09:50 2016 +0000"
      },
      "message": "Merge \"CameraService: Fix cameraId type of onDeviceStatusChanged\"\nam: 2dab1fe48b\n\n* commit \u00272dab1fe48bdf75e1e510ea12e7b5a55ed2692d3f\u0027:\n  CameraService: Fix cameraId type of onDeviceStatusChanged\n"
    },
    {
      "commit": "e16d1165c5dccfb44753610f39b120938269cd3a",
      "tree": "b59a0de1a55c30403b1d537564e65d028adebbcc",
      "parents": [
        "15ca784102df7fc8259509b564d8085273d2a340"
      ],
      "author": {
        "name": "Bin Chen",
        "email": "chen_bin@projectara.com",
        "time": "Mon Feb 22 18:19:58 2016 +1100"
      },
      "committer": {
        "name": "Bin Chen",
        "email": "chen_bin@projectara.com",
        "time": "Thu Feb 25 18:38:42 2016 +1100"
      },
      "message": "CameraService: Fix cameraId type of onDeviceStatusChanged\n\nThe cameraId should be of type int, instead of camera_device_status_t.\n\nChange-Id: I26d587bb74f7100028f09928984c2e8dad6eebef\nSigned-off-by: Bin Chen \u003cchen_bin@projectara.com\u003e\n"
    },
    {
      "commit": "cf34799f702fca5cb6fabd185650c265c08c8b2e",
      "tree": "473fdd60b00607ed9efb22b8ea6eb1b75ac1e876",
      "parents": [
        "55363176be0ad1fe75d97276547929b4ca971f56",
        "15ca784102df7fc8259509b564d8085273d2a340"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri Feb 19 22:17:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 19 22:17:34 2016 +0000"
      },
      "message": "Merge \"brillo: Don\\\u0027t even try contacting the camera proxy\"\nam: 15ca784102\n\n* commit \u002715ca784102df7fc8259509b564d8085273d2a340\u0027:\n  brillo: Don\u0027t even try contacting the camera proxy\n"
    },
    {
      "commit": "15ca784102df7fc8259509b564d8085273d2a340",
      "tree": "0159153a9c5768e791a7cd281f0b46485f8e4992",
      "parents": [
        "c25621f0e52dbf78159b5aa28b8c19ed6a7a053b",
        "92c06fceabfa47906aaa7c747dcdd6376ccec358"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri Feb 19 22:11:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 19 22:11:31 2016 +0000"
      },
      "message": "Merge \"brillo: Don\u0027t even try contacting the camera proxy\""
    },
    {
      "commit": "55363176be0ad1fe75d97276547929b4ca971f56",
      "tree": "3fe580b201bb18d7e81792a8a98051d372c8078a",
      "parents": [
        "c25621f0e52dbf78159b5aa28b8c19ed6a7a053b",
        "813ac23bee5b3519c2b7f410a2b24b3a94075b22"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Feb 17 09:50:43 2016 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Feb 17 09:50:43 2016 -0800"
      },
      "message": "Merge commit \u0027813ac23bee5b3519c2b7f410a2b24b3a94075b22\u0027 into HEAD\n"
    },
    {
      "commit": "c25621f0e52dbf78159b5aa28b8c19ed6a7a053b",
      "tree": "ab91d928ce11fb77b51a03f35687a53b8716bccf",
      "parents": [
        "4be8e17981171d14daa71ff74c538ec41d265497",
        "0039bcf0c4f10b92917c26df70c7847f1ab0b51e"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue Feb 16 17:07:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 16 17:07:55 2016 +0000"
      },
      "message": "Merge \"brillo: Rely on static SELinux policy for camera\""
    },
    {
      "commit": "92c06fceabfa47906aaa7c747dcdd6376ccec358",
      "tree": "d04126b97978d02442caa812e50ef20617bfd9a4",
      "parents": [
        "0039bcf0c4f10b92917c26df70c7847f1ab0b51e"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Thu Feb 11 15:40:05 2016 -0800"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri Feb 12 14:46:05 2016 -0800"
      },
      "message": "brillo: Don\u0027t even try contacting the camera proxy\n\nThis service isn\u0027t running, and every time we try, we spend\nfive seconds retrying to get a reference to a binder that\nwill never be registered with the service manager.\n\nBug: 26936651\nTest: With this patch, 5 second pauses with logs disappear.\n\nChange-Id: I9cc6b1b616f1b786c3bb4e687b1c742d31424684\n"
    },
    {
      "commit": "0039bcf0c4f10b92917c26df70c7847f1ab0b51e",
      "tree": "97096bcb209b096b798c662e724709ca71ea6ba1",
      "parents": [
        "e27e223dedcc8f7970d550cebd4a7dda3599ef03"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri Feb 05 10:29:50 2016 -0800"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri Feb 12 14:44:56 2016 -0800"
      },
      "message": "brillo: Rely on static SELinux policy for camera\n\nIn Brillo, there are no applications, and SELinux policy can be\nconfigured statically (at build time).  In this model, we control\naccess to the camera binder, and thus to the camera stack.\n\nBug: 26936651\nTest: Brillo test camera client can connect to camera\n\nChange-Id: I5207c2f78e4f36778b90aac29bf4317b62cbd3dd\n"
    },
    {
      "commit": "161c953eae05a71309ae5ed03213dec23c907cf6",
      "tree": "51cf355245bf83e2e99c1a16425cc0ef0c548e06",
      "parents": [
        "e27e223dedcc8f7970d550cebd4a7dda3599ef03"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 12 14:39:48 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 12 14:39:48 2016 -0800"
      },
      "message": "Fix warning: list conflicting ids (not cameraId)\n\nChange-Id: Iad75866ab4edd500a32c5ca7e7c89d8af246f5d2\n"
    },
    {
      "commit": "715e5cdec771abb372d46813a8b0ab57d47afd99",
      "tree": "8d21b188753f55c475040495c0abf078b5971258",
      "parents": [
        "b1501e2917d94ec0fff6959cbdcf2db84b97f4b0",
        "f0b0a7c7bb61d6ea9f8f89c55368529711d18e1a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:43:31 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 14 22:43:31 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly am: c400396525 am: 795243686f am: fb5043a703 am: 3a0d1df37d\nam: f0b0a7c7bb\n\n* commit \u0027f0b0a7c7bb61d6ea9f8f89c55368529711d18e1a\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "fb5043a703f596b7393c1e24ca4b321b0f697293",
      "tree": "e73accf4133146bc489c380a720173e55c6e7fbe",
      "parents": [
        "6dd6c546513aa18dc1d7fba0f72d670edce34f77",
        "795243686fe2e1c352732b47bcdb6ea9e9e7e39e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:35:00 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 14 22:35:00 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly am: c400396525\nam: 795243686f\n\n* commit \u0027795243686fe2e1c352732b47bcdb6ea9e9e7e39e\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "795243686fe2e1c352732b47bcdb6ea9e9e7e39e",
      "tree": "3edcea13261beb3b42a2b4e4d55ab14e3ace186e",
      "parents": [
        "e463301aa44f0ea0ae1a2399bf8800d94cf6ce3e",
        "c4003965258404a19b99280ac0f475e2f290bf27"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:33:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 14 22:33:06 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly\nam: c400396525\n\n* commit \u0027c4003965258404a19b99280ac0f475e2f290bf27\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "c4003965258404a19b99280ac0f475e2f290bf27",
      "tree": "c9a4ed77bfc9c2d5b677ffb4943e657b215e04e1",
      "parents": [
        "a39f9818759155a2651995d6844f9821d83e3f0d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 13 10:07:04 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 13 16:39:53 2016 -0800"
      },
      "message": "Camera: Disallow dumping clients directly\n\nCamera service dumps should only be initiated through\nICameraService::dump.\n\nBug: 26265403\nChange-Id: If3ca4718ed74bf33ad8a416192689203029e2803\n"
    },
    {
      "commit": "b1501e2917d94ec0fff6959cbdcf2db84b97f4b0",
      "tree": "a975e15bad569a12905a72c574d72839d244462b",
      "parents": [
        "3432236e09331ae4c6e94d9850e679f3c1d8ae01",
        "6258d848c52d36e804977c3007a968ad823b9244"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 13 20:45:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 13 20:45:16 2016 +0000"
      },
      "message": "Camera: set mNumberOfNormalCameras correctly am: 6dd6c54651 am: 72bc40dc51\nam: 6258d848c5\n\n* commit \u00276258d848c52d36e804977c3007a968ad823b9244\u0027:\n  Camera: set mNumberOfNormalCameras correctly\n"
    },
    {
      "commit": "6dd6c546513aa18dc1d7fba0f72d670edce34f77",
      "tree": "8a80f6984f7a31f59a392d36acb2ebe4941af740",
      "parents": [
        "0dd00d9b1986cd2cc4f45bdb96266dee01f20d72"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Dec 07 12:20:11 2015 -0800"
      },
      "committer": {
        "name": "Zhengyin Qian",
        "email": "qianzy@google.com",
        "time": "Tue Jan 12 17:35:27 2016 -0800"
      },
      "message": "Camera: set mNumberOfNormalCameras correctly\n\nNeed to set the number correctly when a camera HAL is not present.\n\nBug: 25951590\nChange-Id: I666acf7a2a523c51f2c2ae88ff690ca9dccda08c\n"
    },
    {
      "commit": "418f4d1350da8931853a616d4da180978c6bb971",
      "tree": "2d8f8bd98e9b6f7b03916cd5218236c150d77bf4",
      "parents": [
        "7abffd68a77a7ed89b75361a671ce4a4cdacd142"
      ],
      "author": {
        "name": "Wang, Jianfeng XA",
        "email": "jianfeng.xa.wang@sonymobile.com",
        "time": "Tue May 27 17:48:08 2014 +0900"
      },
      "committer": {
        "name": "Hidenari Koshimae",
        "email": "hidenari.koshimae@sonymobile.com",
        "time": "Tue Jan 12 15:04:39 2016 +0900"
      },
      "message": "libcameraservice: Allow media server to disconnect camera even unlocked\n\nThe camera service may fail to release the camera hardware instance\nin some use cases.\nWhen an application unlocked the camera before disconnect, disconnect\nfrom the application will not be accepted. And disconnect from media\nserver will not be accepted also. Then, the camera hardware instance\nwill not be released and a resource leak will be caused.\n\nAllow media server to disconnect the camera at all times even if\nthe camera is unlocked.\n\nChange-Id: Icd5ed81bed242fa5947aa40ca85e4ca7fa7286e7\n"
    },
    {
      "commit": "55a4d0bdf185b0cf7e37ca0446e4e5046cef5534",
      "tree": "aa08cb079f6ec576540ee954d53606748355b458",
      "parents": [
        "d58f15c3329123d9506263a07301b70a86e9bc17",
        "80ad49403ede54092e128ddf9f1fe2ef7bc53944"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Thu Oct 22 02:15:15 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 22 02:15:15 2015 +0000"
      },
      "message": "Merge \"DO NOT MERGE: libcameraservice: Fix nullptr crash when no client.\" into mnc-dr-dev am: c0d8c35a2d\nam: 80ad49403e\n\n* commit \u002780ad49403ede54092e128ddf9f1fe2ef7bc53944\u0027:\n  DO NOT MERGE: libcameraservice: Fix nullptr crash when no client.\n"
    },
    {
      "commit": "5adc76c49a525993f3362cf648864fb21f4547f0",
      "tree": "6e17c9ab60cdc625ef49754aef2e345f5137e130",
      "parents": [
        "e710ae53001bbbf1e1afd6b3f5c3478c673afd0e"
      ],
      "author": {
        "name": "Tom Keel",
        "email": "thomas.keel@intel.com",
        "time": "Thu Oct 08 16:42:56 2015 +0200"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 21 17:41:39 2015 -0700"
      },
      "message": "DO NOT MERGE: libcameraservice: Fix nullptr crash when no client.\n\nThis change prevents a crash in the camera service when the camera\nHAL notifies the service about the absence of a removable camera and\nthere happens to be no client connected to the service. It checks\nthat the pointer returned from clientToDisconnect.get() is non-null\nbefore trying to dereference it (as is done in existing code\nimmediately below this change).\n\nBug: 25165323\nChange-Id: I8055654bac980542e63ea7f52bf897eaafbc09bc\nSigned-off-by: Tom Keel \u003cthomas.keel@intel.com\u003e\n"
    },
    {
      "commit": "fc7b5a4a10fe8cf02f1a9fd330d06319fcabdb05",
      "tree": "ca32c3d44f07c0ff5f37d7dacb5e110d050ada09",
      "parents": [
        "1d288267c357e90dd68a1eb43f35db00309cab5a",
        "a04159acc4c49f13fbfa5b5bee5e5b622eb2d659"
      ],
      "author": {
        "name": "Ranjith Kagathi Ananda",
        "email": "ranjith@codeaurora.org",
        "time": "Mon Oct 19 17:29:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 17:29:48 2015 +0000"
      },
      "message": "am a04159ac: libcameraservice: Fix ALOG prints in FlashLight. am: 32ab9fdab5\n\n* commit \u0027a04159acc4c49f13fbfa5b5bee5e5b622eb2d659\u0027:\n  libcameraservice: Fix ALOG prints in FlashLight.\n"
    },
    {
      "commit": "1d288267c357e90dd68a1eb43f35db00309cab5a",
      "tree": "748ffa711658f0a3bb0d8c8dde9dc93952f68307",
      "parents": [
        "2022f6f8f6df75eac878fac0cd5338f878700fc6",
        "b4a3c6dd7e48bc9d3f68c609b2b28abec67d1eeb"
      ],
      "author": {
        "name": "Ranjith Kagathi Ananda",
        "email": "ranjith@codeaurora.org",
        "time": "Mon Oct 19 17:29:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 17:29:47 2015 +0000"
      },
      "message": "am b4a3c6dd: Camera: frameworks: Add NULL check for callback am: 3e60089468\n\n* commit \u0027b4a3c6dd7e48bc9d3f68c609b2b28abec67d1eeb\u0027:\n  Camera: frameworks: Add NULL check for callback\n"
    },
    {
      "commit": "32ab9fdab562127ccd37a8cdb15421ebdf82a458",
      "tree": "7e8728530de6477afa7bb46bfa497af50079a362",
      "parents": [
        "3e600894685b994849d59307721c6862ae0c45b7"
      ],
      "author": {
        "name": "Ranjith Kagathi Ananda",
        "email": "ranjith@codeaurora.org",
        "time": "Thu Oct 08 16:41:09 2015 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 16 17:08:48 2015 -0700"
      },
      "message": "libcameraservice: Fix ALOG prints in FlashLight.\n\nAdd missing __FUNCTION__ arguments into log statements.\n\nAck by: Dilip Gopalakrishna\n\nBug: 25023187\nChange-Id: I0256bad626d490fb9360a73c104afaad7a012a97\n"
    },
    {
      "commit": "3e600894685b994849d59307721c6862ae0c45b7",
      "tree": "1d2636ae0bdbda0b35dc8b3cd176607f3f58a361",
      "parents": [
        "b3d9f56313f1838649712297ebc8205c4ec14870"
      ],
      "author": {
        "name": "Ranjith Kagathi Ananda",
        "email": "ranjith@codeaurora.org",
        "time": "Thu Oct 08 16:00:33 2015 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 16 17:08:14 2015 -0700"
      },
      "message": "Camera: frameworks: Add NULL check for callback\n\n--Added NULL check for mRemoteCallback\n\nAck by: Susmitha Gummalla\n\nBug: 25023187\nChange-Id: Ib88a128a52e81b8ec1052e3222b6d8b9e494afcc\n"
    },
    {
      "commit": "176a017fabaf753db36ffe4a3069447d9df4cf3b",
      "tree": "c9686beb5fff7d3698c538db84c963b3d0d802f4",
      "parents": [
        "4e027b587f6b05999ed10f14c4f8ccf0cd7a1f02",
        "25add6d481bba37552f0f8b6ed225bed98594034"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 16 23:07:19 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 16 23:07:19 2015 +0000"
      },
      "message": "am 25add6d4: am 43c39be5: Merge \"ALOGE does not match triggering condition.\"\n\n* commit \u002725add6d481bba37552f0f8b6ed225bed98594034\u0027:\n  ALOGE does not match triggering condition.\n"
    },
    {
      "commit": "25add6d481bba37552f0f8b6ed225bed98594034",
      "tree": "cc06216e8f36d8dc16a21a9d650778ceb66be063",
      "parents": [
        "a80a60fe98b49a85368ebfe454ccf9d276d95813",
        "43c39be58651745a55e5d66568f92c03d695b461"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 16 16:01:34 2015 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 16 16:01:34 2015 -0700"
      },
      "message": "am 43c39be5: Merge \"ALOGE does not match triggering condition.\"\n\n* commit \u002743c39be58651745a55e5d66568f92c03d695b461\u0027:\n  ALOGE does not match triggering condition.\n"
    },
    {
      "commit": "43c39be58651745a55e5d66568f92c03d695b461",
      "tree": "f2695600731028d5b0709995107951d84eaf523b",
      "parents": [
        "34f7007194bcc6a27cafc93e2a15eee468b3d746",
        "19fdbfcf8af3ca689c3c62b88059ac5d3c6907d1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 16 22:55:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 16 22:55:57 2015 +0000"
      },
      "message": "Merge \"ALOGE does not match triggering condition.\""
    },
    {
      "commit": "ceb10ea795d92d889201cd40f5ac6290edf4ded7",
      "tree": "bb6ef8b2f18c832bcb9d4ec777e025918ac351b1",
      "parents": [
        "0926aab4b8d5d307c95788086090e8d2b2763f1f",
        "d4a653a15767d4de37dbfdee22c2170951c93299"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Oct 15 20:57:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 15 20:57:56 2015 +0000"
      },
      "message": "Merge \"Camera: setup vendor tags before get_camera_info\" into mnc-dr-dev"
    },
    {
      "commit": "5f54de483624a5731d82060bd3e1aab74b32b15e",
      "tree": "ec9f443ec03bac727740985f6ab08cf6038583a2",
      "parents": [
        "6e2ea5abb4344bf2e308a03ac488e93ab92778ab",
        "82104ebbb2cc04277ab07b355f38f73045a11770"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 23:36:51 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 14 23:36:51 2015 +0000"
      },
      "message": "Merge \"Camera: Add video recording stop sound\" into mnc-dr-dev"
    },
    {
      "commit": "82104ebbb2cc04277ab07b355f38f73045a11770",
      "tree": "ec4857f3465d6e07407cc554e2465985b06625df",
      "parents": [
        "ea6a3dc069809ec071290eb2c8cacef3582ead98"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 11:29:31 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 11:29:31 2015 -0700"
      },
      "message": "Camera: Add video recording stop sound\n\nAdd video recording stop sound to match MediaActionSound.\n\nBug: 24745252\nChange-Id: I84b69757c7e0a98abfaafcce5f41dd45fd41cf74\n"
    },
    {
      "commit": "d4a653a15767d4de37dbfdee22c2170951c93299",
      "tree": "1915d59eab5269b2d3743cbee4f7adc9a019a0ef",
      "parents": [
        "d805214cec5219eef42346cc136effe89292ac69"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Oct 14 11:05:44 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Oct 14 11:05:44 2015 -0700"
      },
      "message": "Camera: setup vendor tags before get_camera_info\n\nSo HAL can use vendor tags on first get_camera_info call.\n\nBug: 24913201\nChange-Id: I73f17de87e3712a27f9cee366995df27a740f5cb\n"
    },
    {
      "commit": "8a4a0ac6545f53a9ec4af6074caf0e935b08ffbe",
      "tree": "a07274e6959d497d9aabe1dbc991279218d8a1d8",
      "parents": [
        "036b6593eec6ced2f34293e8407f1cb86ae1e75f"
      ],
      "author": {
        "name": "Oleksiy Avramchenko",
        "email": "oleksiy.avramchenko@sonymobile.com",
        "time": "Mon Sep 14 11:00:33 2015 +0200"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 10:49:17 2015 -0700"
      },
      "message": "DO NOT MERGE: Fix setTorchMode support for the old HAL version\n\nCameraHardwareInterfaceFlashControl class calls disconnectCameraDevice\nwhen torch is disabled. This closes connection to the camera module,\nbut mDevice instance is kept and variable is non-NULL which will\nprevent connection next time torch is going to be enabled.\n\nBug: 24909924\nChange-Id: Icb1ffb07f05256afd92821f0f4908cda5332c05b\n"
    },
    {
      "commit": "f339beaf97f4112684c01e40d5ed9f4bfe3270fa",
      "tree": "c95b9cc09efc0a0177b1f591a708a93f34bca1f2",
      "parents": [
        "1982dfdc2a9e99331d02a6591b2cbe2f65ae1103",
        "2e1683c4871faccea74f181194e193cb28016cf3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 00:55:01 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 00:55:01 2015 +0000"
      },
      "message": "am 2e1683c4: Merge \"Fix setTorchMode support for the old HAL version\"\n\n* commit \u00272e1683c4871faccea74f181194e193cb28016cf3\u0027:\n  Fix setTorchMode support for the old HAL version\n"
    },
    {
      "commit": "19fdbfcf8af3ca689c3c62b88059ac5d3c6907d1",
      "tree": "c83554d771408852f21c637f0f0d65e473622671",
      "parents": [
        "3cce4937ae9bb3a522bee74a47807c8cf0b462d5"
      ],
      "author": {
        "name": "Hubert Rzezniczak",
        "email": "hubert.rzezniczak@gmail.com",
        "time": "Tue Oct 13 13:17:43 2015 +0200"
      },
      "committer": {
        "name": "Hubert Rzezniczak",
        "email": "hubert.rzezniczak@gmail.com",
        "time": "Tue Oct 13 13:17:43 2015 +0200"
      },
      "message": "ALOGE does not match triggering condition.\n\nMeeting the condition\nif (sceneModeOverrides.count !\u003d\n                availableSceneModes.count * kModesPerSceneMode) {\nresults with ALOGE which describes the missmatch.\nThe description does not match the condition.\n\nSigned-off-by: Hubert Rzezniczak \u003chubert.rzezniczak@gmail.com\u003e\n"
    },
    {
      "commit": "741fd4d9070c1dbe9ff297a8a3fc6317c3808482",
      "tree": "172cac13cf08e9012cd234b151940fbbfa795399",
      "parents": [
        "9589b4683cbce551eaafde67cb2af94773a9f51d"
      ],
      "author": {
        "name": "Oleksiy Avramchenko",
        "email": "oleksiy.avramchenko@sonymobile.com",
        "time": "Mon Sep 14 11:00:33 2015 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Wed Oct 07 14:28:19 2015 +0200"
      },
      "message": "Fix setTorchMode support for the old HAL version\n\nCameraHardwareInterfaceFlashControl class calls disconnectCameraDevice\nwhen torch is disabled. This closes connection to the camera module,\nbut mDevice instance is kept and variable is non-NULL which will\nprevent connection next time torch is going to be enabled.\n\nChange-Id: Icb1ffb07f05256afd92821f0f4908cda5332c05b\n"
    },
    {
      "commit": "4a8f4a3f567d8b3134b1c7ab21ca774f279ab9c2",
      "tree": "56b7339cd9ebccb979c9b3b9e91c3705e8c41fea",
      "parents": [
        "a24a1a63284b0f9d61720ee27bf8c0d9609ce2ab"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Oct 01 15:23:22 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Oct 01 15:28:06 2015 -0700"
      },
      "message": "Camera3Device: Change HFR request thread priority to 1\n\nBased on periods of the request thread and audio threads with\nSCHED_FIFO policy, 1 is a more reasonable priority for HFR\nrequest thread.\n\nBug: 24427480\nChange-Id: I91f0066a0e114fc83abcc6a604ecbaa72c6a34e8\n"
    },
    {
      "commit": "3df11ce7240d0ce5d957c626be467832c1c7fde9",
      "tree": "7c54de353814b76dd782004100c6c32a627e2484",
      "parents": [
        "f99498ee4de7123e2fd71778c6877be44fbd1506"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Sep 30 14:13:30 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Sep 30 14:13:30 2015 -0700"
      },
      "message": "Camera3Device: Bookkeeping reprocess shutters separately\n\nBookkeeping reprocess shutters separately so regular and reprocess\nshutters together don\u0027t need to come in order.\n\nBug: 24497512\nChange-Id: I4aaf22045131e9e2e26bf163f7df9ff4c5cd6259\n"
    },
    {
      "commit": "f99498ee4de7123e2fd71778c6877be44fbd1506",
      "tree": "76fc5f13ab660c053101f09a701187259952e90a",
      "parents": [
        "8595eaab5884bb74d884d366ad6e371a296bf576"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 25 16:52:55 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Sep 26 11:22:20 2015 -0700"
      },
      "message": "CameraService: Use SCHED_FIFO for request queue thread in HFR\n\n- Move SchedulingPolicyService from audioservice to mediautils\n\n- When starting up a high speed stream config, set request queue thread\n  to SCHED_FIFO using SchedulingPolicyService\n\nBug: 24227252\nChange-Id: I224b59142bd111caf563779f55cddd62385b9bac\n"
    },
    {
      "commit": "3818c6964a000bcac34176afa2bae5e247f5d223",
      "tree": "a2a217e4c6ee066fdf0020491217ace6a556d4a1",
      "parents": [
        "f00b70e082c14f789c948f623daca9be7a0e36e8",
        "652f7d7ebd9a8cec067588c2a232e49710d5cd83"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Sep 15 00:40:15 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 15 00:40:15 2015 +0000"
      },
      "message": "Merge \"Camera: API1 shim: select better default FPS range\" into mnc-dr-dev"
    },
    {
      "commit": "99c906570b8663da8709fd986323470984f9c57e",
      "tree": "b6c89e759a64d887b8099b0eec4e1eaa8c690cba",
      "parents": [
        "5c0adc3e632fbb2929cb20e32a8a9f2864c01490",
        "b83c1fe4e793da269b9340c64f7032a9cc27809c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Sat Sep 12 18:12:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 12 18:12:25 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Signal buffer returned after it failed\" into mnc-dr-dev"
    },
    {
      "commit": "b83c1fe4e793da269b9340c64f7032a9cc27809c",
      "tree": "849892744754ce783d03414e7b4c3be9c5ec2bda",
      "parents": [
        "a2ab4505c807f42afe34809409c4e85d91618a8c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Sep 10 16:15:21 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Sep 11 14:13:47 2015 -0700"
      },
      "message": "Camera3Device: Signal buffer returned after it failed\n\nSignal buffer returned even after it failed so the thread waiting\nfor it can wake up sooner.\n\nBug: 23981045\nChange-Id: Iccbcc7ece2e0f6204da9c54f2bdd96ff6843a8f5\n"
    },
    {
      "commit": "652f7d7ebd9a8cec067588c2a232e49710d5cd83",
      "tree": "b350b90f4339c5c2ed5cf88a367d6a989f24065d",
      "parents": [
        "a89ee9ef8ee7774c1ea2d64c7f24c870fcc791ca"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Sep 11 13:01:30 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Sep 11 13:01:30 2015 -0700"
      },
      "message": "Camera: API1 shim: select better default FPS range\n\nBug: 23992350\nChange-Id: Ie86b24d9e5ea753c6dfc2e5526d371b339be96a1\n"
    },
    {
      "commit": "fefa614f92346e929921bfd47e3643861850bc2a",
      "tree": "700d34dcd080cfdcbe03a49107b76304e5b9fac8",
      "parents": [
        "a89ee9ef8ee7774c1ea2d64c7f24c870fcc791ca"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Wed Sep 09 13:43:01 2015 -0700"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Fri Sep 11 11:57:19 2015 -0700"
      },
      "message": "Reduce DUMP permission denial output to one line.\n\nBug: 23940813\nChange-Id: I0060dbaff5cd0c3d028ac5cd7aba7da3f0371150\n"
    },
    {
      "commit": "a84bbe6b59721b1b963d65d270aa98d6513bbb78",
      "tree": "216a03ed2aeec280d33ac13f52cd752f3b8be681",
      "parents": [
        "27e0350ae57184d5e300f96c8338379f5d3d0fbc"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 08 17:59:17 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Sep 09 18:42:46 2015 +0000"
      },
      "message": "CameraService: Add more systracing, fix module init order\n\nImprove debugging of performance of concurrent calls to the service.\n\n- Add ATRACE calls to camera service entry points\n- Add ATRACE calls for camera HAL module calls\n- Ensure that camera module init method is called before all others\n\nBug: 23718257\nBug: 23933447\nChange-Id: I2a025866ab39eda3962877120cab13a063c7727e\n"
    },
    {
      "commit": "c85dc0548dcc59aebc39251aa66b8c5df956c76f",
      "tree": "7ab270afa8be22e59076689b6f8c98983dd1a0b5",
      "parents": [
        "4abef9bf7cfb98930044c75354f5200b811d099f",
        "24901c86e10a0923fe10f5e9bce5e6dba061a289"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Sep 05 00:18:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 05 00:18:57 2015 +0000"
      },
      "message": "Merge \"CameraService: Link to client binder death at end of connect\" into mnc-dr-dev"
    },
    {
      "commit": "4abef9bf7cfb98930044c75354f5200b811d099f",
      "tree": "61e06f2155c34502a2d923675d38d40214315867",
      "parents": [
        "8f1ee70c56aad841e4b9b569243d830ece04fdfe",
        "57ea29251d93c9423030de387573142064366a30"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Sat Sep 05 00:13:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 05 00:13:52 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Clean up next request batch variable\" into mnc-dr-dev"
    },
    {
      "commit": "24901c86e10a0923fe10f5e9bce5e6dba061a289",
      "tree": "178597477c4a44e371a273069ea4089113e33c14",
      "parents": [
        "8f1ee70c56aad841e4b9b569243d830ece04fdfe"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 04 14:15:58 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 04 15:47:17 2015 -0700"
      },
      "message": "CameraService: Link to client binder death at end of connect\n\nIf, within a binder Looper thread, a Binder object death notifier is\nregistered, and then a nested Binder transaction is begun, that\ntransaction may process a death notification callback for the\njust-registered object, if it was dead at the time of registration.\n\nThis can lead to an unexpected nested call into the service, and cause\ndeadlock.\n\nTo avoid this, move the death notifier registration to the end of\nhandling the connect transaction.\n\nAlso remove one extra bit of disconnect logging.\n\nBug: 23525545\nChange-Id: If01cbaf42704f55134118afefc9a8f7bdb014e09\n"
    },
    {
      "commit": "57ea29251d93c9423030de387573142064366a30",
      "tree": "d091aae12f730add56eb0ff92be9e1d7834b4dee",
      "parents": [
        "85a6455f269d79adf9bf48d757a4b1b3c81cf760"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Sep 04 12:58:56 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Sep 04 15:06:58 2015 -0700"
      },
      "message": "Camera3Device: Clean up next request batch variable\n\nMake the Vector of next requests a RequestThread member variable\nto avoid memory allocation in every threadloop.\n\nBug: 23360060\nChange-Id: I4f33e5c49f0f4deb1f9f45bada0909da748849e4\n"
    },
    {
      "commit": "50d12164efe3e4df9a1d994afdeb4779ce0f63c9",
      "tree": "0b1785e26deb4dcc6ae55fb74e63d66feb51a819",
      "parents": [
        "52aad85627f5216e7a3d9db425d2cc409f998a01",
        "85a6455f269d79adf9bf48d757a4b1b3c81cf760"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Sep 04 01:51:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 04 01:51:46 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Support batch requests\" into mnc-dr-dev"
    },
    {
      "commit": "85a6455f269d79adf9bf48d757a4b1b3c81cf760",
      "tree": "7ad6b688f9e60e2f8597b7de932cd8c6ff4f628e",
      "parents": [
        "cfb252cdb748429789f918c4268fcca1331f6cec"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Aug 28 15:46:12 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Sep 03 17:35:25 2015 -0700"
      },
      "message": "Camera3Device: Support batch requests\n\nRefactor request threadLoop to three parts: waiting for next\nbatch of requests, preparing HAL requests and output buffers for\nnext batch of requests, and submitting the batch of requests to\nHAL.\n\nSet the batch size to the size of the request list if it\u0027s a video\nrecording request in a high speed video configuration.\n\nAdd a flush lock so that HAL\u0027s flush() won\u0027t be called while\nsubmitting a batch of requests.\n\nBug: 23360060\nChange-Id: Icd395b1f955a9b336eec6fa5aff6b17741ce08c7\n"
    },
    {
      "commit": "52aad85627f5216e7a3d9db425d2cc409f998a01",
      "tree": "8733629f149e3bd00e56d99afc55a28bf441f004",
      "parents": [
        "3ca51aa9c8eb670b3b93ab37350fa4e0a0397bd6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 03 12:24:24 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 03 12:24:24 2015 -0700"
      },
      "message": "CameraService: Treat TOP_SLEEPING same as TOP for priority.\n\nWhen arbitrating between camera clients, treat processes in the\nTOP_SLEEPING state with the same high priority as processes in the\nTOP state.\n\nThis resolves race conditions during lock screen handoffs between\nclients such as face unlock (a bound foreground process) and a\nsecure camera app (the topmost activity, but transitioning from\nTOP_SLEEPING to TOP asynchronously from the activity lifecycle\ncallbacks).\n\nBug: 23731720\nChange-Id: I92c3f8f561c7725627826c0ba3dc926e99af746c\n"
    },
    {
      "commit": "ef7826692df89514701d12dfbfc31bec3814cf95",
      "tree": "6e91d3217d379f14ad217544297291ff7954f78f",
      "parents": [
        "5dc3d9928f85580a2351925b5f11ff0189524c39",
        "fe751bea0d3eedd6e817aebf4e457425b82e7117"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Sep 02 17:49:32 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 02 17:49:32 2015 +0000"
      },
      "message": "am fe751bea: Camera: Fix flashlight deadlock\n\n* commit \u0027fe751bea0d3eedd6e817aebf4e457425b82e7117\u0027:\n  Camera: Fix flashlight deadlock\n"
    },
    {
      "commit": "fe751bea0d3eedd6e817aebf4e457425b82e7117",
      "tree": "263226e98081eb5f3ed9dc8d20840719b837d4f3",
      "parents": [
        "389e765394a950b9697bba49c1998f2029bd58b4"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Sep 01 14:16:44 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Sep 01 14:16:44 2015 -0700"
      },
      "message": "Camera: Fix flashlight deadlock\n\nUse a dedicated mutex for torch UID map so it won\u0027t cause a deadlock\nafter flashlight app gets killed while the torch is on.\n\nBug: 23722318\nChange-Id: I228377aa0412052d56b6b948361d9abaecbbc686\n"
    },
    {
      "commit": "efff1c4ba2bf195d97de2fd5718b708e4b942901",
      "tree": "80bd9df579b10a5bb5083383952178b9113e46eb",
      "parents": [
        "0b4543149bd5afa2e9ffc26baa9f472349bea201"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 28 16:27:27 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 28 16:27:27 2015 -0700"
      },
      "message": "Camera3Device: Don\u0027t hold mutex during HAL device close.\n\nThe HAL device shutdown will likely need to wait on various events and\nqueues to drain, and holding the mutex will prevent, for example, error\nnotifications from being processed. This can lead to deadlocks.\n\nBug: 23501571\nChange-Id: I873ac23ef30545adf533e7839445448573ab5048\n"
    },
    {
      "commit": "412fe56cd7cf7d73bc5d2bcc3f635bc650d18de9",
      "tree": "919a0a09510d53e39c23126f7d4760d761d954d6",
      "parents": [
        "37ea1d0de9b7c9ffbfa7cb1895dcbf4a4f92803a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 20 17:08:32 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 21 17:41:43 2015 -0700"
      },
      "message": "CameraService: Notify camera service proxy of device status\n\nSend the camera proxy service in system server updates to\ncamera device state: opened/closed/active/idle.\n\nBug: 23393557\nChange-Id: Id7c70f134821efa34af8f6e7b4caa4c2ab128ebc\n"
    },
    {
      "commit": "5d1103e5a229401a4c4e0cb7dd91b2742881ff92",
      "tree": "ac815f1a2ee6af6deb53754a149d31a6b3eac34a",
      "parents": [
        "5f7d4b957a4b41eaee3bcfbe8cb5a2f8f3dc8dc0",
        "c78ac26e3a65328fc0118f16ee76a800d0687eb7"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Aug 17 17:28:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 17:28:11 2015 +0000"
      },
      "message": "Merge \"Add experimental camera session prepare API.\" into mnc-dr-dev"
    },
    {
      "commit": "c78ac26e3a65328fc0118f16ee76a800d0687eb7",
      "tree": "9009e37c981c7cbfdd106c44de2622edf1672a49",
      "parents": [
        "a09f8cf8c76fa946c4b91be059b420941abcdc3b"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 13 17:58:46 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Aug 14 17:30:24 2015 -0700"
      },
      "message": "Add experimental camera session prepare API.\n\nBug: 18949148\nChange-Id: I8f73e68ea2e3acc60d98954106f364d13f439a82\n"
    },
    {
      "commit": "bad4358c83c7daaf9eeb8542c15eea4f473c884c",
      "tree": "0b01065e69f769a7dc058b8ac6652ef93d4736ed",
      "parents": [
        "49f0246c2eac50bbfebf48316b1086de64ac9860"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 14 13:12:32 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 14 16:02:03 2015 -0700"
      },
      "message": "Camera: Add camera type to ICameraService.getNumberOfCameras.\n\nAlso determine the number of \u0027normal\u0027 cameras present on\ncamera service startup, and ensure that all normal cameras have\nIDs lower than the \u0027strange\u0027 cameras.\n\nBug: 23194168\nChange-Id: I1f7b14825cb52707de698a955f85da1eaa932663\n"
    },
    {
      "commit": "3ba0c6ec009aa675d3433cd6c12af173874787bd",
      "tree": "b2f5d5d8e4e9dee580233670912530da2b028ac0",
      "parents": [
        "a45ccfb88f043f859f9674b8d78b0c3e93328d10",
        "183f056393423b344e73f388f21d30379a38e519"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 13 22:59:35 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 22:59:35 2015 +0000"
      },
      "message": "Merge \"Fix deadlock conditions in Camera3Device.\" into mnc-dev"
    },
    {
      "commit": "5732386666aa2265d658e9fc861a1dfe22033861",
      "tree": "1ba35271c05fcf3790f7216ff625c1e00df81c12",
      "parents": [
        "4327df2af078894c38a8eb69f4873bef92cc0f83",
        "c96ac8dfcae66a45b7ae67b82dabdf19f60f859d"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Aug 13 00:55:24 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 00:55:24 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Relax InFlightMap size check\" into mnc-dev"
    },
    {
      "commit": "c96ac8dfcae66a45b7ae67b82dabdf19f60f859d",
      "tree": "e6c6e01b854fc40c4f66805df6c661b41c5b034c",
      "parents": [
        "09da86913ca97d7a818a8917b6601527e5e18a24"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Aug 12 16:46:24 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Aug 12 17:31:03 2015 -0700"
      },
      "message": "Camera3Device: Relax InFlightMap size check\n\nRelax InFlightMap size check for high speed configurations to\nallow more pending capture requests.\n\nBug: 23162274\nChange-Id: I955fe9a0754f0daed001f4a2b34ccb50f2465a11\n"
    },
    {
      "commit": "183f056393423b344e73f388f21d30379a38e519",
      "tree": "a3ea7463340322257cc66457f66d43532cd6a0be",
      "parents": [
        "4327df2af078894c38a8eb69f4873bef92cc0f83"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Aug 12 12:55:02 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Aug 12 14:13:16 2015 -0700"
      },
      "message": "Fix deadlock conditions in Camera3Device.\n\nPotential deadlock conditions this addresses, include:\n- Not waking up waiting threads for several situations where\n  the status had been updated.\n- Not waking up all waiting thread when status had been updated\n  (only one thread was awoken due to use of signal).\n- Threads clear status transitions before other waiting threads\n  have a chance to examine them.\n\nBug: 22448586\nChange-Id: I53ba669d333a83d2bfa1ca3170d34acc6d8fe6e3\n"
    },
    {
      "commit": "95a1d0f2fb1ea85c549ef8b869ab9ab52601d1db",
      "tree": "588303955754f420083abf393acc61de98c7e7b8",
      "parents": [
        "9872cdceaf76727e9ccc353ee41957b957b76566"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 11 15:08:53 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 11 15:08:53 2015 -0700"
      },
      "message": "Camera: Allocate correctly-sized buffers for DEPTH_POINT_CLOUD\n\nBug: 20537722\nChange-Id: I9fa2fcdcfd41cd3370732c70414914993d3dc94e\n"
    },
    {
      "commit": "f6d07bc61fd7fefe9d2b2cbdaf637f2fdb1bd21e",
      "tree": "7f96f8c7ebb56d5865ae8f6b993615f4f203b12c",
      "parents": [
        "b9f72ab0b0b7582e021d369e7179022f7be5b37d",
        "eff134a61a5dd081ee578628704a66dca24e0cf7"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Sat Jul 18 01:39:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 18 01:39:21 2015 +0000"
      },
      "message": "Merge \"Fix UAF error in CameraModule.\" into mnc-dev"
    },
    {
      "commit": "eff134a61a5dd081ee578628704a66dca24e0cf7",
      "tree": "f9c20cdd5b2fd292581f50246157d635f81616e4",
      "parents": [
        "4b33e0838fdb1b5e545449add02005916b512c99"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jul 17 15:22:01 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jul 17 15:33:46 2015 -0700"
      },
      "message": "Fix UAF error in CameraModule.\n\nBug: 22542551\nChange-Id: I2fe5791a6554a8e2f7fd94593d552d8af18257db\n"
    },
    {
      "commit": "51d0b1d84dc1c095e68126257213f24f64ab3aa0",
      "tree": "ee4b7ce1d0cbaac20923833dcc6e454356b7e45d",
      "parents": [
        "dbd0f3c5e15e56c2d91ae1405fecf2279785ef00",
        "355d9c6b74cd22a88fc7d1c9ba2e928ba566c69e"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 17 21:10:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 21:10:50 2015 +0000"
      },
      "message": "Merge \"Camera2Client: handle slower jpeg stream sensor\" into mnc-dev"
    },
    {
      "commit": "355d9c6b74cd22a88fc7d1c9ba2e928ba566c69e",
      "tree": "bc32a65fff0ded381544c769d66e694c284adfe8",
      "parents": [
        "11addc1d922efa0bf12e261481bba11024c7c7ab"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Feb 24 15:51:43 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jul 16 16:19:05 2015 -0700"
      },
      "message": "Camera2Client: handle slower jpeg stream sensor\n\nIf largest jpeg stream cannot sustain 30 FPS, don\u0027t\ncreate jpeg stream until takePicture is called and remove\nit after still capture is done.\nAlso, disable video snapshot for such sensors so video snapshot\nwon\u0027t slow down video recording.\n\nBug: 22231605\nChange-Id: I2b34d2537c224694ae10f2006b5a46be45a1b1a6\n"
    },
    {
      "commit": "b25e3c87724b6147ed1da7c1d6617c39bfce2fbf",
      "tree": "c0e95e487b2583b8ba87e2ce5505fb74dec9d2d8",
      "parents": [
        "1bc88814f530bf67e425cfb8cea0f2b8dce3c03f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 15 16:04:27 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 16 14:55:33 2015 -0700"
      },
      "message": "Camera: Add hidden experimental tearDown method.\n\nBug: 18949148\nChange-Id: Ie86ec7d1ec3db54e1154563b2339a208a935f849\n"
    },
    {
      "commit": "878b8f1a0128cf63617782e3073dffb212d0c8f1",
      "tree": "71045bbd8b8ebed4b5139ce6e4ef5bd490823b1b",
      "parents": [
        "637709460ea75e927a5802899d6547bca3b5e7be",
        "3450ba7879be6522ea46a56c5e66e5382f5dd5ba"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jul 07 19:31:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 19:31:53 2015 +0000"
      },
      "message": "Merge \"camera2: Fix native binder interface and add tests.\" into mnc-dev"
    },
    {
      "commit": "3450ba7879be6522ea46a56c5e66e5382f5dd5ba",
      "tree": "201ed5e416af4f44012e6b5c7f2b16bd30cfc673",
      "parents": [
        "a3b3caaae3fc23b99c5c455ee429f79c270cfbae"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jun 16 11:00:37 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jul 06 17:49:44 2015 -0700"
      },
      "message": "camera2: Fix native binder interface and add tests.\n\n- Add CameraBinderTests for limited coverage of native\n  camera2 binder interfaces for the camera service.\n- Fix several bugs in the native binder interfaces.\n\nBug: 18468810\nChange-Id: Iab2d81a5cacd20daf7454aeeed033cc13d88452c\n"
    },
    {
      "commit": "944f843015c440837abb029356108a81b4095e53",
      "tree": "4e15fbdc1a32f75bd419e3fde5c3f897cd3789a6",
      "parents": [
        "f60b6b6c776a762827874f6f635c0577359a7ee4"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Jul 01 17:08:03 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jul 06 16:45:13 2015 -0700"
      },
      "message": "CameraModule: fix getCameraInfo()\n\nRemove mCameraCharacteristicsMap.\n\nCameraModule kept a CameraMetadata in mCameraCharacteristicsMap\nand kept its camera_metadata in mCameraInfoMap. When CameraMetadata\ngets moved in mCameraCharacteristicsMap, it may clone a new\ncamera_metadata and free the old one. So the original\ncamera_metadata stored in mCameraCharacteristicsMap becomes invalid.\n\nBug: 22171288\nChange-Id: Ia8e99fe42989946bc952ad23abb296aeac60da83\n"
    },
    {
      "commit": "ab5135b254c6f9aaac8edb816596f8823dbdb3d5",
      "tree": "493cfbff9b52250cea24491a330afc131e8d5dc6",
      "parents": [
        "29b7cec9a248828d2371bc8758d819308d0e84a4"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Jun 30 11:20:58 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Jun 30 11:20:58 2015 -0700"
      },
      "message": "Camera3-Device: Fix AE lock available\n\nPass whether AE lock is available when creating the request thread\nbecause when the request thread was created, its parent\u0027s info\nwas not set yet.\n\nBug: 20494782\nChange-Id: I11ed3f99c473955c437e81f3e1d704c15a9ca1a4\n"
    },
    {
      "commit": "ed8505836c0b2fba0ab4be0c1eff31d4f241bc1d",
      "tree": "504bc9d1a026036d269f4a351ef5c19225e0de72",
      "parents": [
        "76e06bedda1b759d806b8d13ab58c5b7fabc8a52",
        "d196d6165aa1ac0dd7c0ad6cc5ada3a2f8e4b49d"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Jun 24 23:03:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 23:03:15 2015 +0000"
      },
      "message": "Merge \"Camera3: Support AE precapture trigger CANCEL\" into mnc-dev"
    },
    {
      "commit": "d196d6165aa1ac0dd7c0ad6cc5ada3a2f8e4b49d",
      "tree": "14eecffaaf54b97b3146303021107970287a136f",
      "parents": [
        "fa907d4ee326c7bb9cbb4882ab7c0ec42bbceee3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jun 22 19:49:01 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Jun 24 15:42:16 2015 -0700"
      },
      "message": "Camera3: Support AE precapture trigger CANCEL\n\nSupport AE precapture trigger CANCEL for devices \u003c\u003d API\nversion 3.2.\n\nBug: 20494782\nChange-Id: I6003ba8057ca4ec9e8dfda47b8411ae6be913d22\n"
    },
    {
      "commit": "a3b3caaae3fc23b99c5c455ee429f79c270cfbae",
      "tree": "0e23fd4afb42e4b1aa48f73e5862c5358b539afa",
      "parents": [
        "99b38856e91a55bb67085dbabffac9739998fe8b"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jun 22 14:26:51 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jun 22 15:07:34 2015 -0700"
      },
      "message": "Add default for pre-distortion active array.\n\nBug: 20491394\nChange-Id: I53b0539b37cc7a042e6765c97775b8c2bbba7159\n"
    },
    {
      "commit": "17338fca4a51dfb32c1291f94b65d4b4f30b682d",
      "tree": "1f9e96d39548676dc852afb64e1488fc02a2ab15",
      "parents": [
        "3fc792fe36b0b9100f74185665221b37f650ff65"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jun 18 16:30:12 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jun 18 16:30:12 2015 -0700"
      },
      "message": "Camera3Device: Fix high speed configuration\n\nIf high speed mode changed, HAL needs to reconfigure the streams\neven when the stream configurations don\u0027t change.\n\nBug: 21900311\nChange-Id: I76aee456b3b6d8c8f599a1638dcd38d75553a235\n"
    },
    {
      "commit": "f8f2f137cceebe3bee4ff3219bc75189a4eccc65",
      "tree": "3a9785eaa821fbd8f67235af6e27cc7329c08755",
      "parents": [
        "7bf8e1c28ba7ba6eb0c677d9ca749e4238fa43f4",
        "77a77f6ef6f04dba8caa54bda937cb276cace9ad"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jun 12 23:34:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 23:34:54 2015 +0000"
      },
      "message": "Merge \"Fix rounding width.\" into mnc-dev"
    },
    {
      "commit": "77a77f6ef6f04dba8caa54bda937cb276cace9ad",
      "tree": "9ecf4f8427cb33f78a5e4ad7effdfeda892fcaa4",
      "parents": [
        "f49b5150f87c98c389a334c3af5a9a586d40ee8f"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jun 12 16:15:35 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jun 12 16:18:20 2015 -0700"
      },
      "message": "Fix rounding width.\n\nBug: 19930700\nChange-Id: I9d5685bd98a049fcb01f6ecc649f15f3b4498e6d\n"
    },
    {
      "commit": "727d172137b4f32681c098de8e2623c0b65a6406",
      "tree": "8e7a403274d5a770ecd473d6ef66f3a5f32f45da",
      "parents": [
        "9a17941fa70e43119d2c3464bc00a3cd30b2bd14"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 13:44:19 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 14:52:26 2015 -0700"
      },
      "message": "CameraService: Add consumer name to output stream dumpsys\n\nAlso switch use of ANativeWindow to Surface, to get to the\ngetConsumerName() method where necessary.\n\nSurface can always be cast to ANativeWindow, but not the other way\naround, so it\u0027s a better option anyway.\n\nChange-Id: Ie5c2d30821c1a754f9e382699ff50b4b328288b3\n"
    },
    {
      "commit": "9a17941fa70e43119d2c3464bc00a3cd30b2bd14",
      "tree": "8403142aa383ae28e264118d69775636da6269eb",
      "parents": [
        "d46a6b9fd8b2a4f9098757384711e2cd03a91651"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 13:15:16 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 13:16:35 2015 -0700"
      },
      "message": "Camera3Device: Default-initialize operating mode.\n\nSince configureStreams is only called by CameraDeviceClient,\nthe operation mode could default-initialize to CONSTRAINED_HIGH_SPEED\nfor API1 operation.\n\nChange-Id: Ide71af07ca3925db8e450d00def1daeb44d8046a\n"
    },
    {
      "commit": "d46a6b9fd8b2a4f9098757384711e2cd03a91651",
      "tree": "6a292d7d4948ad40719925c82ee95945a6ccb99d",
      "parents": [
        "b4b4cd11c9b95af613f5c0f14f93e3c9590fda7c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu May 14 17:26:24 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 08 13:21:50 2015 -0700"
      },
      "message": "Camera1 API: Support SW encoders for new camera HALs\n\n- Support new set video format/dataspace command in camera service\n  - HALv3: Select gralloc usage flags based on format\n  - HALv1: Pass format command directly to HAL layer\n- Use format/dataspace command in CameraSource\n- Switch all API1 recording to use metadata mode\n- Switch all \u003e\u003d HALv2 API1 recording to use kMetadataBufferTypeANWBuffer\n\nBug: 13222807\nChange-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42\n"
    },
    {
      "commit": "e3afb2cc438b76ae433c8c40ceabf0457ad7a678",
      "tree": "4410c41bb351d0b646e5d156a0e8fbd4cb69e533",
      "parents": [
        "afd492436efc7f66b958da14659b52232efa5910"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 03 16:03:30 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 05 17:19:39 2015 -0700"
      },
      "message": "Camera: Change error for app ops reject, propagate binder errors\n\nINVALID_OPERATION surfaces as an non-specific device-level error to\napplications in the onError callback. This is not a condition apps\ntargeting camera2 in L will generally have to deal with.\n\nInstead, return -EACCESS which maps to throwing\nCameraAccessException.CAMERA_DISABLED, same as disabling camera access\nwith DevicePolicyManager.\n\nThe old camera API converts any error code to -EACCESS at the JNI layer,\nso this doesn\u0027t change anything for the older API.\n\nAlso update the various native ICameraService binder connect calls to\ncheck for the transact error code, and return it if it is not OK.\nWithout this, PERMISSION_DENIED transact errors from the camera\nservice cannot be distinguished from CAMERA_DISABLED errors in\nsome codepaths.\n\nBug: 21604925\nChange-Id: Ifccc8989b8c20653429e2d3e51dba7abb2be9c35\n"
    },
    {
      "commit": "1fa8999c91d5df81949aa723000058380cd3faa2",
      "tree": "3ebf10fd408c34bc35108c24df5ccbd02e2153eb",
      "parents": [
        "4170eeec0a2dc2a9543b7e4674a43b3d2faac61d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jun 01 15:44:31 2015 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jun 03 20:22:06 2015 -0700"
      },
      "message": "Camera2: implement high speed video APIs\n\nBug: 21442271\nChange-Id: Ia0ae5bbd3e8c81bad293c29987301a2457817d12\n"
    },
    {
      "commit": "cb18ec05b7097a63262b81afe1e866105d400f4a",
      "tree": "4b13077360dfb54722298be1b793a8df5ddc6d7a",
      "parents": [
        "cc7cc67349b7a3f498882087aa42ffc05a2daf11",
        "99e69716215cd0665379bc90d708f2ea8689831d"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jun 02 01:48:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 01:48:23 2015 +0000"
      },
      "message": "Merge \"Track camera and flashlight usage in battery stats.\" into mnc-dev"
    },
    {
      "commit": "99e69716215cd0665379bc90d708f2ea8689831d",
      "tree": "d013b8e9273ea6032ddf24ba701eccb755b672bb",
      "parents": [
        "4a95e69406aa2e9896d865962d6d947ebbdac6fc"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue May 26 17:25:07 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jun 01 16:53:45 2015 -0700"
      },
      "message": "Track camera and flashlight usage in battery stats.\n\nBug: 15986092\n\nChange-Id: I9dc6828332e4091fd93bf2d82839e8e3862a2fc2\n"
    },
    {
      "commit": "c2adf48e2dfae0b2b5ddd9de9e7d79ca471bfd37",
      "tree": "eb4d40202cabbd2d13d6bfc420a75339b2b1f882",
      "parents": [
        "db431db53fbbb9024b6e72c528e2d195d63ad544"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed May 27 14:27:49 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jun 01 11:18:05 2015 -0700"
      },
      "message": "Camera3: fix aborting reprocess requests\n\nGet an input buffer right after camera service takes one\nreprocess capture request from the request queue to prevent\nthe input buffers getting out of order.\n\nWhen aborting pending reprocess requests in the request queue, also\nabort the same amount of input buffers.\n\nBug: 21028914\nChange-Id: I7cfacecb4c24509f59c983abd587db5a403237bd\n"
    },
    {
      "commit": "fb683371379606bd3f41c880d83e33f8f3e445ac",
      "tree": "52316e06fbde21f7865264fd9cc99554ee6bd331",
      "parents": [
        "12129ccd0766ba6647ff8e2cc13f80c485d28a1f",
        "3e28a1a1dea11eada3a1c27b973301796032ae20"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 28 22:40:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 28 22:40:59 2015 +0000"
      },
      "message": "Merge \"Camera: derive LSC characteristics keys\" into mnc-dev"
    },
    {
      "commit": "3e28a1a1dea11eada3a1c27b973301796032ae20",
      "tree": "8e4272a1338fe9cab488c183da680a79d208b93b",
      "parents": [
        "2d6b6601743c3c6960c6511a2cb774ef902759f4"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri May 22 15:03:38 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 28 15:25:28 2015 -0700"
      },
      "message": "Camera: derive LSC characteristics keys\n\nAlso fix a typo in AWB lock available key.\n\nBug: 21403373\nBug: 20883751\nChange-Id: I5156f4fafcf4ae86f680fb618966c7cc58900120\n"
    },
    {
      "commit": "0ec23d3f89d804cc1d9dea8f0585dc6d57bfd5c2",
      "tree": "ce0acecdfdb3f8903acfcf8541944ed3676546ad",
      "parents": [
        "e74c228e83906e0e317c4eb6eac20815ff839c04"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu May 28 15:15:54 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu May 28 15:21:48 2015 -0700"
      },
      "message": "Camera3Device: Do not call cleanUpFailedRequest with mutex held\n\nDouble-acquiring a non-recursive mutex tends to work poorly.\n\nBug: 21498811\nChange-Id: I1d59959fca69c97684522195808019797f7a6a7d\n"
    },
    {
      "commit": "e74c228e83906e0e317c4eb6eac20815ff839c04",
      "tree": "a54eb6dadada7fc4ca3fcd6013c2fc50315a8bac",
      "parents": [
        "ad9cb8b88e4f8face23f01d8dc89fa769dacb50f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed May 27 14:46:23 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed May 27 17:44:25 2015 -0700"
      },
      "message": "Camera3Device: Close hole in prepare in-use stream check\n\nThere\u0027s a narrow window in which a capture request is neither in the\nrequest queue or handed off to the HAL, which can be expanded to some\nsize if buffers have to be allocated.  During this window, the\nprepare() method will not correctly notice that a stream should be\nconsidered in use.\n\nAdd a member to contain the current request being processed, and check\nagainst it in prepare as well.\n\nChange-Id: I3a198d617f5feee0a3332af4b4439f24eda28ea3\n"
    },
    {
      "commit": "2232aee25e4df7d04446912e8ad9e9dc44d8ec16",
      "tree": "069b67ffba5507b89d75bc27a2c14ca0f625b6f9",
      "parents": [
        "523d08709ba4a0124eb2117907d79113fbe00cfb",
        "2823ce0ce6f9d508a07de20912c93cce9165027f"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed May 20 20:44:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 20:44:15 2015 +0000"
      },
      "message": "Merge \"camera: Add AIDL interface for CameraServiceProxy.\" into mnc-dev"
    },
    {
      "commit": "2823ce0ce6f9d508a07de20912c93cce9165027f",
      "tree": "8cba3b9c036b486e69578d13d8a76dcc77c5f7a7",
      "parents": [
        "6267b539d0d1ee7118aafd976d75cb8db397bc24"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue May 19 17:25:13 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed May 20 11:43:11 2015 -0700"
      },
      "message": "camera: Add AIDL interface for CameraServiceProxy.\n\n- Adds an AIDL interface to allow the proxy camera service\n  running in system server to accept RPCs from the camera\n  service running in mediaserver.\n- Request an update to the valid user set from the proxy\n  camera service when mediaserver restarts to initialize\n  properly + avoid DOS after a crash.\n\nBug: 21267484\n\nChange-Id: Ib821582794ddd1e3574b5dc6c79f7cb197b57f10\n"
    },
    {
      "commit": "fb2b8eaf0c4bf980605030f3c66b44a097fa7950",
      "tree": "958a7af9fa6125b87635d95905012db3a3a08045",
      "parents": [
        "8f9dd2c40b8ab996e71d6835c379a5d4a8551b00",
        "022f0cb0c6f135edde4ebe84859c685933ee895e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed May 20 00:08:15 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 00:08:15 2015 +0000"
      },
      "message": "Merge \"CameraService: Logcat conflicting devices on rejected open\" into mnc-dev"
    },
    {
      "commit": "022f0cb0c6f135edde4ebe84859c685933ee895e",
      "tree": "938b6389523d0afeb02acf7904ce067869718a6c",
      "parents": [
        "4a95e69406aa2e9896d865962d6d947ebbdac6fc"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 19 16:31:16 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 19 16:31:16 2015 -0700"
      },
      "message": "CameraService: Logcat conflicting devices on rejected open\n\nAlready in dumpsys log, but also put into logcat for feedback reports\n\nAlso fix a minor warning about an uninitialized variable.\n\nBug: 21063372\nChange-Id: I04b45932e4500ac72aaa1cb724abc8a82a0e70e8\n"
    },
    {
      "commit": "216db7455a19a2f1a5b29e3a9610231365b6c778",
      "tree": "86b657d4b0767ab3949a8e144675a3762f44df27",
      "parents": [
        "e28159ba94a7fa6711c2f1e459413ccce9f065ab"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 18 15:03:35 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 19 11:56:18 2015 -0700"
      },
      "message": "Camera: API1 shim: notify shutter correctly\n\nPrevious implementation only notifies the callback when we receive\nfull capture result. This implementation notifies the callback\nonce HAL sends capture start callback.\n\nBug: 12530628\nChange-Id: Ibf71d532b5cf649514b316e35683c217021698b4\n"
    }
  ],
  "next": "6267b539d0d1ee7118aafd976d75cb8db397bc24"
}
