)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "23e1de74359f4bb1763aef0adfebe073122b032c",
      "tree": "f7c8a84104ae81d565a867208d606fd3887d47fe",
      "parents": [
        "8b4179f44917ec4845ade406a49a713cd568fe8a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 00:19:11 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 27 00:41:31 2010 -0700"
      },
      "message": "Audio Effects: added methods to effects java classes to store and load current effect settings in\na single call.\n\nAddional changes:\n- Fixed simulator build\n- Use effect interface UUIDs from OpenSL ES includes when available\n- Added cleanspec rules to remove now obsolete test effect libraries\n- Fixed bug in AudioEffect JNI setParameter function.\n\nChange-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b\n"
    },
    {
      "commit": "8b4179f44917ec4845ade406a49a713cd568fe8a",
      "tree": "13662a6378d09363adb73330863a260e77fbd12f",
      "parents": [
        "09d5ca3766d4bab91cdaad7206716a5747ebad77",
        "010ae0dd9eab40a49a840388230d8bb2f97c530e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 10:09:54 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 26 10:09:54 2010 -0700"
      },
      "message": "Merge \"Fixed bug in vlm effect bunde wrapper effect init function.\" into gingerbread"
    },
    {
      "commit": "09d5ca3766d4bab91cdaad7206716a5747ebad77",
      "tree": "e4fe4f3e6fb5b986b42c3625469f54c8937b3eca",
      "parents": [
        "163fbcf84010b98e0374110454d85b804bc8d13b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 09:01:44 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 01:57:36 2010 -0700"
      },
      "message": "LVM release 1.04.\n\nRemaining warnings in the code have been removed\nCore components support seamless insertion in the audio stream at playtime (Enabling / Disabling the effect).\n\nChange-Id: Icae7085305fad663faeb5a94cb673b41cec5a9f1\n"
    },
    {
      "commit": "010ae0dd9eab40a49a840388230d8bb2f97c530e",
      "tree": "b544e3dff585bc48925f4ff667553de49dd7f0e6",
      "parents": [
        "163fbcf84010b98e0374110454d85b804bc8d13b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 01:03:37 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 01:07:38 2010 -0700"
      },
      "message": "Fixed bug in vlm effect bunde wrapper effect init function.\n\nThe status in the command reply field was not initialized by Effect_command() for\nEFFECT_CMD_INIT causing unpredictable failures when initializing an effect.\n\nChange-Id: I7dccb094c9244fad4ed9aea3062a395db295e082\n"
    },
    {
      "commit": "163fbcf84010b98e0374110454d85b804bc8d13b",
      "tree": "be90f2d23071ae29c91a55d659e815fdc0ca332f",
      "parents": [
        "542db5d438988360d491a5add1040a2df9aa90c9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 00:54:58 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 00:54:58 2010 -0700"
      },
      "message": "Audio effects: lvm bundle wrapper update after first integration tests.\n\nChange-Id: I20cb55282833bd6e3a160e0dae1cc1fcb6b1ca30\n"
    },
    {
      "commit": "de070137f11d346fba77605bd76a44c040a618fc",
      "tree": "ba741240b391a66899514061ccda38254e539013",
      "parents": [
        "f997cabca292d70d078ae828e21c28e6df62995f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 13 04:45:46 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 20 10:31:57 2010 -0700"
      },
      "message": "Audio policy manager changes for audio effects\n\nAdded methods for audio effects management by audio policy manager.\n- control of total CPU load and memory used by effect engines\n- selection of output stream for global effects\n- added audio session id in parameter list for startOutput() and stopOutput().\nthis is not used in default audio policy manager implementation.\n\nModifications of audio effect framework in AudioFlinger to allow moving and reconfiguring\neffect engines from one output mixer thread to another when audio tracks in the same session\nare moved or when requested by audio policy manager.\nAlso fixed mutex deadlock problem with effect chains locks.\n\nChange-Id: Ida43484b06e9b890d6b9e53c13958d042720ebdb\n"
    },
    {
      "commit": "2c8e5cab3faa6d360e222b7a6c40a80083d021ac",
      "tree": "fd19b8baa829edb78116b089d1122ea4ef0921e1",
      "parents": [
        "ada2ac8e09b6d3f2b3c3155a852ba0fffae1b592"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 09 12:28:50 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 17 06:33:00 2010 -0700"
      },
      "message": "First submission of audio effect library from NXP software.\n\nThis CL contains the first open sourceable version of the audio effect library from NXP software.\nThe effects implemented are:\n- Bass boost\n- Virtualizer (stereo widening)\n- Equalizer\n- Spectrum analyzer\n\nSource file for the effect engines are located under libeffects/lvm/lib\nThe wrapper implementing the interface with the audio effect framework in under libeffects/lvm/wrapper\n\nThe code of other effect libraries has also been reorganized fo clarity:\n- the effect factory is now under libeffects/factory\n- the test equalizer and reverb effects are under libeffect/testlibs\n- the visualizer is under libeffects/virtualizer\n\nChange-Id: I8d91e2181f81b89f8fc0c1e1e6bf552c5809b2eb\n"
    }
  ]
}
