)]}'
{
  "log": [
    {
      "commit": "b89a29dd7548fc287e85dc6515566235074d0fec",
      "tree": "073c8d27835f09a91aea253c4859f0be4d713cff",
      "parents": [
        "29ab7d8501c671671af07e8bb5fbae86d2005eef",
        "cd08ada7f1d9601636aaa77084c423dba14a2512"
      ],
      "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": "f514bdc964915e41579602849edc81bac69c68e2",
      "tree": "36a8c3fa9ba94b0aa490af691d4019cdd0e34b8e",
      "parents": [
        "2088e371eddd5ff790105ed1a6bc34a7b8a0f7d8"
      ],
      "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": "c9a9800fa1572c3a25831bdf22f7b4579fd8bd10",
      "tree": "17fd6d0b274eda84741595e6b6a3be7ae773ba5c",
      "parents": [
        "1e57996f47e9d7f96506e2d680eea9f1d7ecc7ac",
        "b047e3cdf24b32e26f366fcd4cd0eee8ae6c592c"
      ],
      "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": "4fd3ecc1f0b8d95f52b516cd81fe4f06607d5cb0",
      "tree": "f01db4d9eb88b7ecf512f39d05a65fc0eb4275fc",
      "parents": [
        "65a5ba45559e88a50c258d794a1728498c248376"
      ],
      "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": "3b8901946b41fa95218fa7bfade333600ba2932b",
      "tree": "e6cc7a59c80048c3970abb9b6e7b9e675b825ce2",
      "parents": [
        "831f898756daef932ec2502d3965d4184217e726",
        "1b37df95ec9d03aaa5f4055c6cd86db42f9c9727"
      ],
      "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": "4d3fb50782acefbcff29801629a79d78ffd4e332",
      "tree": "70f5769ceee47da9daa3070d6b3b3695ce8738d3",
      "parents": [
        "52f58e96a723a56e6619c237c814a07503745de9"
      ],
      "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": "dab59d1534e50f3c818c96f34f29389f818f077b",
      "tree": "ff1b6b58a770fcd89b6ad5394dbc403a82a833aa",
      "parents": [
        "76f609118574a76b10cb90bcf061b15546bc38ee",
        "6943b94b8f267c83060946bae0961efc30444dee"
      ],
      "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": "672c0dc3a04cb149691603342c319994e21235cb",
      "tree": "b3051eb2e82011b5ecdfc939cdb118c59cbe0311",
      "parents": [
        "34d3aeaf7f5dd744f46220f7730913468256ae9c"
      ],
      "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": "9e6f16a5d03726d2ca3f265158e3c395f0b57e63",
      "tree": "7ae7762e93e19b0fdd6511f03fe62609b7a14d57",
      "parents": [
        "1926741580867b4c77334a0839f4f946f3aa0f41",
        "d32d30119bd0c0988a6806f1205db5426235af52"
      ],
      "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": "f0f95b8bc5fb942101ec97d35619fbf38cbf3df3",
      "tree": "599080c05d6a0fa2b09e0ee43e9cb96df32d92b1",
      "parents": [
        "5306e0a85dabd4c18a7b3f81acc0f582f9429482"
      ],
      "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": "e931c68f53ffca710270f26a21387e482a88e1e3",
      "tree": "7b9e8d58de7225250c6374b51591237067b6d7bc",
      "parents": [
        "992f7d52fad590d90edc166cd74380e96d627605",
        "4d9878502f7661ed34540a485a5942d859e209c7"
      ],
      "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": "27a2fdfb8ad1606bdb686c35e30ae894dd037588",
      "tree": "c9f89831cf031eb9d3982f021d21e187cffcef56",
      "parents": [
        "e442fb6c9215fc6329522915805a9582ec2c3323"
      ],
      "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": "dd88d7e3ffdd8fa79bbc31dbfe4d29c631b60a6b",
      "tree": "84e838b9163b8ba9758d71107e12ddba4a23ca11",
      "parents": [
        "5729ce27a9daaaf85f410c8b107aa861e5a1c00d",
        "ea4680f007c9fbc1ff73a6b161e6e83ebaeff981"
      ],
      "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": "305443c9898948a55f5c8f12a61c84151ebc853f",
      "tree": "138f06df5429d291164efa7ebf80e87bf6a362d0",
      "parents": [
        "f6936a3a52b6bb6de27f75d4e38d116e896b7f4d"
      ],
      "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": "15ff01cdb4c4878936a903ea7699daf1fa2b5927",
      "tree": "ff7d847d495b7f6bd2a60d074562bcb25c3ff6d3",
      "parents": [
        "62ecf53538ce46662a71f3026cf3aa5b5224cd6a",
        "e126119c3a406bc564f2549aeb1416aff112689d"
      ],
      "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": "95d5de06819e98e298892f0486ee7ff210bcdd8b",
      "tree": "d2b07a359e137b24217c1ee730557412bacda80f",
      "parents": [
        "d9c80ab31ac3755141765e2c030bd1404ff0b050"
      ],
      "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": "bcb284c1960df025dc671c10a97ec0c599ce9a11",
      "tree": "b5d3cafa72c19e566e81b14c134eb789392ac6f4",
      "parents": [
        "bb3806e810135c052f7211f84084b681066a2d28",
        "ef9e508c2cb3b52d31250ceca3dddace17cec950"
      ],
      "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": "5fa6df6ebf17fa4386409d4428fc6d1d8d1ebdb1",
      "tree": "2ab7db005c584167b95b54498f33f17185872825",
      "parents": [
        "df3a0f50c3480911e366c8c0781b0463fe063e82"
      ],
      "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": "288db3b4998ae2d935feb1cf3cb6dd17707cca53",
      "tree": "c921c8927a19812a65b17efc9f2682fcd37e98e9",
      "parents": [
        "522ea25f2be384fd027ce2f644ee647fd8d80634",
        "55e7937462d107b469a58651d3d51e15086f8e9e"
      ],
      "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": "a92ebfa1cd96dc91174f68baab820dbed8239e4b",
      "tree": "0279d11049f5bd1ff971b41c528dd05de9395839",
      "parents": [
        "63070856d034a2819a26560bc7f2881e501c78b7"
      ],
      "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": "9d01dcbdf2d747cf7d434c12954b672245e3a986",
      "tree": "860f1e777771bdaff50cebae5e9ff5b25fa2b003",
      "parents": [
        "8e1bc8c5086ad4cc157483a8c7aa6172711bc0b5",
        "5762dc19836e332d3ac1906e5698088a128b362d"
      ],
      "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": "adecf1c1a9bbb471e59adb2bfe98b5bb7a9d21f5",
      "tree": "565e1d7efa93f93370c860fcc8c195c689c1adb9",
      "parents": [
        "445ab76c49779998543bb78881f5d9f8ae81e598"
      ],
      "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": "ec95d932546186ad7ad1d847a6e8f7529e7c7d83",
      "tree": "c9e52168e0669835e343364353466247318cda03",
      "parents": [
        "bf4c0c88087995db55699ec29b44ede04e432fe8",
        "8ca5df27df8a2b6435486f9b5a163bf222f8fed1"
      ],
      "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": "a7e5648d611e6e8bdd4cafe051b5fadf3a20735c",
      "tree": "8aac4d3fc42cca5067f16ceb468b3d66c3ca8296",
      "parents": [
        "b6d71351c074d5c0bc13a91544d776f1524eaabd"
      ],
      "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": "0e30200ed112388110c33fdf3fa6fa0e6d2b953a",
      "tree": "d49149d5854845c82306dd6806ecfe8de1d843ca",
      "parents": [
        "c28227d443dc63823c19864376150f934a3f9690",
        "33e0d8343174339cc9622d63c23d47c0ba0d3baa"
      ],
      "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": "08b352be43845d413086ba1dd48db54fe41a309d",
      "tree": "06794b6be8707cba16e9b781a125792ecb49e778",
      "parents": [
        "e49564e0f710ba4a1405cfdfde068cb776ee474e",
        "5aff90a638da53e66fba90c92d412812760fe8e5"
      ],
      "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": "a1a96f35701b538dc1ca043719eaa6fd733130c5",
      "tree": "07c7d766eb9404ab03fe4c9ac3a44d3953d9a648",
      "parents": [
        "325192593b057f4360e1abddf490b4fae7d60b12"
      ],
      "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": "ba8da2e61b1d9ebb7a4758f1f7849ff8440bd20c",
      "tree": "49592167b3636f6b3079381279d3e6286193b970",
      "parents": [
        "f6354aca3a4d0571a66747d9cdc247a1d411d660"
      ],
      "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": "b422107d1d599e5d43cc47cd7e1342976b6b5b1a",
      "tree": "a23206a43a1590b22157e5e002a0d6a61266e2b2",
      "parents": [
        "5ea89f77ead553dcf3fd95353ded1c8bacd3ffe1",
        "e67332f879b3f97baaac2252b53ac64686aebdbb"
      ],
      "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": "92e847ed8e455dca3b2d33d92999e3960404d9af",
      "tree": "752abb5d10bc782fb798be47293d72341c924771",
      "parents": [
        "55a76dd8d9996c1e93762d7611789aea696d536c"
      ],
      "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": "ba2709583d9b759ca7b2aad05dcbeeb2a6c4083e",
      "tree": "0e85650de31c297f352bee2643435266bc64dcd7",
      "parents": [
        "d8aad91d8cdc64e00eec94a87b8dd3cc4d05c032",
        "6fa8888254deb4961dc64c6ac03dc103c9cd8bcf"
      ],
      "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": "a4c72acfbc6c06588dd26cf41e67a834fc0a54f9",
      "tree": "f837332558eb9f5bcec50e109878f7d98a644148",
      "parents": [
        "b73045935cd8ec5d1a1c5e7a7ca800448b5789ea"
      ],
      "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": "b008e9b1281da871e970e5b4817f78afb4f12d4a",
      "tree": "d1d6f8338d470406fcfb868303aafe85dad64971",
      "parents": [
        "84aa5066855daaa944d8e0f5846bbff05ed1c748",
        "d306cc8192bf569b2e6e7d58b4d73f6607e9d509"
      ],
      "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": "ca57d1cc89d65dfbd59c749c5736574cd08c7bd3",
      "tree": "03742035e50c98735bf61034caa511b0371dc9e8",
      "parents": [
        "2b989e1f7d08efd51652b56b1cb1fef76a1e8ab1"
      ],
      "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": "037644fbe424315c5a3e9706453ce97413d636ff",
      "tree": "2066a4264ad35f7da95217bdc688d0f2b4351465",
      "parents": [
        "9765211b9031776b9bcdd64e141de11f50902599",
        "e80c30c6b557fab2f5fc7a87c51018f5a8074338"
      ],
      "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": "f4d9a21a4c7775ec4ee4b49f8f2bc10e5bc7c20d",
      "tree": "41150e3fe1d6aceea1dca79e87ee7adbc2f57d14",
      "parents": [
        "9fb0bb8292ab35983777f2decc3565377199f54c",
        "df5c3b5024276af8b44d00bb28ce620ab31e2365"
      ],
      "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": "00de721859ca291d0e212a6970f0bd8b3a2f8428",
      "tree": "83dbf1753d12ed8b44303a0d1e29a9656702fb5b",
      "parents": [
        "70736a6d92767258543bb03ac22a705535d86341",
        "1c454cc4c72c604f90ea43b7bbdd7683e212e44c"
      ],
      "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": "3374105cc0660c468c4d74de94e4546495843376",
      "tree": "44c9eefcb02fc636279f6764c80a2613109e559e",
      "parents": [
        "021697ad3d4ef981d0deae1fa223ed06f30df738"
      ],
      "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": "1c454cc4c72c604f90ea43b7bbdd7683e212e44c",
      "tree": "8c71fa2d55d2436ade1051a4bbd29fe27135a9f8",
      "parents": [
        "021697ad3d4ef981d0deae1fa223ed06f30df738"
      ],
      "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": "d9f7200e218140ec939c813e3f1576cfcb5c0878",
      "tree": "3a32edef31ce406908f5d75f780aff9c84277e1e",
      "parents": [
        "c2d10a611dd5b28dd6246b1c4aa5b7f37da2220d",
        "08f2b10c4b2e7fc1c666cc1d896e227289206b24"
      ],
      "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"
    },
    {
      "commit": "021697ad3d4ef981d0deae1fa223ed06f30df738",
      "tree": "73239516fa31b7b92392c6eba1d1be214f811067",
      "parents": [
        "4782cdbbbe4b2c7714af1fb6cdc4f52f1d1d20d7"
      ],
      "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": "240677ec68790b9af5fd16a604c0780eb2938bd6",
      "tree": "6ab427a0f6f36a3687c2ca720130a6bc12c2739b",
      "parents": [
        "eaeffac5fc8244d8fe03de786baa3ca76f5553b8",
        "dd2060932a7472ce361faacd340b0ef05b14c6ef"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 20 13:37:19 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 20 13:37:19 2010 -0700"
      },
      "message": "resolved conflicts for merge of dd206093 to master\n\nChange-Id: I21dd2321a4839d034d49092baccbf40986f17dae\n"
    },
    {
      "commit": "8ed6ed0b6216a9dfcbcd6a5ba6a62d28a901baec",
      "tree": "0969f3a936ab2f1e7493146eece22edf5f2f39ec",
      "parents": [
        "ff7049ab2886acc73e145367118646f7741ce333"
      ],
      "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": "61636c24f3ec72e6b8ecba06f6f0023281c38f80",
      "tree": "2f8eb154f8b4d3a7af028f4062950ba01687ee61",
      "parents": [
        "e8466b3f89140dec65e41087bde7621ec061eb92",
        "d84f9863afe1401c65de0b863c7a6243bd433166"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jul 19 11:27:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 19 11:27:08 2010 -0700"
      },
      "message": "Merge \"Fix sim-eng build.\""
    },
    {
      "commit": "d84f9863afe1401c65de0b863c7a6243bd433166",
      "tree": "f02726df62de0d086d50cee49b671f548fe5d379",
      "parents": [
        "b5b37f3bcc3065959c27e588f065dfb33a061e1d"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jul 19 10:42:32 2010 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jul 19 10:53:30 2010 -0700"
      },
      "message": "Fix sim-eng build.\n\nDifferent handling of libdl.  Added sim handling in one place, corrected\ntypo in sim handling in another.\n\nChange-Id: I24153ad5b8873083225390ba6a751941d231d092\n"
    },
    {
      "commit": "0d7e048cf2e38d32568261760aef82d1ee145126",
      "tree": "8cc4ce1bd601dae9c7f98d0235ff2be3a28275cf",
      "parents": [
        "faf775e772e329e821d81ba735474df097b1e1e9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 19 06:24:46 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 19 06:31:30 2010 -0700"
      },
      "message": "Fixed problems in audio effect volume control.\n\nFixed the following problems in audio effect volume control in AudioFlinger:\n- Make sure that the volumes returned by EffectChain::setVolume_l() are correct even is\nno change is detected since last call\n- Do not use isEnabled() to validate volume control but mState \u003e\u003d ACTIVE instead as the volume control\nmust be also active in STOPPING and STOPPED states.\n\nChange-Id: Id62da3164fad500ee8a5efd6cd78c77e8fdcb541\n"
    },
    {
      "commit": "2c87e9c923b0362fabf8c97ff63997542394c428",
      "tree": "55ccf5515414fd35ac08a2f6c9e9f2cae3a321f0",
      "parents": [
        "d3616592fe1b315b589766c4b74ce728fc4968f5"
      ],
      "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"
    },
    {
      "commit": "97eb728aef51646b86925557a36732598e3fbaa1",
      "tree": "a37aedae3a4c1095b7777e46bacb235d20dc8c4f",
      "parents": [
        "36ff93aa1f489e6af6c2acce38beb0bffd6b8f8a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 09 10:44:29 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jul 14 10:09:31 2010 -0700"
      },
      "message": "Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ\neffect UUID instead of defining it locally.\n\nChange-Id: Id6018fef20d286899cf7503fec3521dcd56db7e0\n"
    },
    {
      "commit": "7d850f23c857fe0c0deec9b9ea593d3029665a16",
      "tree": "c5b885b890b6707a42a0f54cb4f2e3d4b7e6eacd",
      "parents": [
        "e339464f1c8efe7e53b761cf44ff5be6e537ecad"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 09 13:34:17 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 13 12:27:18 2010 -0700"
      },
      "message": "Modifications in audio effect engine state management.\n\n- Separate the updating of effect engine state from the process call in EffectModule so that the state\nof all effects in the same effect chain is updated simultaneusly before all process functions are called.\n- Added a mechanism for the effect engine to continue being called for processing after receiving the disable\ncommands untils it considers that the framework can stop calling the process function without causing\na glitch or loosing some effect tail.\n- Updated test reverb and equalizer to support this new feature\n\nChange-Id: Icb56ae2c84c076d4dbad6cf733b1a62f823febe7\n"
    },
    {
      "commit": "fd84f97af4b44d54bba53bb85b31a6dbce07f6e2",
      "tree": "e44af27dff0ecb8b4a9a368c333687d579c0c080",
      "parents": [
        "f6120cf431804e072f34699a5d8a3fae62492cee"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 08 15:32:51 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 08 15:32:51 2010 -0700"
      },
      "message": "Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.\n\nDefined the following JAVA classes on top of AudioEffect class to facilitate control\noff built-in audio effects with APIs aligned with interfaces defined in OpenSL ES\nspecification:\n- BastBoot.java\n- Equalizer.java\n- PresetReverb.java\n- EnvironmentalReverb.java\n- Virtualizer.java\n\nSplit reverb API header file in two, one for preset reverb and one for environmental reverb.\nSome changes in test reverb to support preset reverb.\n\nChange-Id: Ie0a5ba06002e63dfd6da22cace5568c1e0b76ea1\n"
    },
    {
      "commit": "df9b81ced437b11f8a3fcf4ba3ea6af703d121e2",
      "tree": "c80b989df744ea74f62c800a8848813174792cc2",
      "parents": [
        "31e0ffe8444b70500cac319da084c4c45e62aca2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 02 08:12:41 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 07 11:00:28 2010 -0700"
      },
      "message": "Added Visualizer effect.\n\nThe visualizer enables application to retrieve part of the currently playing audio for visualization purpose.\nIt is not an audio recording interface and only returns partial and low quality audio content as a waveform or\na frequency representation (FFT).\n\nRemoved temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.\n\nThis commit also includes a change in AudioEffect class:\n - the enable()/disable() methods have been replaced bya more standard setEnabled() method.\n - some fixes in javadoc\n\nChange-Id: Id092a1340e9e38dae68646ade7be054e3a36980e\n"
    },
    {
      "commit": "53334cdb81bab4a4dfd0a41d2ef50709015a36c8",
      "tree": "1dfd6bd330fac24a95168349f8d96af0f058fc7f",
      "parents": [
        "0379118827ef7e81a70e88e5910f5c7536d8b945"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 23 17:38:20 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 25 11:59:35 2010 -0700"
      },
      "message": "Various fixes and improvements in audio effects implementation\n\nEffect API:\n- Use different definitions for audio device, channels, formats... in AudioSystem and EffectApi:\n  Removed media/AudioCommon.h file created for initial version of EffectApi\n- Indicate audio session and output ID to effect library when calling EffectCreate(). Session ID can be useful to optimize\nthe implementation of effect chains in the same audio session. Output ID can be used for effects implemented in audio hardware.\n- Renamed EffectQueryNext() function to EffectQueryEffect() and changed operating mode:\n  now an index is passed for the queried effect instead of implicitly querying the next one.\n- Added CPU load and memory usage indication in effects descriptor\n- Added flags and commands to indicate changes in audio mode (ring tone, in call...) to effect engine\n- Added flag to indicate hardware accelerated effect implementation.\n- Renamed EffectFactoryApi.h to EffectsFactoryApi.h for consistency with EffectsFactory.c/h\n\nEffect libraries:\n- Reflected changes in Effect API\n- Several fixes in reverb implementation\n- Added build option TEST_EFFECT_LIBRARIES in makefile to prepare integration of actual effect library.\n- Replaced pointer by integer identifier for library handle returned by effects factory\n\nAudio effect framework:\n- Added support for audio session -1 in preparation of output stage effects configuration.\n- Reflected changes in Effect API\n- Removed volume ramp up/down when effect is inserted/removed: this has to be taken care of by effect engines.\n- Added some overflow verification on indexes used for deferred parameter updates via shared memory\n- Added hardcoded CPU and memory limit check when creating a new effect instance\n\nChange-Id: I43fee5182ee201384ea3479af6d0acb95092901d\n"
    },
    {
      "commit": "65b65459e6ac59f8a257009df8014467ae0838ee",
      "tree": "5f9ba01afd1e0ffe85f4b700c1a16f9b998c807d",
      "parents": [
        "501b2b400a15a43849ff84c5da4e68d23ed726cf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 01 23:49:17 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 03 03:21:53 2010 -0700"
      },
      "message": "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.\n\nFirst drop of audio framework modifications for audio effects support.\n\n- AudioTrack/AudioRecord:\nAdded support for auxiliary effects in AudioTrack\nAdded support for audio sessions\nFixed left right channel inversion in setVolume()\n\n- IAudioFlinger:\nAdded interface methods for effect enumeraiton and instantiation\nAdded support for audio sessions.\n\n- IAudioTrack:\nAdded method to attach auxiliary effect.\n\n- AudioFlinger\nCreated new classes to control effect engines in effect library and manage effect connections to tracks or\noutput mix:\n  EffectModule: wrapper object controlling the effect engine implementation in the effect library. There\n\tis one EffectModule per instance of an effect in a given audio session\n  EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session.\n\tEffectChain for session 0 is for output mix effects, other chains are attached to audio tracks\n\twith same session ID. Each chain contains a variable number of EffectModules\n  EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application\n\tcontrolling (or using) an effect module. THe EffectModule maintians a list of EffectHandles.\n\nAdded support for effect modules and effect chains creation in PlaybackThread.\nmodified mixer thread loop to allow track volume control by effect modules and call effect processing.\n\n-AudioMixer\nEach track now specifies its output buffer used by mixer for accumulation\nModified mixer process functions to process tracks by groups of tracks with same buffer\nModified track process functions to support accumulation to auxiliary channel\n\nChange-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c\n"
    },
    {
      "commit": "a9d635d6085e769b1e7ef43fa595a77af28366a1",
      "tree": "c0f771f85b2e2164a5cfd0966639d9108f3ca440",
      "parents": [
        "cf3fa85cdb6881827a379632c905f86fab2edc34"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 25 12:38:34 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 25 12:38:34 2010 -0700"
      },
      "message": "Fix the simulator build broken by commit 5fe37c6838de9fbd959ad19ba44aa3d00d1b4e6f\n\nChange-Id: Ibf6aebfec60cd7f807c3e49f0dbb5ab8e86bcdc1\n"
    },
    {
      "commit": "5fe37c6838de9fbd959ad19ba44aa3d00d1b4e6f",
      "tree": "01048dcbfe66bad87db864c6d14fb17855b9b0ac",
      "parents": [
        "4979601f88154bdeda4cc5277940771ba6597c0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 21 06:05:13 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 21 07:05:56 2010 -0700"
      },
      "message": "Fix issue 2667796: [Audio Effect Framework] Effect factory and libraries.\n\nFirst effect factory and effect library API implementation.\nAlso added default effect libraries for reverb and equalizer effects.\nThese libraries are for functional test only and are not fine tuned with\nregard to audio quality. They will probably be replaced by other implementations\nbefore the release.\n\nChange-Id: I6868f8612146ae282c64052765c61a52ec789ec8\n"
    }
  ]
}
