)]}'
{
  "log": [
    {
      "commit": "153f92d57b6a1d2fdc7fa601bbc86db31646a8f9",
      "tree": "0d380f13a58ff8fdf073dd974dcb55e4d18ef75c",
      "parents": [
        "45986c74cd5253bcc81b1b4954e3ff3300f7e6d8"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Dec 18 18:33:28 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Feb 06 15:49:11 2019 -0800"
      },
      "message": "Add secondary output to audio tracks\n\nThe secondary are returned from mixes (from DAP loopback\u0026render),\nfrom getOutputForAttr.\nAll getOutputForAttr* of the stack are update.\nInternal getOutputForAttr use descriptor, external one use handles.\n\nThe secondary output are saved in each track and the track is\ninvalidated if the list of secondary output changes.\n\nIn audio flinger, create a pair of recordTrack \u0026 patchTrack to pipe\nthe intercepted audio audio to the secondary output.\n\nTest: adb shell audiorecorder --target /data/file.raw\nBug: 111453086\nChange-Id: Id6523d9e383c15a0e39313d5f355df809b7e72fe\n"
    },
    {
      "commit": "45986c74cd5253bcc81b1b4954e3ff3300f7e6d8",
      "tree": "7c549d046cb5b342affb16ac8fdfeb13d3f53f3b",
      "parents": [
        "ba98acb34e60b2bf2dac5a55c4acbb80b5408568"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Dec 18 18:22:59 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Feb 06 09:38:33 2019 -0800"
      },
      "message": "Audioflinger: add timeout to PatchTrack\n\nAdd support for timeout that was only supported by PatchRecord.\nThis is implemented by moving the timeout and common code in a base\nclass.\n\nAlso remove PatchRecord useless virtual inheritance of RecordTrack.\n\nTest: adb shell audiorecorder --target /data/file.raw\nBug: 111453086\nChange-Id: I833148f31a311ca41092be1d7e2d170f086322c5\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "ba98acb34e60b2bf2dac5a55c4acbb80b5408568",
      "tree": "e55683923a4060bbfd59f87f1030b0218371ef18",
      "parents": [
        "1086b05f7d3cb296d55facd88621f16c2737cf33"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Dec 18 16:51:44 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Feb 06 09:38:23 2019 -0800"
      },
      "message": "Audiopolicy: Move AudioPolicyMixCollection in helper function\n\nNo functional changes\n\nTest: adb shell audiorecorder --target /data/file.raw\nBug: 111453086\nChange-Id: I300450742a3d6f0b22f69a25eeda7800e0a27943\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "1086b05f7d3cb296d55facd88621f16c2737cf33",
      "tree": "58254c1bc6f07d5d9f8645ae32b131239e74ffa8",
      "parents": [
        "0435a4dcb66366da53cf4544c941a40ed2b9c2bd"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Dec 18 17:52:55 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Feb 05 17:19:46 2019 -0800"
      },
      "message": "Add MIX_ROUTE_FLAG_LOOP_BACK_RENDER\n\nTest: adb shell audiorecorder --target /data/file.raw\nBug: 111453086\nChange-Id: I276a10921aac9f5e709c0a44c661cbbdc94e49db\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "0435a4dcb66366da53cf4544c941a40ed2b9c2bd",
      "tree": "d0963c6f1081a0f6008a56fbc03f6f5f33ae3505",
      "parents": [
        "f63dbf127223716fad9de179862eb4fde4fd64e7"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 01 18:17:25 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 05 02:31:49 2019 +0000"
      },
      "message": "Audiopolicy: Fix DeviceVector::getDevice logic\n\nIt was currently ignoring address even if the default format was passed.\n\nTest: adb shell audiorecorder --target /data/file.raw\nBug: 111453086\nChange-Id: I44a17fa32c4dd32c426d20bf0902bd406682743c\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "157c467799a2d6300af76150ad73850ef5cb574a",
      "tree": "36596b8d84236ceafa3cf6683c497228211bee53",
      "parents": [
        "d64607b6a79c235b7daaa7e3fe3002270f1ede1c",
        "58d4be5a5a5d24f18b7a207148c7caa317fef366"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 05 01:02:43 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 01:02:43 2019 +0000"
      },
      "message": "Merge changes from topic \"remove_hard_coded_attributes\"\n\n* changes:\n  audio: get rid of hardcoded translation stream \u003c--\u003e attributes\n  audiopolicy: engine: remove deprecated APIs\n  audiopolicy: exclusive Preferred Device\n  audiopolicy: apm: switch to new Engine APIs\n  audio policy service: Add introspection API to retrieve AudioProductStrategies\n  audiopolicy: engineconfigurable: Merge Policy Engine and Wrapper configuration files\n  audiopolicy: engineconfigurable: add configuration of ProductStrategies\n  audiopolicy: engine: Add ProductStrategy common code\n"
    },
    {
      "commit": "58d4be5a5a5d24f18b7a207148c7caa317fef366",
      "tree": "37e0a5e790187815757bd906c7767cfcea0e1f74",
      "parents": [
        "6054a7765cfd65c34d49a5a435bee1d0cdfb2d32"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Nov 06 15:30:12 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 05 00:18:00 2019 +0000"
      },
      "message": "audio: get rid of hardcoded translation stream \u003c--\u003e attributes\n\nIMPORTANT NOTE:\n    CL depends on another CL in frameworks/base\n    https://partner-android-review.googlesource.com/c/platform/frameworks/base/+/1206275\n\nAudioProductStrategies offers the possibility to dynamically\ntranslate attributes to stream types (and vice versa) within\naudio policy engine.\nLegacy engine has hard coded rules to maintain the translation\nservice.\n\nThis patch removes the hardcoded translation within the helper\nand replaces them by AudioProductStrategy APIs.\n\nTest: AudioPolicyTests: AudioProductStrategiesAllStreamsTest\nIt loops on all stream types supported by strategy and ensures\ndevice selection matches. Hard coded stuff would prevent right device\nselection.\nTest: CTS: AudioTrackTest AudioRecordTest\nTest: audio smoke test on sailfish, walleye blueline\n\n\nChange-Id: I76589df5555136ed49dbacc7aac9b0b5e828bef2\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "d64607b6a79c235b7daaa7e3fe3002270f1ede1c",
      "tree": "fac60e4f298a716530dd616342ead44b68f07aaf",
      "parents": [
        "81c75b410ebab27152f2c39fcb6d703ee8d6c0e7",
        "21cb47be5a6b0170c3a6cea57d13a9c6fcbf03da"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 04 22:02:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 22:02:21 2019 +0000"
      },
      "message": "Merge \"Camera: fix cleanupFailedRequests + HAL buffer manager path\""
    },
    {
      "commit": "81c75b410ebab27152f2c39fcb6d703ee8d6c0e7",
      "tree": "6f2948fec8a8206bafdedcf024792fe294763ffa",
      "parents": [
        "e3c7af5b478aefd9b33b1278c22a53c9f75e4413",
        "26af1a51efb42d3b6a5ed76bd307bba9cd636bfe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 04 21:34:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 21:34:46 2019 +0000"
      },
      "message": "Merge \"Camera: Remove thread that keeps HAL service alive for extra delay\""
    },
    {
      "commit": "e3c7af5b478aefd9b33b1278c22a53c9f75e4413",
      "tree": "90821c5a9123ba1eff85c38deecf0d4781731b3f",
      "parents": [
        "464a1f3f00320bdd603e6f2d0b069280fe1b11f4",
        "eb8c7bf64aa39ca688631802a18b45bd8a2631d4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 04 21:10:47 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 21:10:47 2019 +0000"
      },
      "message": "Merge \"Remove support for loading extractors from apk\""
    },
    {
      "commit": "21cb47be5a6b0170c3a6cea57d13a9c6fcbf03da",
      "tree": "7bdda77377bda38b562b76af5d23d1916f25f6bb",
      "parents": [
        "6512d900a8e1af55f9bf6be5f37bd7f3d7ddbe27"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 18 15:08:17 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Feb 04 12:19:04 2019 -0800"
      },
      "message": "Camera: fix cleanupFailedRequests + HAL buffer manager path\n\nTest: crash fixed\nBug: 120986771\nChange-Id: I3f7031b0a2db30dfbdcf0522dec1c0d6dc9ab26b\n"
    },
    {
      "commit": "26af1a51efb42d3b6a5ed76bd307bba9cd636bfe",
      "tree": "bcf9cf14ad35fdfc358ccab5f33029486804de5c",
      "parents": [
        "464a1f3f00320bdd603e6f2d0b069280fe1b11f4"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Fri Jan 25 06:57:01 2019 -0800"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Mon Feb 04 11:48:48 2019 -0800"
      },
      "message": "Camera: Remove thread that keeps HAL service alive for extra delay\n\nhwservicemanager now guarantees clients will be held for ~5s before the\ncallback onClients(false) is called and they are allowed to exit.\n\nTest: On walleye_svelte, manually observe camera behavior and the\n      lifetime of the lazy camera service process.\n\nChange-Id: Iafbdd73f439da3a4f0fecb069e356d30aa2732b5\n"
    },
    {
      "commit": "464a1f3f00320bdd603e6f2d0b069280fe1b11f4",
      "tree": "d3fde3c448bf2fd17958a8dc881206f4711c7589",
      "parents": [
        "6512d900a8e1af55f9bf6be5f37bd7f3d7ddbe27",
        "f122c308ca419df82cf3e61538db306444c82386"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Mon Feb 04 10:52:19 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 04 10:52:19 2019 -0800"
      },
      "message": "Merge \"Convert Android.mk file to Android.bp\" am: c000ec0cd8 am: 26fe49112d\nam: f122c308ca\n\nChange-Id: If8a8e8f4be010b03375b923db7a248058590ee5a\n"
    },
    {
      "commit": "f122c308ca419df82cf3e61538db306444c82386",
      "tree": "b54870943938e5350b4ba1f2814f91893e91d1c8",
      "parents": [
        "536426c32ff0ad5bc3fb78293af8cf0bf6918752",
        "26fe49112d57883bb0ab705b124c922dcb34c512"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Mon Feb 04 10:47:09 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 04 10:47:09 2019 -0800"
      },
      "message": "Merge \"Convert Android.mk file to Android.bp\" am: c000ec0cd8\nam: 26fe49112d\n\nChange-Id: I335628f7d658b0251c6df413ea3f1921365bc15d\n"
    },
    {
      "commit": "6512d900a8e1af55f9bf6be5f37bd7f3d7ddbe27",
      "tree": "6747c6bf871d84fd59aa2e7622cc9b84a6d5e488",
      "parents": [
        "4de30395dd18a267b30a461f2869f512750c5a53",
        "51f0e98712a7378073ec97ab59ea406a1fbaf169"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 04 18:30:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 18:30:44 2019 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix Tee track filename\""
    },
    {
      "commit": "4de30395dd18a267b30a461f2869f512750c5a53",
      "tree": "c0490ea99c48c6764499817450547d756c419f70",
      "parents": [
        "55be1a1b01de33b5b93abb1fa9b07c0c140ece27",
        "d239aa68d1896b9526b0e2571c1feff61c452702"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 04 17:02:12 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 17:02:12 2019 +0000"
      },
      "message": "Merge \"seccomp: allows more fstat calls for swcodec\""
    },
    {
      "commit": "55be1a1b01de33b5b93abb1fa9b07c0c140ece27",
      "tree": "1708157a797764f08d44bcc2d5e314b5de715316",
      "parents": [
        "9f0ba9c384c7b1e4c5e112867631d786da9a470a",
        "ab3c6a5b751258159e5b1e3f7dcb47b131dbfdc6"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Feb 04 16:37:07 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 16:37:07 2019 +0000"
      },
      "message": "Merge \"audioflinger: allow unsigned overflow in getRenderPosition\""
    },
    {
      "commit": "eb8c7bf64aa39ca688631802a18b45bd8a2631d4",
      "tree": "3c72e4625bade31999fdac71a32703e12c57d25a",
      "parents": [
        "850847df034369c54da382ef43693349cdfb3c97"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 01 13:06:00 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 04 16:01:36 2019 +0000"
      },
      "message": "Remove support for loading extractors from apk\n\nBug: 123250010\nTest: boot, play video\nChange-Id: I19c66d76f98a593ac9082054a2faccedcd73a55d\n"
    },
    {
      "commit": "51f0e98712a7378073ec97ab59ea406a1fbaf169",
      "tree": "fc2a6b55a8c9957e52499d7763f24741b917272f",
      "parents": [
        "5a49f40a70302ac1ffc54e0d96db2bec17546fe1"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 01 19:19:11 2019 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Feb 02 22:57:17 2019 +0000"
      },
      "message": "AudioFlinger: Fix Tee track filename\n\nTest: adb shell audiorecorder --target /data/file.raw\nBug: 111453086\nChange-Id: I5cd1ecd9f85bb2278e6d1f9434aa453833afa173\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "6054a7765cfd65c34d49a5a435bee1d0cdfb2d32",
      "tree": "37390182206a6401daead33e48e1d60d6336d521",
      "parents": [
        "f579db5aa9e1cbbe5a8b7689e319913e154cda3b"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Nov 06 13:10:58 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Feb 02 10:43:22 2019 -0800"
      },
      "message": "audiopolicy: engine: remove deprecated APIs\n\nTest: make\n\nChange-Id: Idfcb060095da92adb286706d4eaf9b9a78a8c61a\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "f579db5aa9e1cbbe5a8b7689e319913e154cda3b",
      "tree": "8cbb24a261decd14aad3fcbfa4e5e32abe607686",
      "parents": [
        "c005e569c7bae3f8c49660c9388c3076046069f5"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Nov 13 11:25:16 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Feb 02 10:43:22 2019 -0800"
      },
      "message": "audiopolicy: exclusive Preferred Device\n\nIt allows to force the routing of music during call without\naffecting clients that does not explicitely requested to use\nanother device than the one decided by the policy during call\n(which is TELEPHONY TX).\n\nIt fixes differently Bug 111467967.\n\nTest: make\n\nChange-Id: I6034f0d2568e1b2a1e600d9ae1453fd0c60ed02e\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "c005e569c7bae3f8c49660c9388c3076046069f5",
      "tree": "8612dc3a3d69c018b303bf8e56aa142db5465e8e",
      "parents": [
        "d0ba9ed06c61ab3e66627e027fbc34ba998140ee"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Nov 06 15:04:49 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Feb 02 10:31:32 2019 -0800"
      },
      "message": "audiopolicy: apm: switch to new Engine APIs\n\nTest: make\nChange-Id: Iedc2268852ee0bce32b67cfd324395c48cb33424\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "d239aa68d1896b9526b0e2571c1feff61c452702",
      "tree": "b1da587fa35dd713153aa19c9dfc0bfa6001a8df",
      "parents": [
        "5a49f40a70302ac1ffc54e0d96db2bec17546fe1"
      ],
      "author": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Sat Feb 02 07:47:42 2019 -0800"
      },
      "committer": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Sat Feb 02 07:47:42 2019 -0800"
      },
      "message": "seccomp: allows more fstat calls for swcodec\n\nTest:\nlunch sdk_gphone_x86_64-userdebug\nmake -j\nemulator\n\nmedia.swcodec should not be killed by minijail anymore\n\nChange-Id: I8bb9a4a36e207e2bb9c42226cac34bb46281b78f\n"
    },
    {
      "commit": "d0ba9ed06c61ab3e66627e027fbc34ba998140ee",
      "tree": "49948f80335bea4a358c7f455dfd6a5e59a94e30",
      "parents": [
        "7188f1ad365cd9d475723b639d521b491eaca389"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Nov 05 11:50:42 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 18:05:54 2019 -0800"
      },
      "message": "audio policy service: Add introspection API to retrieve AudioProductStrategies\n\nThis CL adds required introspection APIs to deal with product strategies:\n\n-getter of the collection of product strategies\n-helper function to return the strategy associated to a given attributes.\nThis API is mandatory to avoid duplicating the logic that compiles the strategy\nfor a given Audio Attributes structure.\n\nTest: make\n\nChange-Id: I0e107570a44227bb52a4f359954c93215d4f8bae\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "7188f1ad365cd9d475723b639d521b491eaca389",
      "tree": "029a0714c5c9e517d2eecc6ad4149f519c52b813",
      "parents": [
        "f1e9508a70f5eff6d9e9d2cfdf5b19ac6a6974b7"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Nov 02 14:35:42 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 18:05:49 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: Merge Policy Engine and Wrapper configuration files\n\nTest: make\nChange-Id: I0a905752218438378d9ca87457cd55f6cd0f2586\n"
    },
    {
      "commit": "f1e9508a70f5eff6d9e9d2cfdf5b19ac6a6974b7",
      "tree": "10c058fa91f37171cd140e17a1eaa3680d605ca6",
      "parents": [
        "dc7553ff1bf7ec88e17a8577b94bb9dd9a1cbb43"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Nov 02 13:53:31 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 18:05:38 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: add configuration of ProductStrategies\n\n-Update Policy PFW plugin to support product strategies\n-Provides example structure/Settings to configure Product Strategies\n\nTest: make\nChange-Id: I2493e261f302b78f3b96e17d87fb7028d9cde23e\n"
    },
    {
      "commit": "dc7553ff1bf7ec88e17a8577b94bb9dd9a1cbb43",
      "tree": "e51119764c576e4e051cef763280f8d35c7a7b27",
      "parents": [
        "612be7ff334b6c2c1051bd6dbb4088922af0336e"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Nov 02 10:39:57 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 18:05:21 2019 -0800"
      },
      "message": "audiopolicy: engine: Add ProductStrategy common code\n\n-Adds new Engine APIs for Product Strategy management\n-Adds a common engine code to handle product strategies\n-Adds a parsing configuration library to feed the strategies\n-Prepare both engine for the switch\n\nTest: make\nChange-Id: I00f57ece798893bc6f9aa9ed54a3e5237e8d5cf1\n"
    },
    {
      "commit": "ab3c6a5b751258159e5b1e3f7dcb47b131dbfdc6",
      "tree": "4a90251580585dcab4d47a607f4bb559f803acfe",
      "parents": [
        "fd1ea436c6487e32781a84fe542e0899626d6830"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Feb 01 09:52:15 2019 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Feb 01 15:31:31 2019 -0800"
      },
      "message": "audioflinger: allow unsigned overflow in getRenderPosition\n\nOverflow is expected when 32-bit counter wraps after several hours.\nSo prevent sanitization from causing a crash.\n\nBug: 122986677\nTest: run a stream for more than 12 hours so the position overflows\nChange-Id: I0f397f193288c2493a2036f67849bb12a9c9f221\n"
    },
    {
      "commit": "3c49347c2ae3ae44d8a651c35e723e04b27d651d",
      "tree": "6cc8fdfaa44947a06b7ac2ea60d89bf8cfb6e706",
      "parents": [
        "caac4484db371ceee0ace2a944e0286af051c02b"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Sat Dec 22 18:11:34 2018 -0800"
      },
      "committer": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Fri Feb 01 15:43:30 2019 -0500"
      },
      "message": "Add memfd related missing syscalls to allowed list\n\nBug: 113362644\nChange-Id: I7ae3305ad12600a38faebf0b66cb5b954862df5e\nSigned-off-by: Joel Fernandes \u003cjoelaf@google.com\u003e\n"
    },
    {
      "commit": "8b07840b074a41b7da9352352e39b61a3aa90f1a",
      "tree": "9e19094d1a689f7ac291b73287e21b5f7262dd35",
      "parents": [
        "479b735392d6e4b9d7dde9403e732847b670a9f1"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Thu Jan 31 13:23:55 2019 -0800"
      },
      "committer": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Fri Feb 01 11:06:32 2019 -0800"
      },
      "message": "Convert Android.mk file to Android.bp\n\nSee build/soong/README.md for more information.\n\nBug: 122331945\nTest: treehugger\nChange-Id: I9e2402545823bedb3484b3ab962ddc9806f25dac\n"
    },
    {
      "commit": "caac4484db371ceee0ace2a944e0286af051c02b",
      "tree": "75e61dd6c282522ecdb734ff08078397b9b1a7f2",
      "parents": [
        "0a6f296509b6e439c545cbf9db836f8c7393d565",
        "536426c32ff0ad5bc3fb78293af8cf0bf6918752"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 07:18:26 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 01 07:18:26 2019 -0800"
      },
      "message": "Merge \"Convert three media binaries to Android.bp\" am: 479b735392 am: 812f306ff8\nam: 536426c32f\n\nChange-Id: Ib0b891a695d613a8593b9619b908880895f16ef4\n"
    },
    {
      "commit": "536426c32ff0ad5bc3fb78293af8cf0bf6918752",
      "tree": "9afb9f90c108b55b4bfd9c1bae63343da6940ae3",
      "parents": [
        "e79290d111a9c72aff5eecf2a5eed63d3168c112",
        "812f306ff8565c638d3b56c7e349a525c9cab2e8"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 07:13:14 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 01 07:13:14 2019 -0800"
      },
      "message": "Merge \"Convert three media binaries to Android.bp\" am: 479b735392\nam: 812f306ff8\n\nChange-Id: If0c66be2d42005744226f17c103536951b12132f\n"
    },
    {
      "commit": "33de46e8f32aaf803bc4e2c0efebc15660d7045e",
      "tree": "1d096aa210da1bdb42a23a46e77f2a8ea346b80c",
      "parents": [
        "1128b3fa1a8c3859e517d141c8f289ec4e35ef91"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 11:17:57 2019 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 11:40:58 2019 +0000"
      },
      "message": "Convert three media binaries to Android.bp\n\nThis converts mediaserver, mediametrics and screenrecord and the\nlibraries they depend on to Android.bp\n\nSee build/soong/README.md for more information.\n\nBug: 122331945\nBug: 80410283\nTest: boot blueline\nTest: youtube\nTest: screenrecord\nChange-Id: I132b8b4f7965449df68fb1544034a7241c594a63\n"
    },
    {
      "commit": "ae340bde6d16f0046887fa0e73fba00cdd5405d9",
      "tree": "8b84e19910fcba4e4ba54f0a7b1e6649bf7d8bb8",
      "parents": [
        "def408939dec9f3a4ff21d84c44b6fcad1797396",
        "3fae037db39ff89707c3a58ef1419229a00ad71d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 01 01:53:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 01 01:53:28 2019 +0000"
      },
      "message": "Merge \"Add master audio balance\""
    },
    {
      "commit": "dddc39e44c6bc1c8658e5f3fd6c087abad017fdd",
      "tree": "2149b7d6ef7555bd11912481982f76f8a11569d1",
      "parents": [
        "642f662a0dba2732cacf05774758723f09aa188e",
        "f86268a0aa3c98cc5acdd18f43de82e780772b5b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 31 23:53:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 31 23:53:10 2019 +0000"
      },
      "message": "Merge \"Prepend instead of append for criterias to remove\""
    },
    {
      "commit": "83dc265bde1be0f58161a4606b0a72d053288ff3",
      "tree": "c2ce03740c1639b974f21ce5941e931a2b924ba7",
      "parents": [
        "ffa6f9191ee3e50a5c140b0d3cae27d7f7c87a3f",
        "6a3052232c606bc2f74a849c6758fd44b6c01158"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 31 21:47:33 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 31 21:47:33 2019 +0000"
      },
      "message": "Merge \"use MediaAnalyticsItem::create() instead of new\""
    },
    {
      "commit": "6a3052232c606bc2f74a849c6758fd44b6c01158",
      "tree": "529ee3bb94a17c06e19c8642daf9993f23d531f2",
      "parents": [
        "2637984613a75eb2640a73e186a6dd1f08cebbc0"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 28 20:33:18 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jan 31 11:19:44 2019 -0800"
      },
      "message": "use MediaAnalyticsItem::create() instead of new\n\nBug: 123543489\nTest: boot/logcat, select CtsMediaTests\nChange-Id: I92f8b9987b78466fae74ce4c0b177f8bb1e7dea8\n"
    },
    {
      "commit": "aaaa003cb570f965908db1a08d53c4bddb588d61",
      "tree": "bbe7d9feefa2c32b8bd322330a78197b4a5bef9b",
      "parents": [
        "2637984613a75eb2640a73e186a6dd1f08cebbc0",
        "57303cc4312686e02e754ba99a81f0cf71144757"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 31 18:46:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 31 18:46:48 2019 +0000"
      },
      "message": "Merge changes from topic \"hapticInterface\"\n\n* changes:\n  Interface between audio server and vibrator service\n  Apply intensity control for haptic data.\n"
    },
    {
      "commit": "4df18892dca915d1b737043baab2dc74c9f7d96a",
      "tree": "820afce3906a04e5fc576a009b581ece84158856",
      "parents": [
        "760e6c2581b49a95abced90730319d3d248a1518",
        "f024a9eb29122a42179608372cb25129d1158e3b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 31 02:28:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 31 02:28:22 2019 +0000"
      },
      "message": "Merge \"AudioPolicyManager: Fix nullptr device check\""
    },
    {
      "commit": "f86268a0aa3c98cc5acdd18f43de82e780772b5b",
      "tree": "198997a295d7b62c19fc58392350f3a0db08d9c5",
      "parents": [
        "1c0a9fb458cc97a2b3e7b93e58c02bf11512b950"
      ],
      "author": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Wed Jan 30 16:52:10 2019 -0800"
      },
      "committer": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Wed Jan 30 17:22:47 2019 -0800"
      },
      "message": "Prepend instead of append for criterias to remove\n\nBug: 123661699\nTest: manually call removeUidDeviceAffinity\nChange-Id: I729b02bbc45125638baefdccdedfaf046e146dd2\n"
    },
    {
      "commit": "57303cc4312686e02e754ba99a81f0cf71144757",
      "tree": "5118a0c03e035d13c203118e1336e33803b1de08",
      "parents": [
        "77270b880570e07a5d80b23371f53638ec30fb5c"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Dec 18 15:45:57 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 30 17:07:10 2019 -0800"
      },
      "message": "Interface between audio server and vibrator service\n\nThe haptic playback should be controlled by vibrator service. Via the\ninterface, audio server could notify vibrator service about starting or\nstopping haptic playback and get vibrator intensity from vibrator\nservice. Vibrator service could call mute/unmute to control the haptic\nplayback.\n\nTest: Manually\nChange-Id: Iad24813977e4dea0d67a91f8f8b390a016ce4ca2\n"
    },
    {
      "commit": "f024a9eb29122a42179608372cb25129d1158e3b",
      "tree": "8b95f2175e985295dd9c266785a76e5409a26600",
      "parents": [
        "a3e4fe3fd4f24ebcf9e69de52e2f0d3e2be3a816"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 30 16:01:02 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 30 16:41:07 2019 -0800"
      },
      "message": "AudioPolicyManager: Fix nullptr device check\n\nRegression from commit 11d301045991dd66bf3f64ba510e069b7c09fedb\n\nTest: CTS AudioRecordTest passes\nBug: 123597808\nChange-Id: I3b1de479ebd8a279309d33f58db3e40b851f98e4\n"
    },
    {
      "commit": "77270b880570e07a5d80b23371f53638ec30fb5c",
      "tree": "4cdb67f28ef7bb47dad1ac19cadb48febf2be8a7",
      "parents": [
        "4b7f683cf9fbaa2b427f03bd067ee2588906ac44"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Dec 18 15:41:29 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 30 15:18:23 2019 -0800"
      },
      "message": "Apply intensity control for haptic data.\n\nUse the same logic in VibrationEffect.scale to control the intensity of\nhaptic playback in audio framework. Note that as the maximum amplitude\nof vibrator is 255, convert the haptic data to pcm_8_bit before doing\nscaling.\n\nTest: Manually\nChange-Id: I6136d27c9255a215834b6e3092aa8ad696fbae04\n"
    },
    {
      "commit": "8851bff7a82aa8986e2a790bab13a0921c81b24d",
      "tree": "9e2f66ba729573b907f16be916564c948e57a75a",
      "parents": [
        "4a4c264480b52a1b909f786f37601c95efc86bcc",
        "308d50bf3b08f8197d7fed76a75f43d7398fc5a1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 30 21:33:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 30 21:33:25 2019 +0000"
      },
      "message": "Merge \"audio policy: fix regression in USB audio\""
    },
    {
      "commit": "5283871cf827a811ba8fc5c33f4d399df969b6a8",
      "tree": "6697317b7a3ccec09d482c3b54b4e9ce3c79c3ba",
      "parents": [
        "ca655c345f01e6ed786cfcfc3fa2cb574b758680",
        "aa9bae79ef3726e131a16ec06d75cbcd3cdfe6cc"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Wed Jan 30 12:33:14 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 30 12:33:14 2019 -0800"
      },
      "message": "Merge \"Add memfd related syscalls to allowed list\" am: 4ae8b0c37c\nam: aa9bae79ef\n\nChange-Id: I0dd09c3a35a528f258f38928e12cb3894a220924\n"
    },
    {
      "commit": "7de66a0e2fc5d37e22710583e88be5aa53e6ed5b",
      "tree": "0622372df1ccafd68d3d7a67fca7a2373946b826",
      "parents": [
        "a3e4fe3fd4f24ebcf9e69de52e2f0d3e2be3a816",
        "d648399ddf41c4017bb04ecf45d160a4fcfa6611"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Wed Jan 30 20:20:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 30 20:20:24 2019 +0000"
      },
      "message": "Merge \"Add memfd related syscalls to allowed list\""
    },
    {
      "commit": "4ae8b0c37c4b9852c15098cc5ba4129745d1d07b",
      "tree": "7d63821aaf19feb720e387a161b7dd350048fdc8",
      "parents": [
        "caa0b292536bf8f4d455536404fed785e038c51a",
        "bfd6d9c957e0dc8c06f048ff1c0bac513f8f9af6"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Wed Jan 30 20:16:56 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 30 20:16:56 2019 +0000"
      },
      "message": "Merge \"Add memfd related syscalls to allowed list\""
    },
    {
      "commit": "308d50bf3b08f8197d7fed76a75f43d7398fc5a1",
      "tree": "adfaa79def42c27e6ee83e379bc9af6af94b3bc2",
      "parents": [
        "0684bf1ac795c8a112cdc168004cdf0bad6a6647"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 30 11:57:16 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 30 11:59:26 2019 -0800"
      },
      "message": "audio policy: fix regression in USB audio\n\nFix regression in audio device selection introduced by\ncommit 4e4647077f\n\nBug: 123500997\nTest: play music over USB and BT A2DP\nChange-Id: I9a86e1a8f34f3b02f0dbb53b719884ab6c567265\n"
    },
    {
      "commit": "d648399ddf41c4017bb04ecf45d160a4fcfa6611",
      "tree": "0e94e36d0c24b07abf8e4cb243574131c195486e",
      "parents": [
        "8ce16d8609ee14dfbfafeecfb3cb5d1ebb94f1f2"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Sat Dec 22 18:11:34 2018 -0800"
      },
      "committer": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Wed Jan 30 14:15:49 2019 -0500"
      },
      "message": "Add memfd related syscalls to allowed list\n\nRequired for migration of ashmem to memfd.\n\nBug: 113362644\nChange-Id: I5c63ff130f67481deed5c8d975830463716c397c\nSigned-off-by: Joel Fernandes \u003cjoelaf@google.com\u003e\n"
    },
    {
      "commit": "ee1f655728b31b4c74c4f211b96bfd117daaeacb",
      "tree": "9e48f54ce76fff0e693b9b480ff5900eefdfa42c",
      "parents": [
        "0684bf1ac795c8a112cdc168004cdf0bad6a6647"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 29 18:22:02 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 29 18:37:44 2019 -0800"
      },
      "message": "audio policy: fix call audio hearing aid\n\nRemove assert added by mistake on a valid configuration.\n\nBug: 123551930\nTest: place a call with an hearing aid device.\nChange-Id: Ib279d1bea460026da45ffeb5a69910ac0c3d3c4f\n"
    },
    {
      "commit": "373924b48ed782a555cec070f24a198444cef53d",
      "tree": "eefe453ce8e4708ac8837aec0e9d00562f9035f2",
      "parents": [
        "1c0a9fb458cc97a2b3e7b93e58c02bf11512b950",
        "bcbb3006925bc2aee73b555b2d9e85c17597a115"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Jan 29 20:07:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 29 20:07:14 2019 +0000"
      },
      "message": "Merge \"Deal with new PROCESS_STATE\""
    },
    {
      "commit": "1c0a9fb458cc97a2b3e7b93e58c02bf11512b950",
      "tree": "8272d2dd6796c34500e87b5756f0ae4250a7deb1",
      "parents": [
        "fe0dee1ec693f113e8757da51b795d9f7743de74",
        "c41dc110a1fe7418a4118f3541d15d4ac703ad72"
      ],
      "author": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Tue Jan 29 18:52:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 29 18:52:17 2019 +0000"
      },
      "message": "Merge \"PFW: support to load the config policy from vendor partition\""
    },
    {
      "commit": "fe0dee1ec693f113e8757da51b795d9f7743de74",
      "tree": "0243b5bbbced399b61fdab13b35c0300f4beabba",
      "parents": [
        "af87b707107ccab0b7a29bd784c9025606960c56",
        "48f59ed61b902f0e6cb7811bd8ee5fa60ab63abe"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 29 17:55:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 29 17:55:52 2019 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix VolumeShaper initialization for DirectOutputThread\""
    },
    {
      "commit": "07095df02a11678cf4637ead28bc5c8c5d27db2a",
      "tree": "4230c9ea7c8b0ab1fbf782c70eb602276b0b8230",
      "parents": [
        "ed6addb0dba071c2830df161c0c273cda449ea5c"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Jan 29 06:28:58 2019 -0800"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Jan 29 06:28:58 2019 -0800"
      },
      "message": "DepthCompositeStream: Fix erase() in error case\n\nWe had a typo for which vector we were erase()ing from in an\nerror case.  We fix that typo here.\n\nTest: TreeHugger\nChange-Id: Id1d38a5c1955e19415ca2e1c84a3f58763bf83c8\n"
    },
    {
      "commit": "ed6addb0dba071c2830df161c0c273cda449ea5c",
      "tree": "ebcad61540ea2875f84be252a332213fc8f0a4ff",
      "parents": [
        "d8afd190e61f1f7e1f9aa7744cf8e209ded5e535",
        "934ecfbdd877f4f1fdfaa23710eb3164ab6e7715"
      ],
      "author": {
        "name": "Jasmine Cha",
        "email": "chajasmine@google.com",
        "time": "Tue Jan 29 00:57:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 29 00:57:44 2019 +0000"
      },
      "message": "Merge \"Effects: add new effect volume flag\""
    },
    {
      "commit": "3fae037db39ff89707c3a58ef1419229a00ad71d",
      "tree": "33087aa031e45fdc65add4ffaaf74e6a7872cf0f",
      "parents": [
        "48f59ed61b902f0e6cb7811bd8ee5fa60ab63abe"
      ],
      "author": {
        "name": "Richard Folke Tullberg",
        "email": "richardfolke.tullberg@sony.com",
        "time": "Fri Jan 13 09:04:25 2017 +0100"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 28 16:21:52 2019 -0800"
      },
      "message": "Add master audio balance\n\nTest: Change Balance through Settings, play audio\nBug: 28390736\nCo-author: Ed Savage-Jones \u003cedward.savage-jones@sony.com\u003e\nChange-Id: I0169b436ccbaa5628584d9f4954dd7c76d021aae\n"
    },
    {
      "commit": "48f59ed61b902f0e6cb7811bd8ee5fa60ab63abe",
      "tree": "99708ef639cc1743725b4ec7ad99954cce013e3a",
      "parents": [
        "911ef8fd5231d990de15bc1e16dd937b7e81f5f7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 28 15:06:59 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 28 15:13:49 2019 -0800"
      },
      "message": "AudioFlinger: Fix VolumeShaper initialization for DirectOutputThread\n\nAvoids temporary frequent polling after creation.\nOffload not affected.\n\nTest: compile\nChange-Id: I868a80ee25553c16083510ef6b79782c414a39a1\n"
    },
    {
      "commit": "7e88dc6836ad2eee3500cf33b4a7147e107a54ac",
      "tree": "d717ee927f243c6bf12368d4e1a0391c6d1f4186",
      "parents": [
        "a3cd8681f48863d7cf5f1611f141ca0f73e5ef5b",
        "cbf174b59307290e4c80947232feedb4cc9c0c26"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 28 22:21:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 28 22:21:52 2019 +0000"
      },
      "message": "Merge changes from topic \"dynamic_depth\"\n\n* changes:\n  Camera: Link dynamically to Depth photo library\n  Camera: Add DepthCompositeStream\n  Camera: Add support for dynamic depth if possible\n"
    },
    {
      "commit": "c41dc110a1fe7418a4118f3541d15d4ac703ad72",
      "tree": "816b46271fba980ae94d93d6e9fb40bdd0e3a0ab",
      "parents": [
        "00174ae636c4160df106f44e3edfc32270cf513c"
      ],
      "author": {
        "name": "Mingwei Shi",
        "email": "mingwei.shi@intel.com",
        "time": "Wed Jul 26 10:02:40 2017 +0800"
      },
      "committer": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Mon Jan 28 18:46:48 2019 +0000"
      },
      "message": "PFW: support to load the config policy from vendor partition\n\nFor treble compliance, loading the config policy from vendor partition\nshould be supported.\n\nBug: 80626872\nTest: audio works normally with USE_CONFIGURABLE_AUDIO_POLICY set\nChange-Id: I7fec31346b80874c323556e28debb4a0888b27e6\nSigned-off-by: Mingwei Shi \u003cmingwei.shi@intel.com\u003e\nSigned-off-by: Qin, Xiaokang \u003cxiaokang.qin@intel.com\u003e\n(cherry picked from commit 955e35cb670ff210535be268aa3589d68d92b148)\n"
    },
    {
      "commit": "cbf174b59307290e4c80947232feedb4cc9c0c26",
      "tree": "b0f8827388ee27877d4b1786e8f8b8f4f7a252fe",
      "parents": [
        "538c90e79d06f99e8a2dda4b1ccf3a5e46062934"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 25 14:38:59 2019 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Sun Jan 27 19:58:55 2019 -0800"
      },
      "message": "Camera: Link dynamically to Depth photo library\n\nMove all depth photo specific processing in a separate\nlibrary and link to it dynamically.\n\nBug: 109735087\nTest: Camera CTS\nChange-Id: I00a20b26fc9a1d127ad962a36b5b554dd36f0d41\n"
    },
    {
      "commit": "934ecfbdd877f4f1fdfaa23710eb3164ab6e7715",
      "tree": "812551d4ce8968a516e7bd4b1b9121efe6caa58f",
      "parents": [
        "70eb2960026daced74a70411404dfd98800fe719"
      ],
      "author": {
        "name": "Jasmine Cha",
        "email": "chajasmine@google.com",
        "time": "Wed Jan 23 18:19:14 2019 +0800"
      },
      "committer": {
        "name": "Jasmine Cha",
        "email": "chajasmine@google.com",
        "time": "Mon Jan 28 11:22:46 2019 +0800"
      },
      "message": "Effects: add new effect volume flag\n\nAdd new effect flag to monitor requested volume from\naudio framework.\nPass requested volume directly if effect is volume monitor,\nand others still follow an original rule by volume controller.\n\nBug: 123251705\nTest: On/off equalizer on spotify/google music.\n      Switch songs with equalizer\n      Attach an effect with EFFECT_FLAG_INSERT_ANY,\n                            EFFECT_FLAG_INSERT_FIRST,\n\t\t\t    EFFECT_FLAG_INSERT_LAST\n      and check received volume.\n\nChange-Id: I01632bebb32aa6f921c964536039d43859ae3632\nSigned-off-by: Jasmine Cha \u003cchajasmine@google.com\u003e\n"
    },
    {
      "commit": "0ac26a451483ddea3be4fafe620b8fa01669149b",
      "tree": "a811b5d3b33e090c45899cf8a4f8b2c0f67a9bb3",
      "parents": [
        "0d405c1e55c9a1b9dbf898724dd1b6dc41fa8c46",
        "d84e8f7fdf1a61956953660d3af226c3b147e3bb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 26 04:58:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 26 04:58:28 2019 +0000"
      },
      "message": "Merge \"audio policy: fix legacy Ad2P with advanced codecs\""
    },
    {
      "commit": "0d405c1e55c9a1b9dbf898724dd1b6dc41fa8c46",
      "tree": "806b6c042782871d7aa81095fccc103682b79fd8",
      "parents": [
        "911ef8fd5231d990de15bc1e16dd937b7e81f5f7",
        "dcbda2a2efc838cf5b9597e6d346b3603e48bc40"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 26 02:28:33 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 26 02:28:33 2019 +0000"
      },
      "message": "Merge \"audio policy: fix recording activity reporting\""
    },
    {
      "commit": "d84e8f7fdf1a61956953660d3af226c3b147e3bb",
      "tree": "f2c1784fa749f8ba511cb333d404ec296eb438b4",
      "parents": [
        "049aa255f9c1746f22cd9c562bd9cb8faaddb3d2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 25 18:15:35 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 25 18:15:35 2019 -0800"
      },
      "message": "audio policy: fix legacy Ad2P with advanced codecs\n\nThe changes for hybrid A2DP broke advanced codec support for devices\nrunning a HAL V4.0 and no A2DP offload.\n\nFix: consider that if no encoded format is explicitely listed in the\ndevice descriptor in audio policy configuration file, then no rule on\nencoded format should be enforced.\n\nBug: 123399421\nTest: connect Sony MDR-1 headphones and play music.\nChange-Id: Idd13cf0e0cdeb71554b23d178e61cc1d82abea60\n"
    },
    {
      "commit": "911ef8fd5231d990de15bc1e16dd937b7e81f5f7",
      "tree": "70921e62add9875535005af1ab69d30627baaabd",
      "parents": [
        "a30cc4173b29c270cba22498fc31feed41343a9f",
        "5cc71c5fedf82cccf701ce24db79818cbce20b64"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 26 02:14:11 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 26 02:14:11 2019 +0000"
      },
      "message": "Merge \"AudioPolicyManager: fix offload playback for speaker and BT\""
    },
    {
      "commit": "a30cc4173b29c270cba22498fc31feed41343a9f",
      "tree": "d1bb1ac847813b9e58a15f3788e12d1841c9256d",
      "parents": [
        "b5a34d6debebc05a16775b14f064964aa6a313c5",
        "30c15dc218ffddf97eab437aea3f12dee8d3d99e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 26 01:12:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 26 01:12:48 2019 +0000"
      },
      "message": "Merge \"seccomp: allows more syscalls for swcodec\""
    },
    {
      "commit": "5cc71c5fedf82cccf701ce24db79818cbce20b64",
      "tree": "ac1a064c9e621e1258ab33915be69f76ed22e9bf",
      "parents": [
        "5b723961c9456aa46ea3315bbcc80a3f6d0acc70"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 25 14:10:42 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 25 16:16:11 2019 -0800"
      },
      "message": "AudioPolicyManager: fix offload playback for speaker and BT\n\nWithout this, deep buffer playback is used.\nFixes regression from commit 4e4647077f00c47650d6ecd66cd812073371bd10\n\nTest: Play music with Speaker and BT\nBug: 123371431\nChange-Id: Ic5d23c6863223f5456414c887c14fda90aa06f5f\n"
    },
    {
      "commit": "30c15dc218ffddf97eab437aea3f12dee8d3d99e",
      "tree": "c3d04a10e2389df1e8b8e6bcaa87731f54b089cb",
      "parents": [
        "6f4aa5c6dda203551ab814c64362e6c8a1d72eeb"
      ],
      "author": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Fri Jan 25 13:06:05 2019 -0800"
      },
      "committer": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Fri Jan 25 13:06:05 2019 -0800"
      },
      "message": "seccomp: allows more syscalls for swcodec\n\nBUG: 123415047\nTest:\nlunch sdk_gphone_x86_64-user\nmake -j\nemulator\n\nmedia.swcodec should not be killed by minijail anymore\n\nChange-Id: Id483daf395b977c538cc4b2b8f11e20e0a9954ca\n"
    },
    {
      "commit": "538c90e79d06f99e8a2dda4b1ccf3a5e46062934",
      "tree": "ea9226aea37c9790b69b587d1650b80d89fb5909",
      "parents": [
        "4c6d2b5c41bc6f233e281d227e26f16f5f49ae26"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Dec 17 18:03:19 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 25 11:05:10 2019 -0800"
      },
      "message": "Camera: Add DepthCompositeStream\n\nAdd the necessary logic to support dynamic depth metadata.\n\nBug: 109735087\nTest: Manual using application,\nCamera CTS\nChange-Id: Ic4710872dc596bc718270e1c79d4da53fb850875\n"
    },
    {
      "commit": "4c6d2b5c41bc6f233e281d227e26f16f5f49ae26",
      "tree": "d1c8753dfd21489968b673be4a36c1e85a76c698",
      "parents": [
        "45b005c624c8178d42fa7ba518b7a7d23fd47c68"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 04 17:13:56 2019 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Jan 25 11:05:10 2019 -0800"
      },
      "message": "Camera: Add support for dynamic depth if possible\n\nComposite dynamic depth streams will be supported\nin case camera devices include:\n- Dense depth streams which are not exclusive.\n- Jpeg/Blob output with sizes that either match depth\n  or are with similar aspect ratio.\nMake a guesstimate regarding the dynamic depth minimum\nframe and stall durations.\n\nBug: 109735087\nTest: Manual using application,\nCamera CTS\n\nChange-Id: I8a89c7895cf57ce4408e41b1afae9c85d48c4e07\n"
    },
    {
      "commit": "3fdf34f2434b8ee7b7a1f2350f2bf4fac8c522a4",
      "tree": "38bb0f37a7ffaf287a55372891196a18c64d56e0",
      "parents": [
        "4efaa0833e68c0014655931bb749f3b64edbc326",
        "36d18cc0bf20550a27e593a3c2734566695296bc"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 25 17:36:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 25 17:36:10 2019 +0000"
      },
      "message": "Merge changes from topic \"opus_encoder_0124\"\n\n* changes:\n  libstagefright: Add support for muxing Opus files to Ogg format with unified CSD\n  codec2: add C2SoftOpusEnc\n  C2SoftOpusDec: Add support for decoding single CSD\n  OpusHeader: Add support for unified CSD\n  libstagefright: Move OpusHeader files to libstagefright_foundation\n"
    },
    {
      "commit": "dcbda2a2efc838cf5b9597e6d346b3603e48bc40",
      "tree": "f7d655a341e386c1eb045f98d08444719496b2cc",
      "parents": [
        "049aa255f9c1746f22cd9c562bd9cb8faaddb3d2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 24 18:36:37 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 24 18:36:37 2019 -0800"
      },
      "message": "audio policy: fix recording activity reporting\n\nAdd missing active clients management when an output or input\nis force closed by the audio policy manager. This resulted in\nstale activity monitoring entries in AuduiService.\n\nBug: 123312504\nTest: connect and disconnect a headset while recording a video\nChange-Id: I66fe96daed2475ae6ada700ef1210d38ad099da2\n"
    },
    {
      "commit": "86f1dd852787f2b240eed2d2bdfa65b9fe114d56",
      "tree": "be74f7639fc8507fffad5e151983f6a2f1596850",
      "parents": [
        "d53525f4fd79a7ecbadd621630c23c0e925c731e"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 24 13:17:59 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 24 16:58:56 2019 -0800"
      },
      "message": "audiopolicy: Specify the suite for presubmit tests\n\nThis is required to actually run them on presubmit.\n\nBug: 122855449\nTest: run a presubmit check on a CL while the tests are broken\nChange-Id: Id95234d6a4198a246051c869d56ab5c62f6972f4\n"
    },
    {
      "commit": "d53525f4fd79a7ecbadd621630c23c0e925c731e",
      "tree": "bc2262cc60fdbc6f071d1286c1e8309c5f8bbd53",
      "parents": [
        "049aa255f9c1746f22cd9c562bd9cb8faaddb3d2"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 24 13:15:46 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 24 16:58:56 2019 -0800"
      },
      "message": "audiopolicy: Improve patch count checks\n\nMove ASSERT_ into the body of the test function, because assert\nfailure only shows the code line where it has happened.\n\nUpdate names to emphasize that the delta is from the initial\nsnapshot, not from the previous check.\n\nTest: audiopolicy_tests\nChange-Id: I4328d9d74c0632097150732727c123a446c8ee89\n"
    },
    {
      "commit": "c237cbc63980210d4b1c083cd0450cc7bf0b2606",
      "tree": "710bed87b387cd98384791fd582299fc8ddc3bef",
      "parents": [
        "94d6bb5941a61d8f86e9256e257722a29c9ea7de"
      ],
      "author": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Fri Nov 16 18:56:20 2018 +0530"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jan 24 16:27:32 2019 -0800"
      },
      "message": "codec2: add C2SoftOpusEnc\n\nTest: Tested with local AMediaCodec application to encode to opus\nBug: 115576456\nChange-Id: I56f19f79fa2c9058651713594171ffed57bb9247\n"
    },
    {
      "commit": "db80386712cfc0a4c7642f72992a3933a21f4458",
      "tree": "773349e66b7d11eb9a8a9330f5fc86bfbdb99267",
      "parents": [
        "50b7ff208ff31b00c6e95478edb633eb7a193cb6",
        "2d4e170f3ee7ec77cbc267ca7cff78861382d112"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 23:05:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 23:05:10 2019 +0000"
      },
      "message": "Merge \"audiopolicy: Fix after commit 11d301045991dd66bf3f64ba510e069b7c09fedb\""
    },
    {
      "commit": "7d7dcd9a36970cdde9f276b08872552be2d93ede",
      "tree": "75da1ed2bb3eb795736a8c9e8d819e8b08ec48ab",
      "parents": [
        "6f4aa5c6dda203551ab814c64362e6c8a1d72eeb",
        "2c80be0e59e65e424862af426962939ad96e6b92"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 21:10:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 21:10:16 2019 +0000"
      },
      "message": "Merge \"audio policy: fix dynamic policy registration\""
    },
    {
      "commit": "2d4e170f3ee7ec77cbc267ca7cff78861382d112",
      "tree": "21620a55b0d872b6671bdfa62080671ae50612d6",
      "parents": [
        "e75dca3feec77fac58f1fa5f7a9b1195b4898368"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 24 12:59:44 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 24 12:59:44 2019 -0800"
      },
      "message": "audiopolicy: Fix after commit 11d301045991dd66bf3f64ba510e069b7c09fedb\n\nThe change ag/5874343 switched to DeviceVector usage instead of\naudio_devices_t. In AudioPolicyManager::setOutputDevices, one of\nthe conditions comparing a device to AUDIO_DEVICE_NONE had been\ninverted.\n\nThis was resulting in resetting of default patches during\na call to \u0027setForceUse\u0027 function.\n\nTest: audiopolicy_tests\nChange-Id: Idc43bc152c3d749cd1dab9b696e7e1e700ef3926\n"
    },
    {
      "commit": "967537b2663c6beeaae6c2f65754c4c12b42a830",
      "tree": "36995c444f3881b8d5e778e16e4d2555a76cede2",
      "parents": [
        "3eb2373841c4440521e66363c40d488edf73253d",
        "fd8efe25a5022e313978fbd7c57a3bc1d0ea9915"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 24 17:12:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 17:12:14 2019 +0000"
      },
      "message": "Merge \"Delay start of mediaswcodec until after APEX is mounted\""
    },
    {
      "commit": "2622af8438ed6f019c39b6e7e733fd4439675a34",
      "tree": "fa6656334ec8ccf77e385a601cc455b5d4a3c98c",
      "parents": [
        "15131dadc6c058521e84dd6a01bcf7097ad77cff",
        "350b3590701f58584a9fdae663f81fc0d3ea98d6"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 24 07:21:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 07:21:41 2019 +0000"
      },
      "message": "Merge changes I90edbe5c,I500cc37f\n\n* changes:\n  Switch mediaswcodec to 64 bit\n  Remove compile_multilib:32 from libmedia_codecserviceregistrant\n"
    },
    {
      "commit": "15131dadc6c058521e84dd6a01bcf7097ad77cff",
      "tree": "8d1570fc10ee57de272a31c818d7c7f014a3d424",
      "parents": [
        "41b1f7d790ef176f67e4c15924222e1c57939a59",
        "dfe079463b7042291d8dae96052c95f68398cdc6"
      ],
      "author": {
        "name": "Tomoharu Kasahara",
        "email": "tomoharu.kasahara@sony.com",
        "time": "Wed Jan 23 22:59:58 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 22:59:58 2019 -0800"
      },
      "message": "Merge \"AudioPolicy: enable apps to mute BLUETOOTH_SCO\" am: dac49ac4ee am: 9437a06269\nam: dfe079463b\n\nChange-Id: I1324a49456e523838939294ce505dad0e020d92f\n"
    },
    {
      "commit": "dfe079463b7042291d8dae96052c95f68398cdc6",
      "tree": "f96796916c2cc183536250ea6bfcda0cfd69f259",
      "parents": [
        "43aa42e4dd94692cb2fea5415ca7d2e417f943a1",
        "9437a06269cab3142d782a08fdb9711224bdaf71"
      ],
      "author": {
        "name": "Tomoharu Kasahara",
        "email": "tomoharu.kasahara@sony.com",
        "time": "Wed Jan 23 22:50:54 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 22:50:54 2019 -0800"
      },
      "message": "Merge \"AudioPolicy: enable apps to mute BLUETOOTH_SCO\" am: dac49ac4ee\nam: 9437a06269\n\nChange-Id: Id34b98c5c69faf044dcf859ff0a9202156426112\n"
    },
    {
      "commit": "dac49ac4ee58e665a0561e005929e5344362df3a",
      "tree": "5f6f2e069accd87b1d0ec04af4a67cd73d9f936b",
      "parents": [
        "855ae44d9f4acc7ac8720464ef94d159c9063e8b",
        "63c15500e555b086bcff0b9e73e6a4c396b588a8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 06:28:22 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 06:28:22 2019 +0000"
      },
      "message": "Merge \"AudioPolicy: enable apps to mute BLUETOOTH_SCO\""
    },
    {
      "commit": "bfd6d9c957e0dc8c06f048ff1c0bac513f8f9af6",
      "tree": "a968add90ac63afdcd8c0f2553041ab010db1a72",
      "parents": [
        "855ae44d9f4acc7ac8720464ef94d159c9063e8b"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Sat Dec 22 18:11:34 2018 -0800"
      },
      "committer": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Wed Jan 23 23:22:30 2019 -0500"
      },
      "message": "Add memfd related syscalls to allowed list\n\nRequired for migration of ashmem to memfd.\n\nBug: 113362644\nChange-Id: I5c63ff130f67481deed5c8d975830463716c397c\nSigned-off-by: Joel Fernandes \u003cjoelaf@google.com\u003e\n"
    },
    {
      "commit": "0121b9ecee64ba42b8bc26c224f1bb3af73e37bf",
      "tree": "f564596d5a75e2b5c2cddd64e086fb68233b6779",
      "parents": [
        "ad36699c757285227810b809658c3ca2a0d22229",
        "2c93e51abf2bf6b30ed69f02892287f40e64f5df"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 24 03:28:32 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 03:28:32 2019 +0000"
      },
      "message": "Merge changes I57d364f7,I6668cffa,Id62ab388\n\n* changes:\n  audiopolicy: engineconfigurable: fix legacy remote submix\n  audiopolicy: apm: Fix default bus device issue\n  audiopolicy: apm: updateCallRouting shall use SW Bridging if no external route support\n"
    },
    {
      "commit": "fd8efe25a5022e313978fbd7c57a3bc1d0ea9915",
      "tree": "f29bfba34f154fe0bddc98743632363850626643",
      "parents": [
        "6ead2c3454f38dac2724a877aa2b57d94877611a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 23 19:10:33 2019 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jan 24 03:19:38 2019 +0000"
      },
      "message": "Delay start of mediaswcodec until after APEX is mounted\n\nThe swcodecs are all loaded from apex.\n\nbug: 123166478\nChange-Id: Ib7c4ac54aedb596fb7c6fff9016ae989955dd374\ntest: builds; boots and c2 swcodec runs normally\n"
    },
    {
      "commit": "2c80be0e59e65e424862af426962939ad96e6b92",
      "tree": "2eb3b83b92cab021fef04b1c749a84b99fd7eaa8",
      "parents": [
        "04a71420a809f8bf21ec5152d469c06161cd0a80"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 23 18:06:37 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 23 18:10:47 2019 -0800"
      },
      "message": "audio policy: fix dynamic policy registration\n\nRely on supported devices rather than active patches to match\na render mix to an output.\n\nBug: 123294474\nTest: run the car emulator and check installed dynamic policies.\nChange-Id: If8a68678ba541f343894c563592d82447b37fe13\n"
    },
    {
      "commit": "7b91592726928f879fceeb3d3248892d273dbcd2",
      "tree": "9c45779b427ffc5f9490ff5f2e717a68dd2a6c5b",
      "parents": [
        "87c117f9d6e91262ce7e11ece4147c469140d27c",
        "fe0fb8b050e0acc8f749bcee482b8c157ed8233b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 00:12:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 00:12:25 2019 +0000"
      },
      "message": "Merge changes from topic \"new_formats_huawei\"\n\n* changes:\n  audiopolicy: fix wrong volume db value for voice call stream\n  audio: add new audio formats\n"
    },
    {
      "commit": "87c117f9d6e91262ce7e11ece4147c469140d27c",
      "tree": "5555197be479a309133868b61a3800195b338c66",
      "parents": [
        "d49da02d968f1ea8f184fb48f631c0707a2800eb",
        "0c1c7a2351f73a76bb8cabe2eb134cca98b7965d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 24 00:11:50 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 00:11:50 2019 +0000"
      },
      "message": "Merge \"audiopolicy: Read supported encoded formats from config file\""
    },
    {
      "commit": "d49da02d968f1ea8f184fb48f631c0707a2800eb",
      "tree": "7c6bb11ede5fda77bd5bccebf8384c8dad0e624a",
      "parents": [
        "47279e630f47ce1e220ceda4da90e94de273d2eb",
        "43aa42e4dd94692cb2fea5415ca7d2e417f943a1"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 23 15:10:59 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 15:10:59 2019 -0800"
      },
      "message": "Merge \"Delay mediaserver/mediaextractor during boot\" am: 855ae44d9f am: 18cb1f5b7f\nam: 43aa42e4dd\n\nChange-Id: Ie94b484f16472de217edf38177b98590e0f29487\n"
    },
    {
      "commit": "43aa42e4dd94692cb2fea5415ca7d2e417f943a1",
      "tree": "c1604e7370d27383d3c849e2aa1b5c36e06dfafb",
      "parents": [
        "6de3138f51910505a798b724a1dbda83e56115ef",
        "18cb1f5b7fd5cc6de6c29caa2ae49b5c1546c0a8"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 23 15:06:30 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 15:06:30 2019 -0800"
      },
      "message": "Merge \"Delay mediaserver/mediaextractor during boot\" am: 855ae44d9f\nam: 18cb1f5b7f\n\nChange-Id: I461432cae2672bbb46e4f365a784ed406dd8e0b3\n"
    },
    {
      "commit": "855ae44d9f4acc7ac8720464ef94d159c9063e8b",
      "tree": "e6adf99dcc5cd4e50a9f34d5e7bbcbb0f25e9ea4",
      "parents": [
        "b2e28dac2e5d4c00a797e50e9f2e486f90234acd",
        "38354d04ae7562cdbf8b30b5b1dbbf8253ccf480"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 23 22:54:28 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 22:54:28 2019 +0000"
      },
      "message": "Merge \"Delay mediaserver/mediaextractor during boot\""
    },
    {
      "commit": "bcbb3006925bc2aee73b555b2d9e85c17597a115",
      "tree": "8f76e9f83bd2f881ff6f4d4541b8254811d2b07a",
      "parents": [
        "701768e80731da3df0edac97fb8fc442ffbbd33f"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jan 23 13:53:33 2019 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jan 23 13:53:33 2019 -0800"
      },
      "message": "Deal with new PROCESS_STATE\n\nIntroduced a new PROCESS_STATE_FOREGROUND_SERVICE_LOCATION.\nDeal with it.\n\nBug: 111453223\nTest: atest CtsAppTestCases:ActivityManagerProcessStateTest\nChange-Id: I918bd58bfc7df0849a1d8548c785be756f7103e1\n"
    },
    {
      "commit": "fe0fb8b050e0acc8f749bcee482b8c157ed8233b",
      "tree": "facb2d56b33c78e715b6eff77cbcce828dbe5ef4",
      "parents": [
        "d55083d1449834d523cd3d9b5976b7e5011dce03"
      ],
      "author": {
        "name": "Revathi Uddaraju",
        "email": "revathiu@codeaurora.org",
        "time": "Thu Jul 27 17:05:37 2017 +0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 23 11:45:26 2019 -0800"
      },
      "message": "audiopolicy: fix wrong volume db value for voice call stream\n\nWhen apply mute for voice stream, vol index 0 is set, while\nvoice stream minimum vol index is 1. This will cause negative\nvol index is calculated and maximum db value is set.\n\nEnsure vol index is valide to calculate.\n\nAlso add range check in rescaleVolumeIndex().\n\nBug: 123063166\nTest: make\nCRs-Fixed: 2056642\nChange-Id: I89ee64d0914a971194a72b4de483d88b5029d80e\n"
    },
    {
      "commit": "0c1c7a2351f73a76bb8cabe2eb134cca98b7965d",
      "tree": "24088dfed6bf52c501fff781690ecb3475059428",
      "parents": [
        "e75dca3feec77fac58f1fa5f7a9b1195b4898368"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 17 14:58:28 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 23 11:11:18 2019 -0800"
      },
      "message": "audiopolicy: Read supported encoded formats from config file\n\nAdds reading of \u0027encodedFormats\u0027 attribute in \u0027devicePort\u0027.\nKeep fallback for an empty value for HDMI in case the framework\nruns against pre 5.0 audio HAL.\n\nAdd generic (example) APM config files for TV devices.\n\nBug: 120860184\nTest: on a TV device\n      tested that Pixel 1 a_p_c.xml file is not updated\nChange-Id: I85013a9e6172decd6ad72079d9c77e5f80e29d19\n"
    },
    {
      "commit": "350b3590701f58584a9fdae663f81fc0d3ea98d6",
      "tree": "ba423a3acf2080c764754a27387e7ab1c083973d",
      "parents": [
        "831b2167e413d7226ed09c528df977dd80cf4ee1"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Fri Dec 07 17:03:55 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jan 23 10:59:39 2019 -0800"
      },
      "message": "Switch mediaswcodec to 64 bit\n\nBug: 112004561\nTest: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\nChange-Id: I90edbe5ce637fb77b4a2a1dad4830bc4c8ef9b68\n"
    },
    {
      "commit": "38354d04ae7562cdbf8b30b5b1dbbf8253ccf480",
      "tree": "277626956a585f6c24fabbab2a002cdc3d298a3e",
      "parents": [
        "55e72131c26aa4d276bbb319c8dacebc06ce6e55"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 23 10:59:24 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 23 13:57:49 2019 +0000"
      },
      "message": "Delay mediaserver/mediaextractor during boot\n\nDelay start of mediaserver and mediaextractor during boot until after the\nRuntime APEX is mounted.\n\nThey depend on ICU / the ICU .dat file which are provided by the Runtime\nAPEX.\n\nTest: flash \u0026 boot\nBug: 123275379\nBug: 113373927\nBug: 123176717\nChange-Id: Idfe80054b6afe8f7449e698f59413ecefb280957\n"
    },
    {
      "commit": "63c15500e555b086bcff0b9e73e6a4c396b588a8",
      "tree": "f61ca45e82d7af25dd48d1662c8ef4dbb1ac26d4",
      "parents": [
        "b2e28dac2e5d4c00a797e50e9f2e486f90234acd"
      ],
      "author": {
        "name": "Tomoharu Kasahara",
        "email": "tomoharu.kasahara@sony.com",
        "time": "Wed Jan 23 12:42:04 2019 +0900"
      },
      "committer": {
        "name": "Tomoharu Kasahara",
        "email": "tomoharu.kasahara@sony.com",
        "time": "Wed Jan 23 20:59:02 2019 +0900"
      },
      "message": "AudioPolicy: enable apps to mute BLUETOOTH_SCO\n\nThis change enables an app that has the MODIFY_PHONE_STATE\npermission to mute the BULETOOTH_SCO stream.\nThe change adds specific handling in AudioPolicyManager\nfor the case in which volume index is 0 and stream type is\nBLUETOOTH_SCO.\nThe permission check is done in the AudioService Java code for the\ncalling process.\n\nBug: 111195322\nTest: Tested manually\nChange-Id: I5085826a7287dfbc2cfb17a9bd2d3ca1af66ea4a\n"
    },
    {
      "commit": "2c93e51abf2bf6b30ed69f02892287f40e64f5df",
      "tree": "292afaf39b462964b4e1d602a0153de5c1bdcbc3",
      "parents": [
        "a807ef99610c73ace4627ca65b4c3eb4ed84b604"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Jan 04 16:07:50 2019 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 22 19:18:31 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: fix legacy remote submix\n\nTest: make\n\nChange-Id: I57d364f7b1db5833f51ed75c2dba1f198414a54f\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "a807ef99610c73ace4627ca65b4c3eb4ed84b604",
      "tree": "78f1fbc56d67403452a25ce2e694ccaf7ccfd62a",
      "parents": [
        "9eb18550939321e37affd2260e3bb72716cb33d6"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Nov 05 10:44:33 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 22 19:18:23 2019 -0800"
      },
      "message": "audiopolicy: apm: Fix default bus device issue\n\nWhen a bus device is used as default, when calling setForceUse,\na given SwOutputDescriptor might be asked to switch to another\nbus device (the default), violating the Policy Mix rule.\n\nTest: see below\n -start an automotive device with PolicyMix registered and\n  bus device as the default.\n -Consider having a system bus for system sound and media for music.\n -Play touch sound (check played in system bus).\n -launch music player.\n\nResult:\n -Music shall be played on media bus device\n -Touch sound still played on system bus device\n\nChange-Id: I6668cffa525af51af6ed0838745658f72ae00a62\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    }
  ],
  "next": "9eb18550939321e37affd2260e3bb72716cb33d6"
}
