)]}'
{
  "log": [
    {
      "commit": "587b8dfdbc3d3b1dd9ffc1996b9a07cd9b284833",
      "tree": "414969fe779bf8825008188620e3ba4bb6eea8d7",
      "parents": [
        "a1ee4c28facd2e4ae0eb288178c8988bf1806148"
      ],
      "author": {
        "name": "vivek mehta",
        "email": "mvivek@codeaurora.org",
        "time": "Tue Jan 31 14:58:44 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 31 16:39:55 2017 -0800"
      },
      "message": "audio: fix audioSession null check\n\nTest: make\n\nChange-Id: Ied514f8fb7496143bad45504151ca16226c67767\n"
    },
    {
      "commit": "bb9480975322b0d1a09f76ef14f3285fc8af4e5f",
      "tree": "a32cac19e5e2f47e9808de74a00887e8e3d3c695",
      "parents": [
        "b9c28c72b91e464aa1155e972f74af14312191a8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 23 18:33:30 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 25 18:34:46 2017 -0800"
      },
      "message": "audio: enable concurrent capture for voice recognition\n\nAdd AUDIO_SOURCE_VOICE_RECOGNITION to the list of use\ncases allowed for concurrent capture. As AUDIO_SOURCE_HOTWORD is\nenabled for concurrent capture it makes sense to enable a client\nto transition to voice recognition after the hotword has been detected\nin a concurrent capture situation.\n\nAlso fixed some concurrent capture scenarii\n\nBug: 22702906\nTest: build and check \"OK Google\" detection\nChange-Id: Ic6dd41372fe74122395764beca7ca9a65197464b\n"
    },
    {
      "commit": "cac8d4ea54ece7aeb4b2ffa7aafd06fbec731a62",
      "tree": "ed02d8653145fded2d53bcf4c6d7033cca7eb1cf",
      "parents": [
        "d0ffd62e89bf97fa20a63f282d034b6745328210",
        "44344b05261cb9ad46a43e635f637b89aecc7afe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 03:17:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 03:17:59 2017 +0000"
      },
      "message": "Merge \"audio policy: allows dumping Audio Policy Mix\""
    },
    {
      "commit": "060a6c53b5022c9e539a4c9b03b16da546964bec",
      "tree": "5c517aa0d24e519bb40dcd2431ffefa43959d4d7",
      "parents": [
        "d825ab9d5be990a6a7fb28033cfba84441100731",
        "49d3b5ee8e89e274a5c259dddb7cde38e98c2cde"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 23:54:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 12 23:54:38 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 59cfe7de39 am: c6d07e8230 am: 15b18326b6\nam: 49d3b5ee8e\n\nChange-Id: I87a85c85d3f509e0496f5946d6e9e58174398ea5\n"
    },
    {
      "commit": "15b18326b67cde4bfe1d71f7a4e703c411dec2e5",
      "tree": "630963d9c9ec2e087a14fe0373059103eb3c1b9a",
      "parents": [
        "4fdfda5cd2b1d8670bdcf6048028f28875710a69",
        "c6d07e82302322304c422b768af37255d4098134"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 23:49:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 12 23:49:37 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 59cfe7de39\nam: c6d07e8230\n\nChange-Id: Ia3c81c04b689ae06610df61d27627dd66d5f71bd\n"
    },
    {
      "commit": "e74bbf18a6595a914d3c771be08a72077465c51f",
      "tree": "67ecfbc9a118ea695beaf5536bcd3ea5e9cfe376",
      "parents": [
        "ce961d374f8436a50e63a081afa6b6c3185b2f90"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 15:10:27 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 15:10:27 2017 -0800"
      },
      "message": "liblog: use log/log.h for ALOG macros\n\nTest: compile\nBug: 34250038\nChange-Id: Ie3b92790df631dbacdd51053264dddeba66913c1\n"
    },
    {
      "commit": "44344b05261cb9ad46a43e635f637b89aecc7afe",
      "tree": "f088a40f3512f177136b78f02e091d42db7d0934",
      "parents": [
        "38267b773f2cdec4d684b12fde73179bcc66e0c7"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 13 11:21:02 2016 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 12 13:19:26 2017 -0800"
      },
      "message": "audio policy: allows dumping Audio Policy Mix\n\nThis patch adds the dump of AudioPolicyMix if registered.\nIt also adds the required conversion map to human readable strings\nof the types involved in Mixes.\n\nAdapted for the development branch from the AOSP patch:\nhttps://android-review.googlesource.com/#/c/309127/\n\nChange-Id: I91cf7afe6de5ff837970d9063ca437d4f6201e89\nTest: build, dumpsys media.audio_policy\n"
    },
    {
      "commit": "d7c5ec857930496bb8a1045dc8b87b2fdd99899c",
      "tree": "1febd0054f7833de4bfd877faea92b6c66a3d89a",
      "parents": [
        "67d0d7eb36e7c36d0a9dec9264c0cab832196d57",
        "4b058e7e5d58fb1bc6ba82eba94f7664e5b85706"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 19:30:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 11 19:30:56 2017 +0000"
      },
      "message": "Merge \"Add missing nullptr checks for data.readCString() strings\" am: ce961d374f am: 238c48e42e am: 877f779979\nam: 4b058e7e5d\n\nChange-Id: Idc3298b161380e9ace8b7fcceb4339b0805a3123\n"
    },
    {
      "commit": "877f77997987212ae0fbfecb24b35c03a0573006",
      "tree": "784bda81ca3055da5341cb11f86e0e0fddc06d90",
      "parents": [
        "7ceeb44566c54be121136a456142143e6bc4c4ac",
        "238c48e42e9e4daafc4cde73bc5c1856e7c10614"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 19:20:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 11 19:20:24 2017 +0000"
      },
      "message": "Merge \"Add missing nullptr checks for data.readCString() strings\" am: ce961d374f\nam: 238c48e42e\n\nChange-Id: I2e9cb8ec6752506cc5445aee3d38ae92e4f5e514\n"
    },
    {
      "commit": "c694ff449bef4ca1e45a6506f34e66c613757311",
      "tree": "36f66657e3389dbb6b30b7e122ff415f9ce5f40c",
      "parents": [
        "20adbc00032d6df980a3300f1ae974610f16f81f"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Mon Jan 09 23:27:29 2017 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 16:51:37 2017 +0000"
      },
      "message": "Add missing nullptr checks for data.readCString() strings\n\nProtect the Audio Policy Manager by adding extra checks\nfor data.readCString() strings when parsing / decoding\na Binder transaction.\n\nAlso:\n * Moved audio_is_output_device() / audio_is_input_device() checks\n   inside handleDeviceConfigChange()\n   from the AudioPolicyInterface to the AudioPolicyManager\n * Removed similar redundant checks inside\n    AudioPolicyService::setDeviceConnectionState()\n\nTest: code compilation\nChange-Id: Ib32a28ba2669b73aaf32b31bb18f41c8dd7d2605\n"
    },
    {
      "commit": "36867767ba86244b0d942255b9d241b092151309",
      "tree": "1fa1b0a4cf8fe6b7f780bb8950f6ad659ae7a5d5",
      "parents": [
        "af86dcee9d97e02e9069548684ef8c9db5190ff9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 29 12:03:28 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 29 12:35:25 2016 -0800"
      },
      "message": "USAGE_ASSISTANT/ACCESSIBILITY in audio policy manager\n\nAdd support for USAGE_ASSISTANT.\nFix stream type for USAGE_ACCESSIBILITY.\n\nTest: enable Talkback, check volume; make\nBug: 30947943\n\nChange-Id: Ie35adf0115dce1fac6d3deddc1e57e36b36913f6\n"
    },
    {
      "commit": "5fd7ccaeba88da7e170f067bfd754b3f64ff5566",
      "tree": "5e2a0f1495c8ea9a68598cea2028e3c092049e3a",
      "parents": [
        "0ce91633d8a4f5dcb3706a7734c02ddb5099eefd",
        "c6fe843463abc965f3082738c8812506cf5ba232"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Thu Dec 29 00:25:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 29 00:25:36 2016 +0000"
      },
      "message": "Merge \"Add a mechanism for handling audio device configuration change\" am: 549e431947 am: a1b496ac35 am: fcc1132010\nam: c6fe843463\n\nChange-Id: I7812e3e4426e526b886c1a414ac8ddec7649291e\n"
    },
    {
      "commit": "fcc113201018703727a0d6b17dd165efce00db1a",
      "tree": "70eca9738ea18322a92ebc4bb94a0894e1735034",
      "parents": [
        "1121dfb5f30a04393ddce02fe7808589fa9e3e25",
        "a1b496ac35a8bbdcae6b0315e91a5cf52b2af00d"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Thu Dec 29 00:12:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 29 00:12:05 2016 +0000"
      },
      "message": "Merge \"Add a mechanism for handling audio device configuration change\" am: 549e431947\nam: a1b496ac35\n\nChange-Id: Ie8871fad611dc16d7cd08a85e4cd748cf3c4650d\n"
    },
    {
      "commit": "f862bc6a7a35054e38cb50fa16ae7a07f683ee01",
      "tree": "12f33970e876ba71df008d7e38a58984c5b357b5",
      "parents": [
        "a05da2eea41306d526ce645ea44aa2e05054f651"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Mon Dec 26 18:57:22 2016 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Dec 28 14:35:01 2016 -0800"
      },
      "message": "Add a mechanism for handling audio device configuration change\n\n* Added new call handleDeviceConfigChange() to the Media Framework.\n  That call can be used when there are device configuration changes\n  (e.g., Bluetooth A2DP codec configuration has changed).\n* Added new method AudioPolicyManager::handleDeviceConfigChange().\n  That method toggles the UNAVAILABLE/AVAILABLE connection state of the\n  device, so it can be reconfigured as appropriate - e.g., the audio\n  feeding parameters can be updated.\n* Fix ALOGVV compilation errors when extra logging is enabled.\n\nTest: A2DP streaming to headsets\nBug: 30958229\nChange-Id: I388abbbb3ec4d1a003b441cb0c77e00d80cad668\n"
    },
    {
      "commit": "32a5f5d53f9fe2ba584d2ecdf3edd487fb4146a7",
      "tree": "49e0e3a1b8302a9f7282b6bcab3c32ea3808ec23",
      "parents": [
        "105928c9d30ed4c697cc4cdd9e68d8d47a695133",
        "4532a36bf509d822a77cbc1b7837f9f1158c7796"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 13:47:40 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 13:48:15 2016 -0800"
      },
      "message": "resolve merge conflicts of 4532a36 to master\n\nTest: build\nChange-Id: I9b93c4a703c0ee16116be2bea0e6df0606d29363\n"
    },
    {
      "commit": "1121dfb5f30a04393ddce02fe7808589fa9e3e25",
      "tree": "4f0e9eb6547b0b16b0272cab044766162bb6a812",
      "parents": [
        "d76a98d5f4997868da1832ed239f67c9ae150ace",
        "9e97dc7832949a67dbae4e28d2ea261accd571b4"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 19:24:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 22 19:24:18 2016 +0000"
      },
      "message": "Merge \"Replace cutils/log.h with either android/log.h or log/log.h\" am: a05da2eea4\nam: 9e97dc7832\n\nChange-Id: I414954c96ad8b803a0401d416887c9ce167db210\n"
    },
    {
      "commit": "60d02077d86d2d1092443519290101f503aa6f7a",
      "tree": "57992d2bd94784cd765729b806429928ead0d2e7",
      "parents": [
        "36a75eeb15e58726e8cbbfe9687975740133a11b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 29 08:48:48 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 08:25:58 2016 -0800"
      },
      "message": "Replace cutils/log.h with either android/log.h or log/log.h\n\nTest: compile\nBug: 31289077\nChange-Id: I795a76f978d2213737f1fa908da789c543219b75\n"
    },
    {
      "commit": "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": "48dd690be5bf590991858086f2db60ec925389b4",
      "tree": "39e67d8af0d61efbf9c74fe0ac5da89846014e2f",
      "parents": [
        "7944a0a546246275cbec67c4d079629a0ebc8418",
        "c3b85c54dbb8bcac4115a718f644f31625596fe9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 20 20:52:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 20 20:52:14 2016 +0000"
      },
      "message": "Merge \"default no ouput verbose message of APM::AudioPolicyEngine/PFWWrapper\" am: 36a75eeb15\nam: c3b85c54db\n\nChange-Id: I242b0c71d1b0ac66bc53fd6d1a02a721f8020619\n"
    },
    {
      "commit": "ae2026ecfe37e92b0a2ba5084a8ab9fe07b7134d",
      "tree": "dc047f0c254b2024d1ef57267b45d4c48db0e17c",
      "parents": [
        "a73f0b1dc067eb9249d2aef7f84158c1d3f4a921",
        "e4c3c4310f4e4a76195dc08323c4a26dd28ffd08"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 19 21:31:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 19 21:31:18 2016 +0000"
      },
      "message": "Merge \"Use libxml2 as shared lib.\""
    },
    {
      "commit": "6a308b02f138e358fb239ee2df5d54dd988f34fd",
      "tree": "730e19d7ae133e2086c37dcec42d0b88e77ba01b",
      "parents": [
        "0a2ea58394190408a3d532bfcc242ba64ca71538",
        "20b9ef0b55c9150ae11057ab997ae61be2d496ef"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 16 17:12:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 17:12:23 2016 +0000"
      },
      "message": "Merge \"Add unique audio port IDs to AudioTrack and AudioRecord\""
    },
    {
      "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": "72db998b4f41e795420055cda362847d5c5f8c92",
      "tree": "83e824d5f21d33051a683256f949d1f4c1b076e6",
      "parents": [
        "56d69ea84fb6c75cd5e855f067f90cae5a085d27",
        "993c09b27bc5b2b9f93b29fac8e212a196a52c67"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 15 17:55:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 15 17:55:44 2016 +0000"
      },
      "message": "DO NOT MERGE - improve audio effect framwework thread safety am: b378b73dd7\nam: 993c09b27b\n\nChange-Id: Ib46c5c88aa112e819fe320857b2136f14f84db1a\n"
    },
    {
      "commit": "993c09b27bc5b2b9f93b29fac8e212a196a52c67",
      "tree": "2141cbd76b5b8725c2e713b335adf3144b71acd9",
      "parents": [
        "49209a36958218c6f51bb9a8e603a69e496481f0",
        "b378b73dd7480b584340b8028802c9ca2d625123"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 15 17:47:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 15 17:47:43 2016 +0000"
      },
      "message": "DO NOT MERGE - improve audio effect framwework thread safety\nam: b378b73dd7\n\nChange-Id: Ie7431955f75364bb7e450594387be41f669a98f0\n"
    },
    {
      "commit": "cc3237a31b293905423c7d71f5a3e8ea130e1a88",
      "tree": "024bfcdf659aa4c8dc8332a0b65def837653bb5d",
      "parents": [
        "8af5545d28f21ceeadd21113fe5b835c268ee49c",
        "f476960a2886e2a1c2a743aa235c868f01584f4d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 14 20:46:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 14 20:46:53 2016 +0000"
      },
      "message": "APM::updateCallRouting: ignore for stub output hal am: a76c7de622 am: 116160d668\nam: f476960a28\n\nChange-Id: Iaa58887ee83e5cb611d26bf61cadafb058245b03\n"
    },
    {
      "commit": "116160d6680a0eabeea6510463c863f9afbe2956",
      "tree": "cd06c867e8c3af531147739cf696933ee174c4bf",
      "parents": [
        "cffbc7d055bf70b233c042920aec9947f5d5cd24",
        "a76c7de622e6e29f8559921d8d2e9ef93eb37d1f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 14 20:34:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 14 20:34:22 2016 +0000"
      },
      "message": "APM::updateCallRouting: ignore for stub output hal\nam: a76c7de622\n\nChange-Id: Iee1637bcb01cd41daa70162684212c9eaf085763\n"
    },
    {
      "commit": "a76c7de622e6e29f8559921d8d2e9ef93eb37d1f",
      "tree": "11abc87a6a2041dba73ddc414c5317f908ed5248",
      "parents": [
        "a2e95f5c9b1613cce1d2bf0f0e35b0addd137906"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 13 19:14:31 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 14 11:18:28 2016 -0800"
      },
      "message": "APM::updateCallRouting: ignore for stub output hal\n\nBug: 33463233\nChange-Id: I9b6708bef087e3f4a97868b2d8f7a9b1558233d0\n"
    },
    {
      "commit": "20b9ef0b55c9150ae11057ab997ae61be2d496ef",
      "tree": "21bd57d748dd47600b1e62bfb18d4acb08e15438",
      "parents": [
        "8526d86ab12284135ed4ca27aeb816371c10c0e6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 11:03:16 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 12 12:29:41 2016 -0800"
      },
      "message": "Add unique audio port IDs to AudioTrack and AudioRecord\n\nThis will allow to track activity at the track level instead of\nat audio session level as only possible with current implementation.\n\nAudioTracks and AudioRecords will receive a unique audio port ID the\nfirst time they register to audio policy with\ngetOutputForAttr()/getInputForAttr() and keep this ID for their\nlifetime.\n\nThis CL is the first partial change and just updates the\naudio policy and audio flinger APIs used at track creation time.\n\nTest: basic regression test of audio playback and capture use cases\n\nChange-Id: I8d612e67738e120494f61e3f7c60bfd0b2c6a329\n"
    },
    {
      "commit": "b378b73dd7480b584340b8028802c9ca2d625123",
      "tree": "00439baacf771d5439c6ec1747cfcdff13eeb4e5",
      "parents": [
        "5ed0c9ffdae597a023bdcade0868566832a01c2b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 01 15:28:29 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 09 10:25:06 2016 -0800"
      },
      "message": "DO NOT MERGE - improve audio effect framwework thread safety\n\n- Reorganize handle effect creation code to make sure the effect engine\nis created with both thread and effect chain mutex held.\n- Reorganize handle disconnect code to make sure the effect engine\nis released with both thread and effect chain mutex held.\n- Protect IEffect interface methods in EffectHande with a Mutex.\n- Only pin effect if the session was acquired first.\n- Do not use strong pointer to EffectModule in EffectHandles:\nonly the EffectChain has a single strong reference to the EffectModule.\n\nBug: 32707507\nChange-Id: Ia1098cba2cd32cc2d1c9dfdff4adc2388dfed80e\n"
    },
    {
      "commit": "b15ed7a197061d688e465ac4a0d489fed65b8ceb",
      "tree": "13eb9e8815735d3645d2bbb6bb63946d518f5627",
      "parents": [
        "353613ca6ec69e9663b7188305cdd46914dccfb4",
        "08dab5ae92ddd1f3b337b6e35f918fea8c284a56"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 09 03:59:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 09 03:59:01 2016 +0000"
      },
      "message": "Merge \"Use libmedia_helper as shared lib.\""
    },
    {
      "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": "b643627a557e44b9ab5879cf71e162af2d514ce3",
      "tree": "995bc0b0fa9a614687aa8df2f119ab7fff0c7a88",
      "parents": [
        "8526d86ab12284135ed4ca27aeb816371c10c0e6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 07 19:24:50 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 08 12:14:32 2016 -0800"
      },
      "message": "fix client pid for effects applied by audio policy\n\nTest: Hangouts call, Play Music with and w/o effects\n\nChange-Id: Ia9b20f94be667dd92e0497f8ef9c0dc0e95afe28\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": "f10c709fda87d971a206eebd5df47356e7f2aa39",
      "tree": "98b1a47d6a12c11a4b5a02e2a7fb5129b2a6680f",
      "parents": [
        "7cdef381717e3a96acc6c5786c88bf1eaf03d2f2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 06 17:09:56 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 07 09:40:43 2016 -0800"
      },
      "message": "audio policy: remove effects before releasing input\n\nmodify releaseInput() implementation so that effects added by policy\nrules are removed before closing the input stream to avoid\nfailure to destroy the effect chain\n\nmake sure that orphan effect chains are checked when an EffectHandle is\ndisconnected after thread destruction.\n\nTest: make and run Hangouts\nBug: 32707507\n\nChange-Id: I7833b4c5e42c0057a4477eb4485a20dd26ca2f90\n"
    },
    {
      "commit": "315031e04c6642c9a91de2e48053c82f78a2ea24",
      "tree": "b4e7b420bcfb7d6b8b3369e98bb5f6a3c199bd71",
      "parents": [
        "2c192ad2ef8474bf752a638e7adb49ef2011f548",
        "00072a89c00ecbd29ca9148996fef8138449327c"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Fri Dec 02 07:59:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 02 07:59:09 2016 +0000"
      },
      "message": "Merge \"Add a mechanism for Audio Feeding Parameters negotiation\" am: 653748414b am: 1081e9ac62 am: 5b2fa9ad09\nam: 00072a89c0\n\nChange-Id: I8ce7baf3bf6fca36d8e07db3d48b3eca98da54d5\n"
    },
    {
      "commit": "1081e9ac62c7fb4998037272d47954fd62100016",
      "tree": "f6d0b617e2ae5b54cfa9f28328ad893d370d7d63",
      "parents": [
        "1095908b3474ecee22764ec50200aa6d971d26a9",
        "653748414b0fd6056bcc3bd5b3917da4d1883531"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Fri Dec 02 07:37:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 02 07:37:05 2016 +0000"
      },
      "message": "Merge \"Add a mechanism for Audio Feeding Parameters negotiation\"\nam: 653748414b\n\nChange-Id: Id6855d139a248d15ec0ea0ee0f01cf7655862ac7\n"
    },
    {
      "commit": "4c9cd19bdb3186b7450dd9f33b6abcdd80088d1c",
      "tree": "ce855a5755db02f884ba20e51dee5d98ddf348be",
      "parents": [
        "b4d217ed0f54e480a7d30fc738506584fe32547b"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Tue Nov 22 12:13:59 2016 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Fri Dec 02 02:07:06 2016 +0000"
      },
      "message": "Add a mechanism for Audio Feeding Parameters negotiation\n\nPreviously, the Audio Feeding Parameters between the Media Framework\nand A2DP were hard-coded: 44.1 KHz sample rate, 16-bits per sample, Stereo.\nNow the Media Framework queries A2DP, and uses the returned values.\n\nBug: b/30958229\nTest: Manual testing: A2DP streaming to headphones. TestTracker/68727\nChange-Id: Ib86035814c49f773b7ed3d64da334ca9ea87eb14\n"
    },
    {
      "commit": "d3c61c2c74a9a83392ccaee17b6f1dd54492a530",
      "tree": "0da36bcf95e651598f57cdf040ae7cf958e0d184",
      "parents": [
        "d71f16268227c15a0ac2043e15900db5df2c417d",
        "8243fcd644bd4b4865c3977435bb758c981ccf65"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 29 21:04:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 21:04:49 2016 +0000"
      },
      "message": "Merge \"remove support for legacy audio policy manager\""
    },
    {
      "commit": "8243fcd644bd4b4865c3977435bb758c981ccf65",
      "tree": "82e0b1a2b2f0fa71b82e815a1f3df91b5cfb8d1d",
      "parents": [
        "bd54eef2d289f786a7ae02139ce3bb9db2b03b24"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 28 17:51:14 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 28 17:53:13 2016 -0800"
      },
      "message": "remove support for legacy audio policy manager\n\nTest: make\n\nChange-Id: I7294a52674abadfdbc4da40a72c8fe1a229d0815\n"
    },
    {
      "commit": "382bbc8fd1617e96881693c5f747def476c5786f",
      "tree": "129bba96367e1a89af182ba4cf847ed8d5678897",
      "parents": [
        "a447a0f52fff7f1cab3bbe7c0a2f9b96f8e3914e",
        "99bb2f9afd956174785051827aa96d008b33faee"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 28 22:24:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 28 22:24:37 2016 +0000"
      },
      "message": "Merge \"Do not hardcode media - a11y stream aliasing\""
    },
    {
      "commit": "99bb2f9afd956174785051827aa96d008b33faee",
      "tree": "f7e193c81b9a410b65b030760b20dbbf122ce58f",
      "parents": [
        "7fd5bdb5fa9db81f0293793b7b6d45dd833d05b2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Nov 23 15:52:07 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Nov 23 15:52:07 2016 -0800"
      },
      "message": "Do not hardcode media - a11y stream aliasing\n\nMedia and accessibility volume aliasing is now modal, and\n  now handled in AudioService.\n\nTest: see bug\nBug: 30448020\nChange-Id: Ie4e1775163fb65da2c0ed766b477cd9fc1c919d1\n"
    },
    {
      "commit": "3e9e728ef329e49424d5878c682bf82dac5009ef",
      "tree": "5a39f5853e58ef98692aca5a679120c15679c320",
      "parents": [
        "b620c0a38648f578ce3bfa77059295af79d0fa29",
        "504a885be0d8ca46c8787486f26d676648e21704"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Nov 23 04:33:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 23 04:33:19 2016 +0000"
      },
      "message": "Merge \"fix Potential leak of memory pointed to by \u0027sourcesLiteral\u0027\" am: fa81ba8775 am: e16a2029e0 am: 228b9dec45\nam: 504a885be0\n\nChange-Id: Iba5669ae28b61114a9357291e9ff5ac63ba7ad63\n"
    },
    {
      "commit": "e16a2029e073d348f480665db799de5a922f43f8",
      "tree": "90be8762869341a10bf1f3112b56f67f268a0843",
      "parents": [
        "c12499d5c646e79d6a91dddc44c79921d9967c8e",
        "fa81ba8775c497c229078c25bcf8374e8420ea18"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Nov 23 04:24:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 23 04:24:47 2016 +0000"
      },
      "message": "Merge \"fix Potential leak of memory pointed to by \u0027sourcesLiteral\u0027\"\nam: fa81ba8775\n\nChange-Id: I7d261ceb8cfce3b3f56ed907e1e32d70e7a40d45\n"
    },
    {
      "commit": "fa81ba8775c497c229078c25bcf8374e8420ea18",
      "tree": "3e58fc2371a993c5bf0928fcdbac6c61341efb6a",
      "parents": [
        "955e85294dfff70ae7f4afff28ab408e6eb981ed",
        "cc7c0d6fff90c867f661b795e803043aee4d0bb8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 23 04:18:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 23 04:18:15 2016 +0000"
      },
      "message": "Merge \"fix Potential leak of memory pointed to by \u0027sourcesLiteral\u0027\""
    },
    {
      "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": "d5eb866c536c3497e778742e5fda22ac1def9fc6",
      "tree": "5cd69b0ff56891ca06e6374593a1c6d9908f3847",
      "parents": [
        "fa43b5468f93af356297b5e2f381274d4b484ece",
        "76321a335ccd1e810221e5ffbae2f045d4f397fa"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Nov 18 23:28:33 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 18 23:28:33 2016 +0000"
      },
      "message": "Merge \"Remove LOCAL_COPY_HEADERS from libparameter\"\nam: 76321a335c\n\nChange-Id: Ie99187aa91ddb1a9fa199dcf681edd4565cc0d1b\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": "05b345e504a0affd24eefa12686812c554b294ff",
      "tree": "a83b3f6cdd2f56fd9d3564c811923a0ea427345c",
      "parents": [
        "6507185f5c59d39deeda6598ce50ee4900723501"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 18 12:36:27 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 18 12:44:27 2016 -0800"
      },
      "message": "audio policy: fix sound trigger capture disabling in startInput()\n\nFix test on number of active sessions in startInput()\ndeciding of overall capture state indication to sound trigger service.\nAs session active count is incremented before the test, the count indicating\nthe first active session is 1 and not 0.\n\nBug: 3289438\nTest: verify OK google detection on Angler\n\nChange-Id: I0a6c5d6240942e978fefffb536577b9d7dc29961\n"
    },
    {
      "commit": "cc7c0d6fff90c867f661b795e803043aee4d0bb8",
      "tree": "135370892a4372382e70aaec7c1017fc4a3dfa92",
      "parents": [
        "11f51b046344c8e14ef764d755cae697f6bce4e8"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Nov 15 17:55:57 2016 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Nov 15 17:55:57 2016 -0800"
      },
      "message": "fix Potential leak of memory pointed to by \u0027sourcesLiteral\u0027\n\nBug: none\nTest: the warning is gone.\nChange-Id: I8fe9610e24e31e3f788d00fa7f594e1274771433\n"
    },
    {
      "commit": "0aa15c6e4d02d3aa96d5ddfc6c862fe4da1da594",
      "tree": "8f4ba1cb7489b7842ff9d649f666d85c922b89e8",
      "parents": [
        "74d3601bea717111f77376cf1678d2bc65dd51a1"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 08 14:09:10 2016 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 08 14:09:10 2016 -0800"
      },
      "message": "Add back AUDIO_DEVICE_*_STUB to the enum map.\n\nIt has been accidentally removed, and it is used in\naudio_policy.conf on certain devices.\n\nBug: 32740394\nChange-Id: I59a1b44472aeabc87f65c6cee6371ac3647ecf57\nTest: make \u0026 check on the device\n"
    },
    {
      "commit": "300379ab01ec4c5f9f538284dbb1e49ad012de29",
      "tree": "d72611a51551f9fce78a2eaf8b84e17fe17a75cf",
      "parents": [
        "925cad7e9697140fe296f9a87cfbd1cb86210db2",
        "913d06c099bd689375483a839e11057ccf284d1c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Nov 07 20:45:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 07 20:45:24 2016 +0000"
      },
      "message": "Merge \"Move TypeConverter into a shared library\""
    },
    {
      "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": "4ea929819e23ecd388e1edce25a10631ee53e9e3",
      "tree": "23738cbafefdd9f9dcc839a01525533e0045c554",
      "parents": [
        "5c4ca88476ea3c26b88fc13c281db9eb20913511",
        "795a2a75542d25eefa56bebc388340ee15fdff5c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 17:21:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 07 17:21:49 2016 +0000"
      },
      "message": "Split libmedia into libmedia and libaudioclient\nam: 795a2a7554\n\nChange-Id: Ic08eddc5650d3f5d344ebcf93ad98ae5bb236c8c\n"
    },
    {
      "commit": "795a2a75542d25eefa56bebc388340ee15fdff5c",
      "tree": "5b595a348342c3ad28549329ba5653ad62db75d1",
      "parents": [
        "bf26c4eb629b514648420916fd1db40333c30ea5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 13:21:22 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 19:31:54 2016 -0700"
      },
      "message": "Split libmedia into libmedia and libaudioclient\n\nThis makes it so audioserver doesn\u0027t need to link against the entire libmedia,\nwhich has dependencies on camera, ICU, OpenGL and other things that aren\u0027t\nneeded for audio.\n\nTest: build/boot\n\nChange-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af\n"
    },
    {
      "commit": "4f197ec220d2c9634429692dd37896233273111d",
      "tree": "9ee3410c97a0375f18e05a0728643cfe587f0edc",
      "parents": [
        "68f9d0dc3b25c69eecccc9487319dd3343f0790b",
        "46d0a5b493dc7ef8cfd068c1b12d1d47d03d7884"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 22:52:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 04 22:52:20 2016 +0000"
      },
      "message": "Merge \"Remove unneeded links with dynamic libraries\"\nam: 46d0a5b493\n\nChange-Id: Ica6dd538c30b9aeccddad229cb24ade4d82d2e4c\n"
    },
    {
      "commit": "263506542fbe480ddb247597bdcef16c437b48dd",
      "tree": "1ad06b1495a50534199f1aa5068b8519dd5d50c5",
      "parents": [
        "712690b37495816a3f55e2d000f1f68caf1c20a4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 14:17:07 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "538ec5e04f389cba637b030757be317fcb8677a8",
      "tree": "c9c576057efe1f6c0bdf1a4cbf6b58dce68f5e3f",
      "parents": [
        "e085c1072f017d4910f7e49741f72e8a722b8892"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 13:21:22 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 12:14:36 2016 -0700"
      },
      "message": "Split libmedia into libmedia and libaudioclient\n\nThis makes it so audioserver doesn\u0027t need to link against the entire libmedia,\nwhich has dependencies on camera, ICU, OpenGL and other things that aren\u0027t\nneeded for audio.\n\nTest: build/boot\n\nChange-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af\n"
    },
    {
      "commit": "c661ae6165338fd5f0bca50a63058b4bcd6def4b",
      "tree": "1fabefad176045b256eb3282f391b9e1ae4ee654",
      "parents": [
        "bf2e61f54c7dcc37c97b4908c9ed6871cf3d2b49"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 26 15:42:11 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "bf2e61f54c7dcc37c97b4908c9ed6871cf3d2b49",
      "tree": "c7630795f1623d784fb17e1e129fdd93bdabea6e",
      "parents": [
        "1e4d737fcd3129f3b3cf29499f344b42219c6bc7",
        "559d439c6fe8679e3c52f1cf265d46d7d2e65b68"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 24 16:52:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 24 16:52:08 2016 +0000"
      },
      "message": "Merge \"Use audio_patch_handle_t in startAudioSource() and stopAudioSource()\""
    },
    {
      "commit": "559d439c6fe8679e3c52f1cf265d46d7d2e65b68",
      "tree": "9e23625c0b55e45e79842d6605e027dba01f0fe0",
      "parents": [
        "bd0f59e493dbd67d1871b243ddad9cce3b50d7ce"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 29 13:42:57 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 19 18:19:29 2016 +0000"
      },
      "message": "Use audio_patch_handle_t in startAudioSource() and stopAudioSource()\n\nBug: 27903060\nChange-Id: Iafc2095f484b74978c6f080c54f548e293bf945e\n"
    },
    {
      "commit": "9ee0540d3a61bff03d561ca431a371c3d9335d2b",
      "tree": "1bf7817725f35ec9c0755e819cb5f58fdf0bf487",
      "parents": [
        "e7e8d636b486cf49487db1d8da5e8e7cb15d9549"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 13 15:58:17 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Oct 19 09:46:33 2016 -0700"
      },
      "message": "Remove last references to hardware/audio.h\n\nDeviceHalInterface transitioned to \"capabilities\" model\n(similar to the one already used by streams, e.g. \u0027supportsDrain\u0027).\nNo direct checking of the HAL version is needed.\n\nAudioPolicy uses its own version read from the configuration,\nand these values never checked against the actual HAL version,\nthus it does not need versions and macroses from hardware/*.\n\nTest: make \u0026 run on N6P\nChange-Id: Ic4a56bfa19a9a61edac2b9f9a163fd8f63a0ff87\n"
    },
    {
      "commit": "e7e8d636b486cf49487db1d8da5e8e7cb15d9549",
      "tree": "2ec67fe51bb7ff9ca47b66d4d91405406642d7be",
      "parents": [
        "65fb65678345f03f38771523b7020f6777eff5c4",
        "c2f710f89ec1a3ea8e448bfafcc02b03529cc681"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Oct 18 16:10:05 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 18 16:10:05 2016 +0000"
      },
      "message": "Merge \"Move audio_effects_conf.h to system/audio_effects\""
    },
    {
      "commit": "65fb65678345f03f38771523b7020f6777eff5c4",
      "tree": "73b42913d08115480cbbbe1b6897917f4c1ae6a2",
      "parents": [
        "9a79c8f84a6de3b942c6b0a347aece7ecb7daed5",
        "388360c786cdcbec650b79db65c734b8952dfec0"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Oct 18 16:01:15 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 18 16:01:15 2016 +0000"
      },
      "message": "Merge \"Brush up audio parameters usage\""
    },
    {
      "commit": "c2f710f89ec1a3ea8e448bfafcc02b03529cc681",
      "tree": "36109077cc2fd28725397002a707689faca3877f",
      "parents": [
        "9a79c8f84a6de3b942c6b0a347aece7ecb7daed5"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Oct 17 18:05:36 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Oct 17 18:07:52 2016 -0700"
      },
      "message": "Move audio_effects_conf.h to system/audio_effects\n\nThis file is not really related to HAL.\n\nChange-Id: Ie584266c708cebac651997c8086032b4cc25832b\nTest: make\n"
    },
    {
      "commit": "388360c786cdcbec650b79db65c734b8952dfec0",
      "tree": "a3ba18b19471046dddb8218a1461269b101bd1e0",
      "parents": [
        "61a4fac2e3ec271241e3a4f405d7357b7f6ca4c2"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Oct 17 17:09:41 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Oct 17 17:09:41 2016 -0700"
      },
      "message": "Brush up audio parameters usage\n\nIt is preferred to use the constants from AudioParameter\n(which can now serve as an abstraction layer similar to libaudiohal).\n\nGrepped for usages of defines and just string values\nand replaced with references to AudioParameter.\n\nSince the parameter definitions are being moved to system/audio.h,\nupdate includes in AudioParemeter and stagefright Utils.\n\nChange-Id: I2addb983707d866b16f39d45d0e14b802595e292\nTest: make\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": "61a4fac2e3ec271241e3a4f405d7357b7f6ca4c2",
      "tree": "0ce2e32297df380eb5a5d971e8daac0634a96731",
      "parents": [
        "61787b26691da285d8ab79795237006ceb018c4d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 13 14:44:18 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Oct 14 09:29:54 2016 -0700"
      },
      "message": "Remove dependencies on hardware/audio_policy.h\n\nMost of the time it\u0027s not needed, may be needed when\nUSE_LEGACY_AUDIO_POLICY is enabled.\n\nTest: make\n\nChange-Id: Id25eafc05352f07614965913d367d484f2673fbd\n"
    },
    {
      "commit": "00260b5e6996b0a4b12f71c5b84e44adea040534",
      "tree": "7e93a2e3cc5f918d8f7a7409d9c98712eed0d2fe",
      "parents": [
        "47677e3edda7b15bc0b48c6863a01ae052785e0c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 13 12:54:24 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 13 14:02:38 2016 -0700"
      },
      "message": "Remove dependencies on hardware/audio_effects.h and EffectsFactoryApi.h\n\nAlso remove some outstanding dependencies on hardware/audio.h.\n\nMost of the time, only constants and structs from audio_effects.h\nare used, and no actual calls into HAL are made. Move these\ndefinitions into system/audio_effect.h, and generate constants\nfrom TREBLE HAL definition.\n\nFor parameters, always use values from AudioParameter class.\n\nThere are still some outstanding includes of hardware/audio.h\nin code that directly deals with audio modules. Need to extend\nlibaudiohal interfaces to support required functionality.\n\nTest: make\n\nChange-Id: I0bcdf8ae199485d4d65f3eeb7e7a3b9b5cdb6ab6\n"
    },
    {
      "commit": "cbc8f617c1aebef5d041fa40dcd38a5466690b99",
      "tree": "525470607c3e6436c5a73caac90830104fcde9ac",
      "parents": [
        "0c739c59dd1a3d52beb82a353c13b6c853d93f5f"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Oct 11 18:05:13 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Oct 11 18:05:13 2016 -0700"
      },
      "message": "Eliminate dependencies on hardware/audio.h (trivial cases)\n\nframeworks/av must not depend on hardware/ (except for the code\nfrom libaudiohal that actually calls into HAL).\n\nThis CL deals with simple cases where depending on system/audio.h\nis enough.\n\nChange-Id: Ia2cb66cc8c92316ce5ab884a008d5e531263c2e4\nTest: make\n"
    },
    {
      "commit": "f7c50104b07091880019f4ecc70d977961148268",
      "tree": "4e6d9fe3a5b9d66723385205ef54afd845e183be",
      "parents": [
        "00c553db3e9c486b016fa030be00f5b53c6b0b8e",
        "a3de77f1a7c994cdf53d10889d78d69c36fc85f3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 30 15:19:43 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 30 15:21:20 2016 -0700"
      },
      "message": "resolve merge conflicts of a3de77f to master\n\nChange-Id: Idb3346465ee7f47d95fd24e2dafdd66f3759c1be\n"
    },
    {
      "commit": "a3de77f1a7c994cdf53d10889d78d69c36fc85f3",
      "tree": "d7d7160dc9e267941fae40d7db40a091e6927edf",
      "parents": [
        "6011acd88b95931f8c5ed471f479c8ae18435eea",
        "9080e1791189a56c042286c5908760e4a46446b3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 30 19:35:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 30 19:35:18 2016 +0000"
      },
      "message": "audio policy: fix capture indication to sound trigger service. am: 271a93e924\nam: 9080e17911\n\nChange-Id: I2131473eb29d7896cad0d1459807214d89b0d754\n"
    },
    {
      "commit": "271a93e924f46ccaf3f76a8fc38685afea40d3ee",
      "tree": "04c7e4d6c5315966d32b5c991ec9faba70cd77cd",
      "parents": [
        "429a052c35e3cca601889b12dd34edbd61eda61d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 29 14:47:06 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 29 14:47:06 2016 -0700"
      },
      "message": "audio policy: fix capture indication to sound trigger service.\n\nOnly indicate active capture to sound trigger service\nwhen capturing from primay HW module.\n\nBug: 31826453\nBug: 31771879\nChange-Id: Idf92393d3e7dbf926b847ab23f670e7ab5dd5248\n"
    },
    {
      "commit": "ee4b2c9b3f63ed8a7acb7c6bba68dcd40b77bf8d",
      "tree": "90fe45b98a74bd4e123c0a676ce4e07213beb6a4",
      "parents": [
        "616445eaa07885173767544d3c5a61ad652d1171",
        "809acee9e27acd2ce69b3f8324b30a96782d0444"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 29 16:06:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 29 16:06:16 2016 +0000"
      },
      "message": "audio policy: fix media volume after ringtone am: 57de36ccd1 am: f3ef8248a7\nam: 809acee9e2\n\nChange-Id: I69beb8361d17fb215cf1d3d04faa97b25e78d371\n"
    },
    {
      "commit": "809acee9e27acd2ce69b3f8324b30a96782d0444",
      "tree": "662294b5aee007f7dc23819b557c01c6855f9bb8",
      "parents": [
        "7ab345b9f8b043a23648f24fd72ae5c14836a1d1",
        "f3ef8248a7b1419d52fcdb23ac07df3781a2db6e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 29 16:01:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 29 16:01:43 2016 +0000"
      },
      "message": "audio policy: fix media volume after ringtone am: 57de36ccd1\nam: f3ef8248a7\n\nChange-Id: I7893c08978caf6ada73b5449ec3e1bcead96f9c1\n"
    },
    {
      "commit": "57de36ccd1f524d602d267884bdcfae8559a6e6a",
      "tree": "1579ecee7caacc909ffeb24488a12a936c9fc6b9",
      "parents": [
        "08e1f41731ad95a0019b3733b999958a07f705ac"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 28 16:59:11 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 29 00:49:54 2016 +0000"
      },
      "message": "audio policy: fix media volume after ringtone\n\nFix regression introduced by commit 11c499a5 causing\nmusic volume not to be restored after ringtone playback\nover duplicated output (speaker + A2DP).\n\nBug: 31539910\n\nChange-Id: I1c4eebea1f1a8f82ae2acfeecb9a61c437a74e25\n"
    },
    {
      "commit": "7c9c33abb1ad874a277b17ceab91464966754926",
      "tree": "7539333060fcb3ee8b65804585c1296837aae438",
      "parents": [
        "9e75537cbc2f7c040d0c2f1dfcae39898f729ea8",
        "47406b64704137703f3d0ebe304a7286153d435a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 21 00:34:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 21 00:34:53 2016 +0000"
      },
      "message": "AudioPolicyManager: fix setStreamVolumeIndex(). am: e76f29cbde am: fa94796ebb\nam: 47406b6470\n\nChange-Id: I2692aa7dc3dc206ba6aa6d30bc0064699059dad0\n"
    },
    {
      "commit": "47406b64704137703f3d0ebe304a7286153d435a",
      "tree": "abe1a39f8b8a433c943ad8a92f62f5c27528a8f4",
      "parents": [
        "abc97dee27bdf8c909cfc8a3d1d27adad5e6fa39",
        "fa94796ebba3d4813364c4b22a441d8544dce6c6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 21 00:00:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 21 00:00:26 2016 +0000"
      },
      "message": "AudioPolicyManager: fix setStreamVolumeIndex(). am: e76f29cbde\nam: fa94796ebb\n\nChange-Id: I15e9ff87ddd180eb6d5c3fc9dcdd3bd2be92d55f\n"
    },
    {
      "commit": "fa94796ebba3d4813364c4b22a441d8544dce6c6",
      "tree": "f59ce27da958cc7f11968188a1d471d0aa9a7500",
      "parents": [
        "14d8147645aa571c5a3a316f235926b18255da55",
        "e76f29cbde016e2a5e76e308f946644adae10a17"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 20 23:57:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 20 23:57:16 2016 +0000"
      },
      "message": "AudioPolicyManager: fix setStreamVolumeIndex().\nam: e76f29cbde\n\nChange-Id: I6eb6dbbea93321f366bea7fa39925bcac03225c2\n"
    },
    {
      "commit": "3b0515db3405df2e759984aff7ac59aed0b16a98",
      "tree": "f59ce27da958cc7f11968188a1d471d0aa9a7500",
      "parents": [
        "2b676113cf2fa7ca2d3765a8b9c2914661aeedc8",
        "e76f29cbde016e2a5e76e308f946644adae10a17"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 20 23:53:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 20 23:53:08 2016 +0000"
      },
      "message": "Merge \"AudioPolicyManager: fix setStreamVolumeIndex().\" into nyc-mr1-dev"
    },
    {
      "commit": "e76f29cbde016e2a5e76e308f946644adae10a17",
      "tree": "8467cc192d7fed5caf659f5a5f4ab5db6e265fdd",
      "parents": [
        "7c6bd7b17835cfa615d1f74aa7fe7c45c7190e4d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 14 17:17:53 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 16 10:00:12 2016 -0700"
      },
      "message": "AudioPolicyManager: fix setStreamVolumeIndex().\n\nFix bug in setStreamVolumeIndex causing default volume not\nbeing applied on active streams.\n\nBug: 31489345\n\nChange-Id: I7d54ab63a7473b211c26c28099fbe8d9440fced3\n"
    },
    {
      "commit": "8e1d94daf47a3b2b9358c82b26590cc995233681",
      "tree": "8286856a849d4e31fe2274aa04aba542dee740bc",
      "parents": [
        "fb2892b95ae67bad217a8c8c5e00ff21eec1d875",
        "4c455ebfe643dbe1e5fbccd68f7e3ad48841d58a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 15 18:08:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 15 18:08:21 2016 +0000"
      },
      "message": "Address the concurrency of accessibility and ringtone am: 3d8b4a450b am: 7eaff48959\nam: 4c455ebfe6\n\nChange-Id: Ice70f9e97a19fef9960c6660095f6bf4b438766c\n"
    },
    {
      "commit": "4c455ebfe643dbe1e5fbccd68f7e3ad48841d58a",
      "tree": "85c750562a5316b3b884d0a46e24405dae53dcf2",
      "parents": [
        "b94455630c86f6bc4d0dbd94d70f367a7b3fe22d",
        "7eaff48959d03e9b1dfc2399c00fcbd3093a184d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 15 17:56:40 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 15 17:56:40 2016 +0000"
      },
      "message": "Address the concurrency of accessibility and ringtone am: 3d8b4a450b\nam: 7eaff48959\n\nChange-Id: Ie26f87a6e62b9b2bf7368afad8c4a5b14722186d\n"
    },
    {
      "commit": "3d8b4a450b451183b4eaba321b594df4a4ae9948",
      "tree": "2f107882deec0cab095798200c0b33a471bc98ca",
      "parents": [
        "41f2c47c0019b2a979ebe79241c5eb6ce14c0a3f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 14 18:37:46 2016 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 14 18:37:46 2016 -0700"
      },
      "message": "Address the concurrency of accessibility and ringtone\n\nUse ringtone level -4dB for accessibility when an accessibility\n  prompt is played while the ringtone is playing, and the\n  accessibility level is lower than the ringtone level.\n\nBug 30754235\n\nChange-Id: I5f044c3bddabca45528292846a378be13d73ff6c\n"
    },
    {
      "commit": "ad477fed3d696cd5e27da4d281fcff3d2a83e862",
      "tree": "3c6d40efa5da0bcf4303296e8c0e71032f4e4483",
      "parents": [
        "634d3a4ec85970ea8232756c5e4c6d757ddcacd6",
        "2e97f1eea42fc4acdec6094c552552447a29c24f"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sat Sep 10 17:30:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 10 17:30:26 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in audioflinger, audiopolicy.\" am: 9c9bad3c8d am: f7dc6d0df1 am: 5848eb65f6\nam: 2e97f1eea4\n\nChange-Id: I482687030a0ca02e61f68554b10515450dff1043\n"
    },
    {
      "commit": "2e97f1eea42fc4acdec6094c552552447a29c24f",
      "tree": "32e2ff3892b70a1793500c44198c9145b39c91ab",
      "parents": [
        "71f5bdbf2f2335c25d6545e58c141342ce62a6aa",
        "5848eb65f6ced6bb9ada57223bdbc416602d6f6c"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sat Sep 10 17:19:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 10 17:19:48 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in audioflinger, audiopolicy.\" am: 9c9bad3c8d am: f7dc6d0df1\nam: 5848eb65f6\n\nChange-Id: Ifdd4b164f9d8ad5fa1f285dc3ecda7faadb3cd72\n"
    },
    {
      "commit": "9c9bad3c8dfd51ddd65c015588814f84fddd5630",
      "tree": "146a4005e3a0d61c6add7306bbee6616058047c3",
      "parents": [
        "de9d1052553b1eb7ed825e30b915238d68894262",
        "34f28cbb1d52348deb8dc868530eae2b3f22931e"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sat Sep 10 17:08:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Sep 10 17:08:12 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in audioflinger, audiopolicy.\""
    },
    {
      "commit": "15c1225da92bdae3c96a064fefbe745dd267185a",
      "tree": "9ef6b5e6579aa04b4c84dc78b16db2db1bb01809",
      "parents": [
        "c7239f10fafe26e948d8505554f4f0f113395a93",
        "61f87168e91363d086ebbb5100c8684097681bc1"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Sep 02 15:54:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 02 15:54:44 2016 +0000"
      },
      "message": "audiopolicy: Avoid spurious routing in APM::stopSource am: 11c499a59e am: 5c261a2189\nam: 61f87168e9\n\nChange-Id: I0f97c34e0d8abb1ec130f6db781fbcfe2a455324\n"
    },
    {
      "commit": "61f87168e91363d086ebbb5100c8684097681bc1",
      "tree": "854fe5d2213f28997561f60ffafb267be6560ed2",
      "parents": [
        "3c96a7253fbdadf27c6ebcea1e28d5c903b3d69c",
        "5c261a21898e086f4a1dbb503690f3d7018ea48b"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Sep 02 15:51:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 02 15:51:18 2016 +0000"
      },
      "message": "audiopolicy: Avoid spurious routing in APM::stopSource am: 11c499a59e\nam: 5c261a2189\n\nChange-Id: I31ff3ac4e07d072b1756fa333057f67ecaf4285f\n"
    },
    {
      "commit": "c7239f10fafe26e948d8505554f4f0f113395a93",
      "tree": "3adea1d4d94ce331e0e6ed959eef86d6707a2072",
      "parents": [
        "f2eef91ab93c715d72a0ce5765ef05c4936af0cd",
        "3c96a7253fbdadf27c6ebcea1e28d5c903b3d69c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 02 01:21:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 02 01:21:10 2016 +0000"
      },
      "message": "Merge \"Use symbolic name for return value in legacy audio policy client\" am: e31f1491f8 am: d6229bb516 am: 95852cbbbb\nam: 3c96a7253f\n\nChange-Id: Ia4fd2e6fc79fea1754bd81c5fc5b847bb347dbe1\n"
    },
    {
      "commit": "3c96a7253fbdadf27c6ebcea1e28d5c903b3d69c",
      "tree": "5964f85a77078f34624ef21a9dcd75924c22adf3",
      "parents": [
        "1315e3a7c06c8eb52b4c11d973d336a1ac9d2ad0",
        "95852cbbbb3d1caabc6d03444d9a762bb78aee5d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 02 01:18:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 02 01:18:09 2016 +0000"
      },
      "message": "Merge \"Use symbolic name for return value in legacy audio policy client\" am: e31f1491f8 am: d6229bb516\nam: 95852cbbbb\n\nChange-Id: I376781094ef5c565be1db23784636b7422b38ad8\n"
    },
    {
      "commit": "e31f1491f87804595ad2f2a4a0842ffe7f35f32f",
      "tree": "37493f4a2c0b381a55c55f485a160bd325d9d6c8",
      "parents": [
        "dd780c160d9437ec08b743842711f7a1aa587bd0",
        "2eae53c0128428f936ea1dc6b75e583c30ef1e25"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 02 01:06:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 02 01:06:02 2016 +0000"
      },
      "message": "Merge \"Use symbolic name for return value in legacy audio policy client\""
    },
    {
      "commit": "11c499a59eb8effc59209f6c06df3ed78c2998a8",
      "tree": "dca4ba5b10684ee27f161eefb1915822cdcb338a",
      "parents": [
        "8e7b58c0aeb6d106d9f83ff0048c30849f12df82"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Aug 26 12:08:25 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 30 13:27:24 2016 -0700"
      },
      "message": "audiopolicy: Avoid spurious routing in APM::stopSource\n\nOn AudioOutput::stopSource, ignore routing calls\non an output descriptor to the same device\n\nBug: 31185954\nChange-Id: I80f442982f7e66efb59b639a7ca9424745dbd70a\n"
    },
    {
      "commit": "34f28cbb1d52348deb8dc868530eae2b3f22931e",
      "tree": "397de51c6f9c023df5bd33c4ff59af81dfe6a2f5",
      "parents": [
        "1567662f5a709398004cf509fb3f382f0c76f5b1"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:18:27 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:18:27 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in audioflinger, audiopolicy.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I3b73f0cd73f47be7735cc374306c02301c20588f\n"
    },
    {
      "commit": "7b946f1102a90dd1735b334a77243f4f8126bd70",
      "tree": "5657a0a8c639a61fd9fa8c1bf093e6cb7a91a137",
      "parents": [
        "f6aa33f6d89643fa52be1475d92c722623f2d76c",
        "f732e0726c5e0c4a1460e2dfa8c39e7a9a697ae9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 00:16:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 23 00:16:36 2016 +0000"
      },
      "message": "Merge \"audiopolicy: modify A2DP suspend logic\""
    },
    {
      "commit": "44f13b94ec6cc55923dc350561db96b194c9bd0f",
      "tree": "f51f83290c8b29650af58a62255a0df8d06c54c6",
      "parents": [
        "16a811140d8591eb33a3d50b1542461fef3a06ff",
        "37ddbb43721947d6cb5246ec2cf2a6bd8fc28bcb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 11 15:31:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 15:31:01 2016 +0000"
      },
      "message": "Merge \"audiopolicy: fix very verbose logging build\""
    },
    {
      "commit": "5ca8f32280377dd923e72c3c6bd3994217461b8b",
      "tree": "b5146ce7885539d8b002d3270346f574e3965711",
      "parents": [
        "7aeb8c8d4437eb8f45be3ad3828764795e14ad4c",
        "63ef5a38f82d22c1f97922fe490a1fd336566d5c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 23:53:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 10 23:53:01 2016 +0000"
      },
      "message": "resolve merge conflicts of fd923e7 to stage-aosp-master am: df5d9246f9\nam: 63ef5a38f8\n\nChange-Id: I516a43c5e56323e99ad7a8ca2e4811b77c9704f4\n"
    },
    {
      "commit": "37ddbb43721947d6cb5246ec2cf2a6bd8fc28bcb",
      "tree": "a5c6ac041cedcfd26207e0ff01b2b421fed8248f",
      "parents": [
        "f6d5a13c3a7a84e35e28b9840dde0f29728b6849"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 10 16:19:14 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 10 16:19:14 2016 -0700"
      },
      "message": "audiopolicy: fix very verbose logging build\n\nChange-Id: I3a90ba55f85e11c9c2b986479c1dd0fda9059f81\n"
    },
    {
      "commit": "df5d9246f9607b1c2f8b134c46a05af06e206da3",
      "tree": "7cd9fcb42c86c8cfe950db239e21e8b5ece98369",
      "parents": [
        "7ad2854adc0abe8dd7909a6ed401107ad09bc3d2",
        "fd923e7fe2779bcd69d79471b8c30c8b98918f62"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 15:40:39 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 16:10:32 2016 -0700"
      },
      "message": "resolve merge conflicts of fd923e7 to stage-aosp-master\n\nChange-Id: I75b44b89bae41197a1fd68362d20b8ba2b4dd192\n"
    },
    {
      "commit": "e964d4e421e2d1ca937227a580c0c837091a11e3",
      "tree": "876478fb4d5b18ddf8ba3b761440e46651b45ecb",
      "parents": [
        "f6d5a13c3a7a84e35e28b9840dde0f29728b6849"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:31:32 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 11:35:57 2016 -0700"
      },
      "message": "Fix clang-tidy warnings in audio and playerservice.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I265f3b094e08d5705b506b3fbba51439c134af84\n"
    },
    {
      "commit": "36d0ca16024820df9a12903d2ac443fabcc180bc",
      "tree": "51e8f285ae66ad7cb922caeb7ba8d5f1d20367e3",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:31:32 2016 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 17:56:35 2016 +0000"
      },
      "message": "Fix clang-tidy warnings in audio and playerservice.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I265f3b094e08d5705b506b3fbba51439c134af84\nMerged-In: I265f3b094e08d5705b506b3fbba51439c134af84\n"
    }
  ],
  "next": "f732e0726c5e0c4a1460e2dfa8c39e7a9a697ae9"
}
