)]}'
{
  "log": [
    {
      "commit": "31987fb3dc277d2b0daf32f3d2a044e8a2c88a3b",
      "tree": "c38226f2997551d7d61cbd7836d5f3a48ab6de85",
      "parents": [
        "5818b453da8cc675900f810655143ad55a159a11"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Sep 03 11:57:33 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 09 15:06:16 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: Update tool scripts to python 3\n\nAs python 2 is beeing deprecated, this CL updates all the tool\nscripts to python3.\nIt also fix some issues revealed by pylint.\n\nTest: lunch audio_configurable target \u0026 build\nChange-Id: I69a201190c688be3825cbdaa238046367a5d09c7\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "5818b453da8cc675900f810655143ad55a159a11",
      "tree": "d7285f91c4ce5f85a9176c2f5544eed40b01ab77",
      "parents": [
        "c60c36916666ead0ad9c599b82a86708a91eb767"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Aug 27 16:30:04 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 09 15:06:09 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: continue switching to bp\n\nThis CL adds genrule_defaults target to allows getting rid of mk\nfor configuration files generation.\n\nTest: build \u0026 boot\nChange-Id: Ida4ec17ab3e67788b512b95ac8d2c0f4c530014a\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "c60c36916666ead0ad9c599b82a86708a91eb767",
      "tree": "520eb229b4f475fdc7134d594b3fb9b47f72330c",
      "parents": [
        "bc5c7de7048dfe5ca33652533582328775bd4169"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Aug 09 15:41:24 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 09 15:05:58 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: fix potential segfault if no default device\n\nIf no default device is available from configuration.xml, and if\nthe engine fallbacks on it anyway, it tries to get its type without checking\nthe pointer validity.\n\nThis CL fix the potential segfault and assert with explicit error message.\n\nTest: build\n\nChange-Id: Icf8d7f5ef998dad6f4033d934b48d408030c7e17\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "bc5c7de7048dfe5ca33652533582328775bd4169",
      "tree": "5789839c6466d34ae8d963e68322520895e22b37",
      "parents": [
        "39ef510fecec1b7e66b1257a99c6ae8fa1c8e726"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Jul 16 13:37:16 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 09 15:05:52 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: fix PATH issue\n\nTo avoid bypassing PATH restrictions, this CL fixes the python\nbinary dependancy by retrieving the path from the host binaries.\n\nTest: build\n\nChange-Id: Ib3356ee1a69d1a5e5a9f9d22b46e3e70c28fa991\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "39ef510fecec1b7e66b1257a99c6ae8fa1c8e726",
      "tree": "68a7209c8c96dcc9a1ce5e268e508a541c51df9f",
      "parents": [
        "58ae37b5b34d6a2bddd46494230a58f5fcc3f5e3"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon May 27 17:33:14 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 09 15:05:40 2019 -0700"
      },
      "message": "Update PFW input source structure for Q\n\nTest: make\nChange-Id: I8a79773732577ace9d81f87fe3f4bb166f4d7290\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "e13c679e4afba66097018516eba9ea15d15bbc7a",
      "tree": "216ecb3fe033354b1d07ce88aa8ccecb15f4c3fa",
      "parents": [
        "3e0b02e336f3b5d59c5162e743d10d86be63c66b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue May 14 10:32:51 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Sep 25 14:59:42 2019 -0700"
      },
      "message": "audiopolicy: Load the engine library dynamically\n\nAndroid provides 2 audio policy engines:\nlibaudiopolicyenginedefault and\nlibaudiopolicyengineconfigurable. This change makes the engine\nto be loaded dynamically based on the configuration (currently\nthe engine name is hardcoded into AudioPolicyConfig). Dynamic\nloading allows building and installing of both libraries without\nany conflicts.\n\nTechnical changes:\n\n - AudioPolicyManagerInterface renamed to EngineInterface\n   for clarity;\n\n - For the purpose of dynamic loading, APM does not depend\n   anymore on the EngineInstance class. The class got removed\n   from the default AP engine, but left in the configurable engine\n   because it is also used by its plugins;\n\n - Added EngineLibrary class to encapsulate dynamic loading\n   of the AP engine. The class name EngineInstance is repurposed\n   for a smart pointer to EngineInterface;\n\n - services/audiopolicy/managerdefault/Android.mk converted\n   into Android.bp;\n\n - Added engine loading failure test;\n\nBug: 132639720\nTest: sanity tests for audio; audiopolicy_tests\nChange-Id: I0581569a172f810e030aec879225e817bfa7851a\nMerged-In: I0581569a172f810e030aec879225e817bfa7851a\n"
    },
    {
      "commit": "dcfecd0db52d7880566662f8dd7cfd623b500471",
      "tree": "218456a57ec4bc3187faaff27b02219e022eb573",
      "parents": [
        "962ba215fbffcf27b3c69827a9221e0a82108ff0"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Apr 17 16:58:56 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 24 09:04:14 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: align with PFW unix socket convention\n\nThis CL aligns the engineconfigurable PFW top file to the convention\nadopted within parameter-framework.\n\nBug: 130284799\nTest: make\n\nChange-Id: I146430a1a6618d73273dbfd85b060d9fd04a6f9a\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "962ba215fbffcf27b3c69827a9221e0a82108ff0",
      "tree": "e0ef04ba1857443ef150e35e146522c84fcbb41f",
      "parents": [
        "48601f013a60c916187591e6e05dfaf76a87b698"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Apr 03 16:21:39 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 24 09:03:17 2019 -0700"
      },
      "message": "audiopolicy: fix build issue by going on switching to bp\n\nBug: 130284799\nTest: make\n\nChange-Id: I60d41eaa41564fecdeef6d4cb223a8367883db50\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "ae5b0043994b5a5410bde2361164c9457ff8e5f6",
      "tree": "996f5fa3e7824d4ab83dbc7817893e48afec87f1",
      "parents": [
        "a1e9bbb1dfcc8a2967ed75c5543c85751da00ee4"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Apr 03 13:32:39 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 18 18:35:57 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: update structure for Q\n\nBug: 130284799\nTest: make\n\nChange-Id: I8cb2a9e60c9ad55829fa5d7caa7bcd0cf444dc05\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "a1e9bbb1dfcc8a2967ed75c5543c85751da00ee4",
      "tree": "1e9e4009a0d38eff8b20110dfe8495f8aa773f85",
      "parents": [
        "df7f0a201b4b91ee86bd0b8d3a2a05beba9f46f4"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Apr 03 13:32:14 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 18 18:35:32 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: fix phone configuration\n\nBug: 130284799\nTest: make\n\nChange-Id: I84230302af0b22dfc5b279df14c69c66836e6851\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "df7f0a201b4b91ee86bd0b8d3a2a05beba9f46f4",
      "tree": "d5843054d5d706162f2ba31c48d9023b5a0f64ef",
      "parents": [
        "8263e3519b6801f019e471efe4a6045b7046e4d3"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Apr 02 17:42:15 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 18 18:34:14 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: fix build issues on Q environment\n\nThis CL fixes the compilation issues met while generating configuration files.\n\n@todo: TEMPORARY_DISABLE_PATH_RESTRICTIONS\u003dtrue is still required to use\nsubprocess.Popen([\"domainGeneratorConnector\",...) on external/parameter-framework\n\n@todo: CL mixing in parameter-framework leading to validation failure\n\nBug: 130284799\nTest: make\n\nChange-Id: I495026781af63f3c3a538b00fe467d39f58baa70\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "9e1533cd0b8f3bf08eb9c81c21cd42f5782474f4",
      "tree": "3ba52e0b3d83ce58a20ebb69a61f2811a4c3a9f6",
      "parents": [
        "4b8d5ce58d98d4a163f63e17735450a7cac4821c"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Apr 11 16:07:36 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 17 14:05:50 2019 -0700"
      },
      "message": "audiopolicy: audioflinger: manage stream patch volume\n\nAudioPolicy used to hide activity of stream patch to prevent changing\nthe volume.\nThis CL replaces the filtering of the stream patch activity on the policy\nby a full volume range within audio flinger.\nIt updates also product strategies example for automotive to add associated\nstrategy and full range volume.\n\nBug: 130284799\nTest: make\n\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\nChange-Id: I6e77dc2cbed0289f0a1341f7597b1c25abee5f7d\n"
    },
    {
      "commit": "83d17c208422b6c5df57716e9782925b0a787ee2",
      "tree": "44d0bbff2b15b05854120487ed7fa115b45e8eb9",
      "parents": [
        "b02be352c78d9db1c876a114199a9d4259c194e2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 02 17:10:01 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 02 17:20:47 2019 -0700"
      },
      "message": "audio policy: fix stream to volume source mapping\n\nremove use of obsolete method streamToVolumeSource()\nand replace it by toVolumeSource() which actually queries\nthe engine for stream to volume source mapping.\n\nBug: 129439600\nTest: make\n\nChange-Id: Ie4e4e93aa5925315078fa96a957bb3ed71e7dc76\n"
    },
    {
      "commit": "af3777782de2e0a0d4e38d9c6f9667e2e055a4a7",
      "tree": "839c6d315056e19e26ca6cdd48fbdbd06db26a31",
      "parents": [
        "235684f2c8d9f37c8a8358739a2c2c50164816b0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 29 14:50:21 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 29 15:44:24 2019 -0700"
      },
      "message": "audio policy: fix configurable engine and dynamic policies take 2\n\nExclude remote submix devices with non \"0\" (legacy) addresses from devices\nreturned to Engine by AudioPolicyManagerObserver::getAvailableOutputDevices()\nand AudioPolicyManagerObserver::getAvailableInputDevices()\n\nBug: 129144725\nTest: make\nChange-Id: If1ce89acb2a35a6bede195f520b4047f92b928bd\n"
    },
    {
      "commit": "946d4b15bef5b7e16b1f36fe8f1436be13e256ec",
      "tree": "e83f76cc25ba002f99bfe0b342356849b717ab3e",
      "parents": [
        "abd0b54cf0d670c19938c99ecfd2774eb6a3e618"
      ],
      "author": {
        "name": "David Brageul",
        "email": "david.brageul@renault.com",
        "time": "Wed Feb 13 14:07:56 2019 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 12 17:10:58 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: add configuration for caremu\n\nBug: 124767636\nTest: build\n\nChange-Id: Ib540a78559b51ac18ccf62043e743fe068b41ac0\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "abd0b54cf0d670c19938c99ecfd2774eb6a3e618",
      "tree": "bbbe3f5fe963c74e527b99fe7c079d8c49cd0862",
      "parents": [
        "7d602f00514e66528d4aa5d71b150ce7365d2859"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Feb 13 14:00:11 2019 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 12 17:10:51 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: fix configurations\n\nBug: 124767636\nTest: build\n\nChange-Id: I377a1343e8ffbaa0d0ea6eea3229e383a50a8cf6\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "7d602f00514e66528d4aa5d71b150ce7365d2859",
      "tree": "2f556a19f099d0ef5358bb7c3440889c5b4150ac",
      "parents": [
        "1812b4e7dd2409dc82e34c6e9a25c8c766680197"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Feb 13 10:37:49 2019 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 12 17:10:47 2019 -0700"
      },
      "message": "audiopolicy: engineconfigurable: prevents typo on strategy structure file\n\nThis CL allows to generate at build time the ProductStrategy structure\nfile to ensure it is aligned with audio policy engine configuration file.\n\nBug: 124767636\nTest: build\n\nChange-Id: I1afba9602482a898147c685d4a8b03fbe99c08b1\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "b3527ddc7e9f6d57890656732747c6394b8f2b71",
      "tree": "078402ddcec633a759531c1f57410579cd05ac27",
      "parents": [
        "3e75e2b77c644ce4f33aa1174a3e118da72c6c10",
        "aaac0fd20d26e6a3a1c2d4bf0638f6a183ecec4f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 12 15:42:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 12 15:42:31 2019 +0000"
      },
      "message": "Merge \"audiopolicy: switch to VolumeGroup for Output\""
    },
    {
      "commit": "aaac0fd20d26e6a3a1c2d4bf0638f6a183ecec4f",
      "tree": "6f3c72fd0dd86999ce751be2fd2289f830ec4a99",
      "parents": [
        "e99551ffc4139414d7e4dae7638b488adf0d6a24"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Nov 22 17:56:39 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 11 19:39:44 2019 -0700"
      },
      "message": "audiopolicy: switch to VolumeGroup for Output\n\nVolume used to be managed per stream type.\nVolumeGroup is a configurable way to manage volume affinity.\nThis CL allows to switch to VolumeGroup as new volume affinity management.\n\nBug: 124767636\nTest: audio smoke tests\n\nChange-Id: I71fc214f6db3158f0f05920cc3d700b29db1a4bc\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "bfac583d0054ee1ca7755378c26631832dff63fc",
      "tree": "4aca5f381a2c740b5d2741f973a7645bd3358ca8",
      "parents": [
        "efde55813cfc4430cdd4c0627b2d9834903eec95"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 05 16:55:28 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Mar 11 11:09:41 2019 -0700"
      },
      "message": "audiopolicy: Remove raw pointer references to AudioMix\n\nAudioInputDescriptor and AudioOutputDescriptor used to reference\nAudioMix instances using a raw pointer. This isn\u0027t safe as AudioMix\nwas owned by AudioPolicyMix, which is not referenced by descriptors.\n\nChange AudioMix* pointers in Audio{Input|Output}Descriptor to\nwp\u003cAudioPolicyMix\u003e which reflects their relationship correctly.\n\nTo ensure that code does not operate on AudioMix instances\nindependently from AudioPolicyMix, and to avoid introducing\na lot of getter / setter methods into AudioPolicyMix, make\nthe latter to inherit AudioMix. This makes sense because\nAudioPolicyMix is essentially a ref-counted version of AudioMix.\n\nBug: 124899895\nTest: build and sanity check on crosshatch,\n      build crosshatch with USE_CONFIGURABLE_AUDIO_POLICY :\u003d 1\nChange-Id: Ic508caedefe721ed7e7ba6ee3e9175ba9e8dc23a\n"
    },
    {
      "commit": "13ce4f67031a8877edb71efc9e8fbf9060ebfa0c",
      "tree": "d48ca3991854bbd76c75017f9071c577dea60d02",
      "parents": [
        "e1e9cad4d0c7c9825b7f29ebc082dfcbdcace25c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Feb 28 15:11:41 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 05 13:40:53 2019 -0800"
      },
      "message": "audiopolicy: Convert some of .mk files to .bp files\n\n- Renamed libaudiopolicyengineconfig to libaudiopolicyengine_config\n  in order to match names libaudiopolicyengine_{common|interface}.\n\n- Made libaudiopolicyengine_config static to avoid .so overhead.\n\n- Added a cleanspec for it.\n\n- Added libaudiopolicyengine_common which includes source files\n  previously included directly into engineconfigurable and\n  enginedefault libraries.\n\nBug: 121208203\nTest: make \u0026 flash crosshatch\nChange-Id: If3b7b89fcbd5752ddfdeca6c164a88f55bc35811\n"
    },
    {
      "commit": "251c7f0a9dc35dd3024fb4b42d27454abbd89d50",
      "tree": "fb33a7ac50d1fa2e850f75aae4ec78dd375c14ca",
      "parents": [
        "a666d61efbe74594e9d441621d20bef8f9def26e"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Nov 07 10:41:08 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 25 14:47:46 2019 -0800"
      },
      "message": "audiopolicy: engine: Add Volume Groups to common Engine\n\nThis CL adds the concept of Volume Group to the engine.\nIt generalizes the volume management today controled by stream types\nand hard coded into AOSP.\nThe goal is to control the volume per attributes, being able to define\na group of attributes that follow the same volume curves.\n\nIt intends to replace the concept of aliases in AudioService.\n\nBug: 124767636\nTest: build\n\nChange-Id: Icd079374cc1680d074b01836eca0bceb0b0c5247\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "f5aa58d324bc1d53b7c0ec31edf81814e8553044",
      "tree": "a735ad797fef41a634ab61582f459a2ca2a06bf6",
      "parents": [
        "f9097e3095754424d90e77a10acab884f40d7161"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 22 18:20:11 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 22 18:20:11 2019 -0800"
      },
      "message": "Revert \"Revert \"audiopolicy: moves Stream Volume Curves to Engine\"\"\n\nThis reverts commit efdbe3bfeff7c150d99900fddca005d48048f188.\n\nTest: make\n"
    },
    {
      "commit": "efdbe3bfeff7c150d99900fddca005d48048f188",
      "tree": "3b12bf3482013a37bba3fe46a40ab54cee10abb8",
      "parents": [
        "1462a279faace46266ab1f2151393ecd31c62a5e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 22 17:23:37 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 22 17:24:49 2019 -0800"
      },
      "message": "Revert \"audiopolicy: moves Stream Volume Curves to Engine\"\n\nThis reverts commit 539311942bdbac65fbf7f2fc1390b6b9ef850a1b.\n\nBug: 125937703\nTest: make\n"
    },
    {
      "commit": "539311942bdbac65fbf7f2fc1390b6b9ef850a1b",
      "tree": "abc928dcc59b82f9baedc7f3485474d7dd8bd474",
      "parents": [
        "7a2f8152b1116c40b48cb78cfc8c05d7c5e56b08"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Nov 06 17:11:17 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 21 18:20:39 2019 -0800"
      },
      "message": "audiopolicy: moves Stream Volume Curves to Engine\n\nThis CL moves the volume curves to the engine.\nThe configuration files of volume are now owned by the engine,\nthat is intended to become vendor specific.\n\nTest: build, dumpsys media.audio_policy and checks the volume curves.\nBug: 124767636\n\nChange-Id: I9e3b256d2eb89c8eac6b282db0e59ec3af47d76d\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "1c87855ff4c3c55e191a2e6da66bb82011c91c1b",
      "tree": "e4cbf214056b965017c1f727ad0881b85ef1e54d",
      "parents": [
        "e690a6da57c95da65b4a179e35fa4dc72510024f"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Nov 22 16:53:21 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 19 15:58:32 2019 -0800"
      },
      "message": "audiopolicy: rework stream activity for volume management on output\n\n-Manage duplicated output ref count in client itself\n-Use VolumeSource to track volume activity in output\n(today mapped on legacy stream type)\n-Use accessor APIs to control activity/mute from apm.\n\nTest: audio smoke tests\nBug: 124767636\n\nChange-Id: I452e3973f6869d41231d984896a5886ebb86afb1\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "6054a7765cfd65c34d49a5a435bee1d0cdfb2d32",
      "tree": "37390182206a6401daead33e48e1d60d6336d521",
      "parents": [
        "f579db5aa9e1cbbe5a8b7689e319913e154cda3b"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Nov 06 13:10:58 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Feb 02 10:43:22 2019 -0800"
      },
      "message": "audiopolicy: engine: remove deprecated APIs\n\nTest: make\n\nChange-Id: Idfcb060095da92adb286706d4eaf9b9a78a8c61a\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "c005e569c7bae3f8c49660c9388c3076046069f5",
      "tree": "8612dc3a3d69c018b303bf8e56aa142db5465e8e",
      "parents": [
        "d0ba9ed06c61ab3e66627e027fbc34ba998140ee"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Nov 06 15:04:49 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Feb 02 10:31:32 2019 -0800"
      },
      "message": "audiopolicy: apm: switch to new Engine APIs\n\nTest: make\nChange-Id: Iedc2268852ee0bce32b67cfd324395c48cb33424\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "d0ba9ed06c61ab3e66627e027fbc34ba998140ee",
      "tree": "49948f80335bea4a358c7f455dfd6a5e59a94e30",
      "parents": [
        "7188f1ad365cd9d475723b639d521b491eaca389"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Nov 05 11:50:42 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 18:05:54 2019 -0800"
      },
      "message": "audio policy service: Add introspection API to retrieve AudioProductStrategies\n\nThis CL adds required introspection APIs to deal with product strategies:\n\n-getter of the collection of product strategies\n-helper function to return the strategy associated to a given attributes.\nThis API is mandatory to avoid duplicating the logic that compiles the strategy\nfor a given Audio Attributes structure.\n\nTest: make\n\nChange-Id: I0e107570a44227bb52a4f359954c93215d4f8bae\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "7188f1ad365cd9d475723b639d521b491eaca389",
      "tree": "029a0714c5c9e517d2eecc6ad4149f519c52b813",
      "parents": [
        "f1e9508a70f5eff6d9e9d2cfdf5b19ac6a6974b7"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Nov 02 14:35:42 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 18:05:49 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: Merge Policy Engine and Wrapper configuration files\n\nTest: make\nChange-Id: I0a905752218438378d9ca87457cd55f6cd0f2586\n"
    },
    {
      "commit": "f1e9508a70f5eff6d9e9d2cfdf5b19ac6a6974b7",
      "tree": "10c058fa91f37171cd140e17a1eaa3680d605ca6",
      "parents": [
        "dc7553ff1bf7ec88e17a8577b94bb9dd9a1cbb43"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Nov 02 13:53:31 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 18:05:38 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: add configuration of ProductStrategies\n\n-Update Policy PFW plugin to support product strategies\n-Provides example structure/Settings to configure Product Strategies\n\nTest: make\nChange-Id: I2493e261f302b78f3b96e17d87fb7028d9cde23e\n"
    },
    {
      "commit": "dc7553ff1bf7ec88e17a8577b94bb9dd9a1cbb43",
      "tree": "e51119764c576e4e051cef763280f8d35c7a7b27",
      "parents": [
        "612be7ff334b6c2c1051bd6dbb4088922af0336e"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Nov 02 10:39:57 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 18:05:21 2019 -0800"
      },
      "message": "audiopolicy: engine: Add ProductStrategy common code\n\n-Adds new Engine APIs for Product Strategy management\n-Adds a common engine code to handle product strategies\n-Adds a parsing configuration library to feed the strategies\n-Prepare both engine for the switch\n\nTest: make\nChange-Id: I00f57ece798893bc6f9aa9ed54a3e5237e8d5cf1\n"
    },
    {
      "commit": "c41dc110a1fe7418a4118f3541d15d4ac703ad72",
      "tree": "816b46271fba980ae94d93d6e9fb40bdd0e3a0ab",
      "parents": [
        "00174ae636c4160df106f44e3edfc32270cf513c"
      ],
      "author": {
        "name": "Mingwei Shi",
        "email": "mingwei.shi@intel.com",
        "time": "Wed Jul 26 10:02:40 2017 +0800"
      },
      "committer": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Mon Jan 28 18:46:48 2019 +0000"
      },
      "message": "PFW: support to load the config policy from vendor partition\n\nFor treble compliance, loading the config policy from vendor partition\nshould be supported.\n\nBug: 80626872\nTest: audio works normally with USE_CONFIGURABLE_AUDIO_POLICY set\nChange-Id: I7fec31346b80874c323556e28debb4a0888b27e6\nSigned-off-by: Mingwei Shi \u003cmingwei.shi@intel.com\u003e\nSigned-off-by: Qin, Xiaokang \u003cxiaokang.qin@intel.com\u003e\n(cherry picked from commit 955e35cb670ff210535be268aa3589d68d92b148)\n"
    },
    {
      "commit": "2c93e51abf2bf6b30ed69f02892287f40e64f5df",
      "tree": "292afaf39b462964b4e1d602a0153de5c1bdcbc3",
      "parents": [
        "a807ef99610c73ace4627ca65b4c3eb4ed84b604"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Jan 04 16:07:50 2019 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 22 19:18:31 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: fix legacy remote submix\n\nTest: make\n\nChange-Id: I57d364f7b1db5833f51ed75c2dba1f198414a54f\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "1cbfc5d16ad592d9aea60d1a4ffcb9dd369f66cd",
      "tree": "fdb774c86e61e23e9315019174ba5913fae0a873",
      "parents": [
        "bf06f7afdbd7019614c9e31ce43301457a3a7d55",
        "b141c526eac14ad0f92c9ec6aae6a3b3ebc35708"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 17 22:19:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 22:19:08 2019 +0000"
      },
      "message": "Merge changes Ic9ecd592,I5e809296,I822097f1\n\n* changes:\n  audiopolicy: apm: Fix segfault when using bus device without Policy Mix\n  audiopolicy: fix rsubmix / device with dynamic address regressions\n  audiopolicy: apm: Prepare the future: use DeviceDescriptor/DeviceVector\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": "716e1435b2b0af38c801f2bf3872b9edc2ba7c33",
      "tree": "f1ef7a9110c4ff61e73f2da9a9cec97b15ea9254",
      "parents": [
        "11d301045991dd66bf3f64ba510e069b7c09fedb"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Jan 14 16:58:59 2019 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 15 11:09:13 2019 -0800"
      },
      "message": "audiopolicy: fix rsubmix / device with dynamic address regressions\n\nOrphan devices (aka devices not declared in configuration file) used to be\nmanaged by apm::mAvailable\u003cOutput|Input\u003eDevices and affinity with profile\nwas done by type only.\nAs the device affinity with profile is now enforced by checking with descriptor\nrather than with type, profile\u0027s supported devices list shall be dynamically\nupdated.\n\nTest: manual audio smoke tests\nChange-Id: I5e8092968bbdb03ac7dc1aa1a3f15a0bc1b09251\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "fc078cd2f085fdc24a2ab7d34f90a0d5e08ae756",
      "tree": "a02f2595142a7a917b270acac54ff743e56faf49",
      "parents": [
        "0c280aa1bdef93e318fb987e0cd239c1bcf0d438"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Feb 22 09:20:24 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 10 10:46:09 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: Get rid of criteria text file\n\nTest: make\n\nChange-Id: I8c3a4dbd99f6c1ee8bac60e28b69429f1356ba30\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "3305c11ac31fc595a3bb313e765aa4b2f6dcfe71",
      "tree": "83d41c0c8f1410768f2e99063c59fd22193d3dab",
      "parents": [
        "d544f1c61fce0050aacfe5ef8a01213cf8040fba"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Feb 22 10:56:49 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 10 10:46:08 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: Forward device connection state to Policy PFW wrapper\n\nTest: make\nChange-Id: I4a70abbae6c6bd0e683447d32d964728a9acc3fd\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "d544f1c61fce0050aacfe5ef8a01213cf8040fba",
      "tree": "ea7dd2859fd4097757883dbbad9f80f755019636",
      "parents": [
        "177d3f83ae46fb5fe6b9d0841d395314b802259e"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Jun 25 15:25:48 2018 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 10 10:46:08 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: switch to unix socket for PFW debug\n\nSEPolicy rule prevents the audioserver to use tcp / udp sockets.\nThe Parameter-framework has been updated to use unix socket.\nThis patch makes use of the unix socket and adds the corresponding\nsepolicy rules.\n\nTest: make\nChange-Id: I61fcf6fec06a78cf3189c93a86469070ef15bba4\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "177d3f83ae46fb5fe6b9d0841d395314b802259e",
      "tree": "7fff549d1d1d35f01cfba113aed4d91156436e93",
      "parents": [
        "a56b5c2686910731a070e2fd36ee2f64a0ff0266"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Feb 22 09:52:39 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 10 10:46:08 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: Simplify policy PFW plugin: remove Id from structure\n\nTest: make\nChange-Id: I9ae8dd640c692ec0895094f60424fe77752a01bd\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "a56b5c2686910731a070e2fd36ee2f64a0ff0266",
      "tree": "0d6ccc40075d84106cc932bf79f6e1d206050fb7",
      "parents": [
        "f19cf79e38507cc5e32d1e23825921a5019cd833"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Feb 21 18:04:39 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 10 10:46:08 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: Migrate to XML criteria and criterion type defintion\n\nTest: make\nChange-Id: Ia7eb6b86dffb31bcb4191f5e265e85135934dc36\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "f19cf79e38507cc5e32d1e23825921a5019cd833",
      "tree": "0782df3fbe0968e3cdd377483a7576e1c6723e56",
      "parents": [
        "35288162c7fcece56f43c1b1862636b02e6c51b0"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed May 30 17:22:17 2018 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 10 10:46:08 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: apply coding style\n\nTest: make\n\nChange-Id: Ibfa26a5893e4481619f407f9b1cb679f96e8a7e9\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "4326a4cc0353a34d6a229214352f529c0a69bf92",
      "tree": "3c382d8bc4c232e1e8366427fc7dd32ceaa56f38",
      "parents": [
        "5a6631a12b381864a0a612a3dea21a2c887dc5a6",
        "0303a7d7922f95e59f310805557b7d9e0a78fbc8"
      ],
      "author": {
        "name": "haobo10173529",
        "email": "hao.bo15@zte.com.cn",
        "time": "Mon Nov 26 09:22:41 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 26 09:22:41 2018 -0800"
      },
      "message": "Merge \"audiopolicy: Fixed bug for rule file of strategy sonification respectful\" am: 829a6bd189 am: 6f960fad88\nam: 0303a7d792\n\nChange-Id: I46b5a1b2e8d3d8ff1f756650e0453b62e5c4a016\n"
    },
    {
      "commit": "acb5f586becd1cd13872ebe711e339be9b14ff3a",
      "tree": "72a2d922a63545657bac722473cf9736ae47b958",
      "parents": [
        "6bff4d55bf5a904e00cc9f2d189925d64ebdd6fd"
      ],
      "author": {
        "name": "haobo10173529",
        "email": "hao.bo15@zte.com.cn",
        "time": "Mon Nov 19 11:32:15 2018 +0800"
      },
      "committer": {
        "name": "Jia Jia",
        "email": "jia.jia@zte.com.cn",
        "time": "Mon Nov 19 15:25:04 2018 +0000"
      },
      "message": "audiopolicy: Fixed bug for rule file of strategy sonification respectful\n\nIf \u0027USE_CONFIGURABLE_AUDIO_POLICY\u0027 enabled, \u0027engineconfigurable\u0027\nwill be used for devices selection. A bug was found in rule file\nfor strategy_sonification_respectful if rule file used to generate\nPolicyConfigurableDomains.xml, and in that case the function of\nAudioPolicyManager::getDevicesForStream will always return wrong\ndevices after device2, e.g., headset, connected and removed.\n\nAfter removed, device2 should be reset to \u0027none\u0027, otherwise the\ndevices returned for strategy_sonification_respecful will always\nnot changed.\n\nChange-Id: I656781ed46b73c5bef1f18612700a5547ea0043f\n"
    },
    {
      "commit": "1ed007c1e1d1a400cbfa55c4ea649dd48eab09ef",
      "tree": "6c202c71bb9763fbe0e887d1e71f0c75cffe66f0",
      "parents": [
        "6205a06d20d6b92d52044e8076beaac4c7873a21"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 15:41:10 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 15:41:10 2018 -0700"
      },
      "message": "Remove obsolete include path from makefiles\n\nframeworks/av/services/audiopolicy/utilities does not exist,\nremove it from audio service components\u0027 makefiles.\n\nTest: build\nChange-Id: I6c29052b449099d4b0942b7fc0a7ae68d0dc1ba7\n"
    },
    {
      "commit": "96117aeb26568ff9aecc97c189a297d5f0fca620",
      "tree": "b475374bf0e62cd7b0ac6e67a1789d69f492c134",
      "parents": [
        "ec57d7b565e1352e2c76040fb5df7614a164b157"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Mon Feb 12 20:52:53 2018 -0800"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Fri Mar 23 06:14:59 2018 +0000"
      },
      "message": "Bluetooth: Enable in-band ringing in vibration mode (3/4)\n\n* Add AUDIO_POLICY_FORCE_FOR_VIBRATE_RINGING mode to force Bluetooth SCO\n  in vibration mode\n* Modify default audio policy engine to route audio through SCO only\n  in AUDIO_POLICY_FORCE_FOR_VIBRATE_RINGING mode\n\nBug: 72647074\nTest: Call phone in vibration mode and hear ringtone on HFP enabled\n      headset, verify that ringtone is only played through headset.\n      Then disconnect headset and call again to verify that ringtone\n      does not play through phone speaker in vibration mode.\n\nChange-Id: I2185955bd51166b76156ffd4efdd1f2f01757518\n(cherry picked from commit 644693eee633980d356afcfedc7518ea7fed2c47)\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": "1b2a794a27caab3a1320d22b872b04ef73e96555",
      "tree": "79f53eef61b788a5f49aaf26b5c897d7a6dac49f",
      "parents": [
        "2773dd7219e6cdc56471501c90808a1bafc31d39"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 08 10:18:09 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 08 12:06:18 2017 -0800"
      },
      "message": "audiopolicy: Remove ; after namespace bracket\n\nSemicolons are not needed after the closing bracket of\na namespace, remove it.\n\nTest: compiles\nChange-Id: Ie82930365f738fd9c95a9163839a68b772e49d95\n"
    },
    {
      "commit": "2ee7aab4a39139a86a24ca14f718eb20a1b355db",
      "tree": "1a7501567d6af64aa958f26453ee9360833bfd4a",
      "parents": [
        "bcbc56bfd43e071cf8b199e9e6dfc835d1f29ab6"
      ],
      "author": {
        "name": "YOUNG HO CHA",
        "email": "ganadist@gmail.com",
        "time": "Thu May 25 23:16:51 2017 +0900"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 25 11:26:52 2017 -0700"
      },
      "message": "Android.mk: remove $TOP in LOCAL_C_INCLUDES\n\nTest: make systemimage\n\nChange-Id: I5f83786afe3f2c65819b127b041cb74fc4c989ac\nSigned-off-by: YOUNG HO CHA \u003cganadist@gmail.com\u003e\n"
    },
    {
      "commit": "ddee203a1bcc1b5602536586dd72b0d3f1bdb903",
      "tree": "26807d3032b8e98cd7e2a74131664ddbf40c5610",
      "parents": [
        "ef0b6b64144b6e062bbb445a6df73c365b66646d"
      ],
      "author": {
        "name": "Di Folco, Neil",
        "email": "neil.di.folco@intel.com",
        "time": "Fri Jan 27 11:15:39 2017 +0100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Apr 07 18:15:38 2017 +0000"
      },
      "message": "Configurable Audio Policy: Various fixes\n\n-- Update pre-compiled xml files due to a misalignment with\n   EDD files from previous bug fixes.\n-- Add support for AUDIO_USAGE_ASSISTANT in engineconfigurable.\n-- Fix UsbDevice select for strategy accessibility.\n   Volume cannot be changed when play music via UsbHeadset.\n   Strategy accessibility selects Speaker instead of UsbHeadset\n   This corrects the device selected by accessibility strategy.\n-- Fix Sonification respectful with A2DP devices issue.  No\n   notification sound is heard on BT A2DP devices.  This\n   corrects the applicable list of audio output devices in\n   case of Sonification Respectful strategy.\n\nBug: 37157254\nTest: built angler with CAP enabled\nChange-Id: Ie6b401d28d3211846bb2b5345509d80f31440708\nSigned-off-by: David Brageul \u003cdavid.brageul@intel.com\u003e\nSigned-off-by: Mohamed LAHMADI \u003cmohamedx.lahmadi@intel.com\u003e\n"
    },
    {
      "commit": "5b8655e002bd96b91907b68ebbf27b2b13503cdb",
      "tree": "7da805528773d37e612249b3f95b3dd278cc9423",
      "parents": [
        "5b4051afc26367d7accd06580c5135c8295759f9",
        "583b4130811d8c3b0c9b22aa1a947059a9ba5458"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 20 21:23:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 20 21:23:04 2016 +0000"
      },
      "message": "Merge \"default no ouput verbose message of APM::AudioPolicyEngine/PFWWrapper\" am: 36a75eeb15 am: c3b85c54db am: 48dd690be5\nam: 583b413081\n\nChange-Id: If3c7f2d1a820efe570ebe0a8d618902fe5a076c4\n"
    },
    {
      "commit": "e4c3c4310f4e4a76195dc08323c4a26dd28ffd08",
      "tree": "17ad3264c033a26754c3cf4aed1e5d25ca4ab49c",
      "parents": [
        "0a2ea58394190408a3d532bfcc242ba64ca71538"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Dec 16 12:13:40 2016 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Dec 16 15:10:26 2016 +0900"
      },
      "message": "Use libxml2 as shared lib.\n\nThe dependencies to static libraries in frameworks should be removed\nas many as possible to reduce a size of the system partition.\nAnd that will improve coverage of the VNDK libraries because this\neffort might find new necessary shared libs which were linked\nstatically before.\n\nSize diffs of affected binaries on sailfish-userdebug build are as\nfollows.\n\nlibaudiopolicymanagerdefault.so: 583440 -\u003e 267288 (-316152)\nlibaudiopolicymanager.so       : 16008 -\u003e 16004 (-4)\n\ntotal                          : (-316156)\n\nTest: building succeeded, and the image was tested on sailfish.\nBug: 33056637\nChange-Id: I51d98c5c2b5d94561190a1651063737fb1cb06ff\n"
    },
    {
      "commit": "30cf41f2d7c35eef05654ea7493792a7bf1b6af7",
      "tree": "c45ec4b62b3a9df33e2d6944a04b92d9f51ba8df",
      "parents": [
        "1081e9ac62c7fb4998037272d47954fd62100016"
      ],
      "author": {
        "name": "Liu Changcheng",
        "email": "changcheng.liu@intel.com",
        "time": "Wed Dec 07 18:58:19 2016 +0800"
      },
      "committer": {
        "name": "Liu Changcheng",
        "email": "changcheng.liu@intel.com",
        "time": "Fri Dec 09 08:55:50 2016 +0800"
      },
      "message": "default no ouput verbose message of APM::AudioPolicyEngine/PFWWrapper\n\nThe verbose output consume much time. Change ALOGD to ALOGV in info\nfunction. Developer could define LOG_NDEBUG to be 0 if need verbose\nmessage to debug system\n\nChange-Id: Iecb621d0eb8ec6a058608bf1b695b5ebd889c802\nSigned-off-by: Liu Changcheng \u003cchangcheng.liu@intel.com\u003e\nSigned-off-by: Jerry Liu \u003cprimerlink@gmail.com\u003e\n"
    },
    {
      "commit": "08dab5ae92ddd1f3b337b6e35f918fea8c284a56",
      "tree": "4ebbef53fa801437efecb2de9135543c5f1326c6",
      "parents": [
        "8526d86ab12284135ed4ca27aeb816371c10c0e6"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Dec 07 15:08:17 2016 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu Dec 08 18:13:28 2016 +0900"
      },
      "message": "Use libmedia_helper as shared lib.\n\nThe dependencies to static libraries in frameworks should be removed\nas many as possible to reduce a size of the system partition.\nAnd that will improve coverage of the VNDK libraries because this\neffort might find new necessary shared libs which were linked\nstatically before.\n\nSize diffs of affected binaries on angler-userdebug build are as\nfollows.\n\nlibmedia                    : 598056 -\u003e 547928 (-50128)\nlibstagefright              : 1496420 -\u003e 1492124 (-4296)\nlibaudiopolicyservice       : 75372 -\u003e 66940 (-8432)\nlibaudiopolicymanagerdefault: 613168 -\u003e 583516 (-29652)\nlibaudioflinger             : 397840 -\u003e 364380 (-33460)\nlibaudiohal                 : 114752 -\u003e 68684 (-46068)\nlibaudiopolicyenginedefault : 122096 -\u003e 71968 (-50128)\nlibmedia_helper             : 0 -\u003e 66288 (+66288)\n\ntotal                       : (-155876)\n\nTest: building succeeded, and the image was tested on angler.\nBug: 33056637\nChange-Id: I00a71e518337a1efcf7f55256145776311596991\n"
    },
    {
      "commit": "1adf7f847bf8ab20c89a5cc39545250112135e5c",
      "tree": "888d14db42e802eef198e825119e82852a1bd767",
      "parents": [
        "44a580a5262ba19c275aac3537b9306679819f94",
        "6371c4361b0f5f96dad40f1367fa975e4cfa9601"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Nov 18 23:42:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 18 23:42:45 2016 +0000"
      },
      "message": "Merge \"Remove LOCAL_COPY_HEADERS from libparameter\" am: 76321a335c am: d5eb866c53 am: 9708e85a18\nam: 6371c4361b\n\nChange-Id: Id6a027637ad27f7471b1aa07d6a788158549a8e3\n"
    },
    {
      "commit": "4ffbc764411421a9a9cb73e21382ec711d21fc47",
      "tree": "a509c9777051648f0c4caba5d0b5a475b971cc24",
      "parents": [
        "11f51b046344c8e14ef764d755cae697f6bce4e8"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Nov 18 13:28:36 2016 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Nov 18 13:28:36 2016 -0800"
      },
      "message": "Remove LOCAL_COPY_HEADERS from libparameter\n\nRequires the libaudiopolicypfwwrapper to depend on libparameter to get\nthe exported headers. Also fix the libaudiopolicyengineconfigurable\nbuild to resolve missing liblog symbols.\n\nTest: USE_CONFIGURABLE_AUDIO_POLICY\u003d1 mmma -j frameworks/av/services/audiopolicy\n"
    },
    {
      "commit": "913d06c099bd689375483a839e11057ccf284d1c",
      "tree": "25d7f40231f47897013b0984348f40bf05b72ea7",
      "parents": [
        "267e07cd8432679bcdd72b0bdf38846446c1c4ed"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 01 12:49:22 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Nov 07 09:29:37 2016 -0800"
      },
      "message": "Move TypeConverter into a shared library\n\nThis will be needed for the default implementation of the audio HAL\nin TREBLE for parsing supported formats etc. provided by HAL in\na form of string literals.\n\nAs a bonus, remove some hand-written type conversions in AudioFlinger\nused in dumps.\n\nExample changes in the dump output:\n\n   HAL format: 0x1 (pcm16) \u003d\u003d\u003e HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)\n   Processing format: 0x5 (pcmfloat) \u003d\u003d\u003e Processing format: 0x5 (AUDIO_FORMAT_PCM_FLOAT)\n   Output device: 0x2 (SPEAKER) \u003d\u003d\u003e Output device: 0x2 (AUDIO_DEVICE_OUT_SPEAKER)\n   Input device: 0 (NONE) \u003d\u003d\u003e Input device: 0 (AUDIO_DEVICE_NONE)\n   AudioStreamOut: 0x... flags 0x6 (PRIMARY|FAST) \u003d\u003d\u003e\n       AudioStreamOut: 0x... flags 0x6 (AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST)\n\nTest: make \u0026 run\nChange-Id: I9cde640e6827b7aa6d62e9caade9e738227e299f\n"
    },
    {
      "commit": "e7557336920ca7e7d53e8ccc03d23359b41957af",
      "tree": "d9c490d2ba3d28176436b5d0374248322f0a349d",
      "parents": [
        "aadc29b910a22c1d2b422d5a96faef07dfc97292"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 17 15:12:12 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 17 15:23:03 2016 -0700"
      },
      "message": "Remove executable bit from ordinary files\n\nTest: builds OK\nChange-Id: I7912c9c9c85dc500d33698fc174ba2a0db387407\n"
    },
    {
      "commit": "c51e05b671ecb639fae5845541fe632bbf1bd8b7",
      "tree": "4c8f8face9f7b3f1e599ea63cae680783bec94c8",
      "parents": [
        "7e038c30720b6ac011bbc2eaadc7e30af9bc3132"
      ],
      "author": {
        "name": "Di Folco, Neil",
        "email": "neil.di.folco@intel.com",
        "time": "Thu Jun 02 20:57:52 2016 +0200"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jun 02 12:43:29 2016 -0700"
      },
      "message": "engine configurable: AUDIO_SOURCE_UNPROCESSED aligment with legacy\n\nThis patch realigns the configurable version of the engine\nwith the legacy one with regards the new AUDIO_SOURCE_UNPROCESSED.\n\nThis is required to pass the Audio Frequency Line CTS test.\n\nBug: 29096641\n\nChange-Id: I88abf91807bf66671ad3da6030d6aa6487cf4c54\nSigned-off-by: Di Folco, Neil \u003cneil.di.folco@intel.com\u003e\n"
    },
    {
      "commit": "c7ce9a2ee61ecabdedc87ae8635eb80a5fbce17c",
      "tree": "787381b658cdb0c975570a8de76b13ae185ff021",
      "parents": [
        "77404e1a890060a9cb4da017b660e6554fdc9a6f"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Mon May 09 11:07:52 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 26 12:48:10 2016 -0700"
      },
      "message": "engine configurable: add conf for product without devices\n\nthis patch provides an example of configuration of policy engine\nfor platforms:\n-without output devices\n-without input devices.\n\nChange-Id: I5e8a159de085e35fb245f2efb54f609d8e89ce16\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "f489ff899861a385c36b548bd51d0c6e17f8e67f",
      "tree": "78149511be6f1a35bf517d1dc91d783efbc4614d",
      "parents": [
        "54e01ea654f9851292cff5059ba0fe95cd1fb6a8"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Mon May 09 14:22:45 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 22:50:43 2016 +0000"
      },
      "message": "Audio Policy: engine configurable: remove sign bit from conf files\n\nIn order to avoid mistake or extra configuration, this patch removes\nfrom xml/pfw configuration files the sign bit for input device and adds\nit programmaticaly within the Parameter Framework policy plugin\n\nBug: 25075342\n\nChange-Id: I571e8ae882cb338330d6a10da309b1249ce0417e\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "d86071d55540c3a5c40afe2122bff6a5c4296bf1",
      "tree": "ea93d17eceb13e5603c62a1d6c6720c8c7bd403e",
      "parents": [
        "9f39f8d6cc1445c338d8cb635fdbc167c4200971"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Mon May 09 11:06:54 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 20:59:53 2016 +0000"
      },
      "message": "audio policy: engine configurable: aligment with legacy\n\nThis patch realigns the configurable version of the engine\nwith the legacy one.\n\nBug: 25075342\n\nChange-Id: Ic73cee9176d6593e8fbf6d92e571d76cdba42c6b\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "4ac9d8441da55d95a60e92725576e38d7cc6cb34",
      "tree": "6de768e004fd3715fcfabb13c8dd6a206adc4b83",
      "parents": [
        "e358ea3f7c1e9fbe2fca10e3b32f2e824ba4004b"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Tue Apr 12 16:56:35 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 10:18:00 2016 -0700"
      },
      "message": "audio policy: engine configurable: improve accessibility volume\n\nThis is the counter part patch of 28d09f06422841b4274d7fed6ad3441dc97382b2\nfor configurable engine verion based on the parameter framework.\n\nIt solves:\nregressions caused by the introduction of accessibility stream type and strategy in M.\n\n- change the way ACCESSIBILITY usage maps to a given strategy: always map\n to strategy ACCESSIBILITY but implement a specific device selection for\nstrategy ACCESSIBILITY in getDeviceForStrategy(). This makes sure that\n accessibility prompts always use ACCESSIBILITY stream type.\n\n- optimize getDeviceForStrategy() to avoid reloading the list of outputs\nand devices from the observer when called recursively.\n\n-  make sure that all volume APIs also take into account ACCESSIBILITY stream\nwhen called for MUSIC stream. Generalize the concept of matching strategies\nfor straqegies that should be considered equivalent for volume control.\n\nBug: 25067903\nBug: 25616373\n\nChange-Id: Ie674e6bfb5d1b25f71a9fd31cd2405c263b1732b\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "e358ea3f7c1e9fbe2fca10e3b32f2e824ba4004b",
      "tree": "37927978d4477262d81d3ec95c1dd7c6e8c3d311",
      "parents": [
        "f4541b1d2342e08ee429b71627f1161812fc8d13"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Tue Apr 12 15:24:27 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 10:17:09 2016 -0700"
      },
      "message": "audio policy: engine configurable: change default in call routing for line out device\n\nThis patch is the counter part of a0b18ce8f737c0d6ccd728e17c3f355a250ae1dc.\nIt updates engine configurable conf file accordingly:\n\nIt solves:\nCurrent strategy is to use LINE OUT for calls only when speaker phone mode\nis enabled.\nThis creates confusion because most users don\u0027t understand why the behavior\ndiffers between a headset and a line out.\nAlso the main use of a line out device for calls is when connected to a car kit\nvia an aux cable. In this case, you want to use the car kit by default without\nhaving to touch your phone and select speaker phone.\n\nBug: Bug: 27548502\n\nChange-Id: I07440fc882573a1ef797f35c86a2ce4ddf1389b1\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "f4541b1d2342e08ee429b71627f1161812fc8d13",
      "tree": "239aeef975df4a1236779cf780c361319ff1cd91",
      "parents": [
        "fc302fd9e2d2cbafef771de77c47799488e1c044"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Tue Apr 12 14:42:23 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 10:15:35 2016 -0700"
      },
      "message": "Audio Policy: Engine Configurable: Force Encoded surround setting\n\nThis patch is the counter part of 09bc4612bdd5874d744c5da1183d96fbd2ad0235.\nIt solves Bug: 26373761 for configurable policy engine, i.e. Parameter-framework\nbased policy.\n\nBug: 26373761\n\nChange-Id: I5f01732238375c1fa08a8f2116698d4362840ba6\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "560a198f1f95a085e24944b20df536e75e21cedb",
      "tree": "bdecbf10f8294847938d4b0baa5dcf1a8ca3f9a8",
      "parents": [
        "c40fcb01669240e9c1a6af74bcb0fcd85147fa87",
        "8fa2697e21c61998f78c346251d2c08f77d720ea"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 18 20:23:25 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 18 20:23:26 2016 +0000"
      },
      "message": "Merge \"Update audio services for 64 bit compilation\" into nyc-dev"
    },
    {
      "commit": "8fa2697e21c61998f78c346251d2c08f77d720ea",
      "tree": "17e06c62a4e47b816e63cf5fbae0907fbb2efb5f",
      "parents": [
        "7e258e85368ccc8e714235a22206527090685a9b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 03 13:19:27 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 17 18:06:46 2016 -0700"
      },
      "message": "Update audio services for 64 bit compilation\n\naudioserver still runs in 32 bits\n\nBug: 27479136\nChange-Id: I99ac607e4ce006a87abc2a3f838023e00ef78647\n"
    },
    {
      "commit": "28d09f06422841b4274d7fed6ad3441dc97382b2",
      "tree": "87d1d7baa2a1d6079efc1ec6f929e9d987423998",
      "parents": [
        "9322ba85a06ae149575ab102dc9bcffb4388cc7e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 08 10:43:05 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 08 14:41:50 2016 -0800"
      },
      "message": "audio policy: improve accessibility volume\n\nFix some regressions caused by the introduction of accessibility\nstream type and strategy in M.\n\n- change the way ACCESSIBILITY usage maps to a given strategy: always map\nto strategy ACCESSIBILITY but implement a specific device selection for\nstrategy ACCESSIBILITY in getDeviceForStrategy(). This makes sure that\naccessibility prompts always use ACCESSIBILITY stream type.\n\n- optimize getDeviceForStrategy() to avoid reloading the list of outputs\nand devices from the observer when called recursively.\n\n-  make sure that all volume APIs also take into account ACCESSIBILITY stream\nwhen called for MUSIC stream. Generalize the concept of matching strategies\nfor straqegies that should be considered equivalent for volume control.\nModifications in:\n- initStreamVolume()\n- setStreamVolumeIndex()\n- isStreamActive()\n- getDevicesForStream()\n\nBug: 25067903\nBug: 25616373\nChange-Id: Id8c7dd3231f79572b278407bc73186fc42dcc028\n"
    },
    {
      "commit": "c1391f91c4f85f5f2f08b072486455b990817710",
      "tree": "df0588423b9913a4a3b93e2288958fe8fdbe3d42",
      "parents": [
        "97d5e4eb77687288b463f300912f6eb5c2b5b60e"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Thu Dec 10 09:43:48 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 04 17:56:00 2016 -0800"
      },
      "message": "audio policy: engine configurable: upgrade to PFW 3.2.4\n\nThis patch updates the policy plugin to PFW 3.2.4.\n\nBug: 22887211\n\nChange-Id: Ic9f54c3108adeaec7031a1fd4f8e3b7cfb1c5abf\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "a2b6c4b54cd3ae3db7f2a7f1df6d6f889af1e743",
      "tree": "918d8deb7c96efbc94d23b5880a8468d5436595e",
      "parents": [
        "fc958a0888d47b5d34847afab3b33d877d9ca007"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Thu Feb 25 16:56:06 2016 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 25 23:10:53 2016 +0000"
      },
      "message": "audio policy: engine configurable: allow to use custom PFW and plugins\n\nAndroid build system prevents from having the same module\ntarget refered in more than one makefile. Some platform may need to use\na custom parameter manager version than the aosp version of the PFW.\nIt also concerns with associated plugins.\n\nThis patch inhibits the AOSP Policy PFW plugin if USE_CUSTOM_PARAMETER_MANAGER is\nset to true.\n\nBug; 22887211\n\nChange-Id: I71147b3e7c8a9296af3182f8a1401bc37191a276\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "814ce809867326e6ba46583444476e9f63ad01f7",
      "tree": "56db7eaca6e39117f365704e8db638e948d78f90",
      "parents": [
        "9792ec3735dc56ca2bd97d7e6524deb8c46f5186"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Mon Jan 18 11:23:47 2016 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 09 11:15:49 2016 -0800"
      },
      "message": "audio policy: engine configurable: support fail safe\n\nWhen the parameter manager could not be launched, the engine will abort if\nLOG_NDEBUG is defined, unless a segmentation fault will happen later.\nThis patch allows fail safe feature when LOG_NDEBUG is not defined.\n\nChange-Id: Ie78575bddad6d19beed61673979e1b8ef1c70b0e\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "9792ec3735dc56ca2bd97d7e6524deb8c46f5186",
      "tree": "8e8943b4d83e9a7aaa1f0aea4540f68da5d5f54c",
      "parents": [
        "687bb88d330048075e69a7fc514d92901eeb0eee"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Tue Jan 26 11:08:22 2016 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 09 11:14:01 2016 -0800"
      },
      "message": "audio policy: engine configurable: update example PFW files\n\nThis patch updates the PFW files given as example.\n-it adapts to N-definition\n-fixes some bugs\n\nChange-Id: I9537982b33bf772056a3bf94c775ce28d9069ef2\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "d1ab2bd4f1ea166a7e9e81cfd7f3e5dd47135d4d",
      "tree": "14c1b9bb94c6b5bf6820be9cce3484995486696e",
      "parents": [
        "987f953298169027df001409fbd82991d82900bc"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Wed Dec 02 18:20:06 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 21 14:40:54 2016 -0800"
      },
      "message": "audio policy: move volume table to XML file\n\nThis patch allows to store in XML file volume tables.\nThe compatibility is maintained for legacy conf file.\nConfigurable Engine is only compatible with new XML conf.\nThis patch removes from configurable engine Structure / Settings the volume\ntable but keep the configurabllity of switching volume profiles from\none another according to criteria like phone state...\n(ex: DTMF stream type is following Voice Profile in call)\n\nChange-Id: I78c91bc3378b6c47202abe7b5c1c1e011ff62eed\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "f4ad6e5637b6deccdac4b60615383f290b3806cf",
      "tree": "c5f1796e20a7e7d34f71cb2c6ef0b0ab3a9cde4d",
      "parents": [
        "74a930b2bb7c61c25232c4f06b67abdbeaca8116"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Thu Nov 19 16:59:57 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 15 09:53:00 2016 -0800"
      },
      "message": "Audio policy: implement configuration file in XML\n\nThis patch introduces configuration file of the policy in XML.\nLegacy configuration file is used by default and\ncompilation flag USE_XML_AUDIO_POLICY_CONF must be defined to\nuse XML file format.\n\nChange-Id: I352b788b5829d42ed82c851a4faef0e526be582e\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "a3e696da3872250bca66a62d93a3b6114e20c27d",
      "tree": "f017e02601c93ad805bd1ac65a15e0f1e5bdd481",
      "parents": [
        "fdb17f649c7480ddd83de9fd99ff48a4166a6acf"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Fri Dec 18 09:38:43 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 08 10:29:27 2016 -0800"
      },
      "message": "audio policy: engine configurable: fix support of multiple devices of same type\n\nThe configurable policy is using criteria for the available devices based on\nthe type. If multiple devices of the same type (as remote submix) are removed\nand added, the bit associated to this type within the criterion shall be set\nas far as at least one device of this type is connected.\nIt was not the case, this patch is fixing this issue.\n\nChange-Id: Id6a83b753907a9b0f07bf8552e50ee28e990a83e\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "fdb17f649c7480ddd83de9fd99ff48a4166a6acf",
      "tree": "059172290dc429a03ef537a5ed158b34c4513b57",
      "parents": [
        "754cabcfef43f894a73bb3f7581b6cd4f48fcc95"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Wed Dec 16 16:09:35 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 08 09:56:03 2016 -0800"
      },
      "message": "audio policy: configurable engine: remove unecessary function\n\nThe policy plugin does not connect with any HW and does not need to\nperform a backward synchronisation at startup. This patch removes\nuncessary function linked with this functionality.\n\nChange-Id: Ie0d729f0eb4ea10d9a8450902dabba1fbbf199ef\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "b5959c7391ddcede07f0a1c65ae3aaaef02cd45f",
      "tree": "026679d6ac687ac456cff3002bd3e7f086543dbc",
      "parents": [
        "4aeee811662bdb8f6f4b24884d62780deb7ca1c6"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Thu Dec 03 17:21:27 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 08 18:19:48 2015 -0800"
      },
      "message": "audio policy: engine configurable: do not compile example makefile\n\nThis patch avoids compiling the example makefile of the engine\nconfigurable settings and structure files. It is up to the oem\nto have its own makefile with its own structure and settings files.\n\nChange-Id: I735290bff08ca6183da7ea4266ced9206f2bb6a1\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "8fa2458708fa775c2562d836d8f87ac30d5970f4",
      "tree": "f6082b84634ea178e010940b06486c0c07f6f37c",
      "parents": [
        "0a62162accbce87db829869a15eab72eca2607b2",
        "8649a34c282954ccb64a507b1085313e3ceafc38"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Dec 05 00:35:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 05 00:35:25 2015 +0000"
      },
      "message": "Merge \"audio policy: configurable engine: fix dead lock issue\""
    },
    {
      "commit": "8649a34c282954ccb64a507b1085313e3ceafc38",
      "tree": "cbf999625de593a8a128a17df2c0b44c72cc4a6c",
      "parents": [
        "3f273d10817ddb2f792ae043de692efcdf1988ae"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Thu Dec 03 17:14:02 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 04 16:05:23 2015 -0800"
      },
      "message": "audio policy: configurable engine: fix dead lock issue\n\nThis patch fixes a dead lock issue within configurable engine\nof the audio policy. A clear was calling itself in loop instead\nof calling clear on its base class.\n\nChange-Id: I9f7c5f6425fbba36e029664ac130cbeafeca4ddf\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "f8ad572ea6259534dd2a9ef160e59976f5514951",
      "tree": "bcf4f94686e32ea9b03a881a870ce57c00c516f2",
      "parents": [
        "728a7aa0819cd583f09a941f26b71886533a244f",
        "a4d6e82d474fd8c18d27f879bd8643b918b7af91"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 03 23:30:49 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 03 23:30:49 2015 +0000"
      },
      "message": "Merge \"Volume should take VOLUME_MIN_DB value when audio is muted.\" am: 2e12b68fad am: e04b1e747e\nam: a4d6e82d47\n\n* commit \u0027a4d6e82d474fd8c18d27f879bd8643b918b7af91\u0027:\n  Volume should take VOLUME_MIN_DB value when audio is muted.\n"
    },
    {
      "commit": "8cf5cf7c49e6c7cff160149727b17e1ab6015409",
      "tree": "5a29d017b134bb1e70b31100effe5ff5094cfc50",
      "parents": [
        "b6845aff2f9f4802340d3c9b3b7e749a10a340ab"
      ],
      "author": {
        "name": "Safa Boumaiza",
        "email": "Safax.boumaiza@intel.com",
        "time": "Tue Nov 10 10:11:54 2015 +0100"
      },
      "committer": {
        "name": "Zhiquan Liu",
        "email": "zhiquan.liu@intel.com",
        "time": "Thu Dec 03 05:43:37 2015 +0000"
      },
      "message": "Volume should take VOLUME_MIN_DB value when audio is muted.\n\nAudio can be heard when muting volume as the minimum volume\nvalue takes 0.0f instead of VOLUME_MIN_DB (-758).\n\nThis patch fixes the minimum volume value which should be\nVOLUME_MIN_DB instead of 0.0f.\n\nChange-Id: I4cb8093b6d9f18e5330ba5f770b9133baa77542f\nSigned-off-by: Safa Boumaiza \u003cSafax.boumaiza@intel.com\u003e\nSigned-off-by: Zhiquan Liu \u003czhiquan.liu@intel.com\u003e\n"
    },
    {
      "commit": "d0609ad390ff8bb1cafebdf363bf1d15e63b949f",
      "tree": "4fb8bed9270800f907acac087806227114577689",
      "parents": [
        "3f273d10817ddb2f792ae043de692efcdf1988ae"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Tue Dec 01 17:56:08 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 02 10:33:18 2015 -0800"
      },
      "message": "audio policy: move device_category type outside volume class\n\nThis patch prepares the removal of hard coded volume tables by\nmoving outside volume class the device_category enumeration.\n\nChange-Id: Ic712377898276a39bb782ac0bc7f793cdd7fa8bd\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "0489aa0a7a9930a155022cac97242eb7ec610cdc",
      "tree": "6ad1c1cdbd99bc13187660c06f00951d2f2d6970",
      "parents": [
        "1bc88814f530bf67e425cfb8cea0f2b8dce3c03f"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Wed Jun 24 17:29:40 2015 +0200"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jul 15 17:15:52 2015 -0700"
      },
      "message": "Update Policy PFW plugin makefile for PFW release 2.6.0\n\nThis patch updates the Policy PFW plugin with latest change within\nPFW. It makes use of the dynamic xmlserializer library and does not\nneed anymore to link against xmlserializer library dependencies.\n\nChange-Id: Ic7b912929a69d3906a34999c1ae25ddb9ac800e5\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n\nBug 246391\n"
    },
    {
      "commit": "0f17ab7f9fac4327a8772e9199f411af7df912a4",
      "tree": "05d9dcb97a6f76ce0c0a43520d81705eb3241c27",
      "parents": [
        "20f06f996337c9bf79d0b112083f6427a122ebab"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Wed May 13 18:13:00 2015 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 18 10:55:05 2015 -0700"
      },
      "message": "Bug fix on Engine Configurable\n\nThis patch fixes a couple of issue within audio policy engine configurable\n -valgrind error detected within the parsing of the configuration file\n -configuration file typos\n -start of the PFW delayed to the init in order to wait the full construction\nof the engine object\n -wrong specialization of template functions.\n -broadcast volume min / max init to stream collection of manager \u0026 PFW\n\nChange-Id: I08823ab4040c92b719747c60cc3fa5c8b5f172ac\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "20f06f996337c9bf79d0b112083f6427a122ebab",
      "tree": "ad50ded183a11ceef01566a2ff78c29e89f5c4e2",
      "parents": [
        "3fc792fe36b0b9100f74185665221b37f650ff65"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Tue Mar 24 09:01:14 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 18 10:52:09 2015 -0700"
      },
      "message": "Add a configurable version of the policy engine based on PFW\n\nThis patch adds a configurable version of the policy engine\nbased on the parameter framework.\nThis configurable engine shall be activated with a flag\nUSE_CONFIGURABLE_AUDIO_POLICY within BoardConfig.mk\n\nThis patch provides the generic configuration as an example.\nThis configuration provides the same user experience as the default\npolicy engine.\n\n- Fix M Issue on configurable policy engine version.\n\n- Remove the \"empty static lib include trick\" hack\n\nThe code was using a hack to import headers only through an empty lib.\nThis trick was used not only by the PFW and its plugin but also internally\nwith policy.\n\nThis patch removes this hack and either links againts the real libraries if exist\nor point on the path of the header.\nHowever, since header directories are not recursively detected on Andoid, we need to manually\nadd all necessary libraries. (for example libicuuc needed by libxml2)\n\n- let the build system decide which compiler and which stl is to be used\n\n- Disable by default Audio Policy Settings XML file generation at compilation time\n\nIn order not to depend on python tool for the configurable policy example,\nthis patch adds the generated Settings XML file and disables the generation\nfrom .pfw files at compile time.\nIf the user wishes to regenerate it, he may use the pfw_rebuild_settings\noption.\n\n- Fix Clang issues within Configurable Audio Policy\n\nFix compilation issues revealed when switching to CLANG compiler\nwithin the configurable version of policy engine.\n\nChange-Id: I3edc26db94c0bf8a76430ab8081bae52e9193705\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "6fc6a64fa3b0a9e4577eb763590f531c0a50a27b",
      "tree": "2c51b5f8ffe7015ffdc3fdaf19bd36982546bf89",
      "parents": [
        "65c3781db3443531deacecfbda5c7e7e82868a34"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Apr 25 05:18:59 2015 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Apr 25 05:18:59 2015 +0000"
      },
      "message": "Revert \"Add a configurable version of the policy engine based on PFW\"\n\nThis reverts commit 65c3781db3443531deacecfbda5c7e7e82868a34.\n\nChange-Id: Ib61cd70f97c4c4f4b503fb845643627d6896f4f9\n"
    },
    {
      "commit": "65c3781db3443531deacecfbda5c7e7e82868a34",
      "tree": "5560072d1f61a9d76e437ef311ef282976fc253d",
      "parents": [
        "21db57282da8b3daba1549f3a8e41c4fbaf80059"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Tue Mar 24 09:01:14 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 24 14:57:55 2015 -0700"
      },
      "message": "Add a configurable version of the policy engine based on PFW\n\nThis patch adds a configurable version of the policy engine\nbased on the parameter framework.\nThis configurable engine shall be activated with a flag\nUSE_CONFIGURABLE_AUDIO_POLICY within BoardConfig.mk\n\nThis patch provides the generic configuration as an example.\nThis configuration provides the same user experience as the default\npolicy engine.\n\nChange-Id: Ic8217333ae370b89bfdd2ad11320c5f14ea4da34\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    }
  ]
}
