)]}'
{
  "log": [
    {
      "commit": "5c46d1b25b602d8a684ef618dc8ebb27a8ccacf1",
      "tree": "a16a2fbfc1c22bf4c7035f92143c03d1b88b0b7b",
      "parents": [
        "0ef686e76bdeb0a9dd72f918418d8c1a02c40e18",
        "55773033ed1f23c4e8f3d2704002fbd0cedbf7a5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 13 05:05:42 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 13 05:05:42 2020 +0000"
      },
      "message": "Merge \"Convert mask types from uint32_t to enum type\""
    },
    {
      "commit": "9bb84abb44e7e9e3bbaac8f325fe099277c63a91",
      "tree": "7af22568748fedb93f01e4e75177c26af4caeb71",
      "parents": [
        "15621a129615c1e3a28eefcd6f09d68ea01624fe",
        "ab5feaffda931e06bdb619b696b090f3bac3cf2f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 10 09:34:34 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Oct 10 09:34:34 2020 +0000"
      },
      "message": "Merge \"Add nchalko@ and quxiangfang@ to media OWNERS\" am: 4fac725d18 am: bad85576f9 am: 4972ce5bc1 am: ab5feaffda\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1449241\n\nChange-Id: Id54a8cbda32f98917bb45c8c2b24c2622266deda\n"
    },
    {
      "commit": "ab5feaffda931e06bdb619b696b090f3bac3cf2f",
      "tree": "f49069c88457643d7f42a2547088ef6d378d467b",
      "parents": [
        "6ec21896c59cfa88e0f2e4dba3e32ce9dabd1a30",
        "4972ce5bc1f3e391af408c38f27957da39884e73"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 10 09:04:26 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Oct 10 09:04:26 2020 +0000"
      },
      "message": "Merge \"Add nchalko@ and quxiangfang@ to media OWNERS\" am: 4fac725d18 am: bad85576f9 am: 4972ce5bc1\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1449241\n\nChange-Id: I9b6667feb9571aa170f6f09058608707dcc5ddc6\n"
    },
    {
      "commit": "4972ce5bc1f3e391af408c38f27957da39884e73",
      "tree": "5dd098258ad197bfbfcea3e6f47efc45c0a7c82f",
      "parents": [
        "570aa244b5c21b1811a0f9f6f193c75fca87712d",
        "bad85576f9ed5d33bd4cd06042cb5eeacd7ad0b2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 10 08:53:46 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Oct 10 08:53:46 2020 +0000"
      },
      "message": "Merge \"Add nchalko@ and quxiangfang@ to media OWNERS\" am: 4fac725d18 am: bad85576f9\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1449241\n\nChange-Id: I29debe6a694e2dce9570c544bd9af45aed52286b\n"
    },
    {
      "commit": "55773033ed1f23c4e8f3d2704002fbd0cedbf7a5",
      "tree": "54bc894243fa3c52e611c85aed75ee6677056c13",
      "parents": [
        "7aed66e788c8955ddd22a1235856bb9dac34d82a"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 01 15:08:13 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 08 18:12:55 2020 -0700"
      },
      "message": "Convert mask types from uint32_t to enum type\n\nThis applies to the following types:\n\n- audio_gain_mode_t;\n- audio_flags_mask_t;\n- audio_channel_representation_t;\n- audio_channel_mask_t;\n- audio_devices_t.\n\nEnum types are distinct thus proper overloading on the type\nis possible in C++. Also, assignments to enum types are\nless prone to errors.\n\nBug: 169889714\nTest: basic audio functionality\n      m stagefright\n      atest audiopolicy_tests\nChange-Id: I42506484b1d0b0482618b7314fad4c8012a06fb4\n"
    },
    {
      "commit": "6f8fac2e669e6b23908366ce0561cc7064068096",
      "tree": "6901dccdc1e13754190c2f35a02dda10731c194f",
      "parents": [
        "d784a48b28ce94384fa65fa29e9c9d4b5901c8fc",
        "43a6ba675f0defd4dde172986b645542586ac2d4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 08 22:07:26 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 08 22:07:26 2020 +0000"
      },
      "message": "Merge \"Trust self pid in ResourceObserverService\""
    },
    {
      "commit": "43a6ba675f0defd4dde172986b645542586ac2d4",
      "tree": "3d911e6d755f52bf89449581c9fe92215190c8ff",
      "parents": [
        "358a08446b6657151ad064edf44635e7d021c0af"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 08 13:43:02 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 08 13:45:00 2020 -0700"
      },
      "message": "Trust self pid in ResourceObserverService\n\nPermission check only applies to remote observers.\nbug: 170300341\ntest: unit test *without* running \u0027adb root\u0027 first.\n\nChange-Id: I351ea58653c9c964cbb8cb9a76d000fc4450c2e2\n"
    },
    {
      "commit": "f5077c344f7479e47b56e0ed80900b900fdde798",
      "tree": "137203f12e2c4504ce337845ea8a3d0dcb54a1a8",
      "parents": [
        "f10657799c7b96734facbf2d44d7b325da69923e",
        "94ca11488f69e684d6b55889e70a427eaabe6604"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 07 20:46:00 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 07 20:46:00 2020 +0000"
      },
      "message": "Merge \"audioflinger: fix wait for media.log service\""
    },
    {
      "commit": "94ca11488f69e684d6b55889e70a427eaabe6604",
      "tree": "ede43b9ed0e15c01e7963b09bd294a982d792d61",
      "parents": [
        "f8701c40e95ec237919884629f0497c0bb504c04"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 07 10:45:20 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 07 10:45:20 2020 -0700"
      },
      "message": "audioflinger: fix wait for media.log service\n\ncommit e2cf8295 disabled media.log service but did not skip binding\nto this service when audioflinger starts which caused a systematic\ntimeout and a 5 second delay in audioflinger start sequence.\n\nBug: 165702394\nBug: 169105682\nTest: SuccessiveBootTest\nChange-Id: I892c2120f290ef52b34d320b281ab8faf2b5b0ea\n"
    },
    {
      "commit": "4fe34f9bd4e6836bfebcd4732c503795e5a0e2de",
      "tree": "54f462eca4212127d98ad67af7e30751371799d4",
      "parents": [
        "358a08446b6657151ad064edf44635e7d021c0af"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Oct 06 15:47:28 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Oct 06 16:04:09 2020 -0700"
      },
      "message": "transcoding: fix client number in unit tests\n\nThe unit test\u0027s client number check will fail with\nMediaProvider registering a client. Relax client\nnumber check after register and remove the check\nafter unregister.\n\nbug: 154733526\ntest: MediaTranscodingService unit tests\nChange-Id: I5dd6e88a8fa55480095ff83123065c71eb7e2e04\n"
    },
    {
      "commit": "960ca04eeaabe661a51bc9677f099af85c2c0944",
      "tree": "1330bf9bb36df79e8d9851b6acc17ca890e09f04",
      "parents": [
        "5381d98c9bdc8edb68f12dcc9cf03a74cc101fd6"
      ],
      "author": {
        "name": "shubang",
        "email": "shubang@google.com",
        "time": "Mon Oct 05 22:37:22 2020 -0700"
      },
      "committer": {
        "name": "shubang",
        "email": "shubang@google.com",
        "time": "Mon Oct 05 22:37:22 2020 -0700"
      },
      "message": "Add nchalko@ and quxiangfang@ to media OWNERS\n\nNick is TLM and Henry is the TL of the media TV team,\nthe owner of TV input framework, tuner framework, MediaCas, etc.\n\nTest: mmm\nChange-Id: I8f21dca82fe66245ab1e5beed60652492b64bcc8\n"
    },
    {
      "commit": "fe223ba84de86ed82de2a224171864a51a9319f5",
      "tree": "4711c09dc21d8b4165f655cf34d28955e7ae59fd",
      "parents": [
        "66c8b0988bf02c218bc4fe6c0d81e4bed743c57b",
        "930928c20633daed21e58c526f2386fdd7628658"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Oct 05 20:10:29 2020 +0000"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Oct 05 20:50:08 2020 +0000"
      },
      "message": "resolve merge conflicts of 930928c20633daed21e58c526f2386fdd7628658 to master\n\nChange-Id: I6af09c25e524f6e6c5a89114082f928df20e0edc\n"
    },
    {
      "commit": "930928c20633daed21e58c526f2386fdd7628658",
      "tree": "9d6b056338f42c7450fceb429a159af4ded9aec7",
      "parents": [
        "55f730f7c1a0b5f963f47fdd65c43609a143f18c",
        "6db7a01061347fe482447d5f36915e1c203f0426"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 05 19:47:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 05 19:47:29 2020 +0000"
      },
      "message": "Merge \"MediaCodec: clean up resources pending removal at init\" am: 5381d98c9b am: 0744d89d3c am: 6db7a01061\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1444536\n\nChange-Id: Idd8f5e3fe8efb70aeba9074fc4cc052f280d6f81\n"
    },
    {
      "commit": "6db7a01061347fe482447d5f36915e1c203f0426",
      "tree": "47814a2927310d17082c3634e0fe4dc31a88f788",
      "parents": [
        "4412e5e512129f0e55487704bd4a6ba1cb530181",
        "0744d89d3c3f013882368fe2fb574aea98d36146"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 05 19:01:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 05 19:01:14 2020 +0000"
      },
      "message": "Merge \"MediaCodec: clean up resources pending removal at init\" am: 5381d98c9b am: 0744d89d3c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1444536\n\nChange-Id: Iafd9f6e7a87323f48dc26c0a93d1feff5b2eb22a\n"
    },
    {
      "commit": "66c8b0988bf02c218bc4fe6c0d81e4bed743c57b",
      "tree": "014f35f3fb3087a0b99f159b1b293aaf6f5e2f73",
      "parents": [
        "0e9cbface6089e2f05ac9aa1489d8c3cf93b127a",
        "ff778699027530dcf8fc9842ac4f10a8ec08cd40"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 03 04:24:45 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 03 04:24:45 2020 +0000"
      },
      "message": "Merge \"transcoding: Add more information to dumpsys.\""
    },
    {
      "commit": "ff778699027530dcf8fc9842ac4f10a8ec08cd40",
      "tree": "e464b7ee8705c08d63a03909ff3a58d497bcbf55",
      "parents": [
        "48e2b36fad0759beda38c564eb31efe32131be38"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Oct 02 15:40:56 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Oct 02 20:00:12 2020 -0700"
      },
      "message": "transcoding: Add more information to dumpsys.\n\nShowing all the jobs in queue.\n\nBug: 154733526\nTest: Use snapchat to simuluate multiple transcoding jobs and dumpsys.\nChange-Id: I37aa9d15fe9243598d068eb3aac7ecc2e80d6ccf\n"
    },
    {
      "commit": "271429dbdd93bb824c0f5df107f47bf3cf8e6e25",
      "tree": "c6c96105b21a539c6de819b604dd8ef6402f051b",
      "parents": [
        "e53a2243b289e0d578333c9faf5c17433abd234e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Oct 01 10:12:56 2020 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Oct 02 15:33:51 2020 -0700"
      },
      "message": "MediaCodec: clean up resources pending removal at init\n\nUntil we can track memory usage in ResourceManager, always clean up\nresources pending removal at init so that we can reclaim memory\nand any other resources that are untracked.\n\nBug: 169398817\nTest: atest ResourceManagerService_test\nTest: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\nChange-Id: Ia515443379edb03e68dd2ff5cba07c405aacd433\n"
    },
    {
      "commit": "289079f0b59ddb814aae9f5091ba2c28393b1221",
      "tree": "5eecfc3f2b053b95d25878ee8044d14b1bcf043e",
      "parents": [
        "4dc1aa89791d08ae6f34cf32fc6868359de49b08",
        "f95ed73ea6614cdbd2297d5886b0af0e043e165c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 30 20:18:03 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 30 20:18:03 2020 +0000"
      },
      "message": "Merge \"aaudio: disable new external timestamp\""
    },
    {
      "commit": "f95ed73ea6614cdbd2297d5886b0af0e043e165c",
      "tree": "41ffd529fb3c2f7d2806602673c4b3da3d024320",
      "parents": [
        "8d97b8e3760686f2f1c74a4bb4a703f1bc465060"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 30 18:48:17 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 30 18:48:17 2020 +0000"
      },
      "message": "aaudio: disable new external timestamp\n\nDisable recent change that caused a regression and broke\nOUTPUT timestamps.\n\nBug: 169773867\nTest: OboeTester, TEST OUTPUT\nTest: \"latnc\" for MMAP streams should be a few msec not \"?\"\nChange-Id: I7c4697a34d63a1fd514298f04fc91421c2bb32b1\n"
    },
    {
      "commit": "4dc1aa89791d08ae6f34cf32fc6868359de49b08",
      "tree": "074ab686ef93b0d2e8251417011fc27a73ddc106",
      "parents": [
        "86f1a34fe6889f7ebd1172d12adcc554f1641120",
        "d9c4fafed2a7dbdbd0bab53ba4266077d249ac3b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 30 18:43:45 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 30 18:43:45 2020 +0000"
      },
      "message": "Merge \"Guard IResourceObserver::registerObserver with permission.\""
    },
    {
      "commit": "a90edfdcf3a712822fe2412d14f13a030c8ddb48",
      "tree": "951f82d33159c0409e2cb6962c08cfa2b88e3852",
      "parents": [
        "056cca5b276455c88b70ebc426cb5ad40e527d06",
        "049c4be63ef7cdf815abb965568713d773ebff65"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 29 21:02:17 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 29 21:02:17 2020 +0000"
      },
      "message": "Merge \"HAL V7.0: Update example APM config files\""
    },
    {
      "commit": "71389a45ae5e7d3f51bc37b416fcaf0b48193b77",
      "tree": "e1cfb1385850ce27b869137433a32906f94f1ef9",
      "parents": [
        "2e0239dfded6307f5a787ac0a64f2066b8340e7b",
        "1ed46a2c7629040a88abcde9df561e215059171d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 29 00:38:06 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 29 00:38:06 2020 +0000"
      },
      "message": "Merge \"audio: return accurate frame count when track is flushed\""
    },
    {
      "commit": "2e0239dfded6307f5a787ac0a64f2066b8340e7b",
      "tree": "4d5bce7f68a341b59a0c09049c61fadb8b460602",
      "parents": [
        "1a207dbf25e983845ce47ae04016504a4d092a92",
        "b7d8c5aa7a9c182e695e456c4aea8f8f6c550850"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 29 00:10:23 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 29 00:10:23 2020 +0000"
      },
      "message": "Merge \"Add getExternalPosition in MMapStreamInterface.\""
    },
    {
      "commit": "1ed46a2c7629040a88abcde9df561e215059171d",
      "tree": "e16bba9dd238408fddfb41b6a0ce020bec67f9d0",
      "parents": [
        "d75c6f06baa045c0f7278bf840550bb475037b5b"
      ],
      "author": {
        "name": "Zhou Song",
        "email": "zhous@codeaurora.org",
        "time": "Mon Aug 17 15:36:56 2020 +0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Sep 28 15:32:03 2020 -0700"
      },
      "message": "audio: return accurate frame count when track is flushed\n\nTo avoid track frames to be processed early before full filled,\nwhen track is flushed, framesReady should return accurate\navailable frames to avoid putting track into ready state\ntoo early, otherwise silence can be inserted as buffer is\ninsufficient which leads to audio glitch.\n\nBug: 166610318\nTest: see bug, ringtone playback no regression.\nChange-Id: I3b04999a29d85a91b54734514cfa93bc93f55c33\n"
    },
    {
      "commit": "6b3a8793e80cdc70151fc398ec422104d2fe2b60",
      "tree": "e26b1ad938fb97bd2696c57b4a8acb8a1383ebc5",
      "parents": [
        "9094b7a4e90cc25f61d9c22dff07b6eac6709d64",
        "98ab408b41cbaea86106eac85ec361ffbcc246f5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 26 00:42:44 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 26 00:42:44 2020 +0000"
      },
      "message": "Merge \"audioflinger: only hold wakeLock when started\""
    },
    {
      "commit": "d9c4fafed2a7dbdbd0bab53ba4266077d249ac3b",
      "tree": "9d266c790d732b8ee0c594d6b61a1cfe23e75b2c",
      "parents": [
        "2f0bf51fb362149cfd88d55b93a3a0bb89779e92"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Sep 25 11:54:12 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Sep 25 23:56:55 2020 +0000"
      },
      "message": "Guard IResourceObserver::registerObserver with permission.\n\nbug: 154733526\nbug: 168307955\ntest: mediatranscodingservice unit testing.\nChange-Id: I15c161217ec39d8c292165fd530e8bbd3d1ad35d\n"
    },
    {
      "commit": "98ab408b41cbaea86106eac85ec361ffbcc246f5",
      "tree": "ff1460860b9cfe9c6df59f0285ae98ef1d8e30eb",
      "parents": [
        "2f0bf51fb362149cfd88d55b93a3a0bb89779e92"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 25 21:46:34 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 25 23:33:15 2020 +0000"
      },
      "message": "audioflinger: only hold wakeLock when started\n\nThe AAudio MMAP streams used to hold a wakeLock from\nthe time they were opened until closed.\nNow it is acquired when the first stream is started\nand released when the first stream is stopped.\n\nThis was tested by creating shared streams using\nOboeTester and write_sine_callback and input_monitor_callback and\nthen adding lots of logs to see when the\nwakeLock was acquired and released.\n\nNote that ~ThreadBase() calls releaseWakeLock_l() so ~MmapThread()\ndoes not need to.\n\nBug: 167345722\nTest: Launch OboeTester\nTest: Tap TEST OUTPUT\nTest: Tap OPEN\nTest: Enter: adb shell dumpsys power\nTest: See no MmapPlayback wakelock\nTest: Tap START\nTest: Enter: adb shell dumpsys power\nTest: See \"ACQ MmapPlayback\"\nTest: Tap STOP\nTest: Enter: adb shell dumpsys power\nTest: See \"REL MmapPlayback\"\n\nTest: atest AAudioTests\nChange-Id: Iad87f5ebd22f20c89699e8b1a75d8df482046360\n"
    },
    {
      "commit": "c894f7ffde650e6877101df8623fe3aa63bb16b4",
      "tree": "6f35e15e67dd6ab5b77cf98da7c1aee0f467b602",
      "parents": [
        "2e53a20fea1c596aad48a390cce82ffd693407dd",
        "a0020f9af7c60332248bf4f4cbaf8b3ccba7331c"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Sep 25 22:42:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 25 22:42:39 2020 +0000"
      },
      "message": "Merge \"Camera: Fix deadlock caused by ordering of mStatusLock and mCameraStatesLock.\" am: 9fb67351a9 am: bd8b8c172c am: a0020f9af7\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1438091\n\nChange-Id: I637a79e24e1e97cbb0378912ff513fff582eef99\n"
    },
    {
      "commit": "a0020f9af7c60332248bf4f4cbaf8b3ccba7331c",
      "tree": "b381f98a4ad8ba5d2cf83ae14c55c8fdaf8a3a84",
      "parents": [
        "03ae550175aec8c72b43184b658f27ea7c40b833",
        "bd8b8c172cb60456d0ed5588ce8782da15948d17"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Sep 25 22:14:58 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 25 22:14:58 2020 +0000"
      },
      "message": "Merge \"Camera: Fix deadlock caused by ordering of mStatusLock and mCameraStatesLock.\" am: 9fb67351a9 am: bd8b8c172c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1438091\n\nChange-Id: I402bd82d45ccad4bdc4bccefcb47ec174a768eaa\n"
    },
    {
      "commit": "3f23e986396cf1e874e79f8b648d9e06bc4a1b91",
      "tree": "11dbf8360f9e0a27635d770f36fe4937bc88253a",
      "parents": [
        "2f0bf51fb362149cfd88d55b93a3a0bb89779e92"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 24 14:03:41 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 24 20:38:40 2020 -0700"
      },
      "message": "transcoding: move uid/pid from client to job\n\nRemove the uid/pid on registerClient, and move uid/pid\nchecking to submitRequest time.\n\nbug: 154733526\ntest: unit testing, builds\n\nChange-Id: Ibf29e326cd80e133b8630df96382c80dd9002548\n"
    },
    {
      "commit": "049c4be63ef7cdf815abb965568713d773ebff65",
      "tree": "4969c35e8420ab3133d2cf957988c193d0ff7a21",
      "parents": [
        "2f0bf51fb362149cfd88d55b93a3a0bb89779e92"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Sep 24 22:23:06 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Sep 24 23:33:45 2020 +0000"
      },
      "message": "HAL V7.0: Update example APM config files\n\nUse space delimiter for mixPort flags field.\n\nBug: 142480271\nTest: atest VtsHalAudioV7_0TargetTest\nChange-Id: I3eef9bf1e9bcc24a869355724aa333c1f93b4b31\n"
    },
    {
      "commit": "1e9ef4cc360f7aa70d3d9b681c565b7a0c2d970d",
      "tree": "30dcc4bcb89b6c0186f1efd3832b8bbddcb8e008",
      "parents": [
        "cd2b79a8d7962fa754c0387990c9ff67fa201350"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Aug 14 02:48:34 2020 +0000"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Sep 24 21:49:27 2020 +0000"
      },
      "message": "Camera: Fix deadlock caused by ordering of mStatusLock and mCameraStatesLock.\n\nThe following lock order exists in addListenerHelper:\nmCameraStatesLock -\u003e mStatusLock. In CameraDeviceClient::disconnect()\nthe previous lock ordering was mStatusLock-\u003emCameraStates lock. Move the\ncollection of logical camera ids out to avoid holding mCameraStatesLock\nand mStatus lock  in CameraService::updateStatus.\n\nBug: 162192331\n\nTest: Camera cts\nTest: GCA (basic validity)\n\nChange-Id: Ie5f9f924a77f7073264e9b7fce739c74c98fb57a\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n(cherry picked from commit 5e2cd30c8942d6ee32c8f1a34997bb106b4ac971)\n"
    },
    {
      "commit": "b7d8c5aa7a9c182e695e456c4aea8f8f6c550850",
      "tree": "8d602524e90bf46e4cbe1e33a71fa472e7998c34",
      "parents": [
        "8dbd241e279e1a637502e38af32ef6ead483768f"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 26 17:24:52 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Sep 23 21:45:29 2020 +0000"
      },
      "message": "Add getExternalPosition in MMapStreamInterface.\n\nGetExternalPosition will return a recent count of the number of\naudio frames presented/received to/from an external observer. Using\nthe new API can return a precise timestamp to client, which can\nhelp on A/V sync.\n\nTest: atest AAudioTests\nBug: 158609200\nChange-Id: If74e1d859a2bb2b4dba6af0e4e9164f05d19d962\n"
    },
    {
      "commit": "2f0bf51fb362149cfd88d55b93a3a0bb89779e92",
      "tree": "215fdbb0a58a12805aca2a844b763303bcf0599f",
      "parents": [
        "93aa5d03955c0a132f847e46a6879268f629a28a",
        "0e679116fc77950ad659ff15470a20657b7e7e4e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 23 20:53:46 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 20:53:46 2020 +0000"
      },
      "message": "Merge \"Link resourceobserver_aidl statically in tests\""
    },
    {
      "commit": "0e679116fc77950ad659ff15470a20657b7e7e4e",
      "tree": "4f284732e3715670f4b2fe2f0f3659c912a87f3f",
      "parents": [
        "2526250c329d30b4456d99e9dd9be46633da4f7e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 23 12:11:23 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 23 12:16:18 2020 -0700"
      },
      "message": "Link resourceobserver_aidl statically in tests\n\nAlso change libresourcemanagerservice to static link it,\nsince we don\u0027t have other libs using this on system partition.\n\nbug: 169200805\nChange-Id: I8c23f67f9a3e6b7958e1d7f27998bbbd9af053b7\n"
    },
    {
      "commit": "f907751917092cfcdd5a1f229d01db83236fda40",
      "tree": "e8f261404eff7e1309aa78a4249e23c19e458e58",
      "parents": [
        "b79b20f897835ed7b8d1556c7b444f810ef9b812"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Sep 21 21:02:06 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 23 16:26:13 2020 +0000"
      },
      "message": "Register resource observer and handle resource lost.\n\nbug: 168307955\nbug: 154733526\nChange-Id: I2d5e39ce23bc873dd3bac090e3f7aa1124d0a579\n"
    },
    {
      "commit": "97d367b26286afca53b2c47d643792ea5d18f361",
      "tree": "bf4d4dbbf2e1571aedddb0c1578b9ee25deee6d0",
      "parents": [
        "2526250c329d30b4456d99e9dd9be46633da4f7e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 16 12:53:14 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 22 19:29:13 2020 -0700"
      },
      "message": "Allow native process to set procinfo in ResourceManager\n\nAnd set the override in transcoding service to allow\nResourceManager to reclaim from it.\n\nbug: 168307955\ntest: mediatranscodingservice unit tests;\nResourceManager unit tests;\nCTS ResourceManagerTest; manually verify that binderDied\nevents are handled correctly.\n\nChange-Id: I3193a0e29c1efbaf641e8c6b391241233d9cc404\n"
    },
    {
      "commit": "5f324d7a1936b23daba5f430af6b6f750d41fc69",
      "tree": "dd3bd61a2f9f08cbb32e3c7cd3e245e2ce85aa46",
      "parents": [
        "a0296021eae8f2e3be4538aa37eab5048125d3b3",
        "c7d12948fb828e204aedc4d1129ac5c6d3734d8f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 21 16:59:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Sep 21 16:59:14 2020 +0000"
      },
      "message": "Merge \"Release AudioTrackCallback when the track is removed.\" into rvc-qpr-dev am: c7d12948fb\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12629238\n\nChange-Id: I1b635405c05c5a6690ec3da86412b0cd37003e05\n"
    },
    {
      "commit": "81a2b19225c9904dc669391b30978f56477335c2",
      "tree": "3f55cbd6147182128ff180db81aecd77f3058ba6",
      "parents": [
        "1cd2025ae118e8eca2193c7b23051e24e50c876b",
        "18a4b1c31bd8f9df114c1fece02c15a4fcf5579e"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Fri Sep 18 22:02:16 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 18 22:02:16 2020 +0000"
      },
      "message": "Merge \"Release AudioTrackCallback when the track is removed.\""
    },
    {
      "commit": "1cd2025ae118e8eca2193c7b23051e24e50c876b",
      "tree": "43fc5394c881b451375d852f0b893eb55a6828da",
      "parents": [
        "8fdf74a2f7def5a70f926114e19672e93559d468",
        "a67ba176f13bc0b1a00cb7f729014f74f0cdf411"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Sep 18 21:29:48 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 18 21:29:48 2020 +0000"
      },
      "message": "Merge \"Fix channel mask for the EARPIECE in example APM config\""
    },
    {
      "commit": "a67ba176f13bc0b1a00cb7f729014f74f0cdf411",
      "tree": "0d67ad6898a9ffa5ba72068b2057145428d5f523",
      "parents": [
        "42dcedca067790d053f32a1bc497fd6f99fb0744"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Sep 18 17:29:45 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Sep 18 17:29:45 2020 +0000"
      },
      "message": "Fix channel mask for the EARPIECE in example APM config\n\nEARPIECE is an output device, must have an output channel\nmask.\n\nBug: 142480271\nTest: N/A\nChange-Id: I676bc7222474f2d366bfb4edcd14b83381d68083\n"
    },
    {
      "commit": "3ec1e01f9d6e9f37482d725ebbf473bf73366030",
      "tree": "27cebeedafeb0eb77af4eb69f255d6810b267764",
      "parents": [
        "7a126be5de23444bdfe5395ab50a72863885c287",
        "a9d45c7156d6d8e686070285ea1269d70140cbc9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 17 23:27:33 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 17 23:27:33 2020 +0000"
      },
      "message": "Merge \"Add resource observer service\""
    },
    {
      "commit": "18a4b1c31bd8f9df114c1fece02c15a4fcf5579e",
      "tree": "7fa6d6a95b08ee4d8185040ff25dbe87f8aa2c26",
      "parents": [
        "84d711ca7d00aa04dd53db0ed7f0e81e400e35a5"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Sep 17 11:40:42 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Sep 17 19:24:23 2020 +0000"
      },
      "message": "Release AudioTrackCallback when the track is removed.\n\nThe AudioTrackCallback is cached as a strong pointer in PlaybackThread.\nRemove the callback when the corresponding track is removed to avoid\nmemory leak.\n\nBug: 168675247\nTest: repo steps in the bug\nChange-Id: I09d78ca31c43db4d017f9e8c540628bcb6c44727\n"
    },
    {
      "commit": "b56e743f043cb28aaca4ee624c0d767f0d4771c1",
      "tree": "99d4e3f32e584ac8da112ccad95bb3e885d45a0b",
      "parents": [
        "fd90fdfe2a611ae824a32e236da288b1fdfd445d"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Sep 17 11:40:42 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Sep 17 11:40:42 2020 -0700"
      },
      "message": "Release AudioTrackCallback when the track is removed.\n\nThe AudioTrackCallback is cached as a strong pointer in PlaybackThread.\nRemove the callback when the corresponding track is removed to avoid\nmemory leak.\n\nBug: 168675247\nTest: repo steps in the bug\nChange-Id: I09d78ca31c43db4d017f9e8c540628bcb6c44727\n"
    },
    {
      "commit": "8b2314c8747512fd994254e64955d569af2ec073",
      "tree": "0617d86eccd5fe1fec557261effa718f936a5dae",
      "parents": [
        "c7f2011ccbaede45c36119caff71928ef423ff2e",
        "c5f4587cddb7ec90320df3d6233baffd5d8f93a1"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Thu Sep 17 17:53:21 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 17 17:53:21 2020 +0000"
      },
      "message": "Merge changes from topic \"aaudio_aidl\"\n\n* changes:\n  Convert AAudioService to AIDL\n  Avoid AAudioService-\u003eAAudioServiceInterface inheritence\n  Convert IAAudioClient to AIDL\n"
    },
    {
      "commit": "a9d45c7156d6d8e686070285ea1269d70140cbc9",
      "tree": "56f68464daf41768c3add7ab9b9f1cbde20cd414",
      "parents": [
        "ffebb80bd127ecebfc4af02fe481d048d0c9a29c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 09 12:41:17 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 17 15:56:34 2020 +0000"
      },
      "message": "Add resource observer service\n\nAdd resource observer service so that clients can\nregister listeners to receive resource status change.\n\nThis is needed by transcoding service to properly\nhandle media resource lost. Resource lost itself is\ndetected by exceptions on MediaCodec, however in\norder to resume the service, a notification from\nResourceManager is needed.\n\nNote that the observer service is built as a separate\nservice so that client can access it without requesting\nfull resourcemanager service. It also allows us to\nlist the observer service interface as a stable interface\nwithout having to lock down resourcemanager interface.\n\nbug: 168307955\nbug: 154733526\n\ntest:\n- unit testing in this CL;\n- manually tested using the service from media.transcoding\n  and got codec updates and \"adb shell dumpsys\"\n\nChange-Id: I8028c605600a40c1aa2c89850ef877a5bf1d0c09\n"
    },
    {
      "commit": "fd90fdfe2a611ae824a32e236da288b1fdfd445d",
      "tree": "bdeb9f47bd72f0a8743ec7325841bdef6c0bec2b",
      "parents": [
        "b281445c6e7a40cc144752db8fbf8ddf7bd56b5f"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 21 18:14:43 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Sep 16 00:13:40 2020 +0000"
      },
      "message": "Add package name when creating AudioTrack.\n\nThe package name can be used when starting an external vibration, which\nis used by vibrator service to check if the application has the\npermission to start vibration.\n\nBug: 165910728\nBug: 162343845\nTest: atest AudioTrackTest MediaPlayerTest\nTest: start audio-coupled-haptic playback\nChange-Id: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\nMerged-In: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\n"
    },
    {
      "commit": "375283dd6031a71e44fc17efad05b741302c78e5",
      "tree": "da9cbab41fb7a3610201cfe17d09d7a5e9d3a37e",
      "parents": [
        "b77e219423638bd958a5673dba017ea72aaa2e39"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 21 18:14:43 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Sep 15 18:02:58 2020 +0000"
      },
      "message": "Add package name when creating AudioTrack.\n\nThe package name can be used when starting an external vibration, which\nis used by vibrator service to check if the application has the\npermission to start vibration.\n\nBug: 165910728\nBug: 162343845\nTest: atest AudioTrackTest MediaPlayerTest\nTest: start audio-coupled-haptic playback\nChange-Id: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\nMerged-In: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\n"
    },
    {
      "commit": "f4de36d17ea278672c61fd1be94d36bc3ea5c340",
      "tree": "17eb2dc1f7c5b7cc4c7b1773ba6ad8684ab5d89d",
      "parents": [
        "a7f98a1ea6d6896673fa7f027c1ff3fc321f6a32"
      ],
      "author": {
        "name": "yucliu",
        "email": "yucliu@google.com",
        "time": "Mon Sep 14 14:57:56 2020 -0700"
      },
      "committer": {
        "name": "Yuchen Liu",
        "email": "yucliu@google.com",
        "time": "Tue Sep 15 17:24:47 2020 +0000"
      },
      "message": "Invalidate stream when unregistering audio policy mix\n\nInvalidate the stream if the audio policy mix on the client is removed,\nso that the client can reconnect to another output stream.\n\nBug: 167605686\nTest: Unregister audio policy by killing the app. Audio resumes.\nChange-Id: I9a00311142613df8c019206c9b7c873ec8f42b88\n"
    },
    {
      "commit": "c5f4587cddb7ec90320df3d6233baffd5d8f93a1",
      "tree": "cd3dc205f82010918de2298a33f8d6bf8aec5ed2",
      "parents": [
        "734e3505e8222fd5c146dfa935f80b6ae3ce3003"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Tue Aug 18 10:39:44 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 11 16:33:19 2020 -0700"
      },
      "message": "Convert AAudioService to AIDL\n\nThis change removes all hand-written binder code associated with\nparceling of AAudio types and IAAudioService interface.\n\nThe existing types defined in the \u0027binding\u0027 directory have not been\nreplaced by their AIDL counterparts, but rather were made convertible\nto/from them (in lieu of them being parcelables themselves).\nThe reasons are:\n- Some of those types offer additional functionality rather than\n  simply being data containers / serializers. For example, the\n  SharedMemoryParcelable type supports mmaping a memory region.\n- Reduce impact on existing code, which relies on the interface\n  offered by those type, which is different than the interface offered\n  by their AIDL counterparts.\n\nThe conversion between those types and their parcelable counterparts\nis handled at the edge of the client (inside AAudioBinderAdapter) and\nserver (inside AAudioService) code.\n\nFuture changes may gradually get rid of the duality by retiring the\ndata types in the \u0027binding\u0027 directory, inlining some of the features\nthey are offering (such as accessor methods) and replacing others with\nutility functions, operation on the parcelables directly.\n\nBug: 160253486\nTest: Manual testing using OboeTester\n      Ran atest CtsNativeMediaAAudioTestCases\n      Ran atest test_aaudio_marshalling\nChange-Id: I6eed19246a472dc31c1e2d6d2112d7562cf8940c\n"
    },
    {
      "commit": "734e3505e8222fd5c146dfa935f80b6ae3ce3003",
      "tree": "c7f54bbbf2d764150c550813ea32e09c4d6583cf",
      "parents": [
        "0412f73c6eb83e51832b9b7aaa57a4dc0239e6a5"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Mon Aug 24 14:57:36 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 11 16:33:15 2020 -0700"
      },
      "message": "Avoid AAudioService-\u003eAAudioServiceInterface inheritence\n\nThis is required in order to prepare for divergence of\nAAudioServiceInterface from BnAAudioService: if AAudioService\ninherits from both, we would have method collisions as soon as we\nchange the signatures on one of the interfaces.\n\nWe achieve the same behavior with an adapter, which in this change is\ncompletely trivial, but will be used as soon as the interfaces\nactually diverge.\n\nBug: 160253486\nTest: Manual testing using OboeTester\n      Ran atest CtsNativeMediaAAudioTestCases\nChange-Id: I0d3e41e2378f1e6ff9cbe37461682f7373f463f2\n"
    },
    {
      "commit": "0412f73c6eb83e51832b9b7aaa57a4dc0239e6a5",
      "tree": "4c0803d4e215de220b0c2c15ca50c79959f47eda",
      "parents": [
        "10a7efe0387b11acc57cf6cea3f2ae594b1d8907"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Mon Aug 17 14:43:36 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 11 12:39:20 2020 -0700"
      },
      "message": "Convert IAAudioClient to AIDL\n\nBug: 160253486\nTest: Manual testing using OboeTester\n      Ran atest CtsNativeMediaAAudioTestCases\nChange-Id: I18e6c03144c59ce78181abf7c509c21f2724ad22\n"
    },
    {
      "commit": "485fb0248674c8b5d0ebed11ec7eae0d60766340",
      "tree": "e55e03d1e040c607e33ca6f8d8750ea4987b4048",
      "parents": [
        "10a7efe0387b11acc57cf6cea3f2ae594b1d8907"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 08 12:52:46 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Sep 11 10:54:22 2020 -0700"
      },
      "message": "Relocate ResourceManager aidls to mediaresourcemanager\n\nOtherwise these are  mixed together with other media\ninterface files, and difficult to manage.\n\nbug: 168307955\nbug: 154733526\n\nChange-Id: Ifa3fefe5dc12229e8043a54ffd1f3958d6b02310\n"
    },
    {
      "commit": "1281c1d4ec7d5752d7c0981f32171a83f80b2438",
      "tree": "d62219e73d503ad08c4d60a3029d22e61b8309dd",
      "parents": [
        "af69d2203db2e0147f24c43486c36cf2b02c997f",
        "27514853147fb24d48af6a4f678c010e822b1c8e"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 11 16:49:25 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 11 16:49:25 2020 +0000"
      },
      "message": "Merge changes from topic \"aaudio-callback-close\" into rvc-qpr-dev am: 2751485314\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12551623\n\nChange-Id: I520180492759313fd28baea43e43ec0af1f6c334\n"
    },
    {
      "commit": "af69d2203db2e0147f24c43486c36cf2b02c997f",
      "tree": "7795d5ebeaa82c7c18f3827b8e640f19a7a66e60",
      "parents": [
        "52bc293ab6d9b3e67c52fcc5fefd500060b4f6b9",
        "79224cacfbdb30956428bbe915323233949b768d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 11 16:49:24 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 11 16:49:24 2020 +0000"
      },
      "message": "aaudio: prevent onAudioDeviceUpdate past close am: 79224cacfb\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12551622\n\nChange-Id: I9530b754c9b67f968ae9b0088e627fa6434172f3\n"
    },
    {
      "commit": "52bc293ab6d9b3e67c52fcc5fefd500060b4f6b9",
      "tree": "fad3d97e165d291264d510247d06fa1594b20f58",
      "parents": [
        "60669b443009fdaf85d3e5f4782baf7b6aaa3ab7",
        "4719048ce0e6f8656a417a2f2fe6fbb848ed2ba7"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 11 16:49:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 11 16:49:21 2020 +0000"
      },
      "message": "aaudio: fix crash from callbacks during close am: 4719048ce0\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12540591\n\nChange-Id: Ic046f39f0327c662362ceed7b090bb2cf91e2e1b\n"
    },
    {
      "commit": "27514853147fb24d48af6a4f678c010e822b1c8e",
      "tree": "19a48638e723f2fe1cb6a2cb904e65f45aad26fb",
      "parents": [
        "ed3dca686bd7eac70200a0b068206615fc0f7288",
        "5cad6399aaae8fd448f389967a30d00068b1efe0"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 11 16:24:05 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 11 16:24:05 2020 +0000"
      },
      "message": "Merge changes from topic \"aaudio-callback-close\" into rvc-qpr-dev\n\n* changes:\n  aaudio: fix crash on disconnect for shared streams\n  aaudio: prevent onAudioDeviceUpdate past close\n  aaudio: fix crash from callbacks during close\n"
    },
    {
      "commit": "88f8f94606933ec389ea50b07f5394622750819e",
      "tree": "03de782f4f7e84193c84ee6dcb8e8f5462e94f60",
      "parents": [
        "181438e955bac2e0137d991c468f583bdf3de153",
        "d127644025c5820e39a2908a249691284b4447d6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Sep 11 13:09:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 11 13:09:19 2020 +0000"
      },
      "message": "DO NOT MERGE Attribute SOURCE_HOTWORD to OP_RECORD_AUDIO_HOTWORD. am: d127644025\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12468978\n\nChange-Id: I3253b81c324ae91762a54533a2c1708c80026e8e\n"
    },
    {
      "commit": "ed3dca686bd7eac70200a0b068206615fc0f7288",
      "tree": "96ba30f7f36738482d869c1082a265cddea34f87",
      "parents": [
        "b197286f8c5e01c02e5a04d4e8332c8eca3fda5e",
        "d127644025c5820e39a2908a249691284b4447d6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Sep 11 12:19:36 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 11 12:19:36 2020 +0000"
      },
      "message": "Merge \"DO NOT MERGE Attribute SOURCE_HOTWORD to OP_RECORD_AUDIO_HOTWORD.\" into rvc-qpr-dev"
    },
    {
      "commit": "5cad6399aaae8fd448f389967a30d00068b1efe0",
      "tree": "60cdccf08e4a665a3657a15303a525b934f36093",
      "parents": [
        "79224cacfbdb30956428bbe915323233949b768d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Sep 01 20:55:18 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Sep 10 14:55:00 2020 -0700"
      },
      "message": "aaudio: fix crash on disconnect for shared streams\n\nThis fixes a regression caused by ag/12396646\nThat CL changed the way that AudioStreams are managed\nusing android::sp\u003c\u003e. Unfortunately it caused\na crash in audioserver when shared streams were disconnected.\nThe root cause was calling disconnectedRegisteredStreams()\nfrom a data processing thread, which resulted\nin deleting the object while the thread was using it.\n\nThe call was unnecessary so it was removed.\n\nBug: 161914201\nBug: 163165126\nBug: 164411271\nBug: 166877425\nTest: adb logcat *:F\nTest: Use OboeTester TEST DISCONNECT\nTest: See b/166877425 for more details\nChange-Id: I30fc7f00061a9caf5e3d9f7c8e257102c34f9d92\nMerged-In: I30fc7f00061a9caf5e3d9f7c8e257102c34f9d92\n"
    },
    {
      "commit": "79224cacfbdb30956428bbe915323233949b768d",
      "tree": "3ff5396e1b0f316f25a4af8e48c9465d91cbc2a9",
      "parents": [
        "4719048ce0e6f8656a417a2f2fe6fbb848ed2ba7"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Aug 12 14:29:10 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Sep 10 14:54:30 2020 -0700"
      },
      "message": "aaudio: prevent onAudioDeviceUpdate past close\n\nTo prevent late device update callbacks, the AudioStream\nwas made into a RefBase AudioDeviceCallback.\nSo now we can use a smart pointer to delay deletion of the\nstream if any callbacks are in flight while the stream is closed.\n\nSo an AudioStream is now a RefBased object and can be used with\nandroid::sp. That required some changes to the way it is referenced\nin several places.\n\nMyPlayerBase was modified to use a weak pointer to the parent stream.\n\nUse delete[] for mDistributionBuffer\n\nBug: 161914201\nBug: 163165126\nBug: 164411271\nTest: see bug for repro of the crash\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: Ic24aca3eaf5d1610504bb89c06001a37d0d4a1c3\nMerged-In: Ic24aca3eaf5d1610504bb89c06001a37d0d4a1c3\n"
    },
    {
      "commit": "4719048ce0e6f8656a417a2f2fe6fbb848ed2ba7",
      "tree": "8feaf2f9358a3993b5077647ddcd8952c71f7798",
      "parents": [
        "e1f1cb5827a6c99d41e05e090b3b382f3598a58e"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Aug 12 14:29:10 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Sep 10 14:52:58 2020 -0700"
      },
      "message": "aaudio: fix crash from callbacks during close\n\nMove some code from release_l() into a new close_l().\nAlso stop callbacks before freeing memory in the\nFixedBlockReader.\n\nThe AudioTrack and AudioRecord callbacks can occur\nup until their destructors are called. This can lead\nto race conditions if the AAudio stream is dismantled\nwhile the AudioTrack or AudioRecord is still alive.\nThe AudioRecord was being deleted but not the AudioTrack.\nThat caused some streams to fail if they were using\na FixedBlockReader, which is used when the app\ncalls AAudioStreamBuilder_setFramesPerDataCallback().\n\nThere was also a problem with a few functions like\nAAudioStream_getFramesPerBurst() or AAudioStream_getTimestamp(),\nwhich would crash if called after AAudioStream_release( for\nINPUT streams.\n\nBug: 161914201\nBug: 163165126\nTest: see bug for repro of the crash\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: If8f6f6f17ffe06eae98eb8b3930bca08c49a15f8\nMerged-In: If8f6f6f17ffe06eae98eb8b3930bca08c49a15f8\n(cherry picked from commit 320910fcf1e7d7729f37f95f591093191414e73f)\n"
    },
    {
      "commit": "85109f953b728cbd50b36c18c48e52ef71f3bb95",
      "tree": "0f822ade4b9c29f5295be9f18a51cc2ef0d9b9d5",
      "parents": [
        "ec0f0ec225b7f5a95b305f0c4a345acc78874633",
        "b197286f8c5e01c02e5a04d4e8332c8eca3fda5e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 10 15:52:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 10 15:52:31 2020 +0000"
      },
      "message": "Merge \"audio policy: fix beacon mute delay\" into rvc-qpr-dev am: b197286f8c\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12383405\n\nChange-Id: I899bd7396e7e54aef461ef75f5d78c65c7b40b85\n"
    },
    {
      "commit": "b197286f8c5e01c02e5a04d4e8332c8eca3fda5e",
      "tree": "e84d3182bbb1eab2b1a7c63b2fdb4b21c7695627",
      "parents": [
        "5fc17f2fae4fd72e7695bc828200eb3b8202a754",
        "33897bac9744f10c126b9f44488d390b4de49331"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 10 15:17:07 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 10 15:17:07 2020 +0000"
      },
      "message": "Merge \"audio policy: fix beacon mute delay\" into rvc-qpr-dev"
    },
    {
      "commit": "2bf7f2992eb55bcc410340fb802494ae91bceb7e",
      "tree": "c5b7dacebb47b969a5513928166daf14631f2a17",
      "parents": [
        "14c3722d8f588771771f6d375ed5d09adf682390",
        "ec0f0ec225b7f5a95b305f0c4a345acc78874633"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 09 17:24:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 09 17:24:06 2020 +0000"
      },
      "message": "Merge \"Skip devices with multiple bits set.\" am: bd5bb90b4d am: 451a36a9a6 am: 77230bc934 am: 3f185ad132 am: ec0f0ec225\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1421703\n\nChange-Id: I35c49c2538c476a245cff1d0958db4dd8f87d5b2\n"
    },
    {
      "commit": "ec0f0ec225b7f5a95b305f0c4a345acc78874633",
      "tree": "a4da22251dab4aee686d9217e626383376d7e692",
      "parents": [
        "acb4d9ca255eb027141f623d221d87fb30c9fc40",
        "3f185ad132f4dd2c4e31a06b69aec83aa44fcd39"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 09 17:16:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 09 17:16:19 2020 +0000"
      },
      "message": "Merge \"Skip devices with multiple bits set.\" am: bd5bb90b4d am: 451a36a9a6 am: 77230bc934 am: 3f185ad132\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1421703\n\nChange-Id: I7205d741c7113277a52b922b777c208a9e3d6beb\n"
    },
    {
      "commit": "14c3722d8f588771771f6d375ed5d09adf682390",
      "tree": "e4b0dea245363177472c19eb4aae502878af4b4c",
      "parents": [
        "c929e63dbb7385f5bced432988f020852030e950",
        "acb4d9ca255eb027141f623d221d87fb30c9fc40"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Sep 09 17:16:10 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 09 17:16:10 2020 +0000"
      },
      "message": "Merge \"Camera: Fix deadlock caused by ordering of mStatusLock and mCameraStatesLock.\" into rvc-qpr-dev am: 5fc17f2fae am: acb4d9ca25\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12393352\n\nChange-Id: Iaad4fc4ce9bfe1f02bac0859a18fabd08a01558c\n"
    },
    {
      "commit": "3f185ad132f4dd2c4e31a06b69aec83aa44fcd39",
      "tree": "27a7cd1cc44669e7deee1b9be06ff201c80492ba",
      "parents": [
        "8843cf96f564248d4e2b17c559dea377dce34d9c",
        "77230bc934f9646030640993fa3f0a0db4c9ca5e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 09 16:58:41 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 09 16:58:41 2020 +0000"
      },
      "message": "Merge \"Skip devices with multiple bits set.\" am: bd5bb90b4d am: 451a36a9a6 am: 77230bc934\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1421703\n\nChange-Id: I4a44f3cbd6643acb970cf0797954699656b38f63\n"
    },
    {
      "commit": "acb4d9ca255eb027141f623d221d87fb30c9fc40",
      "tree": "0ee39a3661a169087cab9c7f0265bd4573f313d1",
      "parents": [
        "499713d39f11b7e01c53b1f16f325451d280e5b9",
        "5fc17f2fae4fd72e7695bc828200eb3b8202a754"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Sep 09 16:58:34 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 09 16:58:34 2020 +0000"
      },
      "message": "Merge \"Camera: Fix deadlock caused by ordering of mStatusLock and mCameraStatesLock.\" into rvc-qpr-dev am: 5fc17f2fae\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12393352\n\nChange-Id: I10315aec4a263581eee7734cae2745544cfc2577\n"
    },
    {
      "commit": "77230bc934f9646030640993fa3f0a0db4c9ca5e",
      "tree": "2f64e10a0e25e11ec4cbec2997ca61757cdce0e5",
      "parents": [
        "c5c9086d323906f2bdd2d020910291044250081e",
        "451a36a9a67eb9cad6931b908736072c76d30ec2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 09 16:26:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 09 16:26:47 2020 +0000"
      },
      "message": "Merge \"Skip devices with multiple bits set.\" am: bd5bb90b4d am: 451a36a9a6\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1421703\n\nChange-Id: Iad96bd32869ba3d798a185c82740684ead3349a8\n"
    },
    {
      "commit": "5fc17f2fae4fd72e7695bc828200eb3b8202a754",
      "tree": "b9aa8c34f45e693af40cc6f655982d144d4b24ca",
      "parents": [
        "e1f1cb5827a6c99d41e05e090b3b382f3598a58e",
        "5e2cd30c8942d6ee32c8f1a34997bb106b4ac971"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Sep 09 16:22:58 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 09 16:22:58 2020 +0000"
      },
      "message": "Merge \"Camera: Fix deadlock caused by ordering of mStatusLock and mCameraStatesLock.\" into rvc-qpr-dev"
    },
    {
      "commit": "451a36a9a67eb9cad6931b908736072c76d30ec2",
      "tree": "41e1735a1a979a48cb51e05cd9ac8b165bdbecec",
      "parents": [
        "2cbbfa584a989ce07ac5fa31d8159f31848c9825",
        "bd5bb90b4d0032980a74849a798a52cba0f4a185"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 09 16:18:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 09 16:18:23 2020 +0000"
      },
      "message": "Merge \"Skip devices with multiple bits set.\" am: bd5bb90b4d\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1421703\n\nChange-Id: Ic54c8dcf210e9b375e7fdce6444c7d882a1784d6\n"
    },
    {
      "commit": "e3c22e22cac4625e0b5e8052826cc06ec171c45a",
      "tree": "766e8d5c0e353b06334cd1d261f100c2df3774fd",
      "parents": [
        "8028dfb98b90cdb555fd615049165031aa319fb9"
      ],
      "author": {
        "name": "Hongguang Chen",
        "email": "hgchen@google.com",
        "time": "Tue Sep 08 13:22:56 2020 -0700"
      },
      "committer": {
        "name": "Hongguang Chen",
        "email": "hgchen@google.com",
        "time": "Tue Sep 08 22:24:02 2020 -0700"
      },
      "message": "Skip devices with multiple bits set.\n\naosp/1399204 added AUDIO_DEVICE_OUT_BLE_SPEAKER whose value is\n0x20000001. The buildCommonTypesStructureFile.py didn\u0027t cover that kind\nof values and it caused audioserver crashed.\n\nThis CL skips that kind of devices. A general solution (b/168065706)\nshould be addressed in the configurable audio policy and parameter\nframework.\n\nBUG: 167745916\nTest: Check PolicySubsystem-CommonTypes.xml and boot up device.\nChange-Id: Id802d37c18c4fd152a84a5a1579390b464c505f1\n"
    },
    {
      "commit": "ac744ad46d3f98c2fc1e888981cd5b8dafea5991",
      "tree": "38d068655137f9ce33e2ce42630c19843c85691e",
      "parents": [
        "72c38cc36232d08f481b234924c920fe00f06afb",
        "3b98d3208183a6a2ec4d3eb2b24a1cd53cf15c46"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 08 22:46:28 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 08 22:46:28 2020 +0000"
      },
      "message": "Merge \"Revert^2 \"Support device role for capture preset.\"\""
    },
    {
      "commit": "3803ff3ec558396240f6133ecbb22d02b931d142",
      "tree": "5c2b9367155715e704d22f137a64d4a8a1f85905",
      "parents": [
        "9447b48f36b1bf26645e6256dd29224b6a398161",
        "e1f1cb5827a6c99d41e05e090b3b382f3598a58e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 08 20:17:33 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 08 20:17:33 2020 +0000"
      },
      "message": "audio policy: correct force use touch sound delay am: e1f1cb5827\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12539419\n\nChange-Id: I7b8ecc463d043da5c9e479bf92a73654ba8f3ad7\n"
    },
    {
      "commit": "e1f1cb5827a6c99d41e05e090b3b382f3598a58e",
      "tree": "5a867b160cc351c30d777319aad5c3f5fc727eee",
      "parents": [
        "d1fa2375194096937bbdfd2def97969c4336191b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 21 12:50:41 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 08 18:25:21 2020 +0000"
      },
      "message": "audio policy: correct force use touch sound delay\n\nDo not apply the special delay added in setForceUse() multiple times.\nThis delay was meant to be applied only once to avoid truncating touch\nsounds but is actually used multiple times when updating routes on all\noutput streams, thus lengthening the call audio path switch time\nunnecessarily.\n\nBug: 163537547\nTest: manual call routing test\nChange-Id: I6fe15d4ed9b1f37452921585e9f7684637e8a30b\n(cherry picked from commit b36b4accf36ba413529a0b6735802a65f42c2f7c)\n"
    },
    {
      "commit": "3ae974b4e59ca2f1880b8eb76e53c8f550cf96bf",
      "tree": "9918e6e5d753653b9d5d2e5a19ade161dd65008b",
      "parents": [
        "583d18e45ae5893f51d937caae8a5b83629c6fed",
        "19a4793fd2e6a9d0ec73c09949cef64dab831345"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 07 02:50:31 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 07 02:50:31 2020 +0000"
      },
      "message": "Merge \"Remove unused mediaswcodec.rc on system\""
    },
    {
      "commit": "3b98d3208183a6a2ec4d3eb2b24a1cd53cf15c46",
      "tree": "40d78318ee59cb23fa5cfbd53fdff57035fe8b32",
      "parents": [
        "bcfb2ce24a4eb736d701197293d4337f23ba59c4"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Sep 03 17:54:16 2020 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Sep 03 17:54:16 2020 +0000"
      },
      "message": "Revert^2 \"Support device role for capture preset.\"\n\nbcfb2ce24a4eb736d701197293d4337f23ba59c4\n\nChange-Id: I368d562ec2aae68aa239dce75d54ca2772b30e76\n"
    },
    {
      "commit": "19a4793fd2e6a9d0ec73c09949cef64dab831345",
      "tree": "e181f052932a4861920c17d1ac13449cdbeaf3a3",
      "parents": [
        "6ea4a7734d29692c0a5f3093881a859f959834f4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 03 09:30:45 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 03 10:29:53 2020 -0700"
      },
      "message": "Remove unused mediaswcodec.rc on system\n\nbug: 163086880\ntest: verify media.swcodec process starts properly;\ncts MediaMetadataRetrieverTest and check that sw decoders\nare used for thumbnail extractions.\n\nChange-Id: Icbf3774a69b4d4699045c4c71fe7dd0567528568\n"
    },
    {
      "commit": "8dbd241e279e1a637502e38af32ef6ead483768f",
      "tree": "733edec2f52c4eadf28d30ce670bcdc848cb7fe7",
      "parents": [
        "bf1d0a629c1a606757de52b3e47785bb3304b239",
        "bcfb2ce24a4eb736d701197293d4337f23ba59c4"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Sep 03 17:25:20 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 03 17:25:20 2020 +0000"
      },
      "message": "Merge \"Revert \"Support device role for capture preset.\"\""
    },
    {
      "commit": "bcfb2ce24a4eb736d701197293d4337f23ba59c4",
      "tree": "e4a01d8d1e3c5ccbd3ab7db611315a1b5ea97239",
      "parents": [
        "dddc2aef4e5f9f27a79909f475c31c96eb688200"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Sep 03 02:45:05 2020 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Sep 03 02:45:05 2020 +0000"
      },
      "message": "Revert \"Support device role for capture preset.\"\n\nRevert \"Support set/clear/get preferred device for capture preset.\"\n\nRevert submission 12409575-devicesRoleForCapturePreset\n\nReason for revert: break CarAudioZonesHelperTest\nReverted Changes:\nI92fdb2cbd:Support set/clear/get preferred device for capture...\nI44e67d5b0:Add a helper function of checking if an audio sour...\nIb16ab2ec8:Support device role for capture preset.\nI46bd8dfb5:Add tests for set/get/clearPreferredDeviceForCaptu...\n\nChange-Id: I80f5267a01b48d01681a2d97cf3eb9de573ca6b5\n"
    },
    {
      "commit": "9447b48f36b1bf26645e6256dd29224b6a398161",
      "tree": "62bc6e0895af051df03446dc2c5ecca8dd288d0f",
      "parents": [
        "37e93d1bc4df8b2d9682c48236bb4dae87d6dd1b",
        "d1fa2375194096937bbdfd2def97969c4336191b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 03 00:53:20 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 03 00:53:20 2020 +0000"
      },
      "message": "Merge \"audio flinger: handle race condition in AudioRecord creation\" into rvc-qpr-dev am: d1fa237519\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12484593\n\nChange-Id: I5e330127a6ef2efe394b06524af5ae20f01a71bc\n"
    },
    {
      "commit": "d1fa2375194096937bbdfd2def97969c4336191b",
      "tree": "f2873c68b18cd34fec81208f8b5286c86b66985e",
      "parents": [
        "35238dd6585645018f7a7a8a32fdece432458ce7",
        "717bc28fc5959c0edb2bbd86692ba5164893f719"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 03 00:22:46 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 03 00:22:46 2020 +0000"
      },
      "message": "Merge \"audio flinger: handle race condition in AudioRecord creation\" into rvc-qpr-dev"
    },
    {
      "commit": "f3a626fa54d1ad52673655edaf849b5a6b7c44ab",
      "tree": "c53c739d09c181a4cdd7d9eb993b441c03615d50",
      "parents": [
        "6ea4a7734d29692c0a5f3093881a859f959834f4",
        "4e8396f030bc2d63714f345e1b9985adc0733211"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 02 19:50:36 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 02 19:50:36 2020 +0000"
      },
      "message": "Merge \"aaudio: fix crash on disconnect for shared streams\""
    },
    {
      "commit": "5294eb92f5e27c9872edcd6a449370a3bf5cd7aa",
      "tree": "789d0b6bdb31ea469f7d645b0194aab3e76a82f3",
      "parents": [
        "738f5ecdaea2af982ba00c4b974a33dbac8f7d0c",
        "35238dd6585645018f7a7a8a32fdece432458ce7"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Wed Sep 02 16:33:33 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 02 16:33:33 2020 +0000"
      },
      "message": "Merge \"audio policy: fix concurrent capture policy for virtual sources\" into rvc-qpr-dev am: 35238dd658\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12196105\n\nChange-Id: I6029ece39734bea6bdcad7cc1ea5f2b2ab5e593a\n"
    },
    {
      "commit": "42c0447db6f279e23cf4a3dabf4e0a6764277b6b",
      "tree": "5586a760a9464d5a3617fd942f8c1967fa130dbf",
      "parents": [
        "a85c486cc4226cf2cb63c7f1542d436b6610ab86",
        "dddc2aef4e5f9f27a79909f475c31c96eb688200"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 02 16:12:47 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 02 16:12:47 2020 +0000"
      },
      "message": "Merge \"Support device role for capture preset.\""
    },
    {
      "commit": "35238dd6585645018f7a7a8a32fdece432458ce7",
      "tree": "acebd01148680908072bb155c37217cf0aaad8e8",
      "parents": [
        "23d433f4a27a05dc89e558c06032b305ad0337f6",
        "55fd81d7e1011565e894a4530eb8693c824f45b4"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Wed Sep 02 15:55:30 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 02 15:55:30 2020 +0000"
      },
      "message": "Merge \"audio policy: fix concurrent capture policy for virtual sources\" into rvc-qpr-dev"
    },
    {
      "commit": "3f1a1165d04ed5bd45e993624b4b19a9eeb84cd1",
      "tree": "5af63735f8315796709b4cb08aa60b573b73c96f",
      "parents": [
        "a75189ef58bafa6d0f4e4afa99ce37996604f788",
        "45d6dc964d0fbcfde10dcef07fda68a84b6a2516"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 01 22:23:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 01 22:23:39 2020 +0000"
      },
      "message": "Merge \"Fix file permissions to remove execute bit on ordinary files\" am: 96a663b0ef am: 0e30ca6437 am: 4984eb5e21 am: 37e9654973 am: 45d6dc964d\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1416258\n\nChange-Id: Ic7a15541f3f6a835fdd95786a722f92252223e3c\n"
    },
    {
      "commit": "45d6dc964d0fbcfde10dcef07fda68a84b6a2516",
      "tree": "8750af6324624c5ae407e45f3de477f39b415525",
      "parents": [
        "917ca09494b5fbad9f7ef63f85fa3ac1d80d0864",
        "37e9654973cf0458a30805ef2180265e356e1987"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 01 21:48:42 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 01 21:48:42 2020 +0000"
      },
      "message": "Merge \"Fix file permissions to remove execute bit on ordinary files\" am: 96a663b0ef am: 0e30ca6437 am: 4984eb5e21 am: 37e9654973\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1416258\n\nChange-Id: I27be61eb183692a7b44802d2ed35e0a629441c70\n"
    },
    {
      "commit": "37e9654973cf0458a30805ef2180265e356e1987",
      "tree": "46ce02739a2899d0c4c1c356ec955d7242ea753b",
      "parents": [
        "ff30ed79d2c4715e355824980c4978c066ebf177",
        "4984eb5e21d5918e9195ccb3d9540ed155820ec6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 01 21:31:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 01 21:31:21 2020 +0000"
      },
      "message": "Merge \"Fix file permissions to remove execute bit on ordinary files\" am: 96a663b0ef am: 0e30ca6437 am: 4984eb5e21\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1416258\n\nChange-Id: Ibe802a15ab203d206d898ee4feb7d4a94037e5cf\n"
    },
    {
      "commit": "4e8396f030bc2d63714f345e1b9985adc0733211",
      "tree": "0dd44b168b2b9a763cd13518dd55c42b91546c51",
      "parents": [
        "244e5086e3a9d1e4c37350abe0c4e4c09609eba7"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Sep 01 20:55:18 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Sep 01 20:55:18 2020 +0000"
      },
      "message": "aaudio: fix crash on disconnect for shared streams\n\nThis fixes a regression caused by ag/12396646\nThat CL changed the way that AudioStreams are managed\nusing android::sp\u003c\u003e. Unfortunately it caused\na crash in audioserver when shared streams were disconnected.\nThe root cause was calling disconnectedRegisteredStreams()\nfrom a data processing thread, which resulted\nin deleting the object while the thread was using it.\n\nThe call was unnecessary so it was removed.\n\nBug: 164411271\nBug: 166877425\nTest: adb logcat *:F\nTest: Use OboeTester TEST DISCONNECT\nTest: See b/166877425 for more details\nChange-Id: I30fc7f00061a9caf5e3d9f7c8e257102c34f9d92\n"
    },
    {
      "commit": "4984eb5e21d5918e9195ccb3d9540ed155820ec6",
      "tree": "313257662bcc66636d05c6a27e530a2ea72429f1",
      "parents": [
        "e75114727d73502257ef503451453c6f85ded175",
        "0e30ca64372f8e4dab5cbe3d2b0e326081c4fb2f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 01 20:22:55 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 01 20:22:55 2020 +0000"
      },
      "message": "Merge \"Fix file permissions to remove execute bit on ordinary files\" am: 96a663b0ef am: 0e30ca6437\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1416258\n\nChange-Id: Idb94e55c869c66e18349e9ef7f1f02c87bb4ef9d\n"
    },
    {
      "commit": "4ffca8764be4b177cd08dfbd0705ad1e236709ce",
      "tree": "be2657e20b7222754d29d14d8f2f1fe309bffc62",
      "parents": [
        "0e30ca64372f8e4dab5cbe3d2b0e326081c4fb2f",
        "2e40c302d6117ec6eb65f25832a71488367b4dfb"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Sep 01 20:03:43 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 01 20:03:43 2020 +0000"
      },
      "message": "Merge \"Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)\" into stage-aosp-master"
    },
    {
      "commit": "0e30ca64372f8e4dab5cbe3d2b0e326081c4fb2f",
      "tree": "1954de8b8b30436bb3fed2fe21b70e1cea8cecab",
      "parents": [
        "054de8d6440fd30238fa9330bcc038cda745b244",
        "96a663b0ef0b0273111a47aa2c3fdc4029a36e4e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 01 20:01:44 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 01 20:01:44 2020 +0000"
      },
      "message": "Merge \"Fix file permissions to remove execute bit on ordinary files\" am: 96a663b0ef\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1416258\n\nChange-Id: I29e4415ac61a0bb58524858282731c6c2b3fba17\n"
    },
    {
      "commit": "58fb14aa84f41329fccc7185701ffbf502f77114",
      "tree": "6e40f2c53934ba0246207e8be722204106f0a5d7",
      "parents": [
        "579a5284be48aec4905160464716011cc7e89b9c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 31 12:13:12 2020 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 31 12:16:26 2020 -0700"
      },
      "message": "Fix file permissions to remove execute bit on ordinary files\n\nTest: N/A\nChange-Id: I9e85ebe5479ae7f021a69942630fc9c876d4116b\n"
    },
    {
      "commit": "2e40c302d6117ec6eb65f25832a71488367b4dfb",
      "tree": "ce2cff004a09076114faabf595b1a116bcb461ff",
      "parents": [
        "054de8d6440fd30238fa9330bcc038cda745b244",
        "924eccfd6f6d3aaed5db627a0bdcfcaaf9b09a18"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Aug 28 08:38:54 2020 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Aug 28 21:23:54 2020 -0700"
      },
      "message": "Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)\n\nBug: 166295507\nMerged-In: Ie94127c1e981cb18671d5137ba0d39355d1353da\nChange-Id: Ib22ad33bda8d561af537499b6d31ab6134eeae02\n"
    },
    {
      "commit": "717bc28fc5959c0edb2bbd86692ba5164893f719",
      "tree": "9f55d492e1032f4224dc3420345868cf8d613456",
      "parents": [
        "0b3f254028404b4772e02f9d1cdfcefba0e264b4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 21 17:10:39 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 28 22:51:36 2020 +0000"
      },
      "message": "audio flinger: handle race condition in AudioRecord creation\n\nA rare race condition can cause a failure to create an AudioRecord if\ntwo creation requests are processed concurrently and thread preemption happens\nat a specific time within the sequence between audioflinger and\naudio policy manager.\n\nThis CL implements a retry mechanism on client side when this particular failure\nis detected.\n\nBug: 161656190\nTest: Regression tests for audio capture use cases.\nTest: CTS tests for AudiRecord\nChange-Id: I155ee4899baeec21e10a1141cb9e323cbc8aa23b\n(cherry picked from commit d52a28ca2c19db7d10bc6c4639a8bd78e1afd5f1)\n"
    },
    {
      "commit": "ff30ed79d2c4715e355824980c4978c066ebf177",
      "tree": "38aeea79df0f997d00dec8dbdbff5b6badabf56c",
      "parents": [
        "818e657599a6aa2b1bdfe0d16d98db37dca6ed7b",
        "e75114727d73502257ef503451453c6f85ded175"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Aug 28 19:24:10 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Aug 28 19:24:10 2020 +0000"
      },
      "message": "Camera: fix wrong signalStreamFlush call am: e75114727d\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12480929\n\nChange-Id: I57927fb97bad116b2f27d3f92e5085a5626d3262\n"
    },
    {
      "commit": "d127644025c5820e39a2908a249691284b4447d6",
      "tree": "e249c7f931d01a69f44f0d42ef99617ed7cc58bc",
      "parents": [
        "0b3f254028404b4772e02f9d1cdfcefba0e264b4"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Aug 20 17:19:57 2020 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 28 16:44:58 2020 +0100"
      },
      "message": "DO NOT MERGE Attribute SOURCE_HOTWORD to OP_RECORD_AUDIO_HOTWORD.\n\nWhenever we startRecording / finishRecording with a source\nof SOURCE_HOTWORD, attribute them to OP_RECORD_AUDIO_HOTWORD\ninstead of OP_RECORD_AUDIO. In either case, OP_RECORD_AUDIO\nis checked before the recording commences. Note that we also\ncheck that all recordings with SOURCE_HOTWORD are initiated\nby a uid that holds the privileged CAPTURE_AUDIO_HOTWORD\npermission.\n\nNote that this change will be superseded in the future once\nwe have stronger guarantees around hotword handling.\n\nBug: 162547999\nTest: manual with dumpsys appops on AGSA\n\nChange-Id: I70e0b652c357597770a18a5a385d62668a69059a\n"
    },
    {
      "commit": "e75114727d73502257ef503451453c6f85ded175",
      "tree": "e440b3f5a2e0b7663bb16d4c197c8b9a85079fb6",
      "parents": [
        "1a342950d36668c89c7f72488a478506849c3370"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jul 28 00:17:58 2020 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Aug 28 15:36:33 2020 +0000"
      },
      "message": "Camera: fix wrong signalStreamFlush call\n\nSometimes the waitUntilIdle call will finish without RequestThread\nsending the signalStreamFlush call down to HAL.\nReset the flag when the wait finishes to avoid a wrong call fired\nlater when the request thread goes to paused.\n\nTest: CTS on Pixel 3, partner testing\nBug: 162062652\nChange-Id: I7c6674860a688f0bc42d4083793514b546cbd65d\n(cherry picked from commit e52b8fa8fabd74555dd1ebb2e9405460a545a919)\n"
    }
  ],
  "next": "b8a9dbbf791adf7f1a0ab87d7a35770074e88cc8"
}
