)]}'
{
  "log": [
    {
      "commit": "d52a28ca2c19db7d10bc6c4639a8bd78e1afd5f1",
      "tree": "c687eda00e2c45823cdb1857c64ad48b67578819",
      "parents": [
        "615364792b6fe07869c685e4bccbf7837e1ba97b"
      ],
      "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": "Tue Aug 25 13:33:12 2020 -0700"
      },
      "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"
    },
    {
      "commit": "0f56dec6e91bb3c0a3a6f70f783af8be8cf88d2b",
      "tree": "52f19985a4598d82533ca46d2eebbd2b23449374",
      "parents": [
        "256330acc89642b29b285017de9e0ca50df29c3c",
        "6cdb4103d124bf8a6fc301bf4968130d3b49a707"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sat Aug 22 08:26:16 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Aug 22 08:26:16 2020 +0000"
      },
      "message": "Camera: Fix request metadata override for repeating request am: d1d051a002 am: 3390336393 am: 6cdb4103d1\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12419439\n\nChange-Id: Ic0ecba7c6b975d15d2907d555127c6b70704a966\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": "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": "b36b4accf36ba413529a0b6735802a65f42c2f7c",
      "tree": "2a2ed23141d96dc9e9b64b2ff5d3ccbe05af5ac8",
      "parents": [
        "36f99424e9904b39adeb193273083db176ce9fd9"
      ],
      "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": "Fri Aug 21 12:50:41 2020 -0700"
      },
      "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"
    },
    {
      "commit": "36f99424e9904b39adeb193273083db176ce9fd9",
      "tree": "97d8da35c94cb518b8d4101ea80759782f2283e6",
      "parents": [
        "8243e247a783059f9a64468186ee04d32a5e9e01",
        "9289bde5b9583a8c757bed4041238649aa146378"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 21 00:55:39 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 21 00:55:39 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Check Effect HAL version for device effect compatibility\""
    },
    {
      "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": "47480fbfc2346a541b4513d93553a08bc6273f47",
      "tree": "bee95b2c1c98576f056a91299cd24c7ee9e11fe4",
      "parents": [
        "8dff4ae2e40d385869cdb28be4af50b615af37a2",
        "cbf9fbdcb5739b88c2f8b81ed2f7ad98071ad405"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 20 19:24:20 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 20 19:24:20 2020 +0000"
      },
      "message": "Merge \"AudioPolicy: manager: force gain on startSource when using HW Gain\" am: ae1df9155c am: be7cabc2e0 am: a818367360 am: ac71d9d2e5 am: cbf9fbdcb5\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1296441\n\nChange-Id: Id874fbf1875ab66c5ba241a8194f307bab4cae2e\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": "8dff4ae2e40d385869cdb28be4af50b615af37a2",
      "tree": "054748ae814437055247bd047a7c06945afa1cc0",
      "parents": [
        "f1a36052bf6c752cec6b60bec058971765bdfa7b",
        "58f5ce146a8c2b25cc3bbd18df6e264addda2684"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Aug 20 14:48:28 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 20 14:48:28 2020 +0000"
      },
      "message": "Merge changes Ic24aca3e,If8f6f6f1\n\n* changes:\n  aaudio: prevent onAudioDeviceUpdate past close\n  aaudio: fix crash from callbacks during close\n"
    },
    {
      "commit": "58f5ce146a8c2b25cc3bbd18df6e264addda2684",
      "tree": "cf2893c9d5da9aa989c88cf2fa8b14dad6d3861a",
      "parents": [
        "320910fcf1e7d7729f37f95f591093191414e73f"
      ],
      "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 Aug 20 01:03:06 2020 +0000"
      },
      "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\nBug: 161914201\nBug: 163165126\nBug: 164411271\nTest: see bug for repro of the crash\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: Ic24aca3eaf5d1610504bb89c06001a37d0d4a1c3\n"
    },
    {
      "commit": "f1a36052bf6c752cec6b60bec058971765bdfa7b",
      "tree": "c0704722e3353375e96e636be4577e64cd2065aa",
      "parents": [
        "4a603cd0594d22d1a3a2bae5bb22009343d4b5bb"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 19 14:33:31 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 19 14:33:31 2020 -0700"
      },
      "message": "Use ALOGD when fails setting event callback.\n\nThe codec changed callback is not mandatory. In that case, it is not\nconsidered as error when fails setting event callback. Use ALOGD instead\nas the information will be useful to debug codec changed event.\n\nBug: 165629960\nTest: make\nChange-Id: I077c7a75acfb474344cd278394a778176471f224\n"
    },
    {
      "commit": "aa8b2aae0c59c40a629e1cd7fa0237d5034a41d6",
      "tree": "16ae59a774c5719bd1d398e9ce36a95c63d4c557",
      "parents": [
        "f266417b07eb474887b3b9cdb6f45631764305ee",
        "d4d9157853bf7516c778060702646b482d1c7e86"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 18 23:55:58 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 23:55:58 2020 +0000"
      },
      "message": "Merge \"audioflinger: Remove effect from hal before closing.\" am: c961cd4d0c am: 7e5965b810 am: 52148b83c5 am: 0cc7be8802 am: d4d9157853\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1403449\n\nChange-Id: I1ef5f4e1600eda4f5ec0c92c4c24525f7de755ce\n"
    },
    {
      "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": "9289bde5b9583a8c757bed4041238649aa146378",
      "tree": "a274b597596e4da75b37b1d7d54dbccb19f9202e",
      "parents": [
        "242cf3379de223e0ae5c9ceeba05e6a397b44e2d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 18 12:49:17 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 18 14:50:44 2020 -0700"
      },
      "message": "AudioFlinger: Check Effect HAL version for device effect compatibility\n\nAdd missing check on Effect HAL version to determine if an\nimplementaiton supports device effects. Only HALs after V 6.0\nsupport this feature.\n\nBug: 164077570\nTest: atest DeviceEffectTest#testCreateDeviceEffect\nChange-Id: I9a72ed92a07099e9bad10cdf4474c7b918dce121\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": "320910fcf1e7d7729f37f95f591093191414e73f",
      "tree": "e7052b3542898e68b5dbe5f5785ef0a19946bc2b",
      "parents": [
        "f356189f05884926290b1f7920241ef15674cbc6"
      ],
      "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": "Tue Aug 18 18:51:03 2020 +0000"
      },
      "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\n"
    },
    {
      "commit": "d3b79ff2569d99017a4db733a025db5a253f2657",
      "tree": "a18d1f1165fb3c4b6641d81f869ada870e849e53",
      "parents": [
        "7c11c55958faf7fadcf0ec504c6679d8febcb158",
        "8f262df7238502942ff5745970eb98ed2b863d53"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 18 18:27:16 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 18 18:27:16 2020 +0000"
      },
      "message": "Merge changes from topic \"audio-hal-7\"\n\n* changes:\n  Add Audio Policy Manager config files for HAL V7.0\n  Temporarily disable Audio HAL V7 modules\n  Add Audio HAL V7\n"
    },
    {
      "commit": "7c11c55958faf7fadcf0ec504c6679d8febcb158",
      "tree": "556c8e09feafcc3af9612f374ad891cb5fd59a25",
      "parents": [
        "d100fa2bca15d10766c414e9449fd3aa1a7f50b7",
        "9cd898172de61db05bc49b93d5d8f822bc2fa6f5"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Tue Aug 18 16:41:31 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 18 16:41:31 2020 +0000"
      },
      "message": "Merge changes from topic \"manual2aidl\"\n\n* changes:\n  Convert IEffect and IEffectClient to AIDL\n  Add a standardized shared memory type\n"
    },
    {
      "commit": "d100fa2bca15d10766c414e9449fd3aa1a7f50b7",
      "tree": "2ec18904f6b783f54d80f19fb385395a0da7a654",
      "parents": [
        "1d9dfee75d919d40de395c01dab67590a1b15807",
        "706442716f0a40181e571df1b33dd9d91a852d63"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 18 16:17:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 16:17:07 2020 +0000"
      },
      "message": "Merge \"Remove ununsed #include.\" am: 62eef9adb8 am: 34a6953ffd am: 98749a0c37 am: 9cb4734a38 am: 706442716f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1402731\n\nChange-Id: I6f1868705eab25d4c893093142798c6c84da41d9\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"
    },
    {
      "commit": "98749a0c37174d8a87a88419876d0c426df4c2df",
      "tree": "1110646c4dbda36b4af21a462f7fc1304626f7df",
      "parents": [
        "f917fa30ab27632ec006ea52165fb7fd30a93349",
        "34a6953ffd6a7e92426583353f52b5ee33b16c64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 18 15:32:04 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 15:32:04 2020 +0000"
      },
      "message": "Merge \"Remove ununsed #include.\" am: 62eef9adb8 am: 34a6953ffd\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1402731\n\nChange-Id: I32671d6c81abfe709ee04524e7c636c9803932b5\n"
    },
    {
      "commit": "34a6953ffd6a7e92426583353f52b5ee33b16c64",
      "tree": "fe64df5b5f621e31c7797be605282ba792ecaee3",
      "parents": [
        "0cc43f415b2e3fb55daba9d31cbad1801bd5999a",
        "62eef9adb817daf6fdb2051b811f48770b8ec485"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 18 15:11:44 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 15:11:44 2020 +0000"
      },
      "message": "Merge \"Remove ununsed #include.\" am: 62eef9adb8\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1402731\n\nChange-Id: I4a8e8b8b3582cad57725a83ccb4377e93b04b951\n"
    },
    {
      "commit": "62eef9adb817daf6fdb2051b811f48770b8ec485",
      "tree": "cfb7a1fad9aad9633569c6d376208ba0ec782746",
      "parents": [
        "5032895b4ca99ab30dd3ee37a625a25fe78f1aa2",
        "18d1ffa0188938f20f7d0f8385401049427311c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 18 14:52:53 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 18 14:52:53 2020 +0000"
      },
      "message": "Merge \"Remove ununsed #include.\""
    },
    {
      "commit": "18d1ffa0188938f20f7d0f8385401049427311c8",
      "tree": "be3e96af9fbdbcc2b1cbc3780325a55b263d198e",
      "parents": [
        "8debb9f333ed410669e3acbd0fb5cb7d694a2bad"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 17 15:58:01 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 17 15:58:01 2020 -0700"
      },
      "message": "Remove ununsed #include.\n\nThe header isn\u0027t useful anyway --- new code should just use\nstatic_assert directly.\n\nTest: treehugger\nChange-Id: I85fd0271870342dafea5c33b8df07d8d2c5371d9\n"
    },
    {
      "commit": "9cd898172de61db05bc49b93d5d8f822bc2fa6f5",
      "tree": "6e84e9f40da4f9d9c4a6e3517d7c6b951fd83492",
      "parents": [
        "37934a22fc6159c2cae85fc5b877424d5bf38628"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Jul 01 17:12:06 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Mon Aug 17 11:19:20 2020 -0700"
      },
      "message": "Convert IEffect and IEffectClient to AIDL\n\nThis change replaces the manually-parceled IEffect and IEffectClient\nwith AIDL definitions.\n\nIn addition, this includes a small library that facilitates shared\nmemory regions over AIDL.\n\nBug: 160253486\nTest: Ran effects-related CTS tests. Manual verification of basic\n      audio functionality on Sargo.\n\nChange-Id: I5a9c5f2f24c10072ad5067acc71aa30581af41c1\n"
    },
    {
      "commit": "170a4287410891a8514f2849c0c5e92984be01b2",
      "tree": "49dee2edbaf698a0c3fce440bd779b2c79b49220",
      "parents": [
        "c57567e250c910cfbd2f8a3edcdada20cbc10fac",
        "c9c49cdffb5c344d3ed81f3b4f9575d5b93b83e1"
      ],
      "author": {
        "name": "Yuchen Liu",
        "email": "yucliu@google.com",
        "time": "Sun Aug 16 20:53:40 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 16 20:53:40 2020 +0000"
      },
      "message": "Merge \"Add flag DIRECT to track flags for track running on DirectOutputThread\""
    },
    {
      "commit": "8f262df7238502942ff5745970eb98ed2b863d53",
      "tree": "7034667c2a5459c3fd2db6bf499aee9565dc0de4",
      "parents": [
        "2c0a3015ea3d710dde90f99538335f99e6d971fc"
      ],
      "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 Aug 14 21:04: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\n"
    },
    {
      "commit": "136dece1c98aaae8e3273426da59c5530b1eeb01",
      "tree": "41dc424128ff18388d88edbde5b025f368efd72a",
      "parents": [
        "c9b3f32f305fc788c3a51e659ac1fb572ea5bf95",
        "87b3ec038a8ef2997a2c43d97d4652c593a79fd8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 14 19:43:33 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 14 19:43:33 2020 +0000"
      },
      "message": "Merge \"Camera: Add component name to status tracker\""
    },
    {
      "commit": "aa89b9f83ccdc573e2fd596bad05a98181d3808c",
      "tree": "c6668507429f0509ee263011dbac43f7262cc9be",
      "parents": [
        "8cc2c99f315a2f2b70f612af0ed9facff57c081c",
        "decc00bbcfb68106625bd21fd74cff969c9a6f35"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 14 02:16:50 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Aug 14 02:16:50 2020 +0000"
      },
      "message": "Merge \"audio: add device definitions for BLE Audio\" am: 3ce5f38a37 am: 0f109dd701 am: c9ad9878f4 am: decc00bbcf\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1398473\n\nChange-Id: Iddd862fbd3c9bb49cb6c91d6895a8f290e7b2b30\n"
    },
    {
      "commit": "decc00bbcfb68106625bd21fd74cff969c9a6f35",
      "tree": "d21ba1fe2702a29732b1234f3ecc4c5991904367",
      "parents": [
        "c10197dee26ed6006d956149d4fe4969f9caa264",
        "c9ad9878f49137b748ec5dfcf905e778e99441c8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 14 02:03:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Aug 14 02:03:49 2020 +0000"
      },
      "message": "Merge \"audio: add device definitions for BLE Audio\" am: 3ce5f38a37 am: 0f109dd701 am: c9ad9878f4\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1398473\n\nChange-Id: I1fcb2be05809e3f3518907fec30852e2469eefc9\n"
    },
    {
      "commit": "c9ad9878f49137b748ec5dfcf905e778e99441c8",
      "tree": "871d3b03564f3c94570cffa87a2dfcb1b7bf4786",
      "parents": [
        "32ec02978e0b9f943795070120c2eee04427802d",
        "0f109dd701e3d326e6c0369f3fb3cbf028b9fa09"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 14 01:43:30 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Aug 14 01:43:30 2020 +0000"
      },
      "message": "Merge \"audio: add device definitions for BLE Audio\" am: 3ce5f38a37 am: 0f109dd701\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1398473\n\nChange-Id: I923a8efdf00dc6249c28576ec3972d8a2d80437c\n"
    },
    {
      "commit": "0f109dd701e3d326e6c0369f3fb3cbf028b9fa09",
      "tree": "63cfc89da3088016bd41309871b9dd3634e374c0",
      "parents": [
        "a19f43a1acbdfef34cb0b15486ebe5dc5fcba192",
        "3ce5f38a376ff8295006704066ea01f21f924642"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 14 01:26:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Aug 14 01:26:22 2020 +0000"
      },
      "message": "Merge \"audio: add device definitions for BLE Audio\" am: 3ce5f38a37\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1398473\n\nChange-Id: I7bd59a159c20365defff62ce0d1570327cf82943\n"
    },
    {
      "commit": "7a62f2936519104f93dc9015df22369127b37803",
      "tree": "33a0d431ef21fd9e9dce4d74981c1800dc186506",
      "parents": [
        "8debb9f333ed410669e3acbd0fb5cb7d694a2bad"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 07 10:51:53 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 13 20:19:00 2020 +0000"
      },
      "message": "audio: add device definitions for BLE Audio\n\nAdd support for device type enums for BLE Audio.\nThis CL just adds basic support in parsers and voloume curve\ncategories.\nNo policy implemented yet for the new devices.\n(cherry picked from commit c42df45d4b99c06391bca841638563335d0f59ef)\n\nBug: 161358428\nTest: make flash and boot\nChange-Id: I86134ea8436b24f817a9fe0f856e3489dd22fcc8\nMerged-In: I86134ea8436b24f817a9fe0f856e3489dd22fcc8\n"
    },
    {
      "commit": "c9c49cdffb5c344d3ed81f3b4f9575d5b93b83e1",
      "tree": "6edf6d93a7a67eeefe765aa1e1b58097fd13baa2",
      "parents": [
        "6559924d9f035c5707a2a2de0d415cd463e4c831"
      ],
      "author": {
        "name": "yucliu",
        "email": "yucliu@google.com",
        "time": "Mon Jul 13 16:25:21 2020 -0700"
      },
      "committer": {
        "name": "Yuchen Liu",
        "email": "yucliu@google.com",
        "time": "Thu Aug 13 19:08:20 2020 +0000"
      },
      "message": "Add flag DIRECT to track flags for track running on DirectOutputThread\n\nIf the playback thread is DirectOutputThread, add\nAUDIO_OUTPUT_FLAG_DIRECT to the track\u0027s flags. This allows HAL to\nreceive `Flush`, as well as many other control signals, when client\nsends the commands.\n\nBug: 111196161\nTest: On device\nChange-Id: I48fae1e05cfb7aabf53a050c72ec78d18e478b0a\n"
    },
    {
      "commit": "d11442b6e4521d825779dd55494509e046f2c9f8",
      "tree": "e0aab3cd028428ddb9266ef55d98486cfd4fc59a",
      "parents": [
        "8debb9f333ed410669e3acbd0fb5cb7d694a2bad"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Apr 27 11:51:09 2020 +0200"
      },
      "committer": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Aug 13 13:04:39 2020 +0200"
      },
      "message": "AudioPolicy: manager: force gain on startSource when using HW Gain\n\nWhen a setVolume is called for a given volume source on a SwOutput,\nand if the SwOutput is connected to a device using HW Gain, the sync\nof the gain on AudioHAL is guarded by the activity of this volume source.\n\nWhen a new index is applied on a given volume source, if this source is\nnot active, the new index is cached but is not synced on AudioHAL.\n\nHence, once a client (aka a source) starts on a SwOutput,\nSwAudioOutputDescriptor::setVolume is called, but as index has not changed,\nsetVolume will bail out before applying the gain to the AudioHAL.\n\nThis CL forces to sync the volume upon startSource event if the SwOutput\ninvolved is connected to a device with HW Gain enabled.\n\nTest: build \u0026 basic audio tests.\n\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\nChange-Id: Ief1d5314b7970de78298750550320e329283ee1a\n"
    },
    {
      "commit": "a380d266782ea50ca6edf026f6c0a868d9a63a87",
      "tree": "2b459361c0a5c9ef80b4350e01d4724ccf25628d",
      "parents": [
        "f9cddbfe7dd95817c26b513ce6b0eecd6ec1bdfa",
        "664d6f0bdd76ade5b68369b6f0cc205c2d37c49d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 13 02:25:24 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 02:25:24 2020 +0000"
      },
      "message": "Merge \"Do not initialize shared memory pointer when mmap fails.\""
    },
    {
      "commit": "f9cddbfe7dd95817c26b513ce6b0eecd6ec1bdfa",
      "tree": "d561c698108b245469a558f1266d39154bd54068",
      "parents": [
        "242cf3379de223e0ae5c9ceeba05e6a397b44e2d",
        "0a488938fa1c1b2b0c02b1c101281c01ff8ed103"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 13 02:24:42 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 02:24:42 2020 +0000"
      },
      "message": "Merge changes from topics \"devicesRoleForStrategy\", \"useAudioDevicesTypeAddrVector\"\n\n* changes:\n  Introduce device(s) role for strategy.\n  Use AudioDeviceTypeAddrVector instead of Vector\u003cAudioDeviceTypeAddr\u003e\n"
    },
    {
      "commit": "87b3ec038a8ef2997a2c43d97d4652c593a79fd8",
      "tree": "cf79a45c689b2d6ffdb8458293c268c4322813ef",
      "parents": [
        "5ce77ca4aaa406fd3d21b86c82f0d847ad4b39fb"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jun 03 10:44:39 2019 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Aug 12 16:54:23 2020 -0700"
      },
      "message": "Camera: Add component name to status tracker\n\nTo improve waitUntilDrained debugging experience.\n\nChange-Id: Ifc7b92516dd97c985e40a0cda578ee91170cd2b0\n"
    },
    {
      "commit": "0a488938fa1c1b2b0c02b1c101281c01ff8ed103",
      "tree": "4686aa2bca38cccbbc572bbb75a2bd82d2b9153b",
      "parents": [
        "6a02d53b76d0a3ccb234a3e3d56318883cadd733"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 07 17:32:40 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 12 16:19:35 2020 -0700"
      },
      "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\n"
    },
    {
      "commit": "6a02d53b76d0a3ccb234a3e3d56318883cadd733",
      "tree": "4bd9652fccb6530787e8a25292aeb81c1d93c612",
      "parents": [
        "1d2a159395df0767ecb2320aff4dd4db3d26e6b2"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 07 11:56:38 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 12 11:24:46 2020 -0700"
      },
      "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\n"
    },
    {
      "commit": "664d6f0bdd76ade5b68369b6f0cc205c2d37c49d",
      "tree": "7635338fb9e3bcca72ac9fe4aae66a8cfa896e21",
      "parents": [
        "1d2a159395df0767ecb2320aff4dd4db3d26e6b2"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Aug 11 17:15:50 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Aug 11 17:15:50 2020 -0700"
      },
      "message": "Do not initialize shared memory pointer when mmap fails.\n\nIn SharedRingBuffer, it is possible that it fails calling mmap when\ndoing allocation. When this happens, the shared memory pointer should\nbe null pointer.\n\nTest: atest CtsNativeMediaAAudioTestCases\nBug: 161570220\nChange-Id: I7ca9d8be6b9a94ca770ced36cf2b76dcc36fe8f9\n"
    },
    {
      "commit": "5ce77ca4aaa406fd3d21b86c82f0d847ad4b39fb",
      "tree": "212b27f783be6c16aa9f73b5a2c5becd863f67b4",
      "parents": [
        "dabaf72cf774fefcd788f9f057214d8bfde3f471",
        "c42df45d4b99c06391bca841638563335d0f59ef"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 10 21:25:55 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 10 21:25:55 2020 +0000"
      },
      "message": "Merge \"audio: add device definitions for BLE Audio\""
    },
    {
      "commit": "dabaf72cf774fefcd788f9f057214d8bfde3f471",
      "tree": "845ec4b18d7077f86ad05705286edb0f5cb65a9b",
      "parents": [
        "fa273c148ccca300dd85135079825573d1869aa4",
        "94c4d97bcdfa068d44d27f5164d5e13ddb07dc7f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 10 19:01:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 10 19:01:22 2020 +0000"
      },
      "message": "Merge \"Fix music output to speaker\" am: fc9e26a3e9 am: af034fc9cb am: 23b282c9f9 am: cdf738e373 am: 94c4d97bcd\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1360120\n\nChange-Id: Id5add51825a810ec1038b9baf3441692b39e8ce8\n"
    },
    {
      "commit": "94c4d97bcdfa068d44d27f5164d5e13ddb07dc7f",
      "tree": "a8b785f20d53a33fb609a2e796ce27a3a1a67a40",
      "parents": [
        "2cf009b9a35219036bc36df7e1098be5312557bb",
        "cdf738e37397def04c2418406ca46da4cf3d7380"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 10 18:33:27 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 10 18:33:27 2020 +0000"
      },
      "message": "Merge \"Fix music output to speaker\" am: fc9e26a3e9 am: af034fc9cb am: 23b282c9f9 am: cdf738e373\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1360120\n\nChange-Id: I10cdfba100672639ba27487a7074c6f629fbb0ea\n"
    },
    {
      "commit": "cdf738e37397def04c2418406ca46da4cf3d7380",
      "tree": "b1932b1bd26afdcad7783ad23806c23b69ba3bf0",
      "parents": [
        "a42085c0ef9841d360eb423f7873e096ced2865d",
        "23b282c9f9a7dacb0cc9000940c755a21970f1b6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 10 18:15:36 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 10 18:15:36 2020 +0000"
      },
      "message": "Merge \"Fix music output to speaker\" am: fc9e26a3e9 am: af034fc9cb am: 23b282c9f9\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1360120\n\nChange-Id: I6296d6dd227058a728f9a4718b198bba9756e019\n"
    },
    {
      "commit": "23b282c9f9a7dacb0cc9000940c755a21970f1b6",
      "tree": "601935ac55c38bd96ed660bbeac909d2c8d0f263",
      "parents": [
        "85bf50bfc09cf24d8454015e7553ab31f1946ff2",
        "af034fc9cb1d3de4334bb303d53b5dc8f83aa6f5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 10 17:53:53 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 10 17:53:53 2020 +0000"
      },
      "message": "Merge \"Fix music output to speaker\" am: fc9e26a3e9 am: af034fc9cb\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1360120\n\nChange-Id: I84066fdea62f4ac3f559ddb7c7b1c37f5880e0fb\n"
    },
    {
      "commit": "af034fc9cb1d3de4334bb303d53b5dc8f83aa6f5",
      "tree": "98266c05b2b9942cb68ca6532fc1357903337465",
      "parents": [
        "a42173049ed53e2a7419c5c4789cdadf22a93de5",
        "fc9e26a3e931e267a274aa73f5d9b9381b95f6a0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 10 17:38:33 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 10 17:38:33 2020 +0000"
      },
      "message": "Merge \"Fix music output to speaker\" am: fc9e26a3e9\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1360120\n\nChange-Id: I5752232356db0815a3e45eb9ff23e948ff8003c1\n"
    },
    {
      "commit": "46c994ea7007ee6a982cf12c1a9fc5a8f03e25a4",
      "tree": "4cb2317c16196160991bd84ffddf9a2e5b280067",
      "parents": [
        "e80e32130675791dc77ef673fb1ae7f2782496db",
        "fe70f2d1d3a94bda55d36609f06a410b1b295092"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Aug 10 17:38:25 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 10 17:38:25 2020 +0000"
      },
      "message": "RESTRICT AUTOMERGE: Camera: fix wrong signalStreamFlush call am: fe70f2d1d3\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1373408\n\nChange-Id: I5a69eeadbdf0178c50509f3c3d76b45434a44fa5\n"
    },
    {
      "commit": "fc9e26a3e931e267a274aa73f5d9b9381b95f6a0",
      "tree": "ea13855ba4e26f8c0d5e39be18595883a2aea4ed",
      "parents": [
        "43b32b29c5744f11c3a05579c5f37a086cbbebda",
        "bd2dcc4d0d6cf0ba6d7663bfb7ccfc60b9292f10"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 10 17:32:07 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 10 17:32:07 2020 +0000"
      },
      "message": "Merge \"Fix music output to speaker\""
    },
    {
      "commit": "fe70f2d1d3a94bda55d36609f06a410b1b295092",
      "tree": "187aff14a6808b8b89e5cb31a84928244c92d78c",
      "parents": [
        "853e7579b42d5b878d8c5d559fc45f223f4b9813"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jul 28 00:17:58 2020 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Aug 10 17:13:04 2020 +0000"
      },
      "message": "RESTRICT AUTOMERGE: 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"
    },
    {
      "commit": "34eb33f650590a6bfbb387597411017e03621b08",
      "tree": "e5e64b58732ff2abeb37447056ecd8c4698fd49a",
      "parents": [
        "df0691496ea76cadd3961741b473c1ea50ff4b34",
        "d976693ddd4f716146d4e3640f18520e9e160a53"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 10 14:52:20 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 10 14:52:20 2020 +0000"
      },
      "message": "Merge \"audio policy: remove useless warning\""
    },
    {
      "commit": "bd2dcc4d0d6cf0ba6d7663bfb7ccfc60b9292f10",
      "tree": "ff0ee2efcda5b139f75dda189547424b241d633d",
      "parents": [
        "7c44826eaba2e3ff4483b127c6bc091e46d0604c"
      ],
      "author": {
        "name": "cnx421",
        "email": "cnx421@gmail.com",
        "time": "Sat Jul 11 14:58:44 2020 +0800"
      },
      "committer": {
        "name": "恶魔 地狱",
        "email": "cnx421@gmail.com",
        "time": "Mon Aug 10 01:24:35 2020 +0000"
      },
      "message": "Fix music output to speaker\n\nThis CL fixes a bug in audio policy where music switches to speaker when A2DP output mode switches from software encoder to offloaded encoder.\n\nBug: 153895044\n\nChange-Id: I15f707c9e96294b6cd6f21c0821c795d0570c39a\n"
    },
    {
      "commit": "df0691496ea76cadd3961741b473c1ea50ff4b34",
      "tree": "cd0d817e368c2ae969e14e665a9a8e232e1ad2a0",
      "parents": [
        "1d2a159395df0767ecb2320aff4dd4db3d26e6b2",
        "28839d61260a4178937079652dde78fc7fc7b88b"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sat Aug 08 04:45:08 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Aug 08 04:45:08 2020 +0000"
      },
      "message": "Camera: fix wrong signalStreamFlush call am: e52b8fa8fa am: 28839d6126\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12336358\n\nChange-Id: I2ca505afbaf3899d6b33d4fc0ff8433e1be1a896\n"
    },
    {
      "commit": "28839d61260a4178937079652dde78fc7fc7b88b",
      "tree": "234aef6bfa0e5809f2166a5845ec5c9a1575aa1c",
      "parents": [
        "1d0e337ac054ca464b04fe5941d68633492cca0e",
        "e52b8fa8fabd74555dd1ebb2e9405460a545a919"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sat Aug 08 04:27:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Aug 08 04:27:29 2020 +0000"
      },
      "message": "Camera: fix wrong signalStreamFlush call am: e52b8fa8fa\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12336358\n\nChange-Id: Ifdd9d3282b10f5135c7c4a9fad789dbc7530cac0\n"
    },
    {
      "commit": "e52b8fa8fabd74555dd1ebb2e9405460a545a919",
      "tree": "4f1840080170b0d3fda0dde28b5dcf8d7a08aaf7",
      "parents": [
        "e03276439f2933e2d7f2d717f28b2d8469eaeb93"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jul 28 00:17:58 2020 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Aug 07 15:51:06 2020 -0700"
      },
      "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"
    },
    {
      "commit": "d976693ddd4f716146d4e3640f18520e9e160a53",
      "tree": "5ec30e0f26248d751e7d898bc3383fe7f4c9f274",
      "parents": [
        "a524c363821353a541442e3b23449875b797b09d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 07 14:01:22 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 07 14:07:00 2020 -0700"
      },
      "message": "audio policy: remove useless warning\n\nRemove warning in Engine::getDevicesForStrategyInt() if the\nstrategy passed is a system internal strategy (not a legacy strategy).\n\nTest: make, flash and boot.\nChange-Id: I258f39ebd50f86abe55df72bdd5bf4a5ad0d29a7\n"
    },
    {
      "commit": "1d2a159395df0767ecb2320aff4dd4db3d26e6b2",
      "tree": "ea3be2597505ffc7e1e98f7a5c9acb2d9d9653cc",
      "parents": [
        "f356189f05884926290b1f7920241ef15674cbc6",
        "49fb4521427825e4d443260d6395446536f778cc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 07 19:00:49 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 07 19:00:49 2020 +0000"
      },
      "message": "Merge \"Allow MediaMetrics entries from MediaParser\""
    },
    {
      "commit": "f356189f05884926290b1f7920241ef15674cbc6",
      "tree": "e22f60c5bc88e0a1d332a2d0728de52df0ce74af",
      "parents": [
        "b44da94f383678f71f9adaeb3c340b3701a4e161",
        "3e17f40a7288ea33c23161dd921d2d22ddaf5354"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 07 18:36:37 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 07 18:36:37 2020 +0000"
      },
      "message": "Merge \"APM: Do not add null DeviceDescriptor to DeviceVector.\""
    },
    {
      "commit": "c42df45d4b99c06391bca841638563335d0f59ef",
      "tree": "e5dd396d67122456532e0b9ca6fee8d19871273e",
      "parents": [
        "a524c363821353a541442e3b23449875b797b09d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 07 10:51:53 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 07 11:05:01 2020 -0700"
      },
      "message": "audio: add device definitions for BLE Audio\n\nAdd support for device type enums for BLE Audio.\nThis CL just adds basic support in parsers and voloume curve\ncategories.\nNo policy implemented yet for the new devices.\n\nBug: 161358428\nTest: make flash and boot\nChange-Id: I86134ea8436b24f817a9fe0f856e3489dd22fcc8\n"
    },
    {
      "commit": "49fb4521427825e4d443260d6395446536f778cc",
      "tree": "385c0b20550f72b02903c3d94b1e1e61901af88b",
      "parents": [
        "b44da94f383678f71f9adaeb3c340b3701a4e161"
      ],
      "author": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Fri Aug 07 13:48:45 2020 +0100"
      },
      "committer": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Fri Aug 07 18:55:07 2020 +0100"
      },
      "message": "Allow MediaMetrics entries from MediaParser\n\n- Make MediaMetrcis stable C API visible to the media mainline module.\n- Allow-list MediaMetrics entries from MediaParser.\n\nBug: 158742256\nTest: Manual.\nChange-Id: Icca73a9396195d8cf299eb03bc778a032aacc364\n"
    },
    {
      "commit": "8f4fe50dc17dab7d809ad215ab62dc86de888731",
      "tree": "5a83f0b41cb2ce576cf1e230321b6cdff137f818",
      "parents": [
        "a524c363821353a541442e3b23449875b797b09d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jul 15 23:54:50 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Aug 06 19:00:12 2020 +0000"
      },
      "message": "aaudio: refactor references to shared FIFO\n\nReduce passing of raw pointers.\nUse shared_ptrs and unique_ptrs.\nSimplify memory management.\n\nRefactor FifoBuffer into two subclasses so that\nthe internal memory management is simpler.\n\nBug: 151650670\nTest: OboeTester \"TEST OUTPUT\"\nTest: disable EXCLUSIVE mode\nTest: OboeTester \"ECHO INPUT TO OUTPUT\"\nTest: disable INPUT EXCLUSIVE mode\nChange-Id: I10981767f8719f3cc3525df211285c53219a7979\n"
    },
    {
      "commit": "3e17f40a7288ea33c23161dd921d2d22ddaf5354",
      "tree": "da24935ffe8ca470fbab7d868ba7a5ccc38ef0ba",
      "parents": [
        "3dd716be2d145b1f58651dd6b0dd471a412b2c95"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Aug 03 17:53:06 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 05 18:14:41 2020 -0700"
      },
      "message": "APM: Do not add null DeviceDescriptor to DeviceVector.\n\nIt make no sense to have null pointer kept in DeviceVector. In that\ncase, never add null to DeviceVector.\n\nBug: 162772516\nTest: make\nChange-Id: Iebf850189de025be9fe205ef0797eb4660898cae\n"
    },
    {
      "commit": "207254fe39fd9687b206773148dbdd69cfcabd33",
      "tree": "73596b06fb83f3625ad05770c154cc0611f58cf6",
      "parents": [
        "080c5d4dcc68d65408022f50db2214637db8f995",
        "9585fa95cc06988974c10e569f2990b62373efec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 05 22:04:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 22:04:09 2020 +0000"
      },
      "message": "Merge \"Update OWNERS\" am: 8e2fbf6665 am: 588d9b1c07 am: 385de9f023 am: 89d9e3f30d am: 9585fa95cc\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1391639\n\nChange-Id: Id28762b6c03511760623e4314523db384aff9702\n"
    },
    {
      "commit": "9585fa95cc06988974c10e569f2990b62373efec",
      "tree": "625f410f6e01e14c675b2c8f2f87bb904745f02c",
      "parents": [
        "3e1ca9cc00af4d6974089d22c82f17bb8a999a93",
        "89d9e3f30d9644df802dcbfdd6fa0788e5af59d4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 05 21:35:54 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 21:35:54 2020 +0000"
      },
      "message": "Merge \"Update OWNERS\" am: 8e2fbf6665 am: 588d9b1c07 am: 385de9f023 am: 89d9e3f30d\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1391639\n\nChange-Id: Ie313d61092b4dc634ccecb6813b680cb99473d2d\n"
    },
    {
      "commit": "89d9e3f30d9644df802dcbfdd6fa0788e5af59d4",
      "tree": "14e8e58b23b22ec6d0d1b5d94b9ae2b2f881a71c",
      "parents": [
        "6fafd73af139e33f8e0157dec461836645e5d5ba",
        "385de9f0230a72bd8f72dc650f0e483ff3895a8b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 05 21:18:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 21:18:23 2020 +0000"
      },
      "message": "Merge \"Update OWNERS\" am: 8e2fbf6665 am: 588d9b1c07 am: 385de9f023\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1391639\n\nChange-Id: I216cd96527efaed4b4b08efe927227debef78246\n"
    },
    {
      "commit": "385de9f0230a72bd8f72dc650f0e483ff3895a8b",
      "tree": "95a5fac3e2a0b2c5924e827a7b2f5d2f9d593913",
      "parents": [
        "3ece0964200c8e0e7c3aa371dd8a47ce578bdf22",
        "588d9b1c07ec0363b6bfaf982f00afd1ba35bd68"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 05 21:00:37 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 21:00:37 2020 +0000"
      },
      "message": "Merge \"Update OWNERS\" am: 8e2fbf6665 am: 588d9b1c07\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1391639\n\nChange-Id: I92ce762ac562acd9c2c6c420761111f6ae14ce0f\n"
    },
    {
      "commit": "588d9b1c07ec0363b6bfaf982f00afd1ba35bd68",
      "tree": "b6717d07e1dcc83bf4319a94a23ae64e65849eb5",
      "parents": [
        "c28c6285003ee4d186cb447839efac7813db49f1",
        "8e2fbf66653f03d8051f011f696e37689f199846"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 05 20:37:40 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 20:37:40 2020 +0000"
      },
      "message": "Merge \"Update OWNERS\" am: 8e2fbf6665\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1391639\n\nChange-Id: Iab223eb2d6ccaa8dee5a8d5deef07999e5999dd5\n"
    },
    {
      "commit": "2c7d0d39443ac8e64987d3a73a6d8b20da1ed807",
      "tree": "e8a2a325299fa4b9024ca8fbbd07af9129f99daa",
      "parents": [
        "70e96c8d72768b76314a77a7d7b37157fb7f1ae4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 15 14:18:59 2020 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 05 10:04:47 2020 -0700"
      },
      "message": "Update OWNERS\n\nTest: N/A\nChange-Id: I2d34e3c05e99191ae1d95fd3c5e6557c2b982965\n"
    },
    {
      "commit": "42023983cde528af8b98fcf5fc976a53e252b6f6",
      "tree": "3190dd12a89c666e7f0bfd4d3c3dd7056529c6f6",
      "parents": [
        "bd44df055ae4cfae3687ad6938c28e373a2cb589",
        "6fafd73af139e33f8e0157dec461836645e5d5ba"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 05 16:51:38 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 16:51:38 2020 +0000"
      },
      "message": "audio policy: fix attributes for strategy \"rerouting\" am: 44f9ee26f6 am: 6fafd73af1\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12311082\n\nChange-Id: Ib15149d16225212da8f7cb11d4617f8f080e9e53\n"
    },
    {
      "commit": "0eb9bb9cbee76a0ceeec9920f695495a46e14ff9",
      "tree": "fbcd2bf6ad386533dac4f7133712380395559f82",
      "parents": [
        "cefe085c94dc4c3fbfaab3842529e91e3eaa9fff",
        "44f9ee26f6cd904c96492c58cbef616eeecb6cb0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 05 16:34:04 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 16:34:04 2020 +0000"
      },
      "message": "audio policy: fix attributes for strategy \"rerouting\" am: 44f9ee26f6\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12311082\n\nChange-Id: I824eb33c352553b4ef5b56d7aaec23e822ec1429\n"
    },
    {
      "commit": "6fafd73af139e33f8e0157dec461836645e5d5ba",
      "tree": "0a8486f8ae275a0aefcd9922ae98c3fbeb02ca85",
      "parents": [
        "3f188dc16b84e0fe23259f184afb23af365b3d6f",
        "44f9ee26f6cd904c96492c58cbef616eeecb6cb0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 05 16:32:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 16:32:47 2020 +0000"
      },
      "message": "audio policy: fix attributes for strategy \"rerouting\" am: 44f9ee26f6\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12311082\n\nChange-Id: I4913aa2c7643d8b1713a30a0ac3f111e754b56e6\n"
    },
    {
      "commit": "44f9ee26f6cd904c96492c58cbef616eeecb6cb0",
      "tree": "5d5a90b7386555c49cb19e6a8c1d2580a192fb5f",
      "parents": [
        "5525faf28e9e112f8ae0dabace9360bd39a1ce10"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 31 16:08:03 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 05 01:59:34 2020 +0000"
      },
      "message": "audio policy: fix attributes for strategy \"rerouting\"\n\nStrategy rerouting is used for audio injection to a recorder\ndynamic audio policy mix. As such, the correponding audio attributes\nmust contain usage AUDIO_USAGE_VIRTUAL_SOURCE.\n\nBug: 162239551\nTest: gts-tradefed run gts --skip-device-info -m GtsGmscoreHostTestCases -t \u0027com.google.android.gts.audioservice.AudioServiceHostTest#testInjectForRecord\u0027\nChange-Id: Id175b9583faf8910aef7b2988ac5019d0cbbcb53\n(cherry picked from commit ed49c8644a89304cd5ae3056245a07d04a8911de)\n"
    },
    {
      "commit": "847d798ccb3dd3c69029801eeef1583cf8624d19",
      "tree": "eda8d606352c4201707a36b4dd52bb90d6546e5e",
      "parents": [
        "fa47739ebe4049c51f01b5e86ab40204cf1a27fd",
        "d092df14c28ee2909e353092793f7f205b942ea1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 04 17:45:33 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 17:45:33 2020 +0000"
      },
      "message": "Merge \"Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\" am: d092df14c2\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1385923\n\nChange-Id: I97c2ffd1a00ad0743849cbc55211d9d3ae110b79\n"
    },
    {
      "commit": "f2ffa38b511408f1530ed9a2ec515f15a472d371",
      "tree": "fe95691635fed71289198cd13c43d701e70ebc21",
      "parents": [
        "5d0c89bb526220f66bfa1ba3c7b5d7568606d469",
        "96c39e6fea0de311a6fec9b2911279d7f5393b4b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 04 17:27:28 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 17:27:28 2020 +0000"
      },
      "message": "Merge \"Camera: Calculate FOVs for external camera if the information is provided\""
    },
    {
      "commit": "d092df14c28ee2909e353092793f7f205b942ea1",
      "tree": "8898533768ebccb90bc985a377511f2cfd46efb8",
      "parents": [
        "97937ef8f2802e6006fcebf769d69c72066621c6",
        "69d41cc6ca5d63e5484874dc3dcaf78530b55b6a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 04 17:25:30 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 04 17:25:30 2020 +0000"
      },
      "message": "Merge \"Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\""
    },
    {
      "commit": "543ec3b3e2546f29cd0d2659e4f066a59ce40885",
      "tree": "b5f76025242dcbc5c5ccf4f72cc16c4ee73ebd79",
      "parents": [
        "9dae45838b759b4d23df36a7a707890c85b38689",
        "fb6ea88e88770eb6ad951f6025150afd6c74a75e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 04 15:47:41 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 15:47:41 2020 +0000"
      },
      "message": "Merge \"Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\" into rvc-dev-plus-aosp am: c00a93e486 am: fb6ea88e88\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12298302\n\nChange-Id: Ie3f66cc6a1166b340e3462d7b3bfeb5235d2285a\n"
    },
    {
      "commit": "fb6ea88e88770eb6ad951f6025150afd6c74a75e",
      "tree": "187a0f39b68dd540eff76f2d9413a502790e424c",
      "parents": [
        "e98479eb763e527e70df1a4d8e50999f18a0daac",
        "c00a93e4860af0ce6bbff7b35f947ac38dd81a50"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 04 15:27:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 15:27:47 2020 +0000"
      },
      "message": "Merge \"Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\" into rvc-dev-plus-aosp am: c00a93e486\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12298302\n\nChange-Id: I588dd65277c09fae8ca2eb0fcaf376a81542da1b\n"
    },
    {
      "commit": "c00a93e4860af0ce6bbff7b35f947ac38dd81a50",
      "tree": "5661188d5751778053a8fe94911664c4d18dc40a",
      "parents": [
        "2a9274cd2c815d9992527f7b8a4c1d75cc372057",
        "c8e17eebc955749f5dc0fb0a58ad93ff312aef39"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 04 15:14:16 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 15:14:16 2020 +0000"
      },
      "message": "Merge \"Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\" into rvc-dev-plus-aosp"
    },
    {
      "commit": "660609e595150aa988b8f92a9841626f407ba900",
      "tree": "b7e96a3dd25d10d1a60c6e77cea9200d37adeb64",
      "parents": [
        "7f1fd94d88517edf0d304b1ef30f50901b50842e",
        "9dae45838b759b4d23df36a7a707890c85b38689"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 04:21:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 04:21:39 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 97937ef8f2 am: fa47739ebe am: 2a9274cd2c am: e98479eb76 am: 9dae45838b\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1385922\n\nChange-Id: I680cc43da8a4d19ac1f9bd8bf6b14489395bc223\n"
    },
    {
      "commit": "9dae45838b759b4d23df36a7a707890c85b38689",
      "tree": "96165fa0021f0a1294d38bbcb87900916b000559",
      "parents": [
        "e34c1e790bbfb47c34663ba0fcb2975f9e28a7b1",
        "e98479eb763e527e70df1a4d8e50999f18a0daac"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 03:54:28 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 03:54:28 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 97937ef8f2 am: fa47739ebe am: 2a9274cd2c am: e98479eb76\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1385922\n\nChange-Id: I11e4c07fb17914f474d5ca5ab5c756b7e04d6d5c\n"
    },
    {
      "commit": "e98479eb763e527e70df1a4d8e50999f18a0daac",
      "tree": "c47227d899a21b6d540dd2379be6eb946b04780f",
      "parents": [
        "89c520c3d482bee4904418f3f7b5031c1b5c41ad",
        "2a9274cd2c815d9992527f7b8a4c1d75cc372057"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 03:31:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 03:31:06 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 97937ef8f2 am: fa47739ebe am: 2a9274cd2c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1385922\n\nChange-Id: I4c39b35cf212281375215838dcb1ea8f4ea8c073\n"
    },
    {
      "commit": "2a9274cd2c815d9992527f7b8a4c1d75cc372057",
      "tree": "bde10f8015bbee45ba8d139117e8350abb0946c4",
      "parents": [
        "7c9913d5d5a35242a617ccb82ba4659e777ee007",
        "fa47739ebe4049c51f01b5e86ab40204cf1a27fd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 03:07:41 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 03:07:41 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 97937ef8f2 am: fa47739ebe\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1385922\n\nChange-Id: I387370424b74c3414cad6796bdf311577c47fe91\n"
    },
    {
      "commit": "96c39e6fea0de311a6fec9b2911279d7f5393b4b",
      "tree": "bbce475c10b2dbbbc9c788c9e798a36df3c846a3",
      "parents": [
        "651ebc450833dc48c0c32b19a70ffb9e134c0fc5"
      ],
      "author": {
        "name": "Wei Lee",
        "email": "wtlee@google.com",
        "time": "Wed Jul 29 14:37:50 2020 +0800"
      },
      "committer": {
        "name": "Wei Lee",
        "email": "wtlee@google.com",
        "time": "Tue Aug 04 10:48:41 2020 +0800"
      },
      "message": "Camera: Calculate FOVs for external camera if the information is provided\n\nCurrently we set (-1.0, -1.0) as FOV for external cameras.\nIn this CL, it will try to calculate FOV if the required information is\nprovided in its metadata.\n\nBug: 160824680\nTest: Run Rotation Vector Test in CTSV on electro.\nChange-Id: Ifeb81e4ade9217b854dbf0359ff01df7dac89500\n"
    },
    {
      "commit": "fa47739ebe4049c51f01b5e86ab40204cf1a27fd",
      "tree": "f1cd8729ec914270755ad087619e6dba0adca6b9",
      "parents": [
        "77b4db61f2ed88e9e08f335724a255401c48ab6c",
        "97937ef8f2802e6006fcebf769d69c72066621c6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 02:43:04 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 02:43:04 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 97937ef8f2\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1385922\n\nChange-Id: I72c62b65de856bc80dafbf9d0698eb2c392ff320\n"
    },
    {
      "commit": "c8e17eebc955749f5dc0fb0a58ad93ff312aef39",
      "tree": "087fd6e158c1f3c0cbd507fc50c4f9904393aef5",
      "parents": [
        "7c9913d5d5a35242a617ccb82ba4659e777ee007"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jul 31 17:36:08 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Aug 04 00:41:43 2020 +0000"
      },
      "message": "Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\n\nStoring \u0027this\u0027 into wp\u003cAudioEffect\u003e while running the constructor\nof an AudioEffect can lead to premature instance destruction\nbecause the owner of this weak pointer may promote to sp\u003c\u003e\non a thread running in parallel to the constructor.\n\nFixed by removing a call to AudioEffect::set from the constructor\nand moving the responsibility for calling it to client code.\n\nBug: 162323621\nTest: repro steps from the bug\n      atest android.media.cts.VisualizerTest\nChange-Id: Ice5f510b1c9020b5ba73bd6223c1669ab8eae24c\nMerged-In: Ice5f510b1c9020b5ba73bd6223c1669ab8eae24c\n"
    },
    {
      "commit": "a2f59b339b498d38224cb807782f0b59d4378e91",
      "tree": "ec12fb4788066f863a47993818845bdcce08711d",
      "parents": [
        "1fc724e954b4b0384ae12b095424214754c15d94"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 03 16:37:24 2020 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 00:13:45 2020 +0000"
      },
      "message": "Update language to comply with Android\u0027s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for reference\n\nBug: 161896447\nTest: N/A\nChange-Id: I7cc02d672a35025650a515247d268693b8bc2dc5\n"
    },
    {
      "commit": "69d41cc6ca5d63e5484874dc3dcaf78530b55b6a",
      "tree": "423c2ef2a2dc0410c94c32ef5736fcfd5574d777",
      "parents": [
        "1fc724e954b4b0384ae12b095424214754c15d94"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jul 31 17:36:08 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 03 23:44:56 2020 +0000"
      },
      "message": "Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\n\nStoring \u0027this\u0027 into wp\u003cAudioEffect\u003e while running the constructor\nof an AudioEffect can lead to premature instance destruction\nbecause the owner of this weak pointer may promote to sp\u003c\u003e\non a thread running in parallel to the constructor.\n\nFixed by removing a call to AudioEffect::set from the constructor\nand moving the responsibility for calling it to client code.\n\nBug: 162012829\nBug: 162323621\nTest: repro steps from the bug\n      atest android.media.cts.VisualizerTest\nChange-Id: Ice5f510b1c9020b5ba73bd6223c1669ab8eae24c\nMerged-In: Ice5f510b1c9020b5ba73bd6223c1669ab8eae24c\n"
    },
    {
      "commit": "6d384bbae176ed277032ff512fece5fe3c40babc",
      "tree": "8aca43953afcc779a386b702ffa52b337054633a",
      "parents": [
        "eabfd6e04a3fc57ecb3065478129e5612864f50b",
        "416fffe5fa7037171ead858f702accfb990fd3bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 03 20:45:39 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 20:45:39 2020 +0000"
      },
      "message": "Merge \"Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\""
    },
    {
      "commit": "8a69313f34eba95d35832520fb22eb13376c3d8e",
      "tree": "614aac9eca7b82a6f057b9bbb918f3b304fda7bc",
      "parents": [
        "d4ae33f6f8860c9011cafc720ffd65ea826b66b0",
        "ed49c8644a89304cd5ae3056245a07d04a8911de"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 03 14:46:19 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 14:46:19 2020 +0000"
      },
      "message": "Merge \"audio policy: fix attributes for strategy \"rerouting\"\""
    },
    {
      "commit": "d4ae33f6f8860c9011cafc720ffd65ea826b66b0",
      "tree": "23f3882504aa97136b87b24f99e5c14d5b5e5ca6",
      "parents": [
        "610ee6d10b62796a04f94fef253b70e55b27d2e6",
        "571ef96c1d93a19e152e06b8b4c1f1face7496db"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Aug 01 01:33:25 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 01 01:33:25 2020 +0000"
      },
      "message": "Merge \"audio policy: remove log spam for voice and sco volumes\""
    },
    {
      "commit": "416fffe5fa7037171ead858f702accfb990fd3bc",
      "tree": "dd54d20f53388b16848e8451eea76435df01427c",
      "parents": [
        "aacaf2d4cdf898109d8027e39dbd0befc87251e9"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jul 31 17:36:08 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jul 31 17:36:08 2020 -0700"
      },
      "message": "Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\n\nStoring \u0027this\u0027 into wp\u003cAudioEffect\u003e while running the constructor\nof an AudioEffect can lead to premature instance destruction\nbecause the owner of this weak pointer may promote to sp\u003c\u003e\non a thread running in parallel to the constructor.\n\nFixed by removing a call to AudioEffect::set from the constructor\nand moving the responsibility for calling it to client code.\n\nBug: 162323621\nTest: repro steps from the bug\n      atest android.media.cts.VisualizerTest\nChange-Id: Ice5f510b1c9020b5ba73bd6223c1669ab8eae24c\n"
    }
  ],
  "next": "ed49c8644a89304cd5ae3056245a07d04a8911de"
}
