)]}'
{
  "log": [
    {
      "commit": "9d29299eeca83005f5624be23c75cf3b097044d5",
      "tree": "beba7d5aec96cf970848993d258a877c7cfeaaf7",
      "parents": [
        "9f12215d4515d90ace36e3a3ac1f9036be4fcb72"
      ],
      "author": {
        "name": "codeworkx",
        "email": "codeworkx@cyanogenmod.org",
        "time": "Tue Nov 27 01:30:33 2012 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:44:22 2013 +0000"
      },
      "message": "camera: add iso parameter\n\nEnable with BOARD_CAMERA_HAVE_ISO\n\nFrom: jt1134 \u003cjt1134@gmail.com\u003e\nDate: Mon, 17 Sep 2012 22:05:04 -0500\nSubject: [PATCH] camera: add define for ISO settings\n\nChange-Id: I8716a260ad552d3684197237c2055dce129e461e\n---\n"
    },
    {
      "commit": "9f12215d4515d90ace36e3a3ac1f9036be4fcb72",
      "tree": "4e1268b4a8cc682250af89d6ba5c7a0260218201",
      "parents": [
        "1c960844f826584a2967dcdd60f3153fd812e650"
      ],
      "author": {
        "name": "codeworkx",
        "email": "codeworkx@cyanogenmod.org",
        "time": "Tue Nov 27 01:22:13 2012 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:44:22 2013 +0000"
      },
      "message": "camera: add parameters for samsung cameras\n\nFrom: codeworkx \u003ccodeworkx@cyanogenmod.com\u003e\nDate: Sat, 22 Sep 2012 11:36:26 +0200\nSubject: [PATCH] camera: added weather key for samsung cameras\n\nChange-Id: I1c6dc38f548fb3087abbdf7d7f83c39afaa217a1\n---\n\nFrom: Steve Kondik \u003cshade@chemlab.org\u003e\nDate: Tue, 15 May 2012 09:41:02 -0700\nSubject: [PATCH] camera: Add parameters for some Samsung cameras\n\n * Enable with SAMSUNG_CAMERA_HARDWARE\n * Adds anti-shake, metering, and wdr modes.\n\nChange-Id: I080c90e11fcb8fa48900c01a454868f173f61eb0\n---\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": "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": "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": "e07f53720bcf543bcfe90c228a49c2a85a3fdb4c",
      "tree": "388f8ab6a1b539a7bd8b903479864f1c1a3afeb0",
      "parents": [
        "8271f1a2225a34a0748624786392213a746c56d7",
        "abaa51d3ca31f0eda99e1d271e6dc64c877dbf58"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 27 16:49:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 27 16:49:13 2013 +0000"
      },
      "message": "Merge \"Camera2: Add flush support\" into klp-dev"
    },
    {
      "commit": "88aef23d00a509693a955b6a207c0fb023fbc92d",
      "tree": "9f184b520c7e87a64771c7c1a3e572435f0c2132",
      "parents": [
        "33142e1e318c0c766a385d88d2434f62f9e2dfe7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Aug 23 17:47:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Aug 23 17:47:06 2013 -0700"
      },
      "message": "camera2: Get rid of annoying \"Reading a NULL string....\" error message\n\nBug: 10461464\nChange-Id: Ie99f025db0e0e12c703f2d391e218b49330ee4dd\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": "4b820b0e1fa069714b123fc35784541d0f94d267",
      "tree": "3418113d8ce7eca26303d6dce7d147e07003a0e9",
      "parents": [
        "1ce7c34e67c2cf58dd88c31f36f4bd62e375f7f0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 21 14:39:05 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 21 14:56:46 2013 -0700"
      },
      "message": "Camera1: Rename setPreviewTexture to ...Target for clarity\n\nBug: 10312644\nChange-Id: I19976188f0359bfd177209fb40145defdae9c740\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": "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": "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": "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": "91a582c46758949c8ac205507d72595c8c0fe1f3",
      "tree": "a61b7bf4238aae6aa12eb1dead7bc336c1bbdfb9",
      "parents": [
        "680e9b590abab6a6cc10062a5c09037d9445fbdd",
        "8ebdfa8b021ed338f9916a1f30d756b989afa3bd"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 12:23:00 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 12:23:00 2013 -0700"
      },
      "message": "am 8ebdfa8b: am 5de9ef20: am 365ed394: Merge \"Typo in CameraParameters::set\"\n\n* commit \u00278ebdfa8b021ed338f9916a1f30d756b989afa3bd\u0027:\n  Typo in CameraParameters::set\n"
    },
    {
      "commit": "5de9ef20d596bc20f53cba664f1ac7e358910ea2",
      "tree": "ed66ac85621e0d2aa6e885540aee671cefa73b02",
      "parents": [
        "5d2ab2a6d5e90c045d0989ef1be6c66a2295ee2d",
        "365ed394c4135d9d42082c85638c076aed4bd156"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 12:15:36 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 12:15:36 2013 -0700"
      },
      "message": "am 365ed394: Merge \"Typo in CameraParameters::set\"\n\n* commit \u0027365ed394c4135d9d42082c85638c076aed4bd156\u0027:\n  Typo in CameraParameters::set\n"
    },
    {
      "commit": "e7ee7637747371635a85fedd24d2190bb1f38651",
      "tree": "fbae6cce035752d5386260deb4bf0222b6204ac3",
      "parents": [
        "b3570568b3f37b3f7018257ece53cbc009b91407"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 11 18:10:18 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 20 20:31:30 2013 -0700"
      },
      "message": "Initial implementation of android.hardware.photography.CameraDevice (service)\n\n* Verified preview streaming requests\n* Other things *should* work but unverified / unimplemented in client side\n\nMissing:\n* CameraService needs to return static camera info metadata\n\nBug: 9213377\nChange-Id: I71568560fcf18d0e2b408ed1c4d0066647314868\n"
    },
    {
      "commit": "bef3f23f16f2fc575b3f425febcfcc436a7db70f",
      "tree": "ed5a5ee004fe8736171a73a860ace99194d425de",
      "parents": [
        "55beec78a47a32288a01dde7fbc08406aa44345a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu May 30 17:47:38 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 11 11:47:47 2013 -0700"
      },
      "message": "camera: Make some binder interfaces compatible with AIDL\n\nDone:\n* ICameraService\n* ICameraServiceListener\n\nPartial:\n* ICamera (disconnect only)\n* IProCameraUser (disconnect only)\n\nBug: 9213377\nChange-Id: I8e2e6e05cfd02ec36be1d5b2c551f10ffb43b5b4\n"
    },
    {
      "commit": "81243ade35dc0e8e9db4ea1afcdec9f124cb40e5",
      "tree": "4a639b0019c7c355adb930fa07d6d48ec00bbe59",
      "parents": [
        "13320af823b7e539af13f66cb0fa4654cbae6beb",
        "ad60695f2dcea0b6ea1d3a92a034b5067b87783e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon May 06 16:20:37 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 16:20:37 2013 -0700"
      },
      "message": "am ad60695f: am 1a95a727: Merge \"camera: Use new camera_metadata structure validation functions\" into jb-mr2-dev\n\n* commit \u0027ad60695f2dcea0b6ea1d3a92a034b5067b87783e\u0027:\n  camera: Use new camera_metadata structure validation functions\n"
    },
    {
      "commit": "d1ae0fe1f3a0b8883e3fd1e6a1f15c6acaafc618",
      "tree": "2c5468dc1abbd5455589aee54b41e0273e16368b",
      "parents": [
        "37b2602761cbfc20f8a36e27eb4cf1b3dfd04e6b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 30 18:18:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu May 02 18:03:13 2013 -0700"
      },
      "message": "camera: Use new camera_metadata structure validation functions\n\n* Reject unvalidated metadata across binder boundaries\n* Sanity check in-process CameraMetadata when mutating data\n\nBug: 8713951\nChange-Id: I121d8e15f8fdc9cdbbaf27dfd947813e11831e1c\n"
    },
    {
      "commit": "e2d1e3d0436aec645739c65e6d3131dd814f40a1",
      "tree": "2c5468dc1abbd5455589aee54b41e0273e16368b",
      "parents": [
        "d8c7ad1cbc2e6830560a085380a5828cc3d41010"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 30 18:18:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu May 02 18:03:13 2013 -0700"
      },
      "message": "camera: Use new camera_metadata structure validation functions\n\n* Reject unvalidated metadata across binder boundaries\n* Sanity check in-process CameraMetadata when mutating data\n\nBug: 8713951\nChange-Id: I121d8e15f8fdc9cdbbaf27dfd947813e11831e1c\n"
    },
    {
      "commit": "15f227174e4b606f71f14efa1275c0f85bfc7011",
      "tree": "957aaa86854a37f1f1ad3fd6863fa84323f15c78",
      "parents": [
        "fa189d0d74d8da0ab19c8d9c6cd16fa80d406e9c",
        "b9258b57aa0c86e4741e2c24474bb9d766d17e8e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Apr 22 09:21:28 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 22 09:21:28 2013 -0700"
      },
      "message": "am b9258b57: am d090054d: Merge \"Fix ProCameraTests to pass on Wolfie, disabling failing tests\" into jb-mr2-dev\n\n* commit \u0027b9258b57aa0c86e4741e2c24474bb9d766d17e8e\u0027:\n  Fix ProCameraTests to pass on Wolfie, disabling failing tests\n"
    },
    {
      "commit": "c6deb68aa7d1b9a4a4ba4549411c3be2753723d2",
      "tree": "c094df7fbfd2be3f02d115fbef0b3ac87e298e6e",
      "parents": [
        "8dd719e4374c009c86569180a9017bab339db37e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Apr 18 11:53:35 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Apr 18 14:15:07 2013 -0700"
      },
      "message": "Fix ProCameraTests to pass on Wolfie, disabling failing tests\n\nNote: tests fail in racy conditions, but we don\u0027t occur those conditions\nin practice in other consumers of ProCamera.\n\nBug: 8654735\nChange-Id: Ic73395ad564031a6b30ad99762dee59f9c35cecf\n"
    },
    {
      "commit": "c8e19c1dadedf53710eab211e14daf723ec66705",
      "tree": "e77750afda99a66bbcb8aa167c34835d5e0e649e",
      "parents": [
        "4299eb130affcbf4e272e8dafa90c217dc0abcca"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Apr 18 11:53:35 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Apr 18 14:15:07 2013 -0700"
      },
      "message": "Fix ProCameraTests to pass on Wolfie, disabling failing tests\n\nNote: tests fail in racy conditions, but we don\u0027t occur those conditions\nin practice in other consumers of ProCamera.\n\nBug: 8654735\nChange-Id: Ic73395ad564031a6b30ad99762dee59f9c35cecf\n"
    },
    {
      "commit": "3ee3550a2f529cbf56d87d8503f59a8f45dccf32",
      "tree": "99bf718ddc0429a1319523abaae975d3305face3",
      "parents": [
        "d72ec85d1d0b92ed82927e3925f21912a659b799"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Apr 02 15:45:11 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 17 15:01:08 2013 -0700"
      },
      "message": "Camera: Add preview callback surface support\n\n- Add call to set a preview callback surface\n- Implement support for HAL2/3 devices\n- Still need HAL1 implementation\n\nChange-Id: I0dc0bd72e43d871aa487858d1665c1efca633ffe\n"
    },
    {
      "commit": "7455393a82bea99b88740365bc6612cbcac1a14a",
      "tree": "b47bc8e5cb3a6c3ea1c64ab0ec10b30485daf91f",
      "parents": [
        "4a4256eb3963124e20ce63034c092c9bec396e32",
        "41f37e7c29b5cc3bbd9ee60ea73c4d857d2ad717"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Mon Apr 15 01:30:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 01:30:32 2013 +0000"
      },
      "message": "Merge \"Update the test output path.\" into jb-mr2-dev"
    },
    {
      "commit": "1821b0a4eb7a78d2744801b1f863455fd384e283",
      "tree": "4d055b60d0d46bbbf54fcec1cf0144bc23de8fc5",
      "parents": [
        "6efa0c06acb4bdcf9c1fb1dbb4beee254e040848",
        "b34e0b72f013794acec4304ec3dec8da8dba81a6"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Mon Apr 15 01:30:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 01:30:32 2013 +0000"
      },
      "message": "Merge \"Update the test output path.\" into jb-mr2-dev"
    },
    {
      "commit": "41f37e7c29b5cc3bbd9ee60ea73c4d857d2ad717",
      "tree": "0b19597abd5afd5f2347b8bfea683c99bca99ca5",
      "parents": [
        "526b2285e975b3c02d174d8798b55e9fc300f0d3"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Fri Apr 12 14:52:52 2013 -0700"
      },
      "committer": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Fri Apr 12 14:52:52 2013 -0700"
      },
      "message": "Update the test output path.\n\nIn order for the automated test to pick up the test.\nThe output must be in /data/nativetest.\n\nChange-Id: Idc15036afb5617ac1ef67ff74ba332c5f73fe155\n"
    },
    {
      "commit": "b34e0b72f013794acec4304ec3dec8da8dba81a6",
      "tree": "d9683e811e0cf57472fd3ae072b6b4e930cadaa1",
      "parents": [
        "878f9692e4fe9cc2311a8eb74edfa8f6cc0ea54f"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Fri Apr 12 14:52:52 2013 -0700"
      },
      "committer": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Fri Apr 12 14:52:52 2013 -0700"
      },
      "message": "Update the test output path.\n\nIn order for the automated test to pick up the test.\nThe output must be in /data/nativetest.\n\nChange-Id: Idc15036afb5617ac1ef67ff74ba332c5f73fe155\n"
    },
    {
      "commit": "da0dc0af0effe9fbfb3ce3187c8472fca2baf3c6",
      "tree": "67aa5a912048834766759d1842f7e54a20f74481",
      "parents": [
        "ec77122351b4e78c1fe5b60a208f76baf8c67591"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: If493d87d60d71be664ad75b140c62acadb75b0d0\n"
    },
    {
      "commit": "ecba7488c5cceaacef95836b1b476433451e7761",
      "tree": "83245c19c2dda5c557531edb19478056034b5db5",
      "parents": [
        "5544c66ba0aa789a997b376df503a5ffae425dc7"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: If493d87d60d71be664ad75b140c62acadb75b0d0\n"
    },
    {
      "commit": "3b53bc9b41c262d22f094406e3751bc5a41ef2ef",
      "tree": "7e27e2d5bf18e3bb973adc272f92bcb33bb5ef69",
      "parents": [
        "8be20f50711a94426f1394ec113672e41c1224e8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 27 18:02:26 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 27 16:54:34 2013 -0700"
      },
      "message": "Camera: Add input side to camera3 HAL device\n\n- Stream creation/deletion\n- Request submission\n- Request thread loop\n- Add get() to CameraMetadata to allow HAL submission while retaining\n  ownership.\n\nChange-Id: I271f72bcbe9557eded43cbcbfe789109857f8144\n"
    },
    {
      "commit": "f76e027c43f531fc6f9287838b5c332236a4338a",
      "tree": "c7ad20f9e6c4d414773645c286c10f0662e633ba",
      "parents": [
        "fd58f1a10a749ca72fec1012920d6e94a664cd70"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 27 18:02:26 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 27 16:54:34 2013 -0700"
      },
      "message": "Camera: Add input side to camera3 HAL device\n\n- Stream creation/deletion\n- Request submission\n- Request thread loop\n- Add get() to CameraMetadata to allow HAL submission while retaining\n  ownership.\n\nChange-Id: I271f72bcbe9557eded43cbcbfe789109857f8144\n"
    },
    {
      "commit": "ad065d38daace14281801127bd447114b7b4daa5",
      "tree": "578cf8abe9a79b88b5c623c33f9d52e9eaef42eb",
      "parents": [
        "bdeaccfdfc26f9257d2d8036381cb5e8982fa6f5",
        "cba2c163555cd329f49d40658ea3ee902e94dda3"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 22:43:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 22:43:14 2013 +0000"
      },
      "message": "Merge \"Camera: Add hotplug support (for fixed # of cameras)\" into jb-mr2-dev"
    },
    {
      "commit": "8d012b56cbd49f33841c13aaa5b7b42020de82ed",
      "tree": "240cbe1534e19bd52b6f55e5d9623de2a7fea010",
      "parents": [
        "ac51135d48ded504af38f0bc7fda47823419332f",
        "a36381479c5c546a01188390f1e0d2e280a3dbd8"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 22:43:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 22:43:14 2013 +0000"
      },
      "message": "Merge \"Camera: Add hotplug support (for fixed # of cameras)\" into jb-mr2-dev"
    },
    {
      "commit": "65d7986ceac6e35426749ac7e05bbd2a38949db4",
      "tree": "41fe024c821e0cbcf8763f6525066c7fd3eb398e",
      "parents": [
        "a97d15e2e2f0b317a345d3a6f02df80b8988b1f6"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 11:07:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 11:23:54 2013 -0700"
      },
      "message": "ProCamera: Fix memory leak in consumeFrameMetadata\n\nBug: 8402301\nChange-Id: I975990185f45bb8552712271b9ac457af08a170c\n"
    },
    {
      "commit": "e3e18d93d6b519145b3aa8e921a4d6fe1d67cfa8",
      "tree": "03dac0ab03bb12639fb15e5232886937b2b2e896",
      "parents": [
        "2247dd0dc60096d1b5a91ccadb5539f0b100c88f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 11:07:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 11:23:54 2013 -0700"
      },
      "message": "ProCamera: Fix memory leak in consumeFrameMetadata\n\nBug: 8402301\nChange-Id: I975990185f45bb8552712271b9ac457af08a170c\n"
    },
    {
      "commit": "cba2c163555cd329f49d40658ea3ee902e94dda3",
      "tree": "1d125f0012a52db51a1aec733792c1b41959734c",
      "parents": [
        "a97d15e2e2f0b317a345d3a6f02df80b8988b1f6"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 20 15:56:31 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 26 17:16:11 2013 -0700"
      },
      "message": "Camera: Add hotplug support (for fixed # of cameras)\n\n* Minor: also change addListener to fire the current status upon subscription\n* Minor: STATUS_AVAILABLE is now an alias for STATUS_PRESENT and deprecated\n\nChange-Id: I254608a7332095e3ef201ffea64cff156cfc1b3e\n"
    },
    {
      "commit": "a36381479c5c546a01188390f1e0d2e280a3dbd8",
      "tree": "84123991a8c16817eb7f0094f90b75e0187da15a",
      "parents": [
        "2247dd0dc60096d1b5a91ccadb5539f0b100c88f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 20 15:56:31 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 26 17:16:11 2013 -0700"
      },
      "message": "Camera: Add hotplug support (for fixed # of cameras)\n\n* Minor: also change addListener to fire the current status upon subscription\n* Minor: STATUS_AVAILABLE is now an alias for STATUS_PRESENT and deprecated\n\nChange-Id: I254608a7332095e3ef201ffea64cff156cfc1b3e\n"
    },
    {
      "commit": "475391897f0886aae1833d5e8b2e5aea47cc36bb",
      "tree": "c425abf53898f2804e9f8adc7ae813d0784fcda4",
      "parents": [
        "acd695c42749f8821b0a0cc27739ddf096c6d4e8"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 18 11:10:48 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 18 11:10:48 2013 -0700"
      },
      "message": "ProCameraTests: Minor add grey/frame count debug-only print outs\n\nChange-Id: I0f7b7f3c083a644e9bb0c2302244a5ad434e96a8\n"
    },
    {
      "commit": "46ee76c093796924de4e0d356220844a99d10707",
      "tree": "cbd1ba69b133eda39601a1c8486eb15756b533db",
      "parents": [
        "26bb1d3702e01779c5ef481c2ad38568d4cc2aa8"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 18 11:10:48 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 18 11:10:48 2013 -0700"
      },
      "message": "ProCameraTests: Minor add grey/frame count debug-only print outs\n\nChange-Id: I0f7b7f3c083a644e9bb0c2302244a5ad434e96a8\n"
    },
    {
      "commit": "99617adda9bc46c43f511f0940bc735c73de61de",
      "tree": "67b71170ce74451ec384346407629d54cd7e403f",
      "parents": [
        "3eca0ac4428aa74f197a2a498d84490c4e30f11d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 12 18:42:23 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 12 18:42:23 2013 -0700"
      },
      "message": "remove uses of Surface in favor or IGraphicBufferProducer\n\nChange-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57\n"
    },
    {
      "commit": "33da402287605e40e189289b11a08b8f5d515818",
      "tree": "440b60a701b5d4e4d93293732cf5a4a8bef3727c",
      "parents": [
        "b05526fc3c0ccc9f9310830074e863212af433e0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 12 18:42:23 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 12 18:42:23 2013 -0700"
      },
      "message": "remove uses of Surface in favor or IGraphicBufferProducer\n\nChange-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57\n"
    },
    {
      "commit": "fa4cf9d310685b4c25877cba772ff7da84caf517",
      "tree": "d954ae7a991a1dfc084019433f370b46abb1f6c4",
      "parents": [
        "ce124da179775a81ad7dcc3f33315eca451e66f2"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 04 16:14:23 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 11 16:32:24 2013 -0700"
      },
      "message": "(Camera)ProCamera: Remove unused functions from binder interface\n\nChange-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d\n"
    },
    {
      "commit": "7cf9a7e7d19579565e0f9dba8be9c107f2dbf548",
      "tree": "842fc07ade8a885e0549d366b81e985bbb313dd6",
      "parents": [
        "71381051e2d048b2705c447b3d59db6e972493ee"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 04 16:14:23 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 11 16:32:24 2013 -0700"
      },
      "message": "(Camera)ProCamera: Remove unused functions from binder interface\n\nChange-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d\n"
    },
    {
      "commit": "fb413768551ea8ba3af05efb9906e7e2348f2431",
      "tree": "86da75f59deea0393f167bd604a60f5acf0b028e",
      "parents": [
        "8fdfbe27acd157d58fa35a849ec50c82464062f0"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 11:21:00 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 16:25:55 2013 -0800"
      },
      "message": "ProCamera: Add CpuConsumer asynchronous mode support\n\nBug: 8290146\nBug: 8291751\nChange-Id: I25423a2b8a70ac7169911b1c7b482aa17190fe0f\n"
    },
    {
      "commit": "ba5ca4ee770fa0fe9e14990fd13b23f1010f5c98",
      "tree": "435f4462759de475b36d98f9f893fbfb8a8b7e41",
      "parents": [
        "bfc9915f482520eb9676c6d2dbf7f1ac078d937d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 11:21:00 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 16:25:55 2013 -0800"
      },
      "message": "ProCamera: Add CpuConsumer asynchronous mode support\n\nBug: 8290146\nBug: 8291751\nChange-Id: I25423a2b8a70ac7169911b1c7b482aa17190fe0f\n"
    },
    {
      "commit": "8fdfbe27acd157d58fa35a849ec50c82464062f0",
      "tree": "19a08d59c5e5cfd56cda29b01ef1ea1b4f00ed77",
      "parents": [
        "721f17283e2493426c47bbaa267c337b2af5726e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 27 12:55:20 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 15:55:15 2013 -0800"
      },
      "message": "Camera: Drop ProCamera connections when a Camera connection happens\n\n* Also adds an ICameraServiceListener with available/not available statuses\n\nBug: 8291653\nChange-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84\n"
    },
    {
      "commit": "bfc9915f482520eb9676c6d2dbf7f1ac078d937d",
      "tree": "1353c3f2f63777397770edfd1f146c691e5684e2",
      "parents": [
        "3fa4891f54bbfdbe8ee652930d22c96639964eff"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 27 12:55:20 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 15:55:15 2013 -0800"
      },
      "message": "Camera: Drop ProCamera connections when a Camera connection happens\n\n* Also adds an ICameraServiceListener with available/not available statuses\n\nBug: 8291653\nChange-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84\n"
    },
    {
      "commit": "721f17283e2493426c47bbaa267c337b2af5726e",
      "tree": "65b42006819d672bb990721a89f2a3244501d2db",
      "parents": [
        "7fa43f376ebd63fda24d85c9ebf97e0ddf534083"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 10:41:51 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 11:48:46 2013 -0800"
      },
      "message": "ProCameraTest: Drop frames test move processing delay between lock/unlock\n\n* This makes it more likely to find races with the buffer being unlocked\n  by itself\n\nChange-Id: I1fa7dbfb73f60664a02a35678b58bcc9b06893a2\n"
    },
    {
      "commit": "3fa4891f54bbfdbe8ee652930d22c96639964eff",
      "tree": "fefeb57ca7316faa84ac848d3b597daae7a29417",
      "parents": [
        "b99c5b8eebb35133a08c46b015624bd4c4a6c477"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 10:41:51 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 11:48:46 2013 -0800"
      },
      "message": "ProCameraTest: Drop frames test move processing delay between lock/unlock\n\n* This makes it more likely to find races with the buffer being unlocked\n  by itself\n\nChange-Id: I1fa7dbfb73f60664a02a35678b58bcc9b06893a2\n"
    },
    {
      "commit": "b84d935c179a275a47e07291d2a983daf844de80",
      "tree": "66feb5e92054d554eda4960b600535873a9e7fbd",
      "parents": [
        "253e3c03b0cf4d5852a497ddda0f43b630664644"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 14:32:34 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 18:54:03 2013 -0800"
      },
      "message": "camera_client: refactor Camera/ProCamera commonalities into BasicCamera\n\nChange-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9\n"
    },
    {
      "commit": "c073ba525404f3416c2824c435d3d926a9892f1b",
      "tree": "f9fa36f1473054c5098bffa3926be9d2cbf6bd6f",
      "parents": [
        "b39f30b0a4902ea0f28454885785da4b2629fe25"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 14:32:34 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 18:54:03 2013 -0800"
      },
      "message": "camera_client: refactor Camera/ProCamera commonalities into BasicCamera\n\nChange-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9\n"
    },
    {
      "commit": "48af7e8dd40883d6154e7029d9500072b551b5fa",
      "tree": "ce8b71d67a3313dc19c0691bc1b26d1244a106b4",
      "parents": [
        "68e6e24cb6cdd66c2209774c4871a2c47e8bbc8b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 19 10:40:14 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 25 16:11:41 2013 -0800"
      },
      "message": "CameraService and Stagefright: Support AppOps\n\nCamera:\n- Signal to AppOpsService when camera usage starts and stops\n- Listen to permissions revocations and act on them\n- Currently just kill camera connection when permissions lost\n\nStagefright:\n- Pass on client name, UID to camera as needed\n\nBug: 8181262\nChange-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0\n"
    },
    {
      "commit": "ceb388d6c03c38b96dc41c0ea4804b749aa077c4",
      "tree": "0639ba70ce330094a9fa71ba4577eece6d4dadb1",
      "parents": [
        "0894bfb78b7872570b94d0b8d23ebbf6a8b51d35"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 19 10:40:14 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 25 16:11:41 2013 -0800"
      },
      "message": "CameraService and Stagefright: Support AppOps\n\nCamera:\n- Signal to AppOpsService when camera usage starts and stops\n- Listen to permissions revocations and act on them\n- Currently just kill camera connection when permissions lost\n\nStagefright:\n- Pass on client name, UID to camera as needed\n\nBug: 8181262\nChange-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0\n"
    },
    {
      "commit": "94a90a43b2a9f83b3a4a4a59247b74ad50336860",
      "tree": "240c0a147b8856320274dc99d8bbad2937ea7905",
      "parents": [
        "687f26c7bd7ece88cad8d51fc47be7ab1600af9d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 13:36:17 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: Fix waitForFrameBuffer not handling multiple outstanding frames\n\nIf the CpuConsumer triggered multiple onFrameAvailable callbacks in between\na single waitForFrameBuffer call, the old code would only handle 1 callback.\n\nThis meant on two subsequent waitForFrameBuffer calls the second would always\ntimeout when two buffers were already available to be unlocked.\n\nBug: 8238112\nChange-Id: Ibefca35005ac5c408e5ada97ec4a4344a9e3e497\n"
    },
    {
      "commit": "4bc4a3845e456fd464556d79d20650a107e873e5",
      "tree": "f077296572f972d21a7a54c2334fb6a6fd36308e",
      "parents": [
        "a140a6efea1db7837984b3578755cfa4eaa8d92d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 13:36:17 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: Fix waitForFrameBuffer not handling multiple outstanding frames\n\nIf the CpuConsumer triggered multiple onFrameAvailable callbacks in between\na single waitForFrameBuffer call, the old code would only handle 1 callback.\n\nThis meant on two subsequent waitForFrameBuffer calls the second would always\ntimeout when two buffers were already available to be unlocked.\n\nBug: 8238112\nChange-Id: Ibefca35005ac5c408e5ada97ec4a4344a9e3e497\n"
    },
    {
      "commit": "687f26c7bd7ece88cad8d51fc47be7ab1600af9d",
      "tree": "be4bc4993455225e4407cb70831979cd84a040a7",
      "parents": [
        "1d74853933937f3e3f120a6efffb1f4cec7f8ba7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 14:45:03 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: add waitForFrameBuffer/waitForFrameResult blocking calls\n\nChange-Id: I851d41aeecaa15245d5b9d622132e8706d6e292c\n"
    },
    {
      "commit": "a140a6efea1db7837984b3578755cfa4eaa8d92d",
      "tree": "d7ce2fa02ae78e0ca1fedf453290787ce5cd2be3",
      "parents": [
        "dcb07d51e307019731147751946774f45321edfb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 14:45:03 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: add waitForFrameBuffer/waitForFrameResult blocking calls\n\nChange-Id: I851d41aeecaa15245d5b9d622132e8706d6e292c\n"
    },
    {
      "commit": "1d74853933937f3e3f120a6efffb1f4cec7f8ba7",
      "tree": "38b45a29df9fb3265c0000c4c7973339f6eba345",
      "parents": [
        "d127c2c8a8b68dae2f8743c310c2547e8f46d967"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 14:18:10 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCameraTests: clean up a bit, still needs more cleanup\n\nChange-Id: Ia7e18c81002c8d98176f21553cf13cbd13cfdf5d\n"
    },
    {
      "commit": "dcb07d51e307019731147751946774f45321edfb",
      "tree": "31aad9f274c5a5d600a5aab1d2545111a0510120",
      "parents": [
        "7b33a74bbc514b99c16be7fff9a34e892bc19264"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 14:18:10 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCameraTests: clean up a bit, still needs more cleanup\n\nChange-Id: Ia7e18c81002c8d98176f21553cf13cbd13cfdf5d\n"
    },
    {
      "commit": "d127c2c8a8b68dae2f8743c310c2547e8f46d967",
      "tree": "ac671025a00cc2f9580a1c62caa4009b915e97ee",
      "parents": [
        "418e493e8d67924cfda652cb64965647ce6381cb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 13:49:26 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: Add getInfo for getting static metadata (and a test)\n\nChange-Id: I3b87dfbc621d98bf41f37a892a1012baf85b5166\n"
    },
    {
      "commit": "7b33a74bbc514b99c16be7fff9a34e892bc19264",
      "tree": "a3c2e719aebc4dc486312970b57c588cba8f5ce9",
      "parents": [
        "a91537e268f2b35f9f0dfdc0c4f84655c93285ae"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 13:49:26 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: Add getInfo for getting static metadata (and a test)\n\nChange-Id: I3b87dfbc621d98bf41f37a892a1012baf85b5166\n"
    },
    {
      "commit": "418e493e8d67924cfda652cb64965647ce6381cb",
      "tree": "639c98f3054f1aa618f1e3fa4f10f0c7a71fb9b1",
      "parents": [
        "5076182ce4bf657e7211264d0ad3861212f24aa1"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 12:02:29 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - implement onResultReceived callback for metadata callbacks\n\nChange-Id: I46775402b007244bc383d6343a620eebbd492aad\n"
    },
    {
      "commit": "a91537e268f2b35f9f0dfdc0c4f84655c93285ae",
      "tree": "114691436e16b7c8dfc5929d922712edd2c41aff",
      "parents": [
        "eb72e1796b3af548e87891a6d2b73b0567807f25"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 12:02:29 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - implement onResultReceived callback for metadata callbacks\n\nChange-Id: I46775402b007244bc383d6343a620eebbd492aad\n"
    },
    {
      "commit": "5076182ce4bf657e7211264d0ad3861212f24aa1",
      "tree": "9e407a2174ab1f43b2e1376458dc21b5f9ca49df",
      "parents": [
        "c0767f148e29ce821281b5965c0e25b4c143e76d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 11:43:14 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCameraTests - add CpuConsumer tests for dual streams\n\nChange-Id: Ia010450dc79ac2841645b8c2e1553c9ec74ee5e3\n"
    },
    {
      "commit": "eb72e1796b3af548e87891a6d2b73b0567807f25",
      "tree": "6295a6de3236516de88cd40f0851b56e3eb2f6ef",
      "parents": [
        "5835cc46a2f06dbfa5fbdab70e091896ef2fb438"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 11:43:14 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCameraTests - add CpuConsumer tests for dual streams\n\nChange-Id: Ia010450dc79ac2841645b8c2e1553c9ec74ee5e3\n"
    },
    {
      "commit": "c0767f148e29ce821281b5965c0e25b4c143e76d",
      "tree": "d71e86b5d066b9a05e1732fa829c40affbb09411",
      "parents": [
        "5494cdc67b541034c963919aef8acb8b665e4dde"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:29:53 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - add createStreamCpu and unit test\n\nChange-Id: I468172dbfdd78510b273bf9d119c950cbeda7ea3\n"
    },
    {
      "commit": "5835cc46a2f06dbfa5fbdab70e091896ef2fb438",
      "tree": "f303abd135f649d5beb940a238b906b4027564f5",
      "parents": [
        "76f8b43909817179b317880202360863b8f976d0"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:29:53 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - add createStreamCpu and unit test\n\nChange-Id: I468172dbfdd78510b273bf9d119c950cbeda7ea3\n"
    },
    {
      "commit": "5494cdc67b541034c963919aef8acb8b665e4dde",
      "tree": "cdffd46bace86e756bc6448028007db8e2fe74a0",
      "parents": [
        "9fb7fa159b2a47d6a7c0e9ef323b23298cdc7cb9"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:15:15 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Change ProCamera to take IGraphicBufferProducer\n\nChange-Id: Iec62eead6d179aa5486f7719143340976bb76e7d\n"
    },
    {
      "commit": "76f8b43909817179b317880202360863b8f976d0",
      "tree": "2d845b0c60925c6af6d77ec167366140e4843ea6",
      "parents": [
        "3261fd3f1d8f798fab2f1b3efaa92d5a35cd42e7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:15:15 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Change ProCamera to take IGraphicBufferProducer\n\nChange-Id: Iec62eead6d179aa5486f7719143340976bb76e7d\n"
    },
    {
      "commit": "69e22433b9d7df77907579f67e47a159aa57f876",
      "tree": "eb271a5175ff8bac5e86ccd72637481738efddf9",
      "parents": [
        "9476926bb91bf15f7aff2a289a4805148f5a8a4e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 18:24:43 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera2Client - add createStream (service is stubbed) and unit test\n\nChange-Id: I1ae7ba9b24f5883c214c19a7ed0eaf0c802d69c1\n"
    },
    {
      "commit": "985fd30a10f6fec4293f071fd258c4726cff5a3d",
      "tree": "493a26cd4544e2858822e8fbaf1ddc04fbd215d4",
      "parents": [
        "68506fd58d26748617babe94d5648503cb3690bb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 18:24:43 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera2Client - add createStream (service is stubbed) and unit test\n\nChange-Id: I1ae7ba9b24f5883c214c19a7ed0eaf0c802d69c1\n"
    },
    {
      "commit": "9476926bb91bf15f7aff2a289a4805148f5a8a4e",
      "tree": "ab9484858b0dc1801908856e26c4929a16e9da6f",
      "parents": [
        "90fce97bf320a5d0b3547d18fcb2c0d57347361e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:57:31 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera - add createStream stub and unit test for it\n\nChange-Id: Ic05130e63f4f2c0c3278ba348b192992169f105f\n"
    },
    {
      "commit": "68506fd58d26748617babe94d5648503cb3690bb",
      "tree": "2e5e9336005bcbf29165acb14ba13a35749be4b5",
      "parents": [
        "39f79f77a435c2f769477caeb071e2f9f6e78742"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:57:31 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera - add createStream stub and unit test for it\n\nChange-Id: Ic05130e63f4f2c0c3278ba348b192992169f105f\n"
    },
    {
      "commit": "90fce97bf320a5d0b3547d18fcb2c0d57347361e",
      "tree": "d1b6242270b3d02e04da2112d03d59a21662274b",
      "parents": [
        "68c80668304fc92db43bbe2e7cbe9753b6d3865a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jan 30 10:14:24 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCameraTests - add asynchronous locking unit test\n\nChange-Id: Ib79eb84046c9ed898bfb086a6600265fc351924c\n"
    },
    {
      "commit": "39f79f77a435c2f769477caeb071e2f9f6e78742",
      "tree": "0a9f096348c3f74921b16aa92054a8bac330a69f",
      "parents": [
        "5376573eff55f370f041889618c9a7a9e1894615"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jan 30 10:14:24 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCameraTests - add asynchronous locking unit test\n\nChange-Id: Ib79eb84046c9ed898bfb086a6600265fc351924c\n"
    },
    {
      "commit": "68c80668304fc92db43bbe2e7cbe9753b6d3865a",
      "tree": "3eac9438f1854b1cfdae70ea76e322122eea10b0",
      "parents": [
        "bfb5d5ef5bae01efac171397260a7152782d92c7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:41:57 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProClient add asynchronous locks and such\n\nChange-Id: I551e5e5e76d9be733fab5224beaa7309268c0f38\n"
    },
    {
      "commit": "5376573eff55f370f041889618c9a7a9e1894615",
      "tree": "b90f41af6bb5a6952c7e7deb6812626c3035d927",
      "parents": [
        "634a51509ee50475f3e9f8ccf897e90fc72ded31"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:41:57 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProClient add asynchronous locks and such\n\nChange-Id: I551e5e5e76d9be733fab5224beaa7309268c0f38\n"
    },
    {
      "commit": "bfb5d5ef5bae01efac171397260a7152782d92c7",
      "tree": "15f645e0637ae880083804ab5876873a1108a0de",
      "parents": [
        "e4e5b2f23fa85cae789dc6824ea8af321e211d60"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:15:11 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add ProCamera private binder interface for an API2-light functionality\n\nChange-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274\n"
    },
    {
      "commit": "634a51509ee50475f3e9f8ccf897e90fc72ded31",
      "tree": "5d9fc437299a8b5adc391eb721d55c9df00afc87",
      "parents": [
        "1d88023e1de6b9f370eb4be944dd9c4480d01f11"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:15:11 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add ProCamera private binder interface for an API2-light functionality\n\nChange-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274\n"
    },
    {
      "commit": "e4e5b2f23fa85cae789dc6824ea8af321e211d60",
      "tree": "00607609c6a079439b1c1ae583c07bbf659ff6f4",
      "parents": [
        "537799199bdd7a585585dee409e0e3a86bad93b7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 16:50:13 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add unit test infrastructure for libcameraclient\n\nChange-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c\n"
    },
    {
      "commit": "1d88023e1de6b9f370eb4be944dd9c4480d01f11",
      "tree": "74f8b58c828f3045acf3ab8cb9d8f92046685fd8",
      "parents": [
        "fc42642ab78da5fe25bcbea7a568bf880268a9dc"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 16:50:13 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add unit test infrastructure for libcameraclient\n\nChange-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c\n"
    },
    {
      "commit": "537799199bdd7a585585dee409e0e3a86bad93b7",
      "tree": "662d09dd904faaea81bff84f4587cdf7a59918d9",
      "parents": [
        "bd02dd1bf1f34eb4e100d0d058f1fe5a2790d67e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 13 18:23:39 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add exists function to CameraMetadata\n\nChange-Id: I081f61417fca7c8408e9e767129647ddce5364ab\n"
    },
    {
      "commit": "fc42642ab78da5fe25bcbea7a568bf880268a9dc",
      "tree": "846d5c8f98b34fdd0ea87a53abe4c7311578e0fc",
      "parents": [
        "7efa520c76e6a1f6b3146404cc6aca5a8353583a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 13 18:23:39 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add exists function to CameraMetadata\n\nChange-Id: I081f61417fca7c8408e9e767129647ddce5364ab\n"
    },
    {
      "commit": "bd02dd1bf1f34eb4e100d0d058f1fe5a2790d67e",
      "tree": "09dabb9a40decb5640f9b5d419565e999a5995d2",
      "parents": [
        "ee9cc423e2551ffbacfd226b8627737beabaec99"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 13 15:53:56 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Move CameraMetadata.h from service to client library\n\nChange-Id: I940ce86f318f37ae5b73f912a6e589415150125f\n"
    },
    {
      "commit": "7efa520c76e6a1f6b3146404cc6aca5a8353583a",
      "tree": "db2c59948bb0c344584706d6b6e36c86a42d9abf",
      "parents": [
        "99c2f923f6b04efffe949d1daf9cb7148e3cc201"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 13 15:53:56 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Move CameraMetadata.h from service to client library\n\nChange-Id: I940ce86f318f37ae5b73f912a6e589415150125f\n"
    },
    {
      "commit": "484566c410afdfbc4b6bc5aa1732aef37428a5b8",
      "tree": "5ce1fc6a755c32f0b6ff362fe1fc5bf0d9ee2b14",
      "parents": [
        "34d7db5dd43000cac7e8e156d79e9f97ccbb8990"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 09:46:54 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 13:31:57 2012 -0800"
      },
      "message": "Rename ISurfaceTexture and SurfaceTexture\n\nThe C++ class names don\u0027t match what the classes do, so rename\nISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to\nGLConsumer.\n\nBug 7736700\n\nChange-Id: I64520a55f8c09fe6215382ea361c539a9940cba5\n"
    },
    {
      "commit": "8ba01021b573889802e67e029225a96f0dfa471a",
      "tree": "110eca2effc73dcb2f46da71e9a0584e4af6e71e",
      "parents": [
        "53bc0a2fc54330534330118edd5c393f39eff8ab"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 09:46:54 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 13:31:57 2012 -0800"
      },
      "message": "Rename ISurfaceTexture and SurfaceTexture\n\nThe C++ class names don\u0027t match what the classes do, so rename\nISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to\nGLConsumer.\n\nBug 7736700\n\nChange-Id: I64520a55f8c09fe6215382ea361c539a9940cba5\n"
    },
    {
      "commit": "4c18eb30b493a4cd8d56bbcf8acb526b97c401a4",
      "tree": "07bbcf227ac8536a797b95efc7a3d79daf6b4496",
      "parents": [
        "03425d9cf7f22cf400c13cda60d3e91f0fd48d6e"
      ],
      "author": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Fri Dec 14 22:46:10 2012 +0900"
      },
      "committer": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Fri Dec 14 22:52:37 2012 +0900"
      },
      "message": "Typo in CameraParameters::set\n\nTypo: \u0027key\u0027 --\u003e \u0027value\u0027\n\nChange-Id: Idd0426263cf2125a796406abaf6f29f04f425fe4\n"
    },
    {
      "commit": "0517e304d0cce25653a033e3cb00172d54ba251d",
      "tree": "4f4f1433c3a02eb25e84648c8a8d9f64eee10de0",
      "parents": [
        "bbe96f0f05a1f1a1b3cfec0d124cb0d63c1ebf2a"
      ],
      "author": {
        "name": "James Painter",
        "email": "jpainter@google.com",
        "time": "Fri Sep 28 00:09:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 17:26:55 2012 -0700"
      },
      "message": "DO NOT MERGE: Remove experimental parameters for burst mode\n\nBug: 7248756\nChange-Id: I3aaf2da4791b2a13e1e788b2914e4c51c529a75d\n"
    },
    {
      "commit": "c61b2aaab1846dea4b53555696739a3ba704f0ec",
      "tree": "376097acee05654a95c7bbd2de14dc4a1b8bab3e",
      "parents": [
        "fd48021dfc3278b048ba99ecffe7f996751fb440"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 11:59:12 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 11:59:12 2012 -0700"
      },
      "message": "Camera: Add HDR scene mode constants.\n\nChange-Id: I78b1f8ca3c1a03222ed363db26d9a09cf0b13528\n"
    },
    {
      "commit": "c81284a2b77c630046ee57e6d73ac5d367e558f1",
      "tree": "8e9877e659f311abc94f1bc441ddd5dc92603fa7",
      "parents": [
        "947be6bf6700d07e148f6fbf6308e86b08d3c926"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 11:59:12 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 11:59:12 2012 -0700"
      },
      "message": "Camera: Add HDR scene mode constants.\n\nChange-Id: I78b1f8ca3c1a03222ed363db26d9a09cf0b13528\n"
    },
    {
      "commit": "e538206d15282afbc5b168d60b1026a5dfcd13c0",
      "tree": "5126c4ce62340021498d68c43e0de7ddb11303e1",
      "parents": [
        "7ac783252ef682abddd083104ab06619d82ac52f"
      ],
      "author": {
        "name": "James Painter",
        "email": "jpainter@google.com",
        "time": "Wed Sep 05 18:02:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 16:28:00 2012 -0700"
      },
      "message": "Camera2: Add a burst mode skeleton.\n\nBug: 6243944\nChange-Id: I7f496ca1051571c68fdd99a6f85bf6a908a4e29a\n"
    },
    {
      "commit": "c3dbf1a40df85b75e5805382838a90416f69730f",
      "tree": "0e318607c99cfc74cd601df1d7002dfb15a24ac5",
      "parents": [
        "d0c3da34ad99506ccdc05d4b626c81d9cf43834a"
      ],
      "author": {
        "name": "James Painter",
        "email": "jpainter@google.com",
        "time": "Wed Sep 05 18:02:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 16:28:00 2012 -0700"
      },
      "message": "Camera2: Add a burst mode skeleton.\n\nBug: 6243944\nChange-Id: I7f496ca1051571c68fdd99a6f85bf6a908a4e29a\n"
    }
  ],
  "next": "f6d9696bf1db133d16dd8981380e1bfbd2e0bc70"
}
