)]}'
{
  "log": [
    {
      "commit": "f10c709fda87d971a206eebd5df47356e7f2aa39",
      "tree": "98b1a47d6a12c11a4b5a02e2a7fb5129b2a6680f",
      "parents": [
        "7cdef381717e3a96acc6c5786c88bf1eaf03d2f2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 06 17:09:56 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 07 09:40:43 2016 -0800"
      },
      "message": "audio policy: remove effects before releasing input\n\nmodify releaseInput() implementation so that effects added by policy\nrules are removed before closing the input stream to avoid\nfailure to destroy the effect chain\n\nmake sure that orphan effect chains are checked when an EffectHandle is\ndisconnected after thread destruction.\n\nTest: make and run Hangouts\nBug: 32707507\n\nChange-Id: I7833b4c5e42c0057a4477eb4485a20dd26ca2f90\n"
    },
    {
      "commit": "7cdef381717e3a96acc6c5786c88bf1eaf03d2f2",
      "tree": "1e0b348638ee8777683717b141e8ed7e69c63864",
      "parents": [
        "2f6272e17232360bcd10ae7a5179bf6cf8d86e38",
        "3bc859bfba96815315c05469e9da07adfc0aa8d5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 21:27:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 05 21:27:40 2016 +0000"
      },
      "message": "Merge \"audioflinger: update comment on mutex locking order\""
    },
    {
      "commit": "3bc859bfba96815315c05469e9da07adfc0aa8d5",
      "tree": "5a8e0ae75aade871abdf8a71367b10ff20469c33",
      "parents": [
        "0d96fa05bf3f22942c372ecc93a7f6a44ecda30a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 11:07:22 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 11:07:22 2016 -0800"
      },
      "message": "audioflinger: update comment on mutex locking order\n\nTest: make\nBug: 32707507\nChange-Id: Ief55cb740373a97c59de470738e3c36fcde03aae\n"
    },
    {
      "commit": "abf6ff26df459d991cdbc2dca3b78046c97469db",
      "tree": "9e6ab352b182d73d3508c32c81090ec9e355f5a2",
      "parents": [
        "26a8ba63104f3c7d4e0a750b58d56ad76dbce373",
        "2148bf0e79c436b8764b9edc4c8f2730cce98a32"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 04:33:19 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 03 04:33:20 2016 +0000"
      },
      "message": "Merge \"Log audio information to ensure complete delivery\""
    },
    {
      "commit": "eac5ddad235d11c64ff34037789466f22be4e005",
      "tree": "ed9c94c4a7cb72745c1d872ea21a0ea3cf5f880d",
      "parents": [
        "ac6b30acb174dbdf35f845924cd63bdc48c43e8a",
        "0d5a2ed0a05a2bf337c68edb54f24c60e18032c1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 02 22:24:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 02 22:24:35 2016 +0000"
      },
      "message": "Merge \"improve audio effect framwework thread safety\""
    },
    {
      "commit": "0d5a2ed0a05a2bf337c68edb54f24c60e18032c1",
      "tree": "6b8dac8ec17119ad5b661b85cff30bffe1d4a645",
      "parents": [
        "0d96fa05bf3f22942c372ecc93a7f6a44ecda30a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 01 15:28:29 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 02 12:21:39 2016 -0800"
      },
      "message": "improve audio effect framwework thread safety\n\n- Reorganize handle effect creation code to make sure the effect engine\nis created with both thread and effect chain mutex held.\n- Reorganize handle disconnect code to make sure the effect engine\nis released with both thread and effect chain mutex held.\n- Protect IEffect interface methods in EffectHande with a Mutex.\n- Only pin effect if the session was acquired first.\n- Do not use strong pointer to EffectModule in EffectHandles:\nonly the EffectChain has a single strong reference to the EffectModule.\n\nTest: Tested with EffectTest app. Regression tests in main audio use cases.\n\nBug: 32707507\nChange-Id: Ia1098cba2cd32cc2d1c9dfdff4adc2388dfed80e\n"
    },
    {
      "commit": "2148bf0e79c436b8764b9edc4c8f2730cce98a32",
      "tree": "8d380e3f69e99d4ebf76c08c51a5833dc0eca2ff",
      "parents": [
        "b54cab90d4bf84745a57232080d72a50c3b731da"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 28 19:01:02 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 01 17:36:41 2016 -0800"
      },
      "message": "Log audio information to ensure complete delivery\n\nTest: Audio playback\nBug: 30572472\nChange-Id: Ibad6fc202692cd3480ae726627252afdead083f3\n"
    },
    {
      "commit": "4a6a59e0865fa14ff8e6e68c296134656ac1c61b",
      "tree": "241204c69de71059d96cfe795114e072a2c5b72e",
      "parents": [
        "798b149d8a14a3cb840a9781ab6cbb798cfcce5d",
        "f558e0218d2677a813c9c600886f673894eec927"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 02 00:06:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 02 00:06:17 2016 +0000"
      },
      "message": "Merge \"libaudiohal: Implement simple HIDL client\""
    },
    {
      "commit": "f558e0218d2677a813c9c600886f673894eec927",
      "tree": "a2e02a7e9999fe3eb08071d09acd30d9e50f87a8",
      "parents": [
        "d71f16268227c15a0ac2043e15900db5df2c417d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Nov 14 17:45:17 2016 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 01 09:36:07 2016 -0800"
      },
      "message": "libaudiohal: Implement simple HIDL client\n\nThis client requires both HIDL client and server to be of the same\nABI version (e.g. 32-bit).\n\nEffectHalHidl::process and EffectHalHidl::processReverse are stubs.\n\nSome extra warnings are logged due to unimplemented functions\nin the legacy HAL.\n\nBug: 30222631\nChange-Id: Id074131dec6d6c4f1031695abcf3ea066e92a5af\nTest: Play Music (play / EQ), YouTube, Loopback RTLT, Ok Google on N5X\n"
    },
    {
      "commit": "c64e124bca8b7813ecea19d38452dd55fee4082f",
      "tree": "de5e16718fefa194781ee1a7c57c4844fc953e97",
      "parents": [
        "559dcf59ff136768b97a7bffa10b128d06caef01",
        "cbc7183fbbb30af5611795740e0db5affb7c9e29"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:58:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:58:28 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999 am: ffe82a3b4a am: ec601622f8 am: f50635bdc4 am: f1e829a54e am: a2e95f5c9b am: c6239b0d4d\nam: cbc7183fbb\n\nChange-Id: I7a13718ab24d1c4c9c64d83e148031af046921e1\n"
    },
    {
      "commit": "c6239b0d4dfa730c122f2de214dfd2e62f7f8eea",
      "tree": "8ee8f273638f8058d32d2d9bcaf9b704b82f557c",
      "parents": [
        "379254d561700c55fae6292428aefa20e45b26f6",
        "a2e95f5c9b1613cce1d2bf0f0e35b0addd137906"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:21:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:21:25 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999 am: ffe82a3b4a am: ec601622f8 am: f50635bdc4 am: f1e829a54e\nam: a2e95f5c9b\n\nChange-Id: Ic25053a111913dfd4490633b9f0eff1e7fe1d359\n"
    },
    {
      "commit": "f1e829a54ec8c5e28063366d378a110e14b98811",
      "tree": "fc9f6f3dc1b5efbe8b9d39e5f97fea69cbc98155",
      "parents": [
        "bca948ed8489fa6e51ae133e774a257dbc4e939c",
        "f50635bdc4613bfd8f4a3a76dc0e5c6fc752c77a"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:10:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:10:54 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999 am: ffe82a3b4a am: ec601622f8\nam: f50635bdc4\n\nChange-Id: I2a763c6477374600f84d5c3aae646af395b947c5\n"
    },
    {
      "commit": "f50635bdc4613bfd8f4a3a76dc0e5c6fc752c77a",
      "tree": "9c5612e68a469e06c22fff6defbcf69503061327",
      "parents": [
        "1fa7caa69b1fa5ed18c8096239a5d5038872a5c4",
        "ec601622f852cd1710bb92023d318a28dd03c56d"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:05:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:05:22 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999 am: ffe82a3b4a\nam: ec601622f8\n\nChange-Id: I406374de32920003302cff5a78c0ced400dacbdc\n"
    },
    {
      "commit": "ec601622f852cd1710bb92023d318a28dd03c56d",
      "tree": "3c32ad75836e80f902b266c9e5fcaa82abc1a299",
      "parents": [
        "d2185caaf7c136b7565a3eaf0609e451cf95f7d4",
        "ffe82a3b4ac5e9c286b5b24836efdd87581274a7"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:00:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:00:23 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999\nam: ffe82a3b4a\n\nChange-Id: I428d5c72ea37518c30d50d21b1ef47e440933cde\n"
    },
    {
      "commit": "ffe82a3b4ac5e9c286b5b24836efdd87581274a7",
      "tree": "24efc7cd1f4ee816756a1429092a525bddc77054",
      "parents": [
        "a2b8d9c79be0edef1aa4a7d632140691ede8709b",
        "3d6aada99991a7fc6d50350d22c4e71f90559b59"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:55:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:55:22 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084\nam: 3d6aada999\n\nChange-Id: Id7d701e1a6189cb674b75895a430b260d9e0690c\n"
    },
    {
      "commit": "97bb7fe0846fc3cebc7ededd8cb337f83ff5a13d",
      "tree": "66383783503e09224ac934eaacb556e50aa6fe90",
      "parents": [
        "6f853ae3787f216721c8854830d510c0a224b482",
        "72729c449d9f7a6f217be629066cb683ad27b37b"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:44:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:44:50 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891\nam: 72729c449d\n\nChange-Id: I97c6b4935971fa201e5107940643eaf0355bcaaa\n"
    },
    {
      "commit": "72729c449d9f7a6f217be629066cb683ad27b37b",
      "tree": "a6b4eec1bebefc9e08adb56308caf33c87ba9ea1",
      "parents": [
        "e6dfef5e91847a0a3af510761dddf4d920f7b375",
        "8b9b199891bb1374e0aa9f68c911999285d04af4"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:38:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:38:50 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91\nam: 8b9b199891\n\nChange-Id: Id1d62d9ebabab42f5ca82ff2fbbcf14d130466f4\n"
    },
    {
      "commit": "ad29b47d91c26f65d1d9a58d2dac1970175a885c",
      "tree": "f1bf7a176ba76118ff2c6fa27ef6f997dcfd6417",
      "parents": [
        "b926fff90e70a45107a8b76928eaf5606fe4ace7",
        "9161586309fd018a1503dc5227f2cb329b935213"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:28:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:28:49 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f\nam: 9161586309\n\nChange-Id: Ibcceb08d7db77f67f3dfc3cdad1d2bd6994183ae\n"
    },
    {
      "commit": "9161586309fd018a1503dc5227f2cb329b935213",
      "tree": "b4017c17bc9ddbd82a9e92f57e41dc609da2eff4",
      "parents": [
        "8b850ec8d52d436f273ecbd745fa906f0aeb54a7",
        "3e8ab60b7f65dd4c5c9efa4a1c388a51fbbb5d11"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:23:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:23:21 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a\nam: 3e8ab60b7f\n\nChange-Id: Ib575df34ec5bb7dc2cd83a859e10abe94e894317\n"
    },
    {
      "commit": "3e8ab60b7f65dd4c5c9efa4a1c388a51fbbb5d11",
      "tree": "b1852edf3c7b545717eec35f61b134f6d6fc79be",
      "parents": [
        "756f8dcdc1550b9115fe2369dfa14f46a5854d1e",
        "01e854056a73ee914bbac079389c720e813e4c57"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:17:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:17:48 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57\nam: 01e854056a\n\nChange-Id: I7ea6a871eed4b9e1c56c5350c4e5fb5eb628e816\n"
    },
    {
      "commit": "f96b08d53781db2b572980a2539e86dd39cb3927",
      "tree": "534f4ba7b2b3c66d3d490166486f4ce2ac7647f0",
      "parents": [
        "d3c61c2c74a9a83392ccaee17b6f1dd54492a530",
        "b34566440cad5da599fb93b87b37cb6d38168839"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 29 23:09:41 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 23:09:41 2016 +0000"
      },
      "message": "Merge \"Change order of EFFECT_CMD_GET_PARAM command size check\""
    },
    {
      "commit": "e275907e576601a3579747c3a842790bacf111e2",
      "tree": "6a6550b1636a64348b4d53d38fdb3039482f5c98",
      "parents": [
        "501aee7a542a8c461d48c27cb1148a0936e3a9e5"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Nov 22 18:02:48 2016 -0800"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Nov 29 12:17:49 2016 -0800"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver\n\nBug: 32705438\nBug: 32703959\nTest: cts security test\nChange-Id: I8900c92fa55b56c4c2c9d721efdbabe6bfc8a4a4\n"
    },
    {
      "commit": "b34566440cad5da599fb93b87b37cb6d38168839",
      "tree": "97bd3a7606f09d6c6f90b009149c3b98a9177d04",
      "parents": [
        "b54cab90d4bf84745a57232080d72a50c3b731da"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 28 13:50:21 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 28 13:52:03 2016 -0800"
      },
      "message": "Change order of EFFECT_CMD_GET_PARAM command size check\n\nTest: Custom APK\nBug: 33003822\nChange-Id: I7801cf73377ec4086df5da6b138ebc9d13067ebc\n"
    },
    {
      "commit": "a447a0f52fff7f1cab3bbe7c0a2f9b96f8e3914e",
      "tree": "964ca947698614342bf1b4c392e3dac543ad70ec",
      "parents": [
        "b54cab90d4bf84745a57232080d72a50c3b731da"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 15 17:19:58 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun Nov 27 21:27:45 2016 -0800"
      },
      "message": "Effect: Use local cached data for Effect commit\n\nTest: POC, Cts Effect, BassBoost, EnvReverb, Equalizer,\nTest: LoudnessEnhancer, PresetReverb, Virtualizer, Visualizer\nBug: 32220769\nChange-Id: Iea96ba0daf71691ee8954cca4ba1c10fe827626e\n"
    },
    {
      "commit": "221bfde160c9d0f52cab903bfb2e48d04881243e",
      "tree": "b492a1c26adeaba08fb140ad3f13fc9a984c8fd2",
      "parents": [
        "a030efa8c91d5efc91b0e151a4a50158fa9ab394",
        "d859d8a3ea3eb88d48119dad0550da3ac5a48b59"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Tue Nov 22 17:14:57 2016 -0800"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Tue Nov 22 17:14:57 2016 -0800"
      },
      "message": "Merge remote-tracking branch \u0027goog/cw-f-dev\u0027 into fix_merger\n\nBug: 32849428\n\n* goog/cw-f-dev:\n  If a device does not have a camera, do not set a camera death notifier\n  Fix security vulnerability: Effect command might allow negative indexes\n  Make VBRISeeker more robust\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  Effects: Check get parameter command size\n  IOMX: convert ANWB to Gralloc meta if using useBuffer in the same process\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  Camera API1: don\u0027t pick wrong preview fps value\n  Fix security vulnerability: Equalizer command might allow negative indexes\n  Camera API1: relax the fps check with some margin\n  stagefright: remove allottedSize equality check in IOMX::useBuffer\n  Camera API1: filter out the unsupported preview fps range\n  DO NOT MERGE: Visualizer: Check capture size and latency parameters\n  Visualizer: Check capture size and latency parameters\n"
    },
    {
      "commit": "bd54eef2d289f786a7ae02139ce3bb9db2b03b24",
      "tree": "e51bc2e3d50ba19d0bbf11a9d2c6b3a3b63989a9",
      "parents": [
        "76d73bce9a63b795c7b8edbeab861239ab2eed0f",
        "35c5866abb0a8e26a607ae648f6d472c508f74f4"
      ],
      "author": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Tue Nov 22 18:50:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 22 18:50:22 2016 +0000"
      },
      "message": "Merge \"framework/av: fixbug for mistake clear mainbuffer data, root cause by not offset to fout\" am: 25ef483a8c am: c7ad5838d2 am: a030efa8c9\nam: 35c5866abb\n\nChange-Id: Ib67027c035e48e956380adf11380123b884d3c92\n"
    },
    {
      "commit": "35c5866abb0a8e26a607ae648f6d472c508f74f4",
      "tree": "5681870bbab81464f802c67141e73d4e4ad6220a",
      "parents": [
        "6371c4361b0f5f96dad40f1367fa975e4cfa9601",
        "a030efa8c91d5efc91b0e151a4a50158fa9ab394"
      ],
      "author": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Tue Nov 22 18:47:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 22 18:47:22 2016 +0000"
      },
      "message": "Merge \"framework/av: fixbug for mistake clear mainbuffer data, root cause by not offset to fout\" am: 25ef483a8c am: c7ad5838d2\nam: a030efa8c9\n\nChange-Id: I36f7616aa8d01715007677a9a66b83b9964d1d78\n"
    },
    {
      "commit": "c7ad5838d2aec7ff90db36069f3577d3c4feaa95",
      "tree": "c6b6eefdbf0aba6ece79f57803d2a54b329a26c0",
      "parents": [
        "d5eb866c536c3497e778742e5fda22ac1def9fc6",
        "25ef483a8c46d8ca7cbacf96e3bce5d783a63a86"
      ],
      "author": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Tue Nov 22 18:41:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 22 18:41:21 2016 +0000"
      },
      "message": "Merge \"framework/av: fixbug for mistake clear mainbuffer data, root cause by not offset to fout\"\nam: 25ef483a8c\n\nChange-Id: I6c8ee1c28b51f1578a781fdc7dd1d51326046d2f\n"
    },
    {
      "commit": "7c5ec035fe1c6f30f1303eee8e0a4c76389228ee",
      "tree": "b59b1c1ad183a8e612ec8fdd1f2b9eb7b0062dc2",
      "parents": [
        "11f51b046344c8e14ef764d755cae697f6bce4e8"
      ],
      "author": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Mon Nov 14 19:57:14 2016 +0800"
      },
      "committer": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Tue Nov 22 10:36:09 2016 +0800"
      },
      "message": "framework/av: fixbug for mistake clear mainbuffer data,\nroot cause by not offset to fout\n\nTest: 1. pair and connect with bluetooth ear phone;\n      2. record video by camera ,play and pause again by\n      loop test;\n      3. Checking whether ear phone has pop sound.\n\nChange-Id: Ief4117d634b9e7a9f27c669b8de7626b15df7636\n"
    },
    {
      "commit": "9cab746b116b8aed38ca6b97bfea35103535e522",
      "tree": "cc36a1ef710484eb9df3195a757ff430bdbe4bd4",
      "parents": [
        "5850c4c8eecbe0db3cee8511a4f82cb443e27d08"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 13:05:20 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 14:04:09 2016 -0800"
      },
      "message": "Revert \"AudioFlinger: Associate audio time with client uid\"\n\nThis reverts commit 2f366df67c31119bb6dd726becd32d14b18e6573.\n\nBug: 32728805\nChange-Id: If0a158154814492eda427de0af8a49c0b0a91180\n"
    },
    {
      "commit": "5850c4c8eecbe0db3cee8511a4f82cb443e27d08",
      "tree": "27aa0d14f34059b7941251d50221856b66f702a7",
      "parents": [
        "c6cd50f4e6b07530cb0391002fcf3e5a6ae4767f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 13:04:31 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 13:49:16 2016 -0800"
      },
      "message": "Revert \"AudioFlinger: Remove naked track pointers\"\n\nThis reverts commit 062bfceaefab29f0f71db7d5a248b3f5f0572b6a.\nBug: 32728805\n"
    },
    {
      "commit": "be0d729212c5711f78d3475e77b8e5a975b67048",
      "tree": "eea3d7415477cb2181e2a1b26a5caea73f6a3421",
      "parents": [
        "38ca2fb52e88d749e3c7ddc029fa811a2b1f2363",
        "01ee07728fcb83a36bac83af139003653289f8d9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 20:48:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 20:48:01 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96 am: f0f864a1e4 am: 134e208477 am: 5662efe76b am: 1ad93b9617 am: 8c8eb964c0 am: 34f29aac04 am: dfb1bd9794 am: 791d393881 am: 4b7780abd1\nam: 01ee07728f\n\nChange-Id: Ia1a615c3776cfe02f401659fa8dc342404c83ce0\n"
    },
    {
      "commit": "791d393881025ccebb5674b82b636000dddd94b1",
      "tree": "ffdc8900602ed330c0fef863094b373a67e56ced",
      "parents": [
        "eb89415c461136fc4d77d94a604cb513b3ca9f43",
        "dfb1bd97947b71019d4be758572875edebb01808"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 20:29:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 20:29:56 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96 am: f0f864a1e4 am: 134e208477 am: 5662efe76b am: 1ad93b9617 am: 8c8eb964c0 am: 34f29aac04\nam: dfb1bd9794\n\nChange-Id: I1507778b7b095b92fda6f664da6111a91d388010\n"
    },
    {
      "commit": "dfb1bd97947b71019d4be758572875edebb01808",
      "tree": "c739592d6772a772914be86f7fc3ff2d83761737",
      "parents": [
        "cfdd80ef7ad5dc86eaf9a5c05ec79f9fba157d28",
        "34f29aac0400290f98d42a3d807b2b8d6e8bd4e6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 20:23:59 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 20:23:59 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96 am: f0f864a1e4 am: 134e208477 am: 5662efe76b am: 1ad93b9617 am: 8c8eb964c0\nam: 34f29aac04\n\nChange-Id: I7dc182307420e375c5f63bd9b2ba2be472845dca\n"
    },
    {
      "commit": "34f29aac0400290f98d42a3d807b2b8d6e8bd4e6",
      "tree": "69088e2ff253432dec7a84db76b35327243bc633",
      "parents": [
        "bc30f3a764d8019e06280271676b5f1dad7d0575",
        "8c8eb964c09435a4834dedcba248c4a0944653ba"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 20:18:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 20:18:48 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96 am: f0f864a1e4 am: 134e208477 am: 5662efe76b am: 1ad93b9617\nam: 8c8eb964c0\n\nChange-Id: If5f09a4ad11bc1045e8a961091cfaa90ff554237\n"
    },
    {
      "commit": "8c8eb964c09435a4834dedcba248c4a0944653ba",
      "tree": "43ebeced1d6e9af8cdf515c1c4b40d041379cc52",
      "parents": [
        "1606a1204b6c34260ec6b0dd1bf59ab72febb648",
        "1ad93b96176bd0b0fc168a53bad5c9a846a8997a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 20:11:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 20:11:57 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96 am: f0f864a1e4 am: 134e208477 am: 5662efe76b\nam: 1ad93b9617\n\nChange-Id: I0b66ac456a906d813da5c9b9caf5b572b7b371a2\n"
    },
    {
      "commit": "5662efe76bfa566c27bf622722c9831be410d8b5",
      "tree": "fa41ce4450bafeb795406deaf9543db45cd0ed75",
      "parents": [
        "a083418542f7d59c171eb513068fdb2205a9baf5",
        "134e20847763b64ae4afb968f55801c0cfb26c5f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 19:58:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 19:58:58 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96 am: f0f864a1e4\nam: 134e208477\n\nChange-Id: Icb77516db563dc75d8405eccbb5012ebb128d775\n"
    },
    {
      "commit": "134e20847763b64ae4afb968f55801c0cfb26c5f",
      "tree": "307050ea3490fe852fb16185ca9905eca944a3f6",
      "parents": [
        "a44d1479c6f4264898a2ea44e358a1290da1e9b5",
        "f0f864a1e45b63a6614e90f86a576e7dfa0008c1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 19:52:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 19:52:27 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96\nam: f0f864a1e4\n\nChange-Id: I4e1a1cbcc97223abf9f87a0e575f198342c2accf\n"
    },
    {
      "commit": "58e5681c969afd6dfe708476b75ac253b02eff4c",
      "tree": "94f81889c4619021c348f9035152767d27bf85f4",
      "parents": [
        "b52c98e44c592d7c64442c014d48e8e8cb04dc09",
        "79a088a065f04239f404c4f94bc0d8bcc82ffaad"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 19:39:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 19:39:52 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7\nam: 79a088a065\n\nChange-Id: I9d46fdc8a919d5339dddac558f1f5496f35b498a\n"
    },
    {
      "commit": "79a088a065f04239f404c4f94bc0d8bcc82ffaad",
      "tree": "3ccd5506f9dd4185a308776a29c63a434b94dd82",
      "parents": [
        "354864c4438b3110dd58710845246872d267aca6",
        "14d87911d7409ce7ccea00980fafccf2bd60e301"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 19:33:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 19:33:22 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785\nam: 14d87911d7\n\nChange-Id: Icbc43a1d34af774dcf500cdb3548d0399f0b6943\n"
    },
    {
      "commit": "14d87911d7409ce7ccea00980fafccf2bd60e301",
      "tree": "8a9341761d5c7736db3c006ef09f600c5ed3912d",
      "parents": [
        "684314f19610388729dabcc4991c94fb1cba2f6c",
        "59920bf785ccc85eb9a4d372bb5d88097454c1a4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 19:26:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 19:26:21 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3\nam: 59920bf785\n\nChange-Id: I2d90659faa7d0085b33d0f527a97fa6dc82a70d7\n"
    },
    {
      "commit": "77109420fe285b4e9618bd5f0cd12e0fcef6eced",
      "tree": "f738962f880d4a2a14bc46e598f4f049e8ed2962",
      "parents": [
        "eb6300d4bbe1cb0e24e26b15e3b5af8afe874c5f",
        "1f12a8ad958344c50733b948628ffa06db9c5bc6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 19:15:45 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 10 19:15:46 2016 +0000"
      },
      "message": "Merge \"Audio: Use uid_t for uids\""
    },
    {
      "commit": "eb6300d4bbe1cb0e24e26b15e3b5af8afe874c5f",
      "tree": "ed34af95f99f31cdd0b2425b52fd6d65e098ab7c",
      "parents": [
        "93f52337443196a95d183cb8fd8984aa86c41235",
        "1c79c0531cfd3730253a3e07da7a4348b1f920fb"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Nov 10 15:33:38 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 15:33:38 2016 +0000"
      },
      "message": "Merge \"Override Auxiliary audio effect output as stereo\" am: 568085d022 am: f34b5f6e93 am: 7b5b1e315d\nam: 1c79c0531c\n\nChange-Id: I2ef049fd9a82711022179938838c3f4598552b62\n"
    },
    {
      "commit": "f34b5f6e93751a7ec05efccb658951ee90e1d09c",
      "tree": "95f772984b254ff85832094c4474461dd654443c",
      "parents": [
        "402c93e609bc76da633a64052710435528be237c",
        "568085d022c299c9899e54ed886ed8ef3b7d47e0"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Nov 10 15:13:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 15:13:35 2016 +0000"
      },
      "message": "Merge \"Override Auxiliary audio effect output as stereo\"\nam: 568085d022\n\nChange-Id: I4f705ee2b47f30731d4f1ac46213fbcd678633a5\n"
    },
    {
      "commit": "568085d022c299c9899e54ed886ed8ef3b7d47e0",
      "tree": "3617c2b2887da293fdde985558a8a4c54e2b7462",
      "parents": [
        "bad65c51a361df85ea5a3f131539b3dca6c51f1c",
        "12ccef792da1f12a7916f2dca521eb2314eb5298"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Nov 10 15:04:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 10 15:04:10 2016 +0000"
      },
      "message": "Merge \"Override Auxiliary audio effect output as stereo\""
    },
    {
      "commit": "12ccef792da1f12a7916f2dca521eb2314eb5298",
      "tree": "e19e4510226f49f9c8710c7302514018658b92fb",
      "parents": [
        "92047ec34ba7339ff1b99ede8e483cc2f64d436c"
      ],
      "author": {
        "name": "Yuuki Yokoyama",
        "email": "yuuki.x.yokoyama@sonymobile.com",
        "time": "Tue Aug 23 17:11:03 2016 +0900"
      },
      "committer": {
        "name": "Hidenari Koshimae",
        "email": "hidenari.koshimae@sonymobile.com",
        "time": "Thu Nov 10 09:29:53 2016 +0900"
      },
      "message": "Override Auxiliary audio effect output as stereo\n\nAuxiliary audio effect supports only stereo as output channel.\nOverride output channel in case of Auxiliary effect.\n\nBug: 31985321\nChange-Id: I308a6281e2ae2b8f814a659aa40dc6220ab7660a\n"
    },
    {
      "commit": "8d029bffae6ab6592ea0f2aaa8938d04bf4c8a97",
      "tree": "4021a3ea1d299ba4c6e8d101b0e92c7b12d4fe84",
      "parents": [
        "afe53b6b9d8e0f295112a896261cc428b41b361d",
        "6660f12f004b5f9e45a6686c646b982ca5bf06d5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Nov 09 02:33:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 09 02:33:48 2016 +0000"
      },
      "message": "Merge \"Effects: Check get parameter command size\""
    },
    {
      "commit": "1f12a8ad958344c50733b948628ffa06db9c5bc6",
      "tree": "d9ce12941c1461657bf32779f6d18605defd5cf1",
      "parents": [
        "062bfceaefab29f0f71db7d5a248b3f5f0572b6a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 07 16:10:30 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 08 16:43:39 2016 -0800"
      },
      "message": "Audio: Use uid_t for uids\n\nTest: Power manager shows correct uids for audio\nBug: 32713790\nChange-Id: If5337e17283268f74dc0f00cc66ece9153d680ef\n"
    },
    {
      "commit": "0871d93cbadad8d736a09454b47846e09a793504",
      "tree": "5955cc2fc577d70022d46b5dcfb3d4a6a410c18b",
      "parents": [
        "19b396db94fa9dc3dfe713e8687dad4804e06327",
        "062bfceaefab29f0f71db7d5a248b3f5f0572b6a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 08 03:18:41 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 03:18:42 2016 +0000"
      },
      "message": "Merge \"AudioFlinger: Remove naked track pointers\""
    },
    {
      "commit": "19b396db94fa9dc3dfe713e8687dad4804e06327",
      "tree": "86759f272c9f80f115c8ef1750e0c49f14753f7b",
      "parents": [
        "b847a8944c659d743ede4145cb1d52cc89f5030b",
        "2f366df67c31119bb6dd726becd32d14b18e6573"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 08 01:39:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 01:39:27 2016 +0000"
      },
      "message": "Merge \"AudioFlinger: Associate audio time with client uid\""
    },
    {
      "commit": "062bfceaefab29f0f71db7d5a248b3f5f0572b6a",
      "tree": "364bf9fb56e116b3999558175453f7aec1ad4f77",
      "parents": [
        "2f366df67c31119bb6dd726becd32d14b18e6573"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 01 14:58:47 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 07 14:51:57 2016 -0800"
      },
      "message": "AudioFlinger: Remove naked track pointers\n\nTest: Play Music offloaded and kill audioserver\nChange-Id: I3114a67f248e067e0b5334d76e4b5e6c39858040\n"
    },
    {
      "commit": "2f366df67c31119bb6dd726becd32d14b18e6573",
      "tree": "e38f357fab72df9693d5c5ad0d50079927a0744f",
      "parents": [
        "3ee0f1069e56d74b9cb39de8b0d9701369a4446b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Oct 31 14:01:16 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 07 14:50:45 2016 -0800"
      },
      "message": "AudioFlinger: Associate audio time with client uid\n\nGroup active track operations for add and remove together.\nPlaybackThread now uses strong pointer for active tracks.\n\nTest: Play Music, Youtube, Batterystats, CTS AudioTrack\nBug: 32361950\nChange-Id: Ica96e2b84b9dfa5766571e24de49401a81a30e9d\n"
    },
    {
      "commit": "300379ab01ec4c5f9f538284dbb1e49ad012de29",
      "tree": "d72611a51551f9fce78a2eaf8b84e17fe17a75cf",
      "parents": [
        "925cad7e9697140fe296f9a87cfbd1cb86210db2",
        "913d06c099bd689375483a839e11057ccf284d1c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Nov 07 20:45:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 07 20:45:24 2016 +0000"
      },
      "message": "Merge \"Move TypeConverter into a shared library\""
    },
    {
      "commit": "913d06c099bd689375483a839e11057ccf284d1c",
      "tree": "25d7f40231f47897013b0984348f40bf05b72ea7",
      "parents": [
        "267e07cd8432679bcdd72b0bdf38846446c1c4ed"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 01 12:49:22 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Nov 07 09:29:37 2016 -0800"
      },
      "message": "Move TypeConverter into a shared library\n\nThis will be needed for the default implementation of the audio HAL\nin TREBLE for parsing supported formats etc. provided by HAL in\na form of string literals.\n\nAs a bonus, remove some hand-written type conversions in AudioFlinger\nused in dumps.\n\nExample changes in the dump output:\n\n   HAL format: 0x1 (pcm16) \u003d\u003d\u003e HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)\n   Processing format: 0x5 (pcmfloat) \u003d\u003d\u003e Processing format: 0x5 (AUDIO_FORMAT_PCM_FLOAT)\n   Output device: 0x2 (SPEAKER) \u003d\u003d\u003e Output device: 0x2 (AUDIO_DEVICE_OUT_SPEAKER)\n   Input device: 0 (NONE) \u003d\u003d\u003e Input device: 0 (AUDIO_DEVICE_NONE)\n   AudioStreamOut: 0x... flags 0x6 (PRIMARY|FAST) \u003d\u003d\u003e\n       AudioStreamOut: 0x... flags 0x6 (AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST)\n\nTest: make \u0026 run\nChange-Id: I9cde640e6827b7aa6d62e9caade9e738227e299f\n"
    },
    {
      "commit": "4ea929819e23ecd388e1edce25a10631ee53e9e3",
      "tree": "23738cbafefdd9f9dcc839a01525533e0045c554",
      "parents": [
        "5c4ca88476ea3c26b88fc13c281db9eb20913511",
        "795a2a75542d25eefa56bebc388340ee15fdff5c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 17:21:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 07 17:21:49 2016 +0000"
      },
      "message": "Split libmedia into libmedia and libaudioclient\nam: 795a2a7554\n\nChange-Id: Ic08eddc5650d3f5d344ebcf93ad98ae5bb236c8c\n"
    },
    {
      "commit": "3d34cc76e315dfa8c3b1edf78835b0dab4980505",
      "tree": "fb24b34565049a9208769dc0424aba9d0cd666fd",
      "parents": [
        "2c28e5b1266a12163fed8236d34830f69f8216a2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 04 19:40:53 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Nov 05 02:52:49 2016 +0000"
      },
      "message": "Effects: Check get parameter command size\n\nTest: Custom test.\nBug: 32438594\nBug: 32624850\nBug: 32635664\nChange-Id: I9b1315e2c02f11bea395bfdcf5c1ccddccbad8a6\n"
    },
    {
      "commit": "6660f12f004b5f9e45a6686c646b982ca5bf06d5",
      "tree": "042f6eee88bd7e1ad25f15957188776a570f8e13",
      "parents": [
        "d72ffc4416959d2c94838888c781468b2351716d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 04 19:40:53 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 04 19:50:23 2016 -0700"
      },
      "message": "Effects: Check get parameter command size\n\nTest: Custom test.\nBug: 32438594\nBug: 32624850\nBug: 32635664\nChange-Id: I9b1315e2c02f11bea395bfdcf5c1ccddccbad8a6\n"
    },
    {
      "commit": "795a2a75542d25eefa56bebc388340ee15fdff5c",
      "tree": "5b595a348342c3ad28549329ba5653ad62db75d1",
      "parents": [
        "bf26c4eb629b514648420916fd1db40333c30ea5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 13:21:22 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 19:31:54 2016 -0700"
      },
      "message": "Split libmedia into libmedia and libaudioclient\n\nThis makes it so audioserver doesn\u0027t need to link against the entire libmedia,\nwhich has dependencies on camera, ICU, OpenGL and other things that aren\u0027t\nneeded for audio.\n\nTest: build/boot\n\nChange-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af\n"
    },
    {
      "commit": "ad43cf3a8b3e52bda741b5759813dedfcc0e19d3",
      "tree": "afc0e70070ea040db26304352fa5abc0c6d8503c",
      "parents": [
        "cd1dad10b5e5d0d326130e471d0f89f398975a17",
        "12dc4449ee3c9a51407d13eaaf5d8a61b2d9c5ba"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sat Nov 05 00:02:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Nov 05 00:02:25 2016 +0000"
      },
      "message": "Merge \"Move IMediaLogService to libmedialogservice\"\nam: 12dc4449ee\n\nChange-Id: I78dd9164b47538205fbed6fe04fafb8bbcc55009\n"
    },
    {
      "commit": "4b21bd2dac2727531aad1e74079b4d34077524a0",
      "tree": "af0d052ddb01e0cbb25ae07b87dd8d96ee2ff870",
      "parents": [
        "f48f36ebe0415d340770f0ef73ce3967779fadf0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 09:59:52 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 14:37:17 2016 -0700"
      },
      "message": "Move IMediaLogService to libmedialogservice\n\nSo audioserver and libmedialogservice don\u0027t have to link against libmedia\n\nTest: build/boot\nChange-Id: I4040d9f6db59807c3fa56321d45fb6ab50fb5edb\n"
    },
    {
      "commit": "538ec5e04f389cba637b030757be317fcb8677a8",
      "tree": "c9c576057efe1f6c0bdf1a4cbf6b58dce68f5e3f",
      "parents": [
        "e085c1072f017d4910f7e49741f72e8a722b8892"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 13:21:22 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 12:14:36 2016 -0700"
      },
      "message": "Split libmedia into libmedia and libaudioclient\n\nThis makes it so audioserver doesn\u0027t need to link against the entire libmedia,\nwhich has dependencies on camera, ICU, OpenGL and other things that aren\u0027t\nneeded for audio.\n\nTest: build/boot\n\nChange-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af\n"
    },
    {
      "commit": "8ad947667b8460f87f71aecab7ac8c23c40f5350",
      "tree": "f215d4baedb24cff3ab0ab3dd4ad4ad83181e567",
      "parents": [
        "91590de539c11f84d35874bdce05baa179e0129f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 09:59:52 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 03 01:48:32 2016 +0000"
      },
      "message": "Move IMediaLogService to libmedialogservice\n\nSo audioserver and libmedialogservice don\u0027t have to link against libmedia\n\nTest: build/boot\nChange-Id: I4040d9f6db59807c3fa56321d45fb6ab50fb5edb\n"
    },
    {
      "commit": "d72ffc4416959d2c94838888c781468b2351716d",
      "tree": "fd86f3df09a73281964ca910f87f4ce67fa7f032",
      "parents": [
        "d4370268adbbb95eca7a518a55abe42678df93ef",
        "f2ae3e19080938db8cbf29a963fd744a3964fcc2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Oct 28 19:23:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 28 19:23:01 2016 +0000"
      },
      "message": "Merge \"BatteryNotifier: attribute battery usage of video to correct uid.\""
    },
    {
      "commit": "f2ae3e19080938db8cbf29a963fd744a3964fcc2",
      "tree": "f5f1ef5ff03ae54e10af8e2726ce1db80b49f87d",
      "parents": [
        "2aa19a96710eaaaf6679453f0278d393fd768de5"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 27 17:10:59 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Oct 28 10:09:28 2016 -0700"
      },
      "message": "BatteryNotifier: attribute battery usage of video to correct uid.\n\nTest: manual check batterystats\nBug: 32361950\nChange-Id: Id052220e87f6667ca908d5bf6be6164dc8c14c53\n"
    },
    {
      "commit": "3bd1c87ac0d767566f5da387e90b8a3cd86ecc97",
      "tree": "03f3f8c7f44d856dd133ea8675b8d1d76313ae49",
      "parents": [
        "b48230387118548762d70b7d98ebcc2574df9378"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Mon Sep 26 12:58:14 2016 -0700"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Oct 26 19:19:23 2016 -0700"
      },
      "message": "Buffer Log functionality for AudioFlinger\n\nSimilar to ALOGV, this allows to capture to file audio samples from\nwithin audioservice for debuggin purposes.\n\nTest: manual. Mostly used for debugging\nChange-Id: I4d43f573926805a27be910e343476c3f1be51579\n"
    },
    {
      "commit": "e8779bbfcb37d20b6a9f01b308b7d865e6f16b9c",
      "tree": "5f51aca287ff9425258a7fbb2c5225df8dcd8de8",
      "parents": [
        "290e7ed8d0e597745ab2709b808b8b96a4a87444"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 21 12:55:15 2016 -0700"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Thu Oct 20 15:20:33 2016 +0000"
      },
      "message": "Add logging of written frame counts\n\nBug: 31591209\nChange-Id: Ife5917aa65b02c3b0791dfe1975c70ccf58f9a75\n(cherry picked from commit 2c45393d842a5d2968ef78fa7a08667efdf15f2a)\n"
    },
    {
      "commit": "1293298058251ba1e8b11a450e19012046bb61ad",
      "tree": "bc95fbc12d5d6d8a83bab5f6a14aff02d10442e2",
      "parents": [
        "c1184a7991b927099082de923693e204a1d334dd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 28 10:53:22 2016 -0700"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Oct 19 16:09:15 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(cherry picked from commit 238fa3deff26d7e4d9e81bd0a88c936f16226c4e)\n"
    },
    {
      "commit": "9ee0540d3a61bff03d561ca431a371c3d9335d2b",
      "tree": "1bf7817725f35ec9c0755e819cb5f58fdf0bf487",
      "parents": [
        "e7e8d636b486cf49487db1d8da5e8e7cb15d9549"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 13 15:58:17 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Oct 19 09:46:33 2016 -0700"
      },
      "message": "Remove last references to hardware/audio.h\n\nDeviceHalInterface transitioned to \"capabilities\" model\n(similar to the one already used by streams, e.g. \u0027supportsDrain\u0027).\nNo direct checking of the HAL version is needed.\n\nAudioPolicy uses its own version read from the configuration,\nand these values never checked against the actual HAL version,\nthus it does not need versions and macroses from hardware/*.\n\nTest: make \u0026 run on N6P\nChange-Id: Ic4a56bfa19a9a61edac2b9f9a163fd8f63a0ff87\n"
    },
    {
      "commit": "9fe94012187a29eeeca2c74e75f121192560fba0",
      "tree": "6019137198afcc098e664c337b86b765d63a63bc",
      "parents": [
        "61a4fac2e3ec271241e3a4f405d7357b7f6ca4c2"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Oct 14 14:57:40 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Oct 14 15:29:33 2016 -0700"
      },
      "message": "Split audio effects headers\n\nThere can be different use cases with the code that imports\nheaders from audio_effects (each subsequent case is a more\nspecialized version of the previous one):\n\n  1. The code only needs access to general structures\n     like effect_descriptor_t:\n     \u003d\u003d\u003e include system/audio_effect.h\n     Example: AudioSystem in libmedia\n\n  2. The code that needs access to effect UUID and parameter\n     enums:\n     \u003d\u003d\u003e include system/audio_effects/effect_foo.h\n     Examples: media framework effects interfaces, libwilhelm\n\n  3. The code that needs to call into HAL:\n     \u003d\u003d\u003e include hardware/audio_effect.h\n     Examples: libaudiohal (implementation part) and libeffects\n\n  4. The code that implements a particular effect:\n     \u003d\u003d\u003e include audio_effects/effect_foo.h\n     Examples: cts/.../CTSTestEffect.cpp\n               stuff in hardware/, vendor/\n\nNote that AudioPolicy still deals with the effects HAL directly,\nthis needs to be fixed.\n\nChange-Id: I963335ede6a196f9225caf21e1a01d03635e363c\nTest: make\n"
    },
    {
      "commit": "61a4fac2e3ec271241e3a4f405d7357b7f6ca4c2",
      "tree": "0ce2e32297df380eb5a5d971e8daac0634a96731",
      "parents": [
        "61787b26691da285d8ab79795237006ceb018c4d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 13 14:44:18 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Oct 14 09:29:54 2016 -0700"
      },
      "message": "Remove dependencies on hardware/audio_policy.h\n\nMost of the time it\u0027s not needed, may be needed when\nUSE_LEGACY_AUDIO_POLICY is enabled.\n\nTest: make\n\nChange-Id: Id25eafc05352f07614965913d367d484f2673fbd\n"
    },
    {
      "commit": "00260b5e6996b0a4b12f71c5b84e44adea040534",
      "tree": "7e93a2e3cc5f918d8f7a7409d9c98712eed0d2fe",
      "parents": [
        "47677e3edda7b15bc0b48c6863a01ae052785e0c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 13 12:54:24 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 13 14:02:38 2016 -0700"
      },
      "message": "Remove dependencies on hardware/audio_effects.h and EffectsFactoryApi.h\n\nAlso remove some outstanding dependencies on hardware/audio.h.\n\nMost of the time, only constants and structs from audio_effects.h\nare used, and no actual calls into HAL are made. Move these\ndefinitions into system/audio_effect.h, and generate constants\nfrom TREBLE HAL definition.\n\nFor parameters, always use values from AudioParameter class.\n\nThere are still some outstanding includes of hardware/audio.h\nin code that directly deals with audio modules. Need to extend\nlibaudiohal interfaces to support required functionality.\n\nTest: make\n\nChange-Id: I0bcdf8ae199485d4d65f3eeb7e7a3b9b5cdb6ab6\n"
    },
    {
      "commit": "473de569eed6438ee3eea955efe309900122f051",
      "tree": "bd7a57db417df87bb37243012f3854034defa6ac",
      "parents": [
        "d3196abc2d216e74be7b137cd0b93ef5b4f005db",
        "5bc5b90bbe3eae27c6de5a556eda531d4430dfab"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 12 19:56:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 12 19:56:09 2016 +0000"
      },
      "message": "AudioFlinger: Improve effect compatibility with RAW and FAST am: d3bb0adfe4 am: 4a7ef5c1d7\nam: 5bc5b90bbe\n\nChange-Id: I681d68a632a527983972df160ba5dab1c50967cc\n"
    },
    {
      "commit": "5bc5b90bbe3eae27c6de5a556eda531d4430dfab",
      "tree": "33c6c894943057ea9867ad8d396ec8f1fa04fdab",
      "parents": [
        "13c04bc10f428243921c71699646476a2b921363",
        "4a7ef5c1d70bbe944ca812769f98ff45400562c8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 12 19:48:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 12 19:48:55 2016 +0000"
      },
      "message": "AudioFlinger: Improve effect compatibility with RAW and FAST am: d3bb0adfe4\nam: 4a7ef5c1d7\n\nChange-Id: Ia7d516d957b0582ec6776d4306019e6f2dfc10c0\n"
    },
    {
      "commit": "d3bb0adfe40e60bb94e9a87e8d5bffb4ea6863b0",
      "tree": "b9ee66240bf0caaaecfbb6d9ca7c1ce54d5e8697",
      "parents": [
        "2035bc0e096cbef893a36c1888da67a77d1330b9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Oct 11 17:16:43 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 12 10:01:27 2016 -0700"
      },
      "message": "AudioFlinger: Improve effect compatibility with RAW and FAST\n\nEffects without process function now are allowed with RAW\nand FAST playback and record tracks.\n\nBug: 32053844\nChange-Id: I58064eb2c357043c2da1a781a20988f42570d97e\n"
    },
    {
      "commit": "cbc8f617c1aebef5d041fa40dcd38a5466690b99",
      "tree": "525470607c3e6436c5a73caac90830104fcde9ac",
      "parents": [
        "0c739c59dd1a3d52beb82a353c13b6c853d93f5f"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Oct 11 18:05:13 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Oct 11 18:05:13 2016 -0700"
      },
      "message": "Eliminate dependencies on hardware/audio.h (trivial cases)\n\nframeworks/av must not depend on hardware/ (except for the code\nfrom libaudiohal that actually calls into HAL).\n\nThis CL deals with simple cases where depending on system/audio.h\nis enough.\n\nChange-Id: Ia2cb66cc8c92316ce5ab884a008d5e531263c2e4\nTest: make\n"
    },
    {
      "commit": "a0c91339814f37ea78365afb436c9f3d1f0a0090",
      "tree": "b0075232d68758a314754a9293c65ea15091ca95",
      "parents": [
        "5090f7d3211b5517a7602c910c04462f7eee0727"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Sep 19 10:01:12 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Sep 26 14:53:38 2016 -0700"
      },
      "message": "Update NBAIO to use the new audio HAL abstraction layer\n\nMoved the HAL access abstraction layer to a separate library so it\ncan be used both by audioflinger and libnbaio.\n\nBug: 30222631\nTest: manual with Loopback app, Hangouts, YouTube\n\nChange-Id: Id622c2f1aa8f55a775d34f369a596c2c4d29d5be\n"
    },
    {
      "commit": "711ee66377eb053cd7a3467ca519239ebb7bf300",
      "tree": "e4c3ded55e5de71dde6f30bf551014cf4f2f2a86",
      "parents": [
        "2dddfc19437c00d77ad4943b6d10ad038ebf486e",
        "5c24d28bfc72423ff5bb6de3d46fe4747d9b64b1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Sep 25 21:33:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 25 21:33:55 2016 +0000"
      },
      "message": "audioflinger: limit max number of tracks per client am: ad7dd9610b am: 6cfa8fdc9f\nam: 5c24d28bfc\n\nChange-Id: I3653bed5e0a0ef1476aa4409b256a8a81c6bc3fa\n"
    },
    {
      "commit": "5c24d28bfc72423ff5bb6de3d46fe4747d9b64b1",
      "tree": "9c1f9c68d80e8042e273626d2c1b9ac6959b87c9",
      "parents": [
        "a9f9acc3ba7502f0aede544c821cbe1c5f3bd992",
        "6cfa8fdc9f28dabe98c44e7317330f06f7a88813"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 23 19:08:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 19:08:03 2016 +0000"
      },
      "message": "audioflinger: limit max number of tracks per client am: ad7dd9610b\nam: 6cfa8fdc9f\n\nChange-Id: I1952387cd010a11ce9512a8b56a363cc4bb7a078\n"
    },
    {
      "commit": "6cfa8fdc9f28dabe98c44e7317330f06f7a88813",
      "tree": "72f4a6f51de98737236a97b033bd306e6c87f164",
      "parents": [
        "cfb81966d1ff5b7bdbb014d73e7946976efc0b8b",
        "ad7dd9610b6fafa81baf69607f4ac669da88182a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 23 19:06:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 19:06:07 2016 +0000"
      },
      "message": "audioflinger: limit max number of tracks per client\nam: ad7dd9610b\n\nChange-Id: I0dd67dfc1324cd4969561370faf105bcf7286949\n"
    },
    {
      "commit": "7bafda7a153cda393ce018241fa7304845225ae5",
      "tree": "b50b6e95c158427610b71aca1145e12b4b4fac30",
      "parents": [
        "cc0ec44a984b92535a9dc40873b551c5087df2d5",
        "ad7dd9610b6fafa81baf69607f4ac669da88182a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 23 18:55:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 18:55:08 2016 +0000"
      },
      "message": "Merge \"audioflinger: limit max number of tracks per client\" into nyc-mr1-dev"
    },
    {
      "commit": "39ed2aa31b0c6c8e485660c2aedff74f10d14411",
      "tree": "ccefc2d11804064a33fa4c6822b5b26240e84c80",
      "parents": [
        "162c17fad1ffa1db1588f82773933e8984661089",
        "6353f121d73b8312bfad6451c14213e64113999e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Sep 23 00:29:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 00:29:45 2016 +0000"
      },
      "message": "Add logging of written frame counts am: 2c45393d84\nam: 6353f121d7\n\nChange-Id: I3f569f4587c09f9f3f85d2466a3c742e2720b529\n"
    },
    {
      "commit": "ad7dd9610b6fafa81baf69607f4ac669da88182a",
      "tree": "fb08c9c45c9db1d22c4828c4fb98ff8bc2a471df",
      "parents": [
        "08e1f41731ad95a0019b3733b999958a07f705ac"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 22 12:38:37 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 22 23:43:32 2016 +0000"
      },
      "message": "audioflinger: limit max number of tracks per client\n\nLimit max number of audio tracks for a given application to\nlimit the chance of denial of service by misbehaving apps\nnot releasing tracks.\n\nBug: 7007023\nChange-Id: Id7ac37450aabdbeaa5f83cb6e4b2a2b0c749f99c\n"
    },
    {
      "commit": "b54c854d1ef1bb66e093c94099f915178eac570e",
      "tree": "e07e0f670a489ddc829a95054a835bcf1754539c",
      "parents": [
        "b5ae35c5cf5cc7176661eea9bf725437c85693b0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 21 12:55:15 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 22 16:20:39 2016 -0700"
      },
      "message": "Add logging of written frame counts\n\nBug: 31591209\nChange-Id: Ife5917aa65b02c3b0791dfe1975c70ccf58f9a75\n(cherry picked from commit 2c45393d842a5d2968ef78fa7a08667efdf15f2a)\n"
    },
    {
      "commit": "2c45393d842a5d2968ef78fa7a08667efdf15f2a",
      "tree": "d259a3720b7b676532ee145202827f00d580273e",
      "parents": [
        "3b0515db3405df2e759984aff7ac59aed0b16a98"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 21 12:55:15 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 22 13:12:37 2016 -0700"
      },
      "message": "Add logging of written frame counts\n\nBug: 31591209\nChange-Id: Ife5917aa65b02c3b0791dfe1975c70ccf58f9a75\n"
    },
    {
      "commit": "1dc98674f701dada94143b4d31b7221c58346c6c",
      "tree": "44f80a66fdff774d2229ca3aaabdd614ed1f8013",
      "parents": [
        "9debf8f6d26f7aa12c68ddfb6cdb1323d4b5adbf"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Aug 18 17:50:29 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Sep 21 15:58:24 2016 -0700"
      },
      "message": "Abstract away access to audio streams HAL in AudioFlinger\n\nIn this CL all direct access to audio_stream_t, audio_stream_out_t, and\naudio_stream_in_t their functions is encapsulated within the new\nhierarchy of Stream[In|Out]HalLocal classes.  AudioFlinger uses\ninterface classes Stream[In|Out]HalInterface to access these functions.\n\nNote that NBAIO still receives raw HAL stream handles and needs to be\nconverted separately.\n\nBug: 30222631\nTest: manual with Loopback app\n\nChange-Id: I6388cfa2006791c9c0aa7bb186719209726a2d48\n"
    },
    {
      "commit": "d7ccb844c7bd17b19fe40f9f59a303e462b6d552",
      "tree": "8f429ff129bab3c6ed282f4045e5b1805144eba8",
      "parents": [
        "4aa387895f57c2afbc7ebb7323e9b2b3bb007d4a",
        "a6c2a013cf190c2cfbc8332e90178ff8bd0b8068"
      ],
      "author": {
        "name": "Tobias Melin",
        "email": "tobias.melin@sonymobile.com",
        "time": "Tue Sep 20 06:48:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 20 06:48:45 2016 +0000"
      },
      "message": "Merge \"Fix build when #define LOG_NDEBUG 0\" am: 1b4c5978d1 am: 5a21680173 am: 2a20c4c33d\nam: a6c2a013cf\n\nChange-Id: Ib30efedd2d739cf6c7ae3964d6109f3a256e0deb\n"
    },
    {
      "commit": "a6c2a013cf190c2cfbc8332e90178ff8bd0b8068",
      "tree": "ea642e464eebf26e7c5e674cd43f1d5589d6ec82",
      "parents": [
        "183f5ebdeffdf6f81143b7e57e7ec29c98878232",
        "2a20c4c33d925d435c420c5c5c5cce07f821a500"
      ],
      "author": {
        "name": "Tobias Melin",
        "email": "tobias.melin@sonymobile.com",
        "time": "Tue Sep 20 00:24:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 20 00:24:19 2016 +0000"
      },
      "message": "Merge \"Fix build when #define LOG_NDEBUG 0\" am: 1b4c5978d1 am: 5a21680173\nam: 2a20c4c33d\n\nChange-Id: Iced1a1c1914d30b9321ebc03eb1bb922bf51f7eb\n"
    },
    {
      "commit": "2a20c4c33d925d435c420c5c5c5cce07f821a500",
      "tree": "8b53fa7c38f1273406178df0d7e17db19543ebca",
      "parents": [
        "879663f51f3255735c1c2806102b43a79c267024",
        "5a216801736fc0f0e7ef38ddedefd1363dca8134"
      ],
      "author": {
        "name": "Tobias Melin",
        "email": "tobias.melin@sonymobile.com",
        "time": "Mon Sep 19 23:32:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 19 23:32:48 2016 +0000"
      },
      "message": "Merge \"Fix build when #define LOG_NDEBUG 0\" am: 1b4c5978d1\nam: 5a21680173\n\nChange-Id: I6e5f9e8f156e180b877e085ea061e59fbe51dc12\n"
    },
    {
      "commit": "4348921d6168f301e28069478956ddaa7ef06f8b",
      "tree": "9442fe771096bb012820d2fb1069d6a446394a46",
      "parents": [
        "50d06c8849450ebfacc6878962b9fc2937b2e435"
      ],
      "author": {
        "name": "Tobias Melin",
        "email": "tobias.melin@sonymobile.com",
        "time": "Fri Sep 16 10:04:26 2016 +0200"
      },
      "committer": {
        "name": "John Eckerdal",
        "email": "john.eckerdal@sonymobile.com",
        "time": "Mon Sep 19 15:20:50 2016 +0200"
      },
      "message": "Fix build when #define LOG_NDEBUG 0\n\nA few variables have changed type and when building with LOG_NDEBUG 0\nthe code no longer compile. Adjust the ALOG_ASSERT strings to use the\ncorrect types.\n\nTest: make with LOG_NDEBUG enabled\nBug: 31584070\nChange-Id: Ib47f369f8be9fa0c12fa4f69c294a719df8ad018\n"
    },
    {
      "commit": "db0fd69d5dd2cb70009884458d5c78c9e7256c15",
      "tree": "4b16fae6e5bf6231de2d2a931beae3a892bc626c",
      "parents": [
        "681caefc7d3db69952daf1536513070c50b99635",
        "77b44035440f4dfc1c8d29da7d800f111ebe6376"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 16 10:26:09 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 16 10:26:09 2016 -0700"
      },
      "message": "Merge commit \u002777b44035440f4dfc1c8d29da7d800f111ebe6376\u0027 into fix_merge\n\nChange-Id: I0f1d2b605a8d90f86f8fa27cbf971018981c6c38\n"
    },
    {
      "commit": "77b44035440f4dfc1c8d29da7d800f111ebe6376",
      "tree": "16bb499a29cb5ac24acdaf0f350e6fd838972e36",
      "parents": [
        "b58c4e1bbd4e2420614e1bfe13f885e502301b63",
        "79c3335e35ce7dea158ac8bf03922c843987f5a9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 16 16:37:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 16 16:37:18 2016 +0000"
      },
      "message": "audio flinger: add support for effects without process function am: 6dd0fd92d6\nam: 79c3335e35\n\nChange-Id: I719e0379c19d6e0e4e50597726f83b3a1d0b3cd8\n"
    },
    {
      "commit": "79c3335e35ce7dea158ac8bf03922c843987f5a9",
      "tree": "67075e7907442bb1c99130be8758c167c9000730",
      "parents": [
        "47c996ba170821326a98fdde468ecf860904db3e",
        "6dd0fd92d6cdeb2cf5b7127c0e880e5eacfd4574"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 16 16:34:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 16 16:34:15 2016 +0000"
      },
      "message": "audio flinger: add support for effects without process function\nam: 6dd0fd92d6\n\nChange-Id: Ie73c96d5844522b4f250293ff8ef9252405180b3\n"
    },
    {
      "commit": "bcaa1b278aa398fca187d6f388412935ede5e890",
      "tree": "67075e7907442bb1c99130be8758c167c9000730",
      "parents": [
        "a1d7f8aab76a4560fa8127db3320c8394bf3da6f",
        "6dd0fd92d6cdeb2cf5b7127c0e880e5eacfd4574"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 16 16:26:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 16 16:26:34 2016 +0000"
      },
      "message": "Merge \"audio flinger: add support for effects without process function\" into nyc-mr1-dev"
    },
    {
      "commit": "681caefc7d3db69952daf1536513070c50b99635",
      "tree": "8142fa1c49ce859d90aff0f829d07e5cd3b8eab1",
      "parents": [
        "3de6a5bdf8bb01cbbcd3f446c646fc14f82c8938",
        "b58c4e1bbd4e2420614e1bfe13f885e502301b63"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 08:49:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 16 08:49:16 2016 +0000"
      },
      "message": "Merge \"Stop including libcore/include/ in frameworks/av.\" am: adc9ba6520 am: c75164b942 am: 16fbb20e73\nam: b58c4e1bbd\n\nChange-Id: Iaf5158ff00eac7f4aff21eb7c3c31d62ec92ee33\n"
    },
    {
      "commit": "b58c4e1bbd4e2420614e1bfe13f885e502301b63",
      "tree": "69082d9b5339a5746d291bb2e8f124295abf234c",
      "parents": [
        "45c5d1a53534f6c41e369f09e4c77720bad28ca7",
        "16fbb20e739eba747c1d478a4bbcae47c7d7a421"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 08:46:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 16 08:46:45 2016 +0000"
      },
      "message": "Merge \"Stop including libcore/include/ in frameworks/av.\" am: adc9ba6520 am: c75164b942\nam: 16fbb20e73\n\nChange-Id: I751944e050b849e18c78857f64134ba54d0978eb\n"
    },
    {
      "commit": "16fbb20e739eba747c1d478a4bbcae47c7d7a421",
      "tree": "1e119483556fe1471e1c0c385cac4ab97921f002",
      "parents": [
        "f7cd79ec16a8aebca9343eba30f0d73cb00cca88",
        "c75164b9426fc705dcb660dee5176ec6303d4997"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 08:44:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 16 08:44:17 2016 +0000"
      },
      "message": "Merge \"Stop including libcore/include/ in frameworks/av.\" am: adc9ba6520\nam: c75164b942\n\nChange-Id: I93f9b2360e4bc50b9596cb02749d753ac282c3e5\n"
    },
    {
      "commit": "6dd0fd92d6cdeb2cf5b7127c0e880e5eacfd4574",
      "tree": "bbc1a7a950617900e093696c6e81c589151ba65c",
      "parents": [
        "7c6bd7b17835cfa615d1f74aa7fe7c45c7190e4d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 15 12:44:53 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 15 17:27:27 2016 -0700"
      },
      "message": "audio flinger: add support for effects without process function\n\nAdd support for effects indicating they do not implement a process\nfunction and do not consume CPU or add latency.\n\nEnable those effects on RAW and FAST outputs and inputs.\nDo not call the process function.\n\nBug: 31491112.\nChange-Id: If020c8bb3b180568dec5138b087edec8c2524182\n"
    },
    {
      "commit": "fb78341ae3a11b4c0356b393b6163f3e1258d7be",
      "tree": "5fbee9b91938bd347b5bfbbc1dbe6e99e839b086",
      "parents": [
        "8a288e1fbd3b41ee555e2b6331b03e5f777f5711"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 15 13:04:22 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 15 13:04:22 2016 -0700"
      },
      "message": "Stop including libcore/include/ in frameworks/av.\n\nChange-Id: I7c0ffa84071c2080b5bfe2ce9ad7e1822fe863c7\n"
    },
    {
      "commit": "1f12a380bef8aa162dec458cc7849e886815aeaa",
      "tree": "2743ba02d3f3da04eced074dd69a9d22bf823166",
      "parents": [
        "3366b888d878e25b5ab335d6e658a31fe38ab7a9",
        "1b291841a58ce6b2b291232dfdd56134b2185c48"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Sep 14 21:41:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 21:41:17 2016 +0000"
      },
      "message": "Merge \"Fix RecordThread running too often if fast capture is active\""
    },
    {
      "commit": "3366b888d878e25b5ab335d6e658a31fe38ab7a9",
      "tree": "8c62fb5cbeb75415ecca0a1878a3027bfb823cad",
      "parents": [
        "8f5fa64583c476f8347c4b2361f01755da0f7e3a",
        "e4f1f63a2c54ee8687ad8cca18df0f6639ad7c81"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Sep 14 21:37:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 21:37:41 2016 +0000"
      },
      "message": "Merge \"Abstract away access to audio devices HAL\""
    }
  ],
  "next": "e37736428f5393ea5f32729ad16f59c2c297c04f"
}
