)]}'
{
  "log": [
    {
      "commit": "ad4e408b8ea397caadbfee85e1e39515e7e08104",
      "tree": "8d37664a29551f98fd4c94717173715dee65038c",
      "parents": [
        "f27bdebd0c611f9618577f65346f44574146dc00"
      ],
      "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": "655604a7c1ffadc04ec479e4f45345918f44b460",
      "tree": "35f365521cb1292429a01b80e1d61661d5341121",
      "parents": [
        "1bb85d27f09cb01b7e43e08600229258edf16e60"
      ],
      "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": "1bb85d27f09cb01b7e43e08600229258edf16e60",
      "tree": "3c1ec1cf442a4502c430ee07d1ff7ece2fa5276c",
      "parents": [
        "692c3e54c63aaaf7e9ef4d89761f98975bd34f33"
      ],
      "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": "a4fe9a13c432afc5d1e94a4617b75e8f962540e9",
      "tree": "378f10b114a866dbe5feb3eaf7ee35f0a33f3aa2",
      "parents": [
        "bbe11e46faf8f9e3296431993c36d3efc61337b5"
      ],
      "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": "c5cd686a83c6ea65a68d98023d5527fe4373d4e4",
      "tree": "4496f4c659bea583a12268d59e59ed6d976979bd",
      "parents": [
        "b845c6b0c3066d6791973be830f0953477461a65"
      ],
      "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": "8a9e791c0642084c1c6e758b7887b274392f5bb0",
      "tree": "98d16057b23f3e125142987921c736c4855ed60c",
      "parents": [
        "ac19caca75e7268c0a87bfcb2db73df1dd964616",
        "1b6c677c4bad5c1aea4f01277cf5aa234ad4cab4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 11 08:33:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 08:33:53 2012 -0700"
      },
      "message": "Merge \"Limit maximum equalizer gain.\" into jb-mr1-dev"
    },
    {
      "commit": "1b6c677c4bad5c1aea4f01277cf5aa234ad4cab4",
      "tree": "e8fa7869cee2cb02922ea342ef74d03fe6bb3526",
      "parents": [
        "fd48021dfc3278b048ba99ecffe7f996751fb440"
      ],
      "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": "199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2",
      "tree": "c007789298aa55bef0fd888a1d70ee783d4d5f55",
      "parents": [
        "fd48021dfc3278b048ba99ecffe7f996751fb440"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 07 17:31:18 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 10 16:40:21 2012 -0700"
      },
      "message": "audio effects: no audio preprocessing by default\n\nThe audio preprocessings are not included in the default\naudio_effect.conf file anymore as the audio HAL has to provide\nsupport for them.\n\nEach product implementing one or more audio pre processing must\nprovide a specific audio_effects.conf file.\n\nChange-Id: I3b2f636f7a8748829798d4b9057d269db9424d62\n"
    },
    {
      "commit": "5e54e0898a0110642df126238227eca150f2654a",
      "tree": "3102dd4df0ce3972e0137e59bad49bf958c10129",
      "parents": [
        "10894e509f777c6bd7e408a57f5cf21ee2b36a96",
        "f6c7a40f8cbbd2fa1a4131ef91b30cf7c5c2d0d7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 07 16:46:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 16:46:40 2012 -0700"
      },
      "message": "Merge \"Fix headroom management in equalizer\" into jb-mr1-dev"
    },
    {
      "commit": "f6c7a40f8cbbd2fa1a4131ef91b30cf7c5c2d0d7",
      "tree": "fd1c6de50d0360adb5e1b35f593eb5e475e116bf",
      "parents": [
        "0b73d4730202fcad53aefc4314a06e7b95f442f0"
      ],
      "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": "f1c04f952916cf70407051c9f824ab84fb2b6e09",
      "tree": "8dba2d679bf308d534c51ea5067ba6d8f4f81f25",
      "parents": [
        "261fd2119c70fda3af64453881a6346dd48eb956"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 28 14:26:53 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 07 10:32:00 2012 -0700"
      },
      "message": "audioflinger: changes for new audio devices enums\n\nThe ThreadBase class now has a separate member for input\nand output devices (mInDevice, mOutDevice).\n\nOnly query get_supported_devices() from audio HAL if the function\nis exposed and if the audio policy manager did not specify the\naudio module to open.\n\nAlso fixed bug in AEC preprocessing that would reset\nto default output device when an input device was given.\n\nChange-Id: I19d4d06aeb920b068e3ef31e6e6be6345ce5d67a\n"
    },
    {
      "commit": "cba53fbdaa723322f7157a4890feab776beae13e",
      "tree": "1da03e4a883c903902710c4c7b7d3be39a3a3187",
      "parents": [
        "23466a95b6b66b9f9592148f4252775e16d46e5b"
      ],
      "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": "f06c2ed50e1db871ae9eb2bd15a196064f8c278c",
      "tree": "a6e809ffab6281359f5c22166113cb2039579f68",
      "parents": [
        "67c0a58e05f4c19d4a6f01fe6f06267d57b49305"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 06 09:52:31 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 07 09:16:27 2012 -0700"
      },
      "message": "Take latency and current time into account for visualization\n\nBuffer more data, and return the data that is currently being\noutput from the audio output, to ensure that visualizations are\nsmooth and responsive even when the audio output has a large\nlatency and/or large buffers.\nb/6522728\n\nChange-Id: I401637f01be7600b3c594a55c869036c13b206c0\n"
    },
    {
      "commit": "aea2715e65994e665a3732551880419ba1cecc0d",
      "tree": "062b9c82f8d9ce4303467e46981c40d3b1fc1d8e",
      "parents": [
        "e737cda649acbfa43fc1b74612a83f2fac9aa449"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 24 10:11:07 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 24 12:12:43 2012 -0700"
      },
      "message": "Prevent occurences of clipping in loud downmixed scenes\n\nThe downmixer effect is a mixer, wich, like the platform mixer,\n  hard-clips. To prevent clipping during loud scenes across multiple\n  chanels, apply a fixed attenuation on the result of the downmix.\n  Note that this attenuation is lower the theoretical required\n  attenuation (except for quad and surround) but is adequate for\n  most content.\n\nBug 4280902\nChange-Id: Iec520e9f1367284d6102633f532429361717692d\n"
    },
    {
      "commit": "6895deeecc8797e6f5b28e7d07ec6bc499355c0c",
      "tree": "9dc5dcdccac3993d0604b69ec08ad2ce75015664",
      "parents": [
        "5d3d12bf58da5b48b1edb7c20b5d1edec0773f75"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 15 15:51:16 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 16 12:28:45 2012 -0700"
      },
      "message": "Stereo downmixer supports generic configurations. Fix 7.1 downmix\n\nAdded a generic downmixer to stereo function to handle the\n  multichannel configurations not supported by the dedicated\n  downmix functions.\n  It first verifies the mask is supported, and then derives\n  channel indices for the downmix.\nAdded support for forcing the generic downmixer to be always\n  used instead of the format-specific functions (define\n  DOWNMIX_ALWAYS_USE_GENERIC_DOWNMIXER to force it).\n\nFixed 7.1 downmix function where handling of accumulate vs\n  overwrite was inversed.\n\nBug 4280902\n\nChange-Id: I8259b32c4e90f76ef4dcd803592fc71df4ae90c5\n"
    },
    {
      "commit": "db46b48d24e03f5bcb8de6d0ff852ec4153401e7",
      "tree": "4d526d6d7e9b7fd92b46f3a8d48c2adfe7f54a63",
      "parents": [
        "36513e357dfc6c53898d4b4f768c9fd4822f4653"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 23 11:29:26 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 23 14:52:34 2012 -0700"
      },
      "message": "Downmix support for 5.1 and quad with side channels\n\nIn DOWNMIX_TYPE_FOLD mode, add support for variants of quad and\n 5.1 channel masks where the \"side\" channels are used instead of\n the \"back\" channels. These variants have the same channel order,\n so they can share the same downmix function.\n\nChange-Id: I5f9cb7cb120927189de680c2a968d6136dc1fc43\n"
    },
    {
      "commit": "fd9e14bc28f377065e43ec6833d754ca151b3941",
      "tree": "c63aa194d876cc7a971d6099378a9b62a9419dc7",
      "parents": [
        "2d359a85ef5b72f1cb47df227b44fe4f3c5fbd60",
        "f28c8792f64e10c3c477d86bf4804a8566ff524e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Apr 19 09:09:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 09:09:19 2012 -0700"
      },
      "message": "Merge \"Turn off debug in downmix effect\""
    },
    {
      "commit": "f28c8792f64e10c3c477d86bf4804a8566ff524e",
      "tree": "6699a532aeae112ce0be9dcf1bfa3f05493481ab",
      "parents": [
        "9bd23229fdec1657398abc682ccccfce1c95f8aa"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 18 18:38:42 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 18 18:38:42 2012 -0700"
      },
      "message": "Turn off debug in downmix effect\n\nChange-Id: I4eda43166d23b3297cf769056a6db720401799aa\n"
    },
    {
      "commit": "3476de62fb10e76412452ef4c6bd71936c9f7db1",
      "tree": "9c814922fd33670a7cdd23c9597cbd19ad5e1ef9",
      "parents": [
        "fbe308d428e42fe249ec317f76e3d11feb3264d5"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Apr 15 17:15:07 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 18 18:27:39 2012 -0700"
      },
      "message": "Add support for scaling mode parameter\n\nSupport VISUALIZER_PARAM__SCALING_MODE parameter.\n\nModify process() function to use new volume scaling parameter,\n used to set whether captured values are maximized by current\n headroom in the buffer (default existing behaviora) or left\n as is and thus affected by volume.\n\nModify AudioEffect to allow subclasses to override the following\n events: control status changed, enable status changed, command\n executed.\nIn Visualizer class (a subclass of AudioEffect), reset the\n scaling mode and capture size on the actual effect\n as cached when control is regained.\n This will allow the effect to be properly\n configured whenever Visualizers with different scaling\n modes or capture sizes are released (e.g. from java\n release() method).\n\nChange-Id: I05cb9f925a296dceca91bafa9fe294ef2b2c2bd5\n"
    },
    {
      "commit": "3f9c84c0a5af83fceb8669390e2d71b75ec7b550",
      "tree": "12f049ef754cdd81c720dbfbed8adfca0808f073",
      "parents": [
        "2d531e1b5865d61d5ca25d77d53017b1ad180efa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 03 15:36:53 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 11 12:17:59 2012 -0700"
      },
      "message": "audio pre processing: test code for dual mic\n\nAdded functional test code to validate effect API for\nmulti mic simplementations.\n\nAlso fixed warning in AudioFlinger.\n\nChange-Id: I07be4d2e4d17791d3626c804ba3e9f87ff26d05a\n"
    },
    {
      "commit": "7d5b26230a179cd7bcc01f6578cd80d8c15a92a5",
      "tree": "563086c1185e0e54770d8c60c8eec1aefdddb89f",
      "parents": [
        "4b75a9c8b93a90749bc5d22912ad0d96c12f4ecf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 04 18:54:36 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 09 11:27:14 2012 -0700"
      },
      "message": "AudioMixer uses downmix effect for multichannel content\n\nIn the AudioMixer structure associated with each track, add an object\n  that acts as the buffer provider when the track has more than two\n  channels of input in the mixer. This object, DownmixerBufferProvider,\n  gets audio from the actual buffer provider of the track, and applies\n  a downmix effect on it.\nThe downmix effect is created and configured when the track gets\n  created in AudioFlinger, which causes AudioMixer::getTrackName()\n  to be called with the new track\u0027s channel mask. It is released\n  when the track is disabled in the mixer.\n\nChange-Id: I05281ed5f61bef663a8af7ca7d5ceac3517c82db\n"
    },
    {
      "commit": "183dc7772d7eba127aab63829c7ca0359d817593",
      "tree": "1966c3817b8064f8bf3f30590afba5739ef265f3",
      "parents": [
        "529127450abdeddf5d2467c7973e779a6b1376ea"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 23 15:35:48 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 26 11:05:25 2012 -0700"
      },
      "message": "fix visualizer inactivity detection\n\nCurrent method implemented by the visualizer to detect that audioflinger has\nstopped providing audio buffers does not work if the application\nreads pcm captures too fast.\n\nThe fix consist in implementing a method based on real time measurement only.\nOne drawback is that the new method makes use of system calls that add some\noverhead to the process and capture functions.\n\nChange-Id: I53bd596b856f1cc7f0f47e08413af3335227100b\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": "ab334fd351ae5a0e18903da123d63e565b536874",
      "tree": "9bcc5a6151326d9ca345f9dfac0d9d68d48e73b4",
      "parents": [
        "3c5bbaee376d235404f267fbe1693d1960bfaaef"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 14 12:56:06 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 15 13:15:27 2012 -0700"
      },
      "message": "audio_channel_in/out_mask_from_count\n\nand avoid ambiguous term \"channels\" where it might be confusing\nas to whether it is a channel mask or channel count\n\nChange-Id: I744fa08ccb6001a98c97bd638d2c9d56836c4234\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": "04c1e531b5913c09aa9b2e59e2b8ed9b4d8a4cba",
      "tree": "643a1bd10a8e4d0e9a208a3987d41459d6db49d1",
      "parents": [
        "eb7de4504bdb3a0182021ca6f022cccca01dbf1e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 02 10:59:56 2012 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Mar 07 10:17:19 2012 -0800"
      },
      "message": "Effect for multichannel PCM downmix to stereo\n\nFirst pass at implementing an audio effect whose role is to\n downmix multichannel PCM buffers to stereo.\nThe effect is not handling volume changes.\nThe effect code here handles quad, 4.0, 5.1 and 7.1 input configurations,\n to optimize the most commom configurations, and does not yet handle\n generic multichanel configurations.\n\nChange-Id: I74d04bd961348f3f0e4ae7714b70e620808a0829\n"
    },
    {
      "commit": "e7c795f3300814aa3f26ceb845f29695383c7edc",
      "tree": "bf5b20a09d391161de6e987669a75ddc09f8ce22",
      "parents": [
        "4bce61f407d43b216c288a8d7b26fb5519853dba"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 02 09:58:05 2012 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 02 09:58:05 2012 -0800"
      },
      "message": "Correct GUID errors in audio effect configuration\n\nCorrect erroneous spaces that were present in some audio effect GUIDs.\n\nChange-Id: Ide3a1552b2f8976f96ee980f1341f935555656d9\n"
    },
    {
      "commit": "76533e94500e5d221ec4a1a5d9c97ea3d75860e4",
      "tree": "ee295fa8ce60d86ffa14021809ce6357c5d61d24",
      "parents": [
        "3b81acab52b7140c1b8b20be2d67be3e221637e7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 17 17:52:04 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 17 17:52:04 2012 -0800"
      },
      "message": "audio preprocessing: fix multiple enable problem\n\nDo not set the effect state back to configured when a configuration\ncommand is received while the effect is enabled. Instead just check that\nthe new config is the same as current config.\n\nIt is normal to receive a config command from the framework while enabled\nif a new effect is added on the same session.\n\nChange-Id: I93aa38bf60a3d7cc7729934e87ddd69bf1112cd6\n"
    },
    {
      "commit": "1f5ce8b0941c9c6baadd40d151634145f6d5a35c",
      "tree": "a1e57ab3d0decb8e4748f89e8f7caeab4c5caf80",
      "parents": [
        "44deb053252a3bd2f57a007ab9560f4924f62394",
        "94fef38613962c983c46ab0b97c58f5373412d2d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 13 12:27:27 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 12:27:27 2012 -0800"
      },
      "message": "Merge \"Fix audio preprocessing library wrapper\""
    },
    {
      "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": "94fef38613962c983c46ab0b97c58f5373412d2d",
      "tree": "20240a26a14b49d0863eb80da2645eb62265abb8",
      "parents": [
        "f9289a4ca88d8f72cb0d6b3ca16fbc44ef4a2aeb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 06 14:28:54 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 06 14:51:57 2012 -0800"
      },
      "message": "Fix audio preprocessing library wrapper\n\nFixed bug in EFFECT_CMD_GET_CONFIG command handler in\nwebRTC audio processing library wrapper.\n\nChange-Id: I1d2cefa00930e549607af8dc2cf27555da8d313f\n"
    },
    {
      "commit": "5387696d25bc710f8cd0e6d08079e2aa8d6c1417",
      "tree": "32b5c99149c72f0a7ef23dc17d0ddbb4d810eef4",
      "parents": [
        "bb62819aa34b0e89090ccc50e5915e25bc137583"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 31 12:35:20 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 01 10:59:17 2012 -0800"
      },
      "message": "modifications for new webrtc modules\n\nAdapt include files path in makefile and source to new\ndirectory structure in webrtc library.\n\nAlso changed the default AGC parameters to less extreme settings.\n\nChange-Id: Ia6a41c816dc44645f8f867937b722eede88c06ea\n"
    },
    {
      "commit": "29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47",
      "tree": "3bdafe4b02fe36f6ee29c3170f0b0d2799bebf86",
      "parents": [
        "d709ca9c6a0fa1c8f40cbe624a119398643c5087"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "5ff1dd576bb93c45b44088a51544a18fc43ebf58",
      "tree": "c002dcda87f08329197b01395539bd25f10ca737",
      "parents": [
        "8a08dcc0a5de19a904e77d5f31bed3dff9a59890"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 10:07:54 2012 +0000"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/157065\n\nBug: 5449033\nChange-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69\n"
    },
    {
      "commit": "f6b1678f8f508b447155a81b44e214475ab634a8",
      "tree": "dabe2858dfed9133c6a270cd6b86877a9d3588b1",
      "parents": [
        "94023fa6744e24f26f0aba1699ec278649bd66df"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Dec 15 09:51:17 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 05 07:33:45 2012 -0800"
      },
      "message": "Use the standard CC_LIKELY and CC_UNLIKELY macros\n\nSeveral source files privately defined macros LIKELY and UNLIKELY in terms\nof __builtin_expect. But \u003ccutils/compiler.h\u003e already has CC_LIKELY and\nCC_UNLIKELY which are intended for this purpose.  So rename the private\nuses to use the standard names.\n\nIn addition, AudioFlinger was relying on the macro expanding to extra ( ).\n\nChange-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873\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": "73bb0b9f2922679d057e29e9f502988178554a02",
      "tree": "56efd281b6a1e290a497351270ea7d25d8b35065",
      "parents": [
        "516fb1dad0c434fd89624c418543d35436a5374c",
        "1e809edd9b25e34d9c475ecd2c2e26ddc75cba2c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 11 11:51:14 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 11 11:51:14 2011 -0800"
      },
      "message": "am 2c29a5cf: am 1f8c6212: Merge \"visualizer: reset buffer if playback is idle\" into ics-mr1\n\n* commit \u00272c29a5cf1658532bca4e34f816fa30312241a336\u0027:\n  visualizer: reset buffer if playback is idle\n"
    },
    {
      "commit": "3df40a093d8d3d211f693e0e3ef4076750cabfea",
      "tree": "c26b2befde35a0235263d12d17dd30ad8d98370c",
      "parents": [
        "1dc0ab1d2e2c5f40193556ad1239e304563f3083"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 10:02:18 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 10:27:05 2011 -0800"
      },
      "message": "visualizer: reset buffer if playback is idle\n\nVisualizer capture buffer must be reset if audio framework has stopped\ncalling process for a given period of time to get read of residual\ndata from previous captures.\n\nIssue 5571920.\n\nChange-Id: I6e73f971bb812cdbb2979a3b5e763abab07634eb\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": "7c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745",
      "tree": "eb67cd14e679d97a9b866a0410d8e582f4639274",
      "parents": [
        "67a124dcac0578aed94aebf451675a5f4c8a1e4e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 17 21:29:58 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 18 09:42:57 2011 -0700"
      },
      "message": "Audio framework: support for audio pre processing\n\nAudio effect framework is extended to suport effects on\noutput and input audio path.\n\nAudioFlinger: Support for audio effects and effect chains is\nmoved from PlaybackThread class to ThreadBase class so that\nRecordThread can manage effects.\nEffects of type pre processing are allowed on record thread\nonly. When a pre processing is enabled, the effect interface handle is\npassed down to the input stream so that the audio HAL can call the\nprocess function. The record thread loop calls the effect chain process\nfunction that will only manage the effect state and commands and skip the\nprocess function.\n\nAudioRecord: The audio session is allocated before calling getInput() into\naudio policy serice so that the session is known before the input theead is\ncreated and pre processings can be created on the correct session.\n\nAudioPolicyService: default pre processing for a given input source are\nloaded from audio_effects.conf file.\nWhen an input is created, corresponding effects are created and enabled.\n\nChange-Id: Id17119e0979b4dcf189b5c7957fec30dc3478790\n"
    },
    {
      "commit": "a9390d4d571817cdb1d659b4b22b04130dc77a48",
      "tree": "39ba390b75da952b52edcad8e7afab12a3803656",
      "parents": [
        "e0b5bb23f0a26d248275d203885b820659da7320"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 17 20:17:17 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 17 14:33:52 2011 -0700"
      },
      "message": "Audio preprocessing wrapper for webrtc.\n\nThis wrapper implements the interworking layer between the audio effect\ninterface defined by the effect framework for audio preprocessing\nand the native interface of webrtc audio processing module.\n\nChange-Id: I3f9319730c102599cdf0dda520a53d90b4165114\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": "342484f01824ab45af953c7c9193b1e5ad6326de",
      "tree": "1ef53f2977ec4f00145c0011038fae0d11398bc8",
      "parents": [
        "01bded1246cd770b54b8011527f5c29e1b5663e3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 16 18:24:31 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 16 18:28:54 2011 -0700"
      },
      "message": "Fix regression in audio effect factory\n\ncommit 0fb66c2 introduced a bug in EffectCreate() that prevents detection\nof problems reported by the engine library upon effect creation.\n\nChange-Id: I5bd2d42505ac29ab4a5768fd7f0c2ced135cf3e3\n"
    },
    {
      "commit": "65580f9adf6c4d98449ad0716488f9fe3869aa5a",
      "tree": "71432ddbf09fcc122be1ef5781bbc2d87f725ad8",
      "parents": [
        "e1315cf0b63b4c14a77046519e6b01f6f60d74b0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 27 17:51:52 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 27 17:51:52 2011 -0700"
      },
      "message": "Removed interface to load audio effects libraries\n\nRemoved unused functions allowing dynamic loading of audio effects libraries\nfrom effects factory API.\n\nChange-Id: I06cc5a51dc10aca87c7a8687bbb874babd711eca\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": "c8b3ca3caf7edc08d652937d29724ae7a496655a",
      "tree": "2b70fb6b5c23cec00e3675c0add16c12ed128622",
      "parents": [
        "d0041bc2649a4989965e4684563200029e324808",
        "2726a0ff895ecc0eac3ea5dbc04f407b008cc7f0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 27 11:11:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 27 11:11:19 2010 -0700"
      },
      "message": "am cd08ada7: am 67c7a4ae: Merge \"Fix off-by-two and other bugs in the visualization code. b/3137511\" into gingerbread\n"
    },
    {
      "commit": "64c3bdea8cba454d4404baded584ea0f0611b3ee",
      "tree": "96b7ede041d48ff8932c8e3fedf6ae72a9396c88",
      "parents": [
        "53409d6fe668e695e92479371f0ec162723feed5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 27 09:06:01 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 27 10:23:59 2010 -0700"
      },
      "message": "Fix off-by-two and other bugs in the visualization code.\nb/3137511\n\nChange-Id: Ic431701e93c025bc417c9742e9af6bb2350c7dd6\n"
    },
    {
      "commit": "9e2e2d2bc86372bde4673c31ef416b2f29d87ac2",
      "tree": "46608b895445f505be207ec4cfb76f38c79340c2",
      "parents": [
        "b91d92d7147c10dd19987706d30dea011ff459af",
        "307e7f5295fefe8e21113dabebf434cac0d71e6d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 28 17:39:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 17:39:54 2010 -0700"
      },
      "message": "am b047e3cd: am aeb2c62e: Merge \"Fix several audio effects problems.\" into gingerbread\n\nMerge commit \u0027b047e3cdf24b32e26f366fcd4cd0eee8ae6c592c\u0027\n\n* commit \u0027b047e3cdf24b32e26f366fcd4cd0eee8ae6c592c\u0027:\n  Fix several audio effects problems.\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": "c425ffbfdca80c663b16a875228c15a1147a75f4",
      "tree": "98e05d9e0bcf0b7089cf60092dcfb5c7f21e9fa8",
      "parents": [
        "9b4e14edf6c20bcb5830b692121042cccffedfe6",
        "da4b9bdd4682fb3a20964908cb18d02c943b7f35"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 27 08:48:40 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 08:48:40 2010 -0700"
      },
      "message": "am 1b37df95: am 9627847d: Merge \"Fix error in AudioEffect command status reporting.\" into gingerbread\n\nMerge commit \u00271b37df95ec9d03aaa5f4055c6cd86db42f9c9727\u0027\n\n* commit \u00271b37df95ec9d03aaa5f4055c6cd86db42f9c9727\u0027:\n  Fix error in AudioEffect command status reporting.\n"
    },
    {
      "commit": "0fa449cc475580d995e9d56756c3da5507d2b6f6",
      "tree": "1e344eefa5847ad1e8ea3fc508e0d63ba5334c13",
      "parents": [
        "76e2c7be04aeff55f3e6a473ff1cd6d9ec2d620c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 24 11:52:04 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 24 15:24:54 2010 -0700"
      },
      "message": "Fix error in AudioEffect command status reporting.\n\nAudioEffect::command() should not interpret the status\nreturned in pReplyData unless the command is ENABLE or\nDISABLE.\n\nAlso fixed:\n- bug in Visualizer::getWAveForm() status reporting.\n- wrong initialization value for capture buffer in visualizer engine.\n\nChange-Id: I60fb0011f9dba96ee74661dec1e8ef441edcaf35\n"
    },
    {
      "commit": "a4d13a5419af68fe5adb521e265f8c80c4e760b1",
      "tree": "aa42a890231b7dd3ec2c21478bf19d2c276425a2",
      "parents": [
        "a60165dbfcc44c6114ce63dba38bb3f08f614081",
        "cd20f59a3987e738b50adb02761ef853d6531597"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 21 16:53:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 16:53:20 2010 -0700"
      },
      "message": "am 6943b94b: am a6dc4699: Merge \"Fix issue 2913071.\" into gingerbread\n\nMerge commit \u00276943b94b8f267c83060946bae0961efc30444dee\u0027\n\n* commit \u00276943b94b8f267c83060946bae0961efc30444dee\u0027:\n  Fix issue 2913071.\n"
    },
    {
      "commit": "0e75f0f0147baeb6277c3dcc4403cf0201155a99",
      "tree": "0136b0ebc6a1115a6a1181baee81a0cc191a0d1b",
      "parents": [
        "e9364134485f78f8e8354b27419b67646f343812"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 21 14:52:01 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 21 15:11:50 2010 -0700"
      },
      "message": "Fix issue 2913071.\n\nScale audio signal during capture according to peak level so that\nreturned values on 8 bits contain enough information even for weak\nsignals.\n\nAlso do not reject requests to enable/disable the visualizer if we are\nalready in the requested state.\n\nChange-Id: I07a705619764350834e61f82d161761eab688747\n"
    },
    {
      "commit": "5a0beab037fa8fd630c4c3290c8bbf410a51596a",
      "tree": "6633d9cbab603b76b54fbbcfc69f0c49ba104796",
      "parents": [
        "ae0de4aa0a0eb85ff28ca9db6e7edf737a90ae52",
        "1db7c215a91bbb3245d09b3c9a63e0b4d4b24552"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 16 10:56:25 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 10:56:25 2010 -0700"
      },
      "message": "am d32d3011: am 37de5da0: Merge \"Fix problem in lvm effect bundle wrapper\" into gingerbread\n\nMerge commit \u0027d32d30119bd0c0988a6806f1205db5426235af52\u0027\n\n* commit \u0027d32d30119bd0c0988a6806f1205db5426235af52\u0027:\n  Fix problem in lvm effect bundle wrapper\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": "d20b4cfde2848052cf93ed13df14d75347ec64fd",
      "tree": "037be644ae6bba3932b652525b28c431bb4d5abe",
      "parents": [
        "c59ad085c9737e8d56328732be6864de302acae9",
        "df268bacee4fac7b07ed129d14707c981a9ed895"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 13 14:42:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 13 14:42:59 2010 -0700"
      },
      "message": "am 4d987850: am bd2e9ec6: Merge \"Fix volume problems with insert revert\" into gingerbread\n\nMerge commit \u00274d9878502f7661ed34540a485a5942d859e209c7\u0027\n\n* commit \u00274d9878502f7661ed34540a485a5942d859e209c7\u0027:\n  Fix volume problems with insert revert\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": "275c732cd79a40617773636086b287901f8d4485",
      "tree": "2e859e259d8307e3d13f290f0063bceff3237e11",
      "parents": [
        "8df37bbe10e46f03bdc7d3b7e88eb3a59219a46b",
        "e2af4f70b5326d7c55533639844b3a7eaf12e34c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 10 11:30:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 10 11:30:16 2010 -0700"
      },
      "message": "am ea4680f0: am 2814ad25: Merge \"LVM release 1.09 delivery\" into gingerbread\n\nMerge commit \u0027ea4680f007c9fbc1ff73a6b161e6e83ebaeff981\u0027\n\n* commit \u0027ea4680f007c9fbc1ff73a6b161e6e83ebaeff981\u0027:\n  LVM release 1.09 delivery\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": "87e607994fa1703e1b975af41b02e539e7b7411f",
      "tree": "87ae880137401aca59c07e2487b6a3461a30a733",
      "parents": [
        "5de4999e6dd8a3f2740d20e30e8a3fccdcb76362",
        "e92e213499d7bc6d867886c00e7a1be081ab8fbd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 08 17:22:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 08 17:22:54 2010 -0700"
      },
      "message": "am e126119c: am 95d86480: Merge \"Modify type of some environmental reverb parameters\" into gingerbread\n\nMerge commit \u0027e126119c3a406bc564f2549aeb1416aff112689d\u0027\n\n* commit \u0027e126119c3a406bc564f2549aeb1416aff112689d\u0027:\n  Modify type of some environmental reverb parameters\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": "4d3f97efda864ca571047edd5239fc8275ea37c4",
      "tree": "d666e75ff359684d2412f4fc77dbe69ba9da59b3",
      "parents": [
        "734c3c96787e550b4a28bdf895438a7e79f30152",
        "aa8d119ae39dc28cf1599575b97a4f96a7893a22"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 03 16:52:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 03 16:52:31 2010 -0700"
      },
      "message": "am ef9e508c: am 7e427934: Merge \"LVM release 1.08 delivery.\" into gingerbread\n\nMerge commit \u0027ef9e508c2cb3b52d31250ceca3dddace17cec950\u0027\n\n* commit \u0027ef9e508c2cb3b52d31250ceca3dddace17cec950\u0027:\n  LVM release 1.08 delivery.\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": "1040127473ee48c1c3b8c279ae05d38dbfb6e4c2",
      "tree": "9b605b6d453dad7412b579f245dd6e7dcc8c124e",
      "parents": [
        "3ef9f98aebb76018d2ee48ae4ac727a05efa63df",
        "2e0448f9be36784d07581d1c2ef7a0c0ecba0663"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 31 15:49:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 31 15:49:15 2010 -0700"
      },
      "message": "am 55e79374: am f560ceab: Merge \"Audio Effects: fix problems in volume control.\" into gingerbread\n\nMerge commit \u002755e7937462d107b469a58651d3d51e15086f8e9e\u0027\n\n* commit \u002755e7937462d107b469a58651d3d51e15086f8e9e\u0027:\n  Audio Effects: fix problems in volume control.\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": "d3a3eaf5d0c88e13b8dc7154fcae8b15dcacc932",
      "tree": "1beb4ddcbcc8e1a8d02e0485ca090f71a4359718",
      "parents": [
        "9d876aca5ede85e6d9ccb82f11fae2834955c6f9",
        "d2ab607485542b3e273d945ce423399cea763b52"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 30 13:30:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 30 13:30:14 2010 -0700"
      },
      "message": "am 5762dc19: am 858bb4f6: Merge \"LVM release 1.07 delivery.\" into gingerbread\n\nMerge commit \u00275762dc19836e332d3ac1906e5698088a128b362d\u0027\n\n* commit \u00275762dc19836e332d3ac1906e5698088a128b362d\u0027:\n  LVM release 1.07 delivery.\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": "53bfd693c45278bf71cb5e184ffd3e95d52e04d8",
      "tree": "9823fbb854a824a555d3b24464b7d3c0a14e3cc1",
      "parents": [
        "6067b47c0d2cff7d26e088d97dc8d5190c5a4d00",
        "3bfb0a0c55b1b5a93d1decbc6454ae30cc47fb63"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 25 15:16:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 25 15:16:00 2010 -0700"
      },
      "message": "am 8ca5df27: am c14f9ca6: Merge \"Added preset reverb.\" into gingerbread\n\nMerge commit \u00278ca5df27df8a2b6435486f9b5a163bf222f8fed1\u0027\n\n* commit \u00278ca5df27df8a2b6435486f9b5a163bf222f8fed1\u0027:\n  Added preset reverb.\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": "627c790c1f7c8fd44dc50abb03885aa5a075d418",
      "tree": "87af71d7f111224864eebd4bc7aae493b1766592",
      "parents": [
        "3ddc7c3f56c6657809764d56d36948dda381d9fb",
        "7ec0a1325486912ab1b2964cab635328f522dd40"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 14:43:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 24 14:43:54 2010 -0700"
      },
      "message": "am 33e0d834: am b6d71351: Merge \"LVM release 1.05 delivery\" into gingerbread\n\nMerge commit \u002733e0d8343174339cc9622d63c23d47c0ba0d3baa\u0027\n\n* commit \u002733e0d8343174339cc9622d63c23d47c0ba0d3baa\u0027:\n  LVM release 1.05 delivery\n"
    },
    {
      "commit": "1b1c377e97558076ee1d427fdd8800ebce1ff300",
      "tree": "e68d0188ba45828b01da96765c6fbd64097d6562",
      "parents": [
        "91d113e8daa9d71c4ea8afd595a3921e03787cbf",
        "b91209edc6e9a32dfcecf2eb45ecdf5c524976fa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Aug 21 09:41:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Aug 21 09:41:26 2010 -0700"
      },
      "message": "am 5aff90a6: am 1aaba885: Merge \"Audio Effects: fixed \"strength supported\" parameter size.\" into gingerbread\n\nMerge commit \u00275aff90a638da53e66fba90c92d412812760fe8e5\u0027\n\n* commit \u00275aff90a638da53e66fba90c92d412812760fe8e5\u0027:\n  Audio Effects: fixed \"strength supported\" parameter size.\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": "d904b49e5ac83cb3000a01eb97771731aa1fbe43",
      "tree": "724fcd5e396f08b9f50ca318cff643cdb8b8d407",
      "parents": [
        "bc286dce1af6670824fba4167e0750b631168d72",
        "db0e4136c3d09c9df4ddf8258ee5c98c053ffba4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 30 09:58:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 09:58:09 2010 -0700"
      },
      "message": "am e67332f8: am 92e847ed: Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.\n\nMerge commit \u0027e67332f879b3f97baaac2252b53ac64686aebdbb\u0027\n\n* commit \u0027e67332f879b3f97baaac2252b53ac64686aebdbb\u0027:\n  Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.\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": "ed0de3c123aaa86147993721d4794648a65aab75",
      "tree": "c60dc3ffbc36f10adfe01d864e22f1d5b87443d4",
      "parents": [
        "da90dff17b6ce79d0a7d8ab2dbe2aa69cd1c11aa",
        "e99819aa8cc397d02255b59b91c6e6850afee3a7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 07:53:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 07:53:24 2010 -0700"
      },
      "message": "am 6fa88882: am 62d83a0c: Merge \"Audio effects: modified command() parameter types.\" into gingerbread\n\nMerge commit \u00276fa8888254deb4961dc64c6ac03dc103c9cd8bcf\u0027\n\n* commit \u00276fa8888254deb4961dc64c6ac03dc103c9cd8bcf\u0027:\n  Audio effects: modified command() parameter types.\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": "9e77e155b05e419a34e0fd116ee50f0fc092e67a",
      "tree": "2e1a99949a5076641ba453bf75cc5e458d2225fd",
      "parents": [
        "a9d01c6de17ca72d67a88673d5c9ee22047c862a",
        "184f8deb44ab3b21ddaaf845f39721ba1d18ab5d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 27 02:41:41 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 27 02:41:41 2010 -0700"
      },
      "message": "resolved conflicts for merge of d306cc81 to master\n\nChange-Id: Ib593b7719a837de12605e8c75904634843298ba1\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": "49c16aaec0d314bcf320e088e4bc68d0585c040a",
      "tree": "b29d2e870f53ebd5d2c46d659c9b5501a9837826",
      "parents": [
        "dc619be998a8e727008677ea222bc1e032453785",
        "f12da407f72875d78d7927a4ef82fb46b6c78203"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 12:30:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 26 12:30:49 2010 -0700"
      },
      "message": "am e80c30c6: am 00de7218: Merge \"Fixed bug in vlm effect bunde wrapper effect init function.\" into gingerbread\n\nMerge commit \u0027e80c30c6b557fab2f5fc7a87c51018f5a8074338\u0027\n\n* commit \u0027e80c30c6b557fab2f5fc7a87c51018f5a8074338\u0027:\n  Fixed bug in vlm effect bunde wrapper effect init function.\n"
    },
    {
      "commit": "dc619be998a8e727008677ea222bc1e032453785",
      "tree": "67e68a3c7f40576ceda25c569f98c7ba20788113",
      "parents": [
        "29a322f63759edab81c50630d9f20769a06c827e",
        "38ef1a1a098c4e9154de99b772bb6f48c8998241"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 12:30:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 26 12:30:23 2010 -0700"
      },
      "message": "am df5c3b50: am 739bf285: Merge \"LVM release 1.04.\" into gingerbread\n\nMerge commit \u0027df5c3b5024276af8b44d00bb28ce620ab31e2365\u0027\n\n* commit \u0027df5c3b5024276af8b44d00bb28ce620ab31e2365\u0027:\n  LVM release 1.04.\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": "6a970b49033688f0422fc613568d30148b6b301a",
      "tree": "85de1c7d72ef9e64215bb43a043984b02765fdb9",
      "parents": [
        "e4e0a6994d39c4a7cba09c5fff442b2dca1df8f8",
        "4566a03cf66db85c16a39d9bff93992fc99b8fe4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 01:06:12 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 23 01:06:12 2010 -0700"
      },
      "message": "am 08f2b10c: am 021697ad: Audio effects: lvm bundle wrapper update after first integration tests.\n\nMerge commit \u002708f2b10c4b2e7fc1c666cc1d896e227289206b24\u0027\n\n* commit \u002708f2b10c4b2e7fc1c666cc1d896e227289206b24\u0027:\n  Audio effects: lvm bundle wrapper update after first integration tests.\n"
    }
  ],
  "next": "163fbcf84010b98e0374110454d85b804bc8d13b"
}
