)]}'
{
  "log": [
    {
      "commit": "550fef9128badbdd37a7f335d54609f02bc8685a",
      "tree": "c71396fcb3d196cd81d1507cdb23d425e545ff43",
      "parents": [
        "8be9a1bb7c0e7efbe22ef3193eb0b22d519e424b",
        "85843020024ec42bfd15967a8f7886e200fa20ef"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 24 20:35:18 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 24 20:35:18 2020 +0000"
      },
      "message": "Merge \"libeffects: Removed an extraneous semi-colon in a macro definition\""
    },
    {
      "commit": "85843020024ec42bfd15967a8f7886e200fa20ef",
      "tree": "2f4a21253619d71f14abd6b5d5ca67abafb0468c",
      "parents": [
        "29d260f62e5cea95995f51043f80f07aeaf12bf5"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Wed Feb 19 15:18:10 2020 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 21 22:10:58 2020 +0000"
      },
      "message": "libeffects: Removed an extraneous semi-colon in a macro definition\n\nRemoved an extraneous semi-colon in the macro definition DC_FLOAT_STEP\n\nBug: 149852651\nTest: Tested using standalone application\nChange-Id: I557fef4c81e84b411ac929b71d538ce88e373f2b\n"
    },
    {
      "commit": "ff210cf8be61382965eae9baa46c58256f9e1c0d",
      "tree": "dd57c48a2b7ac8b7769eb88d0e196156b0e08162",
      "parents": [
        "29d260f62e5cea95995f51043f80f07aeaf12bf5",
        "a8c60ccd9c151fe7480a2bab113d11c7529f51ea"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 18 20:53:01 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 18 20:53:01 2020 +0000"
      },
      "message": "Merge \"libeffects: Removed void cast related comments that are not relevant\""
    },
    {
      "commit": "a62c26c6a32cb81269f9bd3430dc36de3143f2ed",
      "tree": "df7aed4e3b633334e1c1a664ea7787a3caa626f0",
      "parents": [
        "bd592dc6d614b44a6895fd354299454372a39dc5"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Wed Jan 29 16:13:14 2020 +0530"
      },
      "committer": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Tue Feb 11 14:21:05 2020 +0000"
      },
      "message": "libeffects: Removed the unused/redundant code in lvm/lib\n\nRetained the code as per the macros defined and removed all\nconditional compilation checks for BUILD_FLOAT, HIGHER_FS,\nNATIVE_FLOAT_BUFFER, LVM_PCM, MUL32x32INTO32,\nMUL32x16INTO32 and ADD2_SAT_32x32.\nRemoved multiple blank lines in the code and replaced\nwith one blank line.\n\n\nTest: android.media.cts.AudioEffectTest\nTest: android.media.cts.AudioPreProcessingTest\nTest: android.media.cts.BassBoostTest\nTest: android.media.cts.EnvReverbTest\nTest: android.media.cts.EqualizerTest\nTest: android.media.cts.LoudnessEnhancerTest\nTest: android.media.cts.PresetReverbTest\nTest: android.media.cts.VirtualizerTest\nTest: android.media.cts.VisualizerTest\nTest: Tested using standalone application\nBug: 129491957\n\nChange-Id: I392f890811e4277ee13cbfddae07da5b122ca645\n"
    },
    {
      "commit": "a8c60ccd9c151fe7480a2bab113d11c7529f51ea",
      "tree": "8fa6f56b2ce1db9665b8ab0aa981add069d3179d",
      "parents": [
        "bd592dc6d614b44a6895fd354299454372a39dc5"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Mon Feb 03 16:18:51 2020 +0530"
      },
      "committer": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Wed Feb 05 17:31:13 2020 +0530"
      },
      "message": "libeffects: Removed void cast related comments that are not relevant\n\nVoid cast related comments for LoadConst_Float function are\nnot relevant. Removed the same.\n\nTest: Tested using standalone application\nChange-Id: Iace5add23c27f8008a3abc9807f141d4985bd1c5\n"
    },
    {
      "commit": "70ee7b5eb4011679fa79a01c5695b29d42f52a44",
      "tree": "3b083cd9b07ecd0909343af14ec76ad9b799a3b8",
      "parents": [
        "04feef633bb310ed3ab508f1b4966aeffcb1fc2e",
        "2b7eb6b8978eb9166085c49b0254e7ab99086b78"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 30 19:02:03 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 30 19:02:03 2020 +0000"
      },
      "message": "Merge \"libeffects: Rename .c files at lvm/lib to .cpp\""
    },
    {
      "commit": "2b7eb6b8978eb9166085c49b0254e7ab99086b78",
      "tree": "6a7837ee4b04a602437fcee36a33e86024b93154",
      "parents": [
        "81bfa6303d4b0b7289dc211a34bdfe33b382faf7"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Tue Mar 12 18:28:58 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 30 19:01:46 2020 +0000"
      },
      "message": "libeffects: Rename .c files at lvm/lib to .cpp\n\nRemoved extern \"C\" declaration in header files. Since all\nfiles at lvm/lib are .cpp and all function names are unique,\nextern \"C\" is no longer required.\nNote: Build errors due to renaming of files to .cpp\nare taken care in this patch.\n\nTest: android.media.cts.AudioEffectTest\nTest: android.media.cts.AudioPreProcessingTest\nTest: android.media.cts.BassBoostTest\nTest: android.media.cts.EnvReverbTest\nTest: android.media.cts.EqualizerTest\nTest: android.media.cts.LoudnessEnhancerTest\nTest: android.media.cts.PresetReverbTest\nTest: android.media.cts.VirtualizerTest\nTest: android.media.cts.VisualizerTest\nTest: Play Music offload / non-offload\nTest: Tested using standalone application\nBug: 129491957\nChange-Id: I7033146c21681372a212d507f959ab02568b7538\n"
    },
    {
      "commit": "c1b0fe45f72fe0f96a18ff3ce564564e6b65be3c",
      "tree": "635ad37633d84018417b2b48a7da419c46b2c5cb",
      "parents": [
        "efa2b5cf8e5f2c08000548363c3d180af565b162"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Jan 07 09:12:36 2020 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 24 18:53:17 2020 +0000"
      },
      "message": "[audioeffect] add support of device effect in config parser\n\nBug: 136294538\nTest: build\n\nChange-Id: I2c75b4bf6a4346362044696feabb35822c860efa\nMerged-In: I2c75b4bf6a4346362044696feabb35822c860efa\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "efa2b5cf8e5f2c08000548363c3d180af565b162",
      "tree": "8d0fc43b247c8757e25e458473f8dfd10e1ad4a8",
      "parents": [
        "ad447b7e7f45d90a3ddf1e181fb4cf9e1d112bde"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Mar 07 10:11:43 2019 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 24 18:53:06 2020 +0000"
      },
      "message": "audioeffect: add missing sources to deserializer config file\n\nThis CL adds fm_tuner and echo_reference in the list of allowed\ninput sources for default effect(s) instantiation.\nXSD aligned accordingly.\n\nTest: build\nBug:\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\nMerged-In: I0da109d637dac646ee43e2dd602ddfb0b21fa31d\nChange-Id: I0da109d637dac646ee43e2dd602ddfb0b21fa31d\n"
    },
    {
      "commit": "d700529501d45ab3d0a0b506b2b76cb0212cf5ce",
      "tree": "7537a0aec018dd1b76c662bfa8a3c2cddb79e5c0",
      "parents": [
        "fefebb5c9692a57aade8955996d7dee7748eb1ec"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 13 12:57:33 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 10 11:11:58 2020 -0800"
      },
      "message": "Audio effect HAL: Add device ID to createEffect API\n\nAdd the possibility to specify a target audio device when\ncreating an audio effect by passing its audio port handle\nto createEffect API.\n\nBug: 136294538\nTest: make\nChange-Id: I32a6400278496653b4204175cd8a16d81f9724a0\nMerged-In: I32a6400278496653b4204175cd8a16d81f9724a0\n"
    },
    {
      "commit": "3a26bb21bd9c38fe48b203cd018b95b955f2d1de",
      "tree": "e89ce1c4e84b514454f027f9e419ed6b7cf435c9",
      "parents": [
        "0bab538b5c6e17bd06161b8fdbd9b65411c410ec"
      ],
      "author": {
        "name": "Baekgyeong Kim",
        "email": "baek.kim@samsung.com",
        "time": "Wed Oct 30 20:29:41 2019 +0900"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 08 11:49:08 2020 -0800"
      },
      "message": "Add audio stream and usage for virtual assistant\n\nNew stream type: AUDIO_STREAM_ASSISTANT\nThis is intended to be used by a virtual assistant like\nGoogle Assistant, Bixby, etc.\n\nThe audio stream has own volume alias and the volume\ndoes not change by volume changes of other streams.\n\nBug: 123745215\nTest: make\nChange-Id: I17ec0480cad4c3507a97454ccb832255adda9897\nMerged-In: I17ec0480cad4c3507a97454ccb832255adda9897\nSigned-off-by: Baekgyeong Kim \u003cbaek.kim@samsung.com\u003e\n"
    },
    {
      "commit": "bc84f5fa6b6f5c25b93e4f0fb4c1f6e5e339f752",
      "tree": "3e27a7ae520fdc567edd4811474894f15cd06955",
      "parents": [
        "3439c875dd21991992afe033005e4f2ebed919bd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 27 17:38:55 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 28 23:22:40 2019 +0000"
      },
      "message": "EffectBundle: Make effect draining more robust\n\nEnabling and disabling effects when offloaded may not drain\nsoftware effects properly as the software effect process\nis not called.  Make software effect draining more robust.\n\nTest: Play Music with offload effect enable and disable per bug.\nBug: 130265457\nChange-Id: Ibeeaca57359d6d82ddaa41d12caa9c03df225487\n"
    },
    {
      "commit": "b0ffc5af95a6733dc8f43041ea01dd197e275069",
      "tree": "8f375577d18e51e4605b703503d8588512b68eef",
      "parents": [
        "8e552f171d66e77d755459b6e757593380631245"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 17 11:53:41 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 17 12:52:30 2019 -0700"
      },
      "message": "Visualizer Effect: Fix SCALING_MODE_NORMALIZED\n\nTest: Clarity test on sine wave, enable SCALING_MODE_NORMALIZED\nBug: 135469767\nChange-Id: Id31d34dccb8a4440600925c54bd2ca5645530d8f\n"
    },
    {
      "commit": "0f8a1cdd39299aab134a5004c303b5df904f3924",
      "tree": "3c9050c00d128c4983497af7c596e6e1f31a7495",
      "parents": [
        "5592ee268507a8ee90fd374530e55a6279dbf0de"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu May 16 16:20:13 2019 -0700"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Fri May 24 10:44:12 2019 -0700"
      },
      "message": "Splitting analysis window in frequency implementation. Other fixes.\n\nSplit the analysis/resynthesis window into using sqrt() of Hanning.\nRemoved unnecessary zero padding of initial circular buffer input.\n\nBug: 133453863\nTest: manual and listening tests\nChange-Id: I05a7204d055a8de93bb9183c32709d3464877065\n"
    },
    {
      "commit": "ace192e7f35cbe97b2dbe678617261cc95a714d4",
      "tree": "5c0bdadd053c54ffee2d5decb2bb08eaba0a4268",
      "parents": [
        "7ec75ad4adb305afc931fce779044ce202b62d9e"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Mon Apr 22 17:37:48 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 22 11:54:17 2019 -0700"
      },
      "message": "libeffects: Correct LVM_BufferUnmanagedOut function for mono input\n\nUse stereo to match internal computations in LVM_Process.\n\nTest: dedicated POC see bug below.\nBug: 131065273\nChange-Id: Icdc15d0da2772979f82a4ad08d360c81b965f705\n"
    },
    {
      "commit": "7ec75ad4adb305afc931fce779044ce202b62d9e",
      "tree": "4f1822f6d71c535aeb9e1b0889e8db18baf7cd09",
      "parents": [
        "85ff88512c85272169cb93f8082db2572b70d62b",
        "6bdd081e1660e4c3af3b96fd215c132fd283416f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 22 17:33:33 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 22 17:33:33 2019 +0000"
      },
      "message": "Merge \"libeffects: Added support to test effects using 32 and 64 bit binaries\" into qt-dev"
    },
    {
      "commit": "6bdd081e1660e4c3af3b96fd215c132fd283416f",
      "tree": "dd0e4fd12a2713f749bcf7c11aac347b2325061e",
      "parents": [
        "8263e3519b6801f019e471efe4a6045b7046e4d3"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Sat Feb 16 15:08:39 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 19 16:36:38 2019 -0700"
      },
      "message": "libeffects: Added support to test effects using 32 and 64 bit binaries\n\nTest: local native test (lvmtest)\nBug: 124317351\nChange-Id: I4e363c453b567db87f8ca02170ab2bfb921fb739\n"
    },
    {
      "commit": "97aaad8ef2770d3f58d17d7e88fc43adc266e032",
      "tree": "b008ceeac7c0b9ea3312e3dff3246d0f28f9236d",
      "parents": [
        "8263e3519b6801f019e471efe4a6045b7046e4d3"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Thu Apr 18 12:30:24 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 19 10:14:04 2019 -0700"
      },
      "message": "libeffects: Corrected the Copy_Float in LVM_Process.c to handle MC\n\nCopy_Float function present after the LVDBE_Process function in\nLVM_Process.c was not taking into consideration NumChannels.\nCorrected this.\n\nTest: discovered by code inspection, CTS, Solotester\nBug: 130781096\nChange-Id: Ib0bccd36f3986463b602fa20fc09ab0741f7e39e\n"
    },
    {
      "commit": "b20cf7db9e669169bbae5f0da97018a866c3f634",
      "tree": "96e88e1850e1fb27fcc0bad53cc575e837d86c60",
      "parents": [
        "aceea8bddd0324df4414673bc39a3f38fe16e8a1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 05 19:37:34 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 17 19:27:20 2019 -0700"
      },
      "message": "audio policy: concurrent capture effects\n\nAdd pre processing effect management for concurrent capture scenarii.\nWhen several clients on the same input stream have enabled audio effects,\nonly the effects attached to the top priotity client are active.\nOther effects are suspended.\n\nAdd AudioFlinger API to suspend/restore audio effects build on top\nof exisiting internal effect suspend mechanism.\n\nRecordThread now supports more than one effect chain.\n\nAOSP pre processing implementation supports more than one effect session\nper input.\n\nRefactor AudioPolicyManager::closeAllInputs() to call closeInput() on\nall inputs instead of partially duplicated code.\n\nBug: 128419018\nTest: make\nChange-Id: I685286da4c2905a8894a4354679f9787b1400621\n"
    },
    {
      "commit": "9bacfeb522a52afd559fa8ba3b8dcac4a4a2ceef",
      "tree": "dd0582e5395eb548deffe305189fbb17b50566a4",
      "parents": [
        "4066749eac05f7b00bbeb2242f3136409c247338"
      ],
      "author": {
        "name": "Puneeth Prabhu",
        "email": "puneeth.prabhu@ittiam.com",
        "time": "Tue Apr 09 19:45:06 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 11 10:26:41 2019 -0700"
      },
      "message": "libeffects: Fix for crash during playback on bluetooth headset\n\nCrash was because of uninitialized (invalid) number of channels.\nInitialized channels to default value and ensured\nthat during set config channel and channel mask value\nare updated per the input config.\n\nTest: BT playback with Spotify, GPM (Sailfish)\nBug: 129804987\nBug: 130013184\nChange-Id: I71069b13a90e02bfc3b5cb9bf69c4c65c10ae36f\n"
    },
    {
      "commit": "7d6b44eb0adfeecb55968b0e5bd927138771647f",
      "tree": "aa879a76293333f37890859f13ce594903792004",
      "parents": [
        "9c63fbe4e0ccbc32086fe96d14877293763f3846",
        "0fb19c0e4a3aa5c42783f141a54469b7800633c6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 01 21:48:07 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 21:48:07 2019 +0000"
      },
      "message": "Merge \"libeffects: Added code to update sourceFormat field properly for MC input\""
    },
    {
      "commit": "1fe3b5ead2252f493930fcdf34c2aa061fb43c38",
      "tree": "e391d6a091e17629ceeaf6bfe8e2523836157b9c",
      "parents": [
        "09cc4b1d530e550167c4ad01c84559c8797e0ff8",
        "8f8bc4d9392abd5ae2bff84cecf12df63e14a7f3"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 01 12:38:29 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 01 12:38:29 2019 -0700"
      },
      "message": "Merge \"use libc\u0027s powerof2\" am: 813a561aed am: 33972a46d9\nam: 8f8bc4d939\n\nChange-Id: Iad08cdbd25fec8c16742714083184f0c48b40bd4\n"
    },
    {
      "commit": "f80d4a14eadfc399fbf0fb0d7bb8b796c13c01a1",
      "tree": "01119d50dc8b29d659ea660198c3988f3689e7c6",
      "parents": [
        "c18cebd376aef4b6018e22face736bbbb0e54f65"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 28 19:03:57 2019 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 28 19:03:57 2019 -0700"
      },
      "message": "use libc\u0027s powerof2\n\nInstead of rolling our own powerof2 function, use the version provided\nby libc. In particular, this version is not ubsan safe, whereas the libc\nversion is. See https://android-review.googlesource.com/c/platform/bionic/+/932279\n\nTest: compiles and boots\nChange-Id: I0dd39254357826c14c3185a5e6332faa90975f01\n"
    },
    {
      "commit": "e92cb6f8896d7e11c45f958768819109f0e5e8b4",
      "tree": "573abd759e2657afe70bc37ed044fd3f9157e73d",
      "parents": [
        "11df024f9e4e58c9b46e36a01a61d7e77efd7ec3"
      ],
      "author": {
        "name": "Rajat Kumar",
        "email": "rajat.kumar@ittiam.com",
        "time": "Tue Feb 26 12:12:58 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 25 16:33:30 2019 -0700"
      },
      "message": "Fix for integer over flow in LVPSA_process in libeffects\n\nTest: ubsan and lvmtest\nBug: 123388592\nChange-Id: I6f60b555d316accceacba55503a5027d853efb84\n"
    },
    {
      "commit": "0fb19c0e4a3aa5c42783f141a54469b7800633c6",
      "tree": "b0f400824eb8ed6f0544227a6bb9c0614d050a41",
      "parents": [
        "b893fcd9978e730c0e00eddce63a08bef727261e"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Wed Mar 06 13:02:33 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 22 18:22:09 2019 -0700"
      },
      "message": "libeffects: Added code to update sourceFormat field properly for MC input\n\nAdded code to update SourceFormat field properly for MC input in CS and EQ\nmodules.\n\nTest: lvmtest\nBug: 127583584\nChange-Id: If5aa175e2557f64f04cb1f2de5a5822ecb553f2e\n"
    },
    {
      "commit": "fc4a18139c183ca39bae44e3bb7e69430347bb68",
      "tree": "59ee5ca10df9942a73b7f61b7ac96e3b479271d8",
      "parents": [
        "1c81145d33c83cb71a709dfadd9b4392c04664e9",
        "175fbd3859bbf02c69a8bf126feb8ea60d294660"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 22 20:04:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 22 20:04:13 2019 +0000"
      },
      "message": "Merge \"AudioEffect: explicitly show errors in lvmtest\""
    },
    {
      "commit": "175fbd3859bbf02c69a8bf126feb8ea60d294660",
      "tree": "b7190e20eef784835c9dffeb633c98089c736c7d",
      "parents": [
        "76e348fc43d7b8bda0362ccbf14bf0eeac09a7c9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 18 12:20:27 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 20 21:23:32 2019 +0000"
      },
      "message": "AudioEffect: explicitly show errors in lvmtest\n\nTest: instrumented test\nChange-Id: I406c23517ef401540fb497134a42abb1261d9225\n"
    },
    {
      "commit": "7b66e3b61a2e14f971334dbbe41d132f6f40623b",
      "tree": "6d02ea1b38a8cf22d462f7f0f26eab8dd0428305",
      "parents": [
        "06709c6db6992675ce3b83d9d7aa0682e17dc0ad"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Fri Feb 08 15:18:54 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 20 13:27:59 2019 -0700"
      },
      "message": "libeffects: Added multichannel support for volume balance\n\nTest: local native test (lvmtest)\nBug: 120941390\nChange-Id: If982e03a57fb3a1e03d67f531c615bc016e7f3a5\n"
    },
    {
      "commit": "f0d7e1104fdc7602cb7c642ee0abdfaff99a18fc",
      "tree": "dbd946262b26513d6701621848ab1d976ef7a7ea",
      "parents": [
        "0608b98de92caf923b1ac1c750b29b1d3b0b9c37"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Mar 06 11:44:34 2019 -0800"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Mar 06 11:44:34 2019 -0800"
      },
      "message": "Remove \u0027-v\u0027 from cflags\n\nRemove noisy \u0027-v\u0027 flag from downmixtest.\n\nTest: Build\nChange-Id: I34ad5e65f4dc33e84efff943f42ba230ac864c2b\n"
    },
    {
      "commit": "cb398aba7dac9c9e3c1b57b78c6ec85fd789fcca",
      "tree": "c76ee3d09c7222c65d30dc2b080ddcdb8cdae5ac",
      "parents": [
        "9f11c708be34f92866149b78bd1f7de2c0adf9ab"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Sat Feb 16 13:12:59 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 22 17:17:14 2019 -0800"
      },
      "message": "libeffects: Fixed minor nits on lvmtest\n\nTest: local native tests (lvmtest)\nBug: 124319395\nChange-Id: I874de1f09e5e57e2c81ce069fbee5b53f9194730\n"
    },
    {
      "commit": "6c3da9786a43a3b354a009fab5c609b07fde13a7",
      "tree": "b0254d0c06c7850524b49f79b079c89bccb83f77",
      "parents": [
        "0e2c6b80cbf498ce376cd356ea65d65ec570f335"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Fri Feb 08 11:28:32 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Feb 14 12:39:50 2019 -0800"
      },
      "message": "libeffects: Fixed bit mismatch seen with 3 channel input\n\nThe output for a 3 channel input is not bit-exact with that of\n2 channel input when concert surround is enabled and tested using lvmtest.\n\nTest: local native test (lvmtest)\nBug: 124085228\nChange-Id: Icb2d1d5d858be0c37cb11dd3734f8a6244d3cc1c\n"
    },
    {
      "commit": "54aa6de10bf6517f3c31ed91ddfa1c27465dc98e",
      "tree": "91685aac693c2dd6bf832adfecb6c3defa6bb4ca",
      "parents": [
        "3b00746711fbc33abd5fc519a4b7d87801c1e6c6",
        "4c9da69753a99e6b5444b08e14f01b4c5aa8077f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 11 21:02:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 11 21:02:42 2019 +0000"
      },
      "message": "Merge \"libeffects: Added sample testbench for downmix module\""
    },
    {
      "commit": "ab18bac6ace8842ec93ef4c5c9eb4e66b3e82481",
      "tree": "f91492c640c4c4867a02d72aab5fa322fea308f6",
      "parents": [
        "186f4ac0f006de84d940a460bb44ee0e325fd1eb"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Thu Jan 24 17:15:10 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 08 12:53:13 2019 -0800"
      },
      "message": "libeffects: Fixed memory leaks in lvmtest\n\nThe memories created in lvmCreate call have to be freed at the end of\nexecution. Added code to achieve the same.\n\nTest: local native test (lvmtest)\nBug: 123324940\nChange-Id: I83fad7def874da27c79d755e44ec738fa0816a41\n"
    },
    {
      "commit": "4c9da69753a99e6b5444b08e14f01b4c5aa8077f",
      "tree": "2ff82001d5d7c5833b289d391bb9c09d5597c5e2",
      "parents": [
        "ffb2516cc730b5ac621ad8a92e827faf4e86b8ca"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Sat Jan 05 12:25:59 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Feb 07 17:36:12 2019 -0800"
      },
      "message": "libeffects: Added sample testbench for downmix module\n\nAdded sample testbench, necessary makefile to build standalone application\nand shell script to build and run the standalone application.\n\nTest: downmixtest (in this CL)\nChange-Id: I64651dfae497c0bf8687bfc5ed45020e27a8fdd1\n"
    },
    {
      "commit": "5b723961c9456aa46ea3315bbcc80a3f6d0acc70",
      "tree": "d4060f64b0c892beb29ddf0220b6669a6715e6f9",
      "parents": [
        "f381e947fc42334353fbaca0bb37e7163991c348",
        "b89991f51c918f0678be6dabd3c262863a94404c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 25 17:54:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 25 17:54:30 2019 +0000"
      },
      "message": "Merge \"libeffects: Added standalone testbench that calculates SNR value\""
    },
    {
      "commit": "076b6e711abf0e73c33d3e3df162f7bd7ae41a14",
      "tree": "f1d93d01983703207d6a996f560868fdfd212a15",
      "parents": [
        "967537b2663c6beeaae6c2f65754c4c12b42a830",
        "db085f3fb86fefebdcbf47809ab36a0288984eb8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 24 17:44:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 17:44:46 2019 +0000"
      },
      "message": "Merge \"libeffects: Corrected scratch memory size calculations\""
    },
    {
      "commit": "db085f3fb86fefebdcbf47809ab36a0288984eb8",
      "tree": "1497615222365b112018e10368f48cd3999d221d",
      "parents": [
        "875cec7a8d89ac8b59cad133d05bbe5b554226c3"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Sat Dec 29 15:14:27 2018 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 23 15:21:29 2019 -0800"
      },
      "message": "libeffects: Corrected scratch memory size calculations\n\nCorrected the scratch memory size calculations of bundle scratch for\nfloating point and multichannel builds.\nAdded comments detailing the usage and size calculation of\nmemories of various memories LVM.\n\nTest: local native test (lvmtest)\nBug: 120874654\nChange-Id: I69bb7faa106be5b82b4e579718afe0d1d3bb798d\n"
    },
    {
      "commit": "b89991f51c918f0678be6dabd3c262863a94404c",
      "tree": "bd5bac19d2e3d153d8fe734e0774fd04d7121778",
      "parents": [
        "875cec7a8d89ac8b59cad133d05bbe5b554226c3"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Thu Jan 10 19:26:43 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 23 15:02:16 2019 -0800"
      },
      "message": "libeffects: Added standalone testbench that calculates SNR value\n\nAdded a standalone test bench that calculates SNR values using 2 files\nas input. This tool is used to test the multichannel changes.\n\nTest: build_and_run_all_unit_tests.sh\nBug: 121353611\nChange-Id: I5e67d8113bace7872133f2e02d9ae7b9d90e61ff\n"
    },
    {
      "commit": "9a0a53f48a0b09437f13f806ec5dab6bd62af3b2",
      "tree": "1b33b2fe9ef94aafc62c8a835efb69584bee093a",
      "parents": [
        "7e88016ac5148dea58a07abbfd3b154e0c40859c",
        "a52bdd8908f53c784a993dd70b0f92751031b026"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 23 21:25:49 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 21:25:49 2019 +0000"
      },
      "message": "Merge \"libeffects: Corrected Concert Surround delay values for higher sampling frequencies.\""
    },
    {
      "commit": "a52bdd8908f53c784a993dd70b0f92751031b026",
      "tree": "ebed2163f51d9d65449860970098f643dd12807d",
      "parents": [
        "875cec7a8d89ac8b59cad133d05bbe5b554226c3"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Tue Jan 15 12:43:41 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 22 15:51:36 2019 -0800"
      },
      "message": "libeffects: Corrected Concert Surround delay values for higher sampling frequencies.\n\nAdjusted delay values in LVCS modwqule for higher sampling frequencies\nstarting from 48000 Hz. The values for higher frequencies are obtained\nby linearly scaling the delay value for 44100 Hz frequency.\n\nTest: Local Native Test (lvmtest)\nBug: 120991000\nChange-Id: I261fd1ef338474f266aa19347e44aee1412db953\n"
    },
    {
      "commit": "2853c307830e76ff19935808e498846be683243d",
      "tree": "ede30be3daf0076905673c0801b8807510185c07",
      "parents": [
        "875cec7a8d89ac8b59cad133d05bbe5b554226c3"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Tue Jan 22 13:19:12 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 22 15:21:47 2019 -0800"
      },
      "message": "libeffects: Added missing table entries corresponding to 88.2kHz and 176.4kHz\n\nTable entries corresponding to 88.2kHz and 176.4kHz were missing for tables\ncorresponding to time constants and omega(2*pi/Fs). Added these missing entries.\n\nTest: local native test (lvmtest)\nBug: 123209908\nChange-Id: I6c17bb8492a3138acdc1e1fce3bc0a3e5a7eabf2\n"
    },
    {
      "commit": "ae4b6ecfbcbea56cca160715a2ef710d8d87a40f",
      "tree": "124f24314b3f95b48a47dc8cc6f4ab0a6a0cc88e",
      "parents": [
        "96024c18126150259ba123ef48d180c6e0a2cf7e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 15 18:34:38 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 16 09:52:55 2019 -0800"
      },
      "message": "add new audio sources for audio capture\n\nThis commit adds the following audio capture sources:\n- AUDIO_SOURCE_VOICE_PERFORMANCE: for real time live performances like Karaoke.\n- AUDIO_SOURCE_ECHO_REFERENCE: for capturing the reference signal to suppress by an echo\ncanceller. Protected by privileged permission CAPTURE_AUDIO_OUTPUT.\n\nAlso added device AUDIO_DEVICE_IN_ECHO_REFERENCE selected when the requested\ncapture source is AUDIO_SOURCE_ECHO_REFERENCE.\n\nBug: 118203066\nTest: CTS tests for audio capture\n\nChange-Id: Ieb159ea82a7b81acf762506a44e24ec80111609f\n"
    },
    {
      "commit": "18862186d39954af7f89b6018bb0d99b10f6fa15",
      "tree": "bb0e090c4681501a9c07a4ec24afd613733c31e5",
      "parents": [
        "decf9a511ea1be599b62aae8e7a39cf2497437aa"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 08 16:32:41 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 09 10:22:56 2019 -0800"
      },
      "message": "Virtualizer: Fix channel configuration capability\n\nChannel masks beyond stereo are not supported by Concert Surround\nvirtualization at this time.\n\nTest: VirtualizerTest#test4_1SpeakerAnglesCapaMatchesFormatModeCapa\nBug: 122358150\nChange-Id: Ib5ea0f8655c1845d5974ec9cc18a821652fac9b4\n"
    },
    {
      "commit": "ed1172f61f054fc2d42bf5e2d0b8833b6f553ace",
      "tree": "1116aea5d3454b6f91792e16a41e2386d736eae4",
      "parents": [
        "669425507df4a9ee4d062d994cf9549ed5f7723f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 21 16:20:03 2018 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 21 16:20:03 2018 -0800"
      },
      "message": "EffectDownmix: Fix float mode and enable\n\nTest: Play Music with multichannel source using float and int16 downmixer\nBug: 121222814\nChange-Id: If97770991edc3bec02edc82101aaa8ad86ac4bcf\n"
    },
    {
      "commit": "b144b4b601b0fe08f8d40d7a7e68e446e8adcea6",
      "tree": "3279ca258df0e7ed34002d1f318ebde83dd14252",
      "parents": [
        "46f854ad5dc3472c95a397353e873d2cfff9d614"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 20 14:15:49 2018 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 20 14:27:32 2018 -0800"
      },
      "message": "lvmtest: Add mono mode for audio effect testing.\n\nThis ensures all input audio channels are identical\nby replicating the first audio channel of each\naudio frame to the other channels.\n\nTest: Use lvmtest with -M\nBug: 121331591\nChange-Id: Ie85b6511397a97c9d0f3451328d128048c803ce5\n"
    },
    {
      "commit": "46f854ad5dc3472c95a397353e873d2cfff9d614",
      "tree": "16763a51ceea5e3837d583278f08e51231334591",
      "parents": [
        "50bd488853b89affa35aeb97a581d5031579b0f7"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Mon Dec 17 15:04:13 2018 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 20 13:55:13 2018 -0800"
      },
      "message": "libeffects: Updated test script for higher frequencies and effects\n\nAdded test cases for testing audio effects for higher frequencies\nAdded test cases for different combination of effects\nRemoved generated *.raw files at the end of the test\n\nTest: local native test (lvmtest)\nBug: 120910607\nChange-Id: I4df654314fee39a41bac05a8398d01e8f11e1173\n"
    },
    {
      "commit": "79b85a879771f30cfb2de4954badd5738d5b1dd7",
      "tree": "be3643ec10d277ba853f6696d4cdaede1b6dab2b",
      "parents": [
        "caa66fd2eafb04ddd002f8f1bc4e5fabcb8c8591"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Thu Dec 06 16:09:45 2018 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 18 14:54:39 2018 -0800"
      },
      "message": "libeffects: Correct ConcertSurround 96kHz and 192kHz filter coefs\n\nCorrected the headphone side filter coefficients for 96kHz and 192kHz sampling\nrates for the Concert Surround / Stereo Widening (CS) module.\n\nTest: local native test lvmtest\nBug: 120942559\nChange-Id: I213ff07aa54f4e0e4271c7ae619ede3881cee409\n"
    },
    {
      "commit": "0c5015fca72232b0087530eec1d75fa6e5aa6bfe",
      "tree": "6ab31aefba4a8fbed6b44f57a1013e1bc3110e57",
      "parents": [
        "8c3773d839cb2127eafeae4619f98150d1ea2d3d"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Wed Nov 28 18:37:06 2018 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 14 15:29:55 2018 -0800"
      },
      "message": "libeffects: Added support for 88.2kHz and 176.4kHz\n\nTest: local native test (lvmtest)\nBug: 120806181\nChange-Id: Idb06f6917a86634dfabcb51f3a80a5ab579fa91c\n"
    },
    {
      "commit": "ef4b27d1d1123b452316f722a0eacc282d3fa94a",
      "tree": "a0acf7f1501bebe58caa1fb15fc118072b71a305",
      "parents": [
        "dd44e3c5f2d199589c040a422b3e343c796bd362",
        "538d53267bee085e08d489546bde620520b5b188"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 13 16:23:10 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 13 16:23:10 2018 -0800"
      },
      "message": "Merge \"Fix performance-for-range-copy warnings\" am: 1ce37f1de3 am: c9584831bc\nam: 538d53267b\n\nChange-Id: I15dfaa7eb997c7caf497b488384477952513cef7\n"
    },
    {
      "commit": "1ce37f1de3f7185ccffd4d9145b036941a582fe4",
      "tree": "f9bc06168767ceabcc6c1732e4bf4a3d24abf802",
      "parents": [
        "ebd8c69ac531cfcb6aa05a96e8cba604008bd6f0",
        "3ef324d11cc4b6f84c147998fcf02c3a528fc2b8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 13 21:28:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 21:28:33 2018 +0000"
      },
      "message": "Merge \"Fix performance-for-range-copy warnings\""
    },
    {
      "commit": "590c815a94442634adc9616eaf38bc97137371a3",
      "tree": "386e80c77f3de4fbc7e8cd6d0fbf505d67626788",
      "parents": [
        "9c8095994c85c3f52e0ece9659e7a2ab876ff7c4",
        "4bcbfa0ec1f3a6d460b48b69fb58f2394a63a8f6"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Dec 12 11:51:38 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 12 11:51:38 2018 -0800"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings in libeffects.\" am: 6d89c10db9 am: 739dc12e71\nam: 4bcbfa0ec1\n\nChange-Id: I2a222be63c1e42739b6ec2e359077f99a2dcfcb6\n"
    },
    {
      "commit": "b99e1bcec4b2cf23a6d8dfe847fa57dedcecc172",
      "tree": "29bf98ffbe590d2ebd9b60299d5c392f30fafffe",
      "parents": [
        "6b01bf3f93113ea19c4f1e8dfd65fe9da7f1a0c9"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Wed Feb 21 17:10:34 2018 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 11 19:13:41 2018 -0800"
      },
      "message": "libeffects: Add multichannel processing support\n\nMultichannel processing support added for Bundled effects including\n\nBass Enhancement (DBE)\nN Band Equalizer (EQNB)\nConcert Surround / Stereo Widening (CS)\nParametric Spectrum Analysis (PSA)\nDC removal\nTreble Boost\n\nTest: Solo Tester, CTS Effects Test, Local Native Test\nBug: 72223862\nChange-Id: Ide86b529a7574c26306098fedd7b276b3688998f\n"
    },
    {
      "commit": "602bd42131dbe07a8de8738bf8f5fc658b9b1eba",
      "tree": "962277b43ecc2b2475892925f64fde9270be1a60",
      "parents": [
        "14c577fac81b8fdcc75e4bf9243f16bd624ba58b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 13:52:25 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 13:52:25 2018 -0800"
      },
      "message": "Fix cert-dcl16-c clang-tidy warnings in libeffects.\n\nBug: 120614316\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,cert-dcl16-c\nChange-Id: I2b4e4ebdf6a4a917313f7f911c7da9d5e63afabe\n"
    },
    {
      "commit": "3ef324d11cc4b6f84c147998fcf02c3a528fc2b8",
      "tree": "9c31c781e4172fb511af7552838c6a63b0f04ac9",
      "parents": [
        "14c577fac81b8fdcc75e4bf9243f16bd624ba58b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 11:48:12 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 11:48:12 2018 -0800"
      },
      "message": "Fix performance-for-range-copy warnings\n\nBug: 30413223\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,performance*\nChange-Id: Ia63c695575d2602ff7e67db874d423b99f4daeef\n"
    },
    {
      "commit": "ce4afa6ca3a2cc61ff2855fd062c8c49a8ec86ca",
      "tree": "acaa035e95ddd131a048e95907abc19ee4a396cf",
      "parents": [
        "2cb14b89bdf0a53e7e1e51fa8fbd94e4dc9d20c3",
        "3edf24a25417dc5bb610bb9494ae779c4b7dd4f6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Nov 19 13:40:34 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 19 13:40:34 2018 -0800"
      },
      "message": "Merge \"Convert media effects to Android.bp\" am: 3c5f389110 am: c97f122ff5\nam: 3edf24a254\n\nChange-Id: I35e0c9a4767756f41c3f93da6a0e461a4a86ca86\n"
    },
    {
      "commit": "154fce4cc73b2e56fb669abd7bf8f9a508a18b90",
      "tree": "206b621d5248cbfaca2025518c1ea976d20609df",
      "parents": [
        "a3354a219068001848efa811a6cdf96c08b318bc"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Nov 16 23:15:45 2018 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Nov 16 23:46:03 2018 -0800"
      },
      "message": "Convert media effects to Android.bp\n\nSee build/soong/README.md for more information.\n\nAlso removed some obsolete subdirs entries.\n\nTest: m MODULES-IN-frameworks-av-media-libeffects\nChange-Id: I1111197a62cc0e856159bfa0d650c5c36b20890a\n"
    },
    {
      "commit": "1f7ef9b98defe9fde75018a1f7971c8000dc7b3f",
      "tree": "2edfbf4a9014c18cba98cd02e25fc0d02ac78c2a",
      "parents": [
        "8088b9b8a9e57fc5bc08bf4db5c94f62e6c21d35"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 02 13:58:41 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 05 10:52:09 2018 -0800"
      },
      "message": "Visualizer: Add multichannel capability\n\nTest: CTS VisualizerTest with multichannel USB devices\nBug: 118895139\nChange-Id: I438708842f2d4cd490120c3a700047d96b93c3be\n"
    },
    {
      "commit": "39399600e89237ba8e3f27f68b58c204c3cdd679",
      "tree": "e3b24ce1074058b20cc54ae46a54e118b6342526",
      "parents": [
        "f5b1d442c7e2bf4de3ba0378af29585a5adcdc93"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 14:42:13 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 14:42:13 2018 -0700"
      },
      "message": "audio: fix switch to break or use FALLTHROUGH_INTENDED\n\nTest: compile, sanity\nBug: 117509050\nChange-Id: I9439f201b3d1f4485ab698d7bed063a02f17f8f0\nMerged-In: 320fd852fb98174804e5f505773500f1cf76f3af\n(cherry picked from commit 320fd852fb98174804e5f505773500f1cf76f3af)\n"
    },
    {
      "commit": "320fd852fb98174804e5f505773500f1cf76f3af",
      "tree": "3eb8319d3076340883afe026b540c05ef7b8c50a",
      "parents": [
        "24bf51ae92285202bdbe3fa00c7c83e93c5a03e2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Oct 09 14:06:37 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 10 11:12:37 2018 -0700"
      },
      "message": "audio: fix switch to break or use FALLTHROUGH_INTENDED\n\nTest: compile, sanity\nBug: 117509050\nChange-Id: I9439f201b3d1f4485ab698d7bed063a02f17f8f0\n"
    },
    {
      "commit": "b18bd8641692f1e4949349660241dfbcf4c0290f",
      "tree": "87e6343095d44ad27eb795b9b5f6a0c76d3657d4",
      "parents": [
        "b9e732b490d1245bf562b4b145cfbb5237864fd7"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Jul 12 17:14:27 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Aug 10 09:32:07 2018 -0700"
      },
      "message": "Effect config parser: fix use after free on file path\n\nParsingResult::configPath is the path of the configuration file\nused for the factory config parsing.\nThis path is used for an error log if the configuration file has errors.\n\nThe paths used to be a static string literals stored as char*\nwithout lifecycle management.\nWhen it was changed to dynamic strings, the code was not updated.\n\nThis patch changes it to a std::string.\n\nBug: 111261328\nTest: flash and check effect works\nChange-Id: Ia2022c794936f3f75793371cdde86c3047bb6c0a\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "fda70d3149451ad32f6e19774b0dafa180940b9e",
      "tree": "3ae31906b1a49e5b4a975f1aec99b64391170513",
      "parents": [
        "66aa339f416e907aa704bb01ac55d109c8bbca38"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Aug 08 11:51:52 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Aug 08 16:27:18 2018 -0700"
      },
      "message": "Visualizer: Convert Effect to float\n\nTest: Cts effects tests\nBug: 112363078\nChange-Id: Id4a57c2398273a369bd1d14a9eb42e96ee15367f\n"
    },
    {
      "commit": "a9d3b5b323a676af06e6c8dd10113438bc89f56b",
      "tree": "816d6233911e7aa480d80fea4b48354b721ddfee",
      "parents": [
        "5bf00e8858de16b294174c35b338b99b5a3259fb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Aug 07 19:08:24 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Aug 07 19:17:58 2018 -0700"
      },
      "message": "LoudnessEnhancer: Convert effect to float\n\nTest: CTS LoudnessEnhancerTest, logcat\nBug: 112335274\nChange-Id: I58e83f10da729779db153d2376ceacda6679b6bc\n"
    },
    {
      "commit": "b63e5c63e5cd21e28fb0ec8329c01762ab6f7d96",
      "tree": "c2f6cd67c418c45c525449fbe8a3f49deb1e68f1",
      "parents": [
        "c74e507ea7742da83d97768b332b17dcea60cfc0",
        "7782d45a9e43a525efe084c52e75fbfed30aaca6"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 01 18:32:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 01 18:32:50 2018 -0700"
      },
      "message": "Merge \"Suppress bogus static analysis warnings.\" am: 9d431ceffa am: ed7b73a536 am: e05d9deb1d\nam: 7782d45a9e\n\nChange-Id: I02cdf2b3c550d170b11acc450af9adc238431845\n"
    },
    {
      "commit": "ed7b73a536af717bdbbd7876037e4743cfedcfdd",
      "tree": "110dac30efc77a5ec5a61f89c8f86dc06c904e5d",
      "parents": [
        "d8ce8e33e90e4aef13d61141584c4fec50322eaa",
        "9d431ceffaad7334f61971abdee8e8436ffc2447"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 01 18:10:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 01 18:10:50 2018 -0700"
      },
      "message": "Merge \"Suppress bogus static analysis warnings.\"\nam: 9d431ceffa\n\nChange-Id: Ia93806a74ab5c7d4ad49a0befe26638f0428af80\n"
    },
    {
      "commit": "f29dc043e2d4915a39cea5f22f833d2c313a3999",
      "tree": "6afe24cd91a2ae0441b9465f843d8064540e0c87",
      "parents": [
        "a7dbdc855331b41b70ca0ff31c1707bed250b6b9"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Jul 31 15:22:49 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 01 10:22:41 2018 -0700"
      },
      "message": "Suppress bogus static analysis warnings.\n\n* clang-analyzer-cplusplus.NewDelete and clang-analyzer-unix.Malloc\n  could give wrong \"Use of memory after it is freed\" warnings.\n* Delete old obsolet calls to ALOGV.\n\nTest: make with WITH_TIDY\u003d1\nChange-Id: Ie7806c8d423b31e8b527b42ad15469d0b087edfa\n"
    },
    {
      "commit": "a82fd60004272acc0ea25914cac429035082be21",
      "tree": "8ece5b1d8f5c4bba08ffd1b057198c24dc4ff243",
      "parents": [
        "2e7f58fb7f7536ff1a5f8469466071c796c519ef"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Jul 12 17:14:27 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Jul 19 16:11:46 2018 +0000"
      },
      "message": "Effect config parser: fix use after free on file path\n\nParsingResult::configPath is the path of the configuration file\nused for the factory config parsing.\nThis path is used for an error log if the configuration file has errors.\n\nThe paths used to be a static string literals stored as char*\nwithout lifecycle management.\nWhen it was changed to dynamic strings, the code was not updated.\n\nThis patch changes it to a std::string.\n\nBug: 111261328\nTest: flash and check effect works\nChange-Id: Ia2022c794936f3f75793371cdde86c3047bb6c0a\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "ce5f342cccee646bda543fa2a9a0ce5d4cb42780",
      "tree": "55cbdf91039c696eaf8d78b8ed29b64f8d8cb69e",
      "parents": [
        "96363281c9188866492487d70769ebcd985a77c9"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed May 23 16:07:48 2018 -0700"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed May 23 16:47:28 2018 -0700"
      },
      "message": "Fix for compressor kneewidth computation\n\nFix for missing kneewidth computation. Cleaner code for segments\n\nBug: 79712497\nTest: Manual test, DPEtest app and Sound Amplifier\nChange-Id: I4232bed73cb4a44e4ef208b0f13434464febb021\n"
    },
    {
      "commit": "a5691fa5c6dd06f64f1524f32b3c34fbdb2051ad",
      "tree": "8a218bb6418ce2bf7af969cea3b5589d753ef31c",
      "parents": [
        "6f8f2c88c6351218d249c8676ed351fb17c6e17f",
        "d24e983ec1ff00ef82e3accc042d160f4fca6435"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 21:19:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 22 21:19:33 2018 +0000"
      },
      "message": "Merge changes Ie263ab57,Ice16de3b into pi-dev\n\n* changes:\n  Setting EFFECT_FLAG_VOLUME_CTRL for DynamicsProcessing effect\n  Fixes for compressor and limiter thresholds and energy computation.\n"
    },
    {
      "commit": "d24e983ec1ff00ef82e3accc042d160f4fca6435",
      "tree": "8a227112867d4054cfc81dd1888f5e9a98709684",
      "parents": [
        "d55d0f32dc12ed83cad9f0641ad2ae9b71a07e20"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Fri May 18 17:20:16 2018 -0700"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue May 22 12:50:54 2018 -0700"
      },
      "message": "Setting EFFECT_FLAG_VOLUME_CTRL for DynamicsProcessing effect\n\nFixing level handling in DynamicsProcessing effect.\n\nBug: 79712497\nTest: manual testing and sound amplifier test\nChange-Id: Ie263ab570ad55e10e1ee80795357977a24a920fd\n"
    },
    {
      "commit": "d55d0f32dc12ed83cad9f0641ad2ae9b71a07e20",
      "tree": "128571da183ee19284eee9701070bf5e0e10f831",
      "parents": [
        "bf2e1e8debbe1e91549b2defe2345d1a1876a8df"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue May 15 18:57:31 2018 -0700"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue May 22 11:54:43 2018 -0700"
      },
      "message": "Fixes for compressor and limiter thresholds and energy computation.\n\nFixed issue with FFT scaling and energy computation.\nAdded windowing compensation to energy computation.\nRefactored FFT and stages computation to accomodate for linked limiters.\nAdded better logic for linked limiters computation.\n\nBug: 79712497\nTest: manual testing and sound amplifier test\nChange-Id: Ice16de3b6e21a4972e7667a71839478ef8b22c22\n"
    },
    {
      "commit": "469a788e3238434153ef99df1b18eda4a3105dc3",
      "tree": "8401f883165e696409c811d3e4440b507cac2680",
      "parents": [
        "bf2e1e8debbe1e91549b2defe2345d1a1876a8df"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon May 14 19:39:18 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed May 16 15:46:03 2018 -0700"
      },
      "message": "Provide static libeffectsconfig for tests\n\nVTS tests can only depend on NDK shared libraries,\nas libeffectsconfig is not part of the NDK and is used\nby audio tests, it must have a static version.\n\nBug: 78871270\nTest: compile\nChange-Id: I48fbffd0316efc151917071c54aa19e533c615df\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "1cd1f80be47cb2fa6c13c5dfeb30d8639cac182a",
      "tree": "58d3468705a12a1a0135a4aaa2a953af0964d3ad",
      "parents": [
        "2c82a511797920451aa20ad5e089fc71aaff78af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 11 16:54:32 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 11 17:50:08 2018 -0700"
      },
      "message": "add audio effect configuration file template in xml format\n\nBug: 78285267\nTest: make\nChange-Id: I1fc47b3a95605835d5e224dc998b0d3e993ceee7\n"
    },
    {
      "commit": "361155ac670d6e528309525e7737e9e2da4046ff",
      "tree": "b721950be3a9c5cd39bad710461b6a1f6964b94d",
      "parents": [
        "fa33327eb3b81bf1f2173bef0d13ced98b1221c1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 09 15:27:02 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 09 15:58:09 2018 -0700"
      },
      "message": "EffectReverb: Fix unsigned integer overflow\n\nTest: Regression - verified problem exists, can\u0027t trigger problem at will.\nBug: 77818338\nChange-Id: I3dccf05c27e5048eddc39d58f22b02fba0bb9de1\n"
    },
    {
      "commit": "e2bd0d498f9f5e9ddac0eb8a0685fc2d7f51745b",
      "tree": "6a764ab4a63bfa53edf83e7ea5e36e050cacd7f7",
      "parents": [
        "7d08bf4ec05777c7089f1ccba1e42c09786a1511",
        "ff0a51f978a6307153cc752b8071144d642b54ac"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 04 20:13:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 20:13:23 2018 +0000"
      },
      "message": "Merge \"Frequency Domain implementation of Dynamics Processing Effect\" into pi-dev"
    },
    {
      "commit": "ff0a51f978a6307153cc752b8071144d642b54ac",
      "tree": "eac825ffd5ba58ed7babdc559fb3bff785fc4baf",
      "parents": [
        "9f011fed92c4982819f78c7cfb4c07b27adf7651"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Thu Mar 22 09:55:50 2018 -0700"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Apr 03 17:00:53 2018 -0700"
      },
      "message": "Frequency Domain implementation of Dynamics Processing Effect\n\nPorted the frequency domain implementation of the effect from the\ndevelopment sandbox.\n\nBug: 64161702\nBug: 38266419\n\nTest: manual with Triton app. Cts tests. Listening tests.\nChange-Id: I9417beba2f98f2a677f0857c7976bf76a0e0d8e0\n"
    },
    {
      "commit": "00a3805bf8157b9977c35e6652773040ddc4b05d",
      "tree": "ef148c07dbed84a02461f3809f9fb75d5c78f40d",
      "parents": [
        "93768b1382f021f29772cc72da6f48dc2fb225f7",
        "9f011fed92c4982819f78c7cfb4c07b27adf7651"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 03 23:47:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 23:47:46 2018 +0000"
      },
      "message": "Merge \"Dynamics Processing Effect\" into pi-dev"
    },
    {
      "commit": "9f011fed92c4982819f78c7cfb4c07b27adf7651",
      "tree": "09af80741066b5f45d72e3647f16cef21f7a7b3c",
      "parents": [
        "96fa7ff5c44bc2abbc824c3b300dd53f7189f60c"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Mon Feb 05 09:29:56 2018 -0800"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Apr 03 13:46:46 2018 -0700"
      },
      "message": "Dynamics Processing Effect\n\nEffect and command implementation\n\nBug: 64161702\nBug: 38266419\n\nTest: manual testing and cts tests\nChange-Id: Iead2cd5efd22f735fdcdfd17e81180c4b52260c5\n"
    },
    {
      "commit": "82e14cda5c0422761821a1d4a4ace26e12d247ba",
      "tree": "e8009e74c4fe37625e9551fc1a10d238a88264b5",
      "parents": [
        "83028d5920884992b16f34aca167cd6c27734d3c"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Mar 30 10:09:42 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Mar 30 17:11:41 2018 +0000"
      },
      "message": "Invalid audio effect config could crash the parser\n\nDue to a typo in an error message.\n\nBug: 74446193\nTest: boot\nChange-Id: Ief4150ff335e53c7b08bbc9ec9fd20ee61d4e13a\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "07be14fb96fc5c106ea2b874faf2b768f468eb8e",
      "tree": "01cd8f75542d7581505bef8a5b9e2f09790ac0e1",
      "parents": [
        "f8ad7f85e9891b2614338330c75ae9e946fccc5a"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "message": "Revert \"Audio V4: Split system and vendor Audio.h\"\n\nThis reverts commit f8ad7f85e9891b2614338330c75ae9e946fccc5a.\n\nReason for revert: Breaks the build of multiple devices\n\nChange-Id: I24f17a0fa0c7ba171c4a3639f890e7f4e42f6b1e\n"
    },
    {
      "commit": "f8ad7f85e9891b2614338330c75ae9e946fccc5a",
      "tree": "957d47ddc7419c688dda1d4c1ac3068eda6d894f",
      "parents": [
        "6d7582e9ad858301b3eeff7b187af6c34808cb7e"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 17 15:57:39 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Jan 20 21:39:40 2018 -0800"
      },
      "message": "Audio V4: Split system and vendor Audio.h\n\naudio.h and its dependencies (audio-effect.h, sound_trigger.h...)\nused to be shared between system and vendor code.\n\nThis led to multiple problems:\n\n1) Such sharing contradicts the Treble policy of\nstrict independence of framework and vendor code.\n\n2) When audio.h was changed, every vendor needed to update\nits code in the next release. This meant that audio*.h\nheaders were mostly changed in backward compatible manner.\nNevertheless, for P the HIDL interface and thus the audio.h\ninterface are changed in backward incompatible way.\n(Some enum are becoming 64 bit long).\n\n3) As the headers were common, some API used only by the framework\nneeded to be visible to the vendors (mostly enum values).\n\n4) Treble policy is to support at least one previous HAL version\n\nAs a result the audio*.h headers are now duplicated,\none set for the framework, and one for the vendor.\n\nEach set will evolve independently. After this split,\nthe framework-only APIs will be removed from the vendor headers\nand vice versa.\n\nThe split is implements as such:\n\n + for system code\n\n    - NOT moving the libaudio_system_headers\n      Eg: system/audio.h and system/audio_effects/effect_equalizer.h\n          are still in system/media/audio\n\n    - the legacy audio HAL API that were in libhardware headers\n          are now in libaudiohal_legacy_headers\n      Eg: hardware/audio.h and hardware/audio_effect.h\n          are now in frameworks/av/media/libaudiohal/legacy/\n\n + for vendor code\n\n    - moving libaudio_system_headers and the legacy audio HAL API\n          that were in libhardware_headers in\n          android.hardware.audio.common.legacy@2.0\n      Note that those headers are now versioned, so migrating to a @4.0\n          HIDL HAL will mean changing the legacy dependency too.\n      Eg: system/audio.h, system/audio-effect.h, hardware/audio.h\n          are now in hardware/interfaces/audio/common/2.0/legacy\n\n    - the legacy audio effect HAL API that was in libaudioeffects\n          is now moved in android.hardware.audio.effect.legacy@2.0\n      Eg: audio_effects/effect*.h are now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\n    - the legacy sound trigger HAL API that were in libhardware_headers\n          is now moved in android.hardware.soundtrigger.legacy@2.0\n      Eg: hardware/sound_trigger.h is now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\nlibaudioutil being used by both system and vendor, had\nto be renamed for system to libaudioutil_system.\n\nVendor libs that now depend on the audio.h of a specific\nversion and are not extensively referenced in non google code,\nappend @2.0 to their name.\n\nNote that headers that are not expected to change in the 4.0 HAL are\nleft in all-versions folder to avoid duplication.\nThis is an implementation detail as the versioned libraries export\nthe all-versions headers.\n\nNote that strict vendor-system separation is enforced by the\nbuild-system. The system headers are not available for vendor\nlibs and vice-versa.\n\nNote that this patch is split between numerous git repository (\u003e10),\nall the commits having the same Change-id for searchability.\n\nNote that audio_policy.h is no longer exposed to vendors\nas the legacy audio policy HAL API was never officially supported.\nAs a result the audiopolicy stub implementation has been removed.\n\nTest: compile taimen-userdebug walleye-userdebug\n              sailfish-userdebug marlin-userdebug\n              gce_x86_phone-userdebug gce_x86_phone\n              full-eng aosp_arm aosp_x86-eng\nTest: check that the emulator booted and played audio\nTest: full QA on sailfish-userdebug and taimen-userdebug\nBug: 38184704\nChange-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "d7a9d5ffbbec0c68b8bc4fdd72d1dee88511923e",
      "tree": "3f6bb414d1498bc07ba76dcd70ea89526ed5ebdc",
      "parents": [
        "46d5355af96d582b81d6fae0ff1d3ceb745863f5"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Jan 03 09:40:44 2018 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Fri Jan 12 16:57:15 2018 -0800"
      },
      "message": "Fix overflow sanitizer in Visualizer_command.\n\nThere\u0027s an intended integer overflow in the Visualizer_command function.\nThis refactors it to use the builtin overflow-safe function.\n\n runtime error: unsigned integer overflow: 1664 - 4048 cannot be\n represented in type \u0027unsigned int\u0027\n\nBug: 30969751\nTest: Builds and boots.\nChange-Id: I63a505f4b073480f52d0b073ec5e45c52212caa8\nMerged-In: I63a505f4b073480f52d0b073ec5e45c52212caa8\n(cherry picked from commit 612d8fcbc996ecd9e0c58f7e2b9fb07d004f29da)\n"
    },
    {
      "commit": "612d8fcbc996ecd9e0c58f7e2b9fb07d004f29da",
      "tree": "7cfa431403368984661d7ff9f1a88665aabffbe7",
      "parents": [
        "dc68185aa25ba05951fdac50cac795bc0e09fc96"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Jan 03 09:40:44 2018 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Jan 03 09:53:01 2018 -0800"
      },
      "message": "Fix overflow sanitizer in Visualizer_command.\n\nThere\u0027s an intended integer overflow in the Visualizer_command function.\nThis refactors it to use the builtin overflow-safe function.\n\n runtime error: unsigned integer overflow: 1664 - 4048 cannot be\n represented in type \u0027unsigned int\u0027\n\nBug: 30969751\nTest: Builds and boots.\nChange-Id: I63a505f4b073480f52d0b073ec5e45c52212caa8\n"
    },
    {
      "commit": "fe2a04c74df84704cd6d641910503cc95b5bfc38",
      "tree": "a0b7062ffb1a09edddf0f244368052e66877ff5d",
      "parents": [
        "d264bb531425b6496317d130e1b0c6e5c0ede7b4"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Dec 22 11:19:14 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 02 11:56:08 2018 +0000"
      },
      "message": "Track tinyxml2 upgrade.\n\nBug: http://b/64459264\nTest: builds\nMerged-In: I9354b14b3a0af1394ad972b9731c49f80359c884\nChange-Id: Ibe8e8e4b034c7f1d9de1c351943fc1bd3a3af9a7\n"
    },
    {
      "commit": "cf7c24392b5b5a8ecb6e880c71f33ee7dc347c60",
      "tree": "d31de2c01a57e3d9a7c3c995ff91659a440094d1",
      "parents": [
        "49f36ba3b4624ddd3d7efa34c95128a73bda6208"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Dec 22 11:19:14 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Dec 27 10:22:31 2017 +0000"
      },
      "message": "Track tinyxml2 upgrade.\n\nBug: http://b/64459264\nTest: builds\n\n(cherry picked from commit ab5a6471682c36664630da96d0ed0551dedcd6dd)\n\nChange-Id: I9354b14b3a0af1394ad972b9731c49f80359c884\n"
    },
    {
      "commit": "013823468b06c5fa19ccc681ac4e7c3c9c9d8cef",
      "tree": "12fba6d0319e706617cbee30ac1055081692f623",
      "parents": [
        "2c5f9f1b33a8bcc7f3433bb25ae31aa04af488ca"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 20 20:27:57 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 21 12:50:56 2017 -0800"
      },
      "message": "EffectBundle: Fix sessionNo allocation\n\nFixes duplicate sessionNo for the same sessionId which\ncauses crashes, effect glitching, and random failure.\n\nTest: Solo Tester long run\nBug: 70809793\nChange-Id: I872635641f5a0794cb7792bf80c3eac0661f0180\nMerged-In: I872635641f5a0794cb7792bf80c3eac0661f0180\n"
    },
    {
      "commit": "172938d111c8d82d82812189d4ff8eedfc064cd7",
      "tree": "f5dbdaa584634b2ae7b8843668bfb3592eeba42d",
      "parents": [
        "9bbba136380a4db6f1c4a6e68c84eacac86b40dd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 20 20:27:57 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 21 10:39:15 2017 -0800"
      },
      "message": "EffectBundle: Fix sessionNo allocation\n\nFixes duplicate sessionNo for the same sessionId which\ncauses crashes, effect glitching, and random failure.\n\nTest: Solo Tester long run\nBug: 70809793\nChange-Id: I872635641f5a0794cb7792bf80c3eac0661f0180\n"
    },
    {
      "commit": "4931894f0318c2f32e71a497d55b0e547197f925",
      "tree": "cb1b50f3e03eda64fa466ee05a7a8f973d3915bd",
      "parents": [
        "240201e27b1722009907a31983825668f2416ec2"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Dec 06 10:43:57 2017 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Dec 20 08:21:30 2017 -0800"
      },
      "message": "Fix overflow sanitizer in EffectVisualizer.\n\nThis makes an implicit conversion to a signed integer explicit before\nthe unsigned integer overflow happens. This was causing runtime errors\non integer sanitized builds.\n\n runtime error: unsigned integer overflow: 1664 - 4096 cannot be\n represented in type \u0027unsigned int\u0027\n\nBug: 30969751\nTest: Compiles.\nChange-Id: I1d4b5ab024e94c19ff448110064340125cd01e01\nMerged-In: I1d4b5ab024e94c19ff448110064340125cd01e01\n"
    },
    {
      "commit": "1d8e6ea955b5369a183384a9dea883580c26188a",
      "tree": "42e7e795fe63ddd7bd4870d64028f97c2c5a72dd",
      "parents": [
        "bc3ebbfa92364d635fa879b901ef83070820e8c0",
        "e0911cb26af225a0c0b5bec7f5e130026e51a3e6"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 12 19:07:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 12 19:07:26 2017 +0000"
      },
      "message": "Merge \"Fix warnings in frameworks/av/media/libeffects/factory\" am: dfd91c514f am: 63d03638a6\nam: e0911cb26a\n\nChange-Id: I3a5c46f3f8f1b00d368f3c5830981fb813cb2add\n"
    },
    {
      "commit": "e0911cb26af225a0c0b5bec7f5e130026e51a3e6",
      "tree": "d5054ce07bdfc1f019af2d879dd82fc295ccd996",
      "parents": [
        "a733e09e7fa94186fd23ef4454d1173882c83310",
        "63d03638a6b39c35b5bb6e1165cc9caba9e078f2"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 12 19:03:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 12 19:03:52 2017 +0000"
      },
      "message": "Merge \"Fix warnings in frameworks/av/media/libeffects/factory\" am: dfd91c514f\nam: 63d03638a6\n\nChange-Id: I4d488a06643d8a8fb30edc395ab1af58af899789\n"
    },
    {
      "commit": "b1d5992c47cbc654bf389322ff98d63f2d90d107",
      "tree": "a3aeca2ea72ce6c324ab1536ca9fda0ed377f7b2",
      "parents": [
        "f325208b4dd14453f04b7144b0639b93cb525a6b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 07 14:59:44 2017 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 07 14:59:44 2017 -0800"
      },
      "message": "Fix warnings in frameworks/av/media/libeffects/factory\n\n* Remove unused variables.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ifd522c4f34c164a591ae0a51aea1cb48455c8c22\n"
    },
    {
      "commit": "22e91601a37e01509e3a9229e3db3242d79fe38b",
      "tree": "8b12052c96188ec7477ac7720625722b57fa1c1c",
      "parents": [
        "14093dd03ceec781072b8c53693fcb5d631cddea",
        "cb97d3e5d3d6432da250d0307dbc672b4a33de18"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Dec 06 22:06:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 22:06:17 2017 +0000"
      },
      "message": "Merge \"Fix overflow sanitizer in EffectVisualizer.\""
    },
    {
      "commit": "3a0bd6fcb215376eb3f27b5b4588a13f6f0f9a34",
      "tree": "0ef00e58cdace6fd51c4132ad842b99451f5e19a",
      "parents": [
        "bad8babebfdf0cb92d60f92a01deeab23b463686",
        "60ed5000a9ad0cdb636cfea2dbfe25d9c7b6d72d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 06 19:22:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 19:22:48 2017 +0000"
      },
      "message": "Merge \"EffectBundle: Proper bundle buffer forwarding of float data.\""
    },
    {
      "commit": "cb97d3e5d3d6432da250d0307dbc672b4a33de18",
      "tree": "94626ebc8defee9f3b3b09f80a94d584cf6e8aa1",
      "parents": [
        "eda72c27cab52c41016d8ce138438a2d59973231"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Dec 06 10:43:57 2017 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Dec 06 10:43:57 2017 -0800"
      },
      "message": "Fix overflow sanitizer in EffectVisualizer.\n\nThis makes an implicit conversion to a signed integer explicit before\nthe unsigned integer overflow happens. This was causing runtime errors\non integer sanitized builds.\n\n runtime error: unsigned integer overflow: 1664 - 4096 cannot be\n represented in type \u0027unsigned int\u0027\n\nBug: 30969751\nTest: Compiles.\nChange-Id: I1d4b5ab024e94c19ff448110064340125cd01e01\n"
    },
    {
      "commit": "a7320c9f932ea51c1fe304f4b33e072efd3dcd5f",
      "tree": "974b8ea4c661cd8c460dc49bed4095c48ad307a8",
      "parents": [
        "41fb321e75b171a484878cd049b25ac01d737a3a",
        "ad32026ad16f4a2cce305b9e9ace0073ae31118d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 06 00:47:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 00:47:44 2017 +0000"
      },
      "message": "Merge \"AudioEffect: Fix race condition when enabling equalizer\""
    },
    {
      "commit": "60ed5000a9ad0cdb636cfea2dbfe25d9c7b6d72d",
      "tree": "f8f9de8bd24bc4daa6c8ae306c984d2427cc4c0f",
      "parents": [
        "ad32026ad16f4a2cce305b9e9ace0073ae31118d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 05 14:34:12 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 05 15:27:31 2017 -0800"
      },
      "message": "EffectBundle: Proper bundle buffer forwarding of float data.\n\nEffectBundle combines effects on the same session into a single processing step.\nIntermediate processing must forward or accumulate float buffers properly.\n\nTest: Compilation\nBug: 70237476\nChange-Id: I9344cc6c32e32c15892bd96ea676da635e34e569\n"
    },
    {
      "commit": "ad32026ad16f4a2cce305b9e9ace0073ae31118d",
      "tree": "d7c985cee0d0e7b3e5e1181f5f3380b766b2d8c0",
      "parents": [
        "cc25a713d9c3ea87299324d0f44864e78710020e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 05 13:57:57 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 05 14:10:26 2017 -0800"
      },
      "message": "AudioEffect: Fix race condition when enabling equalizer\n\nAdd check in transition mode when enabling right after disabling.\n\nTest: Solo Tester\nBug: 70233820\nChange-Id: Ida49184acfce221ef3eea9cbd7353c497495e426\n"
    },
    {
      "commit": "2324f45f5939e9099406bb0e9a8a9e0fb8ecbc00",
      "tree": "f96499826f53c3e9c610aeb1a4b2d7c382f2f0c0",
      "parents": [
        "eda72c27cab52c41016d8ce138438a2d59973231"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 30 15:30:04 2017 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 30 15:30:04 2017 -0800"
      },
      "message": "Use -Werror in frameworks/av/media\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: I9d129155dbed8ead9d4c5786d321227e6b8b3bd4\n"
    },
    {
      "commit": "5effdf6d9ed17b4ff67a7e1adc56996c01c43383",
      "tree": "06e5f064d6dc9b5aea55cf9a12c39d9e68091a85",
      "parents": [
        "cd742b9174eac9f8b6a108512818f2d3a2392ea8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 27 13:51:40 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 27 14:47:19 2017 -0800"
      },
      "message": "Deprecate ditherAndClamp with memcpy_to_i16_from_q4_27\n\nTest: test-mixer and SoloTester\nBug: 69636805\nChange-Id: I5cc04d82f3e46fbfc8188a63eb2a90fb70634c90\n"
    },
    {
      "commit": "94a1ee822686e920a33e312f4032f991731aea07",
      "tree": "5a8e84b19269529153e94fa2f0a6b927823f6848",
      "parents": [
        "c275189ccbfe8ca29437a24256195c61de2f2a6d"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Fri Jul 21 15:11:02 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 21 20:39:19 2017 -0800"
      },
      "message": "Converting effect chains to float point by default.\n\nRemoved additional conversions from/to int16/float.\nFixed config file restrictions.\nDetection of native format (int16/float) of effects.\nOn-the-fly conversion to/from 16 bit effects if necessary.\nWIP: testing effects in all possible configurations.\n\nBug: 63935479\nTest: Bufflog dumps, frequency analysis comparison, SoloTester\nChange-Id: Id4cabc5c5698befc90a5d68b0b996a9b9adebfc4\n"
    },
    {
      "commit": "c4f80a51c733077d9863b06fef54ea906ddcd1cf",
      "tree": "df8b1352a30043014deb72adc0491f0a200d54f6",
      "parents": [
        "c4a74e354a69ccab03de00863b27050eed51a10a",
        "7d2b91dde7ac623720aec91de70d189c6a74fd53"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Oct 31 20:11:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 31 20:11:47 2017 +0000"
      },
      "message": "Merge \"Add EFFECT_CMD_SET_PARAM parameter checking to Preset Reverb\" into lmp-mr1-dev am: 31b0c9cb33 am: be30bb2645 am: e2d671ce19 am: 8aa73cce69 am: 3785a50ef4 am: a060ca58ff am: dee287e40c am: 9dc85bf51e am: 59e93ab3ab am: 3b564f6e42 am: 62e3e59029 am: 26214cfbaa am: 1fee4c334c\nam: 7d2b91dde7\n\nChange-Id: I10718d7a04a337009a47ddc8f2bf1ec3e538c5f8\n"
    }
  ],
  "next": "1fee4c334cca064a8c66aceb7e6ce98414b240ca"
}
