)]}'
{
  "log": [
    {
      "commit": "e626fb3c47f8a756f013a018791bd862594a8363",
      "tree": "69aea4a808fbb041006420d592fc17a7240a1568",
      "parents": [
        "2d74954fd8d7b943c62eb49d1d49b56628b89a24",
        "60642703efad178590abc5a86b0edf661b5c5f62"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 14 22:41:28 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Sep 14 22:41:28 2020 +0000"
      },
      "message": "Merge \"Temporarily disable media.log post-crash logging\" am: 9900ec1c37 am: ef53e1edb8 am: 6385539732 am: 60642703ef\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1427368\n\nChange-Id: I34b35f6928ceb490ccb0049ef83fcbcef45769c4\n"
    },
    {
      "commit": "e2cf82957844ebfab9474013d7b297e66436a10e",
      "tree": "5874cdbe49f7f42636520c5ae7cffa48420b7718",
      "parents": [
        "ba88b6bfd10d9cad8d5f10406e61408a8152eb50"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 14 11:40:32 2020 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 14 11:40:32 2020 -0700"
      },
      "message": "Temporarily disable media.log post-crash logging\n\nSee also bug 168511485 which is tracking the need for a proper fix.\n\nBug: 165702394\nTest: at bug\nChange-Id: Id2da0341145bdf99d3d1bd518f19cafbcbad6e53\n"
    },
    {
      "commit": "2f7af40d26c85ef3d3a0b25a520aaad2ed54f064",
      "tree": "f5dead800cb0431d0e79a40d347e6d96cc56e993",
      "parents": [
        "14e5956d05742abd1d35675c68d8dfc0e272c76a"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jun 03 19:02:34 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Jul 14 18:19:32 2020 +0000"
      },
      "message": "Fix audio HAL restart sequence to improve uptime\n\nDo not use \u0027restart vendor.audio-hal\u0027 directly when serving the\nframework request for HAL restart via \u0027sys.audio.restart.hal\u0027\nproperty.  This is to avoid triggering \u0027onrestart\u0027 event the .rc\nfile of the audio HAL service. Instead use \u0027stop / start\u0027\nsequence.\n\nDo not use the \u0027sys.audio.restart.hal\u0027 property for handling\naudioserver restart to avoid race conditions.\n\nBug: 151795571\nBug: 159966243\nTest: 1) repro steps from b/151795571\n      2) adb shell stop, verify that audio HAL is running\n         and has been restarted (has different PID from prior\n         to adb shell stop)\nChange-Id: I5d87f4bba93153a84fe35c7a740e05960dcb6997\nMerged-In: I5d87f4bba93153a84fe35c7a740e05960dcb6997\n"
    },
    {
      "commit": "7ee6974a7bf267755b8b4e07a8f1a9ce471ef471",
      "tree": "62713549a3f6b78a8452279ac1fbc0fecfdec9e5",
      "parents": [
        "686dac0cdb04834b889b1264f7a41c5d6ce25d2a"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 06 09:46:35 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 06 09:46:35 2020 -0700"
      },
      "message": "Restart HAL service via stop/start when audioserver is stopped\n\nThis interim solution satisfies requirements of performance\ntests (audioserver stopped together with zygote) and\nrequirements of VTS tests (audio HAL keeps running when\nzygote stops).\n\nBug: 155364397\nTest: atest VtsHalAudioV6_0TargetTest\n      atest VtsHalAudioEffectV6_0TargetTest\nChange-Id: I111f0cc397024a38e146981d1e5299ce4f6bd5e2\n"
    },
    {
      "commit": "029f52b0d1c235f83723d22533fb9f129b172f24",
      "tree": "53d5d50b4ba6fa4f62851bebd610213aed9561b5",
      "parents": [
        "12a6940bb181aae48383e9365b6ab62e24663bfd"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Thu Apr 30 14:39:39 2020 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Sat May 02 00:29:57 2020 +0000"
      },
      "message": "Replace direct pid writes with setting task profiles\n\nFor easy transition from SchedTune to UtilClamp, direct access to these\ncgroups should be abstracted by using task profiles. Replace writepid\ncommands with new task_profiles command.\n\nBug: 155419956\nTest: change .rc file and confirm task profile is applied\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\nChange-Id: Id00370b25af973a4b3813a4a1d6ccbd1e555c87f\nMerged-In: Id00370b25af973a4b3813a4a1d6ccbd1e555c87f\n"
    },
    {
      "commit": "4da7af2ade2030f1beccaddc251b5c8ab23936c6",
      "tree": "acf602a6d5b2ef8c571f30432fe8e9827f96b36e",
      "parents": [
        "718f96b3bb80a72cda547f2a345e23e595bf7fbb"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Apr 23 10:44:00 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Apr 23 10:57:03 2020 -0700"
      },
      "message": "Control audio HAL services in start/stop\n\nSome system services (e.g. SoundTriggerMiddleware) assume that\nwhenever they start, the audio HAL is in its default (reset) state.\ninit.rc scripts tie the lifetimes of the audio HAL and system\nprocesses, but when using stop/start this is not the case, and this\nmay cause spurious crashes in this case.\n\nstop/start is apparently being relied on in some test infrastructure,\nso this change is needed to avoid causing problems for those systems\nor false detection of problems, which are not actually present in\nproduction.\n\nBug: 154029444\nTest: Manually verify that the audio HAL is stopped on\n      \u0027adb shell stop\u0027, restarted on \u0027adb shell start\u0027 and that the\n      system boots correctly after.\nChange-Id: Icb6eeddfa48b1a49a4d48baae41f9086eb83a9ca\n"
    },
    {
      "commit": "e734d9dfc40c8c63d2cf9c7f7975c94aea3d1cbe",
      "tree": "8356ac21d64c1760e37895f6755ff5a28373fc66",
      "parents": [
        "5226677901af08551446c103bf7d15797e87756c"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Apr 10 11:14:27 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Apr 10 14:56:27 2020 -0700"
      },
      "message": "Expose a property that allows restarting the audio HAL\n\nFixes: 153461865\nTest: See main change in topic\nChange-Id: I1bedf032d4b41ae7ecd7357787b75ed29ed3dcf7\n"
    },
    {
      "commit": "d7e0dd45243735bed789589ca767485ce3fc4e7b",
      "tree": "4ad113977dd16b064452aafdc74db03b99214e7c",
      "parents": [
        "36696ba9a249d629c4827fda442352b396a11056"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 27 16:42:34 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 30 10:03:22 2020 -0700"
      },
      "message": "MediaMetrics: Move LimitProcessMemory to libmediautils\n\nEliminates the need for libmedia in media.metrics, cutting\nRSS nearly in half.\n\nTest: adb shell showmap \u0027$(pgrep -f media.metrics)\u0027\nTest: adb shell showmap \u0027$(pgrep -f media.extractor)\u0027\nBug: 152256321\nChange-Id: Id8aae66de84e712915888422b7372fd2b880570d\n"
    },
    {
      "commit": "6c22190e49f47b3debc122e15ca042befdd39cee",
      "tree": "e1f359598e1b2f0fd2810780e649def0ef00c349",
      "parents": [
        "8d386f779d76eb2a87ec570bf6ee3c0ce674085f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 20 16:35:24 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 20 17:30:41 2020 -0700"
      },
      "message": "MediaMetrics: limit maximum memory used\n\nUse media utility function limitProcessMemory().\n\nTest: restrict mediametrics memory by property, ensure restart\nBug: 152084875\nChange-Id: I20b51cecd67e9ac5e03ab34c1c68b1cfd0b8a964\n"
    },
    {
      "commit": "7c96ea7ff84e1084332548583841735b694bfebd",
      "tree": "eb5d7c1bcb91cea21469e46b7c014ae44635a217",
      "parents": [
        "255f610f5ab71b5e36d93744dfe058daf6c96041"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 10 15:46:22 2020 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 16 15:55:18 2020 -0800"
      },
      "message": "Remove mediametrics include symlinks\n\nBug: 143245419\nTest: build\nChange-Id: I6c836e60c0fe078f5ab7370aec156bdd6e8dcbf0\n"
    },
    {
      "commit": "a51151aacfc820122b45a875a0b6fe0dba60b756",
      "tree": "5250165a3a49942645caf75ade6634fa5c825e22",
      "parents": [
        "bd9f1ed08bb948af54600eb60f13fd6e05068375"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 07 13:37:47 2020 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jan 08 11:21:31 2020 -0800"
      },
      "message": "Link with actual headers instead of symlinks\n\nand remove the symlinks.\n\nBug: 143245419\nTest: build\nChange-Id: I70e450d9db0f65048f86391c4d3f341659cd213f\n"
    },
    {
      "commit": "74cd6b0f6840c9f39b51700fb84420f2a1dc1f8e",
      "tree": "78e558b5d1b2d8b4950498294ceed86680176753",
      "parents": [
        "a32e60121e1cd626f300fb894f4e1bc5715d3d41"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Oct 25 10:06:40 2019 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Dec 12 17:08:59 2019 -0800"
      },
      "message": "Migrate to new sound trigger middleware service\n\nThis change:\n- Removes the old ISoundTriggerHw service and removes its code.\n- Connects AudioPolicyManager to the new service via AIDL RPC (using\n  a new utility, BinderProxy).\n\nChange-Id: I00366e2c5f252708e903b2311816d9eceb132a05\nBug: 142070343\n"
    },
    {
      "commit": "00c50ac8dca4113921822dce1511e6e153197d34",
      "tree": "7c6b8d03b3d853dfa0b0d3ea9e1abf8343f72192",
      "parents": [
        "39260a69ca1f66f29f250f30fde07fd628785708"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Fri Dec 06 17:46:26 2019 -0800"
      },
      "committer": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Mon Dec 09 09:41:57 2019 -0800"
      },
      "message": "Do not assign LOCAL_MULTILIB to AUDIOSERVER_MULTILIB\n\nBug: 121208203\nTest: treehugger\nChange-Id: I263b6b302f7220e4b712924d2df2fd2548af03b1\n"
    },
    {
      "commit": "c5b098a76b057f96d04f963e99456cb4e1d6a86f",
      "tree": "23320bf8d9a6d41da99b77991997f5d76e5d0645",
      "parents": [
        "f73f877182014e662c4c3ab650724975c884839e"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Oct 03 18:38:34 2019 +0100"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Oct 04 19:09:30 2019 +0100"
      },
      "message": "Rename of the Vendor HAL\n\nTest: push V6 to device and check audio works fine\n      Kill the audioserver and check that the HAL restarts\nBug: 134940862\nChange-Id: I3347ee3aabe753d34c69dacbd707c60105d80a47\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "78cb7123b23c197b296d40b2ffb886bde97ddfc4",
      "tree": "db2db564be30a32fd02232f7bc856b53621eed8f",
      "parents": [
        "a4be0c37e92faf1579b05077d7e3cbef8b93db78",
        "8c7465931249ed0ffea7de99f2d736ce0bc607dc"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 14:51:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 09 14:51:59 2019 -0700"
      },
      "message": "Merge \"Remove libhwbinder/libhidltransport deps\" am: 6cffe44e0f am: b7d2632c22 am: 2dc8ae5642\nam: 8c74659312\n\nChange-Id: I3ce106ae89de98eb9c438ccc30067a07b44da581\n"
    },
    {
      "commit": "af905470168892078ca85cbd77c844b07f46d1d7",
      "tree": "02acf167a294e18f49a8cf075aa6ee7eb21fbf68",
      "parents": [
        "1210f45ea764f0d186e55a19c068283a4ff6cfac"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:08:49 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:08:49 2019 -0700"
      },
      "message": "Remove libhwbinder/libhidltransport deps\n\nSince these were combined into libhidlbase.\n\nBug: 135686713\nTest: build only (libhwbinder/libhidltransport are empty)\nChange-Id: I6cc85a91afb603e31b85090917f9f3b59d82a4d1\n"
    },
    {
      "commit": "2f7b1f8e035a7f50e8df099d1d63c72a8b33edf7",
      "tree": "b65b75e090921ffacf11d22a1d25e8b818349dc9",
      "parents": [
        "ce4b00e79f4bde61c3474ce001825eb34b4d1b58",
        "39785597e988fb6f4e309bb4e46839aa5d15d865"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 05 11:38:01 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 05 11:38:01 2019 -0700"
      },
      "message": "Merge \"libnbaio: Add libaudioutils headers export\" am: 595bb9f78e am: 4512298d08 am: 63923498b7 am: 6ab3c15c95\nam: 39785597e9\n\nChange-Id: I318155e9c9e0075e2b7aba79519f2a011acefe49\n"
    },
    {
      "commit": "4512298d08d648a44f5eb59c56a0f646635805f0",
      "tree": "60236454c18712688b12ab3efca6c64e0a567cb9",
      "parents": [
        "8021f69cc8f235eb36246a21f1118f0557e21f85",
        "595bb9f78e540c35c774f026d3540847b094d798"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 05 11:08:15 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 05 11:08:15 2019 -0700"
      },
      "message": "Merge \"libnbaio: Add libaudioutils headers export\"\nam: 595bb9f78e\n\nChange-Id: Ia4c647c0661a4d6ef96018e149d0bc1d334cf12d\n"
    },
    {
      "commit": "19171797505e96276cfd69b9f5a36b1a5ef95a1a",
      "tree": "3777aca493f87aa40d488fd745e2bc90f4ccf355",
      "parents": [
        "2255c50a920f106f91a099fec2ac6692b696a61d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Aug 02 08:57:25 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Aug 02 09:05:44 2019 -0700"
      },
      "message": "libnbaio: Add libaudioutils headers export\n\nHeader files of libnbaio include files from audio_utils\nyet the module did not export include path for those. This was\nrequiring modules depending on libnbaio[_mono] to add those\ninclude paths into their build files.\n\nTest: make\nChange-Id: I8982e04db0f3646ce7945fb55529727766f2dfa1\n"
    },
    {
      "commit": "7ad7a25890ce24a37950872ce9a0043b08f27bf6",
      "tree": "a92aa7a2eaeb22bdaffcea7bcb1ac4545fc40eb7",
      "parents": [
        "3b73e994a0e8cf9d718b535fe1f1da157b5c480a"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Jul 30 14:42:32 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Aug 01 12:38:41 2019 -0700"
      },
      "message": "libaudioprocessing: Extract vendor-available part of AudioMixer\n\nSplit AudioMixer into the base part which doesn\u0027t rely on\nthe framework and can be used in vendor code and the derived part\nwhich is intended to be used by Audioflinger.\n\nTest: A/B compare output from test scripts, manual testing on the phone\nChange-Id: I24c390f67f20baa8109902099359ca6e34eebcfd\n"
    },
    {
      "commit": "aaeb801f352177416f9cc025182adf2b1e4de67e",
      "tree": "462d0b70745ad77aa635edcbc82881c641508f82",
      "parents": [
        "b6f553ea160700ba5c70929e07e2454349c0a142",
        "1fc13af79fa716b8f4c04c409346214604c69b1c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jun 14 16:29:46 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 14 16:29:46 2019 -0700"
      },
      "message": "Merge \"libhidltransport users user libhidlbase\" into qt-dev am: 63655808d7\nam: 1fc13af79f\n\nChange-Id: Ie94ee409b98cf21d7bad8b1a7895f11b148a821a\n"
    },
    {
      "commit": "21381851138aaf5d631249fe60d55c38d14894fb",
      "tree": "92c458663cc3eade06242596aada6e450d3ff9ed",
      "parents": [
        "65f7c23ff91b2d56132cf6c1945704b95c28ef52",
        "63655808d78f8e6219fd0915671cca7d87363bbc"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jun 14 16:17:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 14 16:17:59 2019 -0700"
      },
      "message": "Merge \"libhidltransport users user libhidlbase\" into qt-dev\nam: 63655808d7\n\nChange-Id: I8fc8ccc07a61e9c249dd1694763e8818e83a2b27\n"
    },
    {
      "commit": "5fee0f2b7c6fc2ac8ca7c908aef25864ce8894a2",
      "tree": "6983a1bf9b3f51ac216509f257719312632acec7",
      "parents": [
        "e0092766d214720c1fd22b8c08ccc7ceeaf4a700"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 10 13:35:00 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 10 13:35:06 2019 -0700"
      },
      "message": "libhidltransport users user libhidlbase\n\nlibhidltransport symbols are being moved into libhidlbase in order to\noptimize linking/memory usage. libhidltransport will no longer be\nrequired in the future (however removing references to it will come\nseparately).\n\nBug: 134961554\nTest: boot\nChange-Id: Ie8b9b03a53ae1f5672ce2565550768b4bcd321ee\n"
    },
    {
      "commit": "cda1e2236b7c0e974dd46a267278458a090a31af",
      "tree": "4ea356abb7673fef08eb6fe2fe022b5c3eb7595e",
      "parents": [
        "1224227e19b418b42056cd9eb4e03ce9d68fce35"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 11 12:11:01 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Jun 10 20:10:28 2019 +0000"
      },
      "message": "audioserver: Remove direct dependency on IAudioRecord.aidl\n\naudioserver should not link directly the code generated from\nIAudioRecord.aidl because it also gets it as a result of\ndepending on libmedia.so and other libraries.\n\nLinking IAudioRecord.o directly causes violation of ODR\nbecause it contains global data.\n\nBug: 117507477\nTest: make\nChange-Id: If165768e9097d1c95980883f1fe6e1aacae97506\nMerged-In: If165768e9097d1c95980883f1fe6e1aacae97506\n"
    },
    {
      "commit": "3f722145f77d74b9917f0fd5327b040cbf72324b",
      "tree": "943be0d9c7516f1bf17755ea961b6f9d018fe983",
      "parents": [
        "f4c490615161ddf3f7eda4bde59ae89cff35e28e",
        "31a472facd09964642bff5325e7626cdc65255a7"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed May 29 11:14:52 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 29 11:14:52 2019 -0700"
      },
      "message": "Merge \"Remove references to non-existant directories\" am: e8a9a230ac\nam: 31a472facd\n\nChange-Id: I5b5bf9685ae2936ee28a5df3d212f7e383dd8281\n"
    },
    {
      "commit": "3c9d6986abd9f07a6fb0d83862e71825e24c8fa7",
      "tree": "0763f114498b9ea3c89fb6441510ea1631c61912",
      "parents": [
        "a117e055af56b716b1403ea6de0f860cb740f65c"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue May 28 14:09:01 2019 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue May 28 14:09:01 2019 -0700"
      },
      "message": "Remove references to non-existant directories\n\nexternal/jpeg and frameworks/av/services/radio do not exist.\n\nTest: treehugger\nChange-Id: Ie7529f767bd97ef28d73e4dff03d2f1f74ab8bd3\n"
    },
    {
      "commit": "d40894f7947a37038fb64a6e2725747598844aca",
      "tree": "0857072690c291874c6b22bbf2c31af53f871863",
      "parents": [
        "f4d60d12e3565947c1491ef015d8d46aa82e868e",
        "368fc7d907e7e8f7bf0f33ff65b7ddc7c466df98"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu May 23 13:13:20 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 23 13:13:20 2019 -0700"
      },
      "message": "Merge \"audioserver: drop inet group\" am: 1b876ee30b\nam: 368fc7d907\n\nChange-Id: I6e41dec8ce892213a88d3fd4593b19a567407f5d\n"
    },
    {
      "commit": "f6f60c008ac6e77752665d796582435cff5be6d4",
      "tree": "6fa7f09702fea989cd6f97d83ef93e088b6fb99f",
      "parents": [
        "e066f91c0f540c09bd1b859bb4d4e31c505d0645"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu May 23 09:06:24 2019 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu May 23 09:11:56 2019 -0700"
      },
      "message": "audioserver: drop inet group\n\nThe audioserver process is specifically prohibited from accessing the network.\nSee\nhttps://android.googlesource.com/platform/system/sepolicy/+/7ca6fc8629d34b6be6ca99806814a78a5f6e2b31/private/audioserver.te#91\nline 91\n\n  # Media processing code is inherently risky and thus should have limited\n  # permissions and be isolated from the rest of the system and network.\n  # Lengthier explanation here:\n  # https://android-developers.googleblog.com/2016/05/hardening-media-stack.html\n  neverallow audioserver domain:{ tcp_socket udp_socket rawip_socket } *;\n\nSince SELinux doesn\u0027t allow audioserver to access tcp/udp sockets, it\ndoesn\u0027t make any sense to have audioserver be in the inet group.\n\nDiscovered while reviewing\nhttps://android-review.googlesource.com/c/platform/frameworks/base/+/968497\n\nSimilarly, I suspect other groups listed here are also unnecessary and\ncan be cleaned up in a future commit.\n\nTest: compiles and boots\nChange-Id: Ic331f301565aee911de30322dd4c3811529597ee\n"
    },
    {
      "commit": "8be94978a3ec70d8dd621c9b5548f27ddd41ad7a",
      "tree": "0247595dfce3b8cb46e6e94e6cdb6303c0e92d7a",
      "parents": [
        "be20185b2f93e429aa4f69fa4caa3ac9cac2ecc3"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 22 13:26:25 2019 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Feb 27 16:24:55 2019 -0800"
      },
      "message": "Check for app manifest opt-out from playback capture\n\nQuery the package manager to check if the app has not opt-out of its\nplayback being captured.\n\nTest: adb shell audiorecorder   --target /data/file1.raw \u0026\n      adb shell am start -a android.intent.action.VIEW -d file:///system/media/audio/ringtones/Lollipop.ogg -t audio/ogg\n      adb dumpsys media.audio_policy # check playback is not recorded\n      # change media player manifest to allowPlaybackCapture\u003dtrue\n      adb dumpsys media.audio_policy # check playback is recorded\n      kill %1\n      adb pull /data/file1.raw \u0026\u0026 sox -r 48000 -e signed -b 16 -c 2 file1.raw file.wav\u0026\u0026 audacity file.wav\n      # check silence then sound\n\nBug: 111453086\nChange-Id: Id6fb7d0e10c02b0473bcbc0786e8360536996f48\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\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": "d544f1c61fce0050aacfe5ef8a01213cf8040fba",
      "tree": "ea7dd2859fd4097757883dbbad9f80f755019636",
      "parents": [
        "177d3f83ae46fb5fe6b9d0841d395314b802259e"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Jun 25 15:25:48 2018 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 10 10:46:08 2019 -0800"
      },
      "message": "audiopolicy: engineconfigurable: switch to unix socket for PFW debug\n\nSEPolicy rule prevents the audioserver to use tcp / udp sockets.\nThe Parameter-framework has been updated to use unix socket.\nThis patch makes use of the unix socket and adds the corresponding\nsepolicy rules.\n\nTest: make\nChange-Id: I61fcf6fec06a78cf3189c93a86469070ef15bba4\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "464cf2be501ed703346b60292f9957a034dba44d",
      "tree": "f6797e4fab921ff50d10acdf93e3478ea0db5ecc",
      "parents": [
        "24bf51ae92285202bdbe3fa00c7c83e93c5a03e2"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 11 12:11:01 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 11 12:15:07 2018 -0700"
      },
      "message": "audioserver: Remove direct dependency on IAudioRecord.aidl\n\naudioserver should not link directly the code generated from\nIAudioRecord.aidl because it also gets it as a result of\ndepending on libmedia.so and other libraries.\n\nLinking IAudioRecord.o directly causes violation of ODR\nbecause it contains global data.\n\nBug: 117507477\nTest: make\nChange-Id: If165768e9097d1c95980883f1fe6e1aacae97506\n"
    },
    {
      "commit": "3d10d484c93b052d85622bb460ca22e722f0396c",
      "tree": "ab8ac83e71560fa38eb6d9e4da90395b61432263",
      "parents": [
        "5e8490c05b6c5d107aa3a70adca68ece4546c400",
        "f83320a749bf4715f8a7d2cd11bc2ff1a7ec073b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 20 01:46:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 01:46:39 2018 +0000"
      },
      "message": "Merge \"audioserver: run as 64bit if native processor supports it\""
    },
    {
      "commit": "2942a4e2d97edb8b14d7fac16f9cad12f78048bc",
      "tree": "97f3fd66a453766e390a4bba7e9c863834855ce8",
      "parents": [
        "ea055e6dab6bcbf9bf90711d602bcf59395f0d59"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Wed Sep 12 17:41:27 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Tue Sep 18 17:32:33 2018 -0700"
      },
      "message": "Remove --json option from dumpsys media.audio_flinger\n\nThe more recent work that this was supposed to become is reflected in\ndumpsys media.log, so this commit removes some code clutter that is not\nused anymore.\n\nOther Changes:\n- Use std::make_unique for creating unique_ptr objects\n\nTest: build, dumpsys media.audio_flinger\nBug: 68148948\nChange-Id: I4841e118c2cdee4ada4c6cdc0fff1ec2e12b38c4\n"
    },
    {
      "commit": "f83320a749bf4715f8a7d2cd11bc2ff1a7ec073b",
      "tree": "50aed9d5b9f1652989ab217beb31bf7a75125217",
      "parents": [
        "99e9db75039f86a73d1a5052b1e3538ddda20de5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Sep 14 15:24:42 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 18 15:05:57 2018 -0700"
      },
      "message": "audioserver: run as 64bit if native processor supports it\n\nTest: CTS, Audio Sanity\nBug: 27479136\nChange-Id: I4273c3a3f623f95447939a2cc2e680da42a50355\n"
    },
    {
      "commit": "ace588cc1e78f3a83a0e410113009fb31a0f9af7",
      "tree": "7b82d5a4892f8ea53620c937927b6c9eb363cdb6",
      "parents": [
        "c5fee0a8854f5decd3b567d2383cd38f0aada4f4"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Wed Sep 12 11:44:43 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Fri Sep 14 15:57:50 2018 -0700"
      },
      "message": "nblog: split NBLog.cpp into multiple files\n\nNBLog.cpp was deleted and split up into Entry.cpp, Merger.cpp,\nReader.cpp, Timeline.cpp, and Writer.cpp. NBLog.h was split up into\nEntry.h, Events.h, Merger.h, Reader.h, Timeline.h, and Writer.h. NBLog.h\nnow includes all of these new headers except Merger.h, which is managed\nexclusively by MediaLogService.\n\nOther changes:\n- changed NBLog from a class to a namespace\n- changed NBLog::thread_info_t.type to enum and replaced magic numbers\n- fixed some fragile build dependencies in libaudioclient and medialog\n\nNo other changes were made, and all functionalities that existed prior\nto this commit remain the same.\n\nTest: build, dumpsys media.log\nBug: 68148948\nChange-Id: I1ce6dcb7b30d004f90584edfad7103a89f7bab0c\n"
    },
    {
      "commit": "1882f16c80d6e1e047a43c1e685a005034b138e4",
      "tree": "29fb74695be6d869ca6a0f51e310e6752eb8c36b",
      "parents": [
        "5b13ff8f66e4b376127af9cfb6fa3f075f17eaa2"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Thu Aug 02 18:05:39 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Fri Aug 03 15:44:15 2018 -0700"
      },
      "message": "Audioflinger dumpsys: Use libjsoncpp for json dump\n\nTest: dumpsys media.audio_flinger --json\nBug: 68148948\nChange-Id: Ieebe2c52e3613e48a5ec5cbb2b1f167a32d5a47d\n"
    },
    {
      "commit": "acb7d9ddc1955682379ea514082511b9ea44482e",
      "tree": "e2a9b478d64c3011709e8fdaa38bc7e1e303216b",
      "parents": [
        "5ebb948176e82286107c023d894e4e2c47be6fcd",
        "9f448e0fb144a63e96b81d5bf131b8f9896f4e8b"
      ],
      "author": {
        "name": "Tri Vo",
        "email": "trong@google.com",
        "time": "Mon May 21 10:44:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 21 10:44:10 2018 -0700"
      },
      "message": "Merge \"Add audioserver to wakelock group.\" am: 9f877cf5c9 am: b1fc5bfcfb\nam: 9f448e0fb1\n\nChange-Id: I2109113b136e56e222aaf8d6a359190e26dc2600\n"
    },
    {
      "commit": "9f448e0fb144a63e96b81d5bf131b8f9896f4e8b",
      "tree": "7730ed8a6c41b07e4db6e66e5dfaab9304965d8f",
      "parents": [
        "d5d1efcf2c39071a35ccdd7f0ad256df71abede3",
        "b1fc5bfcfb8634396c200f06777d1f6928b66ffc"
      ],
      "author": {
        "name": "Tri Vo",
        "email": "trong@google.com",
        "time": "Mon May 21 10:33:40 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 21 10:33:40 2018 -0700"
      },
      "message": "Merge \"Add audioserver to wakelock group.\" am: 9f877cf5c9\nam: b1fc5bfcfb\n\nChange-Id: If3c3802274ebdcc83a3d653b03c77764eee3e100\n"
    },
    {
      "commit": "c3a07c106069865077dd2de9104d5edae8a9db7e",
      "tree": "3114cb00cd0dac77b4c76742ea8dcbcecb620848",
      "parents": [
        "334e5dff4751eb77ade396f4c32404ca2b2892b3"
      ],
      "author": {
        "name": "Tri Vo",
        "email": "trong@google.com",
        "time": "Thu May 17 15:50:50 2018 -0700"
      },
      "committer": {
        "name": "Tri Vo",
        "email": "trong@google.com",
        "time": "Thu May 17 17:28:50 2018 -0700"
      },
      "message": "Add audioserver to wakelock group.\n\nBug: n/a\nTest: audioserver is sucessfully able to acquire a wake lock\nChange-Id: I150bbf1f56a326580c351726051af51c799ee66f\n"
    },
    {
      "commit": "ede0467aa41bdcb1eed2add1fcde9733b0d0ac58",
      "tree": "d394dfb28f37e012e365846a7afc326ed1b74ab5",
      "parents": [
        "9d5eb0a2b71cab3bb2e60f3e0b12acdb69b582b4"
      ],
      "author": {
        "name": "Daniel Van Veen",
        "email": "dvanv@dolby.com",
        "time": "Mon Mar 26 10:57:09 2018 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Apr 20 13:51:29 2018 -0700"
      },
      "message": "libaudiohal: Use IDeviceFactory in MSD HAL when opening a device\n\nThis allows instantiating the MSD device if the HAL is present.\n\nThe directive in the .rc about restarting \"vendor.audio-hal-4-0-msd\"\nservice is ignored when the service is not present.\n\nThe current policy for handling HAL service restarts is to\nterminate the audio service. It is possible to do better,\ne.g. only re-open the devices of the crashed HAL when possible,\nwithout affecting devices from other HALs. Will try to implement\nthat later.\n\nRemove the MSD-related code from the V2.0 shim, as MSD isn\u0027t\nsupported on HAL V2.0.\n\nBug: 63901775\nTest: manual on a MSD HAL prototype, also on taimen with no MSD HAL\nChange-Id: I7f9de692d6e7b8ff52cdbcaba1074692c5f1c90e\n"
    },
    {
      "commit": "21052719e6dcd87266b4c556f11dc7209295fdf1",
      "tree": "0d92b2588b54964c4b23d2aeacf05bda2d396772",
      "parents": [
        "cef7b7a656aaa1d6e875a0f0ffdf6e31f17d1aa6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 07 11:45:37 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 12 19:05:37 2017 -0800"
      },
      "message": "audioserver: impose memory restrictions\n\nImpose restrictions to limit effect of excessive memory\nallocation.\n\nadb shell setprop audio.maxmem SOME_VALUE_GREATER_THAN_60MB_IN_BYTES\nadb shell pkill audioserver\n\nand see what happens when AudioTracks / AudioRecords are created\n\nTest: as above\nBug: 69927864\nChange-Id: I0a6a90db3321f066a25fb2fcd01e9f834d199979\n"
    },
    {
      "commit": "00a21a30f0b8e13a4c5f5f22efd13cc7abf28179",
      "tree": "30d10593ee113748979bc803c5117c55131b67dd",
      "parents": [
        "bf1c3e0ae1ae1ea015957b7b73362326f8a4a1d4"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 16 08:57:44 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 16 09:00:34 2017 -0800"
      },
      "message": "audioserver: Increase hwbinder thread pool size\n\nUse 4 threads instead of default 1, since audioserver\nserves many clients.\n\nBug: 67203473\nTest: audio still works\nChange-Id: I7b191974f1a912fd8adf0096c3a1abf33a3d12fa\n"
    },
    {
      "commit": "bf1c3e0ae1ae1ea015957b7b73362326f8a4a1d4",
      "tree": "c384d18b5bb8f039d68fcbc1d395fc4c01c9989f",
      "parents": [
        "a4fa4760fa417473324e009b3f4117a2d539c486"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 16 08:40:51 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 16 09:00:22 2017 -0800"
      },
      "message": "Revert \"audioserver: enable HIDL callbacks\"\n\nThis reverts commit e2afa1eba5cdeaf4ca0c9f4613a1f2c0231bd86d.\n\nBug: 31748996\nBug: 67203473\nTest: build\nChange-Id: Ic048423ffa186ed0249a005180a08626bc30b5f2\n"
    },
    {
      "commit": "a098be2bfa75d04c07f5bbf7a3eb991add89f260",
      "tree": "5238a21dc1319580a0513759a8e3f77706debce0",
      "parents": [
        "9f3df1081fe4da10ef2d6e77234adbdc70d5f354",
        "21385d04729f131eec74cf569b67dd7f9c95d26e"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Oct 03 21:47:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 03 21:47:19 2017 +0000"
      },
      "message": "Merge \"audioserver.rc: start audioserver earlier\""
    },
    {
      "commit": "bfb6e108a3f4869166fbc53f7f6e153f3283016a",
      "tree": "afb008f335a840c6ca43ced6b634db0b8517c234",
      "parents": [
        "158482dcc8a81172ef6ac5725bee2bf7329b1e96",
        "838ec2d2ab4b6ae2f9037323caf341ff90c85b77"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Oct 03 19:38:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 03 19:38:08 2017 +0000"
      },
      "message": "Merge \"audioserver: enable AAudioService for MR1\" into oc-mr1-dev am: c1982130b3\nam: 838ec2d2ab\n\nChange-Id: Iea21e186795daa65b59a25fc22e25c7b5bc215a7\n"
    },
    {
      "commit": "5b38eb309cebf994402f0a2461dae763bcd6b81a",
      "tree": "d2b5912b996317cd0594ce61e57da5eda035fd94",
      "parents": [
        "01fc3aee04547d95b1e28bc03256cd774355ba82"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 29 15:06:40 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sun Oct 01 11:55:50 2017 -0700"
      },
      "message": "audioserver: enable AAudioService for MR1\n\nAnother CL in OC-DEV may have turned it off.\nThis was added to resolve merge conflicts and to\nonly enable AAudioService when supported by the vendor.\n\nBug: 65280854\nBug: 65262790\nTest: Enter  adb shell setprop aaudio.mmap_policy 1\nTest: Enter  adb shell killall audioserver\nTest: Enter  adb shell dumpsys media.aaudio\nTest: It should print \"Can\u0027t find service: media.aaudio\".\nTest: Enter  adb shell setprop aaudio.mmap_policy 2\nTest: Enter  adb shell killall audioserver\nTest: Enter  adb shell dumpsys media.aaudio\nTest: It should print a short dump because the service is running.\n\nChange-Id: Ic68d136c99c16134aa704495311ab25285fd76a9\n"
    },
    {
      "commit": "21385d04729f131eec74cf569b67dd7f9c95d26e",
      "tree": "d2b691f7abd5f20255f8ca5243e20353718eef8f",
      "parents": [
        "dddb4326c090fa8ea37168d861eb11cd3a66e0c9"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Fri Sep 15 14:04:05 2017 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Fri Sep 15 21:29:35 2017 +0000"
      },
      "message": "audioserver.rc: start audioserver earlier\n\nWe have seen sometimes SystemServer\u0027s StartAudioService wait for native\naudio policy service.\nThis CL will move audioserver to be started on \"boot\" trigger of init.rc\nwhere class \u0027hal\u0027 is started and data/ access are also ready, so it will\ngive audioserver more time to initialize to avoid service backoff.\n\nBug: 64218899\nTest: 50 reboot cycles on Taimen\nChange-Id: Ic220eb74a7a0df64b531a28c7b9d6fb6d38d3699\n"
    },
    {
      "commit": "bf55cc0583b7c913be7946c3a3a96ef359b6d8b7",
      "tree": "b07d713cd9f7e670a629211e097623112277250f",
      "parents": [
        "1db35afbb9d536f1a26955355e641b35b6aefb94"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Aug 30 11:07:00 2017 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Sep 06 12:16:57 2017 +0900"
      },
      "message": "Add \u0027vendor.\u0027 prefix to a vendor HAL service name\n\nTo prevent property name collisions between properties of system and\nvendor, \u0027vendor.\u0027 prefix must be added to a vendor HAL service name.\nYou can see the details in http://go/treble-sysprop-compatibility.\n\nTest: succeeded building and tested on a walleye device\nBug: 36796459\nChange-Id: I9b51b48ae553707b9f140480b9e630c7dbbfa471\n"
    },
    {
      "commit": "e66ef840c36aaca77c618873da203115d9921fcc",
      "tree": "0121dcdd42bf7962d5609c1f223856774b3a4051",
      "parents": [
        "7c618e82e826f61890f83bfb31a4f74249827e79",
        "8499f13735227aab50b4bc859a1ea6f02166e912"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 15 15:12:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 15 15:12:28 2017 +0000"
      },
      "message": "Merge \"Update OWNERS to be more specific\""
    },
    {
      "commit": "ff6900d8f991aac0b67b625f8a1d4d0461b4c50e",
      "tree": "1c81319f27784e4d611f7895d519b7754f869c26",
      "parents": [
        "ce10f65fb5b48d81798caa2c2914b016082b5089"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Tue Aug 01 15:47:38 2017 -0700"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Aug 09 09:15:59 2017 -0700"
      },
      "message": "Generate IAudioRecord with AIDL.\n\nUse AIDL to generate the IAudioRecord interface rather than using\na manually implemented interface.\n\nBug: 64223827\nTest: Ran the AudioNativeTest and CtsMediaTestCases CTS tests.\n\nChange-Id: Iade23c73253a97c358050bbd697ebe592b89a4c0\n"
    },
    {
      "commit": "8499f13735227aab50b4bc859a1ea6f02166e912",
      "tree": "25f47c647364a40db2ece3d0e06496e0f0e42a16",
      "parents": [
        "08455b8df21e586c88d9f66eff71f0d26230192e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 04 08:08:45 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 08 08:13:11 2017 -0700"
      },
      "message": "Update OWNERS to be more specific\n\nStill to do ... media/OWNERS\n\nTest: Gerrit works as expected\nChange-Id: I2645175569b579764d0298641287e56bfabeab9f\n"
    },
    {
      "commit": "88724633820406638b217656625e92afc78e6d82",
      "tree": "7402fcb117aa1f65a5cb647075155eb671e87a68",
      "parents": [
        "c4df16cd349f90b788a4eb39a46ecb70dd4edcb6"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Fri Jun 23 10:47:15 2017 -0700"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Fri Jun 23 10:47:15 2017 -0700"
      },
      "message": "Remove previous implementation of RadioService.\n\nBug: b/36863239\nTest: instrumentalization\nChange-Id: I47892ce638b1247f0f367265f68461a418bd6753\n"
    },
    {
      "commit": "7f6b40d78b1976c78d1300e8a51fda36eeb50c5d",
      "tree": "78d0268547b2ca08c89e11a3fcc4a6acafed9a54",
      "parents": [
        "a2e1b6dfd047c148a639cbaff7e3f857d7b3fddc"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 09 13:18:38 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 07 17:26:11 2017 -0700"
      },
      "message": "AAudioService: integrated with audioserver\n\nCall the MmapStreamInterface from AudioFlinger instead of the FakeHAL.\nFix sending timestamps from the thread.\nAdd shared mode in service.\n\nBug: 35260844\nTest: CTS test_aaudio.cpp\nChange-Id: I44c7e4ecae4ce205611b6b73a72e0ae8a5b243e5\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "87251eee475a53599b980334df777326fa8e1527",
      "tree": "046358b376d606a499d855d306c53a6cce53314f",
      "parents": [
        "d5973043bed640cf634a26d65dedcde5d5ab3037",
        "40a4498b967d000c93e8561db5fdd0488cc1d824"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 17 19:46:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 19:46:31 2017 +0000"
      },
      "message": "Merge \"Implement log merging.\""
    },
    {
      "commit": "1700f3dd91f8a3269a04a7a5941d93a6fd11b62a",
      "tree": "3ba49303d518f39d0ec19d2bf7ed995e1798cae5",
      "parents": [
        "6ab6061131a10b7f38074c156fd529fa3719a32b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 16 15:56:42 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 16 18:09:50 2017 -0800"
      },
      "message": "audioserver: stop service when VTS tests are running\n\nStop audioserver service when vts.native_server.on property is set\nto avoid conflicts when testing single client HAL implementations.\n\nBug: 33245139\nTest: set and reset property and check service is stopped and started\n\nChange-Id: I4e45d21a57e5b2cf048c5f80669114fcfbbd9df3\n"
    },
    {
      "commit": "40a4498b967d000c93e8561db5fdd0488cc1d824",
      "tree": "a95deb459b6b0ea0de8e711a0cb545c49eb33769",
      "parents": [
        "4da7820be451847bad698ac0f687b964d9b5d34f"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 03 13:39:57 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 16 17:04:01 2017 -0800"
      },
      "message": "Implement log merging.\n\nStill missing:\n * Put in separate periodical thread\n\nBug: 35329293\nTest: manual\nChange-Id: Ie8802fb7972e20d8dec493376ea253bb782f3a46\n"
    },
    {
      "commit": "e2afa1eba5cdeaf4ca0c9f4613a1f2c0231bd86d",
      "tree": "2a3d271baa0856d76d7d37829bb0e64ec7b96143",
      "parents": [
        "e2bc75d146276c3cfe2b349073cf46f7706fa38d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 16 16:30:28 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Dec 17 16:32:34 2016 -0800"
      },
      "message": "audioserver: enable HIDL callbacks\n\nStart hwbinder threadpool explicitly when starting services\nfor HIDL HALs using callbacks.\nTo be reverted when bug 31748996 is fixed.\n\nBug: 33700240\n\nTest: check callbacks with broadcast radio HAL.\n\nChange-Id: I504e97b6be4f95317ec04cc18df6ae545e74475d\n"
    },
    {
      "commit": "8ad947667b8460f87f71aecab7ac8c23c40f5350",
      "tree": "f215d4baedb24cff3ab0ab3dd4ad4ad83181e567",
      "parents": [
        "91590de539c11f84d35874bdce05baa179e0129f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 09:59:52 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 03 01:48:32 2016 +0000"
      },
      "message": "Move IMediaLogService to libmedialogservice\n\nSo audioserver and libmedialogservice don\u0027t have to link against libmedia\n\nTest: build/boot\nChange-Id: I4040d9f6db59807c3fa56321d45fb6ab50fb5edb\n"
    },
    {
      "commit": "c661ae6165338fd5f0bca50a63058b4bcd6def4b",
      "tree": "1fabefad176045b256eb3282f391b9e1ae4ee654",
      "parents": [
        "bf2e61f54c7dcc37c97b4908c9ed6871cf3d2b49"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 26 15:42:11 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "f7854d45bd12d5239c588767bf85953aca46b4ef",
      "tree": "d6e574af1f6341d7c364f284e39b5318a5a48581",
      "parents": [
        "7a544b44b7872b300f50e16fef480f76e9145fbb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 14 15:57:18 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 21 09:17:00 2016 -0700"
      },
      "message": "audioserver: restart audio hal service on restart\n\nAlso update to use common audio uuid type definition.\n\nBug: 32022304\nChange-Id: I25ceb48af1446862d36b3be9d17c1f081b2cf1c7\n"
    },
    {
      "commit": "00bbc1d5ee0ad847ed07a273d103e2996862e98b",
      "tree": "99da96808a6165728b04546cac456c093f1cbbc5",
      "parents": [
        "98cb256c0afa737fc92c2abba0a999079401051f"
      ],
      "author": {
        "name": "Srinath Sridharan",
        "email": "srinathsr@google.com",
        "time": "Mon Jul 18 16:03:39 2016 -0700"
      },
      "committer": {
        "name": "Srinath Sridharan",
        "email": "srinathsr@google.com",
        "time": "Mon Jul 18 16:56:07 2016 -0700"
      },
      "message": "Making sure audioserver can write into foreground cpuset\n\nIf multiple writepids, all must be in one line to take effect.\nElse, only the last one will take effect.\n\nbug: 30192722\nbug: 28312446\n\nChange-Id: I3dcb047ef724c79994443da8a9be10b196301445\n"
    },
    {
      "commit": "caba519fa5d7c8f223678d729776c5045d6339fb",
      "tree": "d0863c04eea66b9b359d46b4b57ca3498e8f36e1",
      "parents": [
        "af0c7dfd5744b7c9e67e9afd26af417aadc6dc20"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Tue Jul 12 14:09:11 2016 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Tue Jul 12 14:09:11 2016 -0700"
      },
      "message": "Put mediaserver and audioserver in the foreground stune group.\n\nbug 29512132\n\nChange-Id: Id727977d832bdb291790e603e8a65416b9f0c76a\n"
    },
    {
      "commit": "58f3e5541361cb04d64b8ad6a676ad0d77a4ee57",
      "tree": "c9141eb0d37fe71c38956b341840845e7d3a697c",
      "parents": [
        "d298fb880ba440793ce206e5f519d4f7c8c8bb54"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Apr 15 14:27:22 2016 +0200"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Tue Apr 26 08:48:12 2016 +0000"
      },
      "message": "Move system services into correct cpusets.\n\nTo foreground:\n- cameraserver\n- mediaserver\n- audioserver\n- mediacodec\n- drmserver\n- mediadrmserver\n- mediaextractor\n\nBug: 24949295\nChange-Id: I182e5cf6fa4b33d87a0a2f77b0b03fa8d76b8e27\n"
    },
    {
      "commit": "9c0b3a300956162b9e70d74db69d9bbb87868eb1",
      "tree": "c730c16d79862c8d09e47608c2aefbfa45d83138",
      "parents": [
        "f17731fb1765314fc38a58c9d19fce9a2553a01e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 24 12:08:27 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 24 12:08:27 2016 -0700"
      },
      "message": "medialog: add missing call to join binder thread pool\n\nBug: 27816096\nChange-Id: I4ec4a5bdb98a793554fc8c3cc01c2a897d11adf0\n"
    },
    {
      "commit": "e875c8016198b4d84225fcf45d905fc424e53553",
      "tree": "dacbd6c32ea580d1e1dd6181066aeece4cda9442",
      "parents": [
        "560a198f1f95a085e24944b20df536e75e21cedb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 14:52:27 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 15:14:48 2016 -0700"
      },
      "message": "Make build warnings be errors\n\nChange-Id: Ia9e32a36f5c0268c8e85ebf25168821d8ad0162d\n"
    },
    {
      "commit": "8fa2697e21c61998f78c346251d2c08f77d720ea",
      "tree": "17e06c62a4e47b816e63cf5fbae0907fbb2efb5f",
      "parents": [
        "7e258e85368ccc8e714235a22206527090685a9b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 03 13:19:27 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 17 18:06:46 2016 -0700"
      },
      "message": "Update audio services for 64 bit compilation\n\naudioserver still runs in 32 bits\n\nBug: 27479136\nChange-Id: I99ac607e4ce006a87abc2a3f838023e00ef78647\n"
    },
    {
      "commit": "ae0cff1d48b2cd10aeff9627398faf684894eece",
      "tree": "4aef282efa85820a4bba79027e26ea6fb394b904",
      "parents": [
        "f70077e43576f876bac08f3cf1f702b3c19b8184"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 24 13:57:49 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 24 15:44:12 2016 -0800"
      },
      "message": "Restore media.log service\n\nBug: 26306954\nChange-Id: I00319f4869f46941e4c814a29b2f69a62e572743\n"
    },
    {
      "commit": "dcb346b7dc5b88c3e85db8a70bbd6a2fee8192b9",
      "tree": "e0038e85e097843f469a6befe9fae1014435f4f5",
      "parents": [
        "ebdddf82b07fa2c4134c3c00dbbbaa1ad3286726"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 09 10:47:29 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 08 11:29:11 2015 -0800"
      },
      "message": "Run audio services in audioserver instead of mediaserver\n\naudioflinger, audiopolicy, (fm) radio, soundtrigger moved to audioserver.\nmedialog is removed from mediaserver.\naudioserver has same permissions and rights as mediaserver.\n\nmediaserver is allowed to specify client uid to audioserver.\n\nSubsequent CL will add medialog to audioserver.\n\nTBD: Pare down permissions.\n\nBug: 24511453\nChange-Id: Iccaa08b874a502710d142e72f8abbb3d97c44cfa\n"
    }
  ]
}
