)]}'
{
  "log": [
    {
      "commit": "657ff61389d7316f798d4abe03efac56fd528d91",
      "tree": "9481cad78a4b2adeb25587c3838ad4357ad2da54",
      "parents": [
        "5e0e2316578b8b9eccdf4002951d6e9cd96adaac"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 07 11:58:24 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 07 11:58:24 2014 -0700"
      },
      "message": "audio policy: cleanup AudioPolicyService destructor\n\nNo need to clear strong pointers in the destuctor.\nAdd explicit exit() command to mOutputCommandThread.\n\nChange-Id: I60bb248fe6a20bfd8a55358ef139692b93df0238\n"
    },
    {
      "commit": "5e0e2316578b8b9eccdf4002951d6e9cd96adaac",
      "tree": "49bfe18b49271319afbd2a3a7bf55c5995061ee9",
      "parents": [
        "8e085cbeccb1138d52a0a423af02e6ab41b4fee4",
        "d46929666d7e4b1cad45afd7dcb883ec4dd2d49f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 07 15:58:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 07 15:58:07 2014 +0000"
      },
      "message": "Merge \"audio policy: update from libhardware_legacy\""
    },
    {
      "commit": "14136039b752376240698e8b422c76de01488bc5",
      "tree": "9aa7593033b5f87a4b8a28e24392188260c36a72",
      "parents": [
        "7ebe2c64dea42a3fd4de34ccb877d23b7a4e8076",
        "13c878f07fb36a49aade20cec684ed8e12724751"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue May 06 18:37:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 06 18:37:54 2014 +0000"
      },
      "message": "Merge \"Camera3: fix missing string in logging code\""
    },
    {
      "commit": "13c878f07fb36a49aade20cec684ed8e12724751",
      "tree": "d51f85fe8577b9cd06bd269dc1fae30b8b38f053",
      "parents": [
        "fa366b2a32294ea22bf7b6f237cdbbd715cbbeb9"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue May 06 11:33:52 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue May 06 11:33:52 2014 -0700"
      },
      "message": "Camera3: fix missing string in logging code\n\nChange-Id: I15da6bb8b586b4641837f42d2145530fb45dd0bd\n"
    },
    {
      "commit": "d46929666d7e4b1cad45afd7dcb883ec4dd2d49f",
      "tree": "7955b56d436b8856b6164cb37e16bdfbe2ad81c4",
      "parents": [
        "7ebe2c64dea42a3fd4de34ccb877d23b7a4e8076"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon May 05 18:13:44 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 06 10:40:14 2014 -0700"
      },
      "message": "audio policy: update from libhardware_legacy\n\nMerge changes made to AudioPolicyManagerBase in libhardware_legacy\nsince it was forked here:\n\nfd61179 Update policy handling for USB inputs\nc7b6e3c audio: allow compiling for 64-bit\nc26f454 Initial implementation of USB Audio output.\na7b1bc9 Audio policy is 32-bit only\n26101ad audio policy : add AUDIO_DEVICE_IN_USB_DEVICE to sDeviceNameToEnumTable\n\nChange-Id: I22bc883c20603a6598c6ee3ded636e9cc4d9ec03\n"
    },
    {
      "commit": "7ebe2c64dea42a3fd4de34ccb877d23b7a4e8076",
      "tree": "aba8cbdf008c711cc6e11109e5b15f9f47ac4e52",
      "parents": [
        "dfa829c3ca81fcd2eecaabfff630ac0f41453731",
        "711719885d7563068579abf347c366cf6bc906f5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 06 15:35:34 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 06 15:35:34 2014 +0000"
      },
      "message": "am 71171988: am f655acf1: am 8fb04d47: Merge \"Fix memory leak when filtering commands in insertCommand_l()\"\n\n* commit \u0027711719885d7563068579abf347c366cf6bc906f5\u0027:\n  Fix memory leak when filtering commands in insertCommand_l()\n"
    },
    {
      "commit": "f655acf15e587dbf5d7120e9f2bf4b5bcb89941c",
      "tree": "551729d7a78dd7fda0fe9221425af598c6b50ebf",
      "parents": [
        "bc4bf532b7581ecb1c8734a63742183c3ecb02c5",
        "8fb04d474ed9e0d1302ae223ee76fafbe5fb41a3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 06 15:28:39 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 06 15:28:39 2014 +0000"
      },
      "message": "am 8fb04d47: Merge \"Fix memory leak when filtering commands in insertCommand_l()\"\n\n* commit \u00278fb04d474ed9e0d1302ae223ee76fafbe5fb41a3\u0027:\n  Fix memory leak when filtering commands in insertCommand_l()\n"
    },
    {
      "commit": "8fb04d474ed9e0d1302ae223ee76fafbe5fb41a3",
      "tree": "7f6d93406b9f7a9474412a02e764054e0d6503c1",
      "parents": [
        "b231408849158baea8dddc0edf7e97fcfc2e3240",
        "48412dc92c4cc92a3f4821616e12290f5eeabd07"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 06 15:25:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 06 15:25:46 2014 +0000"
      },
      "message": "Merge \"Fix memory leak when filtering commands in insertCommand_l()\""
    },
    {
      "commit": "d8484dd4cf124854e7ff950da4300887f32fd05b",
      "tree": "d73f7050caa36e2f8837f700472dc05cb93ec286",
      "parents": [
        "f2776a5692bb4228decbe4ea3c8cc6df1d9c684c",
        "993fa0603707e94ce259e95e56838a85b5ccbdc5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 05 17:57:57 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 05 17:57:58 2014 +0000"
      },
      "message": "Merge \"Use audio_is_linear_pcm()\""
    },
    {
      "commit": "f2776a5692bb4228decbe4ea3c8cc6df1d9c684c",
      "tree": "de826271c5cd7aaabb8c587b5a9e501ecf779228",
      "parents": [
        "6640d87d1a9263c12bab6d7ded7cc78a3eb50ae9",
        "f81648ec38ff63f1f35516fa27c1c24d846e9ba5"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon May 05 17:40:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 05 17:40:09 2014 +0000"
      },
      "message": "Merge \"camera3: Update CameraMetadata vendor tag handling.\""
    },
    {
      "commit": "6640d87d1a9263c12bab6d7ded7cc78a3eb50ae9",
      "tree": "798f8977a9b12767c61da988f474901eaf9cab2e",
      "parents": [
        "fa366b2a32294ea22bf7b6f237cdbbd715cbbeb9",
        "e1b55da41878255570f18809c5fee72544740344"
      ],
      "author": {
        "name": "Natalie Silvanovich",
        "email": "natashenka@google.com",
        "time": "Mon May 05 17:10:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 05 17:10:15 2014 +0000"
      },
      "message": "Merge \"NULL check in ConnectPro\""
    },
    {
      "commit": "e1b55da41878255570f18809c5fee72544740344",
      "tree": "8b7463ec103ad2fb15381d9e42429f0b7b3db019",
      "parents": [
        "c6b8225e759d1790d9a38082a18ce7e24a3dba27"
      ],
      "author": {
        "name": "Natalie Silvanovich",
        "email": "natashenka@google.com",
        "time": "Thu May 01 14:44:52 2014 -0700"
      },
      "committer": {
        "name": "Natalie Silvanovich",
        "email": "natashenka@google.com",
        "time": "Mon May 05 09:20:47 2014 -0700"
      },
      "message": "NULL check in ConnectPro\n\nPrevents service crash\n\nBug: 13744720\nChange-Id: I7a5cdba830b4f96660f890ede6b94c38fc3108dd\n"
    },
    {
      "commit": "f81648ec38ff63f1f35516fa27c1c24d846e9ba5",
      "tree": "826a0e862b52bbbe22586c08693569dee723f5ff",
      "parents": [
        "fa366b2a32294ea22bf7b6f237cdbbd715cbbeb9"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Apr 17 16:14:57 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri May 02 20:33:45 2014 -0700"
      },
      "message": "camera3: Update CameraMetadata vendor tag handling.\n\nBug: 12134423\nChange-Id: I97dc955ee9dd78ace93a7946296d6d9b0e407d43\n"
    },
    {
      "commit": "fa366b2a32294ea22bf7b6f237cdbbd715cbbeb9",
      "tree": "8c35d32339aef06d77648a8fa7961d058e8356f9",
      "parents": [
        "6c516d800d97b7f25a22574998cb055c9d7f7b16",
        "6770260f83f5576b041b7b3a2536d082a631f9b0"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Sat May 03 00:29:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 03 00:29:04 2014 +0000"
      },
      "message": "Merge \"Revert \"camera3: Update CameraMetadata vendor tag handling.\"\""
    },
    {
      "commit": "6770260f83f5576b041b7b3a2536d082a631f9b0",
      "tree": "afcf4bf640ea8ad973e2e613d4d5fee2e21377d3",
      "parents": [
        "4764324d2704f1b08bb7407014bf203924ff2363"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Sat May 03 00:28:33 2014 +0000"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Sat May 03 00:28:33 2014 +0000"
      },
      "message": "Revert \"camera3: Update CameraMetadata vendor tag handling.\"\n\nThis reverts commit 4764324d2704f1b08bb7407014bf203924ff2363.\n\nChange-Id: I86d7fcc11423502b73fab2a82af6aa89804f0b76\n"
    },
    {
      "commit": "6c516d800d97b7f25a22574998cb055c9d7f7b16",
      "tree": "a6b9e79950b0db6af168216b1e71aa63eb095eb3",
      "parents": [
        "0a9aa4f5539482061dfe4dfa6128ef3696557818",
        "4764324d2704f1b08bb7407014bf203924ff2363"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri May 02 22:23:44 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 22:23:44 2014 +0000"
      },
      "message": "Merge \"camera3: Update CameraMetadata vendor tag handling.\""
    },
    {
      "commit": "4764324d2704f1b08bb7407014bf203924ff2363",
      "tree": "9aefad4eac4e67affaf093ec293fb7e0f95ba95e",
      "parents": [
        "32fa3c6fab55b075c916f4dad38e42e239bb7813"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Apr 17 16:14:57 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri May 02 15:22:25 2014 -0700"
      },
      "message": "camera3: Update CameraMetadata vendor tag handling.\n\nBug: 12134423\nChange-Id: I1d1be6792b6a4c9f08e042a8b2c89146bde5665e\n"
    },
    {
      "commit": "0a9aa4f5539482061dfe4dfa6128ef3696557818",
      "tree": "8c35d32339aef06d77648a8fa7961d058e8356f9",
      "parents": [
        "ad3770a20daf1265a088404edbd2ca340166e9ef",
        "c4b88a8d0f524666bf0f390075c334d047a104f2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 02 21:59:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 21:59:52 2014 +0000"
      },
      "message": "Merge \"Fix bug for direct track with PCM !\u003d 16-bit\""
    },
    {
      "commit": "c4b88a8d0f524666bf0f390075c334d047a104f2",
      "tree": "a2d45172a9d794b8b626ed9acadb656e346b2e9c",
      "parents": [
        "b53fc4ef8da47df8d5f580e8ee6135866ffebc33"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 30 16:54:30 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 02 11:52:56 2014 -0700"
      },
      "message": "Fix bug for direct track with PCM !\u003d 16-bit\n\nThe AUDIO_FORMAT_PCM_8_BIT format was being converted to\nAUDIO_FORMAT_PCM_16_BIT on client side even for direct tracks.\nThat conversion was incorrect; it should only be done for mixed tracks.\n\nAlso remove checks for specific PCM formats in the generic part of\nserver side of createTrack.  Those format checks should only be done by\nthe thread.  This will allow direct tracks for PCM 8-bit, PCM 24-bit, etc.\n\nChange-Id: If5b9fd79f8642ed93e2aeabcaf4809b2ed798978\n"
    },
    {
      "commit": "ad3770a20daf1265a088404edbd2ca340166e9ef",
      "tree": "c45661596cf8287ac490f2e293d4288ac34cffd2",
      "parents": [
        "33a610c4a79975eb585526195a7c8eae8177777b",
        "e11ae4b2f7d38c8092e7c67ff06610165d866d98"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri May 02 18:45:46 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 18:45:46 2014 +0000"
      },
      "message": "Merge \"Camera3: Don\u0027t notifyError for non-fatal errors\""
    },
    {
      "commit": "993fa0603707e94ce259e95e56838a85b5ccbdc5",
      "tree": "df2318b3af52103e1cfaa577857759560b1df802",
      "parents": [
        "b53fc4ef8da47df8d5f580e8ee6135866ffebc33"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 02 11:14:34 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 02 11:17:21 2014 -0700"
      },
      "message": "Use audio_is_linear_pcm()\n\nChange-Id: I17b30fdb6dbb6454ad0a20dd703fd603a37a8397\n"
    },
    {
      "commit": "e11ae4b2f7d38c8092e7c67ff06610165d866d98",
      "tree": "3f39a98e6bae4732e039677ea9e01e8a491bce6b",
      "parents": [
        "f7da096db8655531c2f2b7bddccd1064b1021155"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu May 01 10:39:16 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu May 01 10:39:16 2014 -0700"
      },
      "message": "Camera3: Don\u0027t notifyError for non-fatal errors\n\nBug: 14448494\nChange-Id: Ie2e2dc6a8475189707c556845adb77f20f270df5\n"
    },
    {
      "commit": "1a7be1ec9c769203e6c8e26378de0ab8e2ad493d",
      "tree": "68773b199cc4adcb96124270863244477570c78e",
      "parents": [
        "f131f87369ec06fc27fc1f14ea72f0ca1a066509",
        "91820d46b5f3065c2fded3cdf65d305715b33bb1"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Apr 29 11:34:16 2014 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Apr 29 11:34:16 2014 -0700"
      },
      "message": "Merge commit \u002791820d46b5f3065c2fded3cdf65d305715b33bb1\u0027 into HEAD\n"
    },
    {
      "commit": "4799fa447c2c9681c0c51fa8151974a764679fdc",
      "tree": "1210559cd83ef856e045e18d52bc4e5f083c0cf3",
      "parents": [
        "c12ea1ce9b3ec44343892a5736923d77206782be",
        "2234002b0710c8db73f82d397cb945cd541c6bbb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 29 16:15:21 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 29 16:15:21 2014 +0000"
      },
      "message": "Merge \"Start pulling bits of FastMixer up to FastThread\""
    },
    {
      "commit": "2234002b0710c8db73f82d397cb945cd541c6bbb",
      "tree": "be662712131225845bb0afd7d32e7c37a7f295ad",
      "parents": [
        "67ee990d324229ab0565ce632bd5a04297e16a01"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 07 12:04:41 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 28 12:26:11 2014 -0700"
      },
      "message": "Start pulling bits of FastMixer up to FastThread\n\nChange-Id: I4c6f7b8f88fcf107bb29ee6432feecd4ab6554d2\n"
    },
    {
      "commit": "f7da096db8655531c2f2b7bddccd1064b1021155",
      "tree": "ae0c3ba796b2da3f069c1f13dc23c49f1838f695",
      "parents": [
        "67ee990d324229ab0565ce632bd5a04297e16a01"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Apr 24 13:27:56 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Apr 25 18:12:52 2014 -0700"
      },
      "message": "Camera3: scale the max jpeg buffer size based on resolutions\n\nThe max jpeg buffer size was always the android.jpeg.maxSize, regardless of\nthe actual jpeg capture size. This creates a huge memory waste especially\nfor smaller size jpeg capture. Now the max jpeg buffer is linearly scaled based\non the resolution.\n\nBug: 14288983\nChange-Id: I8a971b8e2f4fc7fec0154547bdb688579af71a47\n"
    },
    {
      "commit": "e273141263e988ab086a8d41e0e4fc75c00f1b86",
      "tree": "9423ffa485d085bb073beb546ac24ad8ea8bdeb7",
      "parents": [
        "66036d50a8303cddfdd5c7320eea0eff48cb4a5e",
        "7e5c635114a7762ad44581300021667a0da97389"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Apr 24 15:43:05 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 24 15:43:05 2014 +0000"
      },
      "message": "am 7e5c6351: am 4513aa2c: Merge \"AArch64: rewrite audioflinger\\\u0027s sinc resample by intrinsics.\"\n\n* commit \u00277e5c635114a7762ad44581300021667a0da97389\u0027:\n  AArch64: rewrite audioflinger\u0027s sinc resample by intrinsics.\n"
    },
    {
      "commit": "7e5c635114a7762ad44581300021667a0da97389",
      "tree": "9bf0f89add96547c4f2e9ed730589e6843b5b655",
      "parents": [
        "dae621c2c7f40f1587b97636975908e1374ade9a",
        "4513aa2cda9e636e4ac675dab9a1353b22e951ae"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Apr 24 09:02:28 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 24 09:02:28 2014 +0000"
      },
      "message": "am 4513aa2c: Merge \"AArch64: rewrite audioflinger\\\u0027s sinc resample by intrinsics.\"\n\n* commit \u00274513aa2cda9e636e4ac675dab9a1353b22e951ae\u0027:\n  AArch64: rewrite audioflinger\u0027s sinc resample by intrinsics.\n"
    },
    {
      "commit": "4513aa2cda9e636e4ac675dab9a1353b22e951ae",
      "tree": "546a77e6c051d4096a60295d7bb259d9c6e771bb",
      "parents": [
        "95006625bd1c562c952833bf08c52e7e6c524363",
        "12b44bd5fe3069cd3450d05b6c446b600e0553d3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Apr 23 23:45:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 23:45:27 2014 +0000"
      },
      "message": "Merge \"AArch64: rewrite audioflinger\u0027s sinc resample by intrinsics.\""
    },
    {
      "commit": "7ef20390ba4375c4b08edd14923846086987a8c8",
      "tree": "a95af2cb1432f7cba15e779dc23d9674500250bf",
      "parents": [
        "e7ec24c9934c98a451e986a07651992df7fe6558"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 21 16:04:17 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 21 23:41:45 2014 +0000"
      },
      "message": "camera3: Don\u0027t hold mLock during flush call\n\nHAL calls into Camera3Device functions like processCaptureResult during flush\ncall. When Camera3Device runs into error state during flush call,\nprocessCaptureResult calls setErrorState(), which leads to deadlock.\n\nChange-Id: I35a03f6eb4b77f914097917cb37de98663de365f"
    },
    {
      "commit": "e7ec24c9934c98a451e986a07651992df7fe6558",
      "tree": "08fb49483a4768b6ced305302d63ce217d80ecdf",
      "parents": [
        "106b83d2447d3209d12fdc05215b965e05c5efea",
        "3c76fa3e73374dfe7bb93e1b03fed30749e1e4b9"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Mon Apr 21 20:43:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 21 20:43:53 2014 +0000"
      },
      "message": "Merge \"CameraService: fix waitUntilIdle bug revealed by TestingCamera2.\""
    },
    {
      "commit": "106b83d2447d3209d12fdc05215b965e05c5efea",
      "tree": "43f2f058db5e09082565ab4fe401886d0349224c",
      "parents": [
        "18e846c1ca29d7c4e4607243bc5ba694385128a1",
        "dae621c2c7f40f1587b97636975908e1374ade9a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 21 20:32:03 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 21 20:32:03 2014 +0000"
      },
      "message": "am dae621c2: am 95006625: Merge \"camera: set mNeedConfig after creating ZSL stream\"\n\n* commit \u0027dae621c2c7f40f1587b97636975908e1374ade9a\u0027:\n  camera: set mNeedConfig after creating ZSL stream\n"
    },
    {
      "commit": "dae621c2c7f40f1587b97636975908e1374ade9a",
      "tree": "b13d0e77d9261bc6b408f5ea6554ba53cd2f19e9",
      "parents": [
        "474038aef32f47d080567e8519d916b069a4f707",
        "95006625bd1c562c952833bf08c52e7e6c524363"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 21 20:28:59 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 21 20:28:59 2014 +0000"
      },
      "message": "am 95006625: Merge \"camera: set mNeedConfig after creating ZSL stream\"\n\n* commit \u002795006625bd1c562c952833bf08c52e7e6c524363\u0027:\n  camera: set mNeedConfig after creating ZSL stream\n"
    },
    {
      "commit": "95006625bd1c562c952833bf08c52e7e6c524363",
      "tree": "d9899d5099e542a7a56895e6f8381fba7a41bdac",
      "parents": [
        "27158eb55de8150258faba6574fc51c7aa641516",
        "e5e3d0823165dea9211a47232dbbbe361153fb49"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 21 20:22:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 20:22:54 2014 +0000"
      },
      "message": "Merge \"camera: set mNeedConfig after creating ZSL stream\""
    },
    {
      "commit": "3c76fa3e73374dfe7bb93e1b03fed30749e1e4b9",
      "tree": "a316962310eaa4fd603c88ec6149eeb0cab16e76",
      "parents": [
        "77d4f613bbed8b646c8ddade6a0737fcbd391b07"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Mon Apr 21 11:34:34 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Mon Apr 21 11:34:34 2014 -0700"
      },
      "message": "CameraService: fix waitUntilIdle bug revealed by TestingCamera2.\n\n* clear mStreamingRequestList in flush\n* fix frame number checker in notify and processCaptureResult\n\nBug: 14166437\nChange-Id: I022421080d05138f9068c1b9b85d83bd613b04fb\n"
    },
    {
      "commit": "6adc9ccb2948d9421a0ed4b74f52b909bcec2037",
      "tree": "511b67a742dcc45fa1e7d7932cb9275069e56fae",
      "parents": [
        "cb010a3fa85db1eb90346b35e484e21e7f1b1a4b"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Apr 15 14:09:55 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Apr 18 17:55:51 2014 -0700"
      },
      "message": "Camera3: block until get an available buffer\n\nCamera3Stream shouldn\u0027t error out when the max number of buffers are already\ndequeued. It should block until next buffer returned from camera device.\n\nBug: 11595505\nChange-Id: If65a70c29cb04219e14ded0744059c0ab783444b\n"
    },
    {
      "commit": "77d4f613bbed8b646c8ddade6a0737fcbd391b07",
      "tree": "cfb68c9ff057cb8349f51ebcd5b0822fd7425a7d",
      "parents": [
        "ce65a05eddc8a39d9805d1e1eee0292725df1f1c",
        "2d6bb3f9e3e7cc1c7debbbe3d74bf9c70b6f39d4"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 17 23:59:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 17 23:59:59 2014 +0000"
      },
      "message": "Merge \"CameraService: fix race condition and wrong last frame number.\""
    },
    {
      "commit": "2d6bb3f9e3e7cc1c7debbbe3d74bf9c70b6f39d4",
      "tree": "7e795593f43e694a9dee3e07f0a1a92a49cb9d7d",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Fri Apr 11 10:00:31 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 17 15:33:57 2014 -0700"
      },
      "message": "CameraService: fix race condition and wrong last frame number.\n\nChange-Id: Ie2be9a77a0b074497615de38cbb8e8f13b4858ec\n"
    },
    {
      "commit": "1b24cf32e02a1372e57b3a2a432bc0adfe496e6d",
      "tree": "220f4583ae1081df62fa5c861eed3e9e90a24515",
      "parents": [
        "4845b69f70ff457be8d8908f6eb61e2af67e00d3",
        "e80631aa1992ca50af679cd6a018c0ffda7f9b17"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "message": "am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027e80631aa1992ca50af679cd6a018c0ffda7f9b17\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\n"
    },
    {
      "commit": "e80631aa1992ca50af679cd6a018c0ffda7f9b17",
      "tree": "6b3fcc9fbb5b02976e4bb2163e994952303bead5",
      "parents": [
        "d4a3cae8cc4cf924925ae57723e61c89f6c4fd51",
        "839d11d1f7be9dff2f06c7d30a9eb39cb6782078"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 22:35:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 22:35:00 2014 +0000"
      },
      "message": "am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027839d11d1f7be9dff2f06c7d30a9eb39cb6782078\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\n"
    },
    {
      "commit": "3ab368e0810d894dcbc0971350c095049478a055",
      "tree": "a50053c391da8c02797158395f2ecfec83218855",
      "parents": [
        "db43b34c3428e480f8c4c66e7e88f4001f37f91e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 14:55:53 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 14:57:31 2014 -0700"
      },
      "message": "media: use size_t for integer iterator to Vector::size()\n\nChange-Id: I0a744dc7815a86a993df9b0623440be620ec8903\n"
    },
    {
      "commit": "f0948bcf06b8a9679f4b772237c80ee63829423f",
      "tree": "fa3c6bf9ef16143a65c25ab121ab7224a4e12ad8",
      "parents": [
        "96b0d5ef85d4d71690c41c84456afbf19864c785",
        "6056bdda5b17c62ba320c806489e4d1a3b7653c7"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Apr 15 17:06:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 15 17:06:04 2014 +0000"
      },
      "message": "Merge \"Camera: don\u0027t dereference timestamp if it is missing\""
    },
    {
      "commit": "e5e3d0823165dea9211a47232dbbbe361153fb49",
      "tree": "cd6c0333bcfe5e3a87d00a9095e09c3ffaef62a4",
      "parents": [
        "4f53fe74051026e6635ba5bdbed4f1898cb66028"
      ],
      "author": {
        "name": "Yuvraj Pasi",
        "email": "ypasi@nvidia.com",
        "time": "Tue Apr 15 18:37:45 2014 +0530"
      },
      "committer": {
        "name": "Yuvraj Pasi",
        "email": "ypasi@nvidia.com",
        "time": "Tue Apr 15 18:37:45 2014 +0530"
      },
      "message": "camera: set mNeedConfig after creating ZSL stream\n\nSet mNeedConfig after creating ZSL stream, camera device\nwill reconfigure for the case when only ZSL stream\nis changed.\n\nChange-Id: Ib592817f81125969824a1280349f77973116f375\n"
    },
    {
      "commit": "6056bdda5b17c62ba320c806489e4d1a3b7653c7",
      "tree": "c37595e7cf1c8c34b78ca942518bf6cefa9898d3",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 14 19:35:04 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 14 19:35:04 2014 -0700"
      },
      "message": "Camera: don\u0027t dereference timestamp if it is missing\n\nBug: 14059542\nChange-Id: I8b45a98ef4b296db314cab3819d11626ac7211be\n"
    },
    {
      "commit": "96b0d5ef85d4d71690c41c84456afbf19864c785",
      "tree": "4b63ae9e7b754ca77792ad6a062d767250847116",
      "parents": [
        "17ca0141634a7fa552db3cfdf2a3e79289ec54af",
        "bafa561d0c9363c5307b6b1daa498bd3ae36089d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 15 02:09:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 15 02:09:14 2014 +0000"
      },
      "message": "Merge \"Improve resampler filter computation speed\""
    },
    {
      "commit": "c125f38cd0ae35409a01b98a99e483550daa1313",
      "tree": "efee74222317630cd7e90c2d3c25867906030639",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 11 18:37:33 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 14 09:54:46 2014 -0700"
      },
      "message": "audioflinger: forward device change to effects in direct thread\n\nDevice change during offload playback is not informed to effect chain\nwhich causes effects still work on unexpected output devices. Add device\nchange notification in direct output thread.\n\nOriginal author wjiang \u003cwjiang@codeaurora.org\u003e\n\nCRs-Fixed: 630408\nBug: 14053172\nSigned-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\nChange-Id: I094a99bdf540479cee2fca6614ec35c2fa7d6046\n"
    },
    {
      "commit": "27a17103f99d23157ac80ef7d75e25a3aae788bd",
      "tree": "ff57e716497c6583aa264ff02e1ffd42840d17d6",
      "parents": [
        "8e1554f35ffcc0f7ac833a796adf3926371fcb76",
        "df383a5a54582811e5e038efc557172b8ec69dd1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 12 00:43:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 12 00:43:36 2014 +0000"
      },
      "message": "Merge \"Update test-resample to handle multichannel\""
    },
    {
      "commit": "48412dc92c4cc92a3f4821616e12290f5eeabd07",
      "tree": "8768bcbd664073a00f379bdc4b65b9df260943fa",
      "parents": [
        "51b3ea2b8f7298bffbd246c65a606cd053357b66"
      ],
      "author": {
        "name": "Jesper Tragardh",
        "email": "jesper.tragardh@sonymobile.com",
        "time": "Mon Mar 24 14:12:43 2014 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Fri Apr 11 11:02:36 2014 +0200"
      },
      "message": "Fix memory leak when filtering commands in insertCommand_l()\n\nWhen AudioPolicyService::AudioCommandThread::insertCommand_l filters\na command from the queue, the AudioCommand* is removed from the\nvector mAudioCommands by calling mAudioCommands.removeAt(). This will\ndestroy the pointer and compact the vector, but not delete the\nAudioCommand object.\n\nThis patch adds code to delete a filtered out AudioCommand and its\ndata object mParam. However, mParam was void* and deleting a void\npointer is undefined behavior according to the C++\nstandard. Therefore, the data classes are modified to inherit\nfrom an abstract base class with a virtual destructor.\n\nThe deletion of non-filtered commands in\nAudioPolicyService::AudioCommandThread::threadLoop() was already\ncorrect, as each case casts mParam to the proper type before\ndeleting.\n\nThis also fixes AOSP issue 36370.\n\nChange-Id: I2b63838aff3608132aa496f964a929f78c4b6267\n"
    },
    {
      "commit": "df383a5a54582811e5e038efc557172b8ec69dd1",
      "tree": "e619d601e84167d4122bae647bd15aff030f4e86",
      "parents": [
        "771386e6e6e79697e2d839ef0f25a242946ba1e5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 09 19:10:15 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 10 15:19:08 2014 -0700"
      },
      "message": "Update test-resample to handle multichannel\n\nOption -c # specifies number of channels (mono default).\nOption -s to specify stereo is removed (-c 2 replaces).\nOption -h to specify WAV header is removed (WAV is now default).\n\nChange-Id: Iba4b83806028a8a9c1ddba6f555182d214ef73ff\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "43827aea591c2fffdb87006462a5aa7a131a25c0",
      "tree": "9d0e7165f522972b5359d5a2b63928eef376e97f",
      "parents": [
        "9e5763aefde93afd375e0d9874e515d7c27b212b",
        "13d315eb8c0848ea0584b9fb1d27bab55bc8158b"
      ],
      "author": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Thu Apr 10 20:44:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 10 20:44:30 2014 +0000"
      },
      "message": "Merge \"camera3: Remove register_stream_buffers for HAL 3.2+\""
    },
    {
      "commit": "9e5763aefde93afd375e0d9874e515d7c27b212b",
      "tree": "7bb421efe179aaa521745cc570b208bcb3ba09e1",
      "parents": [
        "771386e6e6e79697e2d839ef0f25a242946ba1e5",
        "cb0652e5a850b2fcd919e977247e87239efaf70e"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 10 19:53:05 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 10 19:53:05 2014 +0000"
      },
      "message": "Merge \"CameraService: trigger appropriate callbacks for burst capture.\""
    },
    {
      "commit": "cb0652e5a850b2fcd919e977247e87239efaf70e",
      "tree": "bdba4ac95dedd4ad9be77b9f5a86e147c11224f3",
      "parents": [
        "d27368f7d28813f7dad37fc31940c822df80e68e"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Wed Mar 12 18:29:36 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 10 11:54:08 2014 -0700"
      },
      "message": "CameraService: trigger appropriate callbacks for burst capture.\n\n* Instead of tracking CameraMetadata only, now we track both\nCameraMetadata and CaptureResultExtras, which is not part of\nthe HAL metadata. This will enable the correct callback of\nonCaptureStarted and onResultReceived given burst requests.\n\n* Get last frame number in reply when submitting requests,\ncanceling requests, and flushing device. For repeating requests,\nthis frame number is the last frame number of the previous\nrequest. For non-repeating requests, this frame number is the\nexpected last frame number of the current request. The goal\nis provide frame number to Java side in order to trigger\nonCaptureSequenceCompleted correctly.\n\n* Fix notifyError so that onDeviceError can be called correctly.\n\nBug: 10749500\nChange-Id: I2f3dda6c530090055d4a2ff9f0f087bbbe8d9257\n"
    },
    {
      "commit": "12b44bd5fe3069cd3450d05b6c446b600e0553d3",
      "tree": "d7c3ff6a66a682520248b3b39e68a470968e3663",
      "parents": [
        "51b3ea2b8f7298bffbd246c65a606cd053357b66"
      ],
      "author": {
        "name": "Zhongwei Yao",
        "email": "zhongwei.yao@arm.com",
        "time": "Thu Apr 10 17:23:42 2014 +0100"
      },
      "committer": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Thu Apr 10 18:28:46 2014 +0100"
      },
      "message": "AArch64: rewrite audioflinger\u0027s sinc resample by intrinsics.\n\nPass conformance test on armv7 and aarch64, performance test is done on armv7.\nCompared with original armv7 assembly version, this version has similar\nresult. Here is performance data on pandaboard android4.4 (input: random wave\nfile, unit: Mspl/s, toolchain:gcc 4.8):\n\n|                | origin(assembly) | current(intrinsics) | C version |\n|----------------+------------------+---------------------+-----------|\n| single channel | 6.17             | 7.14                | 3.43      |\n| double channel | 5.24             | 5.63                | 3.50      |\n\nChange-Id: If5670218e1586e9dfd2b8d9c66a6880f3e4808ca\n"
    },
    {
      "commit": "771386e6e6e79697e2d839ef0f25a242946ba1e5",
      "tree": "a96089d65f91b69e94dfa09c9a31ac6d9274f1cd",
      "parents": [
        "d549139155b20d7cbf6a4326133e06def465ef54"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:44:38 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 09 14:30:31 2014 -0700"
      },
      "message": "Add and enable floating point option for audio resampler\n\nCan be tested with test-resample.\n\nChange-Id: I8339846d7c647444b6025d33cfa145d5d3658121\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "d549139155b20d7cbf6a4326133e06def465ef54",
      "tree": "2d11e173c5e471f26ebeb11721a2fa65df31a01a",
      "parents": [
        "430b61c72094882bc48693dfc10c256a6ae36ee9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:28:09 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 09 14:21:54 2014 -0700"
      },
      "message": "Add floating point to audio resample processing\n\nAdd template type parameters for input, output data type.\nMinor change in non-NEON mono channel handling.\nMinor fixup on comments.\n\nChange-Id: I7dc9972d130913718b62f32c02d31f99c06682f2\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "13d315eb8c0848ea0584b9fb1d27bab55bc8158b",
      "tree": "901bbfa0db6cb5771235b38d00cf84af03b5a4ab",
      "parents": [
        "0d521d91154fe0199181c845b6dc70faf38ca8fb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Apr 03 18:09:04 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Apr 09 11:35:01 2014 -0700"
      },
      "message": "camera3: Remove register_stream_buffers for HAL 3.2+\n\nUse \u0027setprop camera.dev.register_stream 1\u0027 to skip the fatal NULL check\n- This property will be removed before shipping L\n\nBug: 13301331\nBug: 13435680\nChange-Id: I16aacd7b22e0a10b34f6fb8501be0256170a8cd5\n"
    },
    {
      "commit": "430b61c72094882bc48693dfc10c256a6ae36ee9",
      "tree": "c707e9098f59017e639c5cb1923572ea17b5cd85",
      "parents": [
        "781366833a12877b8d5ad4aa081114e30f799319"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:10:02 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:10:02 2014 -0700"
      },
      "message": "Add capability for floating point Kaiser window filters\n\nChange-Id: Idbb33248bbab2300c2650a4657d8fbc482a5d46c\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "781366833a12877b8d5ad4aa081114e30f799319",
      "tree": "0f020ad949f608a8af1991b7d84d0fa264dbac4f",
      "parents": [
        "0d521d91154fe0199181c845b6dc70faf38ca8fb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 17:59:59 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 17:59:59 2014 -0700"
      },
      "message": "Update test-resample to handle floating point\n\nChange-Id: Ib34d716fbabcd5eb70f8a5ffcf362e242671d916\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "0d521d91154fe0199181c845b6dc70faf38ca8fb",
      "tree": "aa82d7bf0dffdf6d04323067dae8795931b68ab3",
      "parents": [
        "d27368f7d28813f7dad37fc31940c822df80e68e",
        "1e4e4f40b4e2c655ca377adbba53df897545c3ae"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 08 19:16:11 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 08 19:16:11 2014 +0000"
      },
      "message": "Merge \"Fix 64-bit build warnings\""
    },
    {
      "commit": "1e4e4f40b4e2c655ca377adbba53df897545c3ae",
      "tree": "abf495ff585fcda3118bbf02adfc05690200b366",
      "parents": [
        "c51db0a6bfb71ea9c934fb7971cb5ae1f1cf03a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 08 10:41:02 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 08 10:41:02 2014 -0700"
      },
      "message": "Fix 64-bit build warnings\n\nChange-Id: I667401522cb4ccd41013e2883a4c75ddeca08ef6\n"
    },
    {
      "commit": "bc6ae9bd4ee93e91e212ad35be038f21797ef31e",
      "tree": "848701c25988f69b4a2c10ae1c25afb28cf84725",
      "parents": [
        "c51db0a6bfb71ea9c934fb7971cb5ae1f1cf03a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 07 13:02:08 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 07 13:03:40 2014 -0700"
      },
      "message": "Fix regression in FastMixer statistics\n\nAt some point, the mSampleRate in FastMixerDumpState stopped being\ninitialized correctly.  I\u0027m not sure when this happened, it doesn\u0027t seem to\nbe introduced in recent CLs.  This lack of initialization caused\nsome of the FastMixer statistics based on sample rate to be useless.\n\nChange-Id: Id2a96d606130a90c4c4f1bddd59778f6c6428a9c\n"
    },
    {
      "commit": "84a0c6e87c48f58a0d3be71961432c086a4d24cc",
      "tree": "a9bea7e95223dc4d1f3219d4e60dd385881ec6d8",
      "parents": [
        "99021c47f45ee8bf3317cff7d08226e76c8d8227"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 11:24:53 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 14:33:26 2014 -0700"
      },
      "message": "Change references of Q19.12 to Q4.27 for clarity\n\nChange-Id: I5beb7daf6ff9bc123ff3582f7c294edcaf8652f6\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "bafa561d0c9363c5307b6b1daa498bd3ae36089d",
      "tree": "725ae0e8b8c8bc532c4c23c2b4a133aec35a9410",
      "parents": [
        "2ade30003882f0c3782d68018d06cb81b99dfeb2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 13:52:10 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 13:52:10 2014 -0700"
      },
      "message": "Improve resampler filter computation speed\n\nApproximate speed improvement is 10-15% for filter computation,\nwhich is floating point intensive. This will be important\nfor devices without hw floating point support.\n\nChange-Id: I10b4e778c8d632b52218a777504b092c189e437f\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "2ade30003882f0c3782d68018d06cb81b99dfeb2",
      "tree": "515a19da1dc7387195367c0d706ab2cc92a5e6e5",
      "parents": [
        "1e0c8cd8fad2108c8ea085748fcca2059e3ce4ab",
        "f7160b5dc3091fd9624f25d534c6848ee831b706"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 01 17:47:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 01 17:47:01 2014 +0000"
      },
      "message": "Merge \"FastMixer use FastThread and FastMixerState use FastThreadState\""
    },
    {
      "commit": "1e0c8cd8fad2108c8ea085748fcca2059e3ce4ab",
      "tree": "27d07871207369abdba016641f900838fe6f7c28",
      "parents": [
        "3a6c90aa0617666d9abc94c02b752d9eb3d64772",
        "4cd161b5bf7a8008d684db4b217ed84d1704e683"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 01 17:32:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 01 17:32:17 2014 +0000"
      },
      "message": "Merge changes I5748f47d,I3f074933\n\n* changes:\n  Add FastThread.h\n  Add FastThreadState\n"
    },
    {
      "commit": "f7160b5dc3091fd9624f25d534c6848ee831b706",
      "tree": "521236419b4532dc8e91ed22be147a6aeb8baa34",
      "parents": [
        "4cd161b5bf7a8008d684db4b217ed84d1704e683"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 17:01:15 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:23:11 2014 -0700"
      },
      "message": "FastMixer use FastThread and FastMixerState use FastThreadState\n\nChange-Id: I594c973e9f575113bdefee6f4cf8c29d8beac1f3\n"
    },
    {
      "commit": "4cd161b5bf7a8008d684db4b217ed84d1704e683",
      "tree": "7ef8cd9b1e9167a027922256e24675d214551884",
      "parents": [
        "a18f644ce5eb4ab876b343e24ea613566c00058f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 16:25:04 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:23:03 2014 -0700"
      },
      "message": "Add FastThread.h\n\nChange-Id: I5748f47dbfa42c14cc93973742e05ac963bf3ba8\n"
    },
    {
      "commit": "a18f644ce5eb4ab876b343e24ea613566c00058f",
      "tree": "0ae47695a79fd411a88c2ae9272bc76c01469071",
      "parents": [
        "5e184b0d12f1ec436246a391da8d9355cc21ee08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 17:17:04 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:22:54 2014 -0700"
      },
      "message": "Add FastThreadState\n\nChange-Id: I3f07493375ace6e5cfdcd02ad90c4b6fad543b0c\n"
    },
    {
      "commit": "3a6c90aa0617666d9abc94c02b752d9eb3d64772",
      "tree": "150424841e6732f1d3a1c6df6139f8f307db0d2f",
      "parents": [
        "5e184b0d12f1ec436246a391da8d9355cc21ee08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 15:07:51 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:22:09 2014 -0700"
      },
      "message": "Add FIXMEs to createRecord for fast capture\n\nChange-Id: I759be200fae32969212c52a409f46f2e704081e3\n"
    },
    {
      "commit": "1490d5142d8d485ea0d56a9974726fb6dff0a62d",
      "tree": "8f3e0673fd986949b0e307e401bbbb832bca0d3f",
      "parents": [
        "afe1ba72551d6bd6e3bee9b77fe7538201ab6193",
        "cf515ab0030cf5e0bef843638af7c989a8f6843a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 28 16:43:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 28 16:43:59 2014 +0000"
      },
      "message": "Merge \"Mark the logging heap read-only to media.log service\""
    },
    {
      "commit": "5bdb3c4d93269511d21d155c78790ee70d423095",
      "tree": "98bcbd76fafee2cec1743000d3e1205a7e093799",
      "parents": [
        "2f8a36fc8df14cba33fa7c5c1c9d5a52f8a133c2",
        "95dd5ba5bf83716f2eed5fe72366c4212464d710"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Mar 27 20:24:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 20:24:19 2014 +0000"
      },
      "message": "Merge \"Camera3: fix HAL3.x version check issue\""
    },
    {
      "commit": "2f8a36fc8df14cba33fa7c5c1c9d5a52f8a133c2",
      "tree": "7d46255b2e5a25ca5de3cc756152a3a64121ea6c",
      "parents": [
        "2347c7b0502f5f71d2f0e22d39f1d5a61add3f6b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 19:05:55 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 19:05:55 2014 -0700"
      },
      "message": "Fix the build\n\nChange-Id: I2169a3d26f4e35e5cfa35a1264175aab6ac4db41\n"
    },
    {
      "commit": "95dd5ba5bf83716f2eed5fe72366c4212464d710",
      "tree": "eb079faddf0fac3f259b9529f4171081105cf2db",
      "parents": [
        "ecdca392ed40e89a6ef14b86446e952c35497ac4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Mar 26 18:18:00 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Mar 27 01:24:52 2014 +0000"
      },
      "message": "Camera3: fix HAL3.x version check issue\n\nCamera service should support HAL3.x instead of only HAL3.0.\n\nBug: 13609405\nChange-Id: If7e86f9abe019547fc0be2e11337551cd7c57870"
    },
    {
      "commit": "2347c7b0502f5f71d2f0e22d39f1d5a61add3f6b",
      "tree": "6a1902c2f1bbb9c1283d3689e12b251ccdae8c4e",
      "parents": [
        "ec31c8d17f587cba01d5516ccd336aa54323c668",
        "1b512c05f46465a7b1a1d69f82937d7199d5d926"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 27 01:22:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 01:22:34 2014 +0000"
      },
      "message": "Merge \"audio policy: remove obsolete AudioPolicyManager class members\""
    },
    {
      "commit": "ec31c8d17f587cba01d5516ccd336aa54323c668",
      "tree": "7c18ea28c41e59211b5cc99f2ef42b897977d83c",
      "parents": [
        "c9b8d90dabdf1234be0117c592f635a92c4eb0d9",
        "3a4311c68348f728558e87b5db67d47605783890"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 27 01:22:16 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 01:22:16 2014 +0000"
      },
      "message": "Merge \"audio policy: use new audio device representation\""
    },
    {
      "commit": "c9b8d90dabdf1234be0117c592f635a92c4eb0d9",
      "tree": "8bbeb033b0eb0bcbbfb12faaa6f2133d3cd093ea",
      "parents": [
        "5c4fa907328c8ee586367272c7525cb87742f14d",
        "142f519aa1acd5804d111e60d100f170fed28405"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 23:23:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 23:23:09 2014 +0000"
      },
      "message": "Merge \"Use symbol AUDIO_IO_HANDLE_NONE from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "1b512c05f46465a7b1a1d69f82937d7199d5d926",
      "tree": "354295c76a76128d3122f8f4ac58bb5a1bf4c601",
      "parents": [
        "3a4311c68348f728558e87b5db67d47605783890"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 12:42:06 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 15:28:47 2014 -0700"
      },
      "message": "audio policy: remove obsolete AudioPolicyManager class members\n\nRemove mHasA2dp, mHasUsb and mHasRemoteSubmix members from\nAudoPolicyManager. They are not needed any more since\nwe use device descriptors with additional attributes.\n\nAlso remove obsolete limitation on device address\nlength (MAX_DEVICE_ADDRESS_LEN).\n\nChange-Id: Iffe760a521692a4b50be3f6b935af84afb61bb86\n"
    },
    {
      "commit": "3a4311c68348f728558e87b5db67d47605783890",
      "tree": "920ecdf2868176572b6770200d6e3314c5462dd7",
      "parents": [
        "172a7a965c21c29ee38c77d53d91780c7dca09bf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 12:00:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 15:28:33 2014 -0700"
      },
      "message": "audio policy: use new audio device representation\n\nRepresent audio devices with more attributes than just the\ntype (audio_device_t).\nThis is in preparation for new routing APIs allowing\ndevice selection based on more criteria than just the type\n(address, channel mask...)\nA new class DeviceDescriptor is created and used by functions\nneeding more information than just the device type.\nBit fields for available and supported input or output devices are\nreplaced by vectors of device descriptors.\nEach available device is allocated a unique ID for future use.\nRemoved obsolete mA2dpDeviceAddress, mScoDeviceAddress and mUsbCardAndDevice\nfields replaced by address stored in DeviceDescriptor.\n\nPolicy decisions like getDeviceForStrategy() are still based\nonly on the device type.\n\nChange-Id: I5de3b3ffb12ff8dcfb746782ab1e6b15bf040d0c\n"
    },
    {
      "commit": "5c4fa907328c8ee586367272c7525cb87742f14d",
      "tree": "072ee3fe93cbcc8505118b51bc371265214036f3",
      "parents": [
        "2301acc6a9c7a3af4ad01f3d1d0f76f13eca7350",
        "adad3d7d935da176ff24941b4ae9edf7340e9b96"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 22:22:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 22:22:24 2014 +0000"
      },
      "message": "Merge \"Use LOG_ALWAYS_FATAL instead of LOG_FATAL\""
    },
    {
      "commit": "142f519aa1acd5804d111e60d100f170fed28405",
      "tree": "aaffc4a234a4b0a5e719374056edf12eb2333b29",
      "parents": [
        "ecdca392ed40e89a6ef14b86446e952c35497ac4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 17:44:59 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 14:56:54 2014 -0700"
      },
      "message": "Use symbol AUDIO_IO_HANDLE_NONE from \u003csystem/audio.h\u003e\n\nChange-Id: Id6b1aa17558eb73e17f22b8eab6cd02e00a96dff\n"
    },
    {
      "commit": "adad3d7d935da176ff24941b4ae9edf7340e9b96",
      "tree": "7a8a2f8e31c7dd690805c1cfd9982d218c66296b",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 21 14:51:43 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 14:46:28 2014 -0700"
      },
      "message": "Use LOG_ALWAYS_FATAL instead of LOG_FATAL\n\nLOG_FATAL is compiled out in most builds, so the\nassertion checks were not being performed.\n\nChange-Id: I774f0985ab9c5ccecd8989a0f1c940386b73fc35\n"
    },
    {
      "commit": "ecdca392ed40e89a6ef14b86446e952c35497ac4",
      "tree": "bf796efe37aca6ded41ca0ad4291ca344af337ac",
      "parents": [
        "51beebba9d4989d05831a13bbe5cdf53ecac1bf5",
        "66e4635cb09fadcaccf912f37c387396c428378a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 21:29:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 21:29:28 2014 +0000"
      },
      "message": "Merge \"Use symbolic constants from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "51beebba9d4989d05831a13bbe5cdf53ecac1bf5",
      "tree": "b2c6af1099ba3c20b8dd08d39f8dcf822303971a",
      "parents": [
        "b8f8d231685afdec472136b45c527a71bfb8bcc4",
        "45faf7e02791993a487d6e038d16ff46395f1975"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 21:14:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 21:14:17 2014 +0000"
      },
      "message": "Merge \"Use symbol AUDIO_DEVICE_NONE from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "73ec11738cd4399c55d4905665a14a7c4cd42cbf",
      "tree": "1105d7402857079f44e234ba1ab6ecfa8290a094",
      "parents": [
        "8c7b9fb41585fccb06573252823b929c82a40999",
        "9ea65d0f4a564478343b1a722fae4ce5883670c3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 20:56:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 20:56:04 2014 +0000"
      },
      "message": "Merge \"Fix uses of KeyedVector\""
    },
    {
      "commit": "1cebdb77323e4554a316b9c34bf36957b7dad5ae",
      "tree": "fb2657136544bb4cb32fa0d8adf0782b421884d9",
      "parents": [
        "551cec544652783e3342c18386f64cee22412b60"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:10:09 2014 +0000"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:33:45 2014 +0000"
      },
      "message": "Revert \"camera: Fix setParameters for Preview FPS single/range values\"\n\nCauses a regression on some devices, so reverting until we\u0027re in a position to fix those devices.\n\nThis reverts commit 9078a1b3b9f9c0c48046ade0e8e18b0d79a659db.\n\nBug: 13563098\nChange-Id: I7aedd01fde8b8fdee77e972ec395f0ecadbf8ccb"
    },
    {
      "commit": "551cec544652783e3342c18386f64cee22412b60",
      "tree": "816a6acded4e9433fd30916ff71c161fdcc54a5e",
      "parents": [
        "172a7a965c21c29ee38c77d53d91780c7dca09bf",
        "bcefec31bd1346133052356ffc8d7ac8a5b13fab"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 17:38:35 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 17:38:35 2014 +0000"
      },
      "message": "Merge \"Document AudioFlinger::nextUniqueId()\""
    },
    {
      "commit": "45faf7e02791993a487d6e038d16ff46395f1975",
      "tree": "d54ff27f6fd42e670ddebfa993a00b5202fb7633",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 10:23:01 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 17:29:00 2014 -0700"
      },
      "message": "Use symbol AUDIO_DEVICE_NONE from \u003csystem/audio.h\u003e\n\nChange-Id: I61f882c5e7c949bf00d3bfc745ebf3b5e1c42a58\n"
    },
    {
      "commit": "66e4635cb09fadcaccf912f37c387396c428378a",
      "tree": "7982a54dbc04375babd42e59c03ef930454a9687",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 16 17:44:23 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 16:22:54 2014 -0700"
      },
      "message": "Use symbolic constants from \u003csystem/audio.h\u003e\n\nAUDIO_INTERLEAVE_*\nAUDIO_STREAM_MIN\nAUDIO_SESSION_ALLOCATE\n\nChange-Id: I31dd6f327204685e50716079ce21c4ba206dff11\n"
    },
    {
      "commit": "9ea65d0f4a564478343b1a722fae4ce5883670c3",
      "tree": "7e23f994d376d45183eac141e914ddbfd126cdf5",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 10:21:24 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 16:13:00 2014 -0700"
      },
      "message": "Fix uses of KeyedVector\n\nConstructor for AudioFlinger::mAudioHwDevs was missing, and so\nAudioFlinger::findSuitableHwDev_l() could return an undefined pointer\nif a non-0 module wasn\u0027t found.\n\nA KeyedVector of Plain Old Data (POD) element type must specify the\ndefault value in the constructor, or else the default will be undefined.\n\nMinor:\n - Parameter had wrong type in constructor for AudioSystem::gOutputs.\n - Remove obsolete AudioSystem::gStreamOutputMap.\n\nChange-Id: I9841493e018440e559d8b8b0e4e748ba2b2d365b\n"
    },
    {
      "commit": "bcefec31bd1346133052356ffc8d7ac8a5b13fab",
      "tree": "4125808fe2bbae00a8bf93ba260688e2f7c11181",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 12:09:05 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 15:42:35 2014 -0700"
      },
      "message": "Document AudioFlinger::nextUniqueId()\n\nChange-Id: Iafe96f1c10bd85cb23a2553945ca68aa601dc2eb\n"
    },
    {
      "commit": "29cdd9bb46437ab580deabf33b2242106e0090b6",
      "tree": "dd68d54734eb8fe5f4aa749f7f9d55dd5b138de7",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1",
        "a1aaaf86cd04eabaf961a30d7b0a9fa857089862"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 21:22:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 21:22:52 2014 +0000"
      },
      "message": "am a1aaaf86: am 4f53fe74: Merge \"CameraService: deadlock fix\"\n\n* commit \u0027a1aaaf86cd04eabaf961a30d7b0a9fa857089862\u0027:\n  CameraService: deadlock fix\n"
    },
    {
      "commit": "c3dcf1007aa964f825b2ea2ef86acb7f332e748f",
      "tree": "c3e72b5ad4c3a145413a2a6e964719dbf908059e",
      "parents": [
        "a1aaaf86cd04eabaf961a30d7b0a9fa857089862",
        "65550a0e17852fe657795508e3bf05bdbfb2520b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 25 20:15:40 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 20:15:40 2014 +0000"
      },
      "message": "am 65550a0e: am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\n* commit \u002765550a0e17852fe657795508e3bf05bdbfb2520b\u0027:\n  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n"
    },
    {
      "commit": "65550a0e17852fe657795508e3bf05bdbfb2520b",
      "tree": "c7c08feacf4c4eee1ac0a387cbe02c0d77b07bfc",
      "parents": [
        "3089021031d6ad0f2b330567f108aec03fa13994",
        "0370be96e33ea0c8fb4069e704deccce43b7403c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 25 20:11:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 20:11:09 2014 +0000"
      },
      "message": "am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\n* commit \u00270370be96e33ea0c8fb4069e704deccce43b7403c\u0027:\n  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n"
    },
    {
      "commit": "a1aaaf86cd04eabaf961a30d7b0a9fa857089862",
      "tree": "0a5552a3fb27bda556afa0cd69ee672fc6f499ac",
      "parents": [
        "5c679d41714e42f153f6aeb492df54510a195bc1",
        "4f53fe74051026e6635ba5bdbed4f1898cb66028"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 19:09:34 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 19:09:34 2014 +0000"
      },
      "message": "am 4f53fe74: Merge \"CameraService: deadlock fix\"\n\n* commit \u00274f53fe74051026e6635ba5bdbed4f1898cb66028\u0027:\n  CameraService: deadlock fix\n"
    },
    {
      "commit": "91820d46b5f3065c2fded3cdf65d305715b33bb1",
      "tree": "9099c90fc028d13f54e61a4147ff1f3e7f3a56b6",
      "parents": [
        "1cc3f85de70e813998102bf572caad3691a6b6a2",
        "0370be96e33ea0c8fb4069e704deccce43b7403c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 25 19:08:01 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 19:08:01 2014 +0000"
      },
      "message": "am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\n* commit \u00270370be96e33ea0c8fb4069e704deccce43b7403c\u0027:\n  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n"
    },
    {
      "commit": "1cc3f85de70e813998102bf572caad3691a6b6a2",
      "tree": "58d2dce7ce40bd51e3091b059c17b81eb9defc5d",
      "parents": [
        "7b1524d4e866b53ab0d02a59cc6ccb133bd98f77",
        "4f53fe74051026e6635ba5bdbed4f1898cb66028"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 18:25:13 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 18:25:13 2014 +0000"
      },
      "message": "am 4f53fe74: Merge \"CameraService: deadlock fix\"\n\n* commit \u00274f53fe74051026e6635ba5bdbed4f1898cb66028\u0027:\n  CameraService: deadlock fix\n"
    },
    {
      "commit": "0370be96e33ea0c8fb4069e704deccce43b7403c",
      "tree": "9d244524a113db326aa9e86caab40c49a08248f3",
      "parents": [
        "333ceb4f66ccf790081026f645474e07d832fbdb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 11:20:25 2014 -0700"
      },
      "message": "DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\nAs a workaround, duplicate CameraParameters into CameraParameters2 to\nprevent ABI break for some camera HALs that directly link into\nCameraParameters.\n\nCameraParameters2 implements the real fixes needed in the framework,\nwhile CameraParameters is left in to satisfy older camera HALs.\n\nBug: 12609188\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da\n"
    },
    {
      "commit": "6ec3a15257ca2b56b675a610aef43cc4ec6aaf00",
      "tree": "f28808875e71939c1c9e0d30e69a283dac93b9db",
      "parents": [
        "3d7c500234d98464d37ba3e1b65cea763b316b69"
      ],
      "author": {
        "name": "Kalle Lampila",
        "email": "kallex.lampila@intel.com",
        "time": "Tue Apr 30 15:27:19 2013 +0300"
      },
      "committer": {
        "name": "Xiaokang Qin",
        "email": "xiaokang.qin@intel.com",
        "time": "Tue Mar 25 04:29:31 2014 -0700"
      },
      "message": "CameraService: deadlock fix\n\nRelease lock before return from CameraService::dump()\n\nChange-Id: Ia20b0921fc675a284f3b7f8d26e0e3596b5a8774\nSigned-off-by: Kalle Lampila \u003ckallex.lampila@intel.com\u003e\n"
    },
    {
      "commit": "d6d1883f607d40be5d9a87909ae563cf94256c24",
      "tree": "db522970675c8149535f004910e73bb161871f4e",
      "parents": [
        "32ce52b01dab863f2b4749e1c69f619cf820486f",
        "69a374897392c8bd70f441b7284f6f578c651ec9"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Mar 25 01:08:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 25 01:08:25 2014 +0000"
      },
      "message": "Merge \"Camera3: Fix flush call deadlock\""
    },
    {
      "commit": "32ce52b01dab863f2b4749e1c69f619cf820486f",
      "tree": "489e255200d3a7bfdac8269bee29a9b55707f14e",
      "parents": [
        "f555c47f1843b5a3557e18c16cb06b0ec06dcf34",
        "5c679d41714e42f153f6aeb492df54510a195bc1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Mar 24 19:36:36 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 24 19:36:36 2014 +0000"
      },
      "message": "am 5c679d41: resolved conflicts for merge of 3d7c5002 to klp-modular-dev-plus-aosp\n\n* commit \u00275c679d41714e42f153f6aeb492df54510a195bc1\u0027:\n  libcameraservice: build 64-bit\n  libcameraservice: fix 64-bit print format warnings\n"
    }
  ],
  "next": "69a374897392c8bd70f441b7284f6f578c651ec9"
}
