)]}'
{
  "log": [
    {
      "commit": "a13cde98a880341f0a56d91da6364b093fb5d24e",
      "tree": "3974215c7cc52f2136c04e3e38568e0483c03129",
      "parents": [
        "45993ad8833063a50af83f76ec1ddeba673b5277"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 28 15:26:02 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 29 13:43:18 2016 -0700"
      },
      "message": "Use audio_module_handle_t and audio_patch_handle_t consistently\n\nBug: 27814144\nChange-Id: I54b7a73ec318779fd3addb060998f4d94141152d\n"
    },
    {
      "commit": "fd7dc4c764e6ec1136439188f75839094ff01917",
      "tree": "fd3e16f536f35569cb71179108b680eac3fce92d",
      "parents": [
        "643cf674a8a2f038cd4001d0397d70edc2405437",
        "07ac114c3965e16fe523f88c913e701602604589"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Mar 28 21:28:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 28 21:28:31 2016 +0000"
      },
      "message": "Merge \"AudioPolicyManager: always force AC3 on for TVs\" into nyc-dev"
    },
    {
      "commit": "07ac114c3965e16fe523f88c913e701602604589",
      "tree": "dc734d6eae90844062ade57b4b6834dda198d02a",
      "parents": [
        "d384306b8a5c2f106a02574c356d78a08e7894ac"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Mar 25 13:39:29 2016 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Mar 26 18:30:55 2016 -0700"
      },
      "message": "AudioPolicyManager: always force AC3 on for TVs\n\nMost TVs support AC3 but they do not report it in their EDID.\nThis changes forces support for AC3 unless turned off by Settings.\nThis change allows broadcast TV to work by default.\n\nBug: 24541671\nChange-Id: I9e8cf194198db3811f91149014ef29e46972ad2c\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "fdb90f355b269737fe48a2da0593b37d5c2b83c1",
      "tree": "8bb77d55bad3dac443b203a2d24b02e6d2183907",
      "parents": [
        "478b2521f5defb356b0dd44313288852b2c5e0ee",
        "5ac8cd425e1a0c4287c0bb84f922fef4fa106411"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 25 03:21:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 25 03:21:29 2016 +0000"
      },
      "message": "Merge \"RENDER dynamic policies: fix address check\" into nyc-dev"
    },
    {
      "commit": "5ac8cd425e1a0c4287c0bb84f922fef4fa106411",
      "tree": "55138cd920d8b6b4af546fc1e9893cc851d509b2",
      "parents": [
        "a8d309df2f603767c0f0ad9248aef47a5b6ed5b8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 24 16:35:36 2016 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 24 16:55:59 2016 -0700"
      },
      "message": "RENDER dynamic policies: fix address check\n\nFix mix / output address comparison when registering dynamic\n  policy mixes with a MIX_ROUTE_FLAG_RENDER flag.\nFix mix registration code path where the matching output is\n  not found, but no error is reported.\nImprove logs.\n\nBug 25448664\n\nChange-Id: I3679aead00304b38f7cc42dd9083644450771a15\n"
    },
    {
      "commit": "0f928fab9963f15c524f4416b3d52d2df4a93eec",
      "tree": "e32ddb682d5835ddea58ac51c098378a3b81cb39",
      "parents": [
        "02c4f1c02b832868bbae2bf2c62039e54dc0b6d4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 21 12:06:20 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 21 14:19:31 2016 -0700"
      },
      "message": "audio policy: fix getDeviceForStrategy()\n\nModification of getDEviceForStrategy by commit 28d09f064 made\nwrong use of available output devices vector passed by reference\nand caused an update of the actual list of connected devices instead\nof the local list.\n\nBug: 27586202\n\nChange-Id: I805b9cf27e1fb28494e6e23b2b874e0e5c3487e6\n"
    },
    {
      "commit": "6b1255bdd3d8d941f4952a98eadf3b454f36a2a9",
      "tree": "25716fd79433d052cfe5638431607d2201a1484a",
      "parents": [
        "560a198f1f95a085e24944b20df536e75e21cedb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 11 13:22:36 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 17:43:40 2016 -0700"
      },
      "message": "Fix typos in use of %#\n\nChange-Id: I5e49f89dc0e49bc3f5f2d3922d390982a3773384\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": "a8d309df2f603767c0f0ad9248aef47a5b6ed5b8",
      "tree": "2b851cc9d742b7b448ab929c9e008d0167a66dab",
      "parents": [
        "9a57e34f476d5d2400e6e8ffac303c6190e641f0",
        "14cbfcae68582eca97f1a8168c584254515879ee"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 17 16:51:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 17 16:51:24 2016 +0000"
      },
      "message": "Merge \"audio policy: fix HW A/V sync rerouting\" into nyc-dev"
    },
    {
      "commit": "14cbfcae68582eca97f1a8168c584254515879ee",
      "tree": "5dd9a3b51f53ff3e8c3a066f14a79a305ce5ec82",
      "parents": [
        "b53ab34b95b8633070cbef5d03162d182aac3a9a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 17 09:42:16 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 17 09:43:53 2016 -0700"
      },
      "message": "audio policy: fix HW A/V sync rerouting\n\nDo not allow HW A/V sync tracks to be attached\nto a PCM mixer as those tracks carry time stamps in band.\n\nCherry pick of c576f6a0 from lmp-mr1-tv-dev.\n\nBug: 25293500.\n\nChange-Id: I1f080232e439a410ded25ca8e461113a96687a3b\n"
    },
    {
      "commit": "9a57e34f476d5d2400e6e8ffac303c6190e641f0",
      "tree": "00b1522342b6b5a05a9a1dea154f1eb87ed36cfb",
      "parents": [
        "dabb051cf03b5ccc994c769a1cd23f9e6c378dee",
        "d848eb48c121c119e8ba7583efc75415fe102570"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 17 14:22:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 17 14:22:53 2016 +0000"
      },
      "message": "Merge \"Use audio_session_t consistently\" into nyc-dev"
    },
    {
      "commit": "7638ca29e8400a19524adb982e9d22c02786de82",
      "tree": "5d1ef493f79529cd5d5a1cce932c6dec3e5d8e69",
      "parents": [
        "9515aca0c07a32128a65a68749bda3ea6851c109"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 04 17:42:44 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Mar 16 14:28:09 2016 -0700"
      },
      "message": "Dynamic policies: support for device selection\n\nDynamic policy mix: rename \"registration\" field to device address\n  as this reflects the true use of the field.\nAudioPolicyManager: dynamic policy registration differs depending\n  on policy routing flags.\nWhen register a mix with the RENDER flag, iterate over all outputs\u0027\n  patches to find a matching device and address.\n\nBug 25448664\n\nChange-Id: I71584081e7f1b2b5252fb6c4659fdeb464f7d282\n"
    },
    {
      "commit": "d848eb48c121c119e8ba7583efc75415fe102570",
      "tree": "06733e396ad546bf39be0a6699193d041883edad",
      "parents": [
        "38246e482ea3bd1e0f88f7133934ec4537b48bbd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 08 13:42:11 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 16 14:04:22 2016 -0700"
      },
      "message": "Use audio_session_t consistently\n\nBug: 27562099\nChange-Id: I328d8226191386b163f2ace41233607294c50dcd\n"
    },
    {
      "commit": "794fde269478b50be873d9d93574b8aa2b6afc42",
      "tree": "91bee67f3d26b855c8738d52b9594ce206dc669b",
      "parents": [
        "356d3f528514f0f06e6ae1bccf0bed7be9fd1fcb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 11 09:50:45 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 11 09:50:45 2016 -0800"
      },
      "message": "audio policy: fix volume control regression\n\ncommit 28d09f064 introduced regressions in volume control resulting\nin changing some device/stream volumes unexpectedly.\n\nThe problem was in the logic consisting in considering streams equivalent for\nvolume control based on their associated strategy: The rule is wrong because it\ncauses a volume change on a given stream to cause the same change on all streams\nsharing the same strategy. For instance stream SYSTEM and MUSIC share the same\nstrategy and changing SYSTEM stream volume would change MUSIC volume.\n\nThe new rule just considers the stream type when deciding if two stream share the\nsame volume control.\n\nAlso fixed possible calls to getStrategy() with stream PATCH causing asserts.\n\nBug: 27586382\n\nAuthor: Eric Laurent \u003celaurent@google.com\u003e\nDate:   Tue Mar 8 10:43:05 2016 -0800\n\n    audio policy: improve accessibility volume\n\nChange-Id: I3fe2a25767319800b0db5fd1ed7c1bd751b04732\n"
    },
    {
      "commit": "905d50834def592740d666b4c49549137bdf5899",
      "tree": "e9866f970ba2cefe41e7f59994d672817557161f",
      "parents": [
        "becc4d8606afcc8d6a739a27b9f196e5da4463e9",
        "f7f85438503e6964aba3ddabd6228e7fefb36735"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 10 19:14:45 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 10 19:14:46 2016 +0000"
      },
      "message": "Merge \"AudioPolicy: tighter match for device descriptor query\" into nyc-dev"
    },
    {
      "commit": "f7f85438503e6964aba3ddabd6228e7fefb36735",
      "tree": "7a835f904aeab82d88fc7efab0cd8ddba2329816",
      "parents": [
        "7e258e85368ccc8e714235a22206527090685a9b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 10 09:14:29 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 10 10:17:52 2016 -0800"
      },
      "message": "AudioPolicy: tighter match for device descriptor query\n\nWhen querying a module for a device descriptor, the matching was\n  too \"loose\": if a device type and address was not found, a\n  match was returned for just the device. While this works for device\n  types where only one is connected to the system (e.g. wired headphones),\n  this is an improper behavior for devices such as REMOTE_SUBMIX where\n  multiple are \"connected\" to the DUT, but with different addresses.\n\nBug 27337358\nBug 27336527\n\nChange-Id: I9b6464485da2bedde2d14b624133e02b5a3fa357\n"
    },
    {
      "commit": "a8b282504d103f1156e7d4e14104e5e91317e374",
      "tree": "fe9d35ff271fc74e3da284d594c0752ac485b1e8",
      "parents": [
        "0c07db6e89ec1daec156b6aff9bb05027d79b32a",
        "28d09f06422841b4274d7fed6ad3441dc97382b2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 08 22:52:38 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 08 22:52:38 2016 +0000"
      },
      "message": "Merge \"audio policy: improve accessibility volume\" into nyc-dev"
    },
    {
      "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": "a0b18ce8f737c0d6ccd728e17c3f355a250ae1dc",
      "tree": "405e015e521d8688831df089f31446b2e1f2f241",
      "parents": [
        "9322ba85a06ae149575ab102dc9bcffb4388cc7e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 08 11:05:00 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 08 11:13:25 2016 -0800"
      },
      "message": "audio policy: change default in call routing for line out device\n\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: 27548502\n\nChange-Id: I3e8a540b91dc80516439a97dabc9641b95ce23a7\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": "0494ebbeda158681dbe0c7cf68abfd475a19d139",
      "tree": "0569cacdbc448fbd1465d2730194ad4d0afb4137",
      "parents": [
        "dadb4ea87f5aa5230c8168b340f595b72fab878c",
        "878e32d7cefc19d86cd0602eda6101961edad6fa"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Mar 03 19:42:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 19:42:59 2016 +0000"
      },
      "message": "Merge \"AudioPolicyManager: remove unnecessary device reconnection\" into nyc-dev"
    },
    {
      "commit": "62b5c0c28becab95727739889ee762f727c2a462",
      "tree": "a0e840cbcd8ba4016f0990da4ed5002645435064",
      "parents": [
        "1e3acb84fcab8f00dba0a78ad4badaef4ba3869e",
        "517161856d74f5fe39cce131f29b977bc1745991"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 03 02:02:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 02:02:50 2016 +0000"
      },
      "message": "Merge \"audio flinger: fix offload track underrun\" into nyc-dev"
    },
    {
      "commit": "1e3acb84fcab8f00dba0a78ad4badaef4ba3869e",
      "tree": "e80d5573899d256b3c2cd4d1ff1f1d9583a8fd98",
      "parents": [
        "973074eb8471496c882dc7372d729b23e03bba7c",
        "05ddca504ce8e0e61b41e5c1aebea72086eea57b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 03 02:00:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 02:00:29 2016 +0000"
      },
      "message": "Merge \"AudioPolicy: capture sample rate 0 is route-specific default\" into nyc-dev"
    },
    {
      "commit": "517161856d74f5fe39cce131f29b977bc1745991",
      "tree": "c12acaeb7597dd99c1a5f0c96d5af7f8a4b7b52a",
      "parents": [
        "db52e5e3dc15f7233ccd9c128fe43f2b2f58b29b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 29 18:00:56 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 02 17:40:18 2016 -0800"
      },
      "message": "audio flinger: fix offload track underrun\n\nFix offload track underrun detection causing early disabling\nof offloaded audio tracks.\n\nOptimize sleep time in case of underrun to avoid spinning while\nwaiting for new data.\n\nRe-enable offload when streaming\n\nBug: 26668110\n\nChange-Id: I874728c69647ac05e1effb84c48700a6d0ac7435\n"
    },
    {
      "commit": "878e32d7cefc19d86cd0602eda6101961edad6fa",
      "tree": "589d200f299d31767cc6611a1e55d320d38171bb",
      "parents": [
        "702b105b290d9a3c8b23f3c809a79086d784c9be"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Mar 02 17:09:54 2016 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Mar 02 17:09:54 2016 -0800"
      },
      "message": "AudioPolicyManager: remove unnecessary device reconnection\n\nThis is now handled by a device reconnection in the AudioService.\n\nBug: 27434478\nChange-Id: I2182b205c2b72cebff657a7bbee95df97f97eb55\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "702b105b290d9a3c8b23f3c809a79086d784c9be",
      "tree": "ae798e99cc3cf42aa9a6a4d918706d4c6c28da80",
      "parents": [
        "24b02edc16fd4d41367bc0acc42760bbe7d70f21"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Mar 02 16:38:26 2016 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Mar 02 16:38:26 2016 -0800"
      },
      "message": "AudioPolicyManager: fix device enumeration\n\nThe AudioDeviceInfo only had PCM_FLOAT because the device enumeration was\nstopping because of an error. The error was detected by new code\nin the AudioFlinger.\n\nThe root error was not clearing a variable after a close.\n\nBug: 27457547\nChange-Id: I529a26c8c0a688863bcf316ad365feddc303fe43\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "05ddca504ce8e0e61b41e5c1aebea72086eea57b",
      "tree": "71137b6ef4df1f294d93d2cedc421b0f85190374",
      "parents": [
        "db52e5e3dc15f7233ccd9c128fe43f2b2f58b29b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 11 08:17:12 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 02 15:17:35 2016 -0800"
      },
      "message": "AudioPolicy: capture sample rate 0 is route-specific default\n\nBug: 25641253\nBug: 21019153\nChange-Id: I7d193640572c08ab5e5f1ecfc8ad6d31635967dd\n"
    },
    {
      "commit": "e8158ffea27c9526547a7340dc5a085b8582033e",
      "tree": "7181d69a3a95ea266981d09a734cf465ab351bbf",
      "parents": [
        "ddfef426b54153f04150596619cf9f1ad88afe9c",
        "eeecb980ff4c202d0a3c4b0bfe040dce2f73336d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 01 19:10:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 19:10:50 2016 +0000"
      },
      "message": "Merge \"Add use for audio_unique_id_t\" into nyc-dev"
    },
    {
      "commit": "eeecb980ff4c202d0a3c4b0bfe040dce2f73336d",
      "tree": "decce0d925acd9efd68f2d540bbabb60c0661c6b",
      "parents": [
        "91afc2297dd1c39302dba6ff68e9839aae27d39a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 26 10:44:04 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 01 08:32:58 2016 -0800"
      },
      "message": "Add use for audio_unique_id_t\n\nBug: 25641253\nBug: 21019153\nChange-Id: I65dc128e760c245f3d90559635a8981b186c87d7\n"
    },
    {
      "commit": "09bc4612bdd5874d744c5da1183d96fbd2ad0235",
      "tree": "fc94045495e98c0f750c4bc262aea88c0f406e3b",
      "parents": [
        "1ba1eeca713c118ce12c97ac8bbdadbdd0cc5ff1"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 24 15:58:15 2016 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Feb 29 12:24:21 2016 -0800"
      },
      "message": "AudioPolicyManager: force encoded surround setting\n\nBug: 26373761\nChange-Id: I0f7a486bf1aa7a27f15cf220e2c75ef23f8f8536\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "b3e06a7592fc189315a90a88cbea66e31c2e6b41",
      "tree": "efdbd4add1809606bf790cb917e28a5110af11c6",
      "parents": [
        "0d035b6057cef680a3755c6a8fc914c483648903",
        "ff155c642fe7d342a3110444c6103f788230af53"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Feb 26 22:38:02 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 26 22:38:03 2016 +0000"
      },
      "message": "Merge \"AudioPolicy: AudioOutputDescriptor set/get for patch handle\" into nyc-dev"
    },
    {
      "commit": "0d035b6057cef680a3755c6a8fc914c483648903",
      "tree": "bb507bd896e5503e9791b3303b01c68beff43c21",
      "parents": [
        "ecc8bbbf8a58fe9ab6d6ac41bebe70631a458134",
        "8c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Feb 26 22:37:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 26 22:37:34 2016 +0000"
      },
      "message": "Merge \"Send audio patch in recording callback\" into nyc-dev"
    },
    {
      "commit": "ff155c642fe7d342a3110444c6103f788230af53",
      "tree": "5ab784ffde5df4eef154c60b1f8a63f9d5a9ae06",
      "parents": [
        "8c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Feb 26 12:07:16 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Feb 26 12:07:16 2016 -0800"
      },
      "message": "AudioPolicy: AudioOutputDescriptor set/get for patch handle\n\nFor symmetry with AudioInputDescriptor: no direct access to the\n  field for the patch handle.\n\nChange-Id: I5bffecf7a157ec042d749064208bc6c279008542\n"
    },
    {
      "commit": "8c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972",
      "tree": "2ce1446fe6fe647e3e0dcbcaf82ac45c5551f492",
      "parents": [
        "809aeb1f725beed877887fe1c5ca3430d811b328"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 25 17:08:24 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 25 17:08:24 2016 -0800"
      },
      "message": "Send audio patch in recording callback\n\nRemove direct access to patch handle in AudioInputDescriptor, replace with\n  set / get functions.\nAdd interface for AudioSession to query configuration from enclosing\n  input descriptor.\nWhen input descriptor\u0027s patch handle changes during a recording, propagate\n  the change through the recording notification callback.\n\nBug 26798796\n\nChange-Id: Ia1395d44da7ccfe69ca46877638d1eb49b3935ad\n"
    },
    {
      "commit": "78229d88678932244f7cbb6e52ad43c0d986a780",
      "tree": "fcf5b5faa56d827b54c5e5f8c3f47f01295e4694",
      "parents": [
        "f013dc41d9ac1e295c91594e6f2ebc1455af5f41",
        "a2b6c4b54cd3ae3db7f2a7f1df6d6f889af1e743"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 25 23:11:20 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 25 23:11:20 2016 +0000"
      },
      "message": "Merge \"audio policy: engine configurable: allow to use custom PFW and plugins\" into nyc-dev"
    },
    {
      "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": "e736431c69e2a00468d140d2af97b63e0e5aa83a",
      "tree": "e9ac84c22b3e0b473deafb3df0afad84f391b9b0",
      "parents": [
        "5031b2f3ac5223587e48fc8463bec24cb62495ba",
        "58545be2ce4e701c8c37401edcc126a8b683890d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 25 20:19:37 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 25 20:19:38 2016 +0000"
      },
      "message": "Merge \"audio policy: add device for audio bus\" into nyc-dev"
    },
    {
      "commit": "7281aa9810b33eff47b00104db26c97c77931611",
      "tree": "1fc5afe0784f22d1ab6507d07708b48b12b1c13d",
      "parents": [
        "eafe1f9734af31730790b0abaf8c6aae01bfee77"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 17 15:33:40 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 23 16:23:45 2016 -0800"
      },
      "message": "Send client / device format in recording callback\n\nBug 26798796\n\nChange-Id: Ib4f64159c8371d87da49a8f0cad9317a87d843c4\n"
    },
    {
      "commit": "58545be2ce4e701c8c37401edcc126a8b683890d",
      "tree": "a7a404115488202a1cb438845aaefe6531aae963",
      "parents": [
        "f214d6936f66052bfabc51e3355f800e41b511f2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 22 18:54:20 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 22 18:54:20 2016 -0800"
      },
      "message": "audio policy: add device for audio bus\n\nAdd audio device category representing a bus in the\naudio subsystem. E.g a set of channels in MOST automotive bus.\n\nBug: 25448664\nChange-Id: Id00da57dc45037d4d8062e9a747c423940611539\n"
    },
    {
      "commit": "c8fc4803705da79aaaeff909538a976bf0e45852",
      "tree": "bd208256ad97b494095dc87e5a13968f035e4dfe",
      "parents": [
        "f214d6936f66052bfabc51e3355f800e41b511f2",
        "bab7bf46e15f7e2e304081c5cc56f8d58f5f09f3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 22 18:09:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 18:09:32 2016 +0000"
      },
      "message": "Merge \"audiopolicy: Synchronize calls to Effects state\" into nyc-dev"
    },
    {
      "commit": "bab7bf46e15f7e2e304081c5cc56f8d58f5f09f3",
      "tree": "1a2a1cbb763c962ac662980e9302e4060deecbca",
      "parents": [
        "b74dc56b2fd3ec872383544d4b6d4950c206259b"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Oct 30 18:02:23 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 19 18:18:00 2016 -0800"
      },
      "message": "audiopolicy: Synchronize calls to Effects state\n\nSynchronize calls that might access Effects state (alternate approach)\n\nBug: 26516500\n\nChange-Id: Ie03de9c67232e0ac7f5db5cbfe87ec058acbfc8e\n"
    },
    {
      "commit": "232f26f8b673973ffa463f80b08b731ffacc8785",
      "tree": "0722b9bc20a7b049ba6b4120138ef8845293e37f",
      "parents": [
        "b74dc56b2fd3ec872383544d4b6d4950c206259b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 17 18:06:27 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 18 22:03:21 2016 +0000"
      },
      "message": "DO NOT MERGE - audio policy: disable concurrent capture\n\nThis reverts commit 4342335fb84bfa4ec5b99e3ef82f186820c2275f.\nThis reverts commit 56afc7a5cc0f0bfc8021f6413b2e2267050bdc8a.\nThis reverts commit 313d1e7dfb4bf8e0a2f09a9adb287062dd64410c.\nThis reverts commit fb66dd9f95a1168698f072c4e5c2a2cf8c49a80f.\n\nBug: 22702906\n\nChange-Id: I9085918f1f7b12e28430958cceb768bb29c12bdb\n"
    },
    {
      "commit": "b74dc56b2fd3ec872383544d4b6d4950c206259b",
      "tree": "2eb75fd747728028728765b09b8ef406a3f0fb5a",
      "parents": [
        "de223b40b81450703980667ffffc766a16c3447c",
        "4ca44d77ede74eda712fbae80700dc92d5922e02"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 18 00:58:02 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 00:58:02 2016 +0000"
      },
      "message": "Merge \"AudioPolicyManager: add comment for disabling offload when streaming.\" into nyc-dev"
    },
    {
      "commit": "4ca44d77ede74eda712fbae80700dc92d5922e02",
      "tree": "20ee74e31b67db0225d6de4420661e16f9472092",
      "parents": [
        "f25f8410c01922c58d78ec35da420c3b4fed7e38"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 17 16:56:38 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 17 16:56:38 2016 -0800"
      },
      "message": "AudioPolicyManager: add comment for disabling offload when streaming.\n\nBug: 23499384\nChange-Id: I74214c9cb444b10a6f50ffe499938945c063afca\n"
    },
    {
      "commit": "de223b40b81450703980667ffffc766a16c3447c",
      "tree": "65f5bea3ce3eaea8742a88f96c0151bdaa24ac98",
      "parents": [
        "f25f8410c01922c58d78ec35da420c3b4fed7e38",
        "e693002b0fb25099540588245892ed98103749ba"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 18 00:46:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 00:46:42 2016 +0000"
      },
      "message": "Merge \"audio policy: select output with best sample format match\" into nyc-dev"
    },
    {
      "commit": "e693002b0fb25099540588245892ed98103749ba",
      "tree": "5c6b80929a798987d5ae658d3041cdefd4ba162d",
      "parents": [
        "d25c45526d9598218433b0fa59e1f5accbd5b639"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 11 10:20:40 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 17 15:34:40 2016 -0800"
      },
      "message": "audio policy: select output with best sample format match\n\nAdd rules allowing selection of the output stream with the sample\nformat offering the best match to the client track sample format\nwhen more than one output is compatible with a request.\n\nBug: 27210844\n\nChange-Id: I31981940be5d1c06d713d52187cfb0a7bf355773\n"
    },
    {
      "commit": "7b8d434379e486ff32d43875676f423ce9ee1c05",
      "tree": "b5accd56e1190c2ab7b84d42d392746f53044211",
      "parents": [
        "b0a144d705a021994628d136a170a6d2bd4282e7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 16 17:56:37 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 17 19:44:18 2016 +0000"
      },
      "message": "AudioPolicyManager: disable offload mode when streaming.\n\nThis is a temporary work around until the root cause is fixed in offload\nplayback path.\n\nBug: 23499384\nChange-Id: I1ee8197ba8995084287ef9385a0f6a30e4bb9351\n"
    },
    {
      "commit": "b0a144d705a021994628d136a170a6d2bd4282e7",
      "tree": "f6144a26c0e19fa9a7ba75e136c80afeb9ecf14a",
      "parents": [
        "7f308c3e0556a5e704bcb3b341842ed50ba80b0a",
        "fdb3c07db5d44535eb8c3ec46dc78ad8446c01eb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Feb 12 22:24:53 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 22:24:55 2016 +0000"
      },
      "message": "Merge \"AudioTrack: support ENCODING_IEC61937\" into nyc-dev"
    },
    {
      "commit": "661c5953f54848a37a012d9106af00e61bb98e08",
      "tree": "d1990ea391e9c225a60f55aa85fbe77842de1c6c",
      "parents": [
        "e99556b85081778027653bd3e716a529ab518b35",
        "e8decedb429ed76dfa84cdb3e80ab3b969e77298"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Feb 12 16:57:49 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 16:57:51 2016 +0000"
      },
      "message": "Merge \"Dynamic audio policies on UID\" into nyc-dev"
    },
    {
      "commit": "fdb3c07db5d44535eb8c3ec46dc78ad8446c01eb",
      "tree": "b8c3d97da524e8aefcb37e736619da6b8e087a82",
      "parents": [
        "3ea4f828a6906e9931f96ebdcae9c63e14b86cbd"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Feb 09 10:47:02 2016 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Feb 12 06:30:43 2016 +0000"
      },
      "message": "AudioTrack: support ENCODING_IEC61937\n\nSet DIRECT flag.\nUse audio_has_proportional_frames() instead of audio_is_linear_pcm()\nwhere appropriate.\n\nBug: 24541671\nBug: 20891646\nBug: 26373761\nChange-Id: Ia32036b18683b084d6c9887593df87397ea0afd9\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "e8decedb429ed76dfa84cdb3e80ab3b969e77298",
      "tree": "3cdcd5f6ad76945ef052e0a68978a8c2930e4c3a",
      "parents": [
        "3aaa699a46edb4f47d0cd5a11d57eba93493bd90"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 11 12:50:39 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 11 12:50:39 2016 -0800"
      },
      "message": "Dynamic audio policies on UID\n\nWhen looking for an output, take attributes and UID into account.\nTo find the matching mix: for each mix\n- inspect which rules are used\n- find a candidate mix for usage\n- check UID compatibility\nRename AttributeMatchCriterion to AudioMixMatchCriterion to be consistent\n with the fact that now mixing rules are not always about audio attributes.\n\nBug 26798796\n\nChange-Id: I1520b0df190a98f197ea8e0144b770e1e6d97888\n"
    },
    {
      "commit": "138ed1796f8c8edd318488911a9b056877191778",
      "tree": "d13629fcc205cc2a2ed858d7caced0436ce820e8",
      "parents": [
        "e3b06f27668901d3d7ae53b6d77aafd4181045ad"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 10 10:40:44 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 11 12:10:16 2016 -0800"
      },
      "message": "audio policy: fix issues in effect parameters parsing\n\nFix several issues in AudioPolicyEffects.cpp\n- Fix old bug in growParamSize() that should take a pointer\nto the address of the parameter structure because it can\nmodify it by calling realloc()\n- Fix warnings reported by clang static analyzer\n- Add checks on memory allocations\n\nBug: 26938281\n\nChange-Id: Id0bfa64371d95356d9fc308c6ea9c74e10ab1be0\n"
    },
    {
      "commit": "52785f3df24fe817af4f1c3c2cddfb30ab5450ee",
      "tree": "28535fcfed7f5d82c1c8575da06ecae08f46353d",
      "parents": [
        "b30f2636bc36d56b94dc5d35e20a68b2e403aac2"
      ],
      "author": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Tue Feb 09 17:28:49 2016 -0800"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Tue Feb 09 17:28:49 2016 -0800"
      },
      "message": "Call SoundTrigger::setCaptureState in AudioPoilcyManager::closeAllInputs\n\ncloseAllInputs wasn\u0027t informing the sound trigger service that all\ninputs were closed. This meant that the service could get stuck in a\nstate where it was disabled because it thought there was some active\ncapture, even though there was nothing listening. (This was particularly\ncommon when a bluetooth device disconnected).\n\nBUG: 26970013,26450651\nChange-Id: I613434ecacce3ef03a657008fd94c314948ba2b8\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": "62e4bc53be19e96f8e37e850b9c8a9e15b9e2ba6",
      "tree": "f3b454f08ebd786f30b9fea45ef4c85bb91b704d",
      "parents": [
        "43e08e0146b825cde52480b64764765d9a61f97c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 02 18:37:28 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 09 01:52:21 2016 +0000"
      },
      "message": "audio policy: strengthen dynamic audio profile intialization\n\nAdd some robustness to getParameters() reply parsing\nin AudioPolicyManager::updateAudioProfiles().\nSome audio HALs may respond with more than just the parameters requested.\n\nChange-Id: Id9327604f521f9fb5636ff93cb6a7c3c23c86778\n"
    },
    {
      "commit": "156260319a15174a86676fa3de8819976199ccac",
      "tree": "19d07ee4a6fabafdf2c1c374034693af3ce310e9",
      "parents": [
        "5405b7f0c1e1859d036951a1ddba0fb222a11934",
        "4342335fb84bfa4ec5b99e3ef82f186820c2275f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 05 20:34:13 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 05 20:34:13 2016 +0000"
      },
      "message": "Merge \"audio policy: fix capture concurrency mode checks\""
    },
    {
      "commit": "4342335fb84bfa4ec5b99e3ef82f186820c2275f",
      "tree": "8cb38b5d0f1d00ec6f8e73e97b5827ceee260d1d",
      "parents": [
        "da53ce37c5283fad74d213f855ed8f4a078b860c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 05 11:57:57 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 05 11:57:57 2016 -0800"
      },
      "message": "audio policy: fix capture concurrency mode checks\n\nCapture concurrency mode indicated by policy manager\nafter startInput() is a bit field and should be handled as\nsuch by startInput() in AudioPolicyInterfaceImpl.\n\nBug: 26994864\nChange-Id: Iff093a82b8b68262abab50bc84060cf023450783\n"
    },
    {
      "commit": "19bd5498a78936436e982ff074cd9d460494c066",
      "tree": "248192b1811a1417f5f49f6e01acf84f05a63ada",
      "parents": [
        "da53ce37c5283fad74d213f855ed8f4a078b860c",
        "56afc7a5cc0f0bfc8021f6413b2e2267050bdc8a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 03 22:08:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 03 22:08:32 2016 +0000"
      },
      "message": "Merge \"Fix connection of OUT_REMOTE_SUBMIX device on APM startInput\""
    },
    {
      "commit": "56afc7a5cc0f0bfc8021f6413b2e2267050bdc8a",
      "tree": "4130dd51cc5d405ece260c66916a84024e6979ee",
      "parents": [
        "2e5408ac3e51cb459160b9cd392f1809b0758316"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 03 11:35:52 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 03 11:46:08 2016 -0800"
      },
      "message": "Fix connection of OUT_REMOTE_SUBMIX device on APM startInput\n\nFix a regression in AudioPolicyManager::startInput() where\n the OUT_REMOTE_SUBMIX audio device was never made available\n due to the test on the input descriptor, which was already\n active by the time it is tested, as the activity on the\n session has already been updated.\n\nAdd methods to AudioInputDescriptor and AudioSessionCollection\n to query the number of active sessions. Use the new method\n to optimize AudioSessionCollection::hasActiveSession()\n\nBug 26798796\n\nChange-Id: I2de4e47970505e64c4c78a148a80a9f0ec19e821\n"
    },
    {
      "commit": "e1c37946c27024acd80b1af8724ad5d309ddcf92",
      "tree": "80ee92bb5f8b58ffa45d231b1c5d2e6562ace2f3",
      "parents": [
        "3ba7ed56de35656a1eeb12fff16531085d3f37cb",
        "d7eda8d0127fabf2d63b0890043da40e2a9e366c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 03 01:57:33 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 03 01:57:33 2016 +0000"
      },
      "message": "Merge \"audio policy: fix overflow in condition wait timeout\""
    },
    {
      "commit": "d7eda8d0127fabf2d63b0890043da40e2a9e366c",
      "tree": "6feeb75bb2eca25b1eb77725a0d0c005b4332bf1",
      "parents": [
        "16558ea318c3cf25a945fc1771572f489763527e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 02 17:18:39 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 02 17:18:39 2016 -0800"
      },
      "message": "audio policy: fix overflow in condition wait timeout\n\nDo not pass a large value to Condition::waitRelative() as this\ncan cause an overflow in pthread_cond_timedwait_relative_np() when\nconverting to absolute time.\n\nBug: 26891803\nChange-Id: Ie2a00bca52d469aa08b2718089dc19cfb1f3475f\n"
    },
    {
      "commit": "2e5408ac3e51cb459160b9cd392f1809b0758316",
      "tree": "66527477ef5a03dbd4bd13e773010ab0e56b9e2c",
      "parents": [
        "706de969169a8f651726ab7de7302a3d35b39768",
        "e04e62bc05316d9682688f87053be5cf47e9c707"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 01 19:54:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 01 19:54:26 2016 +0000"
      },
      "message": "Merge \"audio policy: fix set volume with explicit audio patch\""
    },
    {
      "commit": "706de969169a8f651726ab7de7302a3d35b39768",
      "tree": "b416c007f71098a17f41d008088bb9988f7641a5",
      "parents": [
        "16558ea318c3cf25a945fc1771572f489763527e",
        "bacd9d7ae33d831f9b8b3a0bc7ba8d367164a1d0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 01 19:53:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 01 19:53:36 2016 +0000"
      },
      "message": "Merge \"audio policy: fix loss of audio patch client UID\""
    },
    {
      "commit": "e04e62bc05316d9682688f87053be5cf47e9c707",
      "tree": "11271f0fc771239d28f0bedeb8f3589c9e047428",
      "parents": [
        "37dfacdf3e66516bd4b0c7d08e1aad5869bf5825"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 29 18:25:01 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 01 19:31:14 2016 +0000"
      },
      "message": "audio policy: fix set volume with explicit audio patch\n\nsetStreamVolumeIndex() receives both a stream and a device as inputs.\nWhen an explicit audio patch is requested on an output mix, it\nis possible that the active device does not match the strategy\nderived from the stream, in which case the function would not update\ncurrent volume.\nThis patch makes sure that the device explicitly passed to\nsetStreamVolumeIndex() is always taken into acount.\n\nChange-Id: Ie496ff70f059166af6c81c8f8445a9a9c7548a72\n"
    },
    {
      "commit": "bacd9d7ae33d831f9b8b3a0bc7ba8d367164a1d0",
      "tree": "8a3174549761071b27dcb4cad25906019009678e",
      "parents": [
        "37dfacdf3e66516bd4b0c7d08e1aad5869bf5825"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 29 17:49:52 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 29 17:49:52 2016 -0800"
      },
      "message": "audio policy: fix loss of audio patch client UID\n\nIf an explicit audio patch is present on an output mix,\nits client UID should not be reset by default when the device is updated\non this output mix.\n\nBug: 26423115\nChange-Id: I87973e62d6eeb6f8fef3780bd67f58ae52d07812\n"
    },
    {
      "commit": "52d49a8a1f48c2d59769b9257e2eed988014aa03",
      "tree": "c535638a45a7dbd7025c5d868a444c882b47d0f4",
      "parents": [
        "313d1e7dfb4bf8e0a2f09a9adb287062dd64410c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 28 14:18:00 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 29 20:29:33 2016 +0000"
      },
      "message": "audio policy: fix connected device address.\n\nAlso update the audio device address with the one passed by\nsetDeviceConnectionState() if the device is in the list of\ndeclared devices but does not have an address set.\n\nChange-Id: Ibe9008b0c96fc336a90646b98703ed238a6cf4a9\n"
    },
    {
      "commit": "313d1e7dfb4bf8e0a2f09a9adb287062dd64410c",
      "tree": "70b8d0bf8ee87072115c91f108365c4001eecaa9",
      "parents": [
        "6186b0f418e6efd0bf2463397f4c783cde75ecff"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 29 09:56:57 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 29 20:28:54 2016 +0000"
      },
      "message": "audio policy: fix input device selection\n\nMake sure session activity count is incremented before\nselecting device in startInput().\n\nBug: 26841909\nChange-Id: I0b4867b9ad4c7a98e5eddb4f1f23c4cf075f074e\n"
    },
    {
      "commit": "fb66dd9f95a1168698f072c4e5c2a2cf8c49a80f",
      "tree": "e08f2ecc670ee5828d5ef4bece2e962b02295afc",
      "parents": [
        "37dfacdf3e66516bd4b0c7d08e1aad5869bf5825"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 28 18:32:03 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 29 18:06:50 2016 +0000"
      },
      "message": "Revert \"Revert \"audio policy for concurrent capture.\"\"\n\nThis reverts commit 84332aaa807037baca05340875f2d94fcc519ac4.\n\nBug:26841909\n"
    },
    {
      "commit": "35cb56342e80dbbba3a9cbf5c1398976f1f1befd",
      "tree": "dd25b6024aad666459718276cf8e068cfb289118",
      "parents": [
        "157bd8a8a69c15cba8276652a15dbb7e5fd5cffb",
        "84332aaa807037baca05340875f2d94fcc519ac4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 28 22:51:30 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 22:51:30 2016 +0000"
      },
      "message": "Merge \"Revert \"audio policy for concurrent capture.\"\""
    },
    {
      "commit": "84332aaa807037baca05340875f2d94fcc519ac4",
      "tree": "638152ca1462b98449c8985f53c4c7986dcdf15d",
      "parents": [
        "4b2fcd8abf90b1bd95539f9f4ef2ac39ce9e2df1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 28 22:19:18 2016 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 28 22:20:23 2016 +0000"
      },
      "message": "Revert \"audio policy for concurrent capture.\"\n\nThis reverts commit 4b2fcd8abf90b1bd95539f9f4ef2ac39ce9e2df1.\n\nBug:26841909\n\nChange-Id: Ifc74b195394b9fb3f73d33455ad061bd896d5331\n"
    },
    {
      "commit": "19219b44e05555b29e00ce56ce273d168fa83888",
      "tree": "11790a2d472ade7c736296c7f1ee4c446c0bffbb",
      "parents": [
        "c9d7c4e35afd48ac8a315f53666943b6210dafa1"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Mon Jan 25 11:28:17 2016 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 27 12:49:24 2016 -0800"
      },
      "message": "audio policy: use reference for all default volume table\n\nThis patch migrates all default volume tables as reference\nvolume tables.\nNo implicit volume tables is allowed any more, the reference\nmust be given for all stream type and device category.\nIt allows removing the WA that was introduce to use the stream CNT\nto host the default volume tables.\n\nChange-Id: I19f5e9d2a62d448f0f8447f93acbbd2e1a723958\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "c9d7c4e35afd48ac8a315f53666943b6210dafa1",
      "tree": "20d04a20ed8afc299a01e7a0a763860c674bba4f",
      "parents": [
        "5bae3d6b17d7eb90b52174f8149aaa7c7ff334d6"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Fri Jan 22 13:54:30 2016 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 27 10:57:49 2016 -0800"
      },
      "message": "audio policy: allows to use reference for volume table\n\nThis patch allows to definie reference attribute within XML\nVolume Element and define a reference volume curve.\nIt allows to factorize efficiently and avoid too much XML\nduplication.\n\nChange-Id: I462808ea38d7a39e1e20fe7090a6ebee0cb3c39b\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "4b2fcd8abf90b1bd95539f9f4ef2ac39ce9e2df1",
      "tree": "8d98964e142912b23352b5c67fd6a3b6568645ab",
      "parents": [
        "a03910b23a31058eea178e8d3f5e84fcf852d5c2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 15 18:00:39 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 27 03:09:22 2016 +0000"
      },
      "message": "audio policy for concurrent capture.\n\nFirst implementation of concurrent capture policy:\nInitially, only capture for HOTWORD or FM TUNER sources or\nre-route submix is allowed at the same time as any other capture.\nSeveral capture clients can share the same input stream. In this case\nactive clients are sorted by audio source priority level and the input\npath configuration and routing is driven by the highest priority\nactive source.\n\nBug: 22702906\n\nChange-Id: Icbedfe001c6243ecad7a7b57ab78d893b2b97402\n"
    },
    {
      "commit": "a03910b23a31058eea178e8d3f5e84fcf852d5c2",
      "tree": "638152ca1462b98449c8985f53c4c7986dcdf15d",
      "parents": [
        "93ec0d71800824481b41b883739c9ab1d0559c27",
        "20eb3a4340a1f1f6e978a23527daff080140db1a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 27 03:07:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 03:07:40 2016 +0000"
      },
      "message": "Merge \"audio policy: fix merging error for commit 112b0af8.\""
    },
    {
      "commit": "20eb3a4340a1f1f6e978a23527daff080140db1a",
      "tree": "73efd63103d906488cd369c3572545361b90dfa3",
      "parents": [
        "987f953298169027df001409fbd82991d82900bc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 26 18:39:17 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 26 18:43:21 2016 -0800"
      },
      "message": "audio policy: fix merging error for commit 112b0af8.\n\nWrong patch set was merged from partner gerrit.\n\nChange-Id: I850d61b1cc8682e0a82ee64bc8cb022b7512de1c\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": "e0db30868d9734f95a02df516dd0dc6a7226474b",
      "tree": "3f04825a30e035add93f323e96680e38a3d69585",
      "parents": [
        "3583c435f773ceef3f340d14c06c62579866f2aa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 15 17:41:39 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 15 17:41:39 2016 -0800"
      },
      "message": "audio policy: fix combo device parsing\n\nWhen parsing a device type entry in audio_policy.conf, do not\nload device combos (e.g AUDIO_DEVICE_OUT_ALL_A2DP) in a single\nDeviceDescriptor but create one descriptor for each device type\nin the combo.\n\nBug: 24113912.\nChange-Id: I3a7f43c7fc9cf516506bb3255dd2ed86564b7cd6\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": "c16bf1d9e8ccdd27327e988d50f5b9640e5406f8",
      "tree": "11def686f4fa83f744f266851b0a7a204a64220a",
      "parents": [
        "31fc66042d4241f443ebbd2c7b37946edf35b8e9",
        "2f4fe9f7df8f22c6bc8745407d19df73128810ec"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 13 00:20:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 00:20:55 2016 +0000"
      },
      "message": "Merge \"AudioPolicy: callback for recording configuration change\""
    },
    {
      "commit": "2f4fe9f7df8f22c6bc8745407d19df73128810ec",
      "tree": "df7d3fe791c9256c7ca53fb36c8f563eec714a30",
      "parents": [
        "dd715cea770697ab6f424df74d69f37def701b30"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Dec 04 16:20:59 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jan 11 12:06:12 2016 -0800"
      },
      "message": "AudioPolicy: callback for recording configuration change\n\nEach AudioSession tracks start / end of recording, and sends\n  a callback to AudioSystem.\nAudioSystem tracks a single recording callback tracking\n  input source and audio session number.\n\nChange-Id: Ic065751d9ba013e03f2a6ad8dde02542e5465ec0\n"
    },
    {
      "commit": "64f1901bdddf464c8f29bed34e3449762873b3e9",
      "tree": "78b461038b8ee9ab49825d180c9d21347831c9a0",
      "parents": [
        "38b85c29b5be56e660b162da8a13129ac20f8daf",
        "2ddee19245641e86bca436dda23a0f5089bf2ab5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 08 23:17:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 08 23:17:57 2016 +0000"
      },
      "message": "Merge \"Add setMasterMono and getMasterMono\""
    },
    {
      "commit": "2ddee19245641e86bca436dda23a0f5089bf2ab5",
      "tree": "ee665bb2097db2710211eb1d834510201b02ab59",
      "parents": [
        "df9e6aaf716279baf0e27b99acf10005924245ed"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 18 17:34:44 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 08 14:09:31 2016 -0800"
      },
      "message": "Add setMasterMono and getMasterMono\n\nBug: 15283594\nBug: 22700363\nChange-Id: I32dc1fcecf285967a61bd508af3bb299595db57d\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": "754cabcfef43f894a73bb3f7581b6cd4f48fcc95",
      "tree": "c418cd35cce08656e2472c964385b033eb77e1a7",
      "parents": [
        "fe9f9ca670844219b6819de1a7cd51fe245bdbbc",
        "cbb3044d6bfa9ab30c83b67874f40344e29805e1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 08 17:15:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 08 17:15:08 2016 +0000"
      },
      "message": "Merge \"audio policy: introduce audio route concept\""
    },
    {
      "commit": "cbb3044d6bfa9ab30c83b67874f40344e29805e1",
      "tree": "ee25ead665a5fe2d154fd9d2ed6656be0eac037e",
      "parents": [
        "53e142a0ee3cf18bcc4a88761bd771c5d4eff65f"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Thu Nov 19 16:54:20 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 07 17:12:55 2016 -0800"
      },
      "message": "audio policy: introduce audio route concept\n\nAs a preambule of introduction of topology concept within\naudio policy configuration file, this patch introduces the notion\nof audio route, i.e. a link between one sink and one or more sources.\nThis link may be shareable (mix) or mutual exclusive (mux).\n\nFrom this route concept, and in order to keep backward compatibility,\nthe supported device of ioprofile (what will become AudioMixPort) must\nbe updated.\n\nChange-Id: If078830dbe74b003be4a64c584521df481101294\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "8a397d583a4f4cf24ad88facaf2fd33990cfb811",
      "tree": "3d35ebfc3bfbc18e0983e35d1f59892c2c3ee42c",
      "parents": [
        "df9e6aaf716279baf0e27b99acf10005924245ed"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Dec 02 11:27:57 2015 -0800"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Jan 05 07:04:37 2016 -0800"
      },
      "message": "Adding UNPROCESSED to the available audio_sources\n\nbug: 25564291\nChange-Id: I86d8feda4d687352f98b640819211207a06d6b50\n"
    },
    {
      "commit": "112b0af826aeca45855690b9c105b2cdf9938bbe",
      "tree": "3069f5aa08c8a76ecaad33910a5901a8537ef0ac",
      "parents": [
        "599c758b258cc5da0dba9b530425381facc37d77"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Thu Nov 19 16:13:25 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 16 11:19:19 2015 -0800"
      },
      "message": "audio policy: introduction of AudioProfile\n\nIn order to be able to declare the possible sample\nspecifications for an Audio Port (a given format, a list of\nsample rates, a list of channels), a new object AudioProfile is\nintroduced.\n\nChange-Id: Ie3ca3400f05984e7b4132fc7ba90020eb4d998c7\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "599c758b258cc5da0dba9b530425381facc37d77",
      "tree": "212a8b01eb2edcee68ffc5fc33c3ce9a9b762b32",
      "parents": [
        "44333e51c62643e7581022495a2a1f410dd62e27"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 18:05:55 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 15 18:55:16 2015 -0800"
      },
      "message": "audio policy: audio sessions on input descriptors\n\nIn preparation for concurrent capture, add support for multiple\naudio sessions per input stream.\n\nEach session keeps its own properties, open and active reference\ncounting.\n\nNo functional change for now: still one session per input and one active\ninput at a time.\n\nBug: 18815985.\nBug: 22702906.\n\nChange-Id: I915a65989a7fd0d3cbe2fcf5a0aee2ea0df5f4f5\n"
    },
    {
      "commit": "7b279bbc24139ee1e01b58055ca94926ec18e2e9",
      "tree": "5986c5445c80e4341b02bfcd861f24619e98eb56",
      "parents": [
        "83923a3060c471b13d5a103852b3a3979ee5b35e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 14 10:18:23 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 14 10:18:23 2015 -0800"
      },
      "message": "audio policy: remove compilation warnings\n\nChange-Id: I4d41ca903dfbe37066ef20a13ebabaff1e5b7326\n"
    },
    {
      "commit": "fd9445e97609756e7ec2e95f66440d76f32068e5",
      "tree": "4dbfacb89c5c4ffdfdccb40be8d488fa15a0987b",
      "parents": [
        "e35ff4de22fec058d57f694e86b906ca8b8007dd",
        "dcb346b7dc5b88c3e85db8a70bbd6a2fee8192b9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 11 20:10:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 11 20:10:49 2015 +0000"
      },
      "message": "Merge \"Run audio services in audioserver instead of mediaserver\""
    },
    {
      "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": "dcb346b7dc5b88c3e85db8a70bbd6a2fee8192b9",
      "tree": "e0038e85e097843f469a6befe9fae1014435f4f5",
      "parents": [
        "ebdddf82b07fa2c4134c3c00dbbbaa1ad3286726"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 09 10:47:29 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 08 11:29:11 2015 -0800"
      },
      "message": "Run audio services in audioserver instead of mediaserver\n\naudioflinger, audiopolicy, (fm) radio, soundtrigger moved to audioserver.\nmedialog is removed from mediaserver.\naudioserver has same permissions and rights as mediaserver.\n\nmediaserver is allowed to specify client uid to audioserver.\n\nSubsequent CL will add medialog to audioserver.\n\nTBD: Pare down permissions.\n\nBug: 24511453\nChange-Id: Iccaa08b874a502710d142e72f8abbb3d97c44cfa\n"
    },
    {
      "commit": "ec1efa072e68a7970c6bca8da0a5d436c30b6196",
      "tree": "90f0a477970f98b5d0ace798fe0ab861329fd7b7",
      "parents": [
        "8fa2458708fa775c2562d836d8f87ac30d5970f4",
        "65bfe916ca972b95f41d7f6cc2566c2e12a3eada"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Dec 07 17:56:19 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 07 17:56:19 2015 +0000"
      },
      "message": "Merge \"AudioPolicyManager: AudioInputDescriptor open ref count cleanup\""
    },
    {
      "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": "65bfe916ca972b95f41d7f6cc2566c2e12a3eada",
      "tree": "5bba6ff35798ae91602658b6754d2ba047844d71",
      "parents": [
        "0a62162accbce87db829869a15eab72eca2607b2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Dec 04 15:56:47 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Dec 04 16:27:43 2015 -0800"
      },
      "message": "AudioPolicyManager: AudioInputDescriptor open ref count cleanup\n\nAlways initialize the mOpenRefCount field.\nAdd functions for management for open ref count.\n\nChange-Id: I0bbd021283047abfebbc108ced68c79e29297f25\n"
    },
    {
      "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": "ebdddf82b07fa2c4134c3c00dbbbaa1ad3286726",
      "tree": "39d27c15d82349b4ae48e82a7b852a4016b2c5ec",
      "parents": [
        "cf52591e7441fcea757ca9090a66dbcdff0a73e3",
        "5fcd6f99944d8722c57d2b2963814a1964ecfedd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 04 02:08:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 04 02:08:49 2015 +0000"
      },
      "message": "Merge \"audio policy: enhancing type conversion helper\""
    }
  ],
  "next": "f8ad572ea6259534dd2a9ef160e59976f5514951"
}
