)]}'
{
  "log": [
    {
      "commit": "31da944ced04f4a4e8aae1523ac9e47b01e74cf2",
      "tree": "c01b156e6a366c426e42bc0c3b13ab39bda91136",
      "parents": [
        "6c6da4b32aa88fea669db3edfc21b797e875e599",
        "819484f7b1cc851573175f16251f8f03325af454"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed May 23 15:32:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 23 15:32:25 2018 -0700"
      },
      "message": "Merge \"Camera: Bump camera splitter output slots\" into pi-dev am: 6366070164\nam: 819484f7b1\n\nChange-Id: Ic6fe5056f4bb8ab211fde7743e6d5ec04cbb7188\n"
    },
    {
      "commit": "77bc2fca8dde7641bd095b3ed69ef1518cf9f7f3",
      "tree": "7d2747c84471f13df213dc6fd68f807f58b04001",
      "parents": [
        "ee6feb736809f0f94d55af5dce74c37df3c2e7c1",
        "81857dcbd1a6fc3723708e8a7397c9e21aed44f3"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed May 23 15:31:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 23 15:31:09 2018 -0700"
      },
      "message": "Merge \"Camera: Load initial session params speculatively\" into pi-dev am: 96363281c9\nam: 81857dcbd1\n\nChange-Id: If868631b4491553247bf316290817908fca6715d\n"
    },
    {
      "commit": "819484f7b1cc851573175f16251f8f03325af454",
      "tree": "779f6215ca428ccd2482192a66ee41df9526f474",
      "parents": [
        "c60ca7677bad5c1707faa25c5259e4116ddb0a3c",
        "636607016468151b5ac2ceb6d904c8bee33111bf"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed May 23 14:08:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 23 14:08:48 2018 -0700"
      },
      "message": "Merge \"Camera: Bump camera splitter output slots\" into pi-dev\nam: 6366070164\n\nChange-Id: I14069e22cfd002cd348804ca50444f4377aa49af\n"
    },
    {
      "commit": "81857dcbd1a6fc3723708e8a7397c9e21aed44f3",
      "tree": "87e744cff1c14d5518b32cda672474b3b6e12485",
      "parents": [
        "fd41a706d05ef600dea94a4b7cdeef051e34b96d",
        "96363281c9188866492487d70769ebcd985a77c9"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed May 23 14:07:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 23 14:07:35 2018 -0700"
      },
      "message": "Merge \"Camera: Load initial session params speculatively\" into pi-dev\nam: 96363281c9\n\nChange-Id: Icecf862aca1023ef3dac6d56f23858997be456ba\n"
    },
    {
      "commit": "636607016468151b5ac2ceb6d904c8bee33111bf",
      "tree": "29a551a8004be53e54659bc3f4b5c740805acec0",
      "parents": [
        "e70022cfd9dbc02c583847236c0d390c822cffd2",
        "18e3f37a41b1a0eb4d15c9e8ca36e67fbc5103ce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 23 16:48:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 23 16:48:58 2018 +0000"
      },
      "message": "Merge \"Camera: Bump camera splitter output slots\" into pi-dev"
    },
    {
      "commit": "298e1b3db0f94396249933c823b6ff55cf8fc1cc",
      "tree": "8deeed6f3a7001d40440a130e9f377ec3fb59a89",
      "parents": [
        "868c0a9e91df17dcad52b5a0dcacc51205dd8f46",
        "4ef19fa450e8b523741a22fabee8f62691abec37"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 22 20:47:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 22 20:47:54 2018 +0000"
      },
      "message": "Merge \"Update audio permission checking\""
    },
    {
      "commit": "18e3f37a41b1a0eb4d15c9e8ca36e67fbc5103ce",
      "tree": "19584fd2f225272ad4d186d1d6821886accac9c5",
      "parents": [
        "7bb4333ff2298d0cc1a2125e18a21c174bced01d"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue May 22 18:55:01 2018 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue May 22 19:13:32 2018 +0100"
      },
      "message": "Camera: Bump camera splitter output slots\n\nCurrently we are configuring the number of output\nslots in each new shared surface as the sum between the\nmaxiumum stream buffers and the minimum undequeued buffers\nper surface. However the total number of buffers that\nwill get allocated in the input stream queue increases\nwith the latter undequeued ammount on each new output.\nThe delta between these values could result in\ninsufficient output slots for some outputs that consume\nbuffers with vastly different speeds combined with a\nslow camera producer that exhausts all dequeued slots.\nTo avoid this set the output slot count the the maximum\nsupported number by the framework. Allocation is disabled\nso this should not increase the number of allocated buffers.\n\nBug: 80079782\nTest: Manual using application,\nCamera CTS\nChange-Id: I36eed94a169a802f33126b640dd1d95725aec8db\n"
    },
    {
      "commit": "b139b178e8aca1343587dc8657360a21a1df8a10",
      "tree": "72da8942c0318e7d0f5b20fc7854447ec5269287",
      "parents": [
        "7bb4333ff2298d0cc1a2125e18a21c174bced01d"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue May 22 11:03:59 2018 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue May 22 11:03:59 2018 +0100"
      },
      "message": "Camera: Load initial session params speculatively\n\nIn case camera clients don\u0027t pass any session parameters try to\nload their initial values depending on the last cached default\nrequest.\n\nBug: 79989121\nTest: Camera CTS\nChange-Id: I73dd6b37584f6ae5dc5b9681313eb080ddd53b88\n"
    },
    {
      "commit": "8946a28aaaadf426ee22b098b4aec7be4d9edc00",
      "tree": "85a9520841616e8c1188d51fd44591543148e874",
      "parents": [
        "acb7d9ddc1955682379ea514082511b9ea44482e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 19 20:04:56 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 21 11:37:46 2018 -0700"
      },
      "message": "AudioFlinger: Fix Tee logging\n\n1) Fix bad WAV files for tee sources that aren\u0027t 16 bit PCM.\n2) Allow multiple RecordThread tees instead of one.\n3) Allow dump from non-fast MixerThreads (e.g. deep buffer).\n4) Parallelize tee dumping for improved concurrency;\n   dump outside of AF lock.\n5) Async dumping to allow dump to be issued in time critical code.\n6) Improve file naming to distinguish record vs playback tracks,\n   threads, and dump reason.\n7) Allow Tee insertion anywhere in code with global running\n   Tee management.\n8) Increase resolution of filename time to msec avoid file overwrite.\n9) Dump track data upon removal from active tracks to improve\n   timeliness of dumped data.\n10) Dump tee data on tee destruction.\n11) Refactor Tee code out of AudioFlinger.cpp; minimize footprint.\n\nAudioFlinger enabling code requires Configuration.h define TEE_SINK;\nthis is disabled, hence avoiding regression risk.\n\nTest: Enable tee log, repeatedly call dumpsys, examine files.\nBug: 78369241\nChange-Id: I7b22cfa7dbbc1601828de931522065a509ab4047\n"
    },
    {
      "commit": "5ebb948176e82286107c023d894e4e2c47be6fcd",
      "tree": "2e7342620e5b3f58a89902d51428f9acee3a1ba4",
      "parents": [
        "45af9cd0cf716426cb29c9ea1ae8df5cfad9e5c5",
        "c589a49b2efbb6cb6cbe9221269bdd7953ae6d06"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 21 17:03:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 21 17:03:29 2018 +0000"
      },
      "message": "Merge \"PatchPanel: Fix typo in patch validation\""
    },
    {
      "commit": "45af9cd0cf716426cb29c9ea1ae8df5cfad9e5c5",
      "tree": "996733f3a5a5762fe29d4a7f17b823e56255510b",
      "parents": [
        "34ee3b0a3bc4488e54105c745b2b2867d8dba2e6",
        "d5d1efcf2c39071a35ccdd7f0ad256df71abede3"
      ],
      "author": {
        "name": "Melvin Xu (徐敏)",
        "email": "melvin.xu@spreadtrum.com",
        "time": "Sun May 20 20:03:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun May 20 20:03:20 2018 -0700"
      },
      "message": "Merge \"CTS-on-gsi test, CtsSecurityHostTestCases--android.security.cts.ProcessMustUseSeccompTest#testMediaextractorHasSeccompFilter --android.security.cts.ProcessMustUseSeccompTest#testOmxHalHasSeccompFilter failed\" am: 078545604a am: c752095a22\nam: d5d1efcf2c\n\nChange-Id: I65e138043246edeab32a69061cba434a285c02ac\n"
    },
    {
      "commit": "d5d1efcf2c39071a35ccdd7f0ad256df71abede3",
      "tree": "2cddc8357d26744a1309b1f8e879d02cf5e30fd1",
      "parents": [
        "dbd89c79fce27d93c0a15647049f13217ed50433",
        "c752095a22e70f921bf5290b345cb411bfba1917"
      ],
      "author": {
        "name": "Melvin Xu (徐敏)",
        "email": "melvin.xu@spreadtrum.com",
        "time": "Sun May 20 19:57:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun May 20 19:57:07 2018 -0700"
      },
      "message": "Merge \"CTS-on-gsi test, CtsSecurityHostTestCases--android.security.cts.ProcessMustUseSeccompTest#testMediaextractorHasSeccompFilter --android.security.cts.ProcessMustUseSeccompTest#testOmxHalHasSeccompFilter failed\" am: 078545604a\nam: c752095a22\n\nChange-Id: Ie5b6f660594cdd8967affe5e85777727ef2935e6\n"
    },
    {
      "commit": "7a1c913eb9fb9279baad1b1bb7c2e311e75abb57",
      "tree": "2e053b917f1b8fc887cd6172bb1824f08d27c8fc",
      "parents": [
        "3e0db91be9a81ea6d9b132c636e683a6b4f9bb8d",
        "a63f07bfcf6ca82d985634a2548e05de0f03fc81"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 18 17:16:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 18 17:16:56 2018 -0700"
      },
      "message": "Effects: Aux effect input is always mono, do not retry as stereo am: 01b32723fb\nam: a63f07bfcf\n\nChange-Id: Ib4c80c48512cfc36c552499d0ebbdb27f87b1898\n"
    },
    {
      "commit": "a63f07bfcf6ca82d985634a2548e05de0f03fc81",
      "tree": "665be646af85b9e4a86e1f641f966a76ec39a002",
      "parents": [
        "12fea1b4cb95d97aeae8ad42634b5dec12790de6",
        "01b32723fb154dce487e20e980a5daff0764badf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 18 16:45:33 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 18 16:45:33 2018 -0700"
      },
      "message": "Effects: Aux effect input is always mono, do not retry as stereo\nam: 01b32723fb\n\nChange-Id: I24a77d1fbcb62293917348584f5eaad7e0161262\n"
    },
    {
      "commit": "01b32723fb154dce487e20e980a5daff0764badf",
      "tree": "92612c694eb9ae9365202b9c85b0f3918e4c35eb",
      "parents": [
        "1ea2c0f91cb97b17cc8849cf14848b05684b63b7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 18 13:52:02 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 18 13:52:02 2018 -0700"
      },
      "message": "Effects: Aux effect input is always mono, do not retry as stereo\n\nTest: Solotester on multichannel usb with aux effect\nBug: 79950246\nChange-Id: I6e2c3be88d657a5df547dc1034be0e0eecc4b7c2\n"
    },
    {
      "commit": "d8ba3c4d8a56abf3afb8e793caaec97216251b41",
      "tree": "f7c31740b155cf5a8bba9c87e50b8e498322619c",
      "parents": [
        "31e2127d4b78daeedd36b6daabc4ba7dfe1b7ec7",
        "1888c866419cb11a422a36ad08e2e6ca2c2f8aeb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 18 11:30:44 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 18 11:30:44 2018 -0700"
      },
      "message": "Merge \"audio policy: add device to audio record media metrics\" into pi-dev am: 1ea2c0f91c\nam: 1888c86641\n\nChange-Id: Ic914228c52f19b2f745541aa5edd12bbd2f66419\n"
    },
    {
      "commit": "1888c866419cb11a422a36ad08e2e6ca2c2f8aeb",
      "tree": "2eb76c155a3bf0438ef3a105db30832010f9d3ea",
      "parents": [
        "34dfaeb3f46e45e538e21b6d788200f85b53d6be",
        "1ea2c0f91cb97b17cc8849cf14848b05684b63b7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 18 11:18:06 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 18 11:18:06 2018 -0700"
      },
      "message": "Merge \"audio policy: add device to audio record media metrics\" into pi-dev\nam: 1ea2c0f91c\n\nChange-Id: Ic9cacf6f5b2b9f3aa51367914f71c8c03592a415\n"
    },
    {
      "commit": "1ea2c0f91cb97b17cc8849cf14848b05684b63b7",
      "tree": "3ddb537546057148f5c3b4c09f3c8a24aba2f764",
      "parents": [
        "dc784769ddc50e9579c1a2a739d65d87e6539015",
        "99fcae46d54639e7841d87b1dcacbc229bbf8dc4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 18 17:58:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 17:58:16 2018 +0000"
      },
      "message": "Merge \"audio policy: add device to audio record media metrics\" into pi-dev"
    },
    {
      "commit": "31e2127d4b78daeedd36b6daabc4ba7dfe1b7ec7",
      "tree": "94cb659b36b481757c4dce0c8260f1689c3c07df",
      "parents": [
        "808dba40e49855a3537fee311a93ad76e443d1b8",
        "ab7ef300b74904bce6c5c810d9e5679abfa582e6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 18 17:42:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 17:42:55 2018 +0000"
      },
      "message": "Merge \"Move ServiceUtilities from audioflinger to libmediautils\""
    },
    {
      "commit": "808dba40e49855a3537fee311a93ad76e443d1b8",
      "tree": "887066d27ceda746d03232490695943f31ec27de",
      "parents": [
        "005aa7f3ce12700fff925a90b164fd7189147c39",
        "34dfaeb3f46e45e538e21b6d788200f85b53d6be"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri May 18 02:27:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 18 02:27:39 2018 -0700"
      },
      "message": "Merge \"Camera: Limit framerate re-configurations during HFR\" into pi-dev am: dc784769dd\nam: 34dfaeb3f4\n\nChange-Id: Icc541c755418eda169d79cd8bb94f7b48af9870b\n"
    },
    {
      "commit": "34dfaeb3f46e45e538e21b6d788200f85b53d6be",
      "tree": "86d8d7ba177fe6db3b90deb65b91644b9644d8e1",
      "parents": [
        "906ba2f10b4ed938832a7a8d9ebe76832c742f64",
        "dc784769ddc50e9579c1a2a739d65d87e6539015"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri May 18 02:21:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 18 02:21:32 2018 -0700"
      },
      "message": "Merge \"Camera: Limit framerate re-configurations during HFR\" into pi-dev\nam: dc784769dd\n\nChange-Id: Ie8ce5ab016b81da9de73834a03d97f89a017b384\n"
    },
    {
      "commit": "dc784769ddc50e9579c1a2a739d65d87e6539015",
      "tree": "01125c585d002d8e3dfe33fa6bc403beb417b76d",
      "parents": [
        "8ebe13e647fff30e9e05870b51e0ab15bdf7ef4b",
        "a14b4ddd3575a01e0cf5af5475365af636d3b46f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 18 09:12:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 09:12:16 2018 +0000"
      },
      "message": "Merge \"Camera: Limit framerate re-configurations during HFR\" into pi-dev"
    },
    {
      "commit": "99fcae46d54639e7841d87b1dcacbc229bbf8dc4",
      "tree": "f1f6c0ffb8e22e7df27fbe5b5cd42e3bef3e7658",
      "parents": [
        "0ba1ae398e65718fba66bb1bd258d4d0a9ba6c28"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 17 16:59:18 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 17 18:17:44 2018 -0700"
      },
      "message": "audio policy: add device to audio record media metrics\n\nAdd information about requested and active input device type in\naudiopolicy media metrics on recording clients.\n\nBug: 78595399\nTest: recording over several devices, dumpsys media.metrics\nChange-Id: Ifeeb2c51ee3ed2dbb86406c0e8d74e7aa70dd8fb\n"
    },
    {
      "commit": "4ef19fa450e8b523741a22fabee8f62691abec37",
      "tree": "5d0eaaf73cebe029d1d8dd935d5c6fddb12ee70f",
      "parents": [
        "ab7ef300b74904bce6c5c810d9e5679abfa582e6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 15 19:35:29 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 17 18:11:55 2018 -0700"
      },
      "message": "Update audio permission checking\n\nChange captureAudioOutputAllowed to check client pid.\n\nCheck calling uid with AID_AUDIOSERVER instead of calling pid with\nown pid. This is consistent, and works if AudioFlinger and\nAudioPolicyManager exist as different processes.\n\nRemove getpid_cached since getpid() is very fast. This removes\nany initialization issues.\n\nReplace getuid() with AID_AUDIOSERVER to remove ambiguity of\nmultiple native audio services for multiple users. Only\none exists regardless of users.\n\nDo not use multiuser UID checks for certain native services\nthat do not spawn for multiple users to prevent accidently exposure.\n\nMove permission checks to use ServiceUtilities for control and\nconsistency.\n\nRename isTrustedCallingUid to isAudioServerOrMediaServerUid\nso that permission check is explicitly known to caller.\n\nUpdate MediaLogService to use ServiceUtilities.\n\nTest: Basic sanity\nTest: AudioTrackTest, AudioRecordTest, SoundPool, SoundTrigger\nBug: 79485140\nChange-Id: Ib8ccb36929a9b4806c01626f32fa023a046d6020\n"
    },
    {
      "commit": "1bdb09960f96032cdcfe2b747da23e54cd7f4d6a",
      "tree": "a90fd20cc4e0f71d4e0b574cb41d574d97820ed1",
      "parents": [
        "aecfb4f3ec0cdb9015249d29c5a1a1713a000fd1",
        "201369ba583a63b87f40dacbbc2d9c2a13cbb958"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 22:50:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 22:50:59 2018 +0000"
      },
      "message": "Merge \"audioflinger: Dump software patches\""
    },
    {
      "commit": "b1410279236c35e05edfb7aa96dec563759d073e",
      "tree": "7228325d07710a7366a5601b11e974b2f9dfdd02",
      "parents": [
        "18a64dc9e1bdb6f0bf80a76b86b3ca96ed5be333",
        "7221451768a69fa5bc8dbbff8ea76af47d3ea70a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 17 15:03:40 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 17 15:03:40 2018 -0700"
      },
      "message": "Merge \"audiopolicy: Optimize A2DP codec config change\" into pi-dev am: 0ba1ae398e\nam: 7221451768\n\nChange-Id: Iab6dde9d368f6647aeb1eab49dc7b45a6b96f756\n"
    },
    {
      "commit": "7221451768a69fa5bc8dbbff8ea76af47d3ea70a",
      "tree": "862cc3e9533ab6d1220c351fab87017e4a24dd77",
      "parents": [
        "52f0c23904b2249fb92ad015d74d9c6969930cdb",
        "0ba1ae398e65718fba66bb1bd258d4d0a9ba6c28"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 17 14:58:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 17 14:58:36 2018 -0700"
      },
      "message": "Merge \"audiopolicy: Optimize A2DP codec config change\" into pi-dev\nam: 0ba1ae398e\n\nChange-Id: I8a8da84dafe1f941b7fb0240ac353c35ea06ace3\n"
    },
    {
      "commit": "0ba1ae398e65718fba66bb1bd258d4d0a9ba6c28",
      "tree": "9162db388abd715dfb491e921ba9478e54178c36",
      "parents": [
        "88af67ed2a068280c60bb467b58585fffa9f22a6",
        "3432e0439d3b09756f125dfa734951c654d63baf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 17 21:47:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 21:47:06 2018 +0000"
      },
      "message": "Merge \"audiopolicy: Optimize A2DP codec config change\" into pi-dev"
    },
    {
      "commit": "3432e0439d3b09756f125dfa734951c654d63baf",
      "tree": "a5ccde7855da94bf284d302e61adf0d155f0dcfa",
      "parents": [
        "5eb9d967e81ace00d96ab50b9264b25560e9df1d"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@codeaurora.org",
        "time": "Fri Apr 06 14:22:15 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 17 11:18:25 2018 -0700"
      },
      "message": "audiopolicy: Optimize A2DP codec config change\n\nHandle A2DP codec config change in audio HAL without\nclosing / re-opening outputs or invalidating streams\nfrom AudioPolicyManager.\n\nBug: 79476124\nTest: music playback over BT A2DP\nChange-Id: I87263da32815a4d4f6273068ef0b2a5b93c73b75\n"
    },
    {
      "commit": "201369ba583a63b87f40dacbbc2d9c2a13cbb958",
      "tree": "048683ea45de57cd5a62c9cff279e564ef52cecf",
      "parents": [
        "4dbb7193c5fde752707bee899a018511e872f1e5"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 16 16:52:32 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu May 17 10:45:31 2018 -0700"
      },
      "message": "audioflinger: Dump software patches\n\nExample output:\n\n    Software patches:\n      Patch 44: thread 0xa6d83900 \u003d\u003e thread 0xa7dfe000\n\nThis helps to identify threads used for the patch.\n\nTest: adb shell dumpsys media.audio_flinger\nChange-Id: I6c70945abd8e4abd46cd0311559d35efb6127555\n"
    },
    {
      "commit": "7a1874b98b445c1938d279a2b6a7a2612a342621",
      "tree": "2c6a25373f88a1372c4ed008f1ee005c66ab30f6",
      "parents": [
        "1f2bfd3ac9d61982acb348d2c78f95c7d4b0bf05",
        "52f0c23904b2249fb92ad015d74d9c6969930cdb"
      ],
      "author": {
        "name": "Bubble Fang",
        "email": "bubblefang@google.com",
        "time": "Wed May 16 19:01:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 16 19:01:01 2018 -0700"
      },
      "message": "Merge \"audioflinger: clean previously opened input selectedDeviceId if retrying\" into pi-dev am: 88af67ed2a\nam: 52f0c23904\n\nChange-Id: I26d76fdb4269802f8a9bd5e585183596ff9cba61\n"
    },
    {
      "commit": "52f0c23904b2249fb92ad015d74d9c6969930cdb",
      "tree": "d5dcc4795724e94c3549c2ac79c3091d8182f98d",
      "parents": [
        "77fa0e64b0663a649f0c24758a14f9346f8e0255",
        "88af67ed2a068280c60bb467b58585fffa9f22a6"
      ],
      "author": {
        "name": "Bubble Fang",
        "email": "bubblefang@google.com",
        "time": "Wed May 16 18:57:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 16 18:57:28 2018 -0700"
      },
      "message": "Merge \"audioflinger: clean previously opened input selectedDeviceId if retrying\" into pi-dev\nam: 88af67ed2a\n\nChange-Id: I9a0856ea31e610d6b045602ced743a91d8572f53\n"
    },
    {
      "commit": "ab7ef300b74904bce6c5c810d9e5679abfa582e6",
      "tree": "dadb05ba8da176c046139ca43c3fae48a14191c3",
      "parents": [
        "1f2bfd3ac9d61982acb348d2c78f95c7d4b0bf05"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 15 19:35:29 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 16 18:49:09 2018 -0700"
      },
      "message": "Move ServiceUtilities from audioflinger to libmediautils\n\nTest: Play Music, Play Movies, Camera, Photos\nBug: 79485140\nChange-Id: Ib8382547828e386024145c416321d24e4af182db\n"
    },
    {
      "commit": "88af67ed2a068280c60bb467b58585fffa9f22a6",
      "tree": "a1319887fd2413232f64355ca9e9186056cc1cdf",
      "parents": [
        "5eb9d967e81ace00d96ab50b9264b25560e9df1d",
        "5fac9c6a6c666775cbc7c63c3b6c44a9384e65f5"
      ],
      "author": {
        "name": "Bubble Fang",
        "email": "bubblefang@google.com",
        "time": "Thu May 17 01:47:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 01:47:43 2018 +0000"
      },
      "message": "Merge \"audioflinger: clean previously opened input selectedDeviceId if retrying\" into pi-dev"
    },
    {
      "commit": "1f2bfd3ac9d61982acb348d2c78f95c7d4b0bf05",
      "tree": "c8b6f8c4a284dbea95a34ef16e2826c34de49837",
      "parents": [
        "4dbb7193c5fde752707bee899a018511e872f1e5",
        "d43239e1d8d05041816fcbb4a0f5117e5945960b"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu May 17 00:05:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 00:05:41 2018 +0000"
      },
      "message": "Merge \"Provide OMX/xaac Interface\""
    },
    {
      "commit": "c589a49b2efbb6cb6cbe9221269bdd7953ae6d06",
      "tree": "706b7c5545c31cd96f72de7b0e9df01833b95942",
      "parents": [
        "f1040d20210338eb850b000d4344ddc9a04eb493"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 16 11:14:57 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 16 11:14:57 2018 -0700"
      },
      "message": "PatchPanel: Fix typo in patch validation\n\nThis piece of logic does not seem to be correct:\n\n(patch-\u003esinks[i].type \u003d\u003d AUDIO_PORT_TYPE_MIX ||\n patch-\u003esinks[i].ext.mix.hw_module !\u003d srcModule)\n\nI assume it should be:\n\n(patch-\u003esinks[i].type \u003d\u003d AUDIO_PORT_TYPE_MIX ||\n    (patch-\u003esinks[i].type \u003d\u003d AUDIO_PORT_TYPE_DEVICE \u0026\u0026\n     patch-\u003esinks[i].ext.device.hw_module !\u003d srcModule)\n\nWas working fine because \u0027hw_module\u0027 is the first field both\nin audio_port_config_device_ext and audio_port_config_mix_ext.\n\nTest: make\nChange-Id: Icf80cec701048bddc4d63eaedf00fc75b5b891dd\n"
    },
    {
      "commit": "4dbb7193c5fde752707bee899a018511e872f1e5",
      "tree": "e1b3fe47323886a0fd5751aafe35ce7dc5add0d6",
      "parents": [
        "815fc56caa35b91df0c8a4bb4659438e59e91152",
        "dc769682023ba8a8a5da07c3e3a3adfabe4bd612"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 16 17:47:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 16 17:47:25 2018 +0000"
      },
      "message": "Merge \"audio_server: Unify audio_patch creation\""
    },
    {
      "commit": "dc769682023ba8a8a5da07c3e3a3adfabe4bd612",
      "tree": "6f6a0991e71927cda302c4c489f69bd239023597",
      "parents": [
        "f1040d20210338eb850b000d4344ddc9a04eb493"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 15:34:08 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 16 09:43:33 2018 -0700"
      },
      "message": "audio_server: Unify audio_patch creation\n\nProvide PatchBuilder helper class instead of fiddling with\nstruct audio_patch directly.\n\nRename \u0027getAudioPortConfig\u0027 methods of AudioFlinger helper\nclasses into \u0027toAudioPortConfig\u0027 to match classes\nof AudioPolicyManager.\n\nFactor out common code in AudioPolicyManager that was\nadding audio patches. For that, AudioOutputDescriptor now inherits\nfrom AudioSessionInfoProvider, and the latter has been extended\nwith \u0027setPatchHandle\u0027 method.\n\nTest: switch to/from Bluetooth on phone calls and media playback,\n      use camcorder\nChange-Id: Idd99645dc6943ed078c4d94d0197fead7831ab4d\n"
    },
    {
      "commit": "d43239e1d8d05041816fcbb4a0f5117e5945960b",
      "tree": "71eb625f61f0d4819b09e590e98bd40552c9e21a",
      "parents": [
        "c84ef0a6d4d931caebbf1dfec5265d944de45dcb"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue May 15 14:37:22 2018 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed May 16 09:42:12 2018 -0700"
      },
      "message": "Provide OMX/xaac Interface\n\nProvides the interfacing between the codec process through OMX into the\nnew xHE-AAC implementation.\n\nBug: 77287124\nBug: 72386934\nTest: CTS DecoderTest\nChange-Id: Ic2ef0cb2ca54969673753938bab1f1456fe045c6\n"
    },
    {
      "commit": "a14b4ddd3575a01e0cf5af5475365af636d3b46f",
      "tree": "893dfbbb7efe641c6d3ef7f1c10dc2ed9c95ed91",
      "parents": [
        "bf2e1e8debbe1e91549b2defe2345d1a1876a8df"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue May 15 11:00:31 2018 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed May 16 17:06:34 2018 +0100"
      },
      "message": "Camera: Limit framerate re-configurations during HFR\n\nPer API specification the maximum framerate range is the only\nvalue that needs to be considered during constrained camera\nsessions. If target fps is part of the session parameters, then\nwe should only monitor for modifications in the upper range.\n\nBug: 78494729\nTest: Camera CTS\nChange-Id: Ic7de406820347f8e58bf3d4fee7750f694372604\n"
    },
    {
      "commit": "f38ae75e82876fa231cc55bca761e6e22ede1867",
      "tree": "41c05c6b412169df2cf5c392684f27b32f974803",
      "parents": [
        "8bc70f7fc17d70e3d3be44d55e17c827fb6e2fb1",
        "0e66c708f9afc27195d6854977f70f070ba1e46b"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue May 15 14:52:05 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 14:52:05 2018 -0700"
      },
      "message": "Merge \"Add support for manually set surround formats.\" into pi-dev am: f824853eab\nam: 0e66c708f9\n\nChange-Id: If0fb97fcf33cb8b1b712238102d17f2c84c24f38\n"
    },
    {
      "commit": "8bc70f7fc17d70e3d3be44d55e17c827fb6e2fb1",
      "tree": "f53e3d31258560bb3593820c98c7dd3b1892cc6a",
      "parents": [
        "98da2a62079704c8f9b3963ed250d547addf45bd",
        "cfc4aff2d73d329bbc56dd1c322524d733a5972b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 15 14:47:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 14:47:38 2018 -0700"
      },
      "message": "Merge \"aaudio: fix possible race condition in close()\" into pi-dev am: 625e3020f8\nam: cfc4aff2d7\n\nChange-Id: I8ffd92290c2b41e8020915ebf3cce69cfd9b5a84\n"
    },
    {
      "commit": "0e66c708f9afc27195d6854977f70f070ba1e46b",
      "tree": "41f18c0a17321ae6f19a513fac91baaecb8a62cd",
      "parents": [
        "cfc4aff2d73d329bbc56dd1c322524d733a5972b",
        "f824853eabf8eab483de7387c001493dda63966b"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue May 15 14:01:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 14:01:54 2018 -0700"
      },
      "message": "Merge \"Add support for manually set surround formats.\" into pi-dev\nam: f824853eab\n\nChange-Id: Id134ce99f99d0fa067a95ed5e2f109ec96c7cfbf\n"
    },
    {
      "commit": "cfc4aff2d73d329bbc56dd1c322524d733a5972b",
      "tree": "b1cbc10795b305dba7663f5dcd48c33c811451b3",
      "parents": [
        "84b79e642ba977143d882c8270426dacfd6e117f",
        "625e3020f8c070c8d8449af1bdaeaa002c11cc03"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 15 14:01:18 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 14:01:18 2018 -0700"
      },
      "message": "Merge \"aaudio: fix possible race condition in close()\" into pi-dev\nam: 625e3020f8\n\nChange-Id: I4fbc6f4a23e3b62ad591244096f38c5d2e0d22c6\n"
    },
    {
      "commit": "f824853eabf8eab483de7387c001493dda63966b",
      "tree": "2d56a1a846f7adf1e25a7cf4465d34d648cd861a",
      "parents": [
        "625e3020f8c070c8d8449af1bdaeaa002c11cc03",
        "817729095966c338615a8a791d2dbf774fc034ef"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue May 15 20:54:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 20:54:28 2018 +0000"
      },
      "message": "Merge \"Add support for manually set surround formats.\" into pi-dev"
    },
    {
      "commit": "625e3020f8c070c8d8449af1bdaeaa002c11cc03",
      "tree": "26bb1e93bd520b90e68a96a7b51a7f96aec58d10",
      "parents": [
        "c7c321335610ac2ee193c41ef673517ad43d6c42",
        "2fe718b88ebc7e9f10e1195591dd62ae9e26ed8d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 15 20:53:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 20:53:20 2018 +0000"
      },
      "message": "Merge \"aaudio: fix possible race condition in close()\" into pi-dev"
    },
    {
      "commit": "98da2a62079704c8f9b3963ed250d547addf45bd",
      "tree": "4bd61aa5282d38737277a251920ac9b5074b47d1",
      "parents": [
        "c84ef0a6d4d931caebbf1dfec5265d944de45dcb",
        "84b79e642ba977143d882c8270426dacfd6e117f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 15 12:42:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 12:42:20 2018 -0700"
      },
      "message": "Merge \"audio policy: reduce mute time when invalidating tracks\" into pi-dev am: c7c3213356\nam: 84b79e642b\n\nChange-Id: I22dc4c6d8ac63fe1e75e2cd03732261ad913e089\n"
    },
    {
      "commit": "2fe718b88ebc7e9f10e1195591dd62ae9e26ed8d",
      "tree": "de5712270006a8db8c1cdf2ba70253bffc789c4c",
      "parents": [
        "1267e887bd9d38e2785b601e872a26acf0ec17f9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 14 12:28:32 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 15 12:17:04 2018 -0700"
      },
      "message": "aaudio: fix possible race condition in close()\n\nMove increment and decrement of reference count under\nthe same lock used for finding the stream.\n\nBug: 79693915\nTest: run CTS tests\nChange-Id: I206eb09724a81f2d79a03fa756adbcbb8abf5efa\n"
    },
    {
      "commit": "84b79e642ba977143d882c8270426dacfd6e117f",
      "tree": "c3e546e33984a0d04088e07f906605b9187e099b",
      "parents": [
        "a18b655832a629d7d14967b137f27ed0a36417af",
        "c7c321335610ac2ee193c41ef673517ad43d6c42"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 15 12:12:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 12:12:35 2018 -0700"
      },
      "message": "Merge \"audio policy: reduce mute time when invalidating tracks\" into pi-dev\nam: c7c3213356\n\nChange-Id: I3d617996be5d86a74b5b1f113d5e37e75fbc4780\n"
    },
    {
      "commit": "5fac9c6a6c666775cbc7c63c3b6c44a9384e65f5",
      "tree": "3abae3a532b94a1effe64d53da838830deebae84",
      "parents": [
        "bf2e1e8debbe1e91549b2defe2345d1a1876a8df"
      ],
      "author": {
        "name": "Yung Ti Su",
        "email": "andysu@google.com",
        "time": "Tue May 15 15:07:43 2018 +0800"
      },
      "committer": {
        "name": "Yung Ti Su",
        "email": "andysu@google.com",
        "time": "Tue May 15 18:17:43 2018 +0800"
      },
      "message": "audioflinger: clean previously opened input selectedDeviceId if retrying\n\nselectedDeviceId is not cleaned when retrying open input.\nand will add this selectedDeviceId into input routing.\nWhich will cause getDeviceForInputSource() not doing\nmEngine-\u003egetDeviceForInputSource() but only return\nroute-\u003emDeviceDescriptor-\u003etype() and failed to route to\nthe correct device.\nTest: self-test routing is corrected.\n\nBug:79332409\nTest: routing is corrected.\nChange-Id: Ia85c773f3549befb929178469116dc2d4e4945ad\n"
    },
    {
      "commit": "ac3a690c79467612a12e2c3a216c8ea2c4efbd64",
      "tree": "b192daca5cbceadc29316e9b22413bcb3914a856",
      "parents": [
        "2c82a511797920451aa20ad5e089fc71aaff78af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 11 16:39:10 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon May 14 18:35:05 2018 -0700"
      },
      "message": "audio policy: reduce mute time when invalidating tracks\n\nReplace fixed 2 seconds mute time in checkOutputForStrategy() by\na variable time based on actual maximum output latency.\n\nAlso fix problem where src outputs where queried from mOutputs list\ninstead of from mPreviousOutputs.\n\nBug: 70632415\nTest: manual connections/disconnection of BT A2DP and USB headset\nChange-Id: I3a9ea915a134d95a2dc5abea2fbfe6152f147e80\n"
    },
    {
      "commit": "c84ef0a6d4d931caebbf1dfec5265d944de45dcb",
      "tree": "a7ea7f408ccd1cc11d585ee1f023de930f7c5a8e",
      "parents": [
        "f1040d20210338eb850b000d4344ddc9a04eb493",
        "7ced919cddad4f8db132da56737a2527f9e0e242"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 14 21:00:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 21:00:01 2018 +0000"
      },
      "message": "Merge \"AudioPolicy: Improve audio patches dump\""
    },
    {
      "commit": "030f4ae487bc726fa39c06bd883c60fd29e5ff78",
      "tree": "9e3d1213be510cc3f1a20d2676e4358b77b70cab",
      "parents": [
        "a8b38b6d2a82fdbee509fdd6b457878367c2fa4a",
        "a4634c02420479173e9f29f8b96615a9792312d6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 11 08:46:44 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 11 08:46:44 2018 -0700"
      },
      "message": "Merge \"AudioFlinger: Fix tee logging\" into pi-dev am: 2c82a51179\nam: a4634c0242\n\nChange-Id: Ice7ec5ae93e393bed9533b44f2a505177985989d\n"
    },
    {
      "commit": "a4634c02420479173e9f29f8b96615a9792312d6",
      "tree": "61034ca0881f4b90b4e9fec39c03102b6d76b990",
      "parents": [
        "83790c7303a1568c4689b274f77eda12c15cc340",
        "2c82a511797920451aa20ad5e089fc71aaff78af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 11 08:35:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 11 08:35:10 2018 -0700"
      },
      "message": "Merge \"AudioFlinger: Fix tee logging\" into pi-dev\nam: 2c82a51179\n\nChange-Id: Ie6465ca2b24ddeca9044c473c13770eebef0d32c\n"
    },
    {
      "commit": "7ad78187b16c5e2ccd0abb4d09883ef5a1411d11",
      "tree": "9f334855da3fbe449093b0f7ffcf8e996d6c59f9",
      "parents": [
        "b3dee358b18472d6623a9d6342d7f2f7e8e45bec"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 10 20:54:29 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 10 20:57:22 2018 -0700"
      },
      "message": "AudioFlinger: Fix tee logging\n\nMissing header file hidden by compile flag.\n\nTest: Compilation is fixed when flag enabled\nBug: 78310170\nChange-Id: Ie938193c5d87de04f22318a8fb4fffb4a4412a53\n"
    },
    {
      "commit": "315ebb417fedf88d42240844479604e79ea3ca2a",
      "tree": "7a12a33194ae96121e8322211945f0e9b211efe7",
      "parents": [
        "6c529b103e2a4079295c39c32b7aedcbae3295c8",
        "812511dbb573f2630a2a98d197e5cbeb3c595671"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 10 19:08:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 19:08:29 2018 -0700"
      },
      "message": "Merge \"audiopolicy: clean delayMs to 0 before reevaluate all outputs routing when call state changes\" into pi-dev am: ff9407d5c6\nam: 812511dbb5\n\nChange-Id: I2ce7d66029e81b7c0e47362bbcef54cf9ba2092b\n"
    },
    {
      "commit": "812511dbb573f2630a2a98d197e5cbeb3c595671",
      "tree": "16d2b76a2f6f2373f0a892aecd4ab68e2a18f29e",
      "parents": [
        "e34561be0524fc177c3c1ba973a4e739e6f01ec9",
        "ff9407d5c6eb3598edc2dd2405fb0d3367e726d4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 10 19:03:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 19:03:51 2018 -0700"
      },
      "message": "Merge \"audiopolicy: clean delayMs to 0 before reevaluate all outputs routing when call state changes\" into pi-dev\nam: ff9407d5c6\n\nChange-Id: Ica74623612e88680887789288c744a4a4a6a0275\n"
    },
    {
      "commit": "ff9407d5c6eb3598edc2dd2405fb0d3367e726d4",
      "tree": "2891a0fb38a687c814663d206c02456a5eb024ae",
      "parents": [
        "b1f8c80d3a0c144407d1bd6b63eb6ac9e90112f2",
        "f60c824b23de449d3e31e69d5b91e3dba83067b1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 11 01:56:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 01:56:14 2018 +0000"
      },
      "message": "Merge \"audiopolicy: clean delayMs to 0 before reevaluate all outputs routing when call state changes\" into pi-dev"
    },
    {
      "commit": "6c529b103e2a4079295c39c32b7aedcbae3295c8",
      "tree": "58028bd1c4f94faf702c73b8f7e62845a3ab50b1",
      "parents": [
        "a75a00e57d5c88910d46a31ce3b23292c8d58e8b",
        "c9948499fe578a4f7a10af98eedbb807880f3d44"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 11 01:26:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 01:26:30 2018 +0000"
      },
      "message": "Merge \"AudioFlinger: Add missing channel names for thread dump\""
    },
    {
      "commit": "817729095966c338615a8a791d2dbf774fc034ef",
      "tree": "b9c23fc427ec841575b37c59280000467c5a1648",
      "parents": [
        "183eb5fb74b9c723ba8e8da9b3c962031bac2c6a"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Apr 02 17:52:27 2018 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu May 10 18:20:24 2018 -0700"
      },
      "message": "Add support for manually set surround formats.\n\nTo make surround sound setting more clear to users, we are changing\nsurround setting from ALWAYS to MANUAL. With MANUAL, users could enable\nsurround formats according to their need.\n\nBug: 67479735\nTest: Try creating AudioTrack with enable/disable surround formats.\nChange-Id: Ia6c0e1210ff6215f4b80a278a0aa90ca9543f262\n"
    },
    {
      "commit": "a75a00e57d5c88910d46a31ce3b23292c8d58e8b",
      "tree": "f86a4ac90870de357e4b49f3c75d13e1b933c2c1",
      "parents": [
        "72ea0a8cff7820b3cb2274b38209f3dff287f8c6",
        "9dfa2641d0ce00113747c580f9731cf36c6b68cd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 11 00:30:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 00:30:27 2018 +0000"
      },
      "message": "Merge \"PatchPanel: follow up to remove false warning from ~Patch\""
    },
    {
      "commit": "c9948499fe578a4f7a10af98eedbb807880f3d44",
      "tree": "52d6351b7ae725fbe40d6ef434c3e318d8b47d6c",
      "parents": [
        "99c58a82ce17440d3b050c8efbaa99f6db3f0668"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu May 10 17:25:28 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu May 10 17:25:28 2018 -0700"
      },
      "message": "AudioFlinger: Add missing channel names for thread dump\n\nchannelMaskToString in Threads.cpp was missing some of newly\nadded discrete channels.\n\nTest: adb shell dumpsys media.audio_flinger\nChange-Id: I09c60b0cbbf3e10bcac6bc30e47f5009e50ccc93\n"
    },
    {
      "commit": "7ced919cddad4f8db132da56737a2527f9e0e242",
      "tree": "25ff97a06c0d5fac0ed8ed01e02d7f7cd7ca9be3",
      "parents": [
        "99c58a82ce17440d3b050c8efbaa99f6db3f0668"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu May 10 17:07:20 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu May 10 17:07:20 2018 -0700"
      },
      "message": "AudioPolicy: Improve audio patches dump\n\nWas:\n\n    Audio Patches:\n      Audio patch 1:\n      - handle:  5\n      - audio flinger handle: 12\n      - owner uid: 1041\n      - 1 sources:\n        - Mix ID 1 I/O handle 13\n      - 1 sinks:\n        - Device ID 3 AUDIO_DEVICE_OUT_SPEAKER\n\nNow:\n\n    Audio Patches:\n      Patch 1: owner uid 1041, handle  5, af handle 12\n        [src  1] Mix ID 1 I/O handle 13\n        [sink 1] Device ID 3 AUDIO_DEVICE_OUT_SPEAKER\n\nTest: adb shell dumpsys media.audio_policy\nChange-Id: I164ab9b384e77929ef44dae019b7ec15239dceaa\n"
    },
    {
      "commit": "9dfa2641d0ce00113747c580f9731cf36c6b68cd",
      "tree": "300279114b7fb6882ab38444dce59fe7ca2e4ab9",
      "parents": [
        "99c58a82ce17440d3b050c8efbaa99f6db3f0668"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu May 10 10:09:19 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu May 10 15:47:36 2018 -0700"
      },
      "message": "PatchPanel: follow up to remove false warning from ~Patch\n\nWhen a new patch is being added to mPatches in this line:\n\n    mPatches.insert(std::make_pair(*handle, std::move(newPatch)));\n\nthe source of the move--`newPatch` remains intact, and if it\nis a software patch, it has playback and record patch handles\nremaining to be non-NONE values. Thus, on destruction it falsely\nwarns that it hasn\u0027t been cleared.\n\nThe solution is to define a move constructor for Endpoint which\n\"transfers\" patch handle ownership.\n\nAlso delete copy constructors to make sure that each Patch is\na unique resource.\n\nTest: create a software patch, watch logcat\nChange-Id: I41ea2dff087696252132e79d827e705378baaf8f\n"
    },
    {
      "commit": "f60c824b23de449d3e31e69d5b91e3dba83067b1",
      "tree": "ba06f79b07ed975db58456cddb214248b3a48fbd",
      "parents": [
        "ec2c0359ecc1225ea8d15bd16fd6e01d5c006933"
      ],
      "author": {
        "name": "Yung Ti Su",
        "email": "andysu@google.com",
        "time": "Thu May 10 18:07:26 2018 +0800"
      },
      "committer": {
        "name": "Carter Hsu",
        "email": "carterhsu@google.com",
        "time": "Fri May 11 06:40:15 2018 +0800"
      },
      "message": "audiopolicy: clean delayMs to 0 before reevaluate all outputs routing when call state changes\n\nsince the delayMs is for updateCallRouting(),\nwe need to clean delayMs to 0 before reevaluate\nall outputs routing when call state changes.\nOtherwise, setPhoneState will cost too much time\nwhich will block UI making phone call.\nTest: self-test making phone call and check for delay time\nBug: 79187322\n\nTest: delayed time is reduced.\nChange-Id: I3f71af700efb958c0716b4bf28aa436d85c5af66\nSigned-off-by: Yung Ti Su \u003candysu@google.com\u003e\n"
    },
    {
      "commit": "31046096e8060e3da968762cf285ce0c0e15fb10",
      "tree": "9306ac233303860a83b4dc9b7352e666293660f6",
      "parents": [
        "30673c4eaa3d5882e57d2ded6c53a0de421447b5",
        "074a01a5bc660c7d4d5c5b5f57460e2af68e4088"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 10 13:27:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 13:27:22 2018 -0700"
      },
      "message": "Merge \"Camera: use proper input size in ZslProcessor\" into pi-dev am: d3cb8618b0\nam: 074a01a5bc\n\nChange-Id: I086e6015e8d7630799b92bcbe5da00d056bd3752\n"
    },
    {
      "commit": "074a01a5bc660c7d4d5c5b5f57460e2af68e4088",
      "tree": "0ff5cef733cdb2ad434d529a4c89c9035979fe7e",
      "parents": [
        "933ff3444c0dabf332a1379471f0f9b336197de4",
        "d3cb8618b05774148c62dc0e6391ba7cb7e7328a"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 10 13:20:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 13:20:43 2018 -0700"
      },
      "message": "Merge \"Camera: use proper input size in ZslProcessor\" into pi-dev\nam: d3cb8618b0\n\nChange-Id: Ia2b8a78a8e055c3ef5142be1cc06d29ed7f01074\n"
    },
    {
      "commit": "d3cb8618b05774148c62dc0e6391ba7cb7e7328a",
      "tree": "ae9977e7491acd340303abb5418f4eb251287ea4",
      "parents": [
        "a9879efa62e9c863c234b46510111859158ebb68",
        "66814d4c3bb8819cc81f7fac208cc7936fa40f0d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 10 20:08:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 20:08:57 2018 +0000"
      },
      "message": "Merge \"Camera: use proper input size in ZslProcessor\" into pi-dev"
    },
    {
      "commit": "8b2b2ab4a80d4b5e82841353aaba5a3147e24246",
      "tree": "7dc6eb90d623aff81ef4674cd49fb63396a35b56",
      "parents": [
        "441f88e55d34f0d19e659568e93c23e6eb5eb24a",
        "d0079dbd464ab432c8b9fe587be9ee92ea94a831"
      ],
      "author": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Thu May 10 12:42:00 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 12:42:00 2018 -0700"
      },
      "message": "Merge \"Check voice call recording permission according to source.\" into pi-dev am: f4a28339ff\nam: d0079dbd46\n\nChange-Id: I10eb2896dec3811ffd0acfed0f8ee0d5df578233\n"
    },
    {
      "commit": "d0079dbd464ab432c8b9fe587be9ee92ea94a831",
      "tree": "441905c309012389772b2b4c865ccac639ea47d9",
      "parents": [
        "e40378d840927fe569e4939024ade25ceb8f0b13",
        "f4a28339fff6af3696d540d2e6eccb2feb9ce658"
      ],
      "author": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Thu May 10 12:38:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 12:38:26 2018 -0700"
      },
      "message": "Merge \"Check voice call recording permission according to source.\" into pi-dev\nam: f4a28339ff\n\nChange-Id: Id80d88965bf548348fd709862778339b4b3fa111\n"
    },
    {
      "commit": "f4a28339fff6af3696d540d2e6eccb2feb9ce658",
      "tree": "ee6b7584e239726f29269d31ac953dbfc1801f89",
      "parents": [
        "ff5ab0678880ade264efda5410822b4aee58d12d",
        "744be48d57da2c39f1479bc5a5ad0b7589814704"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 10 19:32:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 19:32:21 2018 +0000"
      },
      "message": "Merge \"Check voice call recording permission according to source.\" into pi-dev"
    },
    {
      "commit": "66814d4c3bb8819cc81f7fac208cc7936fa40f0d",
      "tree": "4d307daac3da9b398bc4c880802c769c19eab93f",
      "parents": [
        "527da4c9d30c977c0105a288b20a77f0f9e8d0d3"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed May 09 11:04:36 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 10 12:06:42 2018 -0700"
      },
      "message": "Camera: use proper input size in ZslProcessor\n\nTest: API1 CTS + partner testing\nBug: 79405555\nChange-Id: Idba9233aa671beda7bceaa3d0181706df2610012\n"
    },
    {
      "commit": "9f60b56976e7bad73890914b486092cad6632253",
      "tree": "ec45bafa3d2c5a928546de2ac2916abe3b4f3661",
      "parents": [
        "334e5dff4751eb77ade396f4c32404ca2b2892b3"
      ],
      "author": {
        "name": "Melvin Xu (徐敏)",
        "email": "melvin.xu@spreadtrum.com",
        "time": "Wed May 02 17:45:14 2018 +0800"
      },
      "committer": {
        "name": "Melvin Xu",
        "email": "melvin.xu@spreadtrum.com",
        "time": "Thu May 10 02:52:15 2018 +0000"
      },
      "message": "CTS-on-gsi test, CtsSecurityHostTestCases--android.security.cts.ProcessMustUseSeccompTest#testMediaextractorHasSeccompFilter\n--android.security.cts.ProcessMustUseSeccompTest#testOmxHalHasSeccompFilter\nfailed\n\n[Android Version]:\nAndroid8.1.0_r2\n\n[CTS pachage version]\nSuite / Plan\tVTS / cts-on-gsi\nSuite / Build\t8.1_R3 / 4632653\n\n[device](Any device config may relate this failure)\nspreadtrum\u0027s iSharkL2\nsize:1080*1920\n\n[bugzilla bugid] 79158930\n\n[CTS Test Pre–Condition]\n1.Language set to EN;\n2.Keyguard set to none;\n3.Enable GPS, Wifi network, USB debugging, Stay awake, Allow mock locations.\n4.CTS version is VTS / cts-on-gsi 8.1_R3\n\n[CTS Test Step]:\n1 ./vts-tradefed\n2 run cts-on-gsi\n\n[Expected Result  ]:\nThis case will pass.\n\n[Testing Result]:\ncase failed:\nCtsSecurityHostTestCases\n--android.security.cts.ProcessMustUseSeccompTest#testMediaextractorHasSeccompFilter\n--android.security.cts.ProcessMustUseSeccompTest#testOmxHalHasSeccompFilter\n\n\n[13. Analysis]:\njunit.framework.AssertionFailedError: media.extractor must have a seccomp filter enabled. The \"Seccomp\" field of media.extractor\u0027s /proc/3292/status file should be set to \"2\"\nat junit.framework.Assert.fail(Assert.java:57)\nat junit.framework.Assert.assertTrue(Assert.java:22)\n\nFor iSharkL2 device, TARGET_ARCH\u003dx86_64, but in the following Android.mk, there is no x86_64 option and mediaextractor-x86_64.policy, so mediaextractor.polily will not be generated in the $(TARGET_OUT)/etc/seccomp_policy.\n\nFrameworks/av/services/mediaextractor/Android.mk:\n# service seccomp filter\nifeq ($(TARGET_ARCH), $(filter $(TARGET_ARCH), arm arm64 x86))\ninclude $(CLEAR_VARS)\nLOCAL_MODULE :\u003d mediaextractor.policy\nLOCAL_MODULE_CLASS :\u003d ETC\nLOCAL_MODULE_PATH :\u003d $(TARGET_OUT)/etc/seccomp_policy\nLOCAL_SRC_FILES :\u003d seccomp_policy/mediaextractor-$(TARGET_ARCH).policy\ninclude $(BUILD_PREBUILT)\nendif\n\n[Analysize]:\nThere is no mediaextractor-x86_64.policy file in the frameworks/av/services/mediaextractor/seccomp_policy/, so we can\u0027t write this mediaextractor-x86_64.policy\n\nAnd mediaextractor-x86_64.policy is got based on the mediaextractor-x86.policy and added the differences between mediaextractor-arm.policy and mediaextractor-arm64.policy.\n\nBut there is a problem of the arrangement order of syscalls in mediaextractor-x86_64.policy, maybe it need Google engineer to refine it.\n\n\n[Conclusion]:\n1. Add a new mediaextractor-x86_x64.policy\n2. Modify the Android.mk file below in the frameworks/av/services/mediaextractor/ seccomp_policy\n3. Because current google AOSP don’t consider x86_64 arch for mediaextractor policy, and iSharkL2 device use x86_64 arch, so we need to support it in the frameworks/av/services/mediaextractor/ seccomp_policy/. We will request to waive for this.\n\n\n[Patch Link]:\nhttps://android-review.googlesource.com/c/platform/frameworks/av/+/676982\n\nChange-Id: Icd14cc62d6a2b8989ae3e2a1650af3749198522f\n"
    },
    {
      "commit": "2b993d08ac72b63227fdba3f5286e296673a3adc",
      "tree": "4bc58b804dac213ec133488465bd52ee3bc5f8ea",
      "parents": [
        "685faa4be5ffdb61e8508a76931bfcbda1781ee7",
        "c99607b99337028277ee2dffbb1b92ec8b51944f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 09 16:35:59 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 09 16:35:59 2018 -0700"
      },
      "message": "Merge \"audio policy: re enable setForceUse for system apps.\" into pi-dev am: fb4e361a9e\nam: c99607b993\n\nChange-Id: If78c24dc339365c9a232b10727e58decf35eaaa5\n"
    },
    {
      "commit": "c99607b99337028277ee2dffbb1b92ec8b51944f",
      "tree": "67f41c5eb9a0f24f1bfdfac9bcf46ec6d841a119",
      "parents": [
        "2c7246b900bfa78e09759ca1de3b74a9c594b37f",
        "fb4e361a9e49651b30c1d023ae2619143ae62665"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 09 16:30:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 09 16:30:28 2018 -0700"
      },
      "message": "Merge \"audio policy: re enable setForceUse for system apps.\" into pi-dev\nam: fb4e361a9e\n\nChange-Id: Id32a78a57c16a897fc124542fe10a0e0f428308c\n"
    },
    {
      "commit": "e17378d11b275daecd20ff840bcb7d275b6801bf",
      "tree": "3f49ff9153c5bd7be9d17e38532efcfc0d98cc1a",
      "parents": [
        "183eb5fb74b9c723ba8e8da9b3c962031bac2c6a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 09 14:43:01 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 09 14:43:01 2018 -0700"
      },
      "message": "audio policy: re enable setForceUse for system apps.\n\nSome system apps (not having system AIDs) still need this\nhidden API due to lack of better option for media use case routing.\n\nAdd protection by privileged permission MODIFY_AUDIO_ROUTING instead.\n\nBug: 79475856\nTest: manual regression for music playback over speaker and bluetooth\nChange-Id: Icaa585a9fa4c043c291f24c9bab4a93f02406955\n"
    },
    {
      "commit": "61facd1f2125534c3a2be59fb5b9ed685fd3d38c",
      "tree": "cf35a2bf83b7b28e38f1c06c53d6153e2efaf6af",
      "parents": [
        "1f5aac231e70cebc93e118b2640cd081465f06eb",
        "bf5dac59bdde370ba334a952ad2341fcdd6481e1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 09 10:17:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 09 10:17:17 2018 -0700"
      },
      "message": "Merge \"Fix PatchTrack retry for ClientProxy::obtainBuffer\" into pi-dev am: 183eb5fb74\nam: bf5dac59bd\n\nChange-Id: I1060deafa9f15fd531da7281915f3d8015cdff25\n"
    },
    {
      "commit": "bf5dac59bdde370ba334a952ad2341fcdd6481e1",
      "tree": "ac33f79d4e46b31625d94d1c400f9e1ddf0e26f5",
      "parents": [
        "5227d3f71bc95f5668030592ebf7105dcfd3c409",
        "183eb5fb74b9c723ba8e8da9b3c962031bac2c6a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 09 10:09:23 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 09 10:09:23 2018 -0700"
      },
      "message": "Merge \"Fix PatchTrack retry for ClientProxy::obtainBuffer\" into pi-dev\nam: 183eb5fb74\n\nChange-Id: Ib5ac6e6850629187ad14af6cb15e3bc0dde3c66c\n"
    },
    {
      "commit": "f62e1a2887bedb440bb98c4e7071896dd3f46163",
      "tree": "e888731841186f29889629dd796fc5bd213ca614",
      "parents": [
        "d5fa1baa8b0a985d80cbfb53c3960504314ca8f6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 08 18:32:11 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 08 18:38:44 2018 -0700"
      },
      "message": "Fix PatchTrack retry for ClientProxy::obtainBuffer\n\nRestore buffer mFrameCount as error clears it.\n\nTest: phone call with usb device, simulate underrun.\nBug: 79423841\nChange-Id: Ia00d08b6753b5c65cf7f07bf1c889fd6d1eefd0a\n"
    },
    {
      "commit": "2a669ce59f60dff63593b6ed93833161b199f0d9",
      "tree": "5c9bf357eaca159e6a3af23ba3dfb4d53f9102cb",
      "parents": [
        "08c80574ee6c3c5587098e13347f3aac3d475a08",
        "9382876687b3be53a09100c44c26c437652023a3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 08 17:27:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 17:27:19 2018 -0700"
      },
      "message": "Merge \"AudioFlinger: Use actual MonoPipe depth for sleep computation\" into pi-dev am: d5fa1baa8b\nam: 9382876687\n\nChange-Id: Ia4007533ca86aa922f849b88e68dde5df60ede49\n"
    },
    {
      "commit": "9382876687b3be53a09100c44c26c437652023a3",
      "tree": "792b8d3385f40cb1a61c8733229d27d3884e8a1e",
      "parents": [
        "e264f1ddb67466016a3e8890d4d0bf3cb3ce6120",
        "d5fa1baa8b0a985d80cbfb53c3960504314ca8f6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 08 17:22:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 17:22:20 2018 -0700"
      },
      "message": "Merge \"AudioFlinger: Use actual MonoPipe depth for sleep computation\" into pi-dev\nam: d5fa1baa8b\n\nChange-Id: Iebf709f545e659d9c191577c36ddf504dd86ff57\n"
    },
    {
      "commit": "06d13227bed31bf4a2dfa30e19198620eb5b120e",
      "tree": "6331425a223849eb00235dbb80642d7f242e020f",
      "parents": [
        "d79fe0de75143dcf71c43b3d533a18a391bb4a5f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 03 20:13:31 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 08 12:15:12 2018 -0700"
      },
      "message": "AudioFlinger: Use actual MonoPipe depth for sleep computation\n\nThis prevents benign underruns from glitching.\n\nTest: instrumented, see bug\nBug: 79227935\nChange-Id: I47be9c06faac4dec736ad809c59cf56c0f3d1dda\n"
    },
    {
      "commit": "744be48d57da2c39f1479bc5a5ad0b7589814704",
      "tree": "7c3130520c6336b859837f6eefe02fe85d5fafd5",
      "parents": [
        "84e84a5dd3b6d9ee4cf032e8d6206c70969b7107"
      ],
      "author": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Tue May 08 13:26:21 2018 +0300"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 08 16:00:00 2018 +0000"
      },
      "message": "Check voice call recording permission according to source.\n\nAdded a check for CAPTURE_AUDIO_OUTPUT according to the audio source, in\naddition to the already existing check according to the device type.\n\nTest: Tested manually.\nBug: 77228430.\n\nChange-Id: I84bbe41c9abcdbbd25354b2c160ae47c9c959de4\n"
    },
    {
      "commit": "99c58a82ce17440d3b050c8efbaa99f6db3f0668",
      "tree": "58fa385167bbb63f87487495fb34e1b9f1d5ec06",
      "parents": [
        "c3cb8cf7a9ceb364328183336fcacb1285aba883",
        "3b7f469b1ead2428a50bf4049e32b7a81fb2b7f6"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 07 11:20:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 07 11:20:57 2018 -0700"
      },
      "message": "collect more media metrics around audio am: 84e84a5dd3\nam: 3b7f469b1e\n\nChange-Id: I03941e3b776ba3cdb84ea39b07f1dcb903cbbf14\n"
    },
    {
      "commit": "3b7f469b1ead2428a50bf4049e32b7a81fb2b7f6",
      "tree": "210e40b23a608b6862988f838364434bdd6508cb",
      "parents": [
        "00838b0bc08a3eee51c458a8e560d36985973ef5",
        "84e84a5dd3b6d9ee4cf032e8d6206c70969b7107"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 07 11:14:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 07 11:14:24 2018 -0700"
      },
      "message": "collect more media metrics around audio\nam: 84e84a5dd3\n\nChange-Id: I3403aa6ec0f4bfd53a7ec80c8c45d28267797763\n"
    },
    {
      "commit": "84e84a5dd3b6d9ee4cf032e8d6206c70969b7107",
      "tree": "49fd8e4e911d62ac8be44ae91fdaf35902a234d9",
      "parents": [
        "527da4c9d30c977c0105a288b20a77f0f9e8d0d3"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu May 03 18:45:07 2018 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 07 16:32:02 2018 +0000"
      },
      "message": "collect more media metrics around audio\n\nnew fields in the media metrics \u0027audiorecord\u0027 record for more detail\nlength of time recorded, error conditions\nadd new media metrics type \u0027audiopolicy\u0027 that describes attempts to get\nmicrophone access -- success, failure on contention, what type of access\nwas requested, and (important for the contention) which programs are\ndoing the requesting and holding of the microphones.\n\nwhitelist the \u0027audiopolicy\u0027 metrics type with the  media.metrics service.\n\nBug: 78595399\nTest: concurrent/serial recordings, dumpsys media.metrics\nChange-Id: Ia17860940d4c329b0215b4cf97c6dacacb6a8e32\n"
    },
    {
      "commit": "c3cb8cf7a9ceb364328183336fcacb1285aba883",
      "tree": "76de7e9ac65312212c4eee2fa7217dfc525ad37a",
      "parents": [
        "a80b03f6b5492380dad797faeb2c44626ecf4f72",
        "1ed007c1e1d1a400cbfa55c4ea649dd48eab09ef"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Fri May 04 23:37:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 04 23:37:33 2018 +0000"
      },
      "message": "Merge \"Remove obsolete include path from makefiles\""
    },
    {
      "commit": "a80b03f6b5492380dad797faeb2c44626ecf4f72",
      "tree": "d796993d6bc15ded67a9c29a1ca1e4e8635385c1",
      "parents": [
        "e57f2cd69dc94618afa27c4764d895082f806c0a",
        "444ecc3476107a1e80f1573b20ceca5e9949e4ae"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 23:03:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 04 23:03:00 2018 +0000"
      },
      "message": "Merge \"PatchPanel: Cleanup and refactoring\""
    },
    {
      "commit": "1ed007c1e1d1a400cbfa55c4ea649dd48eab09ef",
      "tree": "6c202c71bb9763fbe0e887d1e71f0c75cffe66f0",
      "parents": [
        "6205a06d20d6b92d52044e8076beaac4c7873a21"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 15:41:10 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 15:41:10 2018 -0700"
      },
      "message": "Remove obsolete include path from makefiles\n\nframeworks/av/services/audiopolicy/utilities does not exist,\nremove it from audio service components\u0027 makefiles.\n\nTest: build\nChange-Id: I6c29052b449099d4b0942b7fc0a7ae68d0dc1ba7\n"
    },
    {
      "commit": "444ecc3476107a1e80f1573b20ceca5e9949e4ae",
      "tree": "0c431300c26a616e77e1200f3d3b46638f1668e5",
      "parents": [
        "6205a06d20d6b92d52044e8076beaac4c7873a21"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue May 01 17:40:05 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 11:05:38 2018 -0700"
      },
      "message": "PatchPanel: Cleanup and refactoring\n\n  * Unified software patch endpoints management code.\n\n  * Noticed that Patch::clearConnections is only called before\n    getting rid of Patch instance, so there is no need\n    to explicitly clear references to endpoints\u0027 Track and Thread.\n\n  * Fixed out-of-memory handling when creating tracks for\n    a software patch.\n\n  * Factored out finding HAL Device by module handle.\n\nTest: verify transitions to/from BT while playing media and making calls\nChange-Id: If6459c477054d6dff60dfa13f2d99ee2d6e887ad\n"
    },
    {
      "commit": "b5bffacf0b3930c17c50005d0102bff0ca012309",
      "tree": "a71062afa6d01fe6cc9de0c05973ef8ce8df9f8a",
      "parents": [
        "d75af814f1efba4f7655d4e99285c2a8f8a999a3",
        "b4dc74ccde9739553bace8744e4df97c67df30f7"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 19:19:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 19:19:24 2018 -0700"
      },
      "message": "Merge \"Restrict setting silenced in RecordTrack.\" into pi-dev am: 70376b1227\nam: b4dc74ccde\n\nChange-Id: Ib011bf8bc5804a5a3d9e7af0a2c9bf372a9d5c24\n"
    },
    {
      "commit": "b4dc74ccde9739553bace8744e4df97c67df30f7",
      "tree": "3ec36055c3941b7c0386cd39f27884493f5aff6e",
      "parents": [
        "af36b9ae284973f107befab6656d93ab4fba733d",
        "70376b122742c515ff6c546f2bd8b3bfaac172cd"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 19:13:46 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 19:13:46 2018 -0700"
      },
      "message": "Merge \"Restrict setting silenced in RecordTrack.\" into pi-dev\nam: 70376b1227\n\nChange-Id: I158012e95a1c19b60afef2143514296fa3ab332c\n"
    },
    {
      "commit": "70376b122742c515ff6c546f2bd8b3bfaac172cd",
      "tree": "5709bf11cb39f5c0d26f7505e03b9786031fde6f",
      "parents": [
        "4ac3f08fe01117070ea379ae34e8b5f8bb4d7226",
        "9378eb9634d07010bebf8a2d4bda84320ec80e57"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Thu May 03 02:04:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 03 02:04:57 2018 +0000"
      },
      "message": "Merge \"Restrict setting silenced in RecordTrack.\" into pi-dev"
    },
    {
      "commit": "d75af814f1efba4f7655d4e99285c2a8f8a999a3",
      "tree": "d637230b4591809152a38698895532116e503bb1",
      "parents": [
        "05a2eecb13bd21eb939b9a6ebdebe9b09cc10828",
        "af36b9ae284973f107befab6656d93ab4fba733d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 02 18:40:06 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 18:40:06 2018 -0700"
      },
      "message": "Merge \"RecordThread: Adjust sleep time to pipe frames free.\" into pi-dev am: 4ac3f08fe0\nam: af36b9ae28\n\nChange-Id: Ibb63b4d1a1f5b24851871d404b2f015b6e63587c\n"
    },
    {
      "commit": "af36b9ae284973f107befab6656d93ab4fba733d",
      "tree": "257586345affe3ab469d5851389b398856a71f5a",
      "parents": [
        "3419ce130b19b14744294f86b434deeb4f63f52b",
        "4ac3f08fe01117070ea379ae34e8b5f8bb4d7226"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 02 17:40:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 17:40:13 2018 -0700"
      },
      "message": "Merge \"RecordThread: Adjust sleep time to pipe frames free.\" into pi-dev\nam: 4ac3f08fe0\n\nChange-Id: Ic04feab8c6386d882400b3dd3d338195f9706dec\n"
    },
    {
      "commit": "4ac3f08fe01117070ea379ae34e8b5f8bb4d7226",
      "tree": "d37b3f983585c870c7b5ff3b2d3b895a6a54783b",
      "parents": [
        "8d1c940af4afef9c066e5924fed495ba8136ae34",
        "7a3dc6bd4795a1b254d1ceef959da2b4d6ef8ba4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 03 00:28:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 03 00:28:13 2018 +0000"
      },
      "message": "Merge \"RecordThread: Adjust sleep time to pipe frames free.\" into pi-dev"
    },
    {
      "commit": "9378eb9634d07010bebf8a2d4bda84320ec80e57",
      "tree": "9d9dd22652b7860882e3155a6d218042d55cd3f6",
      "parents": [
        "6f4512914d90430bf135de221897887638c79f25"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed May 02 15:26:35 2018 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed May 02 17:13:07 2018 -0700"
      },
      "message": "Restrict setting silenced in RecordTrack.\n\nWhen initializing, always set mSilenced as false. Never set silenced for\npatch track.\n\nBug: 77193174\nTest: make phone call with usb headset multiple times.\nChange-Id: I93f4646cc6d88749c602bdd0003afc48f7dec36f\n"
    },
    {
      "commit": "05a2eecb13bd21eb939b9a6ebdebe9b09cc10828",
      "tree": "786afc605b1f9a6e92e9fe46561d5b3faf1dd275",
      "parents": [
        "c73308ca4770369ff0d8e4a90753e783bce8c335",
        "3419ce130b19b14744294f86b434deeb4f63f52b"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 16:34:49 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 16:34:49 2018 -0700"
      },
      "message": "Merge \"Camera: fix frame capture trace pair\" into pi-dev am: 8d1c940af4\nam: 3419ce130b\n\nChange-Id: Id1b3342ec96615919808936fb894c643a2fa2dc8\n"
    },
    {
      "commit": "3419ce130b19b14744294f86b434deeb4f63f52b",
      "tree": "e400c03456f2f070c44f34fe47c0aed81c8bfe9f",
      "parents": [
        "416eeabc3d81fd5aa212859b80760125af904a4d",
        "8d1c940af4afef9c066e5924fed495ba8136ae34"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 13:57:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 13:57:45 2018 -0700"
      },
      "message": "Merge \"Camera: fix frame capture trace pair\" into pi-dev\nam: 8d1c940af4\n\nChange-Id: Iffa7958a0c94dfb476569590c8f8e141884a30e1\n"
    },
    {
      "commit": "8d1c940af4afef9c066e5924fed495ba8136ae34",
      "tree": "e94300effede657e2e80ab3dd095d3436eb43e91",
      "parents": [
        "3e69b248ef8805b888ea1ec76f3bab773db05589",
        "885691cefdf8f11da3396f60ada0fa35964fab41"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 20:42:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 20:42:09 2018 +0000"
      },
      "message": "Merge \"Camera: fix frame capture trace pair\" into pi-dev"
    }
  ],
  "next": "7a3dc6bd4795a1b254d1ceef959da2b4d6ef8ba4"
}
