)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "f6d9696bf1db133d16dd8981380e1bfbd2e0bc70",
      "tree": "9599fa0f762f48aaffb17429f4b885236734d07b",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 18 17:50:46 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 18 17:53:39 2012 -0700"
      },
      "message": "Camera: Add OPAQUE pixel format to CameraParameters\n\nThis is only used to support recording with HAL 2 in the\nKEY_VIDEO_FRAME_FORMAT parameter, and is not exposed to applications.\n\nBug: 6243944\nChange-Id: I5976a748d199ae98189bd03af5bbd9e18cbd6bf0\n"
    },
    {
      "commit": "3d51d5cb53cc630709a0ba78d0e60501a675f2d5",
      "tree": "c01dc8011b4e0061343c8b60b0da3508c63ae822",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 18:10:35 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 15:18:29 2012 -0700"
      },
      "message": "Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\n\nChange-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26\nrelated-to-bug: 6647465\n"
    },
    {
      "commit": "08ad5efcef90e24db2863c0f85972ed05fe848a2",
      "tree": "f2eff3f033d360ac8043ba4f6ffa2d11520bebee",
      "parents": [
        "9bd23229fdec1657398abc682ccccfce1c95f8aa"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Apr 19 12:35:00 2012 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Apr 19 12:53:56 2012 +0800"
      },
      "message": "Remove new camera connect API.\n\nApplications are not resumed under the lock screen now.\nThis API is not needed anymore.\n\nbug:5584464\nChange-Id: I115daf6b647348617ec0fc05b626878c945b9b29\n"
    },
    {
      "commit": "2fd2440d0175ca3e196b01b7541a9e0d4ed9a694",
      "tree": "d87e4314688e65f4c53f04021c8452051d4b31eb",
      "parents": [
        "cbcd6e869dd41158076e742a31c1ee410fc0c713"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Feb 23 19:01:00 2012 -0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Mar 15 14:50:48 2012 +0800"
      },
      "message": "Add a new camera open API that allows taking the ownership.\n\nThe purpose is to let face unlock always get the camera\nsuccessfully. What happened was the camera applications may\nhave opened the camera in onResume under the lock screen.\nThis API lets face unlock take the camera from the camera\napplication. A new permission will be added, so other\napplicatoins won\u0027t be able to take the camera from the face\nunlock.\n\nbug:5584464\n\nChange-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6\n"
    },
    {
      "commit": "df712ea86e6350f7005a02ab0e1c60c28a343ed0",
      "tree": "75401d5ef563d1ae76aaae4965f65bb39f92736c",
      "parents": [
        "d3393c35259588e8ad61a43d1d1aa1568e943307"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Feb 25 18:48:35 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 27 13:03:08 2012 -0800"
      },
      "message": "fix libgui header location\n\nChange-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe\n"
    },
    {
      "commit": "29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47",
      "tree": "3bdafe4b02fe36f6ee29c3170f0b0d2799bebf86",
      "parents": [
        "d709ca9c6a0fa1c8f40cbe624a119398643c5087"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "5ff1dd576bb93c45b44088a51544a18fc43ebf58",
      "tree": "c002dcda87f08329197b01395539bd25f10ca737",
      "parents": [
        "8a08dcc0a5de19a904e77d5f31bed3dff9a59890"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 10:07:54 2012 +0000"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/157065\n\nBug: 5449033\nChange-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69\n"
    },
    {
      "commit": "b8a805261bf0282e992d3608035e47d05a898710",
      "tree": "7a43908b8e936ac1f30eef0542b40d667c47aa23",
      "parents": [
        "94023fa6744e24f26f0aba1699ec278649bd66df"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Jan 03 22:38:27 2012 +0000"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156016\n\nBug: 5449033\nChange-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298\n"
    },
    {
      "commit": "3856b090cd04ba5dd4a59a12430ed724d5995909",
      "tree": "a24e4c98fa6049fd8085826be838000f9a67e39b",
      "parents": [
        "1d2acaffde56ad79e6e96f228d7857863462397c"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "7019d2247e644470a0e8eb99b02b8b2d656fd9fb",
      "tree": "b84a2becf9f55cf194a111132e4733fed32d246c",
      "parents": [
        "49c59815369616b0fd5451ccabd377e8fe1dc3fa"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 11 12:41:58 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 12 10:34:10 2011 -0700"
      },
      "message": "Add video stabilization control to Camera parameters.\n\nHardware video stabilization reduces camera shake in preview\nand in recorded videos. It has no effect on still image capture.\n\nConvenience accessor methods hidden for now.\n\nChange-Id: Ie18450bff662b2ef98b85d19719beefc180975fc\n"
    },
    {
      "commit": "a8e409f8f9b40737d0b03355894b5e141d0aff6b",
      "tree": "8799a5eecc61038ccf054d905ca3f4492ae18f30",
      "parents": [
        "77d2e08add3ba24fdc527809408028efe3e06b6b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 30 21:33:10 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 01 13:37:14 2011 +0800"
      },
      "message": "Add video snapshot camera parameter.\n\nThe API is still hidden.\n\nbug:5187868\n\nChange-Id: I59e1b5774ca32be049723d1a0887faa90d8884bb\n"
    },
    {
      "commit": "ab3f1388c71aed957f94ddab976faa77ab77e67f",
      "tree": "8187b7aa433b95bfbc53f3d9e209839662bf4889",
      "parents": [
        "a5cc7cce9b8aee73b08f6532710e186c02fdd1c0"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 16 21:14:16 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 18 00:15:40 2011 +0800"
      },
      "message": "Add new camera focus mode FOCUS_MODE_CONTINUOUS_PICTURE.\n\nThe API is still hidden.\n\nbug:5086125\nChange-Id: I69268a95ad6aae249771d3a8dfb423ffe2d87081\n"
    },
    {
      "commit": "79e2ab42c38d1099bcd7c8840caa5a85c9fcb104",
      "tree": "09d1f199f95d265b1536de3b5416b481644b6f03",
      "parents": [
        "57c86189bc07d9ccb0fd044e66df736d0bf19639"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 17:49:50 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 04 16:40:28 2011 +0800"
      },
      "message": "Add camera bayer image format.\n\nThe API are hidden.\n\nbug:5086073\n\nChange-Id: Ic9a53e5d5007ad3f12a28406ee25098227f14cbc\n"
    },
    {
      "commit": "57c86189bc07d9ccb0fd044e66df736d0bf19639",
      "tree": "850a15dd5d48eb35aa993ceb27f3551a25622803",
      "parents": [
        "40cdc56efa47580d89a93750cefecb8ccbaf9a72"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Jul 30 05:00:37 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 15:48:41 2011 +0800"
      },
      "message": "Pass camera frame metadata from camera service to Java.\n\nbug:4460717\nChange-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657\n"
    },
    {
      "commit": "40cdc56efa47580d89a93750cefecb8ccbaf9a72",
      "tree": "ffa29768c5a9207340027ca44cbacdc3e3b40750",
      "parents": [
        "2f53a63142801e174e6ebf79cfbcd9055d8c538b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 13:20:36 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 14:27:58 2011 +0800"
      },
      "message": "Add camera recording hint parameter.\n\nThe API is still hidden.\n\nbug:4266229\nChange-Id: I5e4c24e9e2808582aecb55ac4f1d5be3ed7e36a2\n"
    },
    {
      "commit": "7fc25dd82dec8474139315b8e905f103c13406f5",
      "tree": "9c03327dbcab2d396e481deca4098924571c6f4c",
      "parents": [
        "288b66b60c9b3af3d84408885d0a4030c45eea9a"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jul 22 02:37:11 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jul 27 05:25:35 2011 +0800"
      },
      "message": "Add camera face detection API.\n\nAPI are still hidden.\n\nbug:4460717\nChange-Id: I1a515061f141a89bd61c875257712789fb15d2d4\n"
    },
    {
      "commit": "5e0067b486c3862316aa1f293cf9690c0cf54bda",
      "tree": "104ac8491b40d6e9d8353322792fb83ce76f4c82",
      "parents": [
        "52f556b976a9caceee183d8af2118ddbee02c70a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "message": "Remove the simulator target from all makefiles.\nBug: 5010576\n\nChange-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8\n"
    },
    {
      "commit": "4ca2c7c913f8bd4ada13aca56d36045d42d1e00f",
      "tree": "d65d0cadafa63bd9ab2aa9e8fbb6704b27a13fbc",
      "parents": [
        "c5a57efb706ec79032fc09c43b16d11ed0876604"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jun 01 17:22:24 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Jun 27 15:44:57 2011 +0800"
      },
      "message": "Add framework support for camcorder zoom.\n\nThe purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to\nallow applications using the camera during recording.\n\nCamera service allows only one client at a time. Since camcorder application\nneeds to own the camera to do things like zoom, the media recorder cannot\naccess the camera directly during recording. So ICameraRecordingProxy is a proxy\nof ICamera, which allows the media recorder to start/stop the recording and\nrelease recording frames. ICameraRecordingProxyListener is an interface that\nallows the recorder to receive video frames during recording.\n\nICameraRecordingProxy\n  startRecording()\n  stopRecording()\n  releaseRecordingFrame()\n\nICameraRecordingProxyListener\n  dataCallbackTimestamp()\n\nThe camcorder app opens the camera and starts the preview. The app passes\nICamera and ICameraRecordingProxy to the media recorder by\nMediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in\nMediaRecorder::start(). After setup, the recorder disconnects from camera\nservice. The recorder calls ICameraRecordingProxy::startRecording() and\npasses a ICameraRecordingProxyListener to the app. The app connects back to\ncamera service and starts the recording. The app owns the camera and can do\nthings like zoom. The media recorder receives the video frames from the\nlistener and releases them by ICameraRecordingProxy::releaseRecordingFrame.\nThe recorder calls ICameraRecordingProxy::stopRecording() to stop the\nrecording.\n\nThe call sequences are as follows:\n1. The app: Camera.unlock().\n2. The app: MediaRecorder.setCamera().\n3. Start recording\n   (1) The app: MediaRecorder.start().\n   (2) The recorder: ICamera.unlock() and ICamera.disconnect().\n   (3) The recorder: ICameraRecordingProxy.startRecording().\n   (4) The app: ICamera.reconnect().\n   (5) The app: ICamera.startRecording().\n4. During recording\n   (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()\n   (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().\n5. Stop recording\n   (1) The app: MediaRecorder.stop()\n   (2) The recorder: ICameraRecordingProxy.stopRecording().\n   (3) The app: ICamera.stopRecording().\n\nbug:2644213\n\nChange-Id: I15269397defc25cbbcae16abc071c8349c123122\n"
    },
    {
      "commit": "5e7271d6e24efb891e0de141a06228c99866f49f",
      "tree": "558d5859f9964e4ee7e9e0d2cc1702b98aad437d",
      "parents": [
        "5ffc7628f0efa122207eec86473c3e23dbd17445"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 06 16:36:05 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 06 18:04:17 2011 -0700"
      },
      "message": "CameraParameters: add PIXEL_FORMAT_RGBA8888\n\nChange-Id: I2780e936f5b4628d506ac4e6947b78ef831fbde8\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "fd99e1dda6a46ac3312cacb3bc1b633b2df95df2",
      "tree": "682bd239fc0a9b66c18aae748d71cd55220349af",
      "parents": [
        "6e9fd1a24da7e9d7cabf0079a4291647154f8e39"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri May 13 10:19:59 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 17 10:52:42 2011 -0700"
      },
      "message": "Add auto-white balance locking to the Camera API.\n\nAdds a new camera parameter for locking auto-white balance to its\ncurrent value. Also adds a function for checking if auto-white balance\nlock is supported by the current platform. Lock semantics match that\nof the auto-exposure lock.\n\nHidden for now.\n\nChange-Id: Id59339a4be84d55c1b0b8473d765b6aa765999b2\n"
    },
    {
      "commit": "95fbf2cdccb127bae1f68827564b36290c8de2c3",
      "tree": "f964c9e090903f982d82c6b555fa78e9308d26cf",
      "parents": [
        "5d4478556299c656b5bb940e83277e01233ec015"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Apr 15 13:51:42 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon May 02 09:36:06 2011 -0700"
      },
      "message": "Add an auto-exposure lock feature to the Camera API.\n\nAdds a new camera parameter for locking auto-exposure to its current\nvalue. Also adds a function for checking if auto-exposure lock is\nsupported by the current platform.\n\nHidden for now.\n\nChange-Id: Id452371191ab220318ce2cb98b8ee91bdde9aab6\n"
    },
    {
      "commit": "38ecadbeb09fc0504621f5aa513e51b7a204983f",
      "tree": "0f598afcfc6717c0a0b837c449512c315a88f3ae",
      "parents": [
        "fa4e195a735ab99e02388ac5c5611e73a76c7c72"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Apr 12 19:34:29 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Apr 13 16:06:47 2011 +0800"
      },
      "message": "Add camera metering area API.\n\nThe API are still hidden.\n\nbug:3475893\nChange-Id: Id4147528def5e0fe067e1a3ed315fa34c14a0640\n"
    },
    {
      "commit": "a1c3d37ef921bfc79a0f7d2ac7f897943134d48d",
      "tree": "871f3877f6db65c265a9482eba3593f91e0ac129",
      "parents": [
        "cc8ace7989f663fe6c6c1ed0febca0d9d1f19c7a"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Apr 02 06:19:46 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Apr 08 17:45:15 2011 +0800"
      },
      "message": "Add camera focus area API.\n\nThe API are still hidden.\n\nbug:3475893\n\nChange-Id: I92405c9e332b7fb141788cda7ebc9705dd666c67\n"
    },
    {
      "commit": "108dddf924d714c811dd565b8f4c7a0178cca2f2",
      "tree": "84d71d367dfb079a12738ca5f6c3edc4bd13aab1",
      "parents": [
        "b1d3d37c7990d22d0659e4c8c9aac56d4c09b6ea"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Mar 28 16:10:12 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Mar 28 16:28:57 2011 -0700"
      },
      "message": "frameworks/base: some camera-interface cleanup\n\nMethods getNumberOfVideoBuffers() and getVideoBuffer() as well as struct\nimage_rect_struct are no longer used (instead, the necessary information is\npassed through ANativeWindow.)\n\nChange-Id: If4b11446fc9ccbde1f6b45bc70c0d0b8e54376eb\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "5f7fcf29a7475a20cf38bf72da67746135d504c3",
      "tree": "f5e03d6a8f7d6b70b91cc95bc2324a1cc6492f10",
      "parents": [
        "f490e1765c44f63bde8e8acd905f36f92a840ddf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 25 18:42:40 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 25 18:42:40 2011 -0700"
      },
      "message": "merge libsurfaceflinger_client into libgui\n\nthis is the first step in unifying surfacetexture and surface.\nfor this reason the header files were not moved, as most of them\nwill eventually go away.\n\nNOTE: currently we keep libsurfaceflinger_client.so as an empty\nlibrary to workaround prebuilt binaries wrongly linking against\nit.\n\nChange-Id: I130f0de2428e8579033dc41394d093f4e1431a00\n"
    },
    {
      "commit": "6f7a293c1bbf993ff712927e3e14af0d195cf1c1",
      "tree": "7aa567d3e1209295b495de91e7160e362a918ddc",
      "parents": [
        "17e89b555a41aa591f1a01ecd51a7cb5a7bcfc0e",
        "d42c6e8904f1648a7dedcd1dc27b926951f8ff28"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Feb 24 02:51:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 02:51:17 2011 -0800"
      },
      "message": "Merge \"Add YV12 preview format to camera parameter constants.\""
    },
    {
      "commit": "d42c6e8904f1648a7dedcd1dc27b926951f8ff28",
      "tree": "840c0ee7b94dfb325a2e20e3cfb0af099c3213f7",
      "parents": [
        "1de41a66e3e7b548ee44e6654580e5f6f7265b11"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Feb 22 15:49:25 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Feb 24 18:19:48 2011 +0800"
      },
      "message": "Add YV12 preview format to camera parameter constants.\n\nbug:3463624\nChange-Id: I8f2992dadfd3fb9e3c9d67743e52da7f3212827e\n"
    },
    {
      "commit": "e468ac57f6e8afc6078c76d4eb1ac327112a3de0",
      "tree": "b6f657aa11261327f5f4743dd54f796e73ec328b",
      "parents": [
        "8e0e1979f0f41487b0f18aa5b9c8c52a39ca27f4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 17 16:38:06 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 20:48:15 2011 -0800"
      },
      "message": "Application-managed callback buffer support for raw image\n\nbug - 3292153\n\nChange-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2\n"
    },
    {
      "commit": "bfa33aae4f54c0020a0568b16a3acb7b30b6ca3d",
      "tree": "3dae4190516dcddec996a2b7c51b5f192c3ed4ca",
      "parents": [
        "5de2001a5c3f854b63dbcea284e02f930881ca75"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Dec 20 11:51:31 2010 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jan 06 13:31:53 2011 -0800"
      },
      "message": "Add camera service support for SurfaceTexture.\n\nThis change enables the use of a SurfaceTexture in place of a Surface as\nthe destination of camera preview frames.\n\nChange-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb\n"
    },
    {
      "commit": "627baacc748c5e2ed68bdb256aea4d70fcfe9ce4",
      "tree": "75e721e7eeead2df74880a9019d178f33f003477",
      "parents": [
        "c213b812514d16dd401cd308b9203b70bfbb3d5f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jan 04 20:00:55 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jan 05 13:14:30 2011 +0800"
      },
      "message": "Camera::create should fail when it fails to connect the camera.\n\nbug:3197565\n\nChange-Id: I3439a25c06b00615e8257e6b3db85df081643643\n"
    },
    {
      "commit": "0f5a6f9231e04b5c04af5dc2ad020755e2616f31",
      "tree": "7c5952114c65c535ad68c362e6e13865e5f77b4d",
      "parents": [
        "7a1e1bdde7a28d9573367d6f95b736fd793ace0c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 29 16:51:55 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 30 22:28:27 2010 -0800"
      },
      "message": "Add preferred preview size support in the camera framework\n\nbug - 3237021\n\nChange-Id: Ica8a3ae5cfbee462b74de98770e33277186c9a2b\n"
    },
    {
      "commit": "c42478ed7b8a379d2f8a43d4d349680c8a37573f",
      "tree": "5e0130097b1017a6348c101a5093269a82431fd6",
      "parents": [
        "c2db5a15b819368c2c19099cc912c095a45e6bac"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 15 10:38:37 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 15 13:14:59 2010 -0800"
      },
      "message": "Fixed a race condition where some recording frames may not be released.\n\nWhen startRecording() is called before setListener(), recording frames\nare sent right after startRecording(), but there is no listener to\nrelease the recording frames. This causes the hang in media server.\n\nbug - 3166356\n\nChange-Id: I19366ca682ef9f6b847590c190c30a15ed32b8e4\n"
    },
    {
      "commit": "e2ad6734eccc4b9ea7857c747ff9469a9c11ba09",
      "tree": "adefb903549a218f19eb6f8a624bf532e6fa7580",
      "parents": [
        "f705b5aa8c3b319f7b49f9ea46207187278076f9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 18 20:42:51 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 19 23:07:08 2010 -0700"
      },
      "message": "Camera framework change required for 0-memcpy recording\n\nbug - 3042125\n\nChange-Id: I46eb7a10b5394086b353fd73e4503beceeed76f1\n"
    },
    {
      "commit": "0d14c25355b7807b88fcdc76040ef986aa754815",
      "tree": "3bcb91e924162e19bdfcf87bfc6b0001e0d02970",
      "parents": [
        "c2945f514a66ac3ec2972f8d9dbb6219bb8f243a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 30 10:50:51 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Oct 03 21:24:49 2010 -0700"
      },
      "message": "Video size retrieval/configuration support in camera hal\n\nThis is the first part of the camera hal change required for\n0-memcpy of input video frames for video recording.\n\no removed check in setVideoSize()/getVideoSize() for impl consistency\n\nChange-Id: I01274a62b9f9eaf32154d98f8d0bfedacf645698\n"
    },
    {
      "commit": "9219e0b4eb346b5e0a1a21e77fe22b8c2232ec4b",
      "tree": "b64534d8a3a5113af0c1a6544b2949fbc4786916",
      "parents": [
        "32eaa26f6152913b015f855a930cd8f12bd21d4d",
        "470644a573b24bc13e0e357a01902322dee0a716"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 10:44:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 10:44:38 2010 -0700"
      },
      "message": "am 2ad1ebca: am d45cb72a: Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nMerge commit \u00272ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd\u0027\n\n* commit \u00272ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd\u0027:\n  Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n"
    },
    {
      "commit": "ac4205c9064ca961883b1ccf2ce565e449c0983e",
      "tree": "5d741e2a6731ad4c2707f9bc689609cbbbda421c",
      "parents": [
        "1c1503cf47c0a37a30e7acac2c5d29140fc61a5f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 20 16:15:32 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 08:46:32 2010 -0700"
      },
      "message": "Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nThis constant is not public yet. Continuous autofocus should\nbehave differently in still camera and camcorder. In camcorder,\nlens movement may be more smooth. And the triggers to start a\nnew focus search may be different. If there is a need,\nFOCUS_MODE_CONTINUOUS_PHOTO can be added in the future.\n\nChange-Id: I05df9e491aca37829be3df92a73b952f26c86a4a\n"
    },
    {
      "commit": "e2d8ba8c36fd39eb98f604b11654aa5466673260",
      "tree": "bdbd47442bc5f6c564746b99b4752a927c59f47b",
      "parents": [
        "38a7476749eb4b4fd117b6e64027870077eb22d8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 15 16:52:51 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 16 14:10:31 2010 -0700"
      },
      "message": "Add YUV420P color format support for video output from camera hal\n\nChange-Id: I5c8266348d0840361c8095ce351ac85c44d4068f\n"
    },
    {
      "commit": "f015774f9d5a8b7af547ccad92d98b5cfd4009fb",
      "tree": "c4edb42e1fbd37cf602ba79a089cd3bbe557961d",
      "parents": [
        "dd0f7a7127fdb04863b4ad66d2b846ee94358314",
        "fabf86f788260b19ae59e472843164c3bf44e259"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Aug 30 14:06:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 30 14:06:16 2010 -0700"
      },
      "message": "am 6e46e6f7: am 7ec7b997: Remove camera metering mode API.\n\nMerge commit \u00276e46e6f7488ad1f4e6ab762d141790798fe3f2d5\u0027\n\n* commit \u00276e46e6f7488ad1f4e6ab762d141790798fe3f2d5\u0027:\n  Remove camera metering mode API.\n"
    },
    {
      "commit": "541d7655d9dc0322eb616e17b6767365bf64e3ed",
      "tree": "d0ef214330535305569cff32621e1b0f4608cace",
      "parents": [
        "1c842b26ebbf64d15b6015b9a03d888829b946ef"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 27 15:39:46 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Aug 30 13:33:53 2010 -0700"
      },
      "message": "Remove camera metering mode API.\n\nMetering mode is not supported yet.\n\nChange-Id: Id6906d6ab0cd1a9dcbc5c303d8d5081b2cda699e\n"
    },
    {
      "commit": "10d3d28bdd0004dec5cc7963ec4a73f096fe93d2",
      "tree": "14073185f90d0c39e4c36beac8ecb7713a4a5340",
      "parents": [
        "8f3e6aa2951358c0dea593a2448171a3f97cc0eb",
        "846f79b30e249ebca7d95442907723a0d14601fa"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 24 09:01:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 24 09:01:27 2010 -0700"
      },
      "message": "am 346b6126: am 97a56269: Merge \"Add camera fps range API.\" into gingerbread\n\nMerge commit \u0027346b6126d54bda4ddc705b27f49004b5cf3a2b3e\u0027\n\n* commit \u0027346b6126d54bda4ddc705b27f49004b5cf3a2b3e\u0027:\n  Add camera fps range API.\n"
    },
    {
      "commit": "4b79168835965cf0fc41ebe2a367e22b4cb20d08",
      "tree": "d70a673d243fdc72171ecbcf51094554f947987a",
      "parents": [
        "82252a9a732c7325166c36589c1dfa9f2cb8ac04"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Aug 10 16:37:53 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 23 14:31:30 2010 -0700"
      },
      "message": "Change the framework to use the new camera preview path.\n\nThis change makes the camera HAL interface take an ANativeWindow interface from\nwhich all the camera preview buffers will be allocated.  The framework code\nrunning in application processes now passes a Surface object rather than an\nISurface to the camera server via Binder when setting the preview surface.  The\ncamera server then forwards that Surface object (which implements the\nANativeWindow interface) to the camera HAL, which uses it to communicate with\nSurfaceFlinger to allocate the camera preview buffers.\n\nChange-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f\n"
    },
    {
      "commit": "04379fa9a001934373bf17358978c753c7e4e8b5",
      "tree": "c347afbf244a02c356751ba817fd47254ef94e26",
      "parents": [
        "f1cca5ade334859bf23cf8aa5e73bad653681c8c"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Aug 11 16:48:05 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 20 11:14:17 2010 -0700"
      },
      "message": "Add camera fps range API.\n\nOriginal preview frame rate API assumes the frame rate\nis fixed. It does not not work with auto frame rate camera.\n\nChange-Id: I38f7122ac8ec844ffd63558dc0763ffa17b0926a\n"
    },
    {
      "commit": "e44607eacd044362d3debf5d95abc93ca36a9274",
      "tree": "1222ad945154bbcadee75af52253d5c1bf60bdf3",
      "parents": [
        "34c91a321c297c1a7518ec4f10ae5993904034dd"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Wed Aug 04 14:04:07 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 09:59:18 2010 -0700"
      },
      "message": "Adding getSupportedPreviewSizes to CameraParameters.DO NOT MERGE\n\nMoved functionality to parse string of sizes from getSupportedPictureSizes\nto parseSizesList.\nAdded getSupportedPreviewSizes which returns a list of supported preview sizes.\n\nChange-Id: I41d4f62f9f1641e9e9258aa2ebaeda13ba846c02\n"
    },
    {
      "commit": "34c91a321c297c1a7518ec4f10ae5993904034dd",
      "tree": "4ab2943804b3d534da5539037c8c8957648684b1",
      "parents": [
        "186c38766c030b15135e7e8484d2d6b83464513a"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Jul 30 13:40:14 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 09:59:11 2010 -0700"
      },
      "message": "Adding getSupportedPictureSizes to CameraParameters.DO NOT MERGE\n\nAlso added a struct \u0027Size\u0027 containing a width and a height field.\nModified parse_size to optionally set an end pointer pointing to the\ncharacter after the found size.\n\nChange-Id: I0c95ebf1ad4684721b32165f363db7d4d15a1b19\n"
    },
    {
      "commit": "0cc18781fb331f4f90070ed5c76db068d3ce3c64",
      "tree": "4110b4fa252552d71bb1b0afc08a045f79974c15",
      "parents": [
        "e41f9ba4869a96f004c731d8d17939ae607143b9"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Wed Aug 04 14:04:07 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Wed Aug 04 14:04:07 2010 -0700"
      },
      "message": "Adding parseSizesList, getSupportedPreviewSizes to CameraParameters.\n\nMoved functionality to parse string of sizes from getSupportedPictureSizes\nto parseSizesList.\nAdded getSupportedPreviewSizes which returns a list of supported preview sizes.\n\nChange-Id: I435317427c1ee9623caef435f93e95d4476b7285\n"
    },
    {
      "commit": "99b4de92430fe42f9d1493c8a4c3d27de89d3549",
      "tree": "bb5f2173d414cddcb6f2d6c3d8868aae498c1ee5",
      "parents": [
        "484c146281e39a04e32f4f13775210ab2a248c57"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Jul 30 13:40:14 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Jul 30 17:51:59 2010 -0700"
      },
      "message": "Adding getSupportedPictureSizes which returns a Vector of supported Sizes.\n\nAlso added a struct \u0027Size\u0027 containing a width and a height field.\nModified parse_size to optionally set an end pointer pointing to the\ncharacter after the found size.\n\nChange-Id: I51a56bbf2cb7c91d7b80a28e6bd6a559f40a1333\n"
    },
    {
      "commit": "9da2070b6d6d20550de7da61478c325f0928d020",
      "tree": "f1548891fab33ca03923f70cf25a2ffeab50be82",
      "parents": [
        "3be9523784cc4038f601e510faee595117cdacb3",
        "efe6039f71e9bac2138003b3287e94a7ab7e5c55"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 12:08:31 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 12:08:31 2010 -0700"
      },
      "message": "resolved conflicts for merge of 27eecb70 to gingerbread\n\nChange-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1\n"
    },
    {
      "commit": "0319aaecb03aa83924ab4e3d9c9bc657c2e8bc06",
      "tree": "7c3ae3eecc16c50c794aff141a89b14942117364",
      "parents": [
        "0895d83cb62d269468e64a00e9e89fa7697f2f84",
        "01cff464978aa0f749f42650180b45ea56cb17de"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:52:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 17:52:09 2010 -0700"
      },
      "message": "am 4506c62a: fix inaccurate copyrights\n\nMerge commit \u00274506c62abd5767d6d42a97e8e87793a1b3bcb625\u0027 into gingerbread-plus-aosp\n\n* commit \u00274506c62abd5767d6d42a97e8e87793a1b3bcb625\u0027:\n  fix inaccurate copyrights\n"
    },
    {
      "commit": "68335fdd6e9c1d622384612605d6952503cb7fd0",
      "tree": "94e9982f93be7339bde4d8b9336f9968f5509efd",
      "parents": [
        "e32283b15bbd60179424bdc740a4e4932da4c61e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:35:37 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:41:35 2010 -0700"
      },
      "message": "fix inaccurate copyrights\n\nChange-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd\n"
    },
    {
      "commit": "01cff464978aa0f749f42650180b45ea56cb17de",
      "tree": "a31c8e61281d0bbcbec93d0ab05368f73ab85994",
      "parents": [
        "ccaa41429d2afc47f0fb828a0146a1b1936188fe"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:35:37 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:35:37 2010 -0700"
      },
      "message": "fix inaccurate copyrights\n\nChange-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd\n"
    },
    {
      "commit": "ddbdb35d176266b5ab64c30178f5cb76c5b1b4b4",
      "tree": "9a3115e77421f95a8505067cfa60b5a73518ad68",
      "parents": [
        "0a5baa9b411fe086013d2a5e9126ed63fbad046c"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jun 10 13:32:16 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jun 11 16:47:33 2010 +0800"
      },
      "message": "Change camera interface to support multiple cameras.\n\nChange-Id: Ie88fe706d2278acf762eca87780de349434778a4\n"
    },
    {
      "commit": "d38bee5858f5387afc28dcb97139b760ac8a1c63",
      "tree": "b090f27b94303923007f1cdd4b075be16cbba904",
      "parents": [
        "cd3514492c2d49aeb88eedae40b54dcdd3fcbd9a"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 04 14:18:32 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 04 17:18:17 2010 +0800"
      },
      "message": "Add KEY_SUPPORTED_METERING_MODES and fix some typos.\n\nbug:2737111\nChange-Id: I108ae7057786921bf99385ad66dbc1f02d6a1448\n"
    },
    {
      "commit": "2b8aba228e6ebd45fe29714baa477f3ea2320095",
      "tree": "526afba8fc95868ce67ff91554a81b1ad8a7d6ae",
      "parents": [
        "ba0fab325cd8379378a2c8ad14dd1c44bf2760f3"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Jun 03 16:34:18 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Jun 03 16:34:18 2010 +0800"
      },
      "message": "Add camera metering mode API.\n\nbug:2737111\nChange-Id: Ie986fee56ebeaaed2d2efb757701dfe3ffdec8d8\n"
    },
    {
      "commit": "0b0279e0d20a8beb69aa2af5f4cb278841710dfb",
      "tree": "21b77e3b0348f35a45db76125ac9f112bd74551e",
      "parents": [
        "5b39604a55f1624ced347da7b790c4206d2d999f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri May 28 17:32:41 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri May 28 17:32:41 2010 +0800"
      },
      "message": "Add video frame parameter.\n\nThe image format of preview frames and video frames may be different.\nWe need another parameter for video frame format.\n\nbug:2720893\nChange-Id: I966a31b0ce8cab25cdde65db65a18c8cbe9c7bd6\n"
    },
    {
      "commit": "ae77ffa16bda593fb3751e41d45327d867f3c8e1",
      "tree": "bc71c40bbbbce19b827c407fd901c03a3cf87e81",
      "parents": [
        "09a2ab9dfe5c8fe74703b9894d930b1b1dbf0c11"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat May 15 13:05:04 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat May 15 13:06:19 2010 +0800"
      },
      "message": "Fix build error.\n\nOriginal name INFINITY conflicts with the macro in math.h.\n\nChange-Id: I9845ed84fca17813dd971239a902cc1e0bad1e3e\n"
    },
    {
      "commit": "09a2ab9dfe5c8fe74703b9894d930b1b1dbf0c11",
      "tree": "0852633ee4e6626010e54c3344fee7483a76cb12",
      "parents": [
        "ea10bc6158caa9f595c85a3dc3517d88ee989001"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu May 13 19:31:02 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat May 15 12:40:54 2010 +0800"
      },
      "message": "Add camera focus distances API.\n\nApplications can use this API to estimate the distance\nbetween the subject and the camera.\n\nbug:1955650\nChange-Id: Ie6c8ea4971759cab6c9bcdda2c5ceb5925791c27\n"
    },
    {
      "commit": "d06618ee31c11ac7ac6698f95444041a4785a5ab",
      "tree": "03e2f129897943b81f013ae59f6d6d507c28f4bf",
      "parents": [
        "65ae665befd929efd1a7d1c9addac41c699f04b2"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu May 13 15:14:24 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri May 14 11:34:20 2010 +0800"
      },
      "message": "Fix deadlock if the last reference of ICameraClient is removed in\nICamera::connect()\n\nChange-Id: I34ab3e4f07435c62168175e9bb159022c8fb99f4\n"
    },
    {
      "commit": "83e5a900e5eccbd2af300c03d24d72365d0c8323",
      "tree": "ec052ddb975e64a27fdf12ade7e24df07f899b04",
      "parents": [
        "ef9d0cd72e476a4b7556833fb09505a51b626797",
        "adbda96f6a05507788bb4163d7fbe8a95948f0a5"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed May 12 07:55:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 12 07:55:00 2010 -0700"
      },
      "message": "am d8c33747: am 78624e41: Add remove method in CameraParameters class.\n\nMerge commit \u0027d8c33747afbe98e893e0569f3bf45b67a9e8e728\u0027 into kraken\n\n* commit \u0027d8c33747afbe98e893e0569f3bf45b67a9e8e728\u0027:\n  Add remove method in CameraParameters class.\n"
    },
    {
      "commit": "adbda96f6a05507788bb4163d7fbe8a95948f0a5",
      "tree": "b7ebd296b4ac9c9d665c36f993eae6a68b7840df",
      "parents": [
        "ee7ff20e69498ebd53dd9717a0f984188341a75e"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue May 11 12:11:56 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue May 11 12:54:14 2010 +0800"
      },
      "message": "Add remove method in CameraParameters class.\n\nbug:2672651\nChange-Id: I537c817b5ca6a3d925f22febe9a5769156354d00\n"
    },
    {
      "commit": "4bf7ace0d9d51cd47e00f92d26e1ee87909b3cc5",
      "tree": "5c35174573a3375d382122de5879e0f10b4a6175",
      "parents": [
        "35a055b8bfc6f3cbea409b2897caf936654519cb"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu May 06 16:47:30 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon May 10 15:14:56 2010 +0800"
      },
      "message": "Add continuous focus mode constant.\n\nbug:2612447\nChange-Id: I9bc3f5a47ad50722a265d50b1d28fb82a2253dc9\n"
    },
    {
      "commit": "35a055b8bfc6f3cbea409b2897caf936654519cb",
      "tree": "f2167d55486fd370d24e68aabe1ae37879cde8ec",
      "parents": [
        "d8a30349da270715156d3f658b165481ce10cf71"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu May 06 16:36:58 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon May 10 11:21:14 2010 +0800"
      },
      "message": "Support multiple cameras in framework.\n\nChange-Id: I081f0fbdca4b633715ea7c3b3d42f8662d27598a\n"
    },
    {
      "commit": "465d5a7f3517f11aaa819c8ae982e113ad5ec479",
      "tree": "40598c743c92f51f67bef9381bd0ffaa23e47fbe",
      "parents": [
        "32f8c1cf4ab2abdd902535fc44a6549ba6f0ff33"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 29 17:21:28 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Apr 10 09:33:15 2010 +0800"
      },
      "message": "Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n\nbug:2544367\nChange-Id: If122a7745e080f9e4bffb15dc4930d71f0421867\n"
    },
    {
      "commit": "8cc76ae259ad81d5a40277bbf5532696ebae8da8",
      "tree": "8922e24a90a8b537ce679662287f01aa583f80bd",
      "parents": [
        "2415ecb5bb4e1459024f6d6c8ae2d6e3dc4fbdc7"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 29 16:21:12 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 29 16:21:12 2010 +0800"
      },
      "message": "Add some comments for zoom methods.\n\nAlso change RuntimeException to IllegalArgumentException.\nbug:2458926\n\nChange-Id: I87af31f5f3f10244131a1117bd1725c2d292b587\n"
    },
    {
      "commit": "f8ed70a20f8b006539af98c8ad45be9561665f82",
      "tree": "ef571dd56440871460b68360524a354c640bff3f",
      "parents": [
        "246c817c7e4514a34f996a2f38d501b52f617b7e"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Mar 24 16:38:02 2010 -0700"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Mar 24 16:45:23 2010 -0700"
      },
      "message": "Call unlinkToDeath() when we disconnect the Camera,\nso we don\u0027t hold the (weak) reference to it, which caused\n(small) memory leaks.\n\nChange-Id: If7d58a354fd38c8bc380946bf227b52988ac5118\n"
    },
    {
      "commit": "d8d888ea7c14715c2210c8dea1a623116c992264",
      "tree": "652d55952fb5c38145fa0bdc0622da2993d2bacd",
      "parents": [
        "3a2bee0e7f867ab6a7d36503731dec1432066470"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 08 15:28:48 2010 -0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 08 15:28:48 2010 -0800"
      },
      "message": "Add camera parameter string constant for \"true\".\n\nbug:2458926\nChange-Id: I11eaae8ff031765e23f2627ded5873eabc09cead\n"
    },
    {
      "commit": "c0170bc6c6c81f5dfa86a132bf29ee48c01329d9",
      "tree": "a0308c63c32e03665c5833fd59af15f4f11806d3",
      "parents": [
        "fe4c6f01646de47d41bbe3aa6d17c6a0daa2b730"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Tue Feb 23 10:45:42 2010 +0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Fri Mar 05 03:03:48 2010 +0800"
      },
      "message": "Add location provider name to gps-processing-method in EXIF header.\n"
    },
    {
      "commit": "949c5037a6e019ff575bd481d286908c2eaa1e34",
      "tree": "1e7fd3cbbf4e8c06732e253051964ba9a64a3f57",
      "parents": [
        "25155ff8ccf7898d08ab62fae46297e046a571f0"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Feb 28 23:19:55 2010 -0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 01 15:32:33 2010 -0800"
      },
      "message": "Unhide zoom API.\n\nbug:2458926\n"
    },
    {
      "commit": "4f1bff97170d33575e55a8e110b097c05607095f",
      "tree": "b5c9cc10fbb2b41f938a463ab66c35d0746ef94f",
      "parents": [
        "af5611861df599656edafb751d5140fdccc34135"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Feb 20 17:47:04 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Feb 26 14:04:43 2010 +0800"
      },
      "message": "Unhide exposure compensation API.\n\nbug:2375993\n"
    },
    {
      "commit": "3cf613507f1e2f7bd932d921a6e222e426fd3be4",
      "tree": "20c9dd57e2227046ab1d6fc1185f4136c6dac12e",
      "parents": [
        "988e3f0b2c74095deae580157c57935a98573052"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 09 17:46:37 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 13:16:22 2010 -0800"
      },
      "message": "split libsurfaceflinger_client and libcamera_client out of libui\n"
    }
  ]
}
