)]}'
{
  "log": [
    {
      "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": "df57a30938ee4cc9b1c32f81ec54445466cbb858",
      "tree": "e0c8f8abc3c954aa72a019b18c171d6137951262",
      "parents": [
        "b05dfdff9f1837eb5216aabaa8aaf03d012468bd"
      ],
      "author": {
        "name": "SzuWei Lin",
        "email": "szuweilin@google.com",
        "time": "Thu Apr 27 14:38:23 2017 +0800"
      },
      "committer": {
        "name": "SzuWei Lin",
        "email": "szuweilin@google.com",
        "time": "Thu Apr 27 07:28:11 2017 +0000"
      },
      "message": "libeffects: move all libraries to vendor\n\nBug: 37490685\nTest: equalizer works in google play music\nTest: CleanSpec works\nChange-Id: I323f4048bce8a512d8aaa1760aef9d176a282c2d\n"
    },
    {
      "commit": "32a5f5d53f9fe2ba584d2ecdf3edd487fb4146a7",
      "tree": "49e0e3a1b8302a9f7282b6bcab3c32ea3808ec23",
      "parents": [
        "105928c9d30ed4c697cc4cdd9e68d8d47a695133",
        "4532a36bf509d822a77cbc1b7837f9f1158c7796"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 13:47:40 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 13:48:15 2016 -0800"
      },
      "message": "resolve merge conflicts of 4532a36 to master\n\nTest: build\nChange-Id: I9b93c4a703c0ee16116be2bea0e6df0606d29363\n"
    },
    {
      "commit": "60d02077d86d2d1092443519290101f503aa6f7a",
      "tree": "57992d2bd94784cd765729b806429928ead0d2e7",
      "parents": [
        "36a75eeb15e58726e8cbbfe9687975740133a11b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 29 08:48:48 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 08:25:58 2016 -0800"
      },
      "message": "Replace cutils/log.h with either android/log.h or log/log.h\n\nTest: compile\nBug: 31289077\nChange-Id: I795a76f978d2213737f1fa908da789c543219b75\n"
    },
    {
      "commit": "48946cd0cdaddfd8abcf6827ac4836cc111cd89c",
      "tree": "c365c4eaf49c4e9a4eb929f8747379658f81ebdb",
      "parents": [
        "d72ffc4416959d2c94838888c781468b2351716d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 04 16:45:06 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 04 17:07:35 2016 -0700"
      },
      "message": "EffectProxy: Check offload reply size\n\nTest: Custom test case\nBug: 32448121\nChange-Id: Iacdd84097f897e86a188ab6831fd0e11738973d1\n"
    },
    {
      "commit": "bd0f59e493dbd67d1871b243ddad9cce3b50d7ce",
      "tree": "8f1d61fe4b43d485ed9aa810f05e3b6d72e6a15a",
      "parents": [
        "2103044be5c8fefbd97da410bbca47239fd3348d",
        "46b06cf79ee5125611c0138ef525423f4818c8df"
      ],
      "author": {
        "name": "Caroline Tice",
        "email": "cmtice@google.com",
        "time": "Wed Oct 19 18:05:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 19 18:05:06 2016 +0000"
      },
      "message": "Merge \"Fix potental memory leak (compiler warning).\" am: c1184a7991 am: 7a40848e50\nam: 46b06cf79e\n\nChange-Id: Ia51169703363cfa7eb488193316b12606097a970\n"
    },
    {
      "commit": "f8dd1bdb12c76822ec1c2ab5d848c31f256cf36a",
      "tree": "175dad1f9fe58c1e1494f47b2f74487ca1643ef4",
      "parents": [
        "92047ec34ba7339ff1b99ede8e483cc2f64d436c"
      ],
      "author": {
        "name": "Caroline Tice",
        "email": "cmtice@google.com",
        "time": "Tue Oct 18 16:32:13 2016 -0700"
      },
      "committer": {
        "name": "Caroline Tice",
        "email": "cmtice@google.com",
        "time": "Tue Oct 18 16:35:18 2016 -0700"
      },
      "message": "Fix potental memory leak (compiler warning).\n\nThis CL fixes the following warning:\n\nEffectProxy.cpp:93:8: warning: Potential leak of memory pointed to by\n\u0027pContext\u0027.\n\nBUG\u003dNone\nTest: WITH_TIDY\u003d1 WITH_STATIC_ANLYZER\u003d1 mm\n\nChange-Id: I7f127042eb50d3d6297473bfd90a5402b182cc85\n"
    },
    {
      "commit": "ef225074ea06dc8ac2801b2fb9f4707dcd3f4200",
      "tree": "459f4cd2d64f05daaa281ebab124c115402f1b29",
      "parents": [
        "4e1fe188f263d7774330a0bcb1f6744790198aea"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 05 11:38:32 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Oct 09 10:42:23 2016 -0700"
      },
      "message": "Enable strict warnings and fix unused warnings\n\nTest: builds without warnings\nChange-Id: I0701a44cbd9a2adc405a1e253b57df7ee03a90b7\n"
    },
    {
      "commit": "20adec0cea8b434e9f60888f49023b5a7dde98ec",
      "tree": "bab72066c298453c070f00c899fe8e5c395616ec",
      "parents": [
        "2b16391d066d20f38f3556d65bce827a8d134e4d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 11 15:28:53 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 11 15:29:27 2014 -0700"
      },
      "message": "Clean up some makefiles.\n\nThe build system takes care of these things for you.\n\nChange-Id: Ife9605f15786e11d6a3578f56ed83dd9ae7fd799\n"
    },
    {
      "commit": "f90c7e0bb8d83d8b7f733bdf430d331ea3f221e8",
      "tree": "f2e5372c4876aad1901b54cc98d988cbee387549",
      "parents": [
        "b447379e2ea1c9ca4cd543ac183df70567d40485"
      ],
      "author": {
        "name": "jpadmana",
        "email": "jayashree.r.padmanaban@intel.com",
        "time": "Thu Nov 14 17:20:52 2013 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 31 00:58:44 2014 +0000"
      },
      "message": "fix deadlock issues that arise when there are simultaneous\neffect control interface calls to proxy and to\nnon sub-effect wrappers(eg., bundlewrapper) from audioflinger\nAlso, return NO_ERROR when CMD_OFFLOAD succeeds\n\nWhenever there are parallel calls to proxy and non sub-effects wrappers,\nsome of the calls are not completed. This is due to deadlock arsing out\nof Proxy waiting for the subeffect call to return and subeffect waiting\nfor proxy to release lock.\nThe call flow is changed to a cleaner and simple one - Proxy gets the\naeli(effect library info) of subeffects during the EffectGetSubEffects()\ncall. Therby, proxy will manage the sub effects by itself rather than\ngoing through effects factory.\n\nSigned-off-by: jpadmana \u003cjayashree.r.padmanaban@intel.com\u003e\nBug: 12424044\nChange-Id: I16852222f1d0e94e433a19177729323a4bb1c090\n"
    },
    {
      "commit": "7d6fc5ebc8718ebb5bf505d9bda83ab63741a545",
      "tree": "3dff65731f7dcb75e20974287e8008c7048ca86f",
      "parents": [
        "4ef1dc2d5b5f5df93b173b0b4c4719d4484e031d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 24 21:00:32 2014 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jan 27 12:39:29 2014 -0800"
      },
      "message": "frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH\n\nLOCAL_MODULE_PATH doesn\u0027t work for multiarch builds, replace it\nwith LOCAL_MODULE_RELATIVE_PATH.\n\nChange-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e\n"
    },
    {
      "commit": "9803acb6b2c1b9c01444e0c8c0124adbe9a7157a",
      "tree": "45a994000490f3ec7a346c673dfaf21228c8b025",
      "parents": [
        "274cc85dcb255185838705a91dba00efa52bf436"
      ],
      "author": {
        "name": "synergy dev",
        "email": "synergye@codefi.re",
        "time": "Tue Dec 17 17:48:51 2013 -0800"
      },
      "committer": {
        "name": "synergy dev",
        "email": "synergye@codefi.re",
        "time": "Tue Dec 17 17:59:49 2013 -0800"
      },
      "message": "libeffects: do not use GNU old-style field designators\n\nAvoiding the use of GCC extensions improves code portability\n\nChange-Id: I9edbedc5c8ad4aa46ca54bc2e28280441431a530\n"
    },
    {
      "commit": "385e7509eb563c983647e72b1232225c2200435f",
      "tree": "a6648133e77d801f1e686657d5a0f92b3d9e139e",
      "parents": [
        "7bab024867996bec6dc4e3e31ed4570da9afbc25"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 08:36:52 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 08:42:21 2013 -0700"
      },
      "message": "fix offload audio effect proxy implementation uuid\n\nThe proxy implementation UUID should not be the NULL UUID as\nAudioFlinger will reject effect creation if the AudioEffect\nis constructed by passing the implementation UUID and not the\ntype UUID.\n\nBug: 11070481.\n\nChange-Id: Ia9049d974e76303c5b63a607ee594b7dc1f182d4\n"
    },
    {
      "commit": "5d6d86a4d102704f49b9235eaf282c428d7100b6",
      "tree": "32ef7801b774457edf670fbdde13f423286b646e",
      "parents": [
        "eba9bf72fb5e036bb15ca4a1dc126883a2cb938d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 20 12:27:32 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:46 2013 -0700"
      },
      "message": "fix oflload effect proxy commmand handling\n\nImplement a more generic command handling in offload effect\nproxy. All commands are sent to both sub effects but only the reply\nfrom the active one is returned to the caller.\n\nBug: 8174034.\nChange-Id: I28aa0f0d806e846332bc29801ee40d34e4ea0c43\n"
    },
    {
      "commit": "eba9bf72fb5e036bb15ca4a1dc126883a2cb938d",
      "tree": "3d0676b2c31251240c6be8a4c0f1255a4e4f0554",
      "parents": [
        "faca05e96744dfaa2f352e3dbb29eead4e55cfa0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 15:04:26 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:41 2013 -0700"
      },
      "message": "fix command handling in effect offload proxy\n\nFix some issues in effect proxy related to handling of effect\ncommands to offloaded and non offloaded effects.\n\nAlso fixed a bug on capture index in software Visualizer effect.\n\nBug: 8174034.\nChange-Id: I119458fea597cc3acbc0ef9ec315f67aa211cbd9\n"
    },
    {
      "commit": "faca05e96744dfaa2f352e3dbb29eead4e55cfa0",
      "tree": "13fdbf3c9f72d9c1d31d367d58556e45703e70ce",
      "parents": [
        "2eab94f7dfd41a65e13aca379a1aed97447f8884"
      ],
      "author": {
        "name": "jpadmana",
        "email": "jayashree.r.padmanaban@intel.com",
        "time": "Tue Jun 04 16:03:29 2013 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:37 2013 -0700"
      },
      "message": "Effect Offload Proxy for effects offload\n\nEffect Proxy abstracts the sub effects to the upper layers.\nIt has the following functionalities:\n- creation and release of sub effects\n- routing the effect commands and process to the appropriate sub effect\n\nBug: 8174034.\n\nChange-Id: Iec34b61104f0bbec4ef67c62f0710a5536dc325b\nSigned-off-by: jpadmana \u003cjayashree.r.padmanaban@intel.com\u003e\n"
    },
    {
      "commit": "5b8ce24b849f6cd5629b4ba508f7c78d6227d250",
      "tree": "bdd573d7a104c25ad6951dcfd58ee37ff2c03760",
      "parents": [
        "f2c8b02786c58b98d41d3f7c30e882cacc34e7ab"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 14:50:48 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:21 2013 -0700"
      },
      "message": "Revert \"Effect Offload Proxy for effects offload\"\n\nThis reverts commit 60c60df7db278d2fa5c90b0fa14f99a61d50272b.\n\nChange-Id: Iafba9e02a9f3bfde6248d802e96c4e649686a87d\n"
    },
    {
      "commit": "ddfbfaeb00295fff7351711f0f044f17d6c40f3c",
      "tree": "550cf08c4c8b7d5393512d1a96661009be3e4de9",
      "parents": [
        "1c7f35d1f25eb7160314fdef536463fc34deb1ea"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 20 12:27:32 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 24 15:29:55 2013 -0700"
      },
      "message": "fix oflload effect proxy commmand handling\n\nImplement a more generic command handling in offload effect\nproxy. All commands are sent to both sub effects but only the reply\nfrom the active one is returned to the caller.\n\nBug: 8174034.\nChange-Id: Ia45f9933b3bf338257ec70b37732fa1578d26b9f\n"
    },
    {
      "commit": "5baf2af52cd186633b7173196c1e4a4cd3435f22",
      "tree": "9c6752456812c4a927574a71e1d2ec2495ff6ce3",
      "parents": [
        "9a98b6de791aeb130192df10744f5b35f8b6ef1a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 12 17:37:00 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 18 11:52:40 2013 -0700"
      },
      "message": "more support for audio effect offload\n\nOffloading of audio effects is now enabled for offloaded\noutput threads. If an effect not supporting offload is enabled,\nthe AudioTrack is invalidated so that it can be recreated in PCM\nmode.\n\nFix some issues in effect proxy related to handling of effect\ncommands to offloaded and non offloaded effects.\n\nAlso fixed a bug on capture index in software Visualizer effect.\n\nBug: 8174034.\n\nChange-Id: Ib23d3c2d5a652361b0aaec7faee09102f2b18fce\n"
    },
    {
      "commit": "60c60df7db278d2fa5c90b0fa14f99a61d50272b",
      "tree": "1b687d31467576d5fce79d4646917652fa8ed9dc",
      "parents": [
        "a82975e02ccf78fd9c4dd2f7c1a66c254b52fe3b"
      ],
      "author": {
        "name": "jpadmana",
        "email": "rpadmanaban.jayashree@gmail.com",
        "time": "Tue Jun 04 16:03:29 2013 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 06 17:36:29 2013 +0000"
      },
      "message": "Effect Offload Proxy for effects offload\n\nEffect Proxy abstracts the sub effects to the upper layers.\nIt has the following functionalities:\n- creation and release of sub effects\n- routing the effect commands and process to the appropriate sub effect\n\nBug: 8174034.\n\nChange-Id: I22d8136636048e7fe8f8807cbc6e348ffa200a22\nSigned-off-by: jpadmana \u003crpadmanaban.jayashree@gmail.com\u003e\n"
    }
  ]
}
