)]}'
{
  "log": [
    {
      "commit": "e964d4e421e2d1ca937227a580c0c837091a11e3",
      "tree": "876478fb4d5b18ddf8ba3b761440e46651b45ecb",
      "parents": [
        "f6d5a13c3a7a84e35e28b9840dde0f29728b6849"
      ],
      "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 11:35:57 2016 -0700"
      },
      "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\n"
    },
    {
      "commit": "b7809a709886c5dc58e737cd3c356579a088dc65",
      "tree": "23115631abc67af3f9d9b609da17cd39f947a014",
      "parents": [
        "1ec42202f602beb77802db24d5a2bec1c896bb0c",
        "54efaa90a110e50b1b9a5e4badaf30d494be56a0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 01 22:43:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 01 22:43:16 2016 +0000"
      },
      "message": "audioflinger: fix OutputTrack initial check am: af3ec7c9a0 am: 5271857554\nam: 54efaa90a1\n\nChange-Id: I7c4f4db022099abbcd20cdfb0971efa2d46998f6\n"
    },
    {
      "commit": "54efaa90a110e50b1b9a5e4badaf30d494be56a0",
      "tree": "54a0dc254b619d92b5945c9bd0b45a40d693c188",
      "parents": [
        "d3c73b760b8dcabf0988105521b33cff1deccf13",
        "527185755453d8cbdde97e8c956daa18d8b60987"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 01 22:29:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 01 22:29:29 2016 +0000"
      },
      "message": "audioflinger: fix OutputTrack initial check am: af3ec7c9a0\nam: 5271857554\n\nChange-Id: Icf61ce31fb83cc5796be5122c65b483437b17365\n"
    },
    {
      "commit": "af3ec7c9a0cfc483017d4457e0e3d77de4b1a33a",
      "tree": "2de75cb35401811b038042d1b111451d3f029984",
      "parents": [
        "3e5605b8b8a8f349d70cdb0d53409cfe69cada7b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 01 11:25:19 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 01 11:34:34 2016 -0700"
      },
      "message": "audioflinger: fix OutputTrack initial check\n\nCall initCheck() on newly created OutputTrack in\nDuplicatingThread::addOutputTrack() to make sure that\nthe track is successfully attached to the AudioMixer.\n\nAlso make invalid track name always fatal in AudioMixer::deleteTrackName().\n\nBug: 29953737\nChange-Id: I47f2517bd53de940e125391de99c40611ad0fc9d\n"
    },
    {
      "commit": "57ef37350cd88ded7b83a2f4362fcbaab36f9372",
      "tree": "7586dd4d435141313f8512c0b0976ff9da0c996b",
      "parents": [
        "974ff82b6c000ee0ae756a936a908fa28b96d5ca",
        "ad6d52d38917069e3d8e68cec1625855b9d96200"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 29 16:39:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 16:39:33 2016 +0000"
      },
      "message": "Merge \"Flush FastCapture PipeReader when starting after stop\""
    },
    {
      "commit": "f2c7f0043f13a0317e343082d3dc2913d3699f70",
      "tree": "11522499c01ef345d679c1b7df67bbfd81024b93",
      "parents": [
        "6c28be466bcca2508a8c7a0186c4236dd62a3a5c",
        "648bc951b86860dd11463340029eaef4b4d90003"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 29 01:05:39 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 29 01:05:39 2016 +0000"
      },
      "message": "Merge \\\\\\\"AudioFlinger: Account for frames dropped in suspend mode\\\\\\\" into nyc-mr1-dev am: f769ab76d1 am: 4166015417\nam: 648bc951b8\n\nChange-Id: I23516b04456b3d8f49c44ca42f4e62bd8dc134e4\n"
    },
    {
      "commit": "6d988186ffa998a1e28251b3e655cfcbccca9db5",
      "tree": "e01c96735f01306ef67cc5acf6e3f953889ba08f",
      "parents": [
        "bcb918b955a36a79aa908f392fb8a7b1cdd405f8",
        "5c42082da799fa6469321e621216922444678900"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 29 01:05:31 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 29 01:05:31 2016 +0000"
      },
      "message": "AudioFlinger: Account for frames dropped in suspend mode am: 238fa3deff am: ef0eed3d26\nam: 5c42082da7\n\nChange-Id: I9c51ed42c901c054fd25e7629725655d763ff390\n"
    },
    {
      "commit": "648bc951b86860dd11463340029eaef4b4d90003",
      "tree": "c8f0cda636bf5f114f76f6eb517f8072193cf849",
      "parents": [
        "f413847e1e9932d74ea5c358d59db1cf29764c7c",
        "416601541797b132ee8abe1e1d15d773ad975ce5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 29 00:36:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 29 00:36:58 2016 +0000"
      },
      "message": "Merge \\\\\"AudioFlinger: Account for frames dropped in suspend mode\\\\\" into nyc-mr1-dev am: f769ab76d1\nam: 4166015417\n\nChange-Id: Ied8c294777ddf380876197fe620c8931e681deb5\n"
    },
    {
      "commit": "5c42082da799fa6469321e621216922444678900",
      "tree": "a349987e30848fcf580ce138413227c6f713d077",
      "parents": [
        "b7e9c3b4d88582f040857d8733e6b0b43c2d774f",
        "ef0eed3d26e54c176b813fb7656c1cfb2c473062"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 29 00:36:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 29 00:36:48 2016 +0000"
      },
      "message": "AudioFlinger: Account for frames dropped in suspend mode am: 238fa3deff\nam: ef0eed3d26\n\nChange-Id: I0790c3ac10654142856c9e252277fc3c7880b7c4\n"
    },
    {
      "commit": "416601541797b132ee8abe1e1d15d773ad975ce5",
      "tree": "03b82bca32f9d5cde183a95919f9eec3b0c3e5c1",
      "parents": [
        "53ca0e79ee9b02309b6eb1b890a1c309b6dcb2b2",
        "f804475807407442d5596ab7378ed07d50664063"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 28 23:50:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 28 23:50:09 2016 +0000"
      },
      "message": "AudioFlinger: Prevent offload underrun during active playback\nam: f804475807\n\nChange-Id: Iefc9c73590b5aede7ef3ee1a2eaf728bdd01113e\n"
    },
    {
      "commit": "f929f9b203ef4787d45f8b24aab053aaab993be9",
      "tree": "03b82bca32f9d5cde183a95919f9eec3b0c3e5c1",
      "parents": [
        "f769ab76d185a63e6da12f58fe902e977f1ad0fd",
        "f804475807407442d5596ab7378ed07d50664063"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 28 23:40:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 28 23:40:56 2016 +0000"
      },
      "message": "Merge \"AudioFlinger: Prevent offload underrun during active playback\" into nyc-mr1-dev"
    },
    {
      "commit": "238fa3deff26d7e4d9e81bd0a88c936f16226c4e",
      "tree": "a14e74e084954b1a67625c52046ab5febe76a0c5",
      "parents": [
        "11dd692efa611d129167abea854dc14f0046d727"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 28 10:53:22 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 28 12:29:04 2016 -0700"
      },
      "message": "AudioFlinger: Account for frames dropped in suspend mode\n\nThese frames must be added to the kernel position in timestamps.\n\nBug: 30025777\nChange-Id: I30c14503c9467059c3782e5c96c01ae1cf3709f6\n"
    },
    {
      "commit": "f804475807407442d5596ab7378ed07d50664063",
      "tree": "1912f24061d3d57d209eef933edf0e6c41203b82",
      "parents": [
        "11dd692efa611d129167abea854dc14f0046d727"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 27 14:58:11 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 27 16:20:43 2016 -0700"
      },
      "message": "AudioFlinger: Prevent offload underrun during active playback\n\nBug: 29897830\nChange-Id: Id99d416cdaa8bf62daca8f92e3564f2895f15490\n"
    },
    {
      "commit": "ad6d52d38917069e3d8e68cec1625855b9d96200",
      "tree": "7a5000195073bc8c7a42fc55113297d8015c2ad2",
      "parents": [
        "510b50593bd332cfd50cedce54fed260f6c8d5e4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jul 18 13:42:03 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 20 22:44:20 2016 +0000"
      },
      "message": "Flush FastCapture PipeReader when starting after stop\n\nDiscards stale frames.\n\nBug: 30199985\nChange-Id: Ie93a3784bf052aba6989d2ff1be92b1980b0c207\n"
    },
    {
      "commit": "b566e2ed097985da01d4218a3216b45049b25767",
      "tree": "a5714b200a7c3502896cf7c95b4410c201bd3021",
      "parents": [
        "e18d7415fda1eccc765d697e9a4776e09b9eb07c",
        "cbbb9a50d30360794724a0eecc10fff726706cec"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 20 19:00:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 20 19:00:18 2016 +0000"
      },
      "message": "Merge \\\\\"Only read timestamps from HAL if not FastCapture\\\\\" into nyc-mr1-dev am: b5aac433cd\nam: cbbb9a50d3\n\nChange-Id: Ic983502e4b1802208deb3bd85cd537caa45314c9\n"
    },
    {
      "commit": "cbbb9a50d30360794724a0eecc10fff726706cec",
      "tree": "04a79cb346adcd40272ccdd9c0aadcc1307fbc1f",
      "parents": [
        "012ff16b258c31ddaa210316610fcf7b3cba8245",
        "b5aac433cda041c1fde2fcfadf1835f3f8d19eeb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 20 18:56:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 20 18:56:53 2016 +0000"
      },
      "message": "Merge \\\"Only read timestamps from HAL if not FastCapture\\\" into nyc-mr1-dev\nam: b5aac433cd\n\nChange-Id: I35220717ab32936421a8dc906c4af2cac979a5f5\n"
    },
    {
      "commit": "b5aac433cda041c1fde2fcfadf1835f3f8d19eeb",
      "tree": "03305459986d065b2e3b5ac49dfbb3320f24e78b",
      "parents": [
        "38c75d9d30b0b40e3d926503d553c869ce7bec1c",
        "69ce44d164c7b9963c06cb96ea9d25cf99e069c9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 20 18:44:53 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 20 18:44:53 2016 +0000"
      },
      "message": "Merge \"Only read timestamps from HAL if not FastCapture\" into nyc-mr1-dev"
    },
    {
      "commit": "69ce44d164c7b9963c06cb96ea9d25cf99e069c9",
      "tree": "001637c0cae7a599c8b73b37dbeb82dda1f6c7d8",
      "parents": [
        "9f6392250bf6d02a514bd83b743906dda748dee9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jul 18 12:14:25 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jul 18 13:30:05 2016 -0700"
      },
      "message": "Only read timestamps from HAL if not FastCapture\n\nPrevents blocking FastCapture from the RecordThread\n\nBug: 29392543\nChange-Id: Icd00534677be121bc4f4e9a7a6bd5b44f6f14f50\n"
    },
    {
      "commit": "d7e04b3fe9f61fdba21116dd7c50b86979fe2497",
      "tree": "98f12446425616a9f21beef337fc778df8de00f6",
      "parents": [
        "f48f8bdcf3dbb23b6eb2a5f65d8e750187deb480",
        "97a480927d83e4d79ec915a86262ac3489377bff"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 18 16:32:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 18 16:32:48 2016 +0000"
      },
      "message": "Merge \\\\\"AudioFlinger: fix offload volume on resume\\\\\" into nyc-mr1-dev am: cecb30a22f\nam: 97a480927d\n\nChange-Id: I00f8643d420ab63ce63658aebb98794c7517958c\n"
    },
    {
      "commit": "97a480927d83e4d79ec915a86262ac3489377bff",
      "tree": "15445fe00c00f18afbd888cc245fe74cde05d007",
      "parents": [
        "881f62d5a1da2f0cf7222a8d304fa58faa154197",
        "cecb30a22f3657483f07f259231b81b02b2a7305"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 18 16:29:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 18 16:29:19 2016 +0000"
      },
      "message": "Merge \\\"AudioFlinger: fix offload volume on resume\\\" into nyc-mr1-dev\nam: cecb30a22f\n\nChange-Id: I7c4165affd590a4f43d631006e02f92bc4fd0a9e\n"
    },
    {
      "commit": "cecb30a22f3657483f07f259231b81b02b2a7305",
      "tree": "4a5a62592ac3f8f96ea4cd8ebbd3393bc2e56fa6",
      "parents": [
        "bc7e8996c2be0377a659348649367c2d9455f21d",
        "3df841a10b4d553949c518ad52f1af8dcb365058"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 18 16:21:07 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 18 16:21:08 2016 +0000"
      },
      "message": "Merge \"AudioFlinger: fix offload volume on resume\" into nyc-mr1-dev"
    },
    {
      "commit": "3df841a10b4d553949c518ad52f1af8dcb365058",
      "tree": "4e3320a04ac63efdb74e903c376efcbd309acd9d",
      "parents": [
        "87cbfa8c5ecbe515c380d5592cef20c1fafe36b7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 15 15:15:40 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 15 15:59:34 2016 -0700"
      },
      "message": "AudioFlinger: fix offload volume on resume\n\nMake sure that new volume is sent to audio effects and HAL\nimmediately upon resuming playback on direct and offload threads.\n\nAlso make sure that only the latest active track on thread controls\nvolume.\n\nBug: 30057465\nChange-Id: I846958b4aae5abd3740b8a2545b57bd8f3614031\n"
    },
    {
      "commit": "8221d9e855909c8e097f5f0e986755baca4dd1b7",
      "tree": "8a98d6f59d0a977cb155a68507bcf19f577676bd",
      "parents": [
        "009c54d610a68a39dc6336c57d491940b4048f01",
        "78f9c3ad666d832d423550ded32f3626abbe6e28"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 17:35:08 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 15 17:35:08 2016 +0000"
      },
      "message": "Distinguish systrace timelines for playback and capture am: f9715e43ea\nam: 78f9c3ad66\n\nChange-Id: If66bafab6f0cd2aa1f5478b963faec0632f297ca\n"
    },
    {
      "commit": "78f9c3ad666d832d423550ded32f3626abbe6e28",
      "tree": "96f3c4cba0a48de603651690e3a72d086e35b1a7",
      "parents": [
        "927326caf324d555d2966d40ff435222d913066e",
        "f9715e43ea73361321663514c44129c939c5db2f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 17:30:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 15 17:30:10 2016 +0000"
      },
      "message": "Distinguish systrace timelines for playback and capture\nam: f9715e43ea\n\nChange-Id: I67d7f23998c10a554d53cea37ad443ca1fad3f6f\n"
    },
    {
      "commit": "f9715e43ea73361321663514c44129c939c5db2f",
      "tree": "60a0f90c5c13c59bd9f41ba26e7c9e8d6f59db31",
      "parents": [
        "9f6392250bf6d02a514bd83b743906dda748dee9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 13 14:02:03 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 08:27:55 2016 -0700"
      },
      "message": "Distinguish systrace timelines for playback and capture\n\nBug: 30120068\nChange-Id: If416540f0785e83e7b1e8ba986ee55b5b9298a2a\n"
    },
    {
      "commit": "8da2d981fb78fd75f9d0d2cab9c23fb651be334d",
      "tree": "19c08e0ac4bac175e812713c3fdbf59b39e65659",
      "parents": [
        "8c19f51b2bb15560b20118c8dacdbc9d33709130",
        "d7fdb3b5c3f8eca33b7462cc46093752d47203c1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 14 16:07:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 14 16:07:20 2016 +0000"
      },
      "message": "Merge \\\\\"AudioFlinger: fix capture stop sequence\\\\\" into nyc-mr1-dev am: a5bcf56619\nam: d7fdb3b5c3\n\nChange-Id: Icd9355083c77ae2e0b7fb2ed12d675105483d3dd\n"
    },
    {
      "commit": "d7fdb3b5c3f8eca33b7462cc46093752d47203c1",
      "tree": "3d0f33cae75e06cc385e3555eebc024ca4c61fd1",
      "parents": [
        "9912625fff25e5677ef618a2a36e1ac9b1983090",
        "a5bcf56619a70b0b46c737a29d873bbff8fb77a4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 14 15:46:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 14 15:46:44 2016 +0000"
      },
      "message": "Merge \\\"AudioFlinger: fix capture stop sequence\\\" into nyc-mr1-dev\nam: a5bcf56619\n\nChange-Id: I17cde8f3113d5371e24ce1d4adafa2413752b0e3\n"
    },
    {
      "commit": "a5bcf56619a70b0b46c737a29d873bbff8fb77a4",
      "tree": "8183234bb00a1f23ab0d7b36cc3e389efc1a5657",
      "parents": [
        "3d0d2ed84140eb505440102c017cf5108ad8807c",
        "5c25d5637ef3406883e0fc97a713f9d5cdca426f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 14 15:33:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 15:33:18 2016 +0000"
      },
      "message": "Merge \"AudioFlinger: fix capture stop sequence\" into nyc-mr1-dev"
    },
    {
      "commit": "5c25d5637ef3406883e0fc97a713f9d5cdca426f",
      "tree": "abb2f66193347d42bb1114686b0472fc9bba4ff0",
      "parents": [
        "bea67b8a707b8875419019ebd2d568090310b326"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 13 17:17:45 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 14 15:32:05 2016 +0000"
      },
      "message": "AudioFlinger: fix capture stop sequence\n\nMake sure that the HAL input stream is actually in standby when audio policy\nis notified by stopInput().\nThere was a race condition where it was possible for a new capture stream to be started\nin the interval between stopInput() notification and input stream going into\nstandby because of the state update and sleep sequence in the record thread loop.\n\nAlso make sure we interrupt the sleep period if a command is pending.\n\nBug: 29865791\nChange-Id: Ife720fbd2e5d0df8792669dc724b1fd70f63ab8a\n"
    },
    {
      "commit": "4099f1a290c4b7980681afa7ba562e6c2450380e",
      "tree": "dd9a7866117d4766ecf166b04e49d9dbdaa08ce7",
      "parents": [
        "771955c39a67e0598648f3f416e4209003bb6b14",
        "6a7f864490766020ef791d6c803364fdb7e79cbb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 12 21:09:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 12 21:09:52 2016 +0000"
      },
      "message": "Merge \\\\\"audioflinger: async callback error handling\\\\\" into nyc-mr1-dev am: 93540a6b59\nam: 6a7f864490\n\nChange-Id: I289e192efe71c599229a10771a08d8685a75dd57\n"
    },
    {
      "commit": "6a7f864490766020ef791d6c803364fdb7e79cbb",
      "tree": "11f605c7170a5c6534df5fff0cf268e4d370cf69",
      "parents": [
        "ab99bf8a017616c73193357c7815f60712570573",
        "93540a6b596b1660a453d344573571462a7e6587"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Tue Jul 12 21:06:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 12 21:06:36 2016 +0000"
      },
      "message": "Merge \\\"audioflinger: async callback error handling\\\" into nyc-mr1-dev\nam: 93540a6b59\n\nChange-Id: Ifa8e386c0da9e30b90884e0a787e581ace151c64\n"
    },
    {
      "commit": "93540a6b596b1660a453d344573571462a7e6587",
      "tree": "303e48e072805b8715af006267ceb68eb1cf2885",
      "parents": [
        "af0c7dfd5744b7c9e67e9afd26af417aadc6dc20",
        "4527b9ebc6a37b861f5a3bba68bcc63dc8d69ada"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 12 21:01:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 21:01:40 2016 +0000"
      },
      "message": "Merge \"audioflinger: async callback error handling\" into nyc-mr1-dev"
    },
    {
      "commit": "bbe0cfb249f872fe68215fd1baa7d6426aef2d16",
      "tree": "7491f40a35cf9dfb91b05f89b537c59a574b2449",
      "parents": [
        "47466f01e85406d369d6dcfa085d00250f76bbb0",
        "8611d5135b6a62cc4bbf89404090c9f6ac3245f5"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 12 17:07:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 12 17:07:34 2016 +0000"
      },
      "message": "Merge \\\\\"Fix non-offloadable effect creation on offload threads\\\\\" into nyc-mr1-dev am: b28d6117a5\nam: 8611d5135b\n\nChange-Id: I038d377d8489b95f6eb119f27fd968e97bd83b14\n"
    },
    {
      "commit": "8611d5135b6a62cc4bbf89404090c9f6ac3245f5",
      "tree": "07234e2bbf4576617e51cd249221ce2df00f9aea",
      "parents": [
        "94c68350979dac298143da5446ad5e42c231bce2",
        "b28d6117a5a63fd673a38be12e7e48bc65b05ad3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 12 16:57:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 12 16:57:21 2016 +0000"
      },
      "message": "Merge \\\"Fix non-offloadable effect creation on offload threads\\\" into nyc-mr1-dev\nam: b28d6117a5\n\nChange-Id: I273585d967945cadddcd70d10514dabb64b1f2e3\n"
    },
    {
      "commit": "4527b9ebc6a37b861f5a3bba68bcc63dc8d69ada",
      "tree": "3a61cce409f275881308a214fbe5b01e0b6154b0",
      "parents": [
        "bea67b8a707b8875419019ebd2d568090310b326"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Thu Jul 07 19:54:17 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 11 17:16:51 2016 -0700"
      },
      "message": "audioflinger: async callback error handling\n\nInvalidate all tracks on receiving an async error\ncallback from the output stream.\n\nChange-Id: I92f441ed7fd904b85f464a041847880faac5b383\n"
    },
    {
      "commit": "773ee957aadbe86ee53ac96a108ce47f8e02b961",
      "tree": "e9512b60b19484ee3d8a9ca2108aeb66611687af",
      "parents": [
        "bea67b8a707b8875419019ebd2d568090310b326"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jul 11 16:53:18 2016 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jul 11 16:53:18 2016 -0700"
      },
      "message": "Fix non-offloadable effect creation on offload threads\n\nDo not prevent the creation of non-offloadable effects on\n  offload threads.\n\nBug 29229872\n\nChange-Id: I1deebb5c0973f67a9e925ef1278d22ef7f62c779\n"
    },
    {
      "commit": "d82bd98d0dd8bfa792d7e5223eb3a266d132f2b0",
      "tree": "48056bf6c141452658a93bc4ee148544c3088d83",
      "parents": [
        "3e9bdaea722d9e4813f2dfe1e693e0f3d3663cdb",
        "4b06aec0d4ce89859c0376096fdffeec50c65c2f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 07 21:30:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 07 21:30:26 2016 +0000"
      },
      "message": "Merge \\\\\"Attribute throttle time to previous loops write time\\\\\" into nyc-mr1-dev am: bf6dc1af5b\nam: 4b06aec0d4\n\nChange-Id: I2c1362d5544c73934bc5b1b7c402d4371a09ba6f\n"
    },
    {
      "commit": "4b06aec0d4ce89859c0376096fdffeec50c65c2f",
      "tree": "6c91488b275509a3eaa4c4a7a26088f3e4191c54",
      "parents": [
        "8d54707d1a6219c9b28d851794de831579de3be3",
        "bf6dc1af5bd88135f47c2489c03cdb9f95d57927"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 07 21:27:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 07 21:27:23 2016 +0000"
      },
      "message": "Merge \\\"Attribute throttle time to previous loops write time\\\" into nyc-mr1-dev\nam: bf6dc1af5b\n\nChange-Id: I4bc857144d49760097f7344c1d58ad7444b66548\n"
    },
    {
      "commit": "bf6dc1af5bd88135f47c2489c03cdb9f95d57927",
      "tree": "a005f9f0b508331cd1225ef5677b6b8a166999ad",
      "parents": [
        "b343e0444a3420321c606a827347f18445d76385",
        "0a31dddf67e739684f60aecc85311ff446fb68f9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 07 21:19:29 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 21:19:30 2016 +0000"
      },
      "message": "Merge \"Attribute throttle time to previous loops write time\" into nyc-mr1-dev"
    },
    {
      "commit": "0a31dddf67e739684f60aecc85311ff446fb68f9",
      "tree": "684e50e1372f69b2dd58cad9ee9fc9f9dd3a6979",
      "parents": [
        "7b171a9e7be64e9881ed03baad1422d75ca768a4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 06 19:10:29 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 06 19:10:29 2016 -0700"
      },
      "message": "Attribute throttle time to previous loops write time\n\nBug: 29991292\nChange-Id: Ie3ecc9631e1dfa83fafc7b003495f59e981a0b6b\n"
    },
    {
      "commit": "6217c5233ad77f8e8f22f2b54edf8b6271275f09",
      "tree": "6c0ef74b82e28fc0e2e60680289489d4e2283e7a",
      "parents": [
        "2454b862c858fc9e575f63f7c7206d520ecf3630",
        "bde5acd3a31b19a73e6877309ce3de27b211855a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 30 01:38:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 30 01:38:55 2016 +0000"
      },
      "message": "Merge \\\\\"audioflinger: fix logcat\\\\\" into nyc-mr1-dev am: bb3bee86d5\nam: bde5acd3a3\n\nChange-Id: Ie443e96b8231b3fff5773253e7886fe7f5c42150\n"
    },
    {
      "commit": "bde5acd3a31b19a73e6877309ce3de27b211855a",
      "tree": "191d46ceba5f89ebf1a94e578ae42dff4bd3c982",
      "parents": [
        "37bdcf605bfdd64a670080039560a3a7d8908b8d",
        "bb3bee86d56930752cfef5197cd67c4495a946e6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 30 01:36:13 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 30 01:36:13 2016 +0000"
      },
      "message": "Merge \\\"audioflinger: fix logcat\\\" into nyc-mr1-dev\nam: bb3bee86d5\n\nChange-Id: I1b5e4c626d686379c570316181c020c5e16aa378\n"
    },
    {
      "commit": "122f7e793fe6fb8904634cc6d2e35ac4b014ea72",
      "tree": "8518fa89f4854add0def8d88ec6a2bd399912ce4",
      "parents": [
        "d023a7707fe551817fb3f7539f68a388b3381f41"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 29 11:53:29 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 29 11:56:35 2016 -0700"
      },
      "message": "audioflinger: fix logcat\n\nFix build when verbose logging is enabled in Threads.cpp.\nRemove log spam for timestamp errors.\n\nChange-Id: I704527c60e48012c5dcc00cb0be08d14ec2ab2a6\n"
    },
    {
      "commit": "516b743f3c19f38816ecdead90ae74bc1b3c84e4",
      "tree": "02583584f01667cc69fc0878e2f8046e40763aa9",
      "parents": [
        "275df455fc1313bc080293d22fc044ca14564ade",
        "ad67b138fcec25ba99254e826c559778adf0e7f3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 20 22:38:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 20 22:38:35 2016 +0000"
      },
      "message": "audioflinger: add check for effect vs thread compatibility am: 4c415062ad\nam: ad67b138fc\n\nChange-Id: I38015a85b7df2d620daa2c9e5d7435de510a8fbe\n"
    },
    {
      "commit": "ad67b138fcec25ba99254e826c559778adf0e7f3",
      "tree": "50b77768f0aa13f2e91c530eb0297105db626fe6",
      "parents": [
        "07303a000714949a7c3240b0a62216eac4d49ac5",
        "4c415062ad1bb53e9af8f644d8215837262b79bb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 20 22:20:00 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 20 22:20:00 2016 +0000"
      },
      "message": "audioflinger: add check for effect vs thread compatibility\nam: 4c415062ad\n\nChange-Id: Idbdb7591b291c09ced94d4eabae0edc3581e1bcd\n"
    },
    {
      "commit": "4c415062ad1bb53e9af8f644d8215837262b79bb",
      "tree": "ef03f2781c22f245b13404d321f8f1bac9e24912",
      "parents": [
        "e8a984e43504890e0f676256a0445b9917a2af91"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 17 16:14:16 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 20 12:26:30 2016 -0700"
      },
      "message": "audioflinger: add check for effect vs thread compatibility\n\nMake sure that only HW accelerated effects are added on FAST\nplayback or record threads and no effect is added on threads with\nRAW flag.\n\nMake sure that tracks with RAW and FAST flags are compatible with exiting\neffects on a playback or record threads and clear flags accordingly.\n\nBug: 4999001\n\nChange-Id: I0c060f1ee4dfb9f1e206633536e67f7c3b7b3788\n"
    },
    {
      "commit": "4cfa355eedae56e047b63b1b02fc6d789e21980d",
      "tree": "a45aeb0a86de3ecfb921666924ca3ea99cd79ce1",
      "parents": [
        "49a8a948be610444667ad98a816abe868bdb38d9",
        "b70868bb337f0b12f993494f4d110979a33ddd24"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jun 04 01:24:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 04 01:24:18 2016 +0000"
      },
      "message": "Merge \"Add AudioTrack and AudioRecord flag checks\" into nyc-mr1-dev am: 2f8e63b5be\nam: b70868bb33\n\n* commit \u0027b70868bb337f0b12f993494f4d110979a33ddd24\u0027:\n  Add AudioTrack and AudioRecord flag checks\n\nChange-Id: Ia6ab9998dcaa065d18fc048ae5ea6bb3e087ba62\n"
    },
    {
      "commit": "b70868bb337f0b12f993494f4d110979a33ddd24",
      "tree": "bde43cc6ef3f51829fd1875013e0191ffa2b4915",
      "parents": [
        "fa877e53915259d8288fa6cf16d9ebe68d4a806d",
        "2f8e63b5be5b0160302cffe1f1f18e560d31d3e7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jun 04 01:21:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 04 01:21:52 2016 +0000"
      },
      "message": "Merge \"Add AudioTrack and AudioRecord flag checks\" into nyc-mr1-dev\nam: 2f8e63b5be\n\n* commit \u00272f8e63b5be5b0160302cffe1f1f18e560d31d3e7\u0027:\n  Add AudioTrack and AudioRecord flag checks\n\nChange-Id: If9043721f4763ce0f4db96c63595f92c5ba22556\n"
    },
    {
      "commit": "050677873c10d4da308ac222f8533c96cca3207e",
      "tree": "fa2d3e91f74c5d838330f52cf158be8c774eec7f",
      "parents": [
        "53c87d5bb06a168290575099378bc7bfe1dca02b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 01 18:27:28 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 03 16:46:38 2016 -0700"
      },
      "message": "Add AudioTrack and AudioRecord flag checks\n\nVerify that the requested flags are compatible with the input\nor output flags when creating and AudioRecord or AudioTrack\n\nGet rid of IAudioFlinger::track_flags_t which was redundant\nwith audio_input_flags_t and audio_output_flags_t.\n\nChange-Id: I0dd9232f857b2737e99a8c668806e45bce09cdbd\n"
    },
    {
      "commit": "8a4348bb7a598eab9b692d782595689112df367a",
      "tree": "68330027ea8dc0ca59ddeeba091eada0c39803dc",
      "parents": [
        "96e9bfd9b9f80c10e27667e2590aa07c4d7757d0",
        "6b0a8693e169a97f5fd92260bcbd437b514d7691"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 25 19:42:39 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 19:42:39 2016 +0000"
      },
      "message": "resolve merge conflicts of 5d8e380 to nyc-mr1-dev am: b09a6d0832\nam: 6b0a8693e1\n\n* commit \u00276b0a8693e169a97f5fd92260bcbd437b514d7691\u0027:\n  AudioTrack: Fix timestamp startup condition\n\nChange-Id: Ie11abf463d4ca8b065fffc66bfb1c4db37a3ca4c\n"
    },
    {
      "commit": "6b0a8693e169a97f5fd92260bcbd437b514d7691",
      "tree": "e66adddcd25634631a49bc08b404702654b4f278",
      "parents": [
        "6a0ed5ca8434b65a3fe8bf4a5f13a230e0e8502c",
        "b09a6d08321b9484d80a2a9dc11ed52623942c8d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 25 19:34:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 19:34:10 2016 +0000"
      },
      "message": "resolve merge conflicts of 5d8e380 to nyc-mr1-dev\nam: b09a6d0832\n\n* commit \u0027b09a6d08321b9484d80a2a9dc11ed52623942c8d\u0027:\n  AudioTrack: Fix timestamp startup condition\n\nChange-Id: Id2c883949a47daac936266310ebe4d69a5965eb3\n"
    },
    {
      "commit": "b09a6d08321b9484d80a2a9dc11ed52623942c8d",
      "tree": "552dc523c1d69c52afc3b1dacb6eb8db393b4613",
      "parents": [
        "a1bcbfec34380c5993ed39680ec6b418f63c7021",
        "5d8e3808b4012fa72bedf5898803682831f88e84"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 25 11:45:16 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 25 11:45:16 2016 -0700"
      },
      "message": "resolve merge conflicts of 5d8e380 to nyc-mr1-dev\n\nChange-Id: Ic3aacd191cae0749bb33fe9ccfdac743ff82a21f\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": "791fce20ee88597ea7cd64cc728010088a2e7a8f",
      "tree": "541a6e2236aee28a6617cb4f34673fad36ac23bf",
      "parents": [
        "1af43496f2086b222bfd711de07cf291393297c8",
        "a15b56e48406d8242e91629e748a1b90d5977381"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 24 19:01:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 19:01:52 2016 +0000"
      },
      "message": "resolve merge conflicts of 53529cf to nyc-dev-plus-aosp am: 4d1522bdc7\nam: a15b56e484\n\n* commit \u0027a15b56e48406d8242e91629e748a1b90d5977381\u0027:\n  Fix misc-macro-parentheses warnings.\n\nChange-Id: I5fcae0f83f1f6820ec8da61c46e778e30353195f\n"
    },
    {
      "commit": "a15b56e48406d8242e91629e748a1b90d5977381",
      "tree": "a26e988d9f62ef698469f3eceec30b80c32d6607",
      "parents": [
        "1da2d4be0c25469ec3bd80dd8f63abb970f4a62b",
        "4d1522bdc7efaa9677ac92b620cea9e9110ec2a4"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 24 18:50:40 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 18:50:40 2016 +0000"
      },
      "message": "resolve merge conflicts of 53529cf to nyc-dev-plus-aosp\nam: 4d1522bdc7\n\n* commit \u00274d1522bdc7efaa9677ac92b620cea9e9110ec2a4\u0027:\n  Fix misc-macro-parentheses warnings.\n\nChange-Id: Id828c632b701e19de541fab868484ae3d4bfab45\n"
    },
    {
      "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": "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": "2ffd63e2b6762e9cbd0eff2c0fdd8297ba9e5393",
      "tree": "bfa94dc443123613bc1ae3ec4bc9f32ce02045c4",
      "parents": [
        "a07345931d6b156a13bce96188b51fe0957fb5dc",
        "a043ba313b68a7e6694b17faaca7f10dd4e5f1d2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 19:34:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 17 19:34:14 2016 +0000"
      },
      "message": "audioflinger: fix invalidateTracks() on offload thread am: 1308462107 am: 514d8c512d\nam: a043ba313b\n\n* commit \u0027a043ba313b68a7e6694b17faaca7f10dd4e5f1d2\u0027:\n  audioflinger: fix invalidateTracks() on offload thread\n\nChange-Id: Ica11f6f42cdfbadc63ffd665410f483da0b1b2da\n"
    },
    {
      "commit": "a043ba313b68a7e6694b17faaca7f10dd4e5f1d2",
      "tree": "fc7dc88265351ae29ca7de06dab23dbcb33dc2ed",
      "parents": [
        "3b08fe36a07308b999664709e106edbbd5852a7a",
        "514d8c512d08824b288fa1784b33a294b0f7e81d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 19:31:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 17 19:31:21 2016 +0000"
      },
      "message": "audioflinger: fix invalidateTracks() on offload thread am: 1308462107\nam: 514d8c512d\n\n* commit \u0027514d8c512d08824b288fa1784b33a294b0f7e81d\u0027:\n  audioflinger: fix invalidateTracks() on offload thread\n\nChange-Id: I659f616463f5df569b958e8c6178a1f1da006839\n"
    },
    {
      "commit": "57fc788e8c924823c9026f1239282d39433da821",
      "tree": "9db371e1a4f7018b8c9faca5b58470f9983bd920",
      "parents": [
        "de023ce5d812a80951431af014cf15b9b3efeb97",
        "13084621072ea2e4c34e2a9d79793c621d9bf005"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 19:28:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 17 19:28:29 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: Ib4f9306ababd292b71d4a5026bc157ef40e61120\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": "ea2bf087bc6d1f9e9e0e5242f0d29d1498845879",
      "tree": "33a5b8f456d19f93951d986fab58eb9b0ef06b68",
      "parents": [
        "c77ce274f1f8355ccddb6d8b1c5f589922573f7b",
        "b7bcb3c46f0501a214329509d912908a85646d49"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed May 11 23:40:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 11 23:40:04 2016 +0000"
      },
      "message": "Merge \"audioflinger: update multiplier logic to calculate frameCount\" into nyc-mr1-dev am: 64a253562a\nam: b7bcb3c46f\n\n* commit \u0027b7bcb3c46f0501a214329509d912908a85646d49\u0027:\n  audioflinger: update multiplier logic to calculate frameCount\n\nChange-Id: I60f4d2b2493cf6f93e70624c35a29f07c82b660b\n"
    },
    {
      "commit": "c77ce274f1f8355ccddb6d8b1c5f589922573f7b",
      "tree": "e42a077482b768684fb827a3039fe393d012ad66",
      "parents": [
        "80b6cae1065ba962d819ccf4af7c5c7a2a57c9e5",
        "1e6323fa092f51fad8ee5f563780dba1d62a1f5a"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed May 11 23:39:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 11 23:39:34 2016 +0000"
      },
      "message": "Merge \"audioflinger: Update throttling logic in MixerThread\" into nyc-mr1-dev am: 86c54273d0\nam: 1e6323fa09\n\n* commit \u00271e6323fa092f51fad8ee5f563780dba1d62a1f5a\u0027:\n  audioflinger: Update throttling logic in MixerThread\n\nChange-Id: I85cab0203af31bd8de1f645293fc3b182d88023d\n"
    },
    {
      "commit": "ca8e6805991c0c058c3d6315556c7612d663edab",
      "tree": "cf4a3c06a0802ff092c7156510dad6346371a72f",
      "parents": [
        "584d064a3848c75514775697c4db90279fd5129c",
        "9d0956cf445b6839ebba3b81d33c8e8289dd086f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 11 23:37:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 11 23:37:20 2016 +0000"
      },
      "message": "Merge \"audioflinger: various offload playback fixes\" into nyc-dev am: 8b43838c48 am: d9e1a02f39\nam: 9d0956cf44\n\n* commit \u00279d0956cf445b6839ebba3b81d33c8e8289dd086f\u0027:\n  audioflinger: various offload playback fixes\n\nChange-Id: I3455daba5e1d154bab7cbf4a44e64388212ae07b\n"
    },
    {
      "commit": "64a253562a0521f5f0b3205dae98367102ebe532",
      "tree": "cbfc3d04d574cbb87a9f249a44a73ec1cb4bc8be",
      "parents": [
        "86c54273d035ff1ee6efab1a56766f883e1c98f7",
        "227a14be87e8c63eb7a464b857a1d29c86c90e7c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 11 22:22:14 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 11 22:22:14 2016 +0000"
      },
      "message": "Merge \"audioflinger: update multiplier logic to calculate frameCount\" into nyc-mr1-dev"
    },
    {
      "commit": "86c54273d035ff1ee6efab1a56766f883e1c98f7",
      "tree": "a2b08a8017f3680f0eb5b9d9c041c9b0c6313c2b",
      "parents": [
        "e3fe4ffa3522d0f23decc341efec12c0afb404e0",
        "f92b2175cd4a8d0fa9aca6e660ed4e85f6b7078b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 11 22:22:07 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 11 22:22:08 2016 +0000"
      },
      "message": "Merge \"audioflinger: Update throttling logic in MixerThread\" into nyc-mr1-dev"
    },
    {
      "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": "227a14be87e8c63eb7a464b857a1d29c86c90e7c",
      "tree": "2e9bee17db02b4daecaf088dd8b510d6e7355ec2",
      "parents": [
        "76fa63ccefbac3ca3e722bc9ba016101858c3cdd"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon May 09 12:45:48 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 10 16:12:05 2016 -0700"
      },
      "message": "audioflinger: update multiplier logic to calculate frameCount\n\nIf the value of the multiplier used in calculating\nmNormalFrameCount is odd, it is rounded off to a higher even value.\n\nThis results in an increase of mNormalFrameCount and thereby\nthe latency which is not expected.\n\nDo not prefer an even multiplier and let the value remain as is\neven if it is odd.\n\nBug: 25740205\n\nauthored-by: Satya Krishna Pindiproli\u003csatyak@codeaurora.org\u003e\n\nChange-Id: Ia60d87d01caef6f45998bffeafc3d6a24f7c7fb4\n"
    },
    {
      "commit": "f92b2175cd4a8d0fa9aca6e660ed4e85f6b7078b",
      "tree": "2077136ed6c73613f0e11dd8f79d2fd43f31f10a",
      "parents": [
        "76fa63ccefbac3ca3e722bc9ba016101858c3cdd"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon May 09 11:34:15 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 10 16:01:58 2016 -0700"
      },
      "message": "audioflinger: Update throttling logic in MixerThread\n\nThe throttling logic in MixerThread only keeps track of\ntime spent during sink write. However, on low tier\nAPs and with high sample rate tracks, it is possible\nthat time spent in mixing the tracks is significant.\nThis inturn leads to sink writes returning earlier than\nexpected kicking in (incorrectly) the throttling logic.\n\nTo fix this, update throttling logic to include\nthe time spent in mixing buffers along with the time\nspent in sink write.\n\nauthored-by: Dhananjay Kumar \u003cdhakumar@codeaurora.org\u003e\n\nBug: 28672515\nChange-Id: Iac4994c3084850bb93640c978b4a519db8d7951d\n"
    },
    {
      "commit": "c3afc78811e976a2aa8204a9b8147e9fee5868c7",
      "tree": "f3b4329b08f5053be6b5b8ba00aad9c145560380",
      "parents": [
        "05539af5f2a30e4dda231cc6ed040362a8c5ffc4",
        "bd46093e09879ef207105d53d8221c24bfce5da0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 09 22:55:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 09 22:55:34 2016 +0000"
      },
      "message": "Merge \"Improve timestamp jitter fix\" into nyc-dev am: 5adc73643f am: 2815769b9f\nam: bd46093e09\n\n* commit \u0027bd46093e09879ef207105d53d8221c24bfce5da0\u0027:\n  Improve timestamp jitter fix\n\nChange-Id: I8672b654c0649429871aae697c168308a7fce0bc\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": "d36e5779ca922925e96a544bbb5ae790e8a5d2fe",
      "tree": "c4f203197b71c195793da8583305fd46cceac7ac",
      "parents": [
        "4346f25b0c5477b2839d64277aaf1546f8440cc6",
        "43c8a4089937865b6cdebf25eeb8551a10f23026"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 06 00:31:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 06 00:31:16 2016 +0000"
      },
      "message": "Merge \"Remove throttle logcat for bluetooth\" into nyc-dev am: 823b18ef45 am: f6ef1a972d\nam: 43c8a40899\n\n* commit \u002743c8a4089937865b6cdebf25eeb8551a10f23026\u0027:\n  Remove throttle logcat for bluetooth\n\nChange-Id: I5be66bc7c9dc8ac609745487ad7ba9a74e556d04\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": "be3d5d5671fd2c38baa5d66bfc0775c54af06740",
      "tree": "24d349148ab0ed732e233314b71d00773b52d175",
      "parents": [
        "da091b354e90b9b1860aa5060da70e7392c70473",
        "9ec791f42a68887114a67a880ba1c73e6497ae1a"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed May 04 23:16:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 04 23:16:36 2016 +0000"
      },
      "message": "Merge \"audioflinger: set flush pending on invalidating offload track\" into nyc-dev am: 0c43cb3a98 am: 08686471b0\nam: 9ec791f42a\n\n* commit \u00279ec791f42a68887114a67a880ba1c73e6497ae1a\u0027:\n  audioflinger: set flush pending on invalidating offload track\n\nChange-Id: I671e9facbdf952a6b854a7f8c311802f8246f04b\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": "9d9138534bb1736b662b31025b0e412273269684",
      "tree": "a930a2e5ac26bdbf820ecc37b43503a8590f1f01",
      "parents": [
        "ec217e225caac58c3b76feb29b0fa9ed64b2201f",
        "aba26a54a8b007fafca3772082c0db5e43e16aec"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 29 14:34:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 29 14:34:27 2016 +0000"
      },
      "message": "Merge \"Can now indicate the desired number of notifications (sub-buffers)\" into nyc-dev am: d0389b874d am: c03ab34de0\nam: aba26a54a8\n\n* commit \u0027aba26a54a8b007fafca3772082c0db5e43e16aec\u0027:\n  Can now indicate the desired number of notifications (sub-buffers)\n\nChange-Id: I5650eb7f47e4daccdd068950146601c98e44ea39\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": "c7285abd573c046250c3bf03b5720d3a2bf55eb0",
      "tree": "8f1c2486f384ecc04fbabab929534fd0e776afff",
      "parents": [
        "9df9c88104a3e7b9a20f8029926824b7030501bf",
        "3b5f5f51b51439b60ac46ec07bb6bb03525a908e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 29 14:19:13 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 29 14:19:13 2016 +0000"
      },
      "message": "Make max fast tracks configurable using a property am: dc2c50bad4 am: 3b2d92e2ec\nam: 3b5f5f51b5\n\n* commit \u00273b5f5f51b51439b60ac46ec07bb6bb03525a908e\u0027:\n  Make max fast tracks configurable using a property\n\nChange-Id: Ie3a015ffd5638cf4ea353ad14863ff1a09858daf\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": "6a3b25f04f04ec9bb4133042af431a810dc70868",
      "tree": "4f70e3425ac88844ee0d61f96f71aba363b5be2f",
      "parents": [
        "c6e67c0a7287d662064bf8d5598cc6c2dac459c2",
        "b137e8240624e363951bcd3a42cb5d68b7622513"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 20 00:05:39 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 20 00:05:39 2016 +0000"
      },
      "message": "Merge \"Add AudioSystem::getFrameCountHAL()\" into nyc-dev am: eb7f394004 am: 5fb71f6247\nam: b137e82406\n\n* commit \u0027b137e8240624e363951bcd3a42cb5d68b7622513\u0027:\n  Add AudioSystem::getFrameCountHAL()\n\nChange-Id: Iab15db51b03e80e39d6711d46967995fb796a2f3\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": "8c797481a10ada8b678fd831feebcf68c787dacc",
      "tree": "26ae7bc8586081bd2cedadcb63b1d8b03378f521",
      "parents": [
        "7718ce56f70b5669c1f4efef853b769f92aae09f",
        "aaf2475680709d665a194832f2713ced15ac7cd3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 11 22:48:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 11 22:48:46 2016 +0000"
      },
      "message": "Fix audio tee sink debugging tool am: fc302fd\nam: aaf2475\n\n* commit \u0027aaf2475680709d665a194832f2713ced15ac7cd3\u0027:\n  Fix audio tee sink debugging tool\n\nChange-Id: I844ff35140bf17567192fddb03a11250fd69d545\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": "0df20cfb9fdbf756c9339c2fad610a179754e021",
      "tree": "2a84a3b90a4ce2b8abb22aea668cecf9b1385940",
      "parents": [
        "6f5c336b25e6622eaa302e492fd671f5dfff9b5f",
        "707e11cfd5aed5b035ba6ba0954de1c2b4a820c2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 01 22:50:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 01 22:50:28 2016 +0000"
      },
      "message": "Merge \"audioflinger: fix offload underrun sleep logic\" into nyc-dev am: eebc3ad\nam: 707e11c\n\n* commit \u0027707e11cfd5aed5b035ba6ba0954de1c2b4a820c2\u0027:\n  audioflinger: fix offload underrun sleep logic\n\nChange-Id: I713eb483d25a0ce0c46ca9bdf78217294473f589\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": "356e0b99303c04b43e609755b683e1a03225078c",
      "tree": "59b697273f38e428740fed92f6356d0c28af0619",
      "parents": [
        "44372f1010cdb79e8502b0eb00f22d58c6d74ec0",
        "1719e8ffa0b44e72b3d44a98f0340613949bc04a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 01 16:26:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 01 16:26:19 2016 +0000"
      },
      "message": "Merge \"audioflinger: keep wakelock during offload playback\" into nyc-dev am: c526e1e\nam: 1719e8f\n\n* commit \u00271719e8ffa0b44e72b3d44a98f0340613949bc04a\u0027:\n  audioflinger: keep wakelock during offload playback\n\nChange-Id: I4bfe4dff0cf363d48ead2335bff1cfd3a677447b\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": "3a5ea10722790d961237a68f1704b33845664c10",
      "tree": "c8eef448ede66cf46265425dc228b94543d37533",
      "parents": [
        "502d82464dc9c56e60697293651133fb607e6878",
        "1a15a1048c8a99ae812bc2d0bd617ead8d924387"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Apr 01 00:46:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 01 00:46:52 2016 +0000"
      },
      "message": "Merge \"Ignore ro.audio.silent property when playing on REMOTE_SUBMIX\" into nyc-dev am: 601b5a5\nam: 1a15a10\n\n* commit \u00271a15a1048c8a99ae812bc2d0bd617ead8d924387\u0027:\n  Ignore ro.audio.silent property when playing on REMOTE_SUBMIX\n\nChange-Id: Ic5ab1ea7923ebef344a72098db7329f9be24a0f0\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": "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": "0e8d86c5a0eb6ded973649795d3b0e0c75870db5",
      "tree": "d5779c619fb0981cc4d61da8f24ff3f77ba7b113",
      "parents": [
        "d5949f1a30a17a8a1f3deff84d19268560e5f291",
        "994ea268043e476c1f4e5dbd57d55d6114f59eb8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Mar 29 00:01:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 29 00:01:58 2016 +0000"
      },
      "message": "Merge \"Fix FastTrack creation buffer count irregularity\" into nyc-dev am: 0be3be0\nam: 994ea26\n\n* commit \u0027994ea268043e476c1f4e5dbd57d55d6114f59eb8\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": "fda6504ae3ee3ebbe1b85c7e249dd771d5962a7c",
      "tree": "f300f90858e3476f8cee8dff519bef1223a7fdfc",
      "parents": [
        "7fee6ca025bf4dcac5d658e8dcd8b6cb46b4ddc3",
        "9f9d8241f72ff01072561ead51b2b0e3d5ce6475"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Mar 25 15:16:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 25 15:16:22 2016 +0000"
      },
      "message": "Park FastCapture in HOT_IDLE while processing new parameters am: 9ce67b5\nam: 9f9d824\n\n* commit \u00279f9d8241f72ff01072561ead51b2b0e3d5ce6475\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": "ac4dacc0ba7384f86ccfa2feb8f0d78d96d42dc8",
      "tree": "c9607e416e677d67d0b888375112d839e881abaa",
      "parents": [
        "be10bfd68f1dc3bb05508f4369f8548e2d22e1ec",
        "d2100593a01b4a36745b394b649e027a125513cc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 25 00:00:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 25 00:00:29 2016 +0000"
      },
      "message": "Merge \"Add AutoPark template class and use to control FastMixer\" into nyc-dev am: c1c545a\nam: d210059\n\n* commit \u0027d2100593a01b4a36745b394b649e027a125513cc\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"
    }
  ],
  "next": "59aa43931103cebb833cb9316c5b7e9011191d33"
}
