)]}'
{
  "log": [
    {
      "commit": "df5d9246f9607b1c2f8b134c46a05af06e206da3",
      "tree": "7cd9fcb42c86c8cfe950db239e21e8b5ece98369",
      "parents": [
        "7ad2854adc0abe8dd7909a6ed401107ad09bc3d2",
        "fd923e7fe2779bcd69d79471b8c30c8b98918f62"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 15:40:39 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 16:10:32 2016 -0700"
      },
      "message": "resolve merge conflicts of fd923e7 to stage-aosp-master\n\nChange-Id: I75b44b89bae41197a1fd68362d20b8ba2b4dd192\n"
    },
    {
      "commit": "36d0ca16024820df9a12903d2ac443fabcc180bc",
      "tree": "51e8f285ae66ad7cb922caeb7ba8d5f1d20367e3",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:31:32 2016 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 17:56:35 2016 +0000"
      },
      "message": "Fix clang-tidy warnings in audio and playerservice.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I265f3b094e08d5705b506b3fbba51439c134af84\nMerged-In: I265f3b094e08d5705b506b3fbba51439c134af84\n"
    },
    {
      "commit": "9ab9f6219a0274bed6a8d64169ab695ef77d29de",
      "tree": "209c75ace298a160761ec652e4810a1bf68c1b47",
      "parents": [
        "cfbaedf0096719fa3f43bec94a9bb2e0d18da582"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 05 16:48:37 2016 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Mon Jun 27 23:17:22 2016 +0000"
      },
      "message": "Remove throttle logcat for bluetooth\n\nDue to reduced buffer sizes for bluetooth it is possible to throttle\nregularly, do not logcat throttle for bluetooth to avoid spamming.\n\nBug: 28286313\nChange-Id: I9a572077a58c8e5cce3d5ac4de3cc6d97d94d7a0\n"
    },
    {
      "commit": "ed61ffb179f0f5154ae9c7fa8b76fba28f686b71",
      "tree": "b602766ddb7006e2aedb30a41e2c82de1c6edd0c",
      "parents": [
        "b8ef3dc52eea062a031a1bc565e295679cc22f5e",
        "0256917c88690e07604f725872321cbe2870ed8b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 22 20:00:59 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 22 20:00:59 2016 +0000"
      },
      "message": "Merge \\\"Limit cached timestamp use if HW fails to provide them\\\" into nyc-dev\nam: 0256917c88\n\nChange-Id: Ia0c7b61ec235f277f0266dac3320d25cdfeba4f0\n"
    },
    {
      "commit": "0256917c88690e07604f725872321cbe2870ed8b",
      "tree": "6e80d1039323547988dc955d6acfed9bdc4b8d67",
      "parents": [
        "6ed329ce5ef63fad07f4ea7f5cda01e74f47c172",
        "07eee80b3422c0304491f24bbc415deb0badbefc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 22 19:55:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 22 19:55:50 2016 +0000"
      },
      "message": "Merge \"Limit cached timestamp use if HW fails to provide them\" into nyc-dev"
    },
    {
      "commit": "07eee80b3422c0304491f24bbc415deb0badbefc",
      "tree": "9fca1712dc24e9e7ca66ea8c394c6bbf6c5c2946",
      "parents": [
        "37a9de26f6403955a19b81ce5ffe87998e9bf46e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 16:47:16 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 22 18:37:59 2016 +0000"
      },
      "message": "Limit cached timestamp use if HW fails to provide them\n\nOn some devices, if the HDMI cable is disconnected during use,\ncached timestamp info can become very old.\n\nBug: 29423451\nChange-Id: Ieecf5e98bad14d00b4f5f14b032c2cf66ae94ceb\n"
    },
    {
      "commit": "a24e646c669122dc01df3349ce9e48f23f08ebb4",
      "tree": "6354af6c814817d0597ed8f10057d4316520314c",
      "parents": [
        "dd536781b05c389344be28dfa31f98e7f5f6245c",
        "c0da99333228e88c311f6e4d52bb282b11d0d068"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 18:17:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 18:17:15 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c am: 195f7c6125 am: 1e1b7e4c3d am: d34a9dfc5e am: 4d942ffdf7 am: 97dc689080 am: 96727e67fa am: 2072f925af am: 807b325704\nam: c0da993332\n\nChange-Id: I94ca4fe78c621b8599a317daaad3ec64643fd591\n"
    },
    {
      "commit": "c0da99333228e88c311f6e4d52bb282b11d0d068",
      "tree": "818206d8aa2b5db785b3dc2c5bf71eb94aadf2c6",
      "parents": [
        "ef7c297ea4b61ec25f3277f83069c42997deac9a",
        "807b325704b3361cb9846450e8d3bbea96a0fa1c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 18:09:02 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 18:09:02 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c am: 195f7c6125 am: 1e1b7e4c3d am: d34a9dfc5e am: 4d942ffdf7 am: 97dc689080 am: 96727e67fa am: 2072f925af\nam: 807b325704\n\nChange-Id: If0a3ddbf84c520434f88ad5f6f02fd854cf8c4aa\n"
    },
    {
      "commit": "807b325704b3361cb9846450e8d3bbea96a0fa1c",
      "tree": "164633bca095b1a508b47887629fba2e5fa70cba",
      "parents": [
        "f83f1236bc913a775013af0968b88b7f1f403caf",
        "2072f925af83c6c518408ac45772271773810705"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 18:06:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 18:06:18 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c am: 195f7c6125 am: 1e1b7e4c3d am: d34a9dfc5e am: 4d942ffdf7 am: 97dc689080 am: 96727e67fa\nam: 2072f925af\n\nChange-Id: I4497f5457ad3cb895c524aa162e50034f7a59f72\n"
    },
    {
      "commit": "96727e67fa1e4cfaf633d43fb4a898f7484cb48b",
      "tree": "1a7e12ac773d7a0a8470473e218955347d47792e",
      "parents": [
        "48826c9398fb394da97d6ab6a615011c880a5fed",
        "97dc6890807d2cf861bac781acad375173906e62"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 17:55:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 17:55:17 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c am: 195f7c6125 am: 1e1b7e4c3d am: d34a9dfc5e am: 4d942ffdf7\nam: 97dc689080\n\nChange-Id: Ia7902852b6d04cd06d3b56ac2c6ac9f7e9df29a6\n"
    },
    {
      "commit": "97dc6890807d2cf861bac781acad375173906e62",
      "tree": "9809fc859f6dd936c532ed064dc443bb8758eef3",
      "parents": [
        "69367123bee39b647d9c72e8f88cea4d241123e0",
        "4d942ffdf7cfbfe43133bf1c87eda4e4569f3507"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 17:52:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 17:52:29 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c am: 195f7c6125 am: 1e1b7e4c3d am: d34a9dfc5e\nam: 4d942ffdf7\n\nChange-Id: I5d59510f7bd7c8b72deef4de177193028af1f4c7\n"
    },
    {
      "commit": "4d942ffdf7cfbfe43133bf1c87eda4e4569f3507",
      "tree": "88116eeb17ed2868dc6252faab13fa0fa18c16af",
      "parents": [
        "8d1b421d2de1bd574136466ab2ced18d57c24535",
        "d34a9dfc5ec334a06d1791d359c2aa5ba810a825"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 17:49:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 17:49:41 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c am: 195f7c6125 am: 1e1b7e4c3d\nam: d34a9dfc5e\n\nChange-Id: I2705198deaaeb485503135fe97bc0d6f5ba8cf70\n"
    },
    {
      "commit": "1e1b7e4c3d513ea947b79fe9d0d4cf9a8e1242a3",
      "tree": "856d7a7b625973b25453be2f1a57a62e7418a9dd",
      "parents": [
        "924aa7861479389e5a1880b4312c81dfb5169f90",
        "195f7c6125d7c0a48c9f7f0aeb0311ba076a8df7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 17:44:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 17:44:05 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c\nam: 195f7c6125\n\nChange-Id: I8da29433f8dabffc94a82617e325a314c4ae84d0\n"
    },
    {
      "commit": "195f7c6125d7c0a48c9f7f0aeb0311ba076a8df7",
      "tree": "0cf37057165f2c538565caa6eec53e26346c053b",
      "parents": [
        "719fd3c0625705777f1ef0667005b111733c2e0b",
        "c971a59f4c2491a2e5143f7118debd7c92fa3333"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 17:41:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 17:41:26 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713\nam: c971a59f4c\n\nChange-Id: I86d971f1a537a34e90e4f0697c9c9a43e509cfc4\n"
    },
    {
      "commit": "c971a59f4c2491a2e5143f7118debd7c92fa3333",
      "tree": "caf1614ded00369deac9f23323e267f599ba3ab8",
      "parents": [
        "fad42aa98d692c5fd830f7c61b4eb9faf4f7cdca",
        "075c8f7713c880986b98b81938bf56f2d036c369"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 17:38:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 17:38:37 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a\nam: 075c8f7713\n\nChange-Id: I7b70873d12dc258b362c88c8a9ea47ca0e0578ca\n"
    },
    {
      "commit": "110bc9547a0c851ff1f20f5d7579b34f942947b8",
      "tree": "b719fae497302d432d53af62476ca1508f4854cc",
      "parents": [
        "dc7357d20175fadfabd903370094917408bf6e3e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 20 15:22:52 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 20 15:22:52 2016 -0700"
      },
      "message": "Check effect command reply size in AudioFlinger\n\nBug: 29251553\nChange-Id: I1bcc1281f1f0542bb645f6358ce31631f2a8ffbf\n"
    },
    {
      "commit": "8572ee135c9af5aacf74f02dd3ce8e9eb3956ec4",
      "tree": "f48f156b0b3dbeccf126359e45c729dc12c874b5",
      "parents": [
        "2e75c84b7a95eceefbc00f9533e31eef983ec014",
        "5d8e3808b4012fa72bedf5898803682831f88e84"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 25 18:29:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 18:29:54 2016 +0000"
      },
      "message": "Merge \"AudioTrack: Fix timestamp startup condition\" into nyc-dev\nam: 5d8e3808b4\n\n* commit \u00275d8e3808b4012fa72bedf5898803682831f88e84\u0027:\n  AudioTrack: Fix timestamp startup condition\n\nChange-Id: Ibc54738fb4beee0db7559e5b9f76910d639e966f\n"
    },
    {
      "commit": "2e75c84b7a95eceefbc00f9533e31eef983ec014",
      "tree": "537274c256bd59d52c3ecdd6a1e64ff89c5e0e5d",
      "parents": [
        "394040d4377e375477e30496f2ae01dcd9f59eeb",
        "5290766537a6075b9f11564e14b3f1be51a35373"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 18:29:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 18:29:50 2016 +0000"
      },
      "message": "Merge \"audio flinger: fix audio patch release\" into nyc-dev\nam: 5290766537\n\n* commit \u00275290766537a6075b9f11564e14b3f1be51a35373\u0027:\n  audio flinger: fix audio patch release\n\nChange-Id: I81ee603009438e24399af8fe1b5118b90b045c48\n"
    },
    {
      "commit": "5d8e3808b4012fa72bedf5898803682831f88e84",
      "tree": "2b78730869fa0bb0c0b12d85d914f8af28280268",
      "parents": [
        "5290766537a6075b9f11564e14b3f1be51a35373",
        "69488c4ef115c9de52c85f4fcae27c7774720298"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 25 17:40:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 17:40:46 2016 +0000"
      },
      "message": "Merge \"AudioTrack: Fix timestamp startup condition\" into nyc-dev"
    },
    {
      "commit": "5290766537a6075b9f11564e14b3f1be51a35373",
      "tree": "a46dc94cf9e6f6a33193c7b51368d4e4b68bac63",
      "parents": [
        "76016ccf97237b131087651db34bdec9e0c81d43",
        "0666cc5b6b430cc5a815dab0bcba3dd73da8061a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 17:17:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 17:17:01 2016 +0000"
      },
      "message": "Merge \"audio flinger: fix audio patch release\" into nyc-dev"
    },
    {
      "commit": "0666cc5b6b430cc5a815dab0bcba3dd73da8061a",
      "tree": "38cae5fe4c86705889a0e80547d3cdb73d67d0cd",
      "parents": [
        "f0f4f1e494a80ce300a68cfce0e1dc627c09c29a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 15 10:14:06 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 08:42:19 2016 -0700"
      },
      "message": "audio flinger: fix audio patch release\n\nRelease playback and capture threads associated to a softwware\naudio patch when the patch handle is reused.\n\nBug: 25638953.\nChange-Id: Ie832513043525dda9089f8e83018810add2a4d6e\n"
    },
    {
      "commit": "69488c4ef115c9de52c85f4fcae27c7774720298",
      "tree": "9f1be0c3a13dec3768aa3e314f346afa7aa96ff0",
      "parents": [
        "f3d9908a888203e7e70b8c2d43ee741a95e154ed"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 16 18:43:33 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 24 18:59:42 2016 -0700"
      },
      "message": "AudioTrack: Fix timestamp startup condition\n\nSuppress timestamps without valid kernel information or\na server update.\n\nUpdate timing of server timestamp location to better indicate\nwhen the server pull occurs.\n\nUpdate write timing logic to suppress unneeded time calls\nand to ensure proper throttling.\n\nBug: 28771691\nChange-Id: I2cd25dad638ca1d0b1355d87d175d908f3bddb26\n"
    },
    {
      "commit": "5cb96b83e6bff91a5ab006ff542dc32031be9087",
      "tree": "94fee5c9f5cb6130a87d0e4cecbae27dd5abd2be",
      "parents": [
        "4d1522bdc7efaa9677ac92b620cea9e9110ec2a4",
        "f3d9908a888203e7e70b8c2d43ee741a95e154ed"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 24 20:41:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 20:41:03 2016 +0000"
      },
      "message": "Merge \"Add memory heap checks for mediaserver and audioserver\" into nyc-dev\nam: f3d9908a88\n\n* commit \u0027f3d9908a888203e7e70b8c2d43ee741a95e154ed\u0027:\n  Add memory heap checks for mediaserver and audioserver\n\nChange-Id: I8b5dda2e29da8651cbd9dbc77fa9ca6211b1a47d\n"
    },
    {
      "commit": "f3d9908a888203e7e70b8c2d43ee741a95e154ed",
      "tree": "d19638ca4ece2ea0f7f60c851b7970b6d4178ba4",
      "parents": [
        "b2379ba0a32638bae2ea0460644f68cf5a0967ce",
        "07b745e166ee62030960ccea37e117caadf71c32"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 24 20:38:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 24 20:38:23 2016 +0000"
      },
      "message": "Merge \"Add memory heap checks for mediaserver and audioserver\" into nyc-dev"
    },
    {
      "commit": "4d1522bdc7efaa9677ac92b620cea9e9110ec2a4",
      "tree": "e6fbaf33f9204ac58f6ab8195e19666455f09f46",
      "parents": [
        "cc516cdd0293fead98ed33fa0334c79a940c8653",
        "53529cf975f5247bfa8dfd8bcbaaeb8ceebda3f0"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 24 11:32:12 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 24 11:32:12 2016 -0700"
      },
      "message": "resolve merge conflicts of 53529cf to nyc-dev-plus-aosp\n\nChange-Id: Iae19c31b9ce2d9c604040e54d6fbf125a3d3d362\n"
    },
    {
      "commit": "cc516cdd0293fead98ed33fa0334c79a940c8653",
      "tree": "fa6c111b9856952a99c3975ef72acb547d261d87",
      "parents": [
        "8b269a1708b95d5f31ea59afb36bb42c26f91961",
        "b2379ba0a32638bae2ea0460644f68cf5a0967ce"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 24 17:27:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 17:27:15 2016 +0000"
      },
      "message": "Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check\nam: b2379ba0a3\n\n* commit \u0027b2379ba0a32638bae2ea0460644f68cf5a0967ce\u0027:\n  Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check\n\nChange-Id: Iff08e0b44c71b63d101ca26c6ed9972fa030bfb1\n"
    },
    {
      "commit": "8b269a1708b95d5f31ea59afb36bb42c26f91961",
      "tree": "26bed40714d9c75ae6e843c36299b6836c4ef938",
      "parents": [
        "4fce50b0b30d583909cef1610957bf33a3aa3ac7",
        "a0e10ff02b156738c0e5441104821b220eea3d68"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Tue May 24 17:27:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 17:27:05 2016 +0000"
      },
      "message": "Merge \"audioflinger: Pass pid of process creating track or opening record\" into nyc-dev\nam: a0e10ff02b\n\n* commit \u0027a0e10ff02b156738c0e5441104821b220eea3d68\u0027:\n  audioflinger: Pass pid of process creating track or opening record\n\nChange-Id: I728ffba8938a82f8b8f7b773febafd5e466c8e4d\n"
    },
    {
      "commit": "b2379ba0a32638bae2ea0460644f68cf5a0967ce",
      "tree": "92313531455a4482d97d03d0f4ecb1e727b4076a",
      "parents": [
        "a0e10ff02b156738c0e5441104821b220eea3d68"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon May 23 17:42:12 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 24 17:16:57 2016 +0000"
      },
      "message": "Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check\n\nMake sure we use the correct PID and UID when checking\nandroid.permission.CAPTURE_AUDIO_OUTPUT permission from audio\npolicy service.\n\nBug: 28772898\nChange-Id: I8f0c45bf7a5728b4364a451eefb6c025892ae9a5\n"
    },
    {
      "commit": "9ea77cdba8c422940adb57a790b44ac04fe0353f",
      "tree": "1e7c588ce1add16e6991eaae918d38414b17d879",
      "parents": [
        "f0f4f1e494a80ce300a68cfce0e1dc627c09c29a"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Apr 06 17:07:48 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 24 00:48:20 2016 +0000"
      },
      "message": "audioflinger: Pass pid of process creating track or opening record\n\nAudioFlinger allocates a Client heap for each unique pid.\nIf two applications use mediaplayer APIs, the same Client heap\nis reused as the pid used is not the application pid but that\nof mediaserver. With this change, the pid of the application\npid is used to decide the heap to be used.\n\nBug: 23525542\nBug: 28772898\nChange-Id: I31a695b0b321eff6e2aca80c3bc4aeb3e1cd9ac7\n"
    },
    {
      "commit": "07b745e166ee62030960ccea37e117caadf71c32",
      "tree": "a370227e0d195f58a4e7797d8a70933730970907",
      "parents": [
        "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 23 16:21:07 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 23 16:55:08 2016 -0700"
      },
      "message": "Add memory heap checks for mediaserver and audioserver\n\nMemory heap check updated and restored to mediaserver,\nadded as new option to audioserver.\n\nRequires properties to be set (example for audioserver):\n\n$ adb shell setprop libc.debug.malloc.program audioserver\n$ adb shell setprop libc.debug.malloc.options backtrace\u003d8\n$ adb shell pkill audioserver\n\n...\n\nand to dump:\n\n$ adb shell dumpsys media.audio_flinger -m\n\nBug: 28909124\nBug: 27500825\nChange-Id: Ifa8c2c02b022daf1a799ee4a1d75282a3c921763\n"
    },
    {
      "commit": "bf29173d6d63536ae9f8cfd1d02153237ee23612",
      "tree": "3f6fe33288711b73e8683d671a57860d6f14219d",
      "parents": [
        "0603c5dfc34923095218307674a60429bfa5873a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 17 15:16:07 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 17 15:16:07 2016 -0700"
      },
      "message": "Fix misc-macro-parentheses warnings.\n\nBug: 28705665\nChange-Id: I97d1dec9a4397fd7a3cab5180a833066b8abe0ab\n"
    },
    {
      "commit": "514d8c512d08824b288fa1784b33a294b0f7e81d",
      "tree": "687ebbee43b39620ac7857d14fc1f49ca7578518",
      "parents": [
        "465cf3ee4a6322f6a7a02afe4d5d4f5015b0cc5d",
        "13084621072ea2e4c34e2a9d79793c621d9bf005"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 19:28:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 17 19:28:55 2016 +0000"
      },
      "message": "audioflinger: fix invalidateTracks() on offload thread\nam: 1308462107\n\n* commit \u002713084621072ea2e4c34e2a9d79793c621d9bf005\u0027:\n  audioflinger: fix invalidateTracks() on offload thread\n\nChange-Id: I086758b71e476468f7b75ad185b6532fc277e165\n"
    },
    {
      "commit": "13084621072ea2e4c34e2a9d79793c621d9bf005",
      "tree": "c6675537ca5bc09afe40d9b03ad9c332b3bf1341",
      "parents": [
        "78d4d1e46c546a29ec86b98f4bfce71424c42213"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 10:51:49 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 10:51:49 2016 -0700"
      },
      "message": "audioflinger: fix invalidateTracks() on offload thread\n\nCommit 05317d29 introduced a regression causing a systematic flush\non offload output thread when invalidateTracks() is called even if\nno track is using the stream type specified.\n\nBug: 28786996\nChange-Id: Iee393ee8b1093c40647235bd35f4a6fa9b62937a\n"
    },
    {
      "commit": "b9987ad06d8298cde7b28bb214ac10777bcf8102",
      "tree": "82598f2e3650cf2a0536b469dcc1abb42da296b1",
      "parents": [
        "ee77653487915b890785764198f4d953c2ff0126",
        "8b43838c4872af3e9f47846e2618461af2d8d346"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 11 22:11:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 11 22:11:28 2016 +0000"
      },
      "message": "Merge \"audioflinger: various offload playback fixes\" into nyc-dev\nam: 8b43838c48\n\n* commit \u00278b43838c4872af3e9f47846e2618461af2d8d346\u0027:\n  audioflinger: various offload playback fixes\n\nChange-Id: I1954e445630309c039ade92e545479245de095be\n"
    },
    {
      "commit": "e93cc03da360a1a0d2ad937c745ce8c8e8be81c2",
      "tree": "9deae98570f41fdec272a863a2e84c7828af1a64",
      "parents": [
        "038ccfd6ff5a32d6f559e5b479d6f8e55d0b5133"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 05 10:15:10 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 11 11:38:01 2016 -0700"
      },
      "message": "audioflinger: various offload playback fixes\n\nRevert underrun sleep time optimization added for\noffload by commit 51716185 which can cause music to pause for a few\nseconds in some corner cases.\n\nAllow underruns in STOPPING_1 state to avoid dropping last buffer\nreceived by the AudioTrack callback after stop() is called by the\nclient.\n\nAllow interruption of thread loop sleep if a command is pending to\nspeed up track start sequence.\n\nDo not wait for a full AudioTrack buffer before writing to audio HAL\nwhen resuming playback or transitioning to next track.\n\nAlso moved log level for underruns in AudioSink from I to D to reduce\nspam on user builds.\n\nBug: 28545177\nBug: 27682362\nBug: 28347796\n\nChange-Id: I05b651b7878a2d2eedcac43cd669e32add171d40\n"
    },
    {
      "commit": "e2e3b6846d856da79ad067b3b7bf559cc69af5ab",
      "tree": "522ad0de116f615aa06c524af9891a1b452e68cb",
      "parents": [
        "7a967c72a635a8da670350da8e4672504fcdf586",
        "5adc73643fbccb4d7a768ab669e6c6eb434c4c98"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 09 22:44:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 09 22:44:21 2016 +0000"
      },
      "message": "Merge \"Improve timestamp jitter fix\" into nyc-dev\nam: 5adc73643f\n\n* commit \u00275adc73643fbccb4d7a768ab669e6c6eb434c4c98\u0027:\n  Improve timestamp jitter fix\n\nChange-Id: Ia604305fa7208b938fa182cffb55f77be6c885a1\n"
    },
    {
      "commit": "6d7b119a416c9f10288051e562f294365e5d954c",
      "tree": "734bff32a20de4a97c24271b745795db3871cd0f",
      "parents": [
        "0b667e2f6f9e871e2fdc89100b8ef4cc623adec2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat May 07 22:59:48 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 09 11:42:57 2016 -0700"
      },
      "message": "Improve timestamp jitter fix\n\nUse last valid kernel timestamp on server side, not client side.\n\nBug: 28465713\nChange-Id: I33590d6922980f288355f947bc56279245058429\n"
    },
    {
      "commit": "eb7fc0bd619064d334d1a87a4c9cd07c862499b5",
      "tree": "8c485341712f565d98718889edb4ca3ffa2fe5fa",
      "parents": [
        "a3e5d028f5257f6a81335766672a85da95ff647d",
        "a605dafc27f69b37eca60579b34e97145f3caca3"
      ],
      "author": {
        "name": "vivek mehta",
        "email": "mvivek@codeaurora.org",
        "time": "Fri May 06 17:20:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 06 17:20:48 2016 +0000"
      },
      "message": "Merge \"audioflinger: extend max i/p channel to 8 channels\" into nyc-dev\nam: a605dafc27\n\n* commit \u0027a605dafc27f69b37eca60579b34e97145f3caca3\u0027:\n  audioflinger: extend max i/p channel to 8 channels\n\nChange-Id: Iefd24213da12d8635d2672454c2cd40fb6ba96a4\n"
    },
    {
      "commit": "a605dafc27f69b37eca60579b34e97145f3caca3",
      "tree": "1a44f1facc858ba5a98b128ccbfac8aade369439",
      "parents": [
        "e0c4cfee5429d166abdeb95405f9dbe76615575b",
        "753466603a88f1ea3d966d17ab79256519553759"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 06 17:08:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 06 17:08:09 2016 +0000"
      },
      "message": "Merge \"audioflinger: extend max i/p channel to 8 channels\" into nyc-dev"
    },
    {
      "commit": "753466603a88f1ea3d966d17ab79256519553759",
      "tree": "42864de8966f6226ab648ef3c4faebac7dbecc70",
      "parents": [
        "5bdfad1a45a7d5fd03732c75768eef65975660dc"
      ],
      "author": {
        "name": "vivek mehta",
        "email": "mvivek@codeaurora.org",
        "time": "Wed May 04 18:45:46 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 05 18:12:34 2016 -0700"
      },
      "message": "audioflinger: extend max i/p channel to 8 channels\n\n- on open_input stream max channel check is for 2 (FCC_2),\n  extend this to 8 (FCC_8)\n\nBug: 27348418\n\nChange-Id: I0d7e5a101dee0a2effabc3637a1fb73e7ea78ffd\n"
    },
    {
      "commit": "dde6ac2a60c589a8cd6455a307edd5c47dd3b2b4",
      "tree": "13cef81f8a457c22397b9141f6bc491b298be769",
      "parents": [
        "63c857c7fd57587e71fd3cd9bf3c0c9e49e29dd9",
        "823b18ef45f0593386d9d5d20fbf9a0379ad0ebb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 06 00:21:59 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 06 00:21:59 2016 +0000"
      },
      "message": "Merge \"Remove throttle logcat for bluetooth\" into nyc-dev\nam: 823b18ef45\n\n* commit \u0027823b18ef45f0593386d9d5d20fbf9a0379ad0ebb\u0027:\n  Remove throttle logcat for bluetooth\n\nChange-Id: I03a92e904572f32410332737667115958b5f4cf2\n"
    },
    {
      "commit": "823b18ef45f0593386d9d5d20fbf9a0379ad0ebb",
      "tree": "8245a31aac2dad65d346cad5ae6c25caca7e989f",
      "parents": [
        "375a9c03550cc1bdca9e2cca862d6e549530bac6",
        "3ea004dd80c06c5b366e1a2547ea9b28fffc1865"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 06 00:15:10 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 06 00:15:10 2016 +0000"
      },
      "message": "Merge \"Remove throttle logcat for bluetooth\" into nyc-dev"
    },
    {
      "commit": "3ea004dd80c06c5b366e1a2547ea9b28fffc1865",
      "tree": "85a859d737496e163cea22e688ab20bd28a6a106",
      "parents": [
        "26583ffe69a7601ad29e00094fe66ce795356fab"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 05 16:48:37 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 05 16:48:37 2016 -0700"
      },
      "message": "Remove throttle logcat for bluetooth\n\nDue to reduced buffer sizes for bluetooth it is possible to throttle\nregularly, do not logcat throttle for bluetooth to avoid spamming.\n\nBug: 28286313\nChange-Id: I9a572077a58c8e5cce3d5ac4de3cc6d97d94d7a0\n"
    },
    {
      "commit": "236e8ffc45c43dccecd95447d1092f7cc697ad25",
      "tree": "708f80facd7e181f3fb083476e66618594614f89",
      "parents": [
        "5fa779d9c1acbebc562dabefc1f6d857b22fe4fb",
        "0c43cb3a987351395badada9ee9384afb09d1c78"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed May 04 23:08:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 04 23:08:03 2016 +0000"
      },
      "message": "Merge \"audioflinger: set flush pending on invalidating offload track\" into nyc-dev\nam: 0c43cb3a98\n\n* commit \u00270c43cb3a987351395badada9ee9384afb09d1c78\u0027:\n  audioflinger: set flush pending on invalidating offload track\n\nChange-Id: If1f63ccd2b4de7b7de3979d28626e9f45b23ce15\n"
    },
    {
      "commit": "05317d29b27e5fda654bea21b80d4423a03f49b3",
      "tree": "7b1a73073296e1496864a0f8546993c7b0908f2e",
      "parents": [
        "5bdfad1a45a7d5fd03732c75768eef65975660dc"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Tue May 03 16:34:26 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 04 21:34:35 2016 +0000"
      },
      "message": "audioflinger: set flush pending on invalidating offload track\n\nOn invalidating an offload track, the IAudioTrack instance is\ndestroyed and the offload output is released. If it so happens\nthat APM::getOutputForAttr for the new IAudioTrack is called before\nOffloadThread::prepareTracks_l checks and removes an invalid track,\nthe same output can get reused.\n\nThe side effect of this is data present in HAL and below from before the\ninvalidate will be rendered before data from the new seek position\nis rendered. This is unexpected.\n\nTo fix this, set hint to issue flush when an offload track is invalidated.\n\nBug: 28566885\nChange-Id: Ib6c38a3abb600598b87591bac90d03b7150d5216\n"
    },
    {
      "commit": "c03ab34de017c1330632f4d1c37983bb493bf93b",
      "tree": "2d1d0f01e94de386a9dfab091037beffe376c459",
      "parents": [
        "03f191f556d021cfcefa260ceeba2c87283febc6",
        "d0389b874d592b960bdc456c2514a36b082c2c94"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 29 14:29:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 29 14:29:26 2016 +0000"
      },
      "message": "Merge \"Can now indicate the desired number of notifications (sub-buffers)\" into nyc-dev\nam: d0389b874d\n\n* commit \u0027d0389b874d592b960bdc456c2514a36b082c2c94\u0027:\n  Can now indicate the desired number of notifications (sub-buffers)\n\nChange-Id: I56e20dbd5f386b53af87acc9a5fe111f60147a5b\n"
    },
    {
      "commit": "d0389b874d592b960bdc456c2514a36b082c2c94",
      "tree": "ee34a08571fcbd657040c8f9b7f90deb34adb6c4",
      "parents": [
        "dc2c50bad491d2c0c8a2efc0e24491076701c63c",
        "ea38ee7742e799b23bd8675f5801ef72f94de0f4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 29 14:25:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 29 14:25:44 2016 +0000"
      },
      "message": "Merge \"Can now indicate the desired number of notifications (sub-buffers)\" into nyc-dev"
    },
    {
      "commit": "03f191f556d021cfcefa260ceeba2c87283febc6",
      "tree": "b80378954835cf980c2b579ca5e9e4f6cf214748",
      "parents": [
        "4c0d6da0073e33d1c88ed52481f430ad68bd73ea",
        "dc2c50bad491d2c0c8a2efc0e24491076701c63c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 29 14:13:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 29 14:13:46 2016 +0000"
      },
      "message": "Make max fast tracks configurable using a property\nam: dc2c50bad4\n\n* commit \u0027dc2c50bad491d2c0c8a2efc0e24491076701c63c\u0027:\n  Make max fast tracks configurable using a property\n\nChange-Id: Icc2a6a36ecbb9f92df7141fbafff3af03823beaf\n"
    },
    {
      "commit": "ea38ee7742e799b23bd8675f5801ef72f94de0f4",
      "tree": "49a00a228e6304a36d19ff4126293c8fce16ff73",
      "parents": [
        "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 18 11:08:01 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 28 16:36:22 2016 -0700"
      },
      "message": "Can now indicate the desired number of notifications (sub-buffers)\n\nper fast track buffer when using the default buffer size.\n\nThere is no change for normal tracks, or fast tracks with a non-default buffer size.\n\nAlso fix related bugs:\nNotification period was not set correctly when fast multiplier is not 1.\nIncorrect warning when client adjusted notification frames.\n\nBug: 27819623\nBug: 28117362\nChange-Id: Ifc2121e874f51718cd56ec04e4bd5f89f4963132\n"
    },
    {
      "commit": "dc2c50bad491d2c0c8a2efc0e24491076701c63c",
      "tree": "b1b2eead0896ffa4b095bee9fb0a00c8cc8d5944",
      "parents": [
        "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 21 08:13:14 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 28 15:17:09 2016 -0700"
      },
      "message": "Make max fast tracks configurable using a property\n\nro.audio.max_fast_tracks\n\nRename the currently configured maximum number of fast tracks\nfrom FastMixerState::kMaxFastTracks to FastMixerState::sMaxFastTracks.\n\nThere is no guarantee that the CPU will be able to handle\nthe configured number of fast tracks.\n\nBug: 27564141\nChange-Id: If9af226d839b226503488c3cb20a4bb8950b429d\n"
    },
    {
      "commit": "5fb71f62474c92206dd068b725dab0572c9ede95",
      "tree": "0aa3115a652b64dccbb5a7a8a62268e4039e9ea2",
      "parents": [
        "e2a5d52e83cc26be29cac7f4efa49bd1b4f99fe1",
        "eb7f3940044effc6a8b313a73134b5cc2156068c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 20 00:01:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 20 00:01:20 2016 +0000"
      },
      "message": "Merge \"Add AudioSystem::getFrameCountHAL()\" into nyc-dev\nam: eb7f394004\n\n* commit \u0027eb7f3940044effc6a8b313a73134b5cc2156068c\u0027:\n  Add AudioSystem::getFrameCountHAL()\n\nChange-Id: Ib82d6e8fb760a90e47a374cd1d10f5a956ea1a9c\n"
    },
    {
      "commit": "4a8308b11b92e608cdaf29f73f7919e75706f9a2",
      "tree": "2358eaecf7bb7beafd3341927c1621ac1a594ed3",
      "parents": [
        "88bd61e31184a72e34e5a8c2ae11d034e01845aa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 18 14:10:01 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 19 13:01:54 2016 -0700"
      },
      "message": "Add AudioSystem::getFrameCountHAL()\n\nAnd add comments about declaring methods in binder opcode order.\n\nBug: 28117362\nChange-Id: I3c4426fa4bb3ce9c4a207a44d3bb1103d7fef160\n"
    },
    {
      "commit": "eb059113754c54b178d6de6feec13daadd244672",
      "tree": "024a13e22bc041a0892c7b6f20741fe7ae606f6f",
      "parents": [
        "bb4c624a6e68cc1926987b71f7d100a9d7e36cc3",
        "88bd61e31184a72e34e5a8c2ae11d034e01845aa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 19 15:07:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 19 15:07:34 2016 +0000"
      },
      "message": "Merge \"Reduce rollovers of unique ID generator\" into nyc-dev\nam: 88bd61e\n\n* commit \u002788bd61e31184a72e34e5a8c2ae11d034e01845aa\u0027:\n  Reduce rollovers of unique ID generator\n\nChange-Id: I424811996d1dd9f6ee71ceda4fff515c7698334f\n"
    },
    {
      "commit": "d2e67e1ef59921101fd7b047e2acf84e5d16d66e",
      "tree": "72883cf95314261924d58d5f36e409eb3863b3eb",
      "parents": [
        "5cc32c5ee9caa11a3c9cd205c42463ead28ec87e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 11 08:26:37 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 18 11:14:10 2016 -0700"
      },
      "message": "Reduce rollovers of unique ID generator\n\nBug: 28119934\nChange-Id: I6c57d5555f6c5ddc4d4eee1e6f27fc4aaeb31c83\n"
    },
    {
      "commit": "043470de221152557286d0b7aa0536ea165c268a",
      "tree": "c911b73a5687de23750aa40d5cd953c7897a710f",
      "parents": [
        "212fa4adc0a08e043b586f8abbf6d14ce863f5ad",
        "49e5375bf3c98c825538d30b6bea9f4e84f0c36f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 13 23:12:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 13 23:12:26 2016 +0000"
      },
      "message": "Merge \"Add memory leak detection to audioserver\" into nyc-dev\nam: 49e5375\n\n* commit \u002749e5375bf3c98c825538d30b6bea9f4e84f0c36f\u0027:\n  Add memory leak detection to audioserver\n\nChange-Id: I85d46b708beb575d01e51f610c87fbb35f2601a7\n"
    },
    {
      "commit": "35fec5f61393124c9e13958941637b8fe386385e",
      "tree": "fefde299821c796e53e4e87a924754f213d5850c",
      "parents": [
        "0c4a97e6e1470b2d8b8810792af8d66689020c51"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 13 14:21:48 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 13 14:38:00 2016 -0700"
      },
      "message": "Add memory leak detection to audioserver\n\nadb shell dumpsys media.audio_flinger --unreachable\n\n(userdebug and eng builds)\n\nBug: 28049120\nChange-Id: I72ac624bd5b5482aac44b9f3d8429f657f715cb4\n"
    },
    {
      "commit": "dbe477af33cee467480f171d2765d958ac162d6e",
      "tree": "5cc18f05b4fc8e2d137e44601bd15e9494287480",
      "parents": [
        "29906b24012386b9e90b71075de35a213bf8672f",
        "8ae73129e7e79d826b293238c2f037f723d0e6e8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 13 01:28:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 13 01:28:23 2016 +0000"
      },
      "message": "audio policy: fix call audio over 24 bit USB device\nam: 8ae7312\n\n* commit \u00278ae73129e7e79d826b293238c2f037f723d0e6e8\u0027:\n  audio policy: fix call audio over 24 bit USB device\n\nChange-Id: I19dabdfb26baf13cfc42dd532935338fd7f1d091\n"
    },
    {
      "commit": "8ae73129e7e79d826b293238c2f037f723d0e6e8",
      "tree": "a6a5acadaea37f33ccfc316ffd68483951106e29",
      "parents": [
        "aff4e460d4cf278909316412c17c042d7366178f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 10:13:29 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 17:47:57 2016 -0700"
      },
      "message": "audio policy: fix call audio over 24 bit USB device\n\nTake into account voice RX source device properties when\nconfiguring the audio patch bridging the voice RX device\nto the USB output device.\n\nBug: 25643110\n\nChange-Id: I06f282d3cc12493f21500bf9ab35a3ceb93f14af\n"
    },
    {
      "commit": "9f0fdd1edd70ab31c3b7d9b687afb44e83b868b7",
      "tree": "9a17cabb5aeb9c787abfd9418c5ba3cb887e98fb",
      "parents": [
        "df2b62e38b35bdb03e12d8565a9f530eb096dbf8",
        "aff4e460d4cf278909316412c17c042d7366178f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 12 23:27:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 12 23:27:27 2016 +0000"
      },
      "message": "Merge \"AudioTrack: Reset position on flush for extended timestamps.\" into nyc-dev\nam: aff4e46\n\n* commit \u0027aff4e460d4cf278909316412c17c042d7366178f\u0027:\n  AudioTrack: Reset position on flush for extended timestamps.\n\nChange-Id: I3c913b1d59aa701cb9d1777f0b45595bd78beee3\n"
    },
    {
      "commit": "aff4e460d4cf278909316412c17c042d7366178f",
      "tree": "e1a9bb3c472434c5012eb4c491ca9be2f25990e3",
      "parents": [
        "bb969e7b2230b520a903b22fb6e89c3e14d38ad8",
        "e1e9846a786a0d77a13b44f8e798e03b4cba9d77"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 12 23:18:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 23:18:57 2016 +0000"
      },
      "message": "Merge \"AudioTrack: Reset position on flush for extended timestamps.\" into nyc-dev"
    },
    {
      "commit": "e1e9846a786a0d77a13b44f8e798e03b4cba9d77",
      "tree": "57580c6e48c242f5338e6ed4e99f03cb2511824f",
      "parents": [
        "8a049c2f127f95715375d5ede39b2363b3a68329"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 12 10:18:51 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 12 14:57:36 2016 -0700"
      },
      "message": "AudioTrack: Reset position on flush for extended timestamps.\n\nBug: 27940058\nChange-Id: If91320669e2e84803e601137b1ce66b361b129f1\n"
    },
    {
      "commit": "aaf2475680709d665a194832f2713ced15ac7cd3",
      "tree": "cef92359eb961f90e7937b67ade9e091c01ba9be",
      "parents": [
        "db5e97dd1e17e8463d55d630ab3ae745be9fd47e",
        "fc302fd9e2d2cbafef771de77c47799488e1c044"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 11 22:43:08 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 11 22:43:08 2016 +0000"
      },
      "message": "Fix audio tee sink debugging tool\nam: fc302fd\n\n* commit \u0027fc302fd9e2d2cbafef771de77c47799488e1c044\u0027:\n  Fix audio tee sink debugging tool\n\nChange-Id: I0279e751c785362982af3486d335eb54453a6b0b\n"
    },
    {
      "commit": "fc302fd9e2d2cbafef771de77c47799488e1c044",
      "tree": "aae0fe55c9cb22243f438b25fc1732a19005917b",
      "parents": [
        "25df0fc0328920c585eb30cc21eb85b74d103eb2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 11 14:11:26 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 11 14:13:04 2016 -0700"
      },
      "message": "Fix audio tee sink debugging tool\n\nBug: 28119692\nChange-Id: Ieb7b41754fab0111602dd29b63b0fd8c9c4b4d2d\n"
    },
    {
      "commit": "8bcb9c56784bc9abf44ded0c4fb55b24739d700f",
      "tree": "2a598e29e1f722a1760dbbeb450cc071f5e1b8a3",
      "parents": [
        "25d7862329a460ce4cd2fe094713eb89e2136ded",
        "dd3e7a1be829243c6db6ad82e41e6a3a8dce174b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 06 23:04:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 06 23:04:37 2016 +0000"
      },
      "message": "Merge \"Check newAudioUniqueId() parameter \\\u0027use\\\u0027\" into nyc-dev\nam: dd3e7a1\n\n* commit \u0027dd3e7a1be829243c6db6ad82e41e6a3a8dce174b\u0027:\n  Check newAudioUniqueId() parameter \u0027use\u0027\n\nChange-Id: Ib64400d1198a40f8fcfbe188e6514107ab87b0f1\n"
    },
    {
      "commit": "9d003131329450081c8129b3fddd85cf20d2d9d9",
      "tree": "787230db6b4b5417e5fd345e2d1ca9979434ebfd",
      "parents": [
        "4d363d4625588bf2007d31c244c83b0965d834b4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 06 14:38:09 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 06 22:55:24 2016 +0000"
      },
      "message": "Check newAudioUniqueId() parameter \u0027use\u0027\n\nBug: 28025366\nChange-Id: Ice81e47cb919aa2aa6c78ccadebe9a1f19668f9c\n"
    },
    {
      "commit": "ba27fff473a122a9d2ad3ac852eceb61002de3c6",
      "tree": "98e37fbb8c7408a1e162749080f4a94b0f6731e4",
      "parents": [
        "a6078f7c4bfa03c5f744e5fe57272606fb12b6a8",
        "f3bcfebc7183e2a44a86060861f8446b8163906b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 04 04:11:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 04 04:11:01 2016 +0000"
      },
      "message": "Merge \"Implement client playback timestamps with 64 bit accuracy\" into nyc-dev\nam: f3bcfeb\n\n* commit \u0027f3bcfebc7183e2a44a86060861f8446b8163906b\u0027:\n  Implement client playback timestamps with 64 bit accuracy\n\nChange-Id: I77ef69988b0eb0cb5b24626c2984498304b42f68\n"
    },
    {
      "commit": "f3bcfebc7183e2a44a86060861f8446b8163906b",
      "tree": "1aef4920561e1290b6916556ef21dababcdfca1c",
      "parents": [
        "c190198e5ed92d66424f1f9d54f18c38e3e2009f",
        "ea2b9c07b34079f0dbd8610a511e006e69a15adc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 04 04:04:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 04 04:04:51 2016 +0000"
      },
      "message": "Merge \"Implement client playback timestamps with 64 bit accuracy\" into nyc-dev"
    },
    {
      "commit": "707e11cfd5aed5b035ba6ba0954de1c2b4a820c2",
      "tree": "0d318a126a405ba2b1add445963d0b6035a30557",
      "parents": [
        "79bd69f6954caec1e1f14e6fd2b58863d058219f",
        "eebc3ad457d5b9a1acc0fe0393b770004016a014"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 01 22:38:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 01 22:38:20 2016 +0000"
      },
      "message": "Merge \"audioflinger: fix offload underrun sleep logic\" into nyc-dev\nam: eebc3ad\n\n* commit \u0027eebc3ad457d5b9a1acc0fe0393b770004016a014\u0027:\n  audioflinger: fix offload underrun sleep logic\n\nChange-Id: I85a5ec92178cf7edbbcea47459833af95e338b3f\n"
    },
    {
      "commit": "eebc3ad457d5b9a1acc0fe0393b770004016a014",
      "tree": "f8ab6a6f1f0fa5872093d6035315afac82bf1415",
      "parents": [
        "7c6a1621ef253989ab44cf68904531b35ae8b0b1",
        "3eaf66b860f9a0d8af0dd4d5ac6adb5b67d7b73a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 01 22:28:07 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 01 22:28:07 2016 +0000"
      },
      "message": "Merge \"audioflinger: fix offload underrun sleep logic\" into nyc-dev"
    },
    {
      "commit": "3eaf66b860f9a0d8af0dd4d5ac6adb5b67d7b73a",
      "tree": "53e01dd5294f835f149b3fcba8334e0353d2cef9",
      "parents": [
        "029aaa6887a86185c451b615fadcfd97b008e9b5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 01 14:44:17 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 01 15:23:22 2016 -0700"
      },
      "message": "audioflinger: fix offload underrun sleep logic\n\nDo not sleep in case of underrun if not enough data has been\nsent to the audio HAL since last flush or standby.\n\nBug: 27898813\nChange-Id: Ic44bed97c7397ec1156d4fe9026c4fa9f00d651c\n"
    },
    {
      "commit": "1719e8ffa0b44e72b3d44a98f0340613949bc04a",
      "tree": "1ee3847033c2212df1df9288c4b038beddf11d3f",
      "parents": [
        "0589c76f105a8c996ab9fe58ff49c04ca5d2d6a6",
        "c526e1ef36f8f0520a059c6cf304e12e86170c26"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 01 16:21:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 01 16:21:53 2016 +0000"
      },
      "message": "Merge \"audioflinger: keep wakelock during offload playback\" into nyc-dev\nam: c526e1e\n\n* commit \u0027c526e1ef36f8f0520a059c6cf304e12e86170c26\u0027:\n  audioflinger: keep wakelock during offload playback\n\nChange-Id: Ifcffaf0708fafc457f8b18db3b840771e1fda87a\n"
    },
    {
      "commit": "c526e1ef36f8f0520a059c6cf304e12e86170c26",
      "tree": "058eba391db31963c1808e21c2747c52f9976fee",
      "parents": [
        "1e47cb09db479f29d80c5354a5f5ddc4973ef6a5",
        "646679779a8f952980a5d4219ad9c6f93efc4b92"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 01 16:17:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 01 16:17:48 2016 +0000"
      },
      "message": "Merge \"audioflinger: keep wakelock during offload playback\" into nyc-dev"
    },
    {
      "commit": "1a15a1048c8a99ae812bc2d0bd617ead8d924387",
      "tree": "ee56cce0764b0f80bb08064a6901a26db0511c5f",
      "parents": [
        "4d35a77fa0ea8c91ca638262664a0a06d54bbf1f",
        "601b5a5f34d480d562d33526b4d87f7f704ab569"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Apr 01 00:42:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 01 00:42:49 2016 +0000"
      },
      "message": "Merge \"Ignore ro.audio.silent property when playing on REMOTE_SUBMIX\" into nyc-dev\nam: 601b5a5\n\n* commit \u0027601b5a5f34d480d562d33526b4d87f7f704ab569\u0027:\n  Ignore ro.audio.silent property when playing on REMOTE_SUBMIX\n\nChange-Id: I39b2146bf7e2f130f2b4f35689c5f92de5ac45ff\n"
    },
    {
      "commit": "32f37c22f60b7a1a6ccfa351700f80c03918d4fe",
      "tree": "7bbba0ef3e9a1fc7e48d98681f376d33727580c9",
      "parents": [
        "9887c3e252ec0571ee8637310ea9ec2eec118044"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 31 16:00:32 2016 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 31 16:00:32 2016 -0700"
      },
      "message": "Ignore ro.audio.silent property when playing on REMOTE_SUBMIX\n\nIgnore the effect of the ro.audio.silent property for playback\n threads playing on AUDIO_DEVICE_OUT_REMOTE_SUBMIX as playing\n in those mixes doesn\u0027t make a sound.\n\nBug 27336527\n\nChange-Id: I933cfed29cd72636fd33282e5f2ad05693688b83\n"
    },
    {
      "commit": "ea2b9c07b34079f0dbd8610a511e006e69a15adc",
      "tree": "95898426bb80bdc743a0746bc8149f1ba313dfde",
      "parents": [
        "1b9e52cd6553e60f02663c02e7b75f05ec2ef351"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 12 17:06:53 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 31 14:45:36 2016 -0700"
      },
      "message": "Implement client playback timestamps with 64 bit accuracy\n\nProvide server timestamps if the HAL doesn\u0027t provide it.\nProvide monotonic - boottime translation.\n\nBug: 17472992\nBug: 26682703\nBug: 27749434\nChange-Id: I6c9b213d9f9284092e34d57f52870e02c72df62a\n"
    },
    {
      "commit": "646679779a8f952980a5d4219ad9c6f93efc4b92",
      "tree": "5724d8865f5060b1e60ed5744279fcb0790493cd",
      "parents": [
        "029aaa6887a86185c451b615fadcfd97b008e9b5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 30 18:19:46 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 30 18:19:46 2016 -0700"
      },
      "message": "audioflinger: keep wakelock during offload playback\n\nAdd a system property ro.audio.offload_wakelock to select\nif a wakelock should be kept during offload playback while waiting for\nwrite completion callback.\nThe default is yes, keep the wakelock.\n\nOn some platforms, the cost of entering or exiting suspend is so high\nthat is it better to not release a wakelock at all rather than releasing\nit periodically.\n\nBug: 26208297\nChange-Id: Ib41c7e4ed9c8c0c063363eb9fe99a2ecc81b521b\n"
    },
    {
      "commit": "b9b9fa3d28a0436bb5e267d8fc3626ebd820fe78",
      "tree": "08e04811c7ee2862a435bbf83c97f30d94206a61",
      "parents": [
        "538a7799970cb171c68fb9c15ad9134063fd6302",
        "54b48c31fba71534ea56e32609f7ea770519fb2e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 29 22:12:39 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 29 22:12:39 2016 +0000"
      },
      "message": "Merge \"Use audio_module_handle_t and audio_patch_handle_t consistently\" into nyc-dev\nam: 54b48c3\n\n* commit \u002754b48c31fba71534ea56e32609f7ea770519fb2e\u0027:\n  Use audio_module_handle_t and audio_patch_handle_t consistently\n\nChange-Id: Icbe23830212ccdbf49ee6e7978642aeb3d2de6c6\n"
    },
    {
      "commit": "54b48c31fba71534ea56e32609f7ea770519fb2e",
      "tree": "29c30306457dc946dfe75663b2577f20d688dc52",
      "parents": [
        "034c20eab5e5d13591278bd415ea78fe0bb779b7",
        "a13cde98a880341f0a56d91da6364b093fb5d24e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 29 22:02:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 29 22:02:44 2016 +0000"
      },
      "message": "Merge \"Use audio_module_handle_t and audio_patch_handle_t consistently\" into nyc-dev"
    },
    {
      "commit": "a13cde98a880341f0a56d91da6364b093fb5d24e",
      "tree": "3974215c7cc52f2136c04e3e38568e0483c03129",
      "parents": [
        "45993ad8833063a50af83f76ec1ddeba673b5277"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 28 15:26:02 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 29 13:43:18 2016 -0700"
      },
      "message": "Use audio_module_handle_t and audio_patch_handle_t consistently\n\nBug: 27814144\nChange-Id: I54b7a73ec318779fd3addb060998f4d94141152d\n"
    },
    {
      "commit": "994ea268043e476c1f4e5dbd57d55d6114f59eb8",
      "tree": "a8255ae791a618f144de5ee500244f3445f1ffed",
      "parents": [
        "28ece4d89bcbf34785d909e8f62a486080d0315d",
        "0be3be0cf5530d6faf655c325ec9d94a2bd53564"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 28 23:58:00 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 28 23:58:00 2016 +0000"
      },
      "message": "Merge \"Fix FastTrack creation buffer count irregularity\" into nyc-dev\nam: 0be3be0\n\n* commit \u00270be3be0cf5530d6faf655c325ec9d94a2bd53564\u0027:\n  Fix FastTrack creation buffer count irregularity\n"
    },
    {
      "commit": "0be3be0cf5530d6faf655c325ec9d94a2bd53564",
      "tree": "3863687a9e7e04f67d4a1aa2c6a249ef8e07999f",
      "parents": [
        "45993ad8833063a50af83f76ec1ddeba673b5277",
        "e0a269a5f75956efdf78a9cacaefc428b352730c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 28 23:50:02 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 28 23:50:02 2016 +0000"
      },
      "message": "Merge \"Fix FastTrack creation buffer count irregularity\" into nyc-dev"
    },
    {
      "commit": "9f9d8241f72ff01072561ead51b2b0e3d5ce6475",
      "tree": "7784643c76a5a97536606a312b67a48f6d417f5e",
      "parents": [
        "fdb1d0793cd65fd760dfa197728f7971ee13b760",
        "9ce67b524236db52eadf558e7765775acad89f1f"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Mar 25 15:12:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 25 15:12:28 2016 +0000"
      },
      "message": "Park FastCapture in HOT_IDLE while processing new parameters\nam: 9ce67b5\n\n* commit \u00279ce67b524236db52eadf558e7765775acad89f1f\u0027:\n  Park FastCapture in HOT_IDLE while processing new parameters\n"
    },
    {
      "commit": "9ce67b524236db52eadf558e7765775acad89f1f",
      "tree": "003ec6dcd057d91ccc84cfaa714d5b6a6b0ce650",
      "parents": [
        "15ac558b0f1873dbe0d9c1e6fed042a349f8b5a4"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Sep 30 11:40:47 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 25 08:06:28 2016 -0700"
      },
      "message": "Park FastCapture in HOT_IDLE while processing new parameters\n\nWithout this, FastCapture can starve RecordThread delaying\nhandling of new parameters.\n\nBug: 24667895\nChange-Id: Idb7113b7b0f96f2c35c655b6fdb3279f119ad1a3\n"
    },
    {
      "commit": "d2100593a01b4a36745b394b649e027a125513cc",
      "tree": "fb7fbd12fc20fb11aa06431989a121a9a270ea77",
      "parents": [
        "8c9adfe18f1a222e42cb208f8c62e03a66bf270c",
        "c1c545a2eedb68c5af2d4f817654081cd1ac2481"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 24 23:57:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 24 23:57:18 2016 +0000"
      },
      "message": "Merge \"Add AutoPark template class and use to control FastMixer\" into nyc-dev\nam: c1c545a\n\n* commit \u0027c1c545a2eedb68c5af2d4f817654081cd1ac2481\u0027:\n  Add AutoPark template class and use to control FastMixer\n"
    },
    {
      "commit": "c05b8d7df46619d3474356241d47655478b8bc82",
      "tree": "27f4ef067be509b845673b603d52e723b0146fec",
      "parents": [
        "f4044e892d3939fb99ee545a5e8e8e2999f476b2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 24 09:48:17 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 24 13:34:44 2016 -0700"
      },
      "message": "Add AutoPark template class and use to control FastMixer\n\nBug: 24667895\nChange-Id: Id739a109aca13664b9390d2f9d9616fa2f88d188\n"
    },
    {
      "commit": "e0a269a5f75956efdf78a9cacaefc428b352730c",
      "tree": "df39c63afd12c3009c56a903779e2533aacf970f",
      "parents": [
        "5a898236109c3cb705241e66583d80df413198d2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 23 15:13:42 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 23 15:30:21 2016 -0700"
      },
      "message": "Fix FastTrack creation buffer count irregularity\n\nFor small values of buffer framecount, AudioFlinger may create a\nnormal track.\n\nBug: 27817933\nChange-Id: I7c69491fc1f2b204e14286fb4c2210c5983afb8b\n"
    },
    {
      "commit": "9b8e05d33167864a3dd46df13988e1ae57afb249",
      "tree": "f8c7eb322ec4f4193ee1891e38c467ba71dd60e3",
      "parents": [
        "9088fdabc555053306169fc30f5f0418ff5e6b96",
        "6b3305184ca24ac7561e245638250e04399a4401"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 21 23:39:40 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 21 23:39:40 2016 +0000"
      },
      "message": "Merge \"Make build warnings be errors\" into nyc-dev\nam: 6b33051\n\n* commit \u00276b3305184ca24ac7561e245638250e04399a4401\u0027:\n  Make build warnings be errors\n"
    },
    {
      "commit": "6b3305184ca24ac7561e245638250e04399a4401",
      "tree": "b12e604f064b7d12b851ce360c6fae316b1cc2fc",
      "parents": [
        "03e015d2e6d38de6e7041766b37fe03746e9c940",
        "e875c8016198b4d84225fcf45d905fc424e53553"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 21 23:32:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 21 23:32:44 2016 +0000"
      },
      "message": "Merge \"Make build warnings be errors\" into nyc-dev"
    },
    {
      "commit": "7b81b7e026053615f93af1efc130205eef547e57",
      "tree": "b26d582078cccbb1404b25b9e19b4d330d9d1903",
      "parents": [
        "23fc0dafa8e1d53343790fb576731784e8bdd3b7",
        "311fab5291be07fe33ec65240825b4f4bc118fe7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 21 19:58:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 21 19:58:09 2016 +0000"
      },
      "message": "Merge \"Fix build warnings\" into nyc-dev\nam: 311fab5\n\n* commit \u0027311fab5291be07fe33ec65240825b4f4bc118fe7\u0027:\n  Fix build warnings\n"
    },
    {
      "commit": "c42e9b462661673dff480ee71757a58b0f806370",
      "tree": "c9d53e761500f2466b7b8c4cfeb78b072d424e29",
      "parents": [
        "02c4f1c02b832868bbae2bf2c62039e54dc0b6d4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 21 11:35:03 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 21 12:05:28 2016 -0700"
      },
      "message": "Fix build warnings\n\nChange-Id: Idfdaff3a7a8f60cd8817bd306bfba28020a391c8\n"
    },
    {
      "commit": "da631f5894b2cfb77e47179a0f401c266b5eedb1",
      "tree": "dab5ce13a2e273f1126c243fd6326d2cbb0792ae",
      "parents": [
        "066ba128e3641ddfb74adc3095e357d8b6f8452a",
        "7be6866af78a86a89113e9b680f1a6416ae1f711"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Mar 19 00:43:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 19 00:43:22 2016 +0000"
      },
      "message": "Merge \"Fix build warnings\" into nyc-dev\nam: 7be6866\n\n* commit \u00277be6866af78a86a89113e9b680f1a6416ae1f711\u0027:\n  Fix build warnings\n"
    },
    {
      "commit": "7be6866af78a86a89113e9b680f1a6416ae1f711",
      "tree": "e89bc6fbcaecddfe83a01af125880b284f7ed496",
      "parents": [
        "76f27134fb546340154216212d84243d56a8928a",
        "57c4e6f7464d458eb52d209c2a63524913d6406d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Mar 19 00:40:45 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 19 00:40:45 2016 +0000"
      },
      "message": "Merge \"Fix build warnings\" into nyc-dev"
    },
    {
      "commit": "57c4e6f7464d458eb52d209c2a63524913d6406d",
      "tree": "b7fae46bbc981c62460d572b51d6f68b9f9b847d",
      "parents": [
        "560a198f1f95a085e24944b20df536e75e21cedb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 14:54:07 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 17:36:37 2016 -0700"
      },
      "message": "Fix build warnings\n\nChange-Id: I33178dbe0bfc087d6599579ca0529ad853c669ed\n"
    },
    {
      "commit": "066ba128e3641ddfb74adc3095e357d8b6f8452a",
      "tree": "9de1a41c6c732485c691bfa9717fa8af72f04646",
      "parents": [
        "07fc5995732aa62bfb1a4e76a5e2fe45abb4ab53",
        "76f27134fb546340154216212d84243d56a8928a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Mar 19 00:31:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 19 00:31:48 2016 +0000"
      },
      "message": "Merge \"Fix copy and paste error\" into nyc-dev\nam: 76f2713\n\n* commit \u002776f27134fb546340154216212d84243d56a8928a\u0027:\n  Fix copy and paste error\n"
    },
    {
      "commit": "07fc5995732aa62bfb1a4e76a5e2fe45abb4ab53",
      "tree": "91fa85d58273930549e3aa23b625ad7bd7bcd5e1",
      "parents": [
        "a87563739f37872a3bbd95babb73ba64bcef0204",
        "1c65a1d6e4a4a7c7a534aa6b178f4bb6e0967fb9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Mar 19 00:31:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 19 00:31:48 2016 +0000"
      },
      "message": "Merge \"Add systrace for normal read()\" into nyc-dev\nam: 1c65a1d\n\n* commit \u00271c65a1d6e4a4a7c7a534aa6b178f4bb6e0967fb9\u0027:\n  Add systrace for normal read()\n"
    },
    {
      "commit": "a87563739f37872a3bbd95babb73ba64bcef0204",
      "tree": "1a1d2fa3a4472fe5222f4a16d2e8f109a316648e",
      "parents": [
        "929290fa589824833a7eef4e80f9a934c2246f4d",
        "c3418d0c742ecf6ee9719512325db974f4b743f3"
      ],
      "author": {
        "name": "Mohan Kumar",
        "email": "mkumard@nvidia.com",
        "time": "Sat Mar 19 00:31:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 19 00:31:47 2016 +0000"
      },
      "message": "Merge \"audioflinger: clear mMixerBuffer if frame is not ready\" into nyc-dev\nam: c3418d0\n\n* commit \u0027c3418d0c742ecf6ee9719512325db974f4b743f3\u0027:\n  audioflinger: clear mMixerBuffer if frame is not ready\n"
    },
    {
      "commit": "76f27134fb546340154216212d84243d56a8928a",
      "tree": "86365d4f0c5611a78c73fdb723b159dfa919274f",
      "parents": [
        "1c65a1d6e4a4a7c7a534aa6b178f4bb6e0967fb9",
        "8379b72b3c7febc5268bc8f9c152fd433a1e6c70"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Mar 19 00:27:21 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 19 00:27:21 2016 +0000"
      },
      "message": "Merge \"Fix copy and paste error\" into nyc-dev"
    },
    {
      "commit": "1c65a1d6e4a4a7c7a534aa6b178f4bb6e0967fb9",
      "tree": "342906f6685f5b8f8614c10d2976df31e58f988b",
      "parents": [
        "c3418d0c742ecf6ee9719512325db974f4b743f3",
        "ec6a70345fc99cd9f8461749a7656b8240874a62"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Mar 19 00:27:10 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 19 00:27:10 2016 +0000"
      },
      "message": "Merge \"Add systrace for normal read()\" into nyc-dev"
    },
    {
      "commit": "c3418d0c742ecf6ee9719512325db974f4b743f3",
      "tree": "cce198fa91ee4aa6d255561cf8d7ffdd7363dd23",
      "parents": [
        "1606b3f943aef3803f0ff53a6bba736a653a2896",
        "947ffa37beced7cca943477b4d748b0f6b279b0b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Mar 19 00:26:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 19 00:26:24 2016 +0000"
      },
      "message": "Merge \"audioflinger: clear mMixerBuffer if frame is not ready\" into nyc-dev"
    },
    {
      "commit": "947ffa37beced7cca943477b4d748b0f6b279b0b",
      "tree": "e14e199cd3eb0e77491de7d317acfd65011c31b7",
      "parents": [
        "560a198f1f95a085e24944b20df536e75e21cedb"
      ],
      "author": {
        "name": "Mohan Kumar",
        "email": "mkumard@nvidia.com",
        "time": "Fri Dec 12 15:16:46 2014 +0530"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 17:24:32 2016 -0700"
      },
      "message": "audioflinger: clear mMixerBuffer if frame is not ready\n\nClear the mMixerBuffer if frame is not ready before the FastMixer\nstarts processing. Otherwise it might result in large glitches on\noutput device due to junk data present in the mixbuffer.\n\nChange-Id: I9f025234d4ac100f85d2ec67c06a8df4195bea98\n"
    }
  ],
  "next": "c73c64a699df828bc02f556bd0bf1724532aac36"
}
