)]}'
{
  "log": [
    {
      "commit": "4e82621821c5adf1dbd3ef1911fc6a2a0becfbc8",
      "tree": "1de376a468b699ac4fe3f97fac00bc2c62052bda",
      "parents": [
        "c1afe3ba438699122aa2c3a66c3c58e87dd5525b"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 07 17:32:40 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 21 16:28:31 2020 +0100"
      },
      "message": "Introduce device(s) role for strategy.\n\nAdding interface to get/set/removeDevicesRoleForStrategy. The interfaces\nallows to modify the devices\u0027 role, such as preferred, for strategy.\nGet/set/removePreferredDeviceForStrategy is reimplemented by the new\ninterfaces.\n\nTest: atest AudioHostTest\nTest: atest AudioServiceHostTest\nTest: atest AudioServiceTest\nTest: atest audiopolicy_tests\nBug: 160352965\nChange-Id: I0af737542a8599938cae4e142b733159f21ed5a8\nMerged-In: I0af737542a8599938cae4e142b733159f21ed5a8\n"
    },
    {
      "commit": "c1afe3ba438699122aa2c3a66c3c58e87dd5525b",
      "tree": "1c1290b565c6989d90f91b00f6005176e74aa28c",
      "parents": [
        "d295e4b4bdc617ebdeb36deb97cb9597a5e603f1"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 07 11:56:38 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 21 16:28:18 2020 +0100"
      },
      "message": "Use AudioDeviceTypeAddrVector instead of Vector\u003cAudioDeviceTypeAddr\u003e\n\nAudioDeviceTypeAddrVector is std::vector\u003cAudioDeviceTypeAddr\u003e. In that\ncase, it is not needed to use Vector\u003cAudioDeviceTypeAddr\u003e. It is also\nsuggested to use the std::vector instead of Vector.\n\nTest: atest AudioHostTest\nTest: atest AudioServiceHostTest\nTest: atest audiopolicy_tests\nBug: 160352965\nChange-Id: Ibcd91fcba95c53e3c172ae62fc6f30e70509de51\nMerged-In: Ibcd91fcba95c53e3c172ae62fc6f30e70509de51\n"
    },
    {
      "commit": "3813f74c4e035da3e831ad14d6fe1910e52c5e55",
      "tree": "e780833025c08c7870d9cc9c3915fdeb8d9414b4",
      "parents": [
        "e9ebb9efbcac3a27a26cb068ac5e8fd187bcaaa2"
      ],
      "author": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Wed Nov 11 11:12:48 2020 +0530"
      },
      "committer": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Wed Dec 16 13:45:08 2020 +0530"
      },
      "message": "libaaudioservice: Updated to build both static and shared library\n\nTest: Build libaaudioservice\nBug: 174736869\n\nChange-Id: If2fbbe199314ad21ef08338b5aed9c8991031c15\n"
    },
    {
      "commit": "c5970fd0dae18a15f7a673816aa8e817134c7255",
      "tree": "6c2aab42df56cf1109bc9363963e5c442b6123b0",
      "parents": [
        "5d30d3aaaf4cd0c55b36cd6e492f178042498ba4",
        "9494e4ede7780ce2ff96544ee3a0b67c8d92c7d8"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 22:08:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 09 22:08:21 2020 +0000"
      },
      "message": "Merge \"mediaresourcemanager: remove AIDL comparison ops\" am: 9494e4ede7\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1522082\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I5fe0f4309a3d7bf81b29cafa90b38a74203146ff\n"
    },
    {
      "commit": "9494e4ede7780ce2ff96544ee3a0b67c8d92c7d8",
      "tree": "05b0dbd923045cd5276b10501292e17a6c165532",
      "parents": [
        "754ef5960fa00ebdffd4058d4f3941e4222d5c19",
        "bb07853cea158899b0296886b2bac239eaf738dd"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 21:46:59 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 09 21:46:59 2020 +0000"
      },
      "message": "Merge \"mediaresourcemanager: remove AIDL comparison ops\""
    },
    {
      "commit": "bb07853cea158899b0296886b2bac239eaf738dd",
      "tree": "c6361db311687c9f9fa6750698f6466d543ddba9",
      "parents": [
        "be78d20a39da3c48e906710b4e5868d670781066"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 20:14:05 2020 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 20:14:05 2020 +0000"
      },
      "message": "mediaresourcemanager: remove AIDL comparison ops\n\nThese are now auto-generated.\n\nThese are now auto-generated, and these were creating ambiguous\nresolution errors.\n\nBug: 175018841\nTest: tests in test mapping\nMerged-In: Iac63f7fc5c6c7152d69071ba5d4ef2daf873ffdb\nChange-Id: I9288dc07ebb49158bd8540672b8dadca1036dde9\n"
    },
    {
      "commit": "5d30d3aaaf4cd0c55b36cd6e492f178042498ba4",
      "tree": "f3eeae885edce3bce1277456cf253500ed59f23f",
      "parents": [
        "045116b1f7590217b5920d06c9d8e8c86836e411",
        "754ef5960fa00ebdffd4058d4f3941e4222d5c19"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 09 14:31:50 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 09 14:31:50 2020 +0000"
      },
      "message": "Merge \"audio policy: default routing rules for BLE audio devices\" am: 754ef5960f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1473282\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I2197678ea083354e8896202831f9e4f0368cc6be\n"
    },
    {
      "commit": "754ef5960fa00ebdffd4058d4f3941e4222d5c19",
      "tree": "922101c380c21c310295befdbc84d2c8b773e9b1",
      "parents": [
        "8fb2e4ad98d5eccbbd3b917fee31c1b1a9a118dc",
        "d77befba846e74864fac3acc9e51ff4af91dc986"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 09 14:07:43 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 09 14:07:43 2020 +0000"
      },
      "message": "Merge \"audio policy: default routing rules for BLE audio devices\""
    },
    {
      "commit": "1d5300615c3afff3397a57f72d029f284ccb9059",
      "tree": "94c0623c23eca79a03dbe9ac704c322d8173278d",
      "parents": [
        "1d8c7fa97b31f7876ad734bcf7f6a7a8ee2b77e7",
        "3fdd9fb5c3a182d4640d02c60114a476af8c9ae3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 04 22:11:36 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 04 22:11:36 2020 +0000"
      },
      "message": "Merge \"Added mediametrics_service_fuzzer\" am: 3fdd9fb5c3\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1505333\n\nChange-Id: I135e7f0f2ef177dc6025b6e8fa08361e084ecadd\n"
    },
    {
      "commit": "3fdd9fb5c3a182d4640d02c60114a476af8c9ae3",
      "tree": "a8e081f24169dd3dc2a5cf33271b362e74b8f8c4",
      "parents": [
        "2fa70d54f69ad69db1c2c0a874295839f99f93ae",
        "ab3a6418bb2605a3dbb4dc42c773bcc246762942"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 04 21:53:02 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 04 21:53:02 2020 +0000"
      },
      "message": "Merge \"Added mediametrics_service_fuzzer\""
    },
    {
      "commit": "ab3a6418bb2605a3dbb4dc42c773bcc246762942",
      "tree": "bf03eacd2de782664895cbe1658ac675fe603831",
      "parents": [
        "691ebfea2dc3dab4daeafafe005933adea9fb4cb"
      ],
      "author": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Thu Oct 22 16:13:32 2020 +0530"
      },
      "committer": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Fri Dec 04 11:47:48 2020 +0530"
      },
      "message": "Added mediametrics_service_fuzzer\n\nTest: ./mediametrics_service_fuzzer\nBug: 172429215\n\nChange-Id: I9fe2b593124b80552c5bd8315e0a78018ce3ebbc\n"
    },
    {
      "commit": "e2aaf07831acd38c921f8dd96bc713c5d820597a",
      "tree": "c4c2c61e906e90389b1c188e0e15b153182b84c2",
      "parents": [
        "29582de4e2db24a71ebfca211cb18055a197ba6a",
        "1004c244b5ffcfdb5d828f1415c12a4b24e892f5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 21:45:51 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 03 21:45:51 2020 +0000"
      },
      "message": "Merge \"Fix exception when Release Audio Input Effect\" am: 1004c244b5\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1512719\n\nChange-Id: I73e7501dd17e7602dcebac85473f9eeef7827ed5\n"
    },
    {
      "commit": "1004c244b5ffcfdb5d828f1415c12a4b24e892f5",
      "tree": "07de0589f47c640b13cb358332cf9e8d1bcd6ed5",
      "parents": [
        "691ebfea2dc3dab4daeafafe005933adea9fb4cb",
        "56aa82b2b865d81b9bd7ae532d21224637edef59"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 21:05:13 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 03 21:05:13 2020 +0000"
      },
      "message": "Merge \"Fix exception when Release Audio Input Effect\""
    },
    {
      "commit": "56aa82b2b865d81b9bd7ae532d21224637edef59",
      "tree": "76c039da490ffa44bfba5e302e3575b7c00a8aac",
      "parents": [
        "d19faf826761db767dc8ee967149fe8939416850"
      ],
      "author": {
        "name": "wendy lin",
        "email": "wendy.lin@mediatek.com",
        "time": "Wed Dec 02 15:19:55 2020 +0800"
      },
      "committer": {
        "name": "Lin Lili",
        "email": "lili.lin@mediatek.com",
        "time": "Thu Dec 03 03:28:45 2020 +0000"
      },
      "message": "Fix exception when Release Audio Input Effect\n\nEffect is removed while user switch audio output device.\nWhen updating output device for record thread, exception happens.\nSolution is to get record thread lock before update output devices.\nHolding thread lock will keep effect not being removed while\nupdating devices.\n\nBug: 174714069\nTest: Audio Stress Test\nChange-Id: If831b2322bb02784b0a278abd9ba14b5150ff80b\n"
    },
    {
      "commit": "802793489675990aa90a446ecceaffbc4e081120",
      "tree": "8db7299c19371f7ef8ab2c2f1328dbdcf5311f4d",
      "parents": [
        "cbf8ba955c3d0c95f15791a72b0e29fae873fd02",
        "49a6d9c78aaa07ab83494d628cc6b7a2386a2b55"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Dec 03 03:18:52 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 03:18:52 2020 +0000"
      },
      "message": "Merge \"Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855\" into stage-aosp-master"
    },
    {
      "commit": "49a6d9c78aaa07ab83494d628cc6b7a2386a2b55",
      "tree": "70acc7a3307c66d6ac1b7ee5cc59d88ebfacad34",
      "parents": [
        "9fa7856094a8705be2061e532c36e74d103719b8",
        "55f730f7c1a0b5f963f47fdd65c43609a143f18c"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Dec 02 00:41:55 2020 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Dec 02 00:41:55 2020 -0800"
      },
      "message": "Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855\n\nBug: 172690556\nMerged-In: I72658443fde61aa5f10463fcc42772daf4143ed0\nChange-Id: Ifb9605a1f9407357ddc755551e2d1d51c7f09bfc\n"
    },
    {
      "commit": "46f16a9e7a3ced614ae5dfd6ac6e53e1971c7ce3",
      "tree": "2c4bcc8ae758fd636a042755cdd3915fcb1b3e79",
      "parents": [
        "be73c52729c8061cd86903007ab5483fd69f8175"
      ],
      "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": "Tue Dec 01 23:42:06 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\nMerged-In: I676bc7222474f2d366bfb4edcd14b83381d68083\n"
    },
    {
      "commit": "be73c52729c8061cd86903007ab5483fd69f8175",
      "tree": "a03c24135fa6e03660b2f5ca705ece0a4d787f27",
      "parents": [
        "dc6be0d5754e65ffa07fe8ef04ca4d28c2c0268b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 10 21:35:52 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 01 23:41:03 2020 +0000"
      },
      "message": "Fix buildCommonTypesStructureFile.py script\n\nThe PFW script buildCommonTypesStructureFile.py got broken\nby the change which had moved many enums to audio-hal-enums.h\nheader. This change makes necessary adjustments to restore\nits functionality and preserve the generated PFW config file\ncontents.\n\nBug: 142480271\nBug: 172641529\nTest: m\nTest: atest libmedia_helper_tests\nTest: diff vendor/etc/parameter-framework contents for a device\nChange-Id: I15db2ce6bf9c408b96b6921a45093e2849826e24\nMerged-In: I15db2ce6bf9c408b96b6921a45093e2849826e24\n"
    },
    {
      "commit": "dc6be0d5754e65ffa07fe8ef04ca4d28c2c0268b",
      "tree": "33e22ce5f12c4b75414dfa242de2190ae0515091",
      "parents": [
        "d19faf826761db767dc8ee967149fe8939416850"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Sep 25 23:03:05 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 01 23:39:39 2020 +0000"
      },
      "message": "Use system/audio to/from string converters in TypeConverter\n\nUse of system functions eliminates the need for listing all enum\nvalues in TypeConverter tables.\n\nSlight changes in the converting functions:\n\n1. \u0027channelMaskFromString\u0027 function now also accepts indexed\n   masks.\n2. Fixed UB in \u0027formatFromString\u0027 function.\n3. Removed \u0027deviceFromString\u0027 function, use\n   \u0027DeviceConverter::fromString\u0027 instead.\n\nReplaced direct includes of \u0027system/audio-base.h\u0027 with\nincludes of \u0027system/audio.h\u0027.\n\nBug: 142480271\nTest: m\nTest: atest libmedia_helper_tests\nChange-Id: Ia0e725026be80621bdc797299e63e134419b2b3d\nMerged-In: Ia0e725026be80621bdc797299e63e134419b2b3d\n"
    },
    {
      "commit": "7cd031828f1c3873ee6868c79e621da9988bebcf",
      "tree": "e262d1f52155d1b2090cbc631a646fc8a3ef8ebe",
      "parents": [
        "a8460237165976738ba9dee5ae74780c45005926",
        "e3b59ac285356dfe1bd416d46672fe0b1f10dc6f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 01 17:06:51 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 01 17:06:51 2020 +0000"
      },
      "message": "Merge \"Convert mask types from uint32_t to enum type\""
    },
    {
      "commit": "f4a007b4c3d036c7767a83e0c1a1a560a32f9763",
      "tree": "aed072aef4f16e57dcb1109c2336598544600aa5",
      "parents": [
        "7aacb78d8d049af5e9949de9fc34be4650b5b176"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Wed Nov 25 02:49:32 2020 -0800"
      },
      "committer": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Wed Nov 25 02:59:41 2020 -0800"
      },
      "message": "Migrate imports to use proto_logging\n\nBug: 167962588\nTest: m -j\nChange-Id: Ib40fe8cb03e52de375cf45ac10b11ed67b2f4196\nMerged-In: Ib40fe8cb03e52de375cf45ac10b11ed67b2f4196\n"
    },
    {
      "commit": "e3b59ac285356dfe1bd416d46672fe0b1f10dc6f",
      "tree": "cc260c7b2867101599cdba75b53b4e0578c7345f",
      "parents": [
        "7aacb78d8d049af5e9949de9fc34be4650b5b176"
      ],
      "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": "Tue Nov 24 22:56:29 2020 +0000"
      },
      "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\nMerged-In: I42506484b1d0b0482618b7314fad4c8012a06fb4\n"
    },
    {
      "commit": "dd68139d0fcbbd8923cabbee4bb35df49900556a",
      "tree": "0e5cd5c06cd18c3a4f4a4aed414ce84e15fd8d30",
      "parents": [
        "fe4094eacee9c5e248b2d8ac87dff51b46a3d972"
      ],
      "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": "Sat Nov 21 01:12:40 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\nMerged-In: I3eef9bf1e9bcc24a869355724aa333c1f93b4b31\n"
    },
    {
      "commit": "fe4094eacee9c5e248b2d8ac87dff51b46a3d972",
      "tree": "7f52b4f8cd79228f02c38eebd13e39adf2bedc19",
      "parents": [
        "aa2e608a99083261cf60da0ee44068f6e0b605c3",
        "1d5f7edc2f5f39ab3685ca995c8959af8d59b6dc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 20 20:22:46 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 20 20:22:46 2020 +0000"
      },
      "message": "Merge \"libmediametrics and libmediametricsservice: Updated Android.bp\""
    },
    {
      "commit": "8448c4b30b45b04cb615e6114015bb34f1619da2",
      "tree": "9494cee51f448ab9b4d716e3b147efffea715a76",
      "parents": [
        "e1877efb7964bcb3be72e3ebea75505ca9c4a6e8"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Aug 14 20:43:06 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Nov 20 01:31:09 2020 +0000"
      },
      "message": "Add Audio Policy Manager config files for HAL V7.0\n\nIn Audio HAL V7.0 lists of sample rates and channel\nmasks are written in the XSD-compatible way using\nspace as delimiter (instead of comma).\n\nBug: 142480271\nTest: m\nChange-Id: I0e5a15d65974421443c00d4f0edaf0514a71673f\nMerged-In: I0e5a15d65974421443c00d4f0edaf0514a71673f\n"
    },
    {
      "commit": "1d5f7edc2f5f39ab3685ca995c8959af8d59b6dc",
      "tree": "fafdb242298abb4d2e461bc0eea11b8830c430a2",
      "parents": [
        "85486fc425122b2b1984bf323822a7b0933d8158"
      ],
      "author": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Tue Oct 13 14:09:26 2020 +0530"
      },
      "committer": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Thu Nov 19 15:21:09 2020 +0530"
      },
      "message": "libmediametrics and libmediametricsservice: Updated Android.bp\n\nUpdated to  build both static and shared library for both the libraries.\n\nTest: Build libmediametrics\nTest: Build libmediametricsservice\nBug: 172429215\n\nChange-Id: I2d2043cab0cc72a36df053005edc6f9adcb1ca4e\n"
    },
    {
      "commit": "82fa8db39f2fe597da83738006176b6b16207342",
      "tree": "4ce3ebb7ab9b64423081ecceef0fd2342e9fd955",
      "parents": [
        "75ea8d08bf990fa1d8c162865fd47f7be2b88c44",
        "f286326c39b576c2a1a81cc12dc3074bcbe53e7c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 14 01:35:58 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 14 01:35:58 2020 +0000"
      },
      "message": "Merge \"Add componentid for fuzzers\""
    },
    {
      "commit": "f286326c39b576c2a1a81cc12dc3074bcbe53e7c",
      "tree": "03e3e954944c8418c356b0fa508b77e359de39f8",
      "parents": [
        "44c331ff9fab7598ee7084fe782d5560ebda9cda"
      ],
      "author": {
        "name": "Branden Archer",
        "email": "brarcher@google.com",
        "time": "Thu Nov 12 20:08:49 2020 -0800"
      },
      "committer": {
        "name": "Branden Archer",
        "email": "brarcher@google.com",
        "time": "Fri Nov 13 16:49:22 2020 +0000"
      },
      "message": "Add componentid for fuzzers\n\nBug: 170243740\nTest: Builds\nChange-Id: If12bea31f1c876ced1d582174449ab9ceb687b77\n"
    },
    {
      "commit": "e430d28c3459886b5cf6c606ef6660222ddf8e46",
      "tree": "0f6c5a71b10fd62859a0b963266df9b7b1d951aa",
      "parents": [
        "bb069027e40d2ea33fc2f5175872026f8dcbc365",
        "44c331ff9fab7598ee7084fe782d5560ebda9cda"
      ],
      "author": {
        "name": "Branden Archer",
        "email": "brarcher@google.com",
        "time": "Fri Nov 13 07:41:02 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 07:41:02 2020 +0000"
      },
      "message": "Merge \"Add fuzzer for DepthPhotoProcessor\""
    },
    {
      "commit": "bb069027e40d2ea33fc2f5175872026f8dcbc365",
      "tree": "1928811897d8ad50506d22d84f0c7fa4c933ac36",
      "parents": [
        "f6bcf1b2d871f6b4e047bdac449ed7c3aa5617f9",
        "532b560657fc895b0b453e9f8b1f16357245da8c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 13 06:49:11 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 06:49:11 2020 +0000"
      },
      "message": "Merge \"Add fuzzer for DistortionMapperFuzzer\""
    },
    {
      "commit": "44c331ff9fab7598ee7084fe782d5560ebda9cda",
      "tree": "bc553f00f1301e257efad4eb365fd591484e3653",
      "parents": [
        "532b560657fc895b0b453e9f8b1f16357245da8c"
      ],
      "author": {
        "name": "Branden Archer",
        "email": "brarcher@google.com",
        "time": "Fri Oct 30 13:49:17 2020 -0700"
      },
      "committer": {
        "name": "Branden Archer",
        "email": "brarcher@google.com",
        "time": "Thu Nov 12 13:09:40 2020 -0800"
      },
      "message": "Add fuzzer for DepthPhotoProcessor\n\nThis fuzzer is a distilled version of the DepthProcessorTest\nunit test. The corpus comes from the corpus for libexif in\ntools/security/fuzzing/orphans/libexif/corpus\n\nBug: 170243740\nTest: Builds and runs on emulator\nChange-Id: I5b5113333242052192958d57bec73cbc47eb195c\n"
    },
    {
      "commit": "532b560657fc895b0b453e9f8b1f16357245da8c",
      "tree": "476b887b7eb5ef7d544b3525afe5a0d573218977",
      "parents": [
        "ebd91fc559603446173ccce322b51d140884fb5c"
      ],
      "author": {
        "name": "Branden Archer",
        "email": "brarcher@google.com",
        "time": "Fri Oct 30 13:50:01 2020 -0700"
      },
      "committer": {
        "name": "Branden Archer",
        "email": "brarcher@google.com",
        "time": "Thu Nov 12 13:09:40 2020 -0800"
      },
      "message": "Add fuzzer for DistortionMapperFuzzer\n\nThis fuzzer is a distilled version of the DistortionMapperTest\nunit test.\n\nBug: 170243740\nTest: Builds and runs on emulator\nChange-Id: I254a3bef5fc6bcf300fdb64833817645fba8e920\n"
    },
    {
      "commit": "ec2a22e4e07fac29770898468b48a47c19be1d5e",
      "tree": "4947ea969ca64512c842c721fa4c69b29a4f8ed6",
      "parents": [
        "bc3923f8ef985c4214d8af4d7d54a818b3903ff0"
      ],
      "author": {
        "name": "Sachin Kumar Garg",
        "email": "sachin.kumargarg@ittiam.com",
        "time": "Mon Oct 26 10:16:58 2020 +0530"
      },
      "committer": {
        "name": "Ayushi Khopkar",
        "email": "ayushi.khopkar@ittiam.com",
        "time": "Tue Nov 10 09:23:03 2020 +0530"
      },
      "message": "Added media_log_fuzzer\n\nTest: ./media_log_fuzzer\nBug: 171466249\n\nChange-Id: Id09238442eec7e144ff9e68892c5e037e7dc2269\n"
    },
    {
      "commit": "bc3923f8ef985c4214d8af4d7d54a818b3903ff0",
      "tree": "feb17f11f6b483c0b6d047961de3b60a48ef1c92",
      "parents": [
        "d578bbd330f316ddfe5e48dd3357f1666767082d",
        "65926ef91d1f8805caa885bee24d0a6722995336"
      ],
      "author": {
        "name": "Max Spector",
        "email": "mspector@google.com",
        "time": "Tue Nov 10 00:35:19 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 10 00:35:19 2020 +0000"
      },
      "message": "Merge \"libmedialogservice: Updated to build both static and shared library\""
    },
    {
      "commit": "d578bbd330f316ddfe5e48dd3357f1666767082d",
      "tree": "7ae6a9f18c09016a1f0fedff54b12c1f4fa92934",
      "parents": [
        "994309188485380eee349f57d2925cef58341674",
        "330845f212fc280b9023300d10892e0403438ea1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 09 18:07:08 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 09 18:07:08 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Change timeout for FdToString.\""
    },
    {
      "commit": "330845f212fc280b9023300d10892e0403438ea1",
      "tree": "51319fed5d0cbd1f312f6d25e0ef3ae8575fd3d7",
      "parents": [
        "bf1cb79c2f2cc2e26a77d6395e130af63d92d9f7"
      ],
      "author": {
        "name": "Jaideep Sharma",
        "email": "jaidshar@codeaurora.org",
        "time": "Thu Oct 22 12:14:58 2020 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 06 18:30:44 2020 -0800"
      },
      "message": "AudioFlinger: Change timeout for FdToString.\n\nCurrent implementation waits for 200 msec,\nwhich leads to delay during boot time and other cases\nwhere we close outputs and inputs.\nReduce this time to 2 msecs.\n\nBug: 171365312\nBug: 172293721\nCRs-Fixed: 2776028\nTest: See bug for specifics on device and test.\nTest: adb shell dumpsys media.audio_flinger\nChange-Id: Ia08e8431d36e168bb4a2301cfbd9545f354fa811\n"
    },
    {
      "commit": "fd56e81552f10daf76187532a9b6367dfb932864",
      "tree": "f933198cb061f749ba7b13d116d00ed15f09adca",
      "parents": [
        "b7c14e4cd8885a7247ce5c130516368328f5b7b2"
      ],
      "author": {
        "name": "Dean Wheatley",
        "email": "dwhea@dolby.com",
        "time": "Fri Nov 06 22:32:21 2020 +1100"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Nov 07 00:29:16 2020 +0000"
      },
      "message": "Fix signed integer overflow\n\nThe operation \"mRsmpInRear +\u003d framesRead;\" would overflow\nthe 32-bit variables within 12 minutes for MSD HAL StreamIn IEC61937\nMAT 2.0 framed streams (that generate 61440 bytes per 20 milliseconds).\n\nTest: enable integer_overflow diagnostics, enable MSD HAL with IEC\n      MAT patch, wait for 12 minutes for UBSan crash, and check record\n      thread frame counts have exceeded 2^31.\nChange-Id: I9925bf39a1e3d910850efef859e0a412962391ac\n"
    },
    {
      "commit": "65926ef91d1f8805caa885bee24d0a6722995336",
      "tree": "dcd51a9cace9d9b690281148e7a5d72263097b03",
      "parents": [
        "b7c14e4cd8885a7247ce5c130516368328f5b7b2"
      ],
      "author": {
        "name": "Sachin Kumar Garg",
        "email": "sachin.kumargarg@ittiam.com",
        "time": "Mon Oct 26 10:15:12 2020 +0530"
      },
      "committer": {
        "name": "Ayushi Khopkar",
        "email": "ayushi.khopkar@ittiam.com",
        "time": "Fri Nov 06 15:54:50 2020 +0530"
      },
      "message": "libmedialogservice: Updated to build both static and shared library\n\nTest: Build libmedialogservice\nBug: 171466249\n\nChange-Id: I4258eaaeb6fb8650a7d724bf7381f4aed07df318\n"
    },
    {
      "commit": "4c34434aff546fd6c0414e6e6c658eac1784c59f",
      "tree": "1609e6f9deeeb26fac19ff19bb76fdd8adadad69",
      "parents": [
        "adec76d0eb5889bc6675069548df2ee156d59414"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Fri Sep 25 18:02:26 2020 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 28 18:28:43 2020 +0000"
      },
      "message": "audiopolicy: HW Bridge Sink matching rule\n\nIn order to use an HW Bridge, audio policy configuration file\nmust declare that a given sink may be reacheable from a given source\ndevice.\nThe declaration is made using the \"Tag Name\", which is a human readable\nname given to a device / mix Port.\n\nThis CL adds an equality operator based only on this tag name, which\nidentify uniquely the device port.\n\nThis CL manages also dynamic device cases, the tagName shall be assigned\nto all dynamically created device.\n\nTest: adb shell ./data/AudioPolicyEmulatorTests/AudioPolicyEmulatorTests --gtest_filter\u003d*VoiceCallBridgingTest*\n\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\nChange-Id: I0fc6435dcc5f40634be5392dd92dcd2f377809c2\n"
    },
    {
      "commit": "d77befba846e74864fac3acc9e51ff4af91dc986",
      "tree": "449aefdfd3d70fb2e8c79354ede7964b3911b879",
      "parents": [
        "80cd5274e93b1ee4389619c6a6aa1716d60aa671"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 07 08:42:28 2020 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Mon Oct 26 14:16:57 2020 +0000"
      },
      "message": "audio policy: default routing rules for BLE audio devices\n\nAdd default audio routing rules for BLE audio devices in audio\npolicy manager engine.\n\nAlso remove isA2dpSupported() helper: checking if a2dp is supported\nbefore selecting an A2DP device is redundant as the device connection\nwould have been rejected in the first place if A2DP was not supported.\n\nThe implementation for communication use cases is not final until a new API is\nadded to control routing to BLE audio similarly to what exists for\nBluetooth SCO or speakerphone.\n\nBug: 161358428\nTest: regression on audio playback and capture routing, especially with\nhearing aid, Bluetooth A2DP and Bluetooth SCO.\n\nChange-Id: If07150dc4495aeee5e796d891fd3ce98965bf5f9\nMerged-In: If07150dc4495aeee5e796d891fd3ce98965bf5f9\n"
    },
    {
      "commit": "d31de2b8a3f7ecc17ab9d476ff8e15c0e334985f",
      "tree": "aba28e05c5d2d7bf298859b7b6151f5c43e2493e",
      "parents": [
        "a2054232ab303f38b4fbbe8d1a73302254f32d4e",
        "c56875f2eca1be6322cc56d22fc7d8e95a298a3f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 13 03:31:41 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 13 03:31:41 2020 +0000"
      },
      "message": "Merge \"Merge ab/6749736 in stage.\" into stage-aosp-master"
    },
    {
      "commit": "c56875f2eca1be6322cc56d22fc7d8e95a298a3f",
      "tree": "c7815d87fe139577da298073a18c449738c6dc41",
      "parents": [
        "346ea4a53844a1b2cb03a72599d9e4dd3ee2ecf3",
        "3d232f21110c3bb1b2d077ba8a96698303b5cba7"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Oct 08 23:15:20 2020 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Oct 08 23:15:20 2020 -0700"
      },
      "message": "Merge ab/6749736 in stage.\n\nBug: 167233921\nMerged-In: I869dc9ae03ddf2391bb1ee9c595cacd9c4bcc552\nChange-Id: I59223c2640cc074c3be60f02f310f9341be976e2\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "6cdb4103d124bf8a6fc301bf4968130d3b49a707",
      "tree": "a83cde48426283e10c84e3945337b9a541600c2f",
      "parents": [
        "f2095d7ff30d3f2475ec695ae6455a638500046e",
        "3390336393da860e2fbdcddaf9af1724c6877ec9"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sat Aug 22 08:16:37 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Aug 22 08:16:37 2020 +0000"
      },
      "message": "Camera: Fix request metadata override for repeating request am: d1d051a002 am: 3390336393\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12419439\n\nChange-Id: Ice8a9751497405c909d4545df349f5aa9f4cc060\n"
    },
    {
      "commit": "3e2bdbcf897baca27f3798b25f62873035f41ed1",
      "tree": "004ec1bb52ce912a47ccfb249d14dc9aa50c16d7",
      "parents": [
        "a34bbf8b6f2f1a7379dec4fdb0c5a0061bb18af2",
        "d1d051a0029fb998c5ced7dabfde1c963b330784"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sat Aug 22 08:01:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Aug 22 08:01:47 2020 +0000"
      },
      "message": "Camera: Fix request metadata override for repeating request am: d1d051a002\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12419439\n\nChange-Id: I7cb3e6248213415fada6b388982c3f6c60164bcb\n"
    },
    {
      "commit": "3390336393da860e2fbdcddaf9af1724c6877ec9",
      "tree": "3360232b0ee1e866f0317d64ba878f1c5519278b",
      "parents": [
        "402cd4d02103ac2a3b05acded851aaee3e2bc40b",
        "d1d051a0029fb998c5ced7dabfde1c963b330784"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sat Aug 22 08:01:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Aug 22 08:01:21 2020 +0000"
      },
      "message": "Camera: Fix request metadata override for repeating request am: d1d051a002\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12419439\n\nChange-Id: I56bd628ee9bf93d700e07f53ae1052e74095c936\n"
    },
    {
      "commit": "d1d051a0029fb998c5ced7dabfde1c963b330784",
      "tree": "a3626476114ededd11260982d4723460ca2a3ef0",
      "parents": [
        "44f9ee26f6cd904c96492c58cbef616eeecb6cb0"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Aug 20 15:42:23 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Aug 20 16:44:13 2020 -0700"
      },
      "message": "Camera: Fix request metadata override for repeating request\n\n- For repeating request, same metadata structure is used for multiple\nrequests sent to camera HAL. And now that the camera framework overrides\nZOOM_RATIO value, we cannot reliably derive whether the application sets\nZOOM_RATIO or not by repeatedly querying its value.\n\n- For DistortionCorrection, zoomRatio, and rotateAndCrop, avoid\nduplicating capture request update for repeating request.\n\nTest: GoogleCamera zoomed still capture, Camera CTS\nBug: 164960160\nChange-Id: Ib4fdf5056c286a5bd02cd334eb1ca8644598d676\n"
    },
    {
      "commit": "cbf9fbdcb5739b88c2f8b81ed2f7ad98071ad405",
      "tree": "05e07cb32eed0fb396763f57bfea592e9fad4841",
      "parents": [
        "acba2b916d2be52b85307c55d7400beafb370b02",
        "ac71d9d2e53f58058228b1e20aac362dc847b16b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 20 19:15:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 20 19:15:14 2020 +0000"
      },
      "message": "Merge \"AudioPolicy: manager: force gain on startSource when using HW Gain\" am: ae1df9155c am: be7cabc2e0 am: a818367360 am: ac71d9d2e5\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1296441\n\nChange-Id: Idecc8411630198ae3ba5dddf73a4f952c7731dbc\n"
    },
    {
      "commit": "ac71d9d2e53f58058228b1e20aac362dc847b16b",
      "tree": "6313174dff7755c884316a11c5b1adeadee64ba2",
      "parents": [
        "7dd78282f0963605ab978ddd3cfd38847e5d1442",
        "a818367360c9262c56d0317d4f2ee76057d8c606"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 20 19:01:57 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 20 19:01:57 2020 +0000"
      },
      "message": "Merge \"AudioPolicy: manager: force gain on startSource when using HW Gain\" am: ae1df9155c am: be7cabc2e0 am: a818367360\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1296441\n\nChange-Id: I213aa0ad8905a82e6c8679c8d0eec2d522c2e10c\n"
    },
    {
      "commit": "a818367360c9262c56d0317d4f2ee76057d8c606",
      "tree": "ffa16c1cc2bd1a706fc6c08ba13e0c34f55061eb",
      "parents": [
        "693f515a9ee576dbad44413c06802a8aafbe4ccb",
        "be7cabc2e0681e4b30afed1587be71f3c3e90b25"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 20 18:40:32 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 20 18:40:32 2020 +0000"
      },
      "message": "Merge \"AudioPolicy: manager: force gain on startSource when using HW Gain\" am: ae1df9155c am: be7cabc2e0\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1296441\n\nChange-Id: I6a5ad41a3b34ca3a2ca209352100c868b277b007\n"
    },
    {
      "commit": "be7cabc2e0681e4b30afed1587be71f3c3e90b25",
      "tree": "bb8701737348b08c6f1c64e99d850121a2a56a84",
      "parents": [
        "49b8da0ed5849a652b95f4ea2fa44168fda02e63",
        "ae1df9155cd8244cc716a2b1fdfca9975220453d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 20 18:27:20 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 20 18:27:20 2020 +0000"
      },
      "message": "Merge \"AudioPolicy: manager: force gain on startSource when using HW Gain\" am: ae1df9155c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1296441\n\nChange-Id: I7b4cb45cde5ddfde72dde7453640520199389c7e\n"
    },
    {
      "commit": "ae1df9155cd8244cc716a2b1fdfca9975220453d",
      "tree": "0736254f088e27512ee83a33a2e73c727ed27f7d",
      "parents": [
        "246b31dc7641b7e57f113fb89e429c75ed3d5b68",
        "d11442b6e4521d825779dd55494509e046f2c9f8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 20 18:13:16 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 20 18:13:16 2020 +0000"
      },
      "message": "Merge \"AudioPolicy: manager: force gain on startSource when using HW Gain\""
    },
    {
      "commit": "d4d9157853bf7516c778060702646b482d1c7e86",
      "tree": "f5583f547d0cc704e43223ae1601f248082a0356",
      "parents": [
        "f4603403a5c749131480b300b18c81ce2a00e23d",
        "0cc7be880266441ac628cea0d4e9bf9272fd7db4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 18 23:36:42 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 23:36:42 2020 +0000"
      },
      "message": "Merge \"audioflinger: Remove effect from hal before closing.\" am: c961cd4d0c am: 7e5965b810 am: 52148b83c5 am: 0cc7be8802\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1403449\n\nChange-Id: I45a7ea255673bd55097e257d9b4cc4a4ee78326d\n"
    },
    {
      "commit": "0cc7be880266441ac628cea0d4e9bf9272fd7db4",
      "tree": "03dabe338937b47708a3afd5130135e90b5dd94b",
      "parents": [
        "47c064df2dceddcae824bc3cb3188a59daaafda7",
        "52148b83c5c6e7b038b9a35d690f49e1ca0b4a3c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 18 23:25:02 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 23:25:02 2020 +0000"
      },
      "message": "Merge \"audioflinger: Remove effect from hal before closing.\" am: c961cd4d0c am: 7e5965b810 am: 52148b83c5\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1403449\n\nChange-Id: I08bb4dc5c31a69a8651bb762fd977d16bee3c597\n"
    },
    {
      "commit": "52148b83c5c6e7b038b9a35d690f49e1ca0b4a3c",
      "tree": "7b0dcffd8bb82151eda2b9372381dfe31da7ad63",
      "parents": [
        "f34e99d5c0042c53ce21435e5800c33beec333a3",
        "7e5965b8103dff4297bcdb4b294db7cbcf8b2fe1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 18 23:12:20 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 23:12:20 2020 +0000"
      },
      "message": "Merge \"audioflinger: Remove effect from hal before closing.\" am: c961cd4d0c am: 7e5965b810\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1403449\n\nChange-Id: I912ba6b721ff8495566b8ba177a3eaa883f771a3\n"
    },
    {
      "commit": "7e5965b8103dff4297bcdb4b294db7cbcf8b2fe1",
      "tree": "8ea0068962fea6d434688c9bc2f9af29229dc7fd",
      "parents": [
        "54a220bfb837326d0ff8b8b414e7f976799ab067",
        "c961cd4d0cdf8370120eef385e80636a65a3b1c7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 18 22:54:58 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 22:54:58 2020 +0000"
      },
      "message": "Merge \"audioflinger: Remove effect from hal before closing.\" am: c961cd4d0c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1403449\n\nChange-Id: I330c9384b9a94fc9339cc01af6b9be4f89aa658f\n"
    },
    {
      "commit": "ed8688022959f9ef137be1b476fb8730be82a7dc",
      "tree": "8c0baddb4e3430d2b4e9b64f25d2c5d9cb00d50a",
      "parents": [
        "7a0123c6e62870f3a3e4ae9daa625e1a2a78d30c"
      ],
      "author": {
        "name": "Jaideep Sharma",
        "email": "jaidshar@codeaurora.org",
        "time": "Fri Aug 07 14:09:16 2020 +0530"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Aug 18 20:44:57 2020 +0000"
      },
      "message": "audioflinger: Remove effect from hal before closing.\n\n- For non pinned effects, when the handle is removed the effect interface\n  is closed, but this leads to not resetting the state of hal effects.\n  Don\u0027t close the interface from here, as it will be handled in\n  subsequent removeEffect_l.\n\n- Clean up code related to removeHandle_l.\n\nCRs-Fixed: 2746289\nBug: 163285058\nTest: Solo tester with effects\nChange-Id: I2a9b35f5f73e535afd4fe77823b9a8ba16271685\n"
    },
    {
      "commit": "706442716f0a40181e571df1b33dd9d91a852d63",
      "tree": "47b4ebc6e22d44dfceb82a8ba2e5654091cf2e30",
      "parents": [
        "9227817b8d6c0e70f0857a5f7fe55928710d9a58",
        "9cb4734a38156b243932fa29517d186c8cf41e00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 18 16:05:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 16:05:19 2020 +0000"
      },
      "message": "Merge \"Remove ununsed #include.\" am: 62eef9adb8 am: 34a6953ffd am: 98749a0c37 am: 9cb4734a38\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1402731\n\nChange-Id: Ia0753d55f41d4c91cf72505b0aabe1aac01c7089\n"
    },
    {
      "commit": "9cb4734a38156b243932fa29517d186c8cf41e00",
      "tree": "cae2a18e4e4805be460b175a650195b7886e081e",
      "parents": [
        "3264ef4230eeaa5cee3009222297ab2d211f165d",
        "98749a0c37174d8a87a88419876d0c426df4c2df"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 18 15:51:01 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 15:51:01 2020 +0000"
      },
      "message": "Merge \"Remove ununsed #include.\" am: 62eef9adb8 am: 34a6953ffd am: 98749a0c37\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1402731\n\nChange-Id: I8071577e8cac4110a64f8b6fae19373344689340\n"
    }
  ],
  "next": "98749a0c37174d8a87a88419876d0c426df4c2df"
}
