)]}'
{
  "log": [
    {
      "commit": "f10cf66d258ab88af9cb363077cdd96d59f7ca15",
      "tree": "4f0d56459e63ae798f6dc291a7bb0884a949786f",
      "parents": [
        "7ad351cd275f042a455167e4b5e90189ca00f990",
        "0184a8e616ef536e270c42d802a3dfcb8bf5ca52"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenw@quicinc.com",
        "time": "Fri Aug 31 11:30:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 31 11:30:41 2012 -0700"
      },
      "message": "am 0184a8e6: am 092fe44a: Camera: set vendor_ops on camera metadata.\n\n* commit \u00270184a8e616ef536e270c42d802a3dfcb8bf5ca52\u0027:\n  Camera: set vendor_ops on camera metadata.\n"
    },
    {
      "commit": "092fe44abd787fcb4377d90c63f2aa7120a4d267",
      "tree": "802a20db19e8f4a051b6612072ba6884dec4cce0",
      "parents": [
        "6bcdca035d4e9f7b2aee2d3febd8e2df5f57ae6f"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenw@quicinc.com",
        "time": "Fri Aug 31 10:24:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 11:27:02 2012 -0700"
      },
      "message": "Camera: set vendor_ops on camera metadata.\n\nThis makes sure that vendor specific metadata can propogate through\nthe framework.\n\nChange-Id: I3bd0ae4b889eb907caf7b305dbcb16abbbef0ea3\n"
    },
    {
      "commit": "0f7d1771689280dd32eec4a301d2781fa9172baa",
      "tree": "b4ad4f04e8e2f24443366d3d307cace1be394365",
      "parents": [
        "d5926917711cb5f8ae0c893afdb80886d06c7b35",
        "08d8228d508adf26e1e6bdf44401ee3b7fcca22f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 31 09:22:45 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 31 09:22:45 2012 -0700"
      },
      "message": "am 08d8228d: am b3428f7f: Merge \"Update audio comments\" into jb-mr1-dev\n\n* commit \u002708d8228d508adf26e1e6bdf44401ee3b7fcca22f\u0027:\n  Update audio comments\n"
    },
    {
      "commit": "c3ae93f21280859086ae371428ffd32f39e76d50",
      "tree": "542d16fac64eb1f6e40c32517d60c2da5078e900",
      "parents": [
        "c9936c72c128a4a9288424fb082d7e7fe4b9b91f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 30 10:59:30 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:31:00 2012 -0700"
      },
      "message": "Update audio comments\n\nChange-Id: Ie7504d0ddb252f7e4d4f99ed0b44cfc7b1049816\n"
    },
    {
      "commit": "49a3f8a8b4ec226690e7b5c91a7e516970ca6d0b",
      "tree": "d0b4d8d106004aec8f239f592833daa5177ed113",
      "parents": [
        "002febb34d186248e1a1b4a71fe454141c3f0dfe",
        "b5720b1ff9262419cd331e56c75a60b291bc7694"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:25:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 30 15:25:30 2012 -0700"
      },
      "message": "am b5720b1f: am c9936c72: Merge \"Remove dead code\" into jb-mr1-dev\n\n* commit \u0027b5720b1ff9262419cd331e56c75a60b291bc7694\u0027:\n  Remove dead code\n"
    },
    {
      "commit": "7aa25591769685ae0e8349b3ca3534c724484375",
      "tree": "366da12832fc0b0033ac79a456eac6ca8acdb9f0",
      "parents": [
        "b9cba9b731195d4387ee21b7e9ba1137a3cfda68"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 02 16:37:07 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:18:16 2012 -0700"
      },
      "message": "Remove dead code\n\nRecordThread::isValidSyncEvent() returns false, so most of\nRecordThread::setSyncEvent() is never executed.\n\nChange-Id: I0cf848beb46a367a45126d2df3073c5afa2ca59c\n"
    },
    {
      "commit": "e0c87269b94e5b24de8e9577ba32070b24e83582",
      "tree": "e17f5543a594ebf30b1c1b590b689252ae7785e1",
      "parents": [
        "4657e56e0b0e9672fa2bde3c692ad4a58cf9b133",
        "c9beb01c800e6326051aee52a00659288c25c6eb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:09:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 30 15:09:19 2012 -0700"
      },
      "message": "am c9beb01c: am b9cba9b7: Merge \"Move libnbaio out of AudioFlinger\" into jb-mr1-dev\n\n* commit \u0027c9beb01c800e6326051aee52a00659288c25c6eb\u0027:\n  Move libnbaio out of AudioFlinger\n"
    },
    {
      "commit": "b9cba9b731195d4387ee21b7e9ba1137a3cfda68",
      "tree": "6ee03e2fc8309bd045aed42bac69d8107ac0c2fd",
      "parents": [
        "cba53fbdaa723322f7157a4890feab776beae13e",
        "2dd4bdd715f586d4d30cf90cc6fc2bbfbce60fe0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:05:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 15:05:01 2012 -0700"
      },
      "message": "Merge \"Move libnbaio out of AudioFlinger\" into jb-mr1-dev"
    },
    {
      "commit": "83307bac03c27c1c344fd24fdfbabc2d0a63a29d",
      "tree": "3d8014fd5d1dc32bf9db8a0d0e0c7053739c36a7",
      "parents": [
        "63bfd7fe7d14fd083bebba3a230938e8d6f62fd5",
        "38f910bdfa1fb0665261eb60e0afdb4986c8934f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 11:40:42 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 30 11:40:42 2012 -0700"
      },
      "message": "am 38f910bd: am 23466a95: Merge \"Camera2: Require 2 JPEG thumbnail resolutions.\" into jb-mr1-dev\n\n* commit \u002738f910bdfa1fb0665261eb60e0afdb4986c8934f\u0027:\n  Camera2: Require 2 JPEG thumbnail resolutions.\n"
    },
    {
      "commit": "63bfd7fe7d14fd083bebba3a230938e8d6f62fd5",
      "tree": "fcbf0bc8b43c7371c55b289fde55d71480f4b496",
      "parents": [
        "6b3656fdcf11a57aea7dd6401c56a859654d51ea",
        "18246badacee54f5ea6836576baca44ccf12f4e9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 11:40:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 30 11:40:41 2012 -0700"
      },
      "message": "am 18246bad: am 5f00501d: Merge changes I7bef5694,Id38e2a52 into jb-mr1-dev\n\n* commit \u002718246badacee54f5ea6836576baca44ccf12f4e9\u0027:\n  Camera2: Move preview callback processing to its own thread.\n  Camera2: Move still capture processing to separate thread.\n"
    },
    {
      "commit": "2dd4bdd715f586d4d30cf90cc6fc2bbfbce60fe0",
      "tree": "d0f594b402b6d2a4de89386c30c3db4adab89894",
      "parents": [
        "0a24726a64ba1c50aa6ee1610de2d80602d49fe6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 29 11:10:32 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 10:53:37 2012 -0700"
      },
      "message": "Move libnbaio out of AudioFlinger\n\nlibnbaio is now a separate shared library from AudioFlinger, rather\nthan a static library used only by AudioFlinger.\n\nAudioBufferProvider interface is now also independent of AudioFlinger,\nmoved to include/media/\n\nChange-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b\n"
    },
    {
      "commit": "f128dc51c81e6b831806e0de505e4edbb02b7e71",
      "tree": "e394875bf4bc23a5bc1d34d814d2236c1f4861a3",
      "parents": [
        "d86a6880fe86bda21a9b53b240996fc410a512a5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 13:38:23 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:50:42 2012 -0700"
      },
      "message": "Camera2: Require 2 JPEG thumbnail resolutions.\n\nInclude (0,0) as a required thumbnail resolution, to allow turning off\nthumbnails.\n\nChange-Id: I3c4efe2d6a4f576a11ce5b75a3d573812a100b80\n"
    },
    {
      "commit": "d86a6880fe86bda21a9b53b240996fc410a512a5",
      "tree": "ab4ccaba3c5ba600dd273fb2fa310ea21407ae91",
      "parents": [
        "ea0d51b5ed0b474433b02414f9133b835f972569"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 11:34:14 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:50:42 2012 -0700"
      },
      "message": "Camera2: Move preview callback processing to its own thread.\n\nTo reduce delays for HAL callbacks, manage preview callbacks in their\nown thread.\n\nBug: 6243944\nChange-Id: I7bef56949ac889ffce4e031bf40291a771a46f3e\n"
    },
    {
      "commit": "ea0d51b5ed0b474433b02414f9133b835f972569",
      "tree": "66b873f5a3c2834a54a2ec16018bc6b6d2505206",
      "parents": [
        "6524b7e1e6aae7dc1fe650119ec4bcf96b5a3f6b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 01:25:43 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:50:41 2012 -0700"
      },
      "message": "Camera2: Move still capture processing to separate thread.\n\nTo avoid stalling HAL when it queues up new buffers for still capture,\nprocess still captures in a separate thread. Also move Camera2Heap to\nits own class so it can be used by the CaptureProcessor.\n\nBug: 6243944\nChange-Id: Id38e2a52367c0985812fcd4fd9af3ef90beef43f\n"
    },
    {
      "commit": "d64d2c9689582d32c75a783a27edaee6d1f12c18",
      "tree": "a3e7053c1de10f5cd83b7f83f91214de339789b4",
      "parents": [
        "776f67b81724314820b04fefeb83683d702c563c",
        "7016bf8e8741467428a64fd73a7036a60c67b5d7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:46:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 30 09:46:20 2012 -0700"
      },
      "message": "am 7016bf8e: am 6524b7e1: Merge \"Camera2: Factor out FrameProcessor.\" into jb-mr1-dev\n\n* commit \u00277016bf8e8741467428a64fd73a7036a60c67b5d7\u0027:\n  Camera2: Factor out FrameProcessor.\n"
    },
    {
      "commit": "a16733eeb9c40db4793bec408f29b4204e5f23b1",
      "tree": "2d6be1f74599089be1d4d778d02c45c50eec8494",
      "parents": [
        "2e19c3c02957208371cdd491e6342ea7ddb440d9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 23:41:56 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 14:45:07 2012 -0700"
      },
      "message": "Camera2: Factor out FrameProcessor.\n\nMove FrameProcessor to its own file, add necessary interfaces to\nCamera2Client.\n\nBug: 6243944\nChange-Id: I8d1b8280a65d2822461ebe6b6c9de17992b34276\n"
    },
    {
      "commit": "77a18b03fa63eb9aefe1c2deab3509b4788a1bf4",
      "tree": "9f8a4e85cb2460f3bbabcd5acc7aee76057d2c37",
      "parents": [
        "e902c0dfbd0d09142649f2405045212e18048513",
        "cb4d650a79d49f19e9271f843c1eaf4382337704"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 13:02:39 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 28 13:02:39 2012 -0700"
      },
      "message": "am cb4d650a: am eb941f9a: Merge \"Camera2: Factor out Camera2Client::Parameters\" into jb-mr1-dev\n\n* commit \u0027cb4d650a79d49f19e9271f843c1eaf4382337704\u0027:\n  Camera2: Factor out Camera2Client::Parameters\n"
    },
    {
      "commit": "2e19c3c02957208371cdd491e6342ea7ddb440d9",
      "tree": "ba960541c34212c11b10980f06e3afec8af35968",
      "parents": [
        "2352a815fe99a00702dd00c5d1c6cfdfadba10fd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Aug 26 09:29:28 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 01:29:02 2012 -0700"
      },
      "message": "Camera2: Factor out Camera2Client::Parameters\n\nMove the parameter structure and the various utility methods using it\nto its own class. Rename LockedParameters to SharedParameters to match\nthe Mutex naming convention.\n\nAlso move CameraMetadata to camera2 directory for organization.\n\nNo functional changes.\n\nBug: 6243944\nChange-Id: Ie60b535936ecfda9bf23361d52604abf515c83d0\n"
    },
    {
      "commit": "d03ba7973b355264abbfaf0a70b45821f5b62626",
      "tree": "46aadf7c97c5dfa678484ec9b97722c52a7538e6",
      "parents": [
        "1b0273c6a3c9a4cea859ac7a0a40338af232a6f5",
        "56df4108bb6b34602fb2fad4f073b710e4494071"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 12:24:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 27 12:24:14 2012 -0700"
      },
      "message": "am 56df4108: am 68536901: Merge \"Camera2: Fix metering/focusing region coordinates, minor bugs\" into jb-mr1-dev\n\n* commit \u002756df4108bb6b34602fb2fad4f073b710e4494071\u0027:\n  Camera2: Fix metering/focusing region coordinates, minor bugs\n"
    },
    {
      "commit": "1b0273c6a3c9a4cea859ac7a0a40338af232a6f5",
      "tree": "039d933b50dd58ffad1192582e1d548d0dd8bc1e",
      "parents": [
        "06dc8b353eede041c7e34766f6b64ec9ff04e6ce",
        "916e75f7eb10741c128c24ad241c5425dd3c9332"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 12:24:13 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 27 12:24:13 2012 -0700"
      },
      "message": "am 916e75f7: am 33ea2dff: Merge \"Camera2: Move frame processing to its own thread.\" into jb-mr1-dev\n\n* commit \u0027916e75f7eb10741c128c24ad241c5425dd3c9332\u0027:\n  Camera2: Move frame processing to its own thread.\n"
    },
    {
      "commit": "06dc8b353eede041c7e34766f6b64ec9ff04e6ce",
      "tree": "7c9f54fdd518d362d670024a62d6a334dad9f585",
      "parents": [
        "fa5f8f5a98d389c7581ac7236a9b5aa60a4f9694",
        "22b9ee8111c6a63190c5c15f8eac8cd5ec110912"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 10:38:51 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 27 10:38:51 2012 -0700"
      },
      "message": "am 22b9ee81: am 928da7e2: Merge \"Camera2: Use CameraMetadata wrapper class.\" into jb-mr1-dev\n\n* commit \u002722b9ee8111c6a63190c5c15f8eac8cd5ec110912\u0027:\n  Camera2: Use CameraMetadata wrapper class.\n"
    },
    {
      "commit": "f17b6cf6aa7548ca82e7fed96d71db7821103e57",
      "tree": "708a7173885143204487ce9b3b32d08df88ab34a",
      "parents": [
        "c8474b68e435cd840ba66791fb09e3da59f1d93c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Aug 25 17:12:18 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 09:56:20 2012 -0700"
      },
      "message": "Camera2: Fix metering/focusing region coordinates, minor bugs\n\n- Use active pixel array-based coordinates instead of the normalized\n  camera API coordinates for ae/awb/af regions\n- Fix calculation of UV stride for YV12 format\n\nBug: 6243944\nChange-Id: I80cbd989858b0a3cb75c6f536c145e16e44fdb25\n"
    },
    {
      "commit": "c8474b68e435cd840ba66791fb09e3da59f1d93c",
      "tree": "7c5ee6a72015cd28d37e9f564ac0f3a625a2a609",
      "parents": [
        "cab96a4a7a2900fa991ab77ae45ba8d4be97e054"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 24 16:30:44 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 09:56:08 2012 -0700"
      },
      "message": "Camera2: Move frame processing to its own thread.\n\nTo avoid blocking the HAL on possibly long-running binder calls,\nmove frame receiption and processing to its own thread.\n\nBug: 6243944\nChange-Id: I6385be4410b2f68e2331755027afc10c342187cf\n"
    },
    {
      "commit": "cab96a4a7a2900fa991ab77ae45ba8d4be97e054",
      "tree": "3622d5ac476753b4771d63dbd80a15e26f419dea",
      "parents": [
        "690921927f289da73556ea71c28981194af8ffcd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 24 11:29:22 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 09:14:50 2012 -0700"
      },
      "message": "Camera2: Use CameraMetadata wrapper class.\n\nWrap the use of the camera_metadata library inside a CameraMetadata\nclass to avoid memory leaks, improve code clarity, and increase type\nsafety.\n\nBug: 6243944\nChange-Id: I90ca592b5875e27e4c58ea1ca680582dc3c3b56a\n"
    },
    {
      "commit": "4aa73099649056a39bd37e090c1fedd07c1ccbd5",
      "tree": "c5029af24115fba7e9ea55afd77e2da96bf099ed",
      "parents": [
        "445e9d6da8a953492af126e2e1406dedda3b4343",
        "916ecd0acb4c12568d029c027a7626fc422bd84c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 22 11:09:58 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 22 11:09:58 2012 -0700"
      },
      "message": "am 916ecd0a: am 0c676cd0: Make tee sink compile OK again\n\n* commit \u0027916ecd0acb4c12568d029c027a7626fc422bd84c\u0027:\n  Make tee sink compile OK again\n"
    },
    {
      "commit": "0c676cd04ff15cc7eacf6144b4aead6deaccf60c",
      "tree": "aa78389096aa639ab092b38eb2e58db1a2971567",
      "parents": [
        "30e65e7e2ec01e13e45b5e38552a34d2fbb3f866"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 22 09:27:41 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 22 09:28:22 2012 -0700"
      },
      "message": "Make tee sink compile OK again\n\nChange-Id: Ie865ceeabaeb698a62c11eac9f96e303c44c28ae\n"
    },
    {
      "commit": "445e9d6da8a953492af126e2e1406dedda3b4343",
      "tree": "93150ac65653cba8a3a72ffae9d2054f78f8d6fa",
      "parents": [
        "ac07bcbb71469ee7b966f0eff159f436f46fdf5c",
        "d2cdedb4342cb016ef62d4b1a1d05a7d70c73e3a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 21 17:50:47 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 21 17:50:47 2012 -0700"
      },
      "message": "am d2cdedb4: am 30e65e7e: Camera2: Replace MediaConsumer with BufferItemConsumer.\n\n* commit \u0027d2cdedb4342cb016ef62d4b1a1d05a7d70c73e3a\u0027:\n  Camera2: Replace MediaConsumer with BufferItemConsumer.\n"
    },
    {
      "commit": "30e65e7e2ec01e13e45b5e38552a34d2fbb3f866",
      "tree": "f028cfdc6fc9d8309a5ba1cb0cb6eb020bbc3964",
      "parents": [
        "76dc8dacbb3e2a8c91cb526293270f9093cf8f8b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 21 13:30:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 17:45:25 2012 -0700"
      },
      "message": "Camera2: Replace MediaConsumer with BufferItemConsumer.\n\nGet rid of MediaConsumer, which was largely duplicated code, and\nreplace it with the simpler BufferItemConsumer.\n\nBug: 6243944\nChange-Id: I242d80c5fe39f2ee581ec8bb46f362997d994b0a\n"
    },
    {
      "commit": "ac07bcbb71469ee7b966f0eff159f436f46fdf5c",
      "tree": "90e3c2b31332da0016a47120a8317658b4925dac",
      "parents": [
        "b903dcc107c80feb5aac913a632516bef8fafac1",
        "6ada80824da25f3622dc497d332cb4ef7e56d845"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 21 17:44:24 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 21 17:44:24 2012 -0700"
      },
      "message": "am 6ada8082: am 76dc8dac: Camera2: Ignore NOT_FOUND errors for face detect mode on frame receipt.\n\n* commit \u00276ada80824da25f3622dc497d332cb4ef7e56d845\u0027:\n  Camera2: Ignore NOT_FOUND errors for face detect mode on frame receipt.\n"
    },
    {
      "commit": "76dc8dacbb3e2a8c91cb526293270f9093cf8f8b",
      "tree": "7d74c6729903711a4506d0cef8eadc252bccf5c6",
      "parents": [
        "cd3ed11664d16939f1f5763a896d7fc75dd3642e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 21 16:09:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 17:41:13 2012 -0700"
      },
      "message": "Camera2: Ignore NOT_FOUND errors for face detect mode on frame receipt.\n\nReduce log spamming due to incomplete implementations.\n\nChange-Id: I6eb9d657591bd5f1476dd8c96e4a00b8a03e2a5e\n"
    },
    {
      "commit": "e1fbc3c974e9802371d6c9cc47766543b7d31487",
      "tree": "ddfe08a94b008174581f4bd32720b252da168fbb",
      "parents": [
        "4324ecc672696040c3784effef330542d20a4d6d",
        "4b3d6d881be4caba2c2a3b7cbbcb36d618aeee43"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 20 16:31:49 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 20 16:31:49 2012 -0700"
      },
      "message": "am 4b3d6d88: am 164c75d4: Merge \"Camera2: Add support for preview callbacks\" into jb-mr1-dev\n\n* commit \u00274b3d6d881be4caba2c2a3b7cbbcb36d618aeee43\u0027:\n  Camera2: Add support for preview callbacks\n"
    },
    {
      "commit": "228a53805808a24cb19fcf13b1f0bdc2ed89bbe1",
      "tree": "96b41c80d1080b83e286d450daf161782fe66627",
      "parents": [
        "3cc89794d92b833feff15ca76dfa196cc886e43f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 13 12:16:06 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 20 16:08:00 2012 -0700"
      },
      "message": "Camera2: Add support for preview callbacks\n\n- Move camera overall state enum to be part of parameters\n- No longer use ICameraLock to guard access to overall state enum\n- Add callback flag management\n- Add callback stream and management\n\nBug: 6243944\n\nChange-Id: Ideb3dc523a23c05e440e429ebf838b1900a96573\n"
    },
    {
      "commit": "fcae2155ead72db76686b427565aaed71431ddd7",
      "tree": "94f07626e11e03f2f70c964e50aa34de85ff96fe",
      "parents": [
        "3f4e81f45d30986f62439ad8fadb6a468969555e",
        "9b9b8a9ece1c4e05f04f04b1fff63236fb3067f7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 16 17:24:28 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 16 17:24:28 2012 -0700"
      },
      "message": "am 9b9b8a9e: am 08ebb6b1: Merge \"Camera2: Fix SCENE_MODE\" into jb-mr1-dev\n\n* commit \u00279b9b8a9ece1c4e05f04f04b1fff63236fb3067f7\u0027:\n  Camera2: Fix SCENE_MODE\n"
    },
    {
      "commit": "3cc89794d92b833feff15ca76dfa196cc886e43f",
      "tree": "d9b54775638b0b4c6aec370485c9bc7f62e14244",
      "parents": [
        "ce088d274b4530fb813a030216d675b0e7262711"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 16 16:03:59 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 16 17:11:01 2012 -0700"
      },
      "message": "Camera2: Fix SCENE_MODE\n\nNow can set scene mode back to auto.\n\nBug: 7001465\n\nChange-Id: Ia25ba54d13de662bef5bf79957987513a7313c18\n"
    },
    {
      "commit": "ce7db89c3521f46522bca415bb771edce33af5f6",
      "tree": "5c7c557fa174ab1a8d59f4711460da48c7f09223",
      "parents": [
        "ea28831238e4c629b704f77c7e9d369bf2d3da5c",
        "86e2067c41b4ec0fdeae1c09a22610ffed9e2fe5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 14 11:58:40 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 14 11:58:40 2012 -0700"
      },
      "message": "am 86e2067c: am f363ec55: Merge \"Camera2: Skeleton for output frame processing, plus face detect\" into jb-mr1-dev\n\n* commit \u002786e2067c41b4ec0fdeae1c09a22610ffed9e2fe5\u0027:\n  Camera2: Skeleton for output frame processing, plus face detect\n"
    },
    {
      "commit": "8ce89d9e2b132bf58a030acec88acf0a998926a1",
      "tree": "00a9c5d1799d3ef29365c5c5596797dadf09a079",
      "parents": [
        "93b68548124ec9b01b9bf4ddf010afa06a503547"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 10 08:40:26 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 14 11:31:27 2012 -0700"
      },
      "message": "Camera2: Skeleton for output frame processing, plus face detect\n\n- Plumbing for processing output metadata frames from the HAL\n- Support for passing face detection metadata from said frames\n  to the application.\n- Switch calls on ICameraClient interface to use separate mutex to\n  avoid deadlock scenarios with messages being communicated from the\n  HAL to the camera user while calls from the user to the service are\n  active.\n\nBug: 6243944\n\nChange-Id: Id4cf821d9c5c3c0069be4c0f669874b6ff0d1ecd\n"
    },
    {
      "commit": "b45786becf800ae7c36939c7bc92f54fe8253147",
      "tree": "4ddda2dab5c6c55745dfd2896b1b967603fee9a6",
      "parents": [
        "2ef6e196198b3c2961e7fbf4637a70d6b38085ca",
        "a6a266d0e148f085ac1f83c4a36d3cf940c59e24"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:44:40 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 13 11:44:40 2012 -0700"
      },
      "message": "am a6a266d0: am 106e8a42: const methods\n\n* commit \u0027a6a266d0e148f085ac1f83c4a36d3cf940c59e24\u0027:\n  const methods\n"
    },
    {
      "commit": "2ef6e196198b3c2961e7fbf4637a70d6b38085ca",
      "tree": "373463abd597604e9fca9d0ce7e66725b486ac8a",
      "parents": [
        "bfb3fec3341889226c66d72ab926c7de9553a125",
        "0319e9e31cb7b0033a3026b0305b78e2d48c6ec8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:41:09 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 13 11:41:09 2012 -0700"
      },
      "message": "am 0319e9e3: am 0dbb3560: Simplify AudioFlinger::PlaybackThread::isValidSyncEvent()\n\n* commit \u00270319e9e31cb7b0033a3026b0305b78e2d48c6ec8\u0027:\n  Simplify AudioFlinger::PlaybackThread::isValidSyncEvent()\n"
    },
    {
      "commit": "106e8a42038f9e90d5ff97f8ab6f1a42258bde9e",
      "tree": "af631b5e756cf711d5d9d34db2dffe02cf64e7e3",
      "parents": [
        "0dbb356050d0db9e0043dd43045c1864a933332b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 02 13:37:12 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:38:18 2012 -0700"
      },
      "message": "const methods\n\nChange-Id: I92e32ee16274c032c9d0ce910676be2a7fa52471\n"
    },
    {
      "commit": "bfb3fec3341889226c66d72ab926c7de9553a125",
      "tree": "5320b0e366a97dd05a0853ba342d598a54cbb713",
      "parents": [
        "2917080826e0d7cec47e8ec8891e9ee1c2535d6a",
        "b2f2d1644b9d1a823fc3b78a59893652b080b35d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:38:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 13 11:38:12 2012 -0700"
      },
      "message": "am b2f2d164: am d23eedca: Discard setSyncEvent() return value\n\n* commit \u0027b2f2d1644b9d1a823fc3b78a59893652b080b35d\u0027:\n  Discard setSyncEvent() return value\n"
    },
    {
      "commit": "0dbb356050d0db9e0043dd43045c1864a933332b",
      "tree": "4fe3b2ab60f96691faaaf50f163c92946954e6de",
      "parents": [
        "d23eedca9b5a1812891c05d89850ab7ee707040d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 02 16:36:50 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:35:47 2012 -0700"
      },
      "message": "Simplify AudioFlinger::PlaybackThread::isValidSyncEvent()\n\nChange-Id: I3e4af69b929d4ca04afaac26c7e41c89fce25b9c\n"
    },
    {
      "commit": "2917080826e0d7cec47e8ec8891e9ee1c2535d6a",
      "tree": "9bfe82cfffb47a63bb365e8f38aeaf1379fb1a58",
      "parents": [
        "bf4c5d9f3bdb6fd3889afdeb0312d54f6f2e8de3",
        "f02356254262ec4a56e5ec1b1abefe1849ba9f9d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:33:42 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 13 11:33:42 2012 -0700"
      },
      "message": "am f0235625: am a9599049: Merge \"Replace hard-coded \"2\" by a constant and comment\" into jb-mr1-dev\n\n* commit \u0027f02356254262ec4a56e5ec1b1abefe1849ba9f9d\u0027:\n  Replace hard-coded \"2\" by a constant and comment\n"
    },
    {
      "commit": "d23eedca9b5a1812891c05d89850ab7ee707040d",
      "tree": "9f0c4309ded6a390c49bbe70590ea568a7167307",
      "parents": [
        "a959904968f1d300fe86334bf5099ae2dc39ee28"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 02 13:35:47 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:31:55 2012 -0700"
      },
      "message": "Discard setSyncEvent() return value\n\nsetSyncEvent() returns a status_t which is sometimes ignored.\nEmphasize this is intentional by casting to void.\n\nChange-Id: Ic614988347cba36bd2504d7ad321594a355b0d9d\n"
    },
    {
      "commit": "a959904968f1d300fe86334bf5099ae2dc39ee28",
      "tree": "bf95afcaab7a56642d1bf6b88ad2699eeaf5af04",
      "parents": [
        "bd828233d3eda966bf7145108dde74616abd97fb",
        "3ed292031dc50c56110cdadb1e3778117e3be76a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:30:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 13 11:30:17 2012 -0700"
      },
      "message": "Merge \"Replace hard-coded \"2\" by a constant and comment\" into jb-mr1-dev"
    },
    {
      "commit": "037ac53aac0f51f2ccfaaa91822365c1c73c4365",
      "tree": "6552c46685738bf5baf41d8708066b823aaf64f5",
      "parents": [
        "7f3a8e4cb89fadffe31a12859721866d5ca02353",
        "0efd035854ad2c8d20100a740e054c4bf7b3e9a4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 12:48:51 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 12:48:51 2012 -0700"
      },
      "message": "am 0efd0358: am fcfc61da: am ff4c64d6: am c64a1787: Merge \"Fix initialization of audio mixer track resources for MIPS.\"\n\n* commit \u00270efd035854ad2c8d20100a740e054c4bf7b3e9a4\u0027:\n  Fix initialization of audio mixer track resources for MIPS.\n"
    },
    {
      "commit": "fcfc61da927e98d18cdcb53da8fa0a8a32ee1422",
      "tree": "7dd8aadcffc35c98504f35d69fe467c0a8e8f397",
      "parents": [
        "7edbacf24e60c01e2d3b10715ec8f9cc2f55c11a",
        "ff4c64d6b1b58494a1b15f1a664e5c421d095d15"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 12:44:02 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 12:44:02 2012 -0700"
      },
      "message": "am ff4c64d6: am c64a1787: Merge \"Fix initialization of audio mixer track resources for MIPS.\"\n\n* commit \u0027ff4c64d6b1b58494a1b15f1a664e5c421d095d15\u0027:\n  Fix initialization of audio mixer track resources for MIPS.\n"
    },
    {
      "commit": "caab7b1686b754427243d18dfeac119658e83744",
      "tree": "a0f6e14ddd52e191095b513da9c8b29e4275b16a",
      "parents": [
        "a253877eb94ea4551b54bd91a1fbaed09dc0cb02",
        "c0810621b8db2b5ca3012e7ad87e4ccb074100d2"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 10 10:12:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 10:12:25 2012 -0700"
      },
      "message": "am c0810621: am 603b12ef: Camera2: Swap AF notification order, minor bug fix.\n\n* commit \u0027c0810621b8db2b5ca3012e7ad87e4ccb074100d2\u0027:\n  Camera2: Swap AF notification order, minor bug fix.\n"
    },
    {
      "commit": "a253877eb94ea4551b54bd91a1fbaed09dc0cb02",
      "tree": "a61e61afc959fc86c61d1532ffc6c0d0ae76b8b7",
      "parents": [
        "27cfc5b48ff6861e54c987ab1303894836c1e3b0",
        "1a1fb540cb1a6c6b33790fa08cc66d2f33b3eea4"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 10 10:12:23 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 10:12:23 2012 -0700"
      },
      "message": "am 1a1fb540: am 174181ee: Camera2: Add trigger support, and implement autofocus\n\n* commit \u00271a1fb540cb1a6c6b33790fa08cc66d2f33b3eea4\u0027:\n  Camera2: Add trigger support, and implement autofocus\n"
    },
    {
      "commit": "603b12efa16e7afb4e6c75f6b353216c83e8e135",
      "tree": "feb2ae7d5cfc866f62c331db8bc7b63c766b4065",
      "parents": [
        "174181eec57c963a2a17bd156d81c3f18b3ba75c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 08 09:25:58 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 10 09:24:52 2012 -0700"
      },
      "message": "Camera2: Swap AF notification order, minor bug fix.\n\nIn continuous AF modes, when an AF trigger/cancel is received in the\nmiddle of a passive AF scan, we want to send both an AF move stop\ncallback and an AF done callback. Swap the order of sending to\nsimplify life when the app just wants to pay attention to the AF done\ncallback during an active AF trigger.\n\nBug: 6243944\nChange-Id: I127d1675bc37ef828ef89c70b8cfab75f9428a2f\n"
    },
    {
      "commit": "174181eec57c963a2a17bd156d81c3f18b3ba75c",
      "tree": "9eea6b8bf3577f1f24d80b5d37d714fe6374a734",
      "parents": [
        "a59bf2c58311dfc28f46220383d66869e8f3f57f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 03 13:53:39 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 10 09:19:18 2012 -0700"
      },
      "message": "Camera2: Add trigger support, and implement autofocus\n\n- Add skeletons for all triggering actions into Camera2Device\n- Add support for AF triggers to HAL\n- Add support for AF notifications from HAL\n\nBug: 6243944\nChange-Id: I21025440849ae41f7083e1dcb72c99f8e5b2d5f7\n"
    },
    {
      "commit": "27cfc5b48ff6861e54c987ab1303894836c1e3b0",
      "tree": "4912c8c7c8b9fb4c8abec91e9f19f60be6e1920f",
      "parents": [
        "29152617e8bb445521b7fd2b1bcce88b9ecf48cc",
        "8ade1e7b505d6bc9721cdfe16d000ebd23aedbf2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 10 09:17:31 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 09:17:31 2012 -0700"
      },
      "message": "am 8ade1e7b: am a59bf2c5: Merge \"Update state only if calls to native window are successful\" into jb-mr1-dev\n\n* commit \u00278ade1e7b505d6bc9721cdfe16d000ebd23aedbf2\u0027:\n  Update state only if calls to native window are successful\n"
    },
    {
      "commit": "31d377b7622279034326fbd8b9803a738a39fb30",
      "tree": "e9bec6bf0588eb4fbb68a84a0a7720d20e90001c",
      "parents": [
        "9352d1168c09903d4ea27b695ef683316c544ae5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 09 17:43:46 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 09 17:46:53 2012 -0700"
      },
      "message": "Update state only if calls to native window are successful\n\nChange-Id: I7a20f3ca787e11ca9c8c904b257e3c8a4e529136\n"
    },
    {
      "commit": "3ed292031dc50c56110cdadb1e3778117e3be76a",
      "tree": "7aee0b1a5f518733eebcca574807d4de62066c06",
      "parents": [
        "0d27c65ddb5c968baa6db0c26e80f5c451bc52bc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 07 15:24:44 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 09 15:34:46 2012 -0700"
      },
      "message": "Replace hard-coded \"2\" by a constant and comment\n\nBug: 6679403\nChange-Id: I6c2701f9afedc26540dfad0b4e23348bbc4cb01a\n"
    },
    {
      "commit": "e75640c4b06a5715622eeffd8d204f811284fd8c",
      "tree": "ca1f546b5da34856c906a736c0eb7942bf9b3b22",
      "parents": [
        "f768ada0f9eeaaaf9847da7a432375aed4d95828",
        "638f936d4dd0d4afdc952988ac6b6a9dcbb577e7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 08 15:11:50 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 15:11:50 2012 -0700"
      },
      "message": "am 638f936d: am 0d27c65d: Tune the overrun correction\n\n* commit \u0027638f936d4dd0d4afdc952988ac6b6a9dcbb577e7\u0027:\n  Tune the overrun correction\n"
    },
    {
      "commit": "3c507a754788872bdc19aa651180447c5456f191",
      "tree": "ed6d6a85a55ad3ec4a5879ee4c2e4dabc8ff515a",
      "parents": [
        "0d8b4d87a797963c0549284251a179b66da56316",
        "acc5c275f6affe789184436b7d40fb1656a4596f"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 15:10:49 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 15:10:49 2012 -0700"
      },
      "message": "am acc5c275: am f6a35760: Merge \"AudioFlinger: fix timed audio\" into jb-mr1-dev\n\n* commit \u0027acc5c275f6affe789184436b7d40fb1656a4596f\u0027:\n  AudioFlinger: fix timed audio\n"
    },
    {
      "commit": "0d27c65ddb5c968baa6db0c26e80f5c451bc52bc",
      "tree": "62cdadd7e272d5f5f5f187767984ecb0c12b5080",
      "parents": [
        "e983aa4ff4d80af7702888e230b9aaa93a7b7e57"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 07 10:38:59 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 08 14:28:42 2012 -0700"
      },
      "message": "Tune the overrun correction\n\nThe new overrun correction is: if the previous write() cycle time is \u003c\n50% of expected, then sleep enough extra to make the total cycle time \u003d\n95% of expected.  This should help compensate for HAL implementations\nthat have uneven cycle times due to sample rate conversion.\n\nBug: 6881638\nChange-Id: I5ab58afdfceee7ac523177f021fbf62d743d571a\n"
    },
    {
      "commit": "2c3b2da3049627264b7c6b449a1622f002210f03",
      "tree": "f99fadbfef22ff3b7709a505623371c22e39566c",
      "parents": [
        "ee578c0330319f04a48bccbdb26b53fea0388d04"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Aug 02 17:08:54 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:28:15 2012 -0700"
      },
      "message": "AudioFlinger: fix timed audio\n\n(cherry picked from commit e20ac92c564a2f4e8123885807abdf0a78de0dd7)\n\n\u003e AudioFlinger: fix timed audio\n\u003e\n\u003e Addresses Bug 6900517.\n\u003e\n\u003e Finish up support for timed audio in the new FastMixer world.  Pay special\n\u003e attention to remaining lock-less and voluntary yield free on the FastMixer\n\u003e thread.  This fixes audio playback for Q on JB.\n\u003e\n\u003e Change-Id: Iaf815e58a1b1d0a0190051794bec8dc5c9231785\n\u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\nChange-Id: I9bd687acc345a05867af48e71116690fdb0ce1b5\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "ee578c0330319f04a48bccbdb26b53fea0388d04",
      "tree": "883382e0eabdcdff6c04a7df4b50d9cebffaf1c7",
      "parents": [
        "d8f178d613821c3f61a5c5e391eb275339e526a9"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Mon Jul 23 17:05:46 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:28:15 2012 -0700"
      },
      "message": "AudioFlinger: Better handling for master volume/mute\n\n(cherry picked from commit 93d906837e0e89aa1d9c913ab2b531b809f9bb9e)\n\n\u003e AudioFlinger: Better handling for master volume/mute\n\u003e\n\u003e Changes to address bug 6842827.\n\u003e\n\u003e When a HAL is loaded, cache whether or not the HAL supports\n\u003e set_master_volume/mute in the AudioHwDevice structure.  Store an\n\u003e AudioHwDevice in AudioStream(In|Out) structures instead of just an\n\u003e audio_he_device_t.  This give threads (PlaybackThreads in\n\u003e particular) access to the cached capabilities.\n\u003e\n\u003e When setting master volume/mute, change the system to always set the\n\u003e setting on all HAL which support it and also to set the setting on all\n\u003e PlaybackThreads.  Change PlaybackThreads to apply the setting at the\n\u003e in SW mix stage of the pipeline if its assigned HAL does not support\n\u003e the setting, or to ignore the setting of the assigned HAL does support\n\u003e it.\n\u003e\n\u003e Change-Id: Ia14137a30b4c3ee6f2d7ddcc8cba87bf5eec87f4\n\u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\nChange-Id: Icb6bc13764e100a2003eb1dee2231132ab287d98\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "d8f178d613821c3f61a5c5e391eb275339e526a9",
      "tree": "93038d06c70535eeebc364e9f86cedbec074802c",
      "parents": [
        "3478eaa23c19dbbe473be70e8f3cc0c904d2465c"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Fri Jul 20 14:51:35 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:28:15 2012 -0700"
      },
      "message": "Change audio flinger to user HAL master mute if available\n\n(cherry picked from commit 91de9b56282d126ffb36344266af5fee3cefcfdd)\n\n\u003e Change audio flinger to user HAL master mute if available\n\u003e\n\u003e Hand merge from ics-aah\n\u003e\n\u003e \u003e Change audio flinger to user HAL master mute if available: DO NOT MERGE\n\u003e \u003e\n\u003e \u003e Replicate the pattern used for HAL master volume support to make use\n\u003e \u003e of master mute support if the HAL supports it.  This is part of the\n\u003e \u003e change needed to address bug 6828363.  Because of the divergences\n\u003e \u003e between ICS and master, this change will need to be merged by hand.\n\u003e \u003e\n\u003e \u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\u003e \u003e Change-Id: I6d83be524021d273d093bcb117b8f2fe57c23685\n\u003e\n\u003e Change-Id: I32280582905c969aaec2bb166ec5c61df82d737a\n\u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\nChange-Id: I5cd709187221d307fe25c5117ccaadca5f6b197b\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "0ae81b65f28ebbd2d713d66ef59e7cf0d99e60a1",
      "tree": "22c74d0e15568fa6982e17cd8a1156d9c13a6339",
      "parents": [
        "b57981c665cd5e369e880dc942d6adcbb746547c",
        "cb6687718a8952afb26e5084da3f23ac972b04a1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 06 16:01:47 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 06 16:01:47 2012 -0700"
      },
      "message": "am cb668771: am 97197157: Camera2: Reduce redundant device dumpsys\n\n* commit \u0027cb6687718a8952afb26e5084da3f23ac972b04a1\u0027:\n  Camera2: Reduce redundant device dumpsys\n"
    },
    {
      "commit": "97197157cf619fb716710eb67915fdfa93502750",
      "tree": "2226298f6d10b7744b1808308a89b77f03653e3e",
      "parents": [
        "8da4cd7d706d9f551bf2d08cd8b61907a10cd38d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 06 14:25:19 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 06 14:27:11 2012 -0700"
      },
      "message": "Camera2: Reduce redundant device dumpsys\n\nBug: 6243944\nChange-Id: Ifdc15ee62156a7adfd133f0d0d8b772dd1e9d5a3\n"
    },
    {
      "commit": "ce818f883a094483f823cffd45106e1603ac5805",
      "tree": "a352c67d0eacc19da2c51d35a6882835de418507",
      "parents": [
        "c01e93e4534ddb45c9897192c2ef3a1be8c51943",
        "da608d59a12509835ecd097ecc0abb2f7ab16a26"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Aug 05 16:14:03 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Aug 05 16:14:03 2012 -0700"
      },
      "message": "am da608d59: am 8da4cd7d: Fix a deadlock in commandSetVideoBufferCountL()\n\n* commit \u0027da608d59a12509835ecd097ecc0abb2f7ab16a26\u0027:\n  Fix a deadlock in commandSetVideoBufferCountL()\n"
    },
    {
      "commit": "8da4cd7d706d9f551bf2d08cd8b61907a10cd38d",
      "tree": "d859052f6839fedf654ce8cea7dea2d567ad710f",
      "parents": [
        "d9f0253353db0b859c0ca2b32eddc24e3e9d4d86"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Aug 04 19:58:07 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Aug 04 20:46:14 2012 -0700"
      },
      "message": "Fix a deadlock in commandSetVideoBufferCountL()\n\no The lock to be acquired in recordingEnabled() has aleady been acquired in sendCommand()\n  before the call to commandSetVideoBufferCountL().\n\nChange-Id: I664d51ef449c9eb3576d5d56f73f29c98444ff3f\n"
    },
    {
      "commit": "c01e93e4534ddb45c9897192c2ef3a1be8c51943",
      "tree": "7cfce17210e424bfba8530ed5c26461031e6f2a0",
      "parents": [
        "98f12500dbcb34335392f5177048b7b0f69741ab",
        "7dad0e96cf7a9e9933aeac69623be8c31497e656"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 03 23:25:34 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 03 23:25:34 2012 -0700"
      },
      "message": "am 7dad0e96: am d9f02533: Merge \"Camera2: Add notification handling skeleton.\" into jb-mr1-dev\n\n* commit \u00277dad0e96cf7a9e9933aeac69623be8c31497e656\u0027:\n  Camera2: Add notification handling skeleton.\n"
    },
    {
      "commit": "160d4af9d933fe9461bb213e5876fc5c8c2178c2",
      "tree": "b69bfc44345106f724d8fe5febd48762720fe164",
      "parents": [
        "36cdfb185877a7f573621d19ed2b2e1cac13d62e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 03 09:40:16 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 03 14:31:38 2012 -0700"
      },
      "message": "Camera2: Add notification handling skeleton.\n\nWire up skeleton methods for handling all currently defined\nnotifications.\n\nBug: 6243944\nChange-Id: I84b3f60111416ba6fbcdb086f1310225142e2b70\n"
    },
    {
      "commit": "27644634ea54d48863e765d87e24d60153a6e795",
      "tree": "23b16a7935ee56467a3f4d10fbee8877e6fc6223",
      "parents": [
        "4b5412b6fe136a7391076c53eea6974c664ead91",
        "8e888ec75718db90d2e6b7e0ab3bea814e2dd3f0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 03 10:10:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 03 10:10:00 2012 -0700"
      },
      "message": "am 8e888ec7: am 36cdfb18: Camera2: Break out individual commands\n\n* commit \u00278e888ec75718db90d2e6b7e0ab3bea814e2dd3f0\u0027:\n  Camera2: Break out individual commands\n"
    },
    {
      "commit": "36cdfb185877a7f573621d19ed2b2e1cac13d62e",
      "tree": "dbb4713666c0f6cd1de3b1400325fada0fe05c1d",
      "parents": [
        "983cf231ab2d176a14595cdae46ff1b0c239af47"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:34:15 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:49:48 2012 -0700"
      },
      "message": "Camera2: Break out individual commands\n\n- List all commands that need implementing in sendCommand\n- Write skeleton methods for each one\n- Implements playRecordingSound command\n- Partially implements enableShutterSound command\n\nBug: 6243944\nChange-Id: I7866df75adca09483f407d3a4f630e847dbc7721\n"
    },
    {
      "commit": "4b5412b6fe136a7391076c53eea6974c664ead91",
      "tree": "faa2244bb1f59ec711247d1e45ee6048c01be15d",
      "parents": [
        "76a794f66595390c21639b6af89a6efbfd564e06",
        "903f037ae7e6161818cb3b2d662fd380a9d02499"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 02 17:24:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 02 17:24:14 2012 -0700"
      },
      "message": "am 903f037a: am 983cf231: Dynamically configure the number of video buffers used by camera source, if supported\n\n* commit \u0027903f037ae7e6161818cb3b2d662fd380a9d02499\u0027:\n  Dynamically configure the number of video buffers used by camera source, if supported\n"
    },
    {
      "commit": "983cf231ab2d176a14595cdae46ff1b0c239af47",
      "tree": "01942a13a082e2116f8df5dbaca1a902ac52a299",
      "parents": [
        "15d7245ed2193e4956ea87998321cbc16a3b0a46"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 01 16:39:55 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 02 17:06:05 2012 -0700"
      },
      "message": "Dynamically configure the number of video buffers used by camera source, if supported\n\no related-to-bug: 6920805\n\nChange-Id: I413bb50954cc84e32ed40bcb713842dc7b58e2b6\n"
    },
    {
      "commit": "76a794f66595390c21639b6af89a6efbfd564e06",
      "tree": "90c4ca73164311eeb3b45603960080d0a19a369a",
      "parents": [
        "4d6a71d41a6bef57cc9ab81a95cfa975241486c8",
        "22c875ae3b06597dabf82e6464a36a82967a4e83"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:04:06 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 02 17:04:06 2012 -0700"
      },
      "message": "am 22c875ae: am 15d7245e: Merge \"Camera2: Fix exposure compensation step value.\" into jb-mr1-dev\n\n* commit \u002722c875ae3b06597dabf82e6464a36a82967a4e83\u0027:\n  Camera2: Fix exposure compensation step value.\n"
    },
    {
      "commit": "4d6a71d41a6bef57cc9ab81a95cfa975241486c8",
      "tree": "a781fd06952d4d8f71d480650326a19b95bfb3c6",
      "parents": [
        "27170d87c8fa4a730eb246868539660a060d0c4a",
        "3b1069c5e5b70cefc185d7ea498b15e8b12e8807"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:04:03 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 02 17:04:03 2012 -0700"
      },
      "message": "am 3b1069c5: am 1bf1c000: Merge \"Camera2: Minor logging updates.\" into jb-mr1-dev\n\n* commit \u00273b1069c5e5b70cefc185d7ea498b15e8b12e8807\u0027:\n  Camera2: Minor logging updates.\n"
    },
    {
      "commit": "27170d87c8fa4a730eb246868539660a060d0c4a",
      "tree": "213e1dd390af00df6f0c4a9524b074490f98f312",
      "parents": [
        "24c80c49eb55c7727af54d3a70206fd5341abe41",
        "028488ecb9bc16482e94beca8e27a2d409126648"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:04:02 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 02 17:04:02 2012 -0700"
      },
      "message": "am 028488ec: am 4a76bcea: Merge \"Camera2: Check PIDs to ensure camera exclusive access.\" into jb-mr1-dev\n\n* commit \u0027028488ecb9bc16482e94beca8e27a2d409126648\u0027:\n  Camera2: Check PIDs to ensure camera exclusive access.\n"
    },
    {
      "commit": "15d7245ed2193e4956ea87998321cbc16a3b0a46",
      "tree": "18f36b8fc450f4a0784bade5771b5bc20fbe9c94",
      "parents": [
        "1bf1c000be916b5e3388ef9039beedda01fa2bdd",
        "d6f8e08a9ca7f2fe41717acd351426a7ecb0c175"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:01:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 17:01:07 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix exposure compensation step value.\" into jb-mr1-dev"
    },
    {
      "commit": "1bf1c000be916b5e3388ef9039beedda01fa2bdd",
      "tree": "d45f3a7e978671fe9097bc93f8c8ff42693bee0a",
      "parents": [
        "4a76bcea7a23356185c4fa9491d5a73256b80cd0",
        "750d74b0b64470dccdb7310bf33e0d0e582f2059"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:00:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 17:00:20 2012 -0700"
      },
      "message": "Merge \"Camera2: Minor logging updates.\" into jb-mr1-dev"
    },
    {
      "commit": "4a76bcea7a23356185c4fa9491d5a73256b80cd0",
      "tree": "ff109075175e3c1a8200fea09b2d3b28129ad21f",
      "parents": [
        "ac9b96003da5dad9ae6fc8d054d7b24ef24693fe",
        "3a609147811105d40766f8f8f5904bf71cb123cb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:59:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 16:59:41 2012 -0700"
      },
      "message": "Merge \"Camera2: Check PIDs to ensure camera exclusive access.\" into jb-mr1-dev"
    },
    {
      "commit": "d6f8e08a9ca7f2fe41717acd351426a7ecb0c175",
      "tree": "721dabfcc1ce1ea6dba72ce475e8940965a274be",
      "parents": [
        "750d74b0b64470dccdb7310bf33e0d0e582f2059"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:00:35 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:51:48 2012 -0700"
      },
      "message": "Camera2: Fix exposure compensation step value.\n\nFix floating-point divide error.\n\nChange-Id: I61b140c1090d6773b9b530d19a2ec03cf784b85e\n"
    },
    {
      "commit": "750d74b0b64470dccdb7310bf33e0d0e582f2059",
      "tree": "b03bcb7d01335be267b46e1851e5e0c392fff4d9",
      "parents": [
        "3a609147811105d40766f8f8f5904bf71cb123cb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 01 09:05:04 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:51:48 2012 -0700"
      },
      "message": "Camera2: Minor logging updates.\n\nImprove double-verbose logging, report a few more errors/startup\nconditions.\n\nBug: 6243944\nChange-Id: I2e814f786b35f57b63220d1b7c39f39cb6c3ace3\n"
    },
    {
      "commit": "3a609147811105d40766f8f8f5904bf71cb123cb",
      "tree": "27cc2e751e60d6daf4960efe47a3bc035376887c",
      "parents": [
        "428b77a2b94b74665a47375b3fdb893b98d71269"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 31 14:36:26 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:51:48 2012 -0700"
      },
      "message": "Camera2: Check PIDs to ensure camera exclusive access.\n\nBug: 6243944\nChange-Id: I4b36af2c92b7266a4aa896a2b048c56b6406cb9a\n"
    },
    {
      "commit": "22651d2b681f3f75e2a1e73daede1b94e998cc6f",
      "tree": "292e80eb8ca1accf9c62bac46e61dbac57075723",
      "parents": [
        "bdce245042dab808cb9062d9161256f01b03a79c",
        "174e8f67cf909ca293d45face46bd0a65199e211"
      ],
      "author": {
        "name": "Patric Frederiksen",
        "email": "patric.frederiksen@sonymobile.com",
        "time": "Thu Aug 02 15:08:11 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 02 15:08:11 2012 -0700"
      },
      "message": "am 174e8f67: Shutter sound is heard at the end of the recorded video\n\n* commit \u0027174e8f67cf909ca293d45face46bd0a65199e211\u0027:\n  Shutter sound is heard at the end of the recorded video\n"
    },
    {
      "commit": "3c0a0e8541846427db0587c2fffb90f60ee680b0",
      "tree": "5ec5cfb29970fe635f34145ba9642f96fd91e9b7",
      "parents": [
        "ffd99cb795c92caee7f4bd0b26af9ae37b100fc3"
      ],
      "author": {
        "name": "Paul Lind",
        "email": "plind@mips.com",
        "time": "Wed Aug 01 18:49:49 2012 -0700"
      },
      "committer": {
        "name": "Paul Lind",
        "email": "plind@mips.com",
        "time": "Wed Aug 01 18:49:49 2012 -0700"
      },
      "message": "Fix initialization of audio mixer track resources for MIPS.\n\nThe value 1 \u003c\u003c 32 (maxNumTracks defaults to 32) is surprisingly not defined\nin C, and differs on MIPS than the other arch.\n\nTherefore the track resources were not initialized properly, resulting\nin failure to play any audio.\n\nThe fix allows the mConfiguredNames bitmask to be correctly set to all\n1\u0027s in the 32-track case, for all arch.\n\nChange-Id: Ied3e1305952e9567602e2cd76c5ef3acb0809ee0\nSigned-off-by: Paul Lind \u003cplind@mips.com\u003e\n"
    },
    {
      "commit": "174e8f67cf909ca293d45face46bd0a65199e211",
      "tree": "dd3f273e129ea9864e87d4df79eb78dab157744e",
      "parents": [
        "b2676a2920c6514ae9405cc56dfa2db49f096016"
      ],
      "author": {
        "name": "Patric Frederiksen",
        "email": "patric.frederiksen@sonymobile.com",
        "time": "Tue Jul 10 13:38:35 2012 +0200"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 01 16:25:51 2012 -0700"
      },
      "message": "Shutter sound is heard at the end of the recorded video\n\nOn fast hardware, which is more common, the shutter sound is\nplayed and recorded before video recording is stopped.\n\nBefore we call play shutter sound before calling stop recording.\nWith this fix we call play shutter sound after calling stop recording.\n\nChange-Id: I06a3e65fd2700f1d2457fea5ff0f64500eac436f\n"
    },
    {
      "commit": "9007619d1f786a75dae0fff31feadbf9aed9cfb8",
      "tree": "dd3f273e129ea9864e87d4df79eb78dab157744e",
      "parents": [
        "44cda3a4e7ca3de0db9cb49145def3803b03ebb4",
        "35f859b338c0922094ecfc37fb8157530df6b305"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 01 16:15:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 01 16:15:36 2012 -0700"
      },
      "message": "Merge \"Shutter sound is heard at the end of the recorded video\" into jb-mr1-dev"
    },
    {
      "commit": "35f859b338c0922094ecfc37fb8157530df6b305",
      "tree": "62fc06cc2c07cd7e7a559f0f3b744ce30a24fdd1",
      "parents": [
        "25f0d7ba1987de61c75f8c68b19de48e0ad9736c"
      ],
      "author": {
        "name": "Patric Frederiksen",
        "email": "patric.frederiksen@sonymobile.com",
        "time": "Tue Jul 10 13:38:35 2012 +0200"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 01 15:54:55 2012 -0700"
      },
      "message": "Shutter sound is heard at the end of the recorded video\n\nOn fast hardware, which is more common, the shutter sound is\nplayed and recorded before video recording is stopped.\n\nBefore we call play shutter sound before calling stop recording.\nWith this fix we call play shutter sound after calling stop recording.\n\nChange-Id: I06a3e65fd2700f1d2457fea5ff0f64500eac436f\n"
    },
    {
      "commit": "bdce245042dab808cb9062d9161256f01b03a79c",
      "tree": "b904ef8480cf657e3717c5142a26f4ba5af38caf",
      "parents": [
        "ee0e8696befb9d229eebc180060d728849db1b69",
        "b2676a2920c6514ae9405cc56dfa2db49f096016"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 14:52:59 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 01 14:52:59 2012 -0700"
      },
      "message": "am b2676a29: am 44cda3a4: Don\\\u0027t wait for presentation complete if terminated\n\n* commit \u0027b2676a2920c6514ae9405cc56dfa2db49f096016\u0027:\n  Don\u0027t wait for presentation complete if terminated\n"
    },
    {
      "commit": "44cda3a4e7ca3de0db9cb49145def3803b03ebb4",
      "tree": "2ed0b1d13971820bd5dcd80ece0f7ab05150e2a8",
      "parents": [
        "3788a393bbcadebf38ac01ef9b2ecc46f07db011"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 09:40:18 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 10:46:10 2012 -0700"
      },
      "message": "Don\u0027t wait for presentation complete if terminated\n\nChange-Id: Ia04cf6c620693457dca87b4ffea5dd0fe71efdce\n"
    },
    {
      "commit": "d4b5f7213911636a26a43127eb6ea139f403f558",
      "tree": "95a3484c6672131c15cc8541815b2f0a1db9171c",
      "parents": [
        "20d36d0c2f4ed99be6d9c0973ac4e833b04576ec",
        "8d058d89fd4d46bbacbb8f2dc9bd52e94cd69e56"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 09:52:40 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 01 09:52:40 2012 -0700"
      },
      "message": "am 8d058d89: am 5665fde6: Merge \"Start adding support for multiple record tracks\" into jb-mr1-dev\n\n* commit \u00278d058d89fd4d46bbacbb8f2dc9bd52e94cd69e56\u0027:\n  Start adding support for multiple record tracks\n"
    },
    {
      "commit": "5665fde6d4520c8e6cec81a4e1e9c86f1537f689",
      "tree": "774c48425035787b816a743cefd39ba86d1a2145",
      "parents": [
        "428b77a2b94b74665a47375b3fdb893b98d71269",
        "510a3d6b8018a77683dac466127ffd0af34bef6e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 09:48:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 01 09:48:27 2012 -0700"
      },
      "message": "Merge \"Start adding support for multiple record tracks\" into jb-mr1-dev"
    },
    {
      "commit": "510a3d6b8018a77683dac466127ffd0af34bef6e",
      "tree": "1f3410b20a4dcbe77dd9b40800bdd569ceaff384",
      "parents": [
        "25f0d7ba1987de61c75f8c68b19de48e0ad9736c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 16 14:24:34 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 09:11:11 2012 -0700"
      },
      "message": "Start adding support for multiple record tracks\n\nReplace single mTrack by vector mTracks.\nDestroy record tracks similarly to playback tracks.\nDump all record tracks, in addition to the active record track.\n\nChange-Id: I503f10b51928b6b92698fe1c51a9ddd3215df1f4\n"
    },
    {
      "commit": "20d36d0c2f4ed99be6d9c0973ac4e833b04576ec",
      "tree": "2b4c7755f639c657f2911521ab900f1c061b90cd",
      "parents": [
        "1b88304c41db6efc43869cfd978a633a7b30f433",
        "f0f4a0abe917fc9f18566fd67ef43e79b711134f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 31 16:51:48 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 31 16:51:48 2012 -0700"
      },
      "message": "am f0f4a0ab: am 428b77a2: Camera2: Improve formatting of debugging dump\n\n* commit \u0027f0f4a0abe917fc9f18566fd67ef43e79b711134f\u0027:\n  Camera2: Improve formatting of debugging dump\n"
    },
    {
      "commit": "1b88304c41db6efc43869cfd978a633a7b30f433",
      "tree": "3850e6060c279d9682741b64e6a201f456036b40",
      "parents": [
        "c4202aeb6ef9d0aa334c7c2b8f76dd815760b1d6",
        "637a3676b1936d5202da5be6d38ccda5e6ac4aae"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 31 16:51:47 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 31 16:51:47 2012 -0700"
      },
      "message": "am 637a3676: am 836b81f3: Camera2: Improve threading safety\n\n* commit \u0027637a3676b1936d5202da5be6d38ccda5e6ac4aae\u0027:\n  Camera2: Improve threading safety\n"
    },
    {
      "commit": "428b77a2b94b74665a47375b3fdb893b98d71269",
      "tree": "63a1133d9c9d92592786a3d0680ac197f14daab8",
      "parents": [
        "836b81f3c5a5bacb800f698f90ded6bd6e6bc5ce"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 30 09:55:30 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 31 14:53:42 2012 -0700"
      },
      "message": "Camera2: Improve formatting of debugging dump\n\nBug: 6243944\nChange-Id: Id8730357f3adcd96923132f9f702e296e0dfd357\n"
    },
    {
      "commit": "836b81f3c5a5bacb800f698f90ded6bd6e6bc5ce",
      "tree": "f3a29d05d3d6c8b49a46887a20d268641419e48e",
      "parents": [
        "25f0d7ba1987de61c75f8c68b19de48e0ad9736c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 27 11:35:21 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 31 14:53:42 2012 -0700"
      },
      "message": "Camera2: Improve threading safety\n\nMerge mutex lock for accessing internal parameters with the parameter\nstructure, forcing a lock to be held before the parameters can be accessed.\n\nBug: 6243944\nChange-Id: I86e44f395de0d80ff7c3ff3530f25b60015512d2\n"
    },
    {
      "commit": "05144f1d68c5240a1fedd42ac83814f3ecf70dfd",
      "tree": "06d978724b8e3423f7a7086547fd49e1726acd29",
      "parents": [
        "93d906837e0e89aa1d9c913ab2b531b809f9bb9e",
        "52008f821a5202502a82a8ba2c024e69bd336350"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 30 10:55:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 30 10:55:59 2012 -0700"
      },
      "message": "Merge \"Share local time frequency for all tracks \u0026 mixers\""
    },
    {
      "commit": "93d906837e0e89aa1d9c913ab2b531b809f9bb9e",
      "tree": "9e0fdd3b9cb2fb72263ca425e6cbd9403ebee372",
      "parents": [
        "91de9b56282d126ffb36344266af5fee3cefcfdd"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Mon Jul 23 17:05:46 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Mon Jul 30 10:36:28 2012 -0700"
      },
      "message": "AudioFlinger: Better handling for master volume/mute\n\nChanges to address bug 6842827.\n\nWhen a HAL is loaded, cache whether or not the HAL supports\nset_master_volume/mute in the AudioHwDevice structure.  Store an\nAudioHwDevice in AudioStream(In|Out) structures instead of just an\naudio_he_device_t.  This give threads (PlaybackThreads in\nparticular) access to the cached capabilities.\n\nWhen setting master volume/mute, change the system to always set the\nsetting on all HAL which support it and also to set the setting on all\nPlaybackThreads.  Change PlaybackThreads to apply the setting at the\nin SW mix stage of the pipeline if its assigned HAL does not support\nthe setting, or to ignore the setting of the assigned HAL does support\nit.\n\nChange-Id: Ia14137a30b4c3ee6f2d7ddcc8cba87bf5eec87f4\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "91de9b56282d126ffb36344266af5fee3cefcfdd",
      "tree": "0c934d29385a85c6e0d020398905a7a3dd47e69a",
      "parents": [
        "8bdac969e500bc61320a216539e840fe8ad78bb4"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Fri Jul 20 14:51:35 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Mon Jul 30 10:36:27 2012 -0700"
      },
      "message": "Change audio flinger to user HAL master mute if available\n\nHand merge from ics-aah\n\n\u003e Change audio flinger to user HAL master mute if available: DO NOT MERGE\n\u003e\n\u003e Replicate the pattern used for HAL master volume support to make use\n\u003e of master mute support if the HAL supports it.  This is part of the\n\u003e change needed to address bug 6828363.  Because of the divergences\n\u003e between ICS and master, this change will need to be merged by hand.\n\u003e\n\u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\u003e Change-Id: I6d83be524021d273d093bcb117b8f2fe57c23685\n\nChange-Id: I32280582905c969aaec2bb166ec5c61df82d737a\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "0ec23ce0d1ff79566c402bc30df3074f6e25a22b",
      "tree": "8925eca2b9f4b9bccb7fa4d032ab80070179912d",
      "parents": [
        "e4e2a37dbe2a4d923232305549101f779a2e3638"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 10 12:56:08 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 27 14:54:48 2012 -0700"
      },
      "message": "Clean up start() parameters\n\nDocument where int is used instead of AudioSystem::sync_event_t\n  (probably because of a header file dependency).\nTrackBase::start() and RecordTrack::start() don\u0027t need default parameters.\n\nChange-Id: I82f4a4d078be900f3aa4bd926697e32f5ed68ec8\n"
    },
    {
      "commit": "e4e2a37dbe2a4d923232305549101f779a2e3638",
      "tree": "7038669149e9478745fbb5e05f320cee8fd5cb88",
      "parents": [
        "3dca4c7a5622fc6aa03397d749c4b4c1201cc4f3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 23 12:55:09 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 27 14:49:58 2012 -0700"
      },
      "message": "Extract methods to enter standby and standby mode\n\nAlso move initial standby from to threadLoop to avoid a race condition.\n\nChange-Id: I65afca83c36fb41b983b3b1d3dab35d4029560e3\n"
    },
    {
      "commit": "52008f821a5202502a82a8ba2c024e69bd336350",
      "tree": "5daaddaa46d47bec27af0bc5350f414452710b00",
      "parents": [
        "0a7af18d0308295405491f86603e3d119450aba0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Mar 18 09:34:41 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 25 18:49:08 2012 -0700"
      },
      "message": "Share local time frequency for all tracks \u0026 mixers\n\nChange-Id: I5e6f0e371f728a5225c2fa6f778c109449d33602\n"
    },
    {
      "commit": "28567defef0ba95cb38f2d80eba30b01db207a77",
      "tree": "4a8ca4bafe5e754fe76266c0a947de84624d94f7",
      "parents": [
        "82f517ba654ca4891b82ebe604dbd004b66a7b2d",
        "803cbf6190f16f7b2c43cbc51d0df21ec888abdd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 25 16:09:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 25 16:09:34 2012 -0700"
      },
      "message": "Merge \"Camera2: Use more buffers for video encoding.\""
    },
    {
      "commit": "82f517ba654ca4891b82ebe604dbd004b66a7b2d",
      "tree": "3f4daa2e10e5bd1c69f6b0de86b5227ee8f728fe",
      "parents": [
        "0a7af18d0308295405491f86603e3d119450aba0",
        "78822d73af1e7f6b8b297fc7f98ef7f8257cc10a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 25 16:08:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 25 16:08:40 2012 -0700"
      },
      "message": "Merge \"Camera2: Revamp recording support to allow opaque formats.\""
    }
  ],
  "next": "803cbf6190f16f7b2c43cbc51d0df21ec888abdd"
}
