)]}'
{
  "log": [
    {
      "commit": "c3dcf1007aa964f825b2ea2ef86acb7f332e748f",
      "tree": "c3e72b5ad4c3a145413a2a6e964719dbf908059e",
      "parents": [
        "a1aaaf86cd04eabaf961a30d7b0a9fa857089862",
        "65550a0e17852fe657795508e3bf05bdbfb2520b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 25 20:15:40 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 20:15:40 2014 +0000"
      },
      "message": "am 65550a0e: am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\n* commit \u002765550a0e17852fe657795508e3bf05bdbfb2520b\u0027:\n  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n"
    },
    {
      "commit": "65550a0e17852fe657795508e3bf05bdbfb2520b",
      "tree": "c7c08feacf4c4eee1ac0a387cbe02c0d77b07bfc",
      "parents": [
        "3089021031d6ad0f2b330567f108aec03fa13994",
        "0370be96e33ea0c8fb4069e704deccce43b7403c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 25 20:11:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 20:11:09 2014 +0000"
      },
      "message": "am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\n* commit \u00270370be96e33ea0c8fb4069e704deccce43b7403c\u0027:\n  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n"
    },
    {
      "commit": "a1aaaf86cd04eabaf961a30d7b0a9fa857089862",
      "tree": "0a5552a3fb27bda556afa0cd69ee672fc6f499ac",
      "parents": [
        "5c679d41714e42f153f6aeb492df54510a195bc1",
        "4f53fe74051026e6635ba5bdbed4f1898cb66028"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 19:09:34 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 19:09:34 2014 +0000"
      },
      "message": "am 4f53fe74: Merge \"CameraService: deadlock fix\"\n\n* commit \u00274f53fe74051026e6635ba5bdbed4f1898cb66028\u0027:\n  CameraService: deadlock fix\n"
    },
    {
      "commit": "0370be96e33ea0c8fb4069e704deccce43b7403c",
      "tree": "9d244524a113db326aa9e86caab40c49a08248f3",
      "parents": [
        "333ceb4f66ccf790081026f645474e07d832fbdb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 11:20:25 2014 -0700"
      },
      "message": "DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\nAs a workaround, duplicate CameraParameters into CameraParameters2 to\nprevent ABI break for some camera HALs that directly link into\nCameraParameters.\n\nCameraParameters2 implements the real fixes needed in the framework,\nwhile CameraParameters is left in to satisfy older camera HALs.\n\nBug: 12609188\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da\n"
    },
    {
      "commit": "6ec3a15257ca2b56b675a610aef43cc4ec6aaf00",
      "tree": "f28808875e71939c1c9e0d30e69a283dac93b9db",
      "parents": [
        "3d7c500234d98464d37ba3e1b65cea763b316b69"
      ],
      "author": {
        "name": "Kalle Lampila",
        "email": "kallex.lampila@intel.com",
        "time": "Tue Apr 30 15:27:19 2013 +0300"
      },
      "committer": {
        "name": "Xiaokang Qin",
        "email": "xiaokang.qin@intel.com",
        "time": "Tue Mar 25 04:29:31 2014 -0700"
      },
      "message": "CameraService: deadlock fix\n\nRelease lock before return from CameraService::dump()\n\nChange-Id: Ia20b0921fc675a284f3b7f8d26e0e3596b5a8774\nSigned-off-by: Kalle Lampila \u003ckallex.lampila@intel.com\u003e\n"
    },
    {
      "commit": "5c679d41714e42f153f6aeb492df54510a195bc1",
      "tree": "b8100421f7339771067ad447d94ad2a5f6494068",
      "parents": [
        "ba1390335794a38472bf0349568bc4f199dc5c90",
        "3d7c500234d98464d37ba3e1b65cea763b316b69"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 17:43:32 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 17:43:32 2014 -0700"
      },
      "message": "resolved conflicts for merge of 3d7c5002 to klp-modular-dev-plus-aosp\n\nChange-Id: Ia6d87d56174d1388c1148fb55b6e4bc57d8666db\n"
    },
    {
      "commit": "4bd71b4ed6f1825b287e448c336e3e59138c2956",
      "tree": "c8c46021cf9d734226dc2c9f94111bc3d398c015",
      "parents": [
        "e5729fac81c8a984e984fefc90afc64135817d4f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:09:19 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:09:19 2014 -0700"
      },
      "message": "libcameraservice: build 64-bit\n\nlibcameraservice builds fine for 64-bit, remove LOCAL_32_BIT_ONLY\n\nChange-Id: I9f28bc42dc424dee9b92e6ab092f86d3aa1419b7\n"
    },
    {
      "commit": "e5729fac81c8a984e984fefc90afc64135817d4f",
      "tree": "526e94e71d66a2cf8faac48c16716bf3c757a2a6",
      "parents": [
        "24e1bd71ac6850d9062b3bd803b37c0e92f69c7a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:04:25 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:04:25 2014 -0700"
      },
      "message": "libcameraservice: fix 64-bit print format warnings\n\nUse PRId64 from inttypes.h to print nsecs_t (int64_t)\nUse %zu to print size_t\n\nChange-Id: I135620e0388db33587a8a7da393b48a45cb7275a\n"
    },
    {
      "commit": "557847ee511dd5e75d584ff04449322f0f098241",
      "tree": "bae95f72a0c78169db8fd138f82629e73400bac3",
      "parents": [
        "9a9481f89b26211b20d7f3fde3d54b455843bf70",
        "a6ca0acf0d009acf45b05561273aaad44ab22533"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 00:20:54 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 18 00:20:54 2014 +0000"
      },
      "message": "am a6ca0acf: am bd3e2e03: camera2: Fix segfault when using null availability listener\n\n* commit \u0027a6ca0acf0d009acf45b05561273aaad44ab22533\u0027:\n  camera2: Fix segfault when using null availability listener\n"
    },
    {
      "commit": "a6ca0acf0d009acf45b05561273aaad44ab22533",
      "tree": "e6c7049fd6bbce66f21b37f5d08bd371daeaf87f",
      "parents": [
        "8788c40c7b5bdcaef1dcaa7f36598ae767880047",
        "bd3e2e03f3ab686c52982a9e50cae853128172cf"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 22:56:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 17 22:56:00 2014 +0000"
      },
      "message": "am bd3e2e03: camera2: Fix segfault when using null availability listener\n\n* commit \u0027bd3e2e03f3ab686c52982a9e50cae853128172cf\u0027:\n  camera2: Fix segfault when using null availability listener\n"
    },
    {
      "commit": "bd3e2e03f3ab686c52982a9e50cae853128172cf",
      "tree": "08e6182c089c0377db4b5c0010b30a16d8f2e5ba",
      "parents": [
        "75dcf5101c90e31bbac95694d835b0e8f57ba720"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 13:01:41 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 13:01:41 2014 -0700"
      },
      "message": "camera2: Fix segfault when using null availability listener\n\nICameraService::addListener / removeListener will now return BAD_VALUE\nif a null listener is used.\n\nBug: 12891434\nChange-Id: I9764110094d8fd42e22fcc8df3ef0e73c1b070e7\n"
    },
    {
      "commit": "3c7801882bbb6d5f3cc641525a54cb8a6c4aca34",
      "tree": "f6f5e9f9d4ffecd658b76a3ef176564253768e3b",
      "parents": [
        "f1ac623fcc6bbda2faff9752cd611182a897afe1",
        "089affb6c2d9ed1e2d49df4be02d30dc490506f9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Mar 14 20:53:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 14 20:53:02 2014 +0000"
      },
      "message": "am 089affb6: Merge \"mediaserver and associated services are 32-bit only\"\n\n* commit \u0027089affb6c2d9ed1e2d49df4be02d30dc490506f9\u0027:\n  mediaserver and associated services are 32-bit only\n"
    },
    {
      "commit": "af783aa91f7a279153fb8bab8d0d6b9f737996e9",
      "tree": "25c5b54bf884f220cce4ee21a9cbaf6583820f91",
      "parents": [
        "19afb3869eb6a3e3733dc1f7420e1d4c3c03d376"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Sun Mar 02 19:48:19 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 12 11:24:53 2014 -0700"
      },
      "message": "mediaserver and associated services are 32-bit only\n\nalso 32-bit only command-line apps\n\nChange-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3\n"
    },
    {
      "commit": "708601d042ae2a927da2181f33da47d9b01ad411",
      "tree": "4a041c6454ea97621345252c4f67fd00254bcdc0",
      "parents": [
        "3a20f9af8587d2e5bbf4654a3a958f43c4133445",
        "f0fb921c0170fe3b8ebce8fbe3c133a99c6def9f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Mar 11 23:22:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 11 23:22:02 2014 +0000"
      },
      "message": "am f0fb921c: am bc69c8ba: DO NOT MERGE: Camera: delete preview callback when preview size is changed\n\n* commit \u0027f0fb921c0170fe3b8ebce8fbe3c133a99c6def9f\u0027:\n  DO NOT MERGE: Camera: delete preview callback when preview size is changed\n"
    },
    {
      "commit": "f0fb921c0170fe3b8ebce8fbe3c133a99c6def9f",
      "tree": "8a243f5babdf06f907f3f7b35b45bd5561cb4e25",
      "parents": [
        "38efe8eb08e08610d535a164768851ac7c13d654",
        "bc69c8ba9a8fc881603669205a56d0ca1b572a95"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Mar 11 19:46:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 11 19:46:25 2014 +0000"
      },
      "message": "am bc69c8ba: DO NOT MERGE: Camera: delete preview callback when preview size is changed\n\n* commit \u0027bc69c8ba9a8fc881603669205a56d0ca1b572a95\u0027:\n  DO NOT MERGE: Camera: delete preview callback when preview size is changed\n"
    },
    {
      "commit": "bc69c8ba9a8fc881603669205a56d0ca1b572a95",
      "tree": "55c526333f2b036d4827170ff7250c99e30feaf3",
      "parents": [
        "6db20dcb54dad932a3ea2e3a5dca41fce5802eb4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jan 21 12:15:56 2014 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 10 20:31:08 2014 +0000"
      },
      "message": "DO NOT MERGE: Camera: delete preview callback when preview size is changed\n\nPreview callback stream is left configured even the preview size is changed.\nThis makes the callback stream unnecessarily configured even in recording mode,\nwhich could cause distorted preview for some devices.\n\nBug: 12210027\nBug: 12591410\nChange-Id: If50cddfe5562e91aec1feb1760eccb82ddb21730"
    },
    {
      "commit": "40659dea8eefaa9d7f5b742e3333d68b6f0dd89c",
      "tree": "53a621f8f1b314c07c0ffff156c25b3981813ab0",
      "parents": [
        "51b7125bd0e2127f1d57938e95523dcc61e657ef",
        "47ef192f0296642b901e82d0c72c5a1a0d08f4df"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 07 02:18:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 07 02:18:42 2014 +0000"
      },
      "message": "am 47ef192f: am a11111f9: Merge changes Id28b35fd,Ie4e64977,I2950f31e into klp-dev\n\n* commit \u002747ef192f0296642b901e82d0c72c5a1a0d08f4df\u0027:\n  DO NOT MERGE: Camera: fix focusArea wrong indexing issue\n  DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.\n  DO NOT MERGE: camera2/3: Add protection for still capture path\n"
    },
    {
      "commit": "47ef192f0296642b901e82d0c72c5a1a0d08f4df",
      "tree": "c5f4c0f2f679652f37926469de0c180bb1fbd2b5",
      "parents": [
        "bfc260667e566d4ea29c8b1d089b95ce2c11890c",
        "a11111f9135c98cf4247bbd1a61d7df3053e549e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 07 02:00:59 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 07 02:00:59 2014 +0000"
      },
      "message": "am a11111f9: Merge changes Id28b35fd,Ie4e64977,I2950f31e into klp-dev\n\n* commit \u0027a11111f9135c98cf4247bbd1a61d7df3053e549e\u0027:\n  DO NOT MERGE: Camera: fix focusArea wrong indexing issue\n  DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.\n  DO NOT MERGE: camera2/3: Add protection for still capture path\n"
    },
    {
      "commit": "a413dd621966044753a8fa1f57c76d847b6f4bec",
      "tree": "3205bb3eb789cc21cf2b7f5d1344c21d61e86d2b",
      "parents": [
        "6706009fa8294c8cdab1cdab4585f00d42df483e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jan 29 08:52:01 2014 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 05 15:10:43 2014 -0800"
      },
      "message": "DO NOT MERGE: Camera: fix focusArea wrong indexing issue\n\nBug: 12304559\nChange-Id: Id28b35fdd9697c1ec3365f617996801965de8bd0\n"
    },
    {
      "commit": "6706009fa8294c8cdab1cdab4585f00d42df483e",
      "tree": "55fcdca48c005adaa2d25cc3e87715345e31e5ce",
      "parents": [
        "81d754306ecd4a587459015da5168270c2a5c167"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Dec 05 11:00:37 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 05 14:31:30 2014 -0800"
      },
      "message": "DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.\n\nBug: 11856804\n\n- Shutdown order in Camera2Client allows a stream to be\n  deleted before the corresponding processing thread has\n  quit.  This can result in updates being called on the\n  processor thread without a valid stream.\n\nChange-Id: Ie4e649771f4321498659211f2a37ed89a6d956c4\n"
    },
    {
      "commit": "81d754306ecd4a587459015da5168270c2a5c167",
      "tree": "40e203771b86181b96aaf6022532e7aadf71e238",
      "parents": [
        "85b3013e06e8fe7802fe6259ecac80261e834332"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Nov 26 15:11:05 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 05 14:29:40 2014 -0800"
      },
      "message": "DO NOT MERGE: camera2/3: Add protection for still capture path\n\nJpeg stream in JpegProcessor could be deleted while process new capture is\nongoing, which unsafe to access a dead consumer endpoint.\nBug: 9316454\nChange-Id: I2950f31ea28d0ba01f08502e2e3ba452bf8bb818\n"
    },
    {
      "commit": "377b2ec9a2885f9b6405b07ba900a9e3f4349c38",
      "tree": "b938e1d75a1beefae86244f287ca22f4a277740d",
      "parents": [
        "cdda7bf4d3ca9cad6979374a18dd5be79ea83d80"
      ],
      "author": {
        "name": "Kévin PETIT",
        "email": "kevin.petit@arm.com",
        "time": "Mon Feb 03 12:35:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 11:40:06 2014 +0000"
      },
      "message": "Make frameworks/av 64-bit compatible\n\nContains the necessary changes to make frameworks/av build and work\non a 64-bit machine.\n\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n\nChange-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43\n"
    },
    {
      "commit": "c7614eb7cf2e3e121baa3de26e3622974a163786",
      "tree": "f2a7b3d4cfc8109459b3ccd0cf8f5a8a26a9e4b2",
      "parents": [
        "e311b15cf821f65f68af2cdfe01e864cbc9a86ce",
        "cd4f9920f5658fcf1bf62bfebf5232a1fea06ea6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 15 20:26:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 15 20:26:02 2014 +0000"
      },
      "message": "Merge \"libcameraservice: Fix build in ISO C++11 mode\""
    },
    {
      "commit": "d8a62e25ba6520c2531c7a3d32cc8066e1dab776",
      "tree": "dbf4856e2a0f6781f3287fed2534f7e358c6b053",
      "parents": [
        "4215e6166fca9f87a6e9e848b3dfd4ab0d25c954"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 14 10:32:13 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 14 10:32:13 2013 -0800"
      },
      "message": "Camera2: Rework the FPS range vs. FPS single setting detection\n\nGive up on current approach of writing out consistent FPS values\ninto parameters that will be read back by the app.\n\n- Preserve app\u0027s latest set parameters exactly, and compare against\n  them when detecting if a new FPS range or single FPS value has been\n  selected.\n\n- Since get() returns exactly what was set(), it doesn\u0027t matter if the\n  app calls getParameters() before its next setParameters(), in terms\n  of retriggering FPS selection logic. Before, the behavior varied\n  depending on whether the app re-read the parameters.\n\n- As before, if app changes both range and single FPS in a single set\n  call, the range set wins. Otherwise, the value that has changed more\n  recently is used.\n\nBug: 11570973\nChange-Id: I72b5e60c3f60e88d55127dd1bda87e26eaf929c6\n"
    },
    {
      "commit": "184dfe4ea5e2ba33951bed2b1366007aee0ce3da",
      "tree": "ada678fb9d95fed7b4b25aead2615eaa4f003495",
      "parents": [
        "caee8747b7df3b1119426594d4ba1c0e300ff6db"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 07 15:13:16 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Nov 12 10:24:42 2013 -0800"
      },
      "message": "Camera API2: Add support for partial result quirk\n\n- Camera3Device: Include requestId in partial 3A results\n- FrameProcessorBase: Add support for partial result listeners\n- CameraDeviceClient: Listen and forward partial results to client\n\nBug: 11115603\nChange-Id: If1cc6bbc32932742ac142c058688761ebf6a8024\n"
    },
    {
      "commit": "fd6ecdd39bd83ea020f78b425e96310380d66c35",
      "tree": "74b1aaa8fdcbf75681f72fb93b96db4ab48fa34c",
      "parents": [
        "48b6cd98b23b2cf9dee88f075f7575ecb5aaf545"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 09:51:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Nov 06 18:22:22 2013 -0800"
      },
      "message": "Camera HAL3/API1: Add support for the partial result quirk.\n\n- Camera2Client:\n - Detect partial result quirk\n- Camera3Device:\n - Accumulate all partial results together\n - Fire off 3A-only result once all 3A states are available\n- FrameProcessorBase:\n - Filter out partials, don\u0027t send to listeners\n- FrameProcessor:\n - Skip face detect on partials\n - Make sure to only handle a 3A update for a given frame once\n - Trigger AF notifications when AF mode or trigger changes, to\n   properly detect all AF transitions.\n\nBug: 11115603\nChange-Id: Iea8aa73c568701562a46071f7ea100624251d10b\n"
    },
    {
      "commit": "ff3e31d2b100d8efd969b358b18e4405c49dd10d",
      "tree": "6d3bcd6772305f06fcf85c498365c8c198a7fbc9",
      "parents": [
        "95c03858e2ab4fb693a2bfe47b3caa806e43c044"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 23 16:40:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 29 11:49:05 2013 -0700"
      },
      "message": "camera: Collect stack traces when bad things happen, print with dumpsys\n\nBug: 11324229\nChange-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6\n"
    },
    {
      "commit": "afada1e56cf0f91be5e44678850fcead2a70cca2",
      "tree": "6d88090137f1b7129e0f953acecdb76760e4ef6e",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "message": "Camera: don\u0027t do hw support check for ZSL\n\nOnly use camera.disable_zsl_mode to control disable/enable ZSL.\n\nBug: 11258054\nChange-Id: Ibf10b959d0913f7dedb59d89b571e9bf66fe978a\n"
    },
    {
      "commit": "15ad2470b2f2ac34473eb568b606ad75e8e63ac6",
      "tree": "7b1785a6c1c284fc345e5e1d9722ea87432f8491",
      "parents": [
        "d5ed2263a485d6e633fe08f033d04fad75daec6f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:21:11 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:48:16 2013 -0700"
      },
      "message": "Camera: Fix deadlock in Camera3OutputStream\n\nprocess capture request thread, process capture result and setParameter\nbinder threads can run into circular locking situation when acquiring\nStreamingProcessor lock, Camera3Stream lock, and bufferQueue lock.\nReleasing the Camera3Stream lock briefly in process capture request\nthread getbuffer call can break this deadlock.\n\nBug: 11016037\nChange-Id: If08d4b134c26be26039b1d5363759e60f911bad6\n"
    },
    {
      "commit": "d5ed2263a485d6e633fe08f033d04fad75daec6f",
      "tree": "6122aedd6246cef0185d35d726ce1f6670a5d750",
      "parents": [
        "1dd08b30e2366cabc50d883885d6229dab8218f2",
        "b790abf4d17f1c6865af7eb1595ec94dc0306447"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "message": "Merge \"Camera: Skip AE precapture when possible\" into klp-dev"
    },
    {
      "commit": "1dd08b30e2366cabc50d883885d6229dab8218f2",
      "tree": "9939b56d22eea0e02b14f7274f098bc6cfbea425",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
        "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "message": "Merge \"Camera2/3: Add more tracing for API1\" into klp-dev"
    },
    {
      "commit": "b790abf4d17f1c6865af7eb1595ec94dc0306447",
      "tree": "af2b7e55f779d29f89fdc82cefba8f941928a440",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 10:26:52 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 12:03:36 2013 -0700"
      },
      "message": "Camera: Skip AE precapture when possible\n\nSkip AE precapture when AE is already converged for still capture use case. This\ncould save still capture latency 6-7 frame time for AE already converged case.\n\nBug: 10712902\nChange-Id: Ie5512618b76e5d87c62c57c3d96d2004c604e29e\n"
    },
    {
      "commit": "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd",
      "tree": "65036c507cfc269e59847bee8e359536e1af2ec2",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 15:13:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 22:48:43 2013 +0000"
      },
      "message": "Camera2/3: Add more tracing for API1\n\n- AF state\n- Async autofocus completion\n- Async takePicture completion\n- Stages of takePicture\n\nBug: 10570497\nChange-Id: Ida9fedd81aa4ee3ae3fb8dfada858a3bc3c213a3\n"
    },
    {
      "commit": "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
      "tree": "25ffe85682c673330d8b806fdef1e9d978f6d698",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 16:12:43 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 09 13:25:21 2013 -0700"
      },
      "message": "Camera: Save 1 frame time for takePicture call\n\nMove the latest request signal call right before submitting request to HAL,\nwhich avoids unnecessary 1 frame time wait.\n\nAlso fix request status constructor issue, and the log tag for Camera2Client.\n\nBug: 10570497\nChange-Id: I0b1818658bee9983b117e49a5a00f1aab515c567\n"
    },
    {
      "commit": "828363dada5878fca6e0cb1553fbea96f38671c8",
      "tree": "608bb4956dad2e8582fb874c350d40f7d3367cb9",
      "parents": [
        "a676e96c6ed71846bdf60448bd63100ee2b357fb",
        "215bb3499c7eeea6303e55fac66452f2574c022a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "message": "Merge \"camera2: Don\u0027t race while dumping last frame metadata\" into klp-dev"
    },
    {
      "commit": "07d2169d46f3536add6044dbf106967a1982252f",
      "tree": "08090732d0c87e4dc781505e6396c33419b0ef62",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 24 18:04:19 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 08 11:21:06 2013 -0700"
      },
      "message": "Camera3: Improve resilience to stream failures\n\n- Handle binder connection drops (DEAD_OBJECT) for streams\n- Just log an error, don\u0027t go to an error state when queue/dequeue fails\n\nBug: 10347526\nChange-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc\n"
    },
    {
      "commit": "215bb3499c7eeea6303e55fac66452f2574c022a",
      "tree": "4a42ea582e33d46c79c9a033ff8d10b14e4aad42",
      "parents": [
        "fee4ce338d78eeb58af1f66831ead53322d3859e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "message": "camera2: Don\u0027t race while dumping last frame metadata\n\nBug: 11095203\nChange-Id: Icfb31e1719634b62004d6c15a95a9316e9642e4c\n"
    },
    {
      "commit": "19fffcbd89a51af797265af2e11c97be5820a07d",
      "tree": "c3a796d2b8aad1ea24158d22053a2524634de8f1",
      "parents": [
        "8097068de97c0cdab8150931f290edbd5b3721e5",
        "1d1f846c0dbaa36d0944e7b1e54cc07863e00a92"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 23:05:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 23:05:42 2013 +0000"
      },
      "message": "Merge \"Camera3: track request status in inflight queue\" into klp-dev"
    },
    {
      "commit": "1d1f846c0dbaa36d0944e7b1e54cc07863e00a92",
      "tree": "1e29ccb730ffb1fe799d3f55ccabf5579851fae5",
      "parents": [
        "6ea551fa13b69e5ce359a7dba7485d857a005304"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 02 16:29:51 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 15:14:34 2013 -0700"
      },
      "message": "Camera3: track request status in inflight queue\n\nBug: 9758581\nChange-Id: I1d7135cd0932bd6b453acabfeb9a553985c887bc\n"
    },
    {
      "commit": "f1e98d857ec377f2c9b916073d40732e6ebb7ced",
      "tree": "2a435e723f17c0c7b3e6db323d68be6cfb7d5c66",
      "parents": [
        "f05e50eb06d3f70e50fa7f44c1fd32128033b49d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 06 09:32:43 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 02 18:11:21 2013 -0700"
      },
      "message": "Camera API 2, Device 2/3: Implement idle and shutter callbacks\n\n- Update callback Binder interface\n- Rename frameId to be requestId to be consistent and disambiguate\n  from frameNumber.\n- Implement shutter callback from HAL2/3 notify()\n  - Add in-flight tracking to HAL2\n  - Add requestId to in-flight tracking\n  - Report requestId from shutter callback\n- Implement idle callback from HAL3 process_capture_result\n  - Add new idle tracker thread\n  - Update all idle waiting to use the tracker\n  - Add reporting from request thread, all streams to tracker\n  - Remove existing idle waiting infrastructure\n\nBug: 10549462\nChange-Id: I867bfc248e3848c50e71527e3561fe92dc037958\n"
    },
    {
      "commit": "f05e50eb06d3f70e50fa7f44c1fd32128033b49d",
      "tree": "32263232ea4d6d250f6f14011461f8f1c6914b60",
      "parents": [
        "26c1fb23a1e2cc059aac42fd1814efba2a3e9640"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 01 11:05:33 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 01 11:14:06 2013 -0700"
      },
      "message": "Camera: only return static metadata for HAL3 device\n\nThis effectively disables the camera2 APIs for HAL2.x or lower HAL device.\n\nBug: 10360518\nChange-Id: I0f374ac533468c6181f5672c75088b7144b9c53d\n"
    },
    {
      "commit": "893068ad0ca0cce8428f5a358c86b81139399c07",
      "tree": "cc82f5bf690cecf792aed9fb9e8a0bbe957468c5",
      "parents": [
        "9fc79c6fccc41255bb4f3538e2a21b01db8dc2dc"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 19:31:39 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 20:59:50 2013 -0700"
      },
      "message": "Camera: drop stale callback buffer\n\nSometimes, when preview size is changed and preview callback is enabled, stale\ncallback buffer from previous size could be delivered to callback processor\nbecause stop preview doesn\u0027t guarantee consumer side buffers are properly\ncleaned up. We need drop these buffers to avoid sending wrong data to app side.\n\nBug: 11009183\nChange-Id: If9281e8c02481f883872ce58dfd8660a06d56a47\n"
    },
    {
      "commit": "9fc79c6fccc41255bb4f3538e2a21b01db8dc2dc",
      "tree": "740664cdaee397b28c75e91d0e8feef0b4189df0",
      "parents": [
        "f2c8b02786c58b98d41d3f7c30e882cacc34e7ab"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 12:07:57 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 13:43:45 2013 -0700"
      },
      "message": "Camera: Set default thumbnail size with matched aspect ratio\n\nMake default thumbnail size match the default still capture size aspect ratio.\n\nBug: 10885012\nChange-Id: If46da9508d3b71992f0e14a35c600b7e8d347f4e\n"
    },
    {
      "commit": "1da3b602130d71ac3bff1a1fdecdc5e0d7b9d701",
      "tree": "76bbec452f81cd29b844f856882c46d5b4e3ea6d",
      "parents": [
        "6914de6dd1d74fcf74e3247c89f9293fbf7bafe5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 26 15:28:55 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 26 15:37:59 2013 -0700"
      },
      "message": "Camera2 API: Hack: Always use async mode with GLConsumer\n\nUntil a cleaner solution is implemented, force buffer queues to\nconsumers that set USAGE_HW_TEXTURE usage to be asynchronous.\n\nBug: 10949105\nChange-Id: I69e6b02b773831396767c282ce8c5936c5d41f03\n"
    },
    {
      "commit": "6914de6dd1d74fcf74e3247c89f9293fbf7bafe5",
      "tree": "a112a276227b9c897fe2bd25a8ad70b51b7155e5",
      "parents": [
        "1802399c7c4d8557922688f246df292703f417f1",
        "2b59be89dc245b6e2475d9e8b0c5f2392370e71e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 23:52:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 23:52:07 2013 +0000"
      },
      "message": "Merge \"Camera: Implement getCameraCharacteristics\" into klp-dev"
    },
    {
      "commit": "2b59be89dc245b6e2475d9e8b0c5f2392370e71e",
      "tree": "85564dae05e9343c75e9a5d1f54f7efee4b349f7",
      "parents": [
        "d2ac3144e201398340cc5b9bb36e5efe39edd9eb"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 10:14:30 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 15:36:07 2013 -0700"
      },
      "message": "Camera: Implement getCameraCharacteristics\n\nBug: 10904541\nBug: 10360518\nChange-Id: Ie9ca6b3b0b5f2fe529e6b0decc193096e770a017\n"
    },
    {
      "commit": "2b890936e978de0a8d4450ee1aaeda53d22b5f4e",
      "tree": "3967fa25cafbec859fa780fe6206a76e3da36602",
      "parents": [
        "58dd07863571951408b67fa0a7f17cb23606fb1c",
        "4ad28ea0a76c7ecdfcc5b96af2b0afcb0c3e5120"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Sep 25 19:27:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 19:27:35 2013 +0000"
      },
      "message": "Merge \"Camera2/3: Support new PASSIVE_UNFOCUSED AF state\" into klp-dev"
    },
    {
      "commit": "4ad28ea0a76c7ecdfcc5b96af2b0afcb0c3e5120",
      "tree": "3baabae618615d739161f703c8e34bc3fd9c4e84",
      "parents": [
        "fbb2609f132f23a983d376dec9ae6bfebfcacc4c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 17:21:18 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 17:21:18 2013 -0700"
      },
      "message": "Camera2/3: Support new PASSIVE_UNFOCUSED AF state\n\nBug: 10860639\nChange-Id: I39be64abaf79b49b2d1f74e1c2ab2adf718ae701\n"
    },
    {
      "commit": "70b054021a3a22622c2710267362c5e235ed73bd",
      "tree": "24341d0e6cc5882b0d105b1bda2969fedcf831f3",
      "parents": [
        "0181fde7bd20238cb13ae2665f0e5bfe7c2d9ac8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 16:32:26 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 16:32:26 2013 -0700"
      },
      "message": "Camera2/3: Properly disambiguate FPS range vs. single FPS setting\n\nThe camera1 API allows for either setPreviewFrameRate or\nsetPreviewFPSRange, so both values may or may not change in a single\nsetParameter call.\n\nThe disambiguation of which setting has been changed since the last\nsetParameter() call was not fully correct, so a sequence of changes\nthat only changed setPreviewFPSRange or didn\u0027t change either could be\ninterpreted as as a change to setPreviewFrameRate.\n\nBug: 10842868\nChange-Id: I40baeced80a58f09f8a1742ece8dd5e141e9c1e3\n"
    },
    {
      "commit": "0181fde7bd20238cb13ae2665f0e5bfe7c2d9ac8",
      "tree": "64cdd48a007e26e3602bd467f5434e7870a95ec1",
      "parents": [
        "fbb2609f132f23a983d376dec9ae6bfebfcacc4c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 10:12:32 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 10:18:36 2013 -0700"
      },
      "message": "Camera2/3: For still captures, use widest FPS range available.\n\nInstead of using the application-selected preview FPS range for still\ncaptures, select the widest FPS range advertised by the device and use\nit for still captures instead, to give the HAL the widest range of exposure\nvalues to choose from possible.\n\nBug: 10842868\nChange-Id: I0e24f5eb713a4f8df116cd5979a84390cc0974d7\n"
    },
    {
      "commit": "f8b2a6f7dea06234c7966798d9363d2d236488a6",
      "tree": "0205ab0fe470d4020dee18db4c15a39ebc301b12",
      "parents": [
        "5baf2af52cd186633b7173196c1e4a4cd3435f22"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Sep 17 17:03:28 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Sep 18 19:47:20 2013 -0700"
      },
      "message": "camera2: Tell all streams to ignore global device UI rotation\n\n- Also use android.sensor.orientation to set the right transform\n  flags automatically.\n\nBug: 10804238\nChange-Id: I10caf8331f19e107c461696963cc10f597c91d83\n"
    },
    {
      "commit": "a099d1f6be3fbbb1af4c12b2ab627397f0826982",
      "tree": "c2f5f0fdd4cc49e201836323dde41145c4e7d315",
      "parents": [
        "72a2f171ddf5c1eab7d6ccd47ac2b7ac4fc9c087",
        "2f876f9ee63396e4e0117f85c5b3132cac7e2c9d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 16 22:45:56 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 22:45:56 2013 +0000"
      },
      "message": "Merge \"Camera3: Always set a trigger ID for an active trigger\" into klp-dev"
    },
    {
      "commit": "2f876f9ee63396e4e0117f85c5b3132cac7e2c9d",
      "tree": "dbf8c6668faf4b7d3777692c06ecfdedbf49ba45",
      "parents": [
        "d176ec1e371a686c58385692a28da677e398c302"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 13 11:39:24 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 16 09:33:36 2013 -0700"
      },
      "message": "Camera3: Always set a trigger ID for an active trigger\n\nThis is to work around HAL implementations that expect to see an\nID for every trigger.\n\nUse a dummy trigger ID of 1, since 0 has special meaning for older\nHALs.\n\nBug: 10720617\nChange-Id: I9cb1b8dbcb113cb9e737e5adb04032fd61a54c12\n"
    },
    {
      "commit": "527748abf04c0060894fd7aace54959a2c343435",
      "tree": "667faa9827035f34685c0525ccac1289c6d844f9",
      "parents": [
        "66281c3a5d7eea486ddc6ad30088ba92956fd4fd"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Sep 15 21:06:10 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 16 09:23:58 2013 -0700"
      },
      "message": "Camera: setCallBackWindow only if callback surface is used\n\nCalling setCallBackWindow without checking the previewCallbackSurface could make\nthe stream to be deleted during callback stream operation, which is bad because\nthe preview is still active and the delete fails.\n\nBug: 10730496\nChange-Id: I8addac25e5aa7901bf200d730c749bee2c088090\n"
    },
    {
      "commit": "66281c3a5d7eea486ddc6ad30088ba92956fd4fd",
      "tree": "a796c6ea3a8eb4cf989efc6ecaf87d60083e008f",
      "parents": [
        "d176ec1e371a686c58385692a28da677e398c302"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 13 17:59:59 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Sep 15 11:19:17 2013 -0700"
      },
      "message": "Camera: Don\u0027t overwrite the error status\n\nBug: 10749544\nChange-Id: I6096effde03e18ee1b8c63cf3b36dce0344054c5\n"
    },
    {
      "commit": "3ef464e095da6c5d1acb5723dbc4b9f7cfd4ecf8",
      "tree": "3e801feba6fe18a8a4852e97be5d89e3d4c9ff11",
      "parents": [
        "dc33c542351449ceee95cc50a9009f495e7c72ba"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 11 22:58:17 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 13 14:12:43 2013 -0700"
      },
      "message": "Camera: Limit supported preview sizes\n\nThe ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES can provide sizes as large\nas jpeg sizes, which could cause potential issues when trying to do\nfull size still capture and full size preview. This is not supported\nby many devices due to hardware limitation. This change limits the\npreview (as well video) size to no more than 1080p.\n\nBug: 10625115\nChange-Id: I9467ab843553ec06e8249b4a17c0ecf4c6d6f04e\n"
    },
    {
      "commit": "6220f993541b0317e6ace3c410dd35a8d76e30bc",
      "tree": "63c4375921b7b02153b652691196364ae64d9955",
      "parents": [
        "6ca83fad0c32f8d9c81c9e16b4f87025d1abbda1",
        "1e479c0f4cb3e2174dde0b02e5656fb658f73495"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 09 23:07:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 09 23:07:23 2013 +0000"
      },
      "message": "Merge \"camera3: Dump latest request sent with dumpsys\" into klp-dev"
    },
    {
      "commit": "d1d6467d3bcbc1305eeba0176a2edf04925c368e",
      "tree": "b79d4ac9bc0293a29ce391f3fb611d7ea8f30eb3",
      "parents": [
        "84b7fb0c88ddd05ed7c148c82fe1691040a9404d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 06 15:00:01 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Sep 08 09:58:11 2013 -0700"
      },
      "message": "Camera: Correct stream id types\n\nBug: 10604704\nChange-Id: I223ac5d200eb6439c08955fb7ad586592099fbae\n"
    },
    {
      "commit": "1e479c0f4cb3e2174dde0b02e5656fb658f73495",
      "tree": "605aa966ab9e139ec32df02757569843bebc9ce8",
      "parents": [
        "3b4529e03c5fc7a44c22f9091ad15a269bfca3a8"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 06 16:55:14 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 06 17:50:12 2013 -0700"
      },
      "message": "camera3: Dump latest request sent with dumpsys\n\nBug: 10606535\nChange-Id: I0dd5ca3e09f45701659ab9ebd3b51939a2f6e6ba\n"
    },
    {
      "commit": "84b7fb0c88ddd05ed7c148c82fe1691040a9404d",
      "tree": "41dc8df17d0f040c4a021e0a221ac0202aab5ae2",
      "parents": [
        "3b4529e03c5fc7a44c22f9091ad15a269bfca3a8"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 06 11:46:01 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 06 16:36:19 2013 -0700"
      },
      "message": "Camera: Send VIDEO_SNAPSHOT intent for video snapshot case\n\nBug: 9924539\nChange-Id: Ief39eff79c31f2c2aa5df2fe1a0f04c4afc74690\n"
    },
    {
      "commit": "36a8b33a23dca49c9617e97e22e5d67f7d25c268",
      "tree": "259ccf6447eeb22fb45240665ac1620eadd420c5",
      "parents": [
        "72119ce833d4f0e1c0342f1722d1433f2ba12b87",
        "a27c4aa222c8dd1712617dad954c5f3aa68d5427"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Sep 06 01:21:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 06 01:21:52 2013 +0000"
      },
      "message": "Merge \"camera: Fix race condition between setParameters() and stopPreview().\" into klp-dev"
    },
    {
      "commit": "a27c4aa222c8dd1712617dad954c5f3aa68d5427",
      "tree": "bf70a487ec2ca5b69f216796ceaf6e822daf0b6c",
      "parents": [
        "c85d61964cb6f9b23cd2e82e43d7052b3e7d4fbc"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Sep 04 18:18:26 2013 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Sep 05 18:37:49 2013 +0000"
      },
      "message": "camera: Fix race condition between setParameters() and stopPreview().\n\nBug: 10414772\nChange-Id: I928cb3935afb101da8a7931f88c27dccdb03b4a9\n"
    },
    {
      "commit": "17963d16d66526288ed66c91a6744daf3acfd731",
      "tree": "8248514bf96576188d868ee91bd57fd11740d134",
      "parents": [
        "df60eff872f276c1a94ab0355b252b73fe61faa9"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Aug 19 15:21:19 2013 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Sep 04 11:57:45 2013 -0700"
      },
      "message": "Fix CameraService error flag when running HAL1 with API2.\n\nBug: 10620944\n\nChange-Id: I44c0d09a3d313ae8f724fbe61fa5f36cf5b38b6d\n"
    },
    {
      "commit": "0a4df03542e7d7aab716a60e206dceaf5da178f3",
      "tree": "a95c5df29592ac85f4ea8f65bcd7456e3d5e0c93",
      "parents": [
        "4585e8f0ff47580fdb81ed8652bde32db1770050"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 03 13:29:28 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 03 13:32:53 2013 -0700"
      },
      "message": "Camera2/3: Increase precapture start timeout\n\nCurrently, we only wait 200 ms for the HAL to switch to the precapture\nstate.  This is insufficient at low preview frame rates (dark\nconditions, ~10 fps), where a 3-request-deep HAL pipeline will take\n300 ms to produce a precapture trigger output. In those cases, we\nwould prematurely skip the precapture sequence, causing bad quality\npictures.\n\nSince this is a fallback timeout to prevent deadlock in case of a bad\nHAL or framework implementation, increase the timeout to 1 second. Has\nno impact on correctly-working implementations\n\nBug: 10430191\nChange-Id: I08e99f8e7f3beb8f15dcee32632cdebfe3dca8b3\n"
    },
    {
      "commit": "d656a4be3c3b6bc249b06599c2b02c2863d2c47f",
      "tree": "fb7417309c1b4a1fdbaec7b9705ac1eb114c02a3",
      "parents": [
        "9404fa6ac9f76f8f8d898e35f4fa03906a553e0a",
        "4fb55c15da1a563ab925914a0f493a3dc80495a3"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Aug 30 18:32:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 30 18:32:14 2013 +0000"
      },
      "message": "Merge \"camera: Fix deadlock when sending callbacks during disconnect\" into klp-dev"
    },
    {
      "commit": "4fb55c15da1a563ab925914a0f493a3dc80495a3",
      "tree": "bd33050f671a5cdaa6fdb121b115fb84f7e5d8e8",
      "parents": [
        "ed474f370947856e72795c641672fcad90442fcf"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Aug 29 17:43:01 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Aug 29 17:55:08 2013 -0700"
      },
      "message": "camera: Fix deadlock when sending callbacks during disconnect\n\nBug: 10552448\nChange-Id: Ie93ba744ae6705aa657f980ae8e08ec624feeb39\n"
    },
    {
      "commit": "26fe6c7c56477ef227205c68f17df07ca3501d65",
      "tree": "562a44a207970f573342636a345b43e101c3d1cf",
      "parents": [
        "c063c1756cbffdc273fe50b208426f59439f1298"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 29 12:46:18 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 29 12:51:00 2013 -0700"
      },
      "message": "Camera3: Be busy as soon as work arrives.\n\nRequestThread\u0027s internal busy flag (mPaused) was not being immediately\nset when new work was submitted to it. This allowed for a race\ncondition where a capture() followed by an immediate\nwaitUntilDrained() would immediately return from the wait.\n\nSet the mPaused flag to false immediately in capture() and\nsetStreamingRequest() to avoid this, instead of waiting until the end\nof the next RequestThread iteration.\n\nBug: 10531739\nChange-Id: I54a79fe5361d527ec717f41ad805e9b319a48cd8\n"
    },
    {
      "commit": "abaa51d3ca31f0eda99e1d271e6dc64c877dbf58",
      "tree": "52f4cc1078708f7c0099fded06dcb01daf6ca6bb",
      "parents": [
        "62c1a46eec047eb5fbc4b90432ec1ce65b76fb75"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 14 11:37:00 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 23 14:08:27 2013 -0700"
      },
      "message": "Camera2: Add flush support\n\n- On HAL2 devices, fall back to wait until idle\n- On HAL3 devices, call HAL flush method\n\nBug: 9758581\nChange-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a\n"
    },
    {
      "commit": "1ce7c34e67c2cf58dd88c31f36f4bd62e375f7f0",
      "tree": "4febd2dd2325c391977d64c9d78a8ee955277e80",
      "parents": [
        "99ad37a47628b1ea1f8981bf974de38a49c653a0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 21 13:57:21 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 21 14:35:48 2013 -0700"
      },
      "message": "Camera1: Set preview to be asynchronous, and remove dead code\n\n- Use the controlledByApp flag to make sure application-bound\n  preview buffer queue is asynchronous as before\n- Remove setPreviewDisplay in service, since it is no longer in\n  the binder interface\n- Rename setPreviewTexture to setPreviewTarget, to make it clear it\u0027s\n  the only game in town now. Rename only on the binder level and service\n  for now.\n\nBug: 10312644\nChange-Id: Icd33a462022f9729a63dc65c69b755cb7969857e\n"
    },
    {
      "commit": "0f61d8f14aa368c9cd7076528e8096e10ed100a0",
      "tree": "ed95cb70d56dd3a732f4e1909c96e7889b23ce94",
      "parents": [
        "75c16dde986e16ac5fd4d34b06b0cc6a90679866"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 08 13:07:18 2013 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Aug 16 14:42:28 2013 -0700"
      },
      "message": "Refactor CameraService to handle errors properly.\n\nBug: 10361136\n\n-Connect calls now return status_t error flags.\n\nChange-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95\n"
    },
    {
      "commit": "deeef54487a34034dc0cfaab20b20d557224c07c",
      "tree": "cc0aa13d8349df8a57e82374cfd2df9095cf2cbe",
      "parents": [
        "230c5bde2779c618b26edc73443280b2d9371c70"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 02 01:50:59 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 06 20:05:40 2013 +0000"
      },
      "message": "separte producer and consumer interfaces\n\nBug: 9265647\nChange-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c\n"
    },
    {
      "commit": "ce7842c295638ee1432041186700a71d4bf1c176",
      "tree": "fd4edd0305eb36296aa8d803dc31e605d0323147",
      "parents": [
        "f86b18b1ce3cf20a39aea1fcaf90ec66f9d6d63e",
        "b2f5b19e5b6e1408a259add23dba91037756a943"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 05 21:46:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 21:46:04 2013 +0000"
      },
      "message": "Merge \"Camera3: Provide consumer usage flags to HAL for each stream\""
    },
    {
      "commit": "b2f5b19e5b6e1408a259add23dba91037756a943",
      "tree": "e604903d5d2f5abb099737ee9ae206200cfc99c9",
      "parents": [
        "7b82efe7a376c882f8f938e1c41b8311a8cdda4a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 14:36:03 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 05 13:56:43 2013 -0700"
      },
      "message": "Camera3: Provide consumer usage flags to HAL for each stream\n\nAt stream configure time, pass on the stream\u0027s consumer usage flags\nto the HAL, to speed up final hardware configuration.\n\nBug: 9592202\nChange-Id: Ie467be053be36a09e482f5f05cad65df42d66476\n"
    },
    {
      "commit": "11d0d44d583f679638cc927bfffe920e495e90cc",
      "tree": "e795a55fea68ccd8f7b5a92edbadaa3b77260a7f",
      "parents": [
        "7b82efe7a376c882f8f938e1c41b8311a8cdda4a"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 09:50:58 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 12:10:51 2013 -0700"
      },
      "message": "Camera: fix the metadate parcel write issue\n\nAlso rename the frameId to requestId to make it less confusing.\n\nChange-Id: I14a20b6fcabb86294afb31fc0c56397e185c1373\n"
    },
    {
      "commit": "7b82efe7a376c882f8f938e1c41b8311a8cdda4a",
      "tree": "d7ed69f0a495bc1a873a285ba11e72a9867c5565",
      "parents": [
        "d054c32443a493513ab63529b0c8b1aca290278c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 25 17:12:35 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 10:58:44 2013 -0700"
      },
      "message": "Camera: Rename new API to camera2, rearrange camera service\n\n - Support API rename from photography to camera2\n - Reorganize camera service files\n   - API support files to api1/, api2/, api_pro/\n   - HAL device support files into device{1,2,3}/\n   - Common files into common/\n   - Camera service remains at top-level\n\nChange-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9\n"
    },
    {
      "commit": "cd4f9920f5658fcf1bf62bfebf5232a1fea06ea6",
      "tree": "ae2bc4ed9524e8f07f59351c71741aa0bcf27dd1",
      "parents": [
        "1bb59258458350af518170558120783bc2f9e61d"
      ],
      "author": {
        "name": "Bernhard Rosenkraenzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Tue Jul 30 01:18:18 2013 +0200"
      },
      "committer": {
        "name": "Bernhard Rosenkraenzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Tue Jul 30 01:21:41 2013 +0200"
      },
      "message": "libcameraservice: Fix build in ISO C++11 mode\n\nChange log macro define so it can\u0027t be confused for a C++11 string\nliteral\n\nChange-Id: Idcc8085735177aa3313fdea66dc0736cca749f9b\nSigned-off-by: Bernhard Rosenkraenzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "ae4b5f93444802632d71ec34373842e6f5febbaa",
      "tree": "cca9ed2ca45ba428c58976c3bda7dcc83cb2b3a1",
      "parents": [
        "175f8338e67aae6d0ca420b8f45a5f7cab4394d5",
        "1581101ce2a8c1b8d0b07b643ad891595221d781"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 29 20:54:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 29 20:54:20 2013 +0000"
      },
      "message": "Merge \"camera2 api: Override default RGBx formats to IMPLEMENTATION_DEFINED\""
    },
    {
      "commit": "1581101ce2a8c1b8d0b07b643ad891595221d781",
      "tree": "31ddd4257df3a28c066fdbe40586451c595612ab",
      "parents": [
        "de7c96afc382ac73108116d3431342633fa4e489"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 29 12:25:59 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 29 12:25:59 2013 -0700"
      },
      "message": "camera2 api: Override default RGBx formats to IMPLEMENTATION_DEFINED\n\nBug: 9487482\nChange-Id: I09d3b4e41454d350c4bc7b1f8e893c3dad655e73\n"
    },
    {
      "commit": "2ab500c632569e2f131a1a2288459933da70c4ee",
      "tree": "fe3d1ab19e24e225ea2b6eab9cf2735cda0b2336",
      "parents": [
        "0429aa9322a1419eae0b932491b22f300cd58206"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jul 23 08:02:53 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jul 23 11:01:59 2013 -0700"
      },
      "message": "camera2: Implement ICameraDeviceUser::waitUntilIdle\n\nAlso fixed some logging typo\n\nChange-Id: Ib254bdb137dca10b12595c23aeb1c53097423425\n"
    },
    {
      "commit": "47110057829ba7d5c7b41fd2aa381b5f5ed811ca",
      "tree": "47aba0629cdbad3ba01cca4e52bd3a1c167e392b",
      "parents": [
        "01061c1d57700b37fa879217763494cdf94d5c98"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 22 17:34:34 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 22 17:39:20 2013 -0700"
      },
      "message": "Camera: ProCamera connect need support HAL3 device\n\nChange-Id: Iae7e5f9e6387f61f1c4bbb91f75803fc1fdf2668\n"
    },
    {
      "commit": "288abb6fe160dff109dedbf89b227fc2b10a2ee8",
      "tree": "84ba9727251db6aa37206744e4233163989f31be",
      "parents": [
        "cd63212dedc29d72d4746a4070d018fdbca316a9",
        "fe0799e8f1c5db22df3bafdfb9ec995f5494d260"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sat Jul 20 01:09:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 20 01:09:39 2013 +0000"
      },
      "message": "Merge \"camera2: Fix request ID bug\""
    },
    {
      "commit": "cd63212dedc29d72d4746a4070d018fdbca316a9",
      "tree": "04c6fb38509d19a635bbc666dad9afe339bc6166",
      "parents": [
        "83e5c374ec29859e64347820b38013ecc3aaf935",
        "5e1f08b3917ac7900f8a11118afb7e8bf3e61c64"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Jul 20 01:02:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 20 01:02:38 2013 +0000"
      },
      "message": "Merge \"update to new Consumer APIs\""
    },
    {
      "commit": "e4bc8dbf0329c4845c692a02e54c16906998f77d",
      "tree": "aa6f6324945e19f20918b90bf60768e08239174a",
      "parents": [
        "d118343cd0abcbab2c613989ab744ee9a7be4c7d",
        "b0177ff25e3e620be6ebe1e2c3f645b2f05dd57e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 19 16:02:11 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 19 16:02:11 2013 -0700"
      },
      "message": "am b0177ff2: am 46910bdc: Camera2/3: Fix deadlock when starting recording before preview.\n\n* commit \u0027b0177ff25e3e620be6ebe1e2c3f645b2f05dd57e\u0027:\n  Camera2/3: Fix deadlock when starting recording before preview.\n"
    },
    {
      "commit": "fe0799e8f1c5db22df3bafdfb9ec995f5494d260",
      "tree": "910eb9ebe5a56b4bd46a33f52ecd4c00b223a142",
      "parents": [
        "20f4754b7e687d3718a0a0a585f2c9ac22e2567d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Jul 19 13:18:43 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Jul 19 13:25:44 2013 -0700"
      },
      "message": "camera2: Fix request ID bug\n\nWrong request id was pushed in request list.\n\nChange-Id: I55bf7ae84ca41eec79db1a81d2cde35beaa2a6b9\n"
    },
    {
      "commit": "46910bdc57c35ac36bd4adcbb76f4f3a590e3f21",
      "tree": "61f2b1567b83c436650e098f89527ec261a3d9aa",
      "parents": [
        "a2520db02bead68d4980783c41500ae96511bdf8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 18 19:15:17 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 18 19:36:00 2013 -0700"
      },
      "message": "Camera2/3: Fix deadlock when starting recording before preview.\n\nMove 3A notification synthesis for HAL3 devices from\nCamera3Device::processCaptureResult to Camera2Client\u0027s\nFrameProcessor. This will ensure that calls to processCaptureResult\nfrom HAL can never block on Camera2Client internal mutexes.\n\nBug: 9923891\nChange-Id: I5184649bf45c0807babe6b8c0e1239e959cd3480\n"
    },
    {
      "commit": "5e1f08b3917ac7900f8a11118afb7e8bf3e61c64",
      "tree": "b3ea1c7bc63365c9905558d0f0965930bd3d2678",
      "parents": [
        "5478f3c44b9d6670261733953a71a8290fa70ae8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 16 22:54:39 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 16 22:54:39 2013 -0700"
      },
      "message": "update to new Consumer APIs\n\nChange-Id: I3c5d4be2a2e8783fbf98b3e268fd02658f71dc7d\n"
    },
    {
      "commit": "5478f3c44b9d6670261733953a71a8290fa70ae8",
      "tree": "4060b3eb8796d477e55e418a69629586a75e17eb",
      "parents": [
        "099b457f3203fa51387e21bd450495abb973ab31",
        "8d764bfc74c40641f018a0aa87d6f484aec92eae"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 16 02:17:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 16 02:17:39 2013 +0000"
      },
      "message": "Merge \"always pass the BufferQueue explicitely to consumers\""
    },
    {
      "commit": "099b457f3203fa51387e21bd450495abb973ab31",
      "tree": "25c6a2d84c5020575cbf2d40f2fbf60107e5c162",
      "parents": [
        "ce177bb31493d3cd4450f9d4760fa1fd32ec6bf4"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 12 17:52:16 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 15 13:27:08 2013 -0700"
      },
      "message": "camera2: Implement ICameraDeviceUser::getCameraInfo\n\nBug: 9529161\nChange-Id: I927e39c124cd5fb19e38423506f4463acc381cb0\n"
    },
    {
      "commit": "8d764bfc74c40641f018a0aa87d6f484aec92eae",
      "tree": "1418445850d4b3d44ab521722639494b33df27f5",
      "parents": [
        "ce177bb31493d3cd4450f9d4760fa1fd32ec6bf4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 12 22:06:20 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 12 22:06:20 2013 -0700"
      },
      "message": "always pass the BufferQueue explicitely to consumers\n\nChange-Id: Ic2d9a9cf184a482b3c78a481ed693ee32df5ca13\n"
    },
    {
      "commit": "ceb1f0af56b5ff1f546438ec27321929956c705f",
      "tree": "effa22031f55a3260979ca2776a36e59c55fc634",
      "parents": [
        "132a4fb88207075932d5dbb7970383ceb6405be7",
        "656e86250cd68f7f362c50a4bc92a865e9deacbe"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Jul 11 14:40:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 11 14:40:58 2013 +0000"
      },
      "message": "Merge \"Pass additional arg to acquireBuffer calls.\""
    },
    {
      "commit": "132a4fb88207075932d5dbb7970383ceb6405be7",
      "tree": "ec21c59b24e605c3cf3ea5e7aad2dfab0a662be8",
      "parents": [
        "b0dfd4613225a3b2a17bdf8d85e89a4b04d65ef3",
        "adaa78c901a2f2509965b7acc1cde848dfc6bafe"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jul 11 01:54:37 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 11 01:54:37 2013 -0700"
      },
      "message": "am adaa78c9: am a2520db0: camera2/3: set preview callback oneshot flag during still capture\n\n* commit \u0027adaa78c901a2f2509965b7acc1cde848dfc6bafe\u0027:\n  camera2/3: set preview callback oneshot flag during still capture\n"
    },
    {
      "commit": "656e86250cd68f7f362c50a4bc92a865e9deacbe",
      "tree": "4954e6d3ba3a59d4176a5fa25f3ea204c5292d31",
      "parents": [
        "0bc32ae1a8ef45f98101b78bfe64798875b569e3"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Jun 28 14:03:03 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jul 08 17:53:52 2013 -0700"
      },
      "message": "Pass additional arg to acquireBuffer calls.\n\nBug 7900302\n\nChange-Id: I30b9cca783e0a48f77035b745b7d5e20edf10f27\n"
    },
    {
      "commit": "a2520db02bead68d4980783c41500ae96511bdf8",
      "tree": "4700e3363f26d6cc69f6eccbf82db96dc39503f1",
      "parents": [
        "4a5c009bc2389304cf078c270bceb656479367d2"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 08 16:12:32 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 08 17:22:16 2013 -0700"
      },
      "message": "camera2/3: set preview callback oneshot flag during still capture\n\nPreview callback oneshot flag need set when a still picture is being captured\nand preview callback oneshot is enabled, otherwise, the callback enabling status\ncould be lost when preview is restarted after still catpure.\n\nBug 9742091\n\nChange-Id: If9562369013e53727edfdd16f3d00d6a9392e70d\n"
    },
    {
      "commit": "551ababe67ce31778000d52958e53e1c56e1a294",
      "tree": "0c03e82da30562f768dd695d156a70d40d442d40",
      "parents": [
        "6760cfd1a6d3982664275ae02835a3dd72b30cac",
        "06a4604e77b5872857ef95fe712b6ce00c7aa506"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 08 16:49:36 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 16:49:36 2013 -0700"
      },
      "message": "am 06a4604e: am 4a5c009b: Camera2/3: As a fallback, unilaterally free old recording buffers\n\n* commit \u002706a4604e77b5872857ef95fe712b6ce00c7aa506\u0027:\n  Camera2/3: As a fallback, unilaterally free old recording buffers\n"
    },
    {
      "commit": "4a5c009bc2389304cf078c270bceb656479367d2",
      "tree": "08608bdb6a061244b8cb7405a11f3bde8ff12ae7",
      "parents": [
        "eced745af7d2d27a8c45e04eb071d4fb30cd3e48"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 03 16:56:11 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 08 13:12:10 2013 -0700"
      },
      "message": "Camera2/3: As a fallback, unilaterally free old recording buffers\n\nWhen starting a recording session, check for and clear out recording\nbuffers still owned by stagefright from a previous recording session,\nif any.  There should never be any, but in case they are due to a bug\nelsewhere in the system, clearing out the buffers makes recovery\npossible.\n\nBug: 9591080\nChange-Id: I3a2a1256860bd174381cd525948419f985c9b415\n"
    },
    {
      "commit": "8f13428cb29a9b610a9e9a0f5fea437cd2d3f032",
      "tree": "c913526f2f967ddf112582e8da281852b4844d5a",
      "parents": [
        "2c1648df9d2d623c602fee17048abc82c9e44d55",
        "c7ba4a5c938d191bf0e477fc9b9aa4f0cba986ef"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 01 18:20:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 18:20:02 2013 +0000"
      },
      "message": "Merge \"Camera2Api: Creating a JPEG stream needs to use the right size\""
    },
    {
      "commit": "c7ba4a5c938d191bf0e477fc9b9aa4f0cba986ef",
      "tree": "5661f7b3ef9fd30c323c7535cd0b111e8e215dfd",
      "parents": [
        "7919fa2c33b1fa7f5e49b2188d671bfe519c231e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 01 09:23:55 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 01 09:25:10 2013 -0700"
      },
      "message": "Camera2Api: Creating a JPEG stream needs to use the right size\n\nJPEG streams have variable size, so use the HAL-provided max size\nto size the stream buffers.\n\nChange-Id: Ie6900bc9ece6e972eae93fca6aca779224c9bfc6\n"
    },
    {
      "commit": "25d729c3aba847cb4b56b1e6ca143410faca76c8",
      "tree": "7f65dbe0d8b496541782f55b8682fdb01a03c08a",
      "parents": [
        "7919fa2c33b1fa7f5e49b2188d671bfe519c231e",
        "364a2677c862af64f21b41dd3ab1b9e5c68b4ce0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 28 09:47:36 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 28 09:47:41 2013 -0700"
      },
      "message": "resolved conflicts for merge of 364a2677 to master\n\nChange-Id: I21f23c1c5e4408c24c359bef6270dffce47a988d\n"
    },
    {
      "commit": "a691ff3c03e38e148bbefed35ebb15e552a12613",
      "tree": "e40a419e636ccc48551c5810887e872b5ac9ee44",
      "parents": [
        "209bbbcf4190231f9dede758cbe77d109919f9f1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 26 18:23:23 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 27 15:00:26 2013 -0700"
      },
      "message": "Camera2/3: Don\u0027t allow recording and callbacks to coexist.\n\n- Tear down conflicting streams when necessary.\n\n- Shut down callbacks if recording starts\n\n- Do not allow callbacks to start if recording is active\n\nPer the current camera API, recording and preview callbacks cannot be\nactive simultaneously. However, the framework did not explicitly\ndisallow this, and in fact left the streams configured once they were\ncreated, even if switching between the two operational modes.\n\nIn addition, no guards existed for trying to enable both recording and\ncallbacks at the same time.\n\nBug: 9423825\n\nChange-Id: I7d6e6114c2e14fcfb5299b4c72ad557895cbf4b8\n"
    },
    {
      "commit": "d44ffc822be382791327c45aec2e812fe66981ce",
      "tree": "def466e442e0e27274fe5a66f27f95f934ec4239",
      "parents": [
        "b68fc2639e5eeacc47dcff1371a106ae9589bf89",
        "98e24724fb77445d4d015a5fec4ecbd5b49abc9b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 25 00:38:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 25 00:38:04 2013 +0000"
      },
      "message": "Merge changes I5b2eeab2,I71568560\n\n* changes:\n  Make android.hardware.photography.Camera work on HAL3+ devices\n  Initial implementation of android.hardware.photography.CameraDevice (service)\n"
    }
  ],
  "next": "98e24724fb77445d4d015a5fec4ecbd5b49abc9b"
}
