)]}'
{
  "log": [
    {
      "commit": "8987fbb09bcd39b9f93b8efc9eae992e56a8d054",
      "tree": "af69cf35115f2831f7b3db51109296275a8e2676",
      "parents": [
        "1d0255e990821193550e1aaad8ca62d87cb787ae",
        "5c9fcda34e1b5b21efda689a2dfa134a634c6088"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 14 21:16:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 21:16:39 2017 +0000"
      },
      "message": "EffectBundle: check nb channels to write speaker angles am: e5a54485e0 am: b0896dfc81 am: b9e070af6a am: e5c0e7e10b am: 3ffe48ed29 am: 3db88c0f00 am: 9169ca1b88 am: 654e9f9282 am: 8e86da478b am: 7ea7597648\nam: 5c9fcda34e\n\nChange-Id: I17a93c1ff1348f4ad270033c095c5d683eb646c6\n"
    },
    {
      "commit": "654e9f92821c735f8b681f0d2d34da4c33f7ebc0",
      "tree": "2f677aa32477edaf812bc6b24439cc28f52b2cf7",
      "parents": [
        "96fbe3c2e52778506858d9b9ff0fae067587265c",
        "9169ca1b88f705694b270d6ccec28b4231c2e29a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 14 21:07:02 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 21:07:02 2017 +0000"
      },
      "message": "EffectBundle: check nb channels to write speaker angles am: e5a54485e0 am: b0896dfc81 am: b9e070af6a am: e5c0e7e10b am: 3ffe48ed29 am: 3db88c0f00\nam: 9169ca1b88\n\nChange-Id: I444281056ba5770276b76900055c6e27daaeba63\n"
    },
    {
      "commit": "e5c0e7e10b9d6db685daa5123a26bff6ec2d4cd7",
      "tree": "fed4ab019e4105e965d4d150a9016232a46c9d54",
      "parents": [
        "917033735e2f55e76e93b17a37fda2cab72f381b",
        "b9e070af6a55bcfb005bf902039ec0f9c3388f6f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 14 20:56:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 20:56:27 2017 +0000"
      },
      "message": "EffectBundle: check nb channels to write speaker angles am: e5a54485e0 am: b0896dfc81\nam: b9e070af6a\n\nChange-Id: I1676f829b5571abad93c9f4ce156811a55787024\n"
    },
    {
      "commit": "b0896dfc81d2bea911edbf19f0d8f47798e229a3",
      "tree": "df4d3cbfcb3d238693a99084cf051a5c576070f9",
      "parents": [
        "3fc94bc1468571e9ee3337bacbc68a51b6e387d1",
        "e5a54485e08400a976092cd5b1c6d909d0e1a4ab"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 14 20:51:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 20:51:25 2017 +0000"
      },
      "message": "EffectBundle: check nb channels to write speaker angles\nam: e5a54485e0\n\nChange-Id: I131f8d196034854f562a175874bce19b29904664\n"
    },
    {
      "commit": "e5a54485e08400a976092cd5b1c6d909d0e1a4ab",
      "tree": "1195d30fed374d3152b1efbed96e16cd3554ea90",
      "parents": [
        "ea2023406b8306b5562e9113a159c7126438d200"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 13 16:31:20 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 14 00:42:49 2017 +0000"
      },
      "message": "EffectBundle: check nb channels to write speaker angles\n\nWhen speaker angles are queried, the size of the array for the\n  returned data is 3x the number of channels (where really it\n  should be max(2, nbChannels)). The code assumed it was at\n  least 3x2 (where 2 is the number of virtual speakers this\n  effect supports) and would thus crash when called for a mono\n  channel mask.\n\nTest: see repro steps in bug\nBug: 32591350\nChange-Id: I33d4bff6b2e19a9fc4284a85a446804878d3a410\n"
    },
    {
      "commit": "1121dfb5f30a04393ddce02fe7808589fa9e3e25",
      "tree": "4f0e9eb6547b0b16b0272cab044766162bb6a812",
      "parents": [
        "d76a98d5f4997868da1832ed239f67c9ae150ace",
        "9e97dc7832949a67dbae4e28d2ea261accd571b4"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 19:24:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 22 19:24:18 2016 +0000"
      },
      "message": "Merge \"Replace cutils/log.h with either android/log.h or log/log.h\" am: a05da2eea4\nam: 9e97dc7832\n\nChange-Id: I414954c96ad8b803a0401d416887c9ce167db210\n"
    },
    {
      "commit": "60d02077d86d2d1092443519290101f503aa6f7a",
      "tree": "57992d2bd94784cd765729b806429928ead0d2e7",
      "parents": [
        "36a75eeb15e58726e8cbbfe9687975740133a11b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 29 08:48:48 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 08:25:58 2016 -0800"
      },
      "message": "Replace cutils/log.h with either android/log.h or log/log.h\n\nTest: compile\nBug: 31289077\nChange-Id: I795a76f978d2213737f1fa908da789c543219b75\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": "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": "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": "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": "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": "3712921ae97ac6e90f61f341e0c3515b43f9b83e",
      "tree": "c21722d64cb896b5f5de8f23455e3f40d12d4f40",
      "parents": [
        "5eaa9d22bc3c95b901dd40874683d738650af6e8",
        "e92a0c60d8ce54ec38567ec9bc5a3c9aac8927cb"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 16 00:32:42 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 16 00:32:42 2016 +0000"
      },
      "message": "Fix security vulnerability: Effect command might allow negative indexes am: 01183402d7 am: 94e3424b74 am: 9bf3487e7a am: d4881f8406 am: f31abe2c96 am: 0905c40edc am: 7b4d79044d am: a6323b04de am: d8383694f9\nam: e92a0c60d8\n\nChange-Id: I0275c7561f4da96d0a17a663d4c2ce8942f33bbb\n"
    },
    {
      "commit": "7b4d79044dbb69378e0b6e72aca384433c7b95e0",
      "tree": "1ec4c31fa9a1c65ab1c2129a684e4ddb38f3012f",
      "parents": [
        "36f31265964aa3455b2923f272d82dd5d06fe17c",
        "0905c40edcc5ac787059bc92beac32021fb53601"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 16 00:03:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 16 00:03:41 2016 +0000"
      },
      "message": "Fix security vulnerability: Effect command might allow negative indexes am: 01183402d7 am: 94e3424b74 am: 9bf3487e7a am: d4881f8406 am: f31abe2c96\nam: 0905c40edc\n\nChange-Id: I1e1cddf4f5a95b4ac251aae6ff5db31877517936\n"
    },
    {
      "commit": "f31abe2c9691b0e8b584b2f6e10d7b181e7eff0a",
      "tree": "377d619181a23ecdea88c837499a9d2a917b2d23",
      "parents": [
        "7cfd47c566801f478a03c0e72f9426d737f1b0ac",
        "d4881f84060670553efcb9c445a7c48aeaed0dfa"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Nov 15 23:49:38 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 15 23:49:38 2016 +0000"
      },
      "message": "Fix security vulnerability: Effect command might allow negative indexes am: 01183402d7 am: 94e3424b74 am: 9bf3487e7a\nam: d4881f8406\n\nChange-Id: I4786037f49f5da37a1a363f7cb01c9c086776624\n"
    },
    {
      "commit": "d4881f84060670553efcb9c445a7c48aeaed0dfa",
      "tree": "6b20458cc3e18842950581f6c919b9c2886b7a89",
      "parents": [
        "c236ae3ad09b8d7a459daad3041af214b4b648f6",
        "9bf3487e7a33a85c4270f65abe4bc3e3c0848bcf"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Nov 15 23:43:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 15 23:43:09 2016 +0000"
      },
      "message": "Fix security vulnerability: Effect command might allow negative indexes am: 01183402d7 am: 94e3424b74\nam: 9bf3487e7a\n\nChange-Id: Ia36571a591829777096ad41316b7edf169ce9a6c\n"
    },
    {
      "commit": "9bf3487e7a33a85c4270f65abe4bc3e3c0848bcf",
      "tree": "bdf31f7bfec110de999aec417bf0a4aec6ac2599",
      "parents": [
        "82642824a57367de89be82f4fc9bb10eb63539d6",
        "94e3424b74d4da429268d4842a510d836c419827"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Nov 15 23:35:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 15 23:35:37 2016 +0000"
      },
      "message": "Fix security vulnerability: Effect command might allow negative indexes am: 01183402d7\nam: 94e3424b74\n\nChange-Id: Id0353ac5716377b45e3a967110d43d9baf744be8\n"
    },
    {
      "commit": "01183402d757f0c28bfd5e3b127b3809dfd67459",
      "tree": "ef981ab16da5bb89eee7dca621c875aca0b4b571",
      "parents": [
        "c5768d0921a35c2f0de924168d14cb3da87d674d"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Mon Nov 14 14:58:34 2016 -0800"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Nov 15 10:59:00 2016 -0800"
      },
      "message": "Fix security vulnerability: Effect command might allow negative indexes\n\nBug: 32448258\nBug: 32095626\n\nTest: Use POC bug or cts security test\nChange-Id: I69f24eac5866f8d9090fc4c0ebe58c2c297b63df\n"
    },
    {
      "commit": "1b1d8e79a3d0c7e10cfedf928d292e10ff896cb8",
      "tree": "e322f441ad42466ca57f48920c54aea98124ac39",
      "parents": [
        "a34b0f7e5c084f14f5982591028116a3811bf163",
        "67f8e40fcd1f74330dbaa23f8bbab431c5a22805"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 09 20:16:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 09 20:16:21 2016 +0000"
      },
      "message": "Fix security vulnerability: Equalizer command might allow negative indexes am: e981cca9ff am: 8fb8275471 am: 6b4cf2c0d3 am: dd060b3bb4 am: 4bcf2e6fbe am: 81e0914473 am: 3d16a9c4b4 am: cde28c8a31 am: 00d12e3037\nam: 67f8e40fcd\n\nChange-Id: Ic2bd5928180f19aee4d0b0a4e048c79e96eb9480\n"
    },
    {
      "commit": "3d16a9c4b4415b5009e5b3733c4933f5cd4c8193",
      "tree": "aa3a46477dd301e08a7c113f8c57abad766f4785",
      "parents": [
        "4978d974e239a1d18971716e3b814c4c2d55276e",
        "81e09144734595c5be07127db0afde61f0a1ff10"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 09 19:53:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 09 19:53:20 2016 +0000"
      },
      "message": "Fix security vulnerability: Equalizer command might allow negative indexes am: e981cca9ff am: 8fb8275471 am: 6b4cf2c0d3 am: dd060b3bb4 am: 4bcf2e6fbe\nam: 81e0914473\n\nChange-Id: Ia098ff7b7e1761e4af3ee256110f736f31860256\n"
    },
    {
      "commit": "4bcf2e6fbe340fb7089e0ee4a5ad700035d2d5ea",
      "tree": "d42a2e96140a9039f3cf59a46584fdf933517672",
      "parents": [
        "8326a5bd4ff3c9387a43f69e06c882f48d5bbc30",
        "dd060b3bb45cb50e965de50a3b278c8474eeb4b6"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 09 19:41:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 09 19:41:48 2016 +0000"
      },
      "message": "Fix security vulnerability: Equalizer command might allow negative indexes am: e981cca9ff am: 8fb8275471 am: 6b4cf2c0d3\nam: dd060b3bb4\n\nChange-Id: If6848a77e1f2a785c017d2e5d77f770c34a97d4c\n"
    },
    {
      "commit": "dd060b3bb45cb50e965de50a3b278c8474eeb4b6",
      "tree": "97ace79845c7909699607bf9b44ccb387f31fa50",
      "parents": [
        "1e036d883e300a01a17e328dbae9fc7e2af88f24",
        "6b4cf2c0d3e528874a62c78d74d33c6c99b99f7f"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 09 19:36:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 09 19:36:16 2016 +0000"
      },
      "message": "Fix security vulnerability: Equalizer command might allow negative indexes am: e981cca9ff am: 8fb8275471\nam: 6b4cf2c0d3\n\nChange-Id: I88ed7d46bb8d54dcb2309b103dd6fcf787ba3269\n"
    },
    {
      "commit": "6b4cf2c0d3e528874a62c78d74d33c6c99b99f7f",
      "tree": "73888a8b41b6789d74758d57492665eceff5422d",
      "parents": [
        "c696d76d984448723768ce80e461a7e0f09069f8",
        "8fb8275471a554503d333055e4715bed4a1b2b96"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 09 19:30:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 09 19:30:47 2016 +0000"
      },
      "message": "Fix security vulnerability: Equalizer command might allow negative indexes am: e981cca9ff\nam: 8fb8275471\n\nChange-Id: Iba4ca7302804912646e8c510d2e436ebbf8373aa\n"
    },
    {
      "commit": "e981cca9fff3608af22bdf8fc1acef5470e25663",
      "tree": "cd45983c1392da6206b2e54775ccbf860619d310",
      "parents": [
        "2c28e5b1266a12163fed8236d34830f69f8216a2"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Mon Oct 31 12:50:20 2016 -0700"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Tue Nov 01 17:40:37 2016 +0000"
      },
      "message": "Fix security vulnerability: Equalizer command might allow negative indexes\n\nBug: 32247948\nBug: 32438598\nBug: 32436341\n\nTest: use POC on bug or cts security test\n\nChange-Id: I91bd6aadb6c7410163e03101f365db767f4cd2a3\n(cherry picked from commit 0872b65cff9129633471945431b9a5a28418049c)\n"
    },
    {
      "commit": "bb38f9060299b4fc3afab89d942c1d165b47b2b7",
      "tree": "a769c824e4f3f161efd427f6293ae37b676ac704",
      "parents": [
        "9200a9aab71fd6e1feaffb0b85d9021bcc9d818e",
        "cf06be50b28837b2fc39233871ce069e0a74ad01"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 26 20:30:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 26 20:30:07 2016 +0000"
      },
      "message": "Merge \"libeffects: fix enum conversion warnings.\""
    },
    {
      "commit": "cf06be50b28837b2fc39233871ce069e0a74ad01",
      "tree": "31589cb63b28b061d0727b9a469ae3a302ba3541",
      "parents": [
        "7449b5e025eeb79b04d67c4595c0497b942fe785"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Sep 26 11:15:48 2016 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Sep 26 11:16:34 2016 -0700"
      },
      "message": "libeffects: fix enum conversion warnings.\n\nwarning: implicit conversion from enumeration type \u0027LVDBE_Fs_en\u0027 to\ndifferent enumeration type \u0027LVM_Fs_en\u0027 [-Wenum-conversion]\n\nThanks to Luis Lozano for the patch!\n\nBUG: None\nTest: Compiles without warnings.\nChange-Id: I5bb0b5fc2e4e23080f61a209ab0ea95f423bafb1\n"
    },
    {
      "commit": "b8c32f06401c8948a69fa896a9afd768528b299f",
      "tree": "03f478cad7b90b0ed6fc1cf63a5e8a96aab40090",
      "parents": [
        "7449b5e025eeb79b04d67c4595c0497b942fe785"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Sep 23 17:15:38 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Sep 24 15:15:46 2016 -0700"
      },
      "message": "Add missing liblog dependency\n\nBug: http://b/31289077\nBug: http://b/27171986\nTest: remove liblog from libcutils and recompile\nChange-Id: Ic2e8a3d9e62d778d32863a4b794dc4c80b1b1b2b\n"
    },
    {
      "commit": "50bccc66cb570459ae5f93faa986204526b81262",
      "tree": "44436cab25e63874a871dc7c74885498018edec5",
      "parents": [
        "76c12009f52a60fc2894e1493516a9d4fb107640",
        "00f6841c91c4df0e5d9bf86d2593ae9e0e75bcce"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed May 18 01:27:08 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 18 01:27:08 2016 +0000"
      },
      "message": "Merge \"Fix misc-macro-parentheses warnings.\" am: 512c04c5cc\nam: 00f6841c91\n\n* commit \u002700f6841c91c4df0e5d9bf86d2593ae9e0e75bcce\u0027:\n  Fix misc-macro-parentheses warnings.\n\nChange-Id: Ice0b2dc35814165460bce73e9cd2dceab0091624\n"
    },
    {
      "commit": "ee5863a537bc83a0a603de43e068bbaff850ec59",
      "tree": "08296579d518c27c40b192b0294f89ba45b30e2f",
      "parents": [
        "0603c5dfc34923095218307674a60429bfa5873a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 17 15:31:20 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 17 15:31:20 2016 -0700"
      },
      "message": "Fix misc-macro-parentheses warnings.\n\nBug: 28705665\nChange-Id: Iaddda0f87395c44173a312f53e42a47c041d4526\n"
    },
    {
      "commit": "440c9e9b72277d6fc6cea630b9ab50f12687a9c0",
      "tree": "ff16ef64f82cef137607bdb02d73af3f4b6adad1",
      "parents": [
        "c653d2f19ee368e75bd7da6327196f971969078d",
        "b1338d3cfcb47d0fc5f21e2b939d66316b307fe3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 12 02:20:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 12 02:20:44 2016 +0000"
      },
      "message": "fix possible overflow in effect wrappers. am: 9e29523b95 am: baebc739b0 am: 3a9d4f4a83 am: 5b7c20dd1e am: df81fc3f3c am: 68e43cf141\nam: b1338d3cfc\n\n* commit \u0027b1338d3cfcb47d0fc5f21e2b939d66316b307fe3\u0027:\n  fix possible overflow in effect wrappers.\n"
    },
    {
      "commit": "df81fc3f3c56048a797232fa49185831f250e57c",
      "tree": "d0c90795e03e7efe6d4092ecb0f9b4a24c5dd2fd",
      "parents": [
        "50270d98e26fa18b20ca88216c3526667b724ba7",
        "5b7c20dd1ee9eff7f96676cec68d4b74e33440e7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 12 02:02:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 12 02:02:55 2016 +0000"
      },
      "message": "fix possible overflow in effect wrappers. am: 9e29523b95 am: baebc739b0 am: 3a9d4f4a83\nam: 5b7c20dd1e\n\n* commit \u00275b7c20dd1ee9eff7f96676cec68d4b74e33440e7\u0027:\n  fix possible overflow in effect wrappers.\n"
    },
    {
      "commit": "3a9d4f4a83341e4c083aa50a651fe5d765ef70ad",
      "tree": "167fc6e0e51a5eaea14f37e87074f27dc3f97ac4",
      "parents": [
        "c56555962b7e0fcee2dc0a058127f8f309f19ea8",
        "baebc739b0fe7257b26bfe105b67409559171c82"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 12 01:58:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 12 01:58:50 2016 +0000"
      },
      "message": "fix possible overflow in effect wrappers. am: 9e29523b95\nam: baebc739b0\n\n* commit \u0027baebc739b0fe7257b26bfe105b67409559171c82\u0027:\n  fix possible overflow in effect wrappers.\n"
    },
    {
      "commit": "baebc739b0fe7257b26bfe105b67409559171c82",
      "tree": "e7204d25f9b5e74ddcd76bdf72e29bf412530371",
      "parents": [
        "208bc477d92dbd2e5b4d1c0b2d000fa4c231e9d3",
        "9e29523b9537983b4c4b205ff868d0b3bca0383b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 12 01:56:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 12 01:56:51 2016 +0000"
      },
      "message": "fix possible overflow in effect wrappers.\nam: 9e29523b95\n\n* commit \u00279e29523b9537983b4c4b205ff868d0b3bca0383b\u0027:\n  fix possible overflow in effect wrappers.\n"
    },
    {
      "commit": "9e29523b9537983b4c4b205ff868d0b3bca0383b",
      "tree": "e26b62c7419fe2a7f521d704e64e687a119441a2",
      "parents": [
        "3d6a7149802928ecf3f58b7218b0e82699b492df"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 08 10:52:38 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 11 18:08:30 2016 +0000"
      },
      "message": "fix possible overflow in effect wrappers.\n\nAdd checks on parameter size field in effect command handlers\nto avoid overflow leading to invalid comparison with min allowed\nsize for command and reply buffers.\n\nBug: 26347509.\nChange-Id: I20e6a9b6de8e5172b957caa1ac9410b9752efa4d\n(cherry picked from commit ad1bd92a49d78df6bc6e75bee68c517c1326f3cf)\n"
    },
    {
      "commit": "ad1bd92a49d78df6bc6e75bee68c517c1326f3cf",
      "tree": "954aaa329a6478405d7dc3c273c603ff7dd3f3bd",
      "parents": [
        "a3e696da3872250bca66a62d93a3b6114e20c27d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 08 10:52:38 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 08 11:52:01 2016 -0800"
      },
      "message": "fix possible overflow in effect wrappers.\n\nAdd checks on parameter size field in effect command handlers\nto avoid overflow leading to invalid comparison with min allowed\nsize for command and reply buffers.\n\nBug: 26347509.\nChange-Id: I20e6a9b6de8e5172b957caa1ac9410b9752efa4d\n"
    },
    {
      "commit": "2a5afed82fd4edd220551ce5565d89ac976f6720",
      "tree": "8238c137e7709188f971a13a9f1cb59846e89276",
      "parents": [
        "9a57d1cb51ef14a666eefb32b245dd47cf79844e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 21 13:29:53 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 21 13:29:53 2015 -0700"
      },
      "message": "LVM Effects: add malloc checks\n\nBug: 20674084.\nChange-Id: I7ea2e3a53d020be11c3a7f15315be038bab4bb4d\n"
    },
    {
      "commit": "c655561b3580ae7ba3a721e69ac240606e11fab8",
      "tree": "b1284c00f28db946f0a416a52c5e9d6a94e9dbdd",
      "parents": [
        "13c925cab2decaed6786b0642f2b5a9f8516e71a",
        "29b83cbb9018e53a18cf6e0fb34893f9774dcb96"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 23 01:32:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 23 01:32:08 2015 +0000"
      },
      "message": "am 29b83cbb: DO NOT MERGE - audio effects: fix heap overflow\n\n* commit \u002729b83cbb9018e53a18cf6e0fb34893f9774dcb96\u0027:\n  DO NOT MERGE - audio effects: fix heap overflow\n"
    },
    {
      "commit": "3f0b4976ec8023c5cad92b21ac3064d63d1aa581",
      "tree": "2af1fa48b13a7ec0121e8c039d924188c5386f41",
      "parents": [
        "66b91b348d66102c8deb652929150446223ec767",
        "4c855d207edaaeb8c61109977a5297418295658c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 23 01:29:00 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 23 01:29:00 2015 +0000"
      },
      "message": "am 4c855d20: am 6368e6d2: audio effects: fix heap overflow\n\n* commit \u00274c855d207edaaeb8c61109977a5297418295658c\u0027:\n  audio effects: fix heap overflow\n"
    },
    {
      "commit": "29b83cbb9018e53a18cf6e0fb34893f9774dcb96",
      "tree": "c17fd5e1cd3b7e6be790d902a31ea2af520a548c",
      "parents": [
        "6ff53b96235bf99cdc1023b99d44f1c4cade1c0a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 19 15:33:57 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 23 00:40:18 2015 +0000"
      },
      "message": "DO NOT MERGE - audio effects: fix heap overflow\n\nCheck consistency of effect command reply sizes before\ncopying to reply address.\n\nAlso add null pointer check on reply size.\nAlso remove unused parameter warning.\n\nBug: 21953516.\nChange-Id: I4cf00c12eaed696af28f3b7613f7e36f47a160c4\n"
    },
    {
      "commit": "6368e6d23ca27cd59a9a1876d6b5a2301a8657ed",
      "tree": "8a89740c3b4dcb9a5241b5c1156154e5990086a2",
      "parents": [
        "115e995c6b3fe7ed33e2d5d88872cb87ab4e63f0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 19 15:33:57 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jun 20 01:21:51 2015 +0000"
      },
      "message": "audio effects: fix heap overflow\n\nCheck consistency of effect command reply sizes before\ncopying to reply address.\n\nAlso add null pointer check on reply size.\nAlso remove unused parameter warning.\n\nBug: 21953516.\nChange-Id: I4cf00c12eaed696af28f3b7613f7e36f47a160c4\n(cherry picked from commit 0f714a464d2425afe00d6450535e763131b40844)\n"
    },
    {
      "commit": "0f714a464d2425afe00d6450535e763131b40844",
      "tree": "e949a4874b50e193734fb3541e9011d3a7e54cb6",
      "parents": [
        "3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 19 15:33:57 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 19 18:00:25 2015 -0700"
      },
      "message": "audio effects: fix heap overflow\n\nCheck consistency of effect command reply sizes before\ncopying to reply address.\n\nAlso add null pointer check on reply size.\nAlso remove unused parameter warning.\n\nBug: 21953516.\nChange-Id: I4cf00c12eaed696af28f3b7613f7e36f47a160c4\n"
    },
    {
      "commit": "7f0e16e391b0bd243005cc1049d3b6799f0692ec",
      "tree": "40b05b33af85672992eacb83f7da7bfc04a605e9",
      "parents": [
        "70b2313318aaf245d185b6ddb188606608bdf7c9"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu May 21 19:55:31 2015 -0700"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Fri May 22 09:58:07 2015 -0700"
      },
      "message": "Level adjustment for Bundled Effect Fix\n\nFixed automatic level compensation for bundled effects. Fixed algorithm\nnow works even in corner cases previously reported.\nCross band coefficients and cross interaction of BassBoost fixed.\n\nbug: 18769691\nChange-Id: I51570836bdbff37e7c4b26f2b4282e4ded7fa56d\n"
    },
    {
      "commit": "02521e37c0494b83947c35160f3669de8adc9e5b",
      "tree": "b1da6be2aaee6e241bae52e10170f2a7b936f03d",
      "parents": [
        "9257000c453c1a6f6bf073ff0bf3ba7ef9baf183"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Nov 20 08:54:51 2014 -0800"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Tue Dec 09 14:13:09 2014 -0800"
      },
      "message": "Fix for Bundled Effects level compensation\n\nFrom the bundled effects, only the EQ had some sort of level compensation\nbased on the settings of the effect.  This patch takes into account all\nthe status and levels of EQ, BassBoost and Virtualizer bundled effects\nand makes an informed decision on the overall level compensation.\n\nbug: 18213779\nChange-Id: I23c7b94fe7da5482f0bbef0cbe715ea464631420\n"
    },
    {
      "commit": "47d4c9a4d53ed014b520edbda2edc3e280efb8a5",
      "tree": "5970b2b39c01cb5deb5d98c6b88db0202500dfe8",
      "parents": [
        "f1828910d48bbd22e1392e6ab0ce31298d1f115c"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Dec 04 17:47:19 2014 -0800"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Dec 04 17:47:19 2014 -0800"
      },
      "message": "Fix for AOSP force virtualization mode\n\nForcing virtualization mode with AOSP code might erroneously return\na failed code, whilst it was correct.  Fixing the condition for\nAutomatic mode.\n\nbug: 18538537\nChange-Id: I5837ff40cfed04c99889813cd56ebe3d90793e74\n"
    },
    {
      "commit": "333f66d4642ddd36b42668da2767551ba25f0248",
      "tree": "5b21995570cbab7e36422983804c44f82fa7f03b",
      "parents": [
        "5698d4461a260dbf208484383f692b03c6473e74"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 08 16:31:40 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 15 15:12:54 2014 +0000"
      },
      "message": "DO NOT MERGE LVM virtualizer: add support for virtualizer capability query\n\nChange-Id: I88106ba25f9b3f8fd7616307ab6b7fbe7afb6e91\n(cherry picked from commit bfd3b9764841971be2d2f04a3fdbd41a2144beea)\n"
    },
    {
      "commit": "7618c5cb2fd60e944307e46afa051987d1e016c6",
      "tree": "7619c9a4cf9de3a5feec178002b904f83c80f145",
      "parents": [
        "665470b36f202bcc8ee2f7417f68fd2608dd07c1"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 08 14:17:29 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 08 16:35:58 2014 -0700"
      },
      "message": "Cleanup unused parameters or variable in EffectBundle\n\nNo unused parameter warning in EffectBundle.\nRemove unused variable declaration in Virtualizer_getParameter\n\nChange-Id: Ibe1c051bc21ac53a6c770b4aa28e31ac5d559d9b\n"
    },
    {
      "commit": "7b6c7b89241397261d52602cbeaa559962efbfec",
      "tree": "1d347a2ce88b8e38c4e127224b3cc749c63f00af",
      "parents": [
        "fcd58351b6d7fcd62a0fe65b425723dd53d10e5e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Jun 20 13:29:08 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Jun 20 14:57:17 2014 -0700"
      },
      "message": "libeffects: 64-bit compile warnings\n\nChange-Id: I210129f5742b046f7ceef48194f039352eff596d\n"
    },
    {
      "commit": "b302bd5d288be2d3363b80053ca2392560b00b25",
      "tree": "7eaf242136ba86c73b7371e47475a2d7c5334847",
      "parents": [
        "80b72e6f4202ce26facbe51b8739814bca198a2c"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Tue Feb 18 11:40:00 2014 +0000"
      },
      "committer": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Thu Feb 20 14:12:49 2014 +0000"
      },
      "message": "LP64 fixes for media/libeffects\n\nChanges include:\n\n[x] In get parameter series of functions, replaced size_t*\n    formal parameter type with uint32_t* where actual parameter\n    passed was uint32_t*.\n\n[x] In set parameter series of functions, changed size_t\n    formal parameter to uint32_t where actual parameter was\n    uint32_t.\n\n[x] Changed the definition of LVM_UINT32 from unsigned\n    long to uint32_t as unsigned long is 64-bit in LP64.\n\n[x] Used other stdint.h types for other LVM_types for\n    consistency.\n\n[x] Use of uintptr_t for the pNextMember of the INST_ALLOC\n    structure, rather than LVM_UINT32, for portablility.\n\n[x] Use of uintptr_t where pointers are used in arithmetic.\n\n[x] Replaced the use of 0xFFFFFFFC with ~3 in places where\n    it was used to clear last two bits.\n\n[x] Removed int casts where cmdSize and *replySize, both\n    uint32_t, were being compared with sizeof().\n\nChange-Id: Ibec0b4d8e9b855f44b1cd853be6df84d13cf4186\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\n"
    },
    {
      "commit": "377b2ec9a2885f9b6405b07ba900a9e3f4349c38",
      "tree": "b938e1d75a1beefae86244f287ca22f4a277740d",
      "parents": [
        "cdda7bf4d3ca9cad6979374a18dd5be79ea83d80"
      ],
      "author": {
        "name": "Kévin PETIT",
        "email": "kevin.petit@arm.com",
        "time": "Mon Feb 03 12:35:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 11:40:06 2014 +0000"
      },
      "message": "Make frameworks/av 64-bit compatible\n\nContains the necessary changes to make frameworks/av build and work\non a 64-bit machine.\n\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n\nChange-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43\n"
    },
    {
      "commit": "7d6fc5ebc8718ebb5bf505d9bda83ab63741a545",
      "tree": "3dff65731f7dcb75e20974287e8008c7048ca86f",
      "parents": [
        "4ef1dc2d5b5f5df93b173b0b4c4719d4484e031d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 24 21:00:32 2014 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jan 27 12:39:29 2014 -0800"
      },
      "message": "frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH\n\nLOCAL_MODULE_PATH doesn\u0027t work for multiarch builds, replace it\nwith LOCAL_MODULE_RELATIVE_PATH.\n\nChange-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e\n"
    },
    {
      "commit": "c9d8ea7f8f9a1ca8ecd266695e3cac423790b2f9",
      "tree": "ba266ce44ccdc60775b8f91e6b33a05b3c207f89",
      "parents": [
        "0219856e5e45c0bdd20f2199297ec92f11f0875f"
      ],
      "author": {
        "name": "synergydev",
        "email": "synergye@codefi.re",
        "time": "Sat Oct 19 22:51:33 2013 -0700"
      },
      "committer": {
        "name": "synergydev",
        "email": "synergye@codefi.re",
        "time": "Sat Oct 19 22:57:43 2013 -0700"
      },
      "message": "libeffects: do not use GNU old-style field designators\n\nNot using a GNU extension improves portability\n\nChange-Id: I4e8a0376c089828ca4fc7f1aaf3914bfd917d4c5\n"
    },
    {
      "commit": "209bbbcf4190231f9dede758cbe77d109919f9f1",
      "tree": "08e8e07347f3b8dd770685bb34280a0d2c236b73",
      "parents": [
        "e6478de72a8ae1d3abb3e8c20898977c45354a4f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 20 16:49:25 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 20 16:49:25 2013 -0700"
      },
      "message": "Apply EQ and bass boost first in effect chain\n\nEQ and bass boost can improperly interact with other effects\n (e.g. virtualizer) outside of the bundle. Apply them first\n in an effect chain, which is equivalent to using them to affect\n the content of a track, rather than how a track is presented,\n when additional effects are cascaded behind EQ and BB.\n\nBug 8589316\n\nChange-Id: Ifb34e46bc1969f613cdc90ee2a79af677e2fad92\n"
    },
    {
      "commit": "5875516ea11f77438f2ed23334fc490a706edd56",
      "tree": "64a4066e339bfdd95eb7acf3682fe4ce762c9ebf",
      "parents": [
        "948700612e987b49185f7916befd38f39a2b0a3b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 01 16:15:49 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 01 16:15:49 2013 -0700"
      },
      "message": "Fix reverb at 48kHz\n\nThe LVM reverb wrapper had a test to only accept input\nsampling rate of 44.1 kHz. As the LVM reberb engine\nsupports multiple sampling rate we can remove this test.\n\nThe fix for issue 8512027 (commit 2a9c5cd4) caused a regression\nbecause the framework now checks the return code of the effect\nconfigure command and ignores subsequent commands in case of error.\n\nBug: 8630044\nChange-Id: I3146871f1ad8f7945a2e63ea763dd7b87368337d\n"
    },
    {
      "commit": "6a5c6ed13e3ea1b19835e08624125c9b1505b32c",
      "tree": "f3a83e08b9a6c526ee1b3cbfe02de1ed09382770",
      "parents": [
        "4f4c2655dc3f6fcef766db6e793b1642ad0fd605"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Mar 19 09:57:29 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Mar 19 09:57:29 2013 -0700"
      },
      "message": "Fix valgrind error\n\nThe volume member of the BundledEffectContext class was not being\ninitialized, resulting in uninitialized data being used for calculations\nand control flow.\n\nChange-Id: I84bf9fd478e5d0479e781323b21c7c03dea958c5\n"
    },
    {
      "commit": "480421bb48af5df4f15498845447f3fde20a4069",
      "tree": "f9d8a23223b8a5da6528803cb5fcbabae9464037",
      "parents": [
        "fb242fa66643d1bd5362077a44c02c86c8064564"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 26 14:28:05 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 02 15:35:11 2012 -0700"
      },
      "message": "Turn off executable bit on ordinary files\n\nChange-Id: I0abea25b58fb1d03975bed9cca40f826fcd4c5e4\n"
    },
    {
      "commit": "7f16b197c76fbae9399242f055a7ee16dcd0fd6d",
      "tree": "c3ef4aac9bb7cedd1a694a50d4f9be0ec83cc817",
      "parents": [
        "6035cb5a61a7606cc8e4ecddec32b2eb37a9fd56"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 25 16:05:57 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 25 16:05:57 2012 -0700"
      },
      "message": "Only export the symbols that need to be\n\nThe effects libraries were exporting many more symbols than needed.\nThis reduces the exported symbols to just the needed ones (basically\njust \"AELI\"), which happens to also save about 28KB.\n\nChange-Id: I115077e52e8dc845282e6f62a522908d26dd72d6\n"
    },
    {
      "commit": "6035cb5a61a7606cc8e4ecddec32b2eb37a9fd56",
      "tree": "4adad231ee22989258c1d6c6c95ea8c218a9807d",
      "parents": [
        "bd37975395b6517e155f6195d2300872bc26ee70"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 25 11:02:50 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 25 12:16:59 2012 -0700"
      },
      "message": "Switch to new fx library API\n\nChange-Id: I6603aef5e3821a8f911e3f33ef8565d04bd1e2e5\n"
    },
    {
      "commit": "97bb6e89845cb6d85f4d34a4efcc1de2ce585336",
      "tree": "6b8936f6a6e8d89c3a5a940fb5a48964463f4ea0",
      "parents": [
        "9bccfb551d79a16e23278db7b0e043da79118bf8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 17 10:57:02 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 17 10:57:02 2012 -0700"
      },
      "message": "Fix valgrind issues\n\nWe were reading some uninitialized memory when creating bass boost and EQ\neffects, and using memcpy() with identical source and destination.\n\nChange-Id: I15ea1b2c52ae05cbf54aef04351e89805e0ebf8e\n"
    },
    {
      "commit": "0ee916f1f69c2d69e02a8de1e5cd5a2e9d0a0782",
      "tree": "81a8353326b409393a6d9167ded988affcd1a164",
      "parents": [
        "482136a5f977056eeffe2aa58d31ce395be562a3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 17 09:02:23 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 17 18:49:09 2012 -0700"
      },
      "message": "Fix THD with max user EQ preset volume again\n\nThere was a problem with previous fix in 1b6c677c where\nthe THD was good for max volume but bad for intermediate\nhigh volume values.\n\nThis fix does not limit the band gains but apply a correction\nto the effect bundle volume to take into account not only the\nmaximum band gain but also the average band gains weighted\nby the proximity of each band to the max gain band.\n\nChange-Id: Ibedd8da7fce1e163117f29b3da332da0e4fe8889\n"
    },
    {
      "commit": "9b3c701bbdbf3e4655758e995d467b325f8f366d",
      "tree": "7793fdf1d2d1ca9522796a2d5863dae844a3064b",
      "parents": [
        "947be6bf6700d07e148f6fbf6308e86b08d3c926"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 10 16:27:35 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 10 18:21:27 2012 -0700"
      },
      "message": "Limit maximum equalizer gain.\n\nLimit maximum gain in all EQ bands according to current volume so that\ntotal gain (current volume + band gain) does not exceed a certain limit.\nThe gain difference between bands is preserved.\n\nChange-Id: Ice5a9705a0b3353e8778b4c539a29ca9cdf60390\n"
    },
    {
      "commit": "aa1c402d4ed471dfd0863f73f40a776be258419e",
      "tree": "cd73b33e48f2092483ad6f3c2bdf96c04714c271",
      "parents": [
        "28169b107327b5db58877babf6993f0eb109c58a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 07 15:09:57 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 07 15:09:57 2012 -0700"
      },
      "message": "Fix headroom management in equalizer\n\nFix a bug resetting the headroom parameters when\ncalling the bundle process function for the first time.\n\nChange-Id: Ie05f97606f415954340ff2a4e48cd7b0a97a063b\n"
    },
    {
      "commit": "9f6f0a7eb1d7f2c35f3547779364a1a8d6d4a24c",
      "tree": "3961530311f2e88f66d83778f3a2a036f6b64445",
      "parents": [
        "161093230065931260959deb5bffeb98d2c8a7b4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 30 11:16:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 11:48:41 2012 -0700"
      },
      "message": "audio effects: fix bug in sample rate control.\n\nFix a bug in LVM bundle wrapper preventing audio framework sample rate\nfrom being sent to the effect bundle instance.\n\nChange-Id: I912027f866d3beac91b977bba869ff96a92d2a62\n"
    },
    {
      "commit": "e44615ff6022239850a3ea459ad6e07b44c37544",
      "tree": "67b26af98c6bff960193a642bf0a48181c1cee43",
      "parents": [
        "9a150640a28d3fa5507a590125a6c004681bb221"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 24 14:17:34 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 24 14:17:34 2012 -0700"
      },
      "message": "Reduce THD when equalizer is ON.\n\nIncrease headroom in LVM bundle to reduce THD when equalizer is ON\nwith high band gains.\n\nAlso add a workaround for a bug in headroom parameter control.\n\nChange-Id: I1d67c9ae475f6cf852c2e0e49bacfc82a5e484fd\n"
    },
    {
      "commit": "a189a6883ee55cf62da1d7bf5bf5a8ab501938a4",
      "tree": "7ab4133c0ce507e289baacf76d745de27f9e8136",
      "parents": [
        "28b76b334f92a15a2be3cc9e2f7d229a3275d1ac"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 20 12:16:30 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 17 11:35:16 2012 -0700"
      },
      "message": "Use struct assignment instead of explicit memcpy\n\nfor POD structs effect_descriptor_t and effect_config_t\n\nChange-Id: Ib2fc47f85fb65ed91b0abb1f87217c49b5eb571d\n"
    },
    {
      "commit": "3d51d5cb53cc630709a0ba78d0e60501a675f2d5",
      "tree": "c01dc8011b4e0061343c8b60b0da3508c63ae822",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 18:10:35 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 15:18:29 2012 -0700"
      },
      "message": "Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\n\nChange-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26\nrelated-to-bug: 6647465\n"
    },
    {
      "commit": "17a736c3e1d062d7fc916329eb32aef8935614af",
      "tree": "7fb73e48de8641ce6ad7b65fb4204bc60cd3e5f0",
      "parents": [
        "1746929ddc7592ab397c402724a61352e45df093"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 08:52:15 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 19 14:12:01 2012 -0700"
      },
      "message": "Update comments\n\nChange-Id: I327663a020670d0a72ff57bd0b682e2ce0528650\n"
    },
    {
      "commit": "33b383948e8f270bff30378476f00dce289004eb",
      "tree": "a42eeb76674395b36611da694166ddd4144a0fa8",
      "parents": [
        "dfaf549e3e310bc22444f4404b19f4907b24c286"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 13 15:59:35 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 14 16:44:34 2012 -0700"
      },
      "message": "Remove dependency on audio_* location\n\nChange-Id: I4bc66115fcb9ba22b057bd72db3f561dcb18a0d8\n"
    },
    {
      "commit": "b4d307481960b6b348fae4b4e8edefd003c3d36c",
      "tree": "d357f30c9cf6541cbe3de6de7cc71a860f66c80b",
      "parents": [
        "f67fdc6d8bb31226ffeeecbff6aca610befd0110"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 13 14:46:23 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 13 16:14:19 2012 -0700"
      },
      "message": "Use correct syntax for #include \u003c\u003e \"\"\n\nChange-Id: I943137108668ae66f8eba18dafe069a7951bcd8f\n"
    },
    {
      "commit": "5e92a7861196ddae14638d4b7a63fc4892b7ef59",
      "tree": "6772b944a26acb22381a2eb38871b46cff9d856a",
      "parents": [
        "0a20fa9c41c96e31fa20e071074a4b6e7f6c41c3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 30 07:40:52 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 09:21:39 2012 -0800"
      },
      "message": "Effect UUID inputs passed by pointer are const\n\nChange-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8\n"
    },
    {
      "commit": "3d5188bd6abe55898f10a0edf3c05aff8aa2ef67",
      "tree": "7dd2eba6d9a65d42628ffe55d12e640776285035",
      "parents": [
        "42968939dfce0954d6540011199045ec4ed7de80"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 16 15:30:36 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 19 17:08:31 2011 -0800"
      },
      "message": "audio effects: rename configure command\n\nRenamed audio effect library interface command for audio format\nconfiguration from EFFECT_CMD_CONFIGURE to EFFECT_CMD_SET_CONFIG.\nThis makes the naming more consistent with other exixsting commands\nand allow adding a new command to get the configuration (EFFECT_CMD_GET_CONFIG).\nSame change for reverse channel configuration renamed from\nEFFECT_CMD_CONFIGURE_REVERSE to EFFECT_CMD_SET_CONFIG_REVERSE.\n\nImplemented EFFECT_CMD_GET_CONFIG in exisitng effect libraries.\n\nChange-Id: Ia7b1c620f13797fe5aceb3b0b4acbacce09fb067\n"
    },
    {
      "commit": "45b92707d851458c73e320d2450cfc246b1167db",
      "tree": "17482eaf257fe07bf909a9726ae86f56b4037d48",
      "parents": [
        "f5a486a54d85ee59f4e9afa18b05c1946d749050",
        "4d954c4ff6ab7110df23f1f3ebfe296beb97f3de"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 05 09:32:35 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 05 09:32:35 2011 -0700"
      },
      "message": "resolved conflicts for merge of 914972be to master\n\nChange-Id: I15adb9040eaa206c31bb5a08ed5ee5b32967ba0a\n"
    },
    {
      "commit": "f5a486a54d85ee59f4e9afa18b05c1946d749050",
      "tree": "3e2b736f57ec861e490f34d76119d2f024e30cc5",
      "parents": [
        "7040b12bb2f83209bbccd0149d365e2d106adc74",
        "047f160561fc7a87fc5794762d36225bfa5d2e89"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 05 08:52:20 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 05 08:52:20 2011 -0700"
      },
      "message": "resolved conflicts for merge of 79178b8b to master\n\nChange-Id: Ia597549a6d159b86063eb3afec5ce7fe98434a65\n"
    },
    {
      "commit": "4d954c4ff6ab7110df23f1f3ebfe296beb97f3de",
      "tree": "08359befbbcfeb0a4e401724e87d277c86a7d7e9",
      "parents": [
        "047f160561fc7a87fc5794762d36225bfa5d2e89",
        "b6431802fc6cff501a4311de288ba469839fbf86"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 04 08:29:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 04 08:29:30 2011 -0700"
      },
      "message": "Merge \"Fix device management in lvm effect bundle wrapper.\" into ics-mr1"
    },
    {
      "commit": "5dc65e2ce92c7364da60bdff5f345daf145c2c0f",
      "tree": "90ed0dc7e58b08a673b19a7b72676ba4c9630b70",
      "parents": [
        "09ebde724b2cd224968d1fdba4f5afd81c998c6a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 31 17:36:03 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 02 09:14:13 2011 -0700"
      },
      "message": "Fix problem in lvm effect bundle wrapper.\n\nWhen an effect is disabled, the process function should either\ncopy or accumulate the content of the input buffer to the output buffer\ndepending on the behavior requested by the framework.\nCurrent implementation is copying the input buffer unconditionally.\n\nRelated to issue 5433942.\n\nChange-Id: Ic488ca97eadcc4c763de570d7e6c6f5b7a979415\n"
    },
    {
      "commit": "b6431802fc6cff501a4311de288ba469839fbf86",
      "tree": "596a877457ca1b1a6e1eb6e5c547a4cb0dcbc67d",
      "parents": [
        "841fa37451fb74f3d5978a15aab606bbb67e8c39"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 31 18:48:15 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 01 09:12:19 2011 -0700"
      },
      "message": "Fix device management in lvm effect bundle wrapper.\n\nThe virtualizer and bass boost effects should be disabled when\nnot playing throught headsets or headphones.\n\nThere is a bug in current wrapper implementation that makes that those\neffects are not disabled if the effect is enabled by the user after\nthe headset has been removed (current logic only works if the device selection\noccurs while the effect is enabled).\n\nChange-Id: I7c66b15a0339d95fb9ed13c8320d66379725d3b6\n"
    },
    {
      "commit": "3856b090cd04ba5dd4a59a12430ed724d5995909",
      "tree": "a24e4c98fa6049fd8085826be838000f9a67e39b",
      "parents": [
        "1d2acaffde56ad79e6e96f228d7857863462397c"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "63b96e48deb0a4c5b594693922bd9101ffc3ef93",
      "tree": "f4e64e5c62746d337a1b1de063a57c50c9fa3b62",
      "parents": [
        "a5a0cea84cdf116f4de4f812c26be73e70a260e6",
        "5e0067b486c3862316aa1f293cf9690c0cf54bda"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "message": "Merge \"Remove the simulator target from all makefiles. Bug: 5010576\""
    },
    {
      "commit": "5e0067b486c3862316aa1f293cf9690c0cf54bda",
      "tree": "104ac8491b40d6e9d8353322792fb83ce76f4c82",
      "parents": [
        "52f556b976a9caceee183d8af2118ddbee02c70a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "message": "Remove the simulator target from all makefiles.\nBug: 5010576\n\nChange-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8\n"
    },
    {
      "commit": "ba7b8f881a9b6b21803752326d2932a3bd42d7cf",
      "tree": "3e6ac78f1dea2eb4bde64c598c21a9b8e87a9db2",
      "parents": [
        "9b88b72ee2c3fd01fb46e77b7e6d80f3bd52e958"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 17 18:54:16 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 11 12:00:53 2011 -0700"
      },
      "message": "Audio Effect API: process reverse stream function\n\nAdded function to audio effect interface for processing of\na reverse stream.\nThis is necessary for audio pre processes like echo cancellation.\n\nChange-Id: I6e12d79dbbed6376acdfc79304b8c0ab3f705eae\n"
    },
    {
      "commit": "6d8b694d999e9be7d5dcc336535832a80fb6f61f",
      "tree": "4fcdbf4a7f7fa24a16d7bf27816922031870102f",
      "parents": [
        "5895e970ae119210773a5184c019178e2516b132"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 24 07:01:31 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 07 15:25:51 2011 -0700"
      },
      "message": "Moved and renamed effect API header files\n\nMoved specific effect header files to\nsystem/media/audio_effects/include/audio_effects\nand renamed to lower case (effect_xxx.h).\n\nChange-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621\n"
    },
    {
      "commit": "e1315cf0b63b4c14a77046519e6b01f6f60d74b0",
      "tree": "c10fd288fd0d0d85c619e7e635a249765202fabc",
      "parents": [
        "a3e73df3b402f1ebdbef7c8a8e3111d852e7bd35"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 19:16:02 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 27 15:15:00 2011 -0700"
      },
      "message": "New effect library API\n\nMoved and renamed media/EffectApi.h to hardware/audio_effect.h\nModified the effect library API to expose a library info structure\ncontaining an interface functions table.\nAlso removed enums for audio channels, audio format and devices\nfrom effect API and use values from system/audio.h instead.\n\nModified effects factory to support new library interface format and\nload libraries and efffects listed in audio_effects.conf file.\nThe file audio_effects.conf is first loaded from /vendor/etc and\nthen from /system/etc/audio_effects.conf if not found.\n\nModified existing effect libraries to implement the new library interface.\n\nChange-Id: Ie52351e071b6d352fa2fbc06c3846686f8c45df9\n"
    },
    {
      "commit": "9691a73139bb36c5bf294ed13eedcb04d7f05320",
      "tree": "ba00ccb1b57782b8d542f373edc326417954822e",
      "parents": [
        "35812d2cc295e95e9383b64c07f5f8919d7a6885"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Mar 14 14:02:13 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Mar 14 14:25:59 2011 -0700"
      },
      "message": "frameworks/base: remove LOCAL_PRELINK_MODULE\n\nChange-Id: I54dd62ebef47e7690afa5a858f3cad941b135481\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "d71a0e1ac517cf312b9a96fe5ba9de04f2b9ffd4",
      "tree": "110dc24af6e6f8120738656436f1e20bdd5e8f0d",
      "parents": [
        "c0bff9b96152179650dc9508799a38e35ef2a321"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 12:18:41 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 12:35:18 2011 -0800"
      },
      "message": "Fix issue 3499926.\n\nMake sure that NumberEffectsEnabled is decremented at the same time as\nSamplesToExitCountBb reaches 0 in Effect_process(). Not doing so\ncauses NumberEffectsEnabled not being decremented if Effect_setEnabled()\nis called after SamplesToExitCountBb reaches 0 and before next Effect_process() is called.\n\nChange-Id: Id827a301f93a5a09ecd9995a0c7d731ef526711a\n"
    },
    {
      "commit": "df489b929115ea93a0cf689830fe44400ce3c00f",
      "tree": "e34b5e622da00e3f324d44a0ca3b17022d2fcb27",
      "parents": [
        "59556c4909a2b681791f2305bf48b5160edd0ba2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 25 10:53:40 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 25 10:55:35 2011 -0800"
      },
      "message": "Bug 3117154\n\nThe previous default audible behavior was actually NONE (dry), despite\nthe default value of MEDIUMROOM.  Corrected default value to match the\ndefault behavior.\n\nChange-Id: Iadb0d41629a383fd52f03e8a21ba4b74ea24401c\n"
    },
    {
      "commit": "dac69110ed1073bf0a9827a3f78698896dd05d97",
      "tree": "db990d1cf1867854ffbf39585c0ce19e436c56b9",
      "parents": [
        "036fad5034d05beecae19da6da46e1ce7be78e64"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 28 14:09:57 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 28 14:23:39 2010 -0700"
      },
      "message": "Fix several audio effects problems.\n\nFixed the following issues in LVM effect bundle wrapper:\n- memory leaks in EffectCreate() in case effect creation fails at various stages\n- Added saturation when accumulating to output buffer\n- Fixed problems with enabled effects count when an effect is released while enabled\n- Do not allocate temporary buffer for accumulation each time process() is called\n\nFixed the following issues in effects framework (AudioFlinger)\n- Release effect synchronously in the library when deleted from effect chain\n- Do not call the effect process function if no tracks are present in the same\naudio session\n\nChange-Id: Ifbd80a163415cfb3c0a337c12082853ea45d9c91\n"
    },
    {
      "commit": "29cc743e57f2a1701a0a0d3a0e5406ed0f2e8a89",
      "tree": "2107d9d223ed9e7547097b814c7331b3bb986825",
      "parents": [
        "e0aed6ddcb4e3c301b80aa26706b6052dab42c41"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 15 18:29:49 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 16 09:02:16 2010 -0700"
      },
      "message": "Fix problem in lvm effect bundle wrapper\n\nWhen an effect was deleted while enabled, the count of enabled effects\nin the bundle was not decremented. Resulted a state where if another effect\nwas still enabled, its process function was called only every other time.\n\nChange-Id: I59a0c5b7f50f416a9ecadae297b42912e56ddd51\n"
    },
    {
      "commit": "e0aed6ddcb4e3c301b80aa26706b6052dab42c41",
      "tree": "4a85e38eefe3ad4ac70ca1b182660aefacc07658",
      "parents": [
        "a1754133ee6640346b5fd6daa4666f5d2285379a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 10 17:44:44 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 13 09:08:28 2010 -0700"
      },
      "message": "Fix volume problems with insert revert\n\n- Use a constant input level to the reverb engine and implement volume control in the\ninsert reverb. This avoids the volume spikes when an effect that was inserted after\nthe reverb is disabled or removed.\n- Fix clicks (one silent buffer) at the end of the reverb disable period.\n- Modified volume management in audioflinger so that the volume ramp is also done by\nthe insert effect if present when the track is paused (avoids clicks).\n- Increased room level for all presets.\n\nAlso fixed problems with output stage session (-1):\n- effect bundle wrapper was not designed to support session -1\n- the permission check in audioflinger for using session -1 failed due to a wrong usage of\ngetCallingPid()\n\nChange-Id: Id1ff51327263364bf71d3f2668fa5cde4311d84f\n"
    },
    {
      "commit": "5185b0138aaeffeecc93b958cb9cd9821f260faf",
      "tree": "542a93d7048bb9ede08477926b310f3c23f6fe37",
      "parents": [
        "fbf7162465ee5b9e928d5676d439a475c93b0725"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 09 12:01:11 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 09 12:02:58 2010 -0700"
      },
      "message": "LVM release 1.09 delivery\n\n- Reverb:\n\t- 1 channel mixed has gain zero\n\t- core componenet now only outputs STEREO samples\n\t- wrapper now handles only STEREO from the Reverb Core\n- Bass Boost:\n\t- increase scratch memory\n\nChange-Id: I00ae31051cc40a7006fc993420facfeb4d30dc52\n"
    },
    {
      "commit": "54c38fdcff502ab3502c55dd314a954dd60c0183",
      "tree": "262ae2c34f5eb7e695994ccc3d79c8da097d12d5",
      "parents": [
        "f9c0ae8474dc7180a561ed1e7a8ba3d0d31f6d38"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 08 16:06:18 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 08 16:06:18 2010 -0700"
      },
      "message": "Modify type of some environmental reverb parameters\n\nChanged type of decay time, reverb delay and reflections delay parameters\nfrom signed to unsigned int to match OpenSL ES interface definition.\n\nAlso fixed some type casts in lvm reverb wrapper.\n\nChange-Id: I5ca5e76a87c2590f01f031f3168355586ef22556\n"
    },
    {
      "commit": "2d3bf535004f7310fe04a4b5f46b6747cdb3c93f",
      "tree": "461dec21780c6bacaf61368786580b9ff03dc87b",
      "parents": [
        "8ae49d87b98d57d6758b0c51b95e28a6581a79f1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 02 17:18:20 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 03 15:22:18 2010 -0700"
      },
      "message": "LVM release 1.08 delivery.\n\n- Changed bundle SamplesToExit to 0.1 secs\n- Added SamplesToExit to Revreb\n- Removed mixer from Core reverb\n\nChange-Id: I675ec22889f20ef35a0ac427600c2654111c397e\n"
    },
    {
      "commit": "8f45bd725549436eeacd12ee69349e2332ed8da5",
      "tree": "d1f48f9af5991d462fb22fb37a5dd0a3d7f2251a",
      "parents": [
        "06124758ff402512f3c7a5fb2b35d8d09a0d6c2e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 31 13:50:07 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 31 15:26:23 2010 -0700"
      },
      "message": "Audio Effects: fix problems in volume control.\n\n- Fixed click when re-enabling effect during the turn off phase:\nmake sure the effect states where effect is processed are the same\nwhere volume control is delegated to effect.\n- Fixed click when effect is deleted while still active: do not apply\nvolume ramp if an effect having volume control was just removed from the\neffect chain.\n\nAlso fixed a crash when PCM dump is enabled in effect bundle wrapper.\n\nChange-Id: Ib562f5cf75c69af75df0e862536262e2514493e4\n"
    },
    {
      "commit": "d918324d44aa48b3b064ea9b87d0c520c38f15a9",
      "tree": "83632ad570c190d498d18a8e15f8301ae5171ace",
      "parents": [
        "14cc6fcf8803ae7289a1e342532c26fe257b3d3f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 27 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 27 11:54:39 2010 -0700"
      },
      "message": "LVM release 1.07 delivery.\n\n- Virtualizer now uses the correct control parameter, instead of reverberation\n- Volume smoothing for first frame has been added\n- Equalizer_setParameter now returns correct error code\n- Correcting Non-Linear compressor gain step noise during transitions and effect level changes\n- Removed SVN header blocks\n- Memory and MIPS values have been added to the API\n- Reverb uses a more efficient malloc for input PCM\n- Reverb DecayHFRatio now ranges up to 2000\n- Logging has been removed for most volume functions\n\nChange-Id: Ib59e7e331263c3811559231b4ae90c82e34a8421\n"
    },
    {
      "commit": "97344f1d8e8e95fd07d5deee2ae2492a7e4c24b0",
      "tree": "294d749c237f399295fd80ab5e03393c5b9cb160",
      "parents": [
        "afb68fbf65fad41fdd8da333a61278588e735846"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 14:21:57 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 17:32:48 2010 -0700"
      },
      "message": "Added preset reverb.\n\nModified lvm reverb wrapper code to expose a preset reverb interface.\nAlso removed debug log from bundle and reverb wrapper.\n\nChange-Id: If9b95d91e25a6ff834decdfdda34b17df9b46967\n"
    },
    {
      "commit": "c59c6fd7f859b4010d788db89b8d4d76bbb70e57",
      "tree": "cbdf7a007e63d834652abf8dbdb32a371a59d73c",
      "parents": [
        "3eb2ff224a12b5670f4f62f07a47ffb2fde01548"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 06:33:52 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 20 14:17:41 2010 -0700"
      },
      "message": "LVM release 1.05 delivery\n\n- Click have been removed from the HP filter activation in the BassBosst Effect.\n- SessionId is now stored as a SessionNo\n- Effects now stop being called after a delay\n- Unix EOL fixed for .java and .xml\n- Updated lines limited to 100 characters.\n- Removed the remaining warnings from the wrapper code\n- Added reverb\n\nChange-Id: I03a2b3b5ee2286958f4901acc8d9b0daf9e2d7c6\n"
    },
    {
      "commit": "7fa8a0ec14781a50695cf8c9dd2a85a5e8a3c3f0",
      "tree": "e25fd604bb57f98f2de0628c91478eaeafe08cb3",
      "parents": [
        "c059860c73678a202bfa33062723e8f82fb779d9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 18 14:31:25 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 18 14:31:25 2010 -0700"
      },
      "message": "Audio Effects: fixed \"strength supported\" parameter size.\n\nThe \"strength supported\" parameter for bass boost and virtualizer effect was incorrectly using a\nshort value whereas it should be an int. This is to comply to the definition of boolean type in OpenSL ES\nthat is uint32.\n\nChange-Id: I74ccb61dcc70fc9d390524a1ca5bbbd8b13ab1af\n"
    },
    {
      "commit": "3be9523784cc4038f601e510faee595117cdacb3",
      "tree": "bab6f83881aab994b68acc959ed83485d35d1f2b",
      "parents": [
        "5caff27f4683d5e444f327a5beec15d9b8c7f252"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 30 09:12:51 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 30 09:12:51 2010 -0700"
      },
      "message": "Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.\n\nModified types of some arguments and returned values of the Equalizer class from int to short\nto match those defined by OpenSL ES SLEqualizerItf interface.\n\nAlso fixed a problem with set properties in equalizer engine implementation.\n\nChange-Id: I75894bad0cb67b01c18ca5e22f9687e75ee491b8\n"
    },
    {
      "commit": "25f4395b932fa9859a6e91ba77c5d20d009da64a",
      "tree": "01098a211d6c782708b840c28ebd396a6eb72a7b",
      "parents": [
        "23e1de74359f4bb1763aef0adfebe073122b032c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 05:40:18 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 05:49:21 2010 -0700"
      },
      "message": "Audio effects: modified command() parameter types.\n\nThe type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command()\nfunction have been modified from int to uint32_t. This is more consistent with their role.\n\nChange-Id: I84d289fc262d6753747910f06f485597dfee6591\n"
    }
  ],
  "next": "23e1de74359f4bb1763aef0adfebe073122b032c"
}
