)]}'
{
  "log": [
    {
      "commit": "36f68b8f24df906c969581b0b8e1a47f95dc03cb",
      "tree": "b1c8987ccd5b30c5527fc9abcfe275f163d8d8c5",
      "parents": [
        "5bba632d877c2878384ff21566c8eb6a1a22f37b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 28 16:14:58 2009 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Oct 06 13:25:10 2009 -0700"
      },
      "message": "Add zoom functions and sendCommand.\n\nb2060030\n"
    },
    {
      "commit": "244f8c26365a303d9dd861bd48a29a4b48578da1",
      "tree": "33c20568a94d606507507ec5cedf2a01eba8de58",
      "parents": [
        "54c06152e0d9c666aec61ae5d9686d7d3327ea34"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Sep 15 14:51:56 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Sep 15 18:29:03 2009 +0800"
      },
      "message": "Fix 2083478: Camera needs an auto-focus cancel API\n\nChange-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2\n"
    },
    {
      "commit": "da83f4674a564007baac03db062a289c8158d940",
      "tree": "c1476d13a17ddff1bbd3769d3406ab3d639318d2",
      "parents": [
        "ddb79c9fd53893aa126599330a9289497e5f5c93"
      ],
      "author": {
        "name": "Benny Wong",
        "email": "Benny.Wong@motorola.com",
        "time": "Wed Aug 12 12:01:27 2009 -0500"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 13 10:46:28 2009 -0700"
      },
      "message": "Modified the camera HAL interface to use the same generic callback architecture as camera services\n"
    },
    {
      "commit": "59c1a935295cb30c2ba2f759855e89c174b42a07",
      "tree": "ecb4f9b555dca38af549fa469f97e734d9fcc799",
      "parents": [
        "a5188a09bd20c376b4f0645b0df4c52f8e114e21"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 15:56:53 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 15:59:25 2009 -0700"
      },
      "message": "Add timestamps to video frames to improve A/V sync.\nBug 1927069.\n"
    },
    {
      "commit": "a1b653d41df9a7999e1dba2a508295671ff6771d",
      "tree": "74c7c4639f56b4aab2e076eaadb7d436cab68113",
      "parents": [
        "a54755962ca7725d1e2b6cacbbaece6f1cbf5af4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 02 10:04:20 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 02 10:04:20 2009 -0700"
      },
      "message": "Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)\n"
    },
    {
      "commit": "c62f9bd13327937aa2d2f20b44215397120634c1",
      "tree": "8bb2e7596e82588e9c4517f65209a174f809cc32",
      "parents": [
        "aae628b44518f0886a7f33b88c1131f47d853e70"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Jun 26 13:33:32 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Jun 26 13:33:32 2009 -0700"
      },
      "message": "Pipe all the camera callbacks to Java to facilitate the addition\nof new features. This will make it easy to add things like zoom\ncallbacks without modifying the entire camera stack.\nBug 1837832.\n"
    },
    {
      "commit": "6f0602e84a0387fe9239a57f44785de40feb051c",
      "tree": "c4f588848a7caa95565131374fa6419732aeaa63",
      "parents": [
        "b1dffc48ca8aec61d99391495b3f436d0e8b16dd"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 10:42:53 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 10:42:53 2009 -0700"
      },
      "message": "Cleanup header file. Disallow copy of Camera object by making copy\nconstructor and operator\u003d private.\n"
    },
    {
      "commit": "b1dffc48ca8aec61d99391495b3f436d0e8b16dd",
      "tree": "0ed71e91e20db61d993388d4ee1bfad3f866cd10",
      "parents": [
        "5e27115995c4506dddf4f1271effd4fb4c935ad3"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Jun 23 19:09:05 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 07:58:27 2009 -0700"
      },
      "message": "Remove deprecated callback function support.\nThis is the last of a 3-part change to modify the camera to use\na more streamlined callback interface. This change removes the\nold code.\nBug 1884362\n"
    },
    {
      "commit": "5e27115995c4506dddf4f1271effd4fb4c935ad3",
      "tree": "dd67833f50a64768b2bf25ec4d9dd5daa3a2dd78",
      "parents": [
        "5f80605a0b866f34c74955e190909bd6ab5d992e"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Jun 23 17:30:11 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 07:58:27 2009 -0700"
      },
      "message": "Use a ref-counted callback interface for Camera.\nThis allows the camera service to hang onto the callback interface\nuntil all callbacks have been processed. This prevents problems\nwhere pending callbacks in binder worker threads are processed\nafter the Java camera object and its associated native resources\nhave been released.\nBug 1884362\n"
    },
    {
      "commit": "d6289b1b03d209219c2dd3126ee8839a45682b33",
      "tree": "1c7d73bff30577aaf680aea9f72df5a219a1ca2d",
      "parents": [
        "b4735b6c04c6bca3219115395748a1b5ef02ff6c"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 07 19:27:32 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon May 11 07:36:58 2009 -0700"
      },
      "message": "Modify camera framework to use new streamlined binder interface.\nThis is the second half of bug 1837832. Modifies the camera client\nand camera service to use the new binder interface. Removes the\nold binder interface. There will be one more part to this change\nto surface the undefined callbacks to the Java layer so that\npartners can implement new features without having to touch the\nstack.\n"
    },
    {
      "commit": "2a04aefdf03abbdabb035f89c8a1df636c168de0",
      "tree": "af1373ffe5244655f868c9145fdf3813fe82e66a",
      "parents": [
        "50396063c2fbb1f427cf31e0b8a56567fb5a069c"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 07 12:25:25 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 07 12:25:25 2009 -0700"
      },
      "message": "Add new binder methods to camera client to support generic callbacks\nThis is the first step in a multi-step change to move from the old\nspecific callbacks to a generic callback. This will allow future\nflexibility in the interface without requiring binder rewrites.\nBug 1837832\n"
    },
    {
      "commit": "325ac475c51dc0d54503f725179ea2d9353485bb",
      "tree": "4345b6602a076488623b2815f1af55f112b8b7d3",
      "parents": [
        "3eab744d018924189b1b8f5530accd52e91213de"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 27 12:01:59 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 27 12:01:59 2009 -0700"
      },
      "message": "Bug fix(1807910): media recorder crash due to the use of locked camera object (last part)\n- remove an unused Camera constructor\n- add a check on the argument in Camera::create() method\n"
    },
    {
      "commit": "2adc2dbbd65fc89983f20702db2004f9b8cf8258",
      "tree": "c6cb8b422dbe5e3f1bd41eec0f0944216e1856c9",
      "parents": [
        "0a57e5b730beaea75c1c1b1ca51b40c463918b4d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 23 14:07:23 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 23 14:07:23 2009 -0700"
      },
      "message": "Fix a media server crash (bug 1807910): part one\nAdd a factory method that creates a Camera object from a remote client\n\nNext:\nThe changes in authordriver.cpp and android_camera_input.cpp will come.\nand the constructor for Camera object will be removed.\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d24b8183b93e781080b2c16c487e60d51c12da31",
      "tree": "fbb89154858984eb8e41556da7e9433040d55cd4",
      "parents": [
        "f1e484acb594a726fb57ad0ae4cfe902c7f35858"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "b798689749c64baba81f02e10cf2157c747d6b46",
      "tree": "da394a395ddb1a6cf69193314846b03fe47a397e",
      "parents": [
        "f013e1afd1e68af5e3b868c26a653bbfb39538f8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
