)]}'
{
  "log": [
    {
      "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"
    },
    {
      "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"
    }
  ],
  "next": "ab3f1388c71aed957f94ddab976faa77ab77e67f"
}
