)]}'
{
  "log": [
    {
      "commit": "1a012372d22592b1a595b639f4d34aa66a9b1770",
      "tree": "e92ba590e8071db4675f203afaa69b6421d033c8",
      "parents": [
        "d2504bd81872024ab65f057c0b9730b45975b288",
        "b47fd10e664bcfd23c3725f5077421c5b1e1a285"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jun 27 03:12:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Jun 27 03:12:14 2020 +0000"
      },
      "message": "Merge changes I742a9d3d,Idce40ad2 into rvc-dev am: 1928cddbe9 am: b167113505 am: 1000cd1d23 am: b47fd10e66\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12003365\n\nChange-Id: I93867607e7333751b733d7412c9247e7b67a350b\n"
    },
    {
      "commit": "1000cd1d232e040409321e79fdfb522eb9a6e0bb",
      "tree": "d31ea6636bcb553e183815b3eb656115a5528cee",
      "parents": [
        "6c77aaa0a921173a4db8c8cf94791287f15748ed",
        "b16711350551e228392697e9b715b99098323d8c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jun 27 02:04:00 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Jun 27 02:04:00 2020 +0000"
      },
      "message": "Merge changes I742a9d3d,Idce40ad2 into rvc-dev am: 1928cddbe9 am: b167113505\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12003365\n\nChange-Id: I41acfc348adedee49ac5c734a9182596c56c0877\n"
    },
    {
      "commit": "4c377ef1052cc45a44ed2b1ffdd11486a9b9d1e6",
      "tree": "3b9cf2f5be3789b6d844004d5caa72b74f776b62",
      "parents": [
        "29112a133f594a4e740d46cad8d6ae301c434f48"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 25 10:03:23 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 26 11:54:41 2020 -0700"
      },
      "message": "aaudio: allow start when flushing\n\nThe state switch in the start() code did not allow\na start when in AAUDIO_STREAM_STATE_FLUSHING.\n\nThe bug was a regression in R and was not in Q.\n\nBug: 158603375\nBug: 159900922\nTest: test_various.cpp\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: I742a9d3d07d445c0f3a80187b5a32cda5c700e82\n"
    },
    {
      "commit": "29112a133f594a4e740d46cad8d6ae301c434f48",
      "tree": "e4d109df508eea932dcaa1542e3757a4ca3788e3",
      "parents": [
        "ae87d21ce7b5a6b76a88fdefbe80ba0e3120b16a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 25 07:52:45 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 26 11:54:41 2020 -0700"
      },
      "message": "aaudio test: flushing to start transition\n\nAdd test for state transitions from FLUSHING to STARTED,\nFLUSHING to CLOSING, etc.\n\nAlso test for CLOSING to STARTED, STOPPED, etc.\n\nThis is to test a regression in R.\n\nBug: 158603375\nBug: 159900922\nTest: this is a test\nChange-Id: Idce40ad28d21438973facd9f32ef59e47c463279\n"
    },
    {
      "commit": "7216b3fe3d9580bf4305c01fc0df64dc7e172488",
      "tree": "2244a1ca21a329135dd894ad2c0e04258d51b03e",
      "parents": [
        "8ffa530d9c1e0179dc9389e683e022c4ca26bc38"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jun 23 23:29:18 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jun 23 23:29:33 2020 +0000"
      },
      "message": "aaudio: reduce error logging\n\nBetter logic in setState().\nDowngrade and remove some other error messages.\n\nBug: 36785118\nTest: adb logcat *:W | grep -i audio\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: I2046f34baa2d9fde55e20c24b30342f234abc309\n"
    },
    {
      "commit": "1a3c96b8cf7d20f0e4d58e1c68ed611985e0a74f",
      "tree": "98be4ab403d6ec02f261613785ad58309637e4b2",
      "parents": [
        "053af400c11aa8048def01d7f0f173edcc3ca562",
        "5e3479c296b0ddbebfdf0675ef9355882523f9fb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 12 22:50:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 12 22:50:23 2020 +0000"
      },
      "message": "Merge \"Include \u003cstdbool.h\u003e in NDK headers that use bool.\" into rvc-dev-plus-aosp am: 456513b73e am: cdceadbd05 am: 5e3479c296\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11851227\n\nChange-Id: Ifa4b8ebef7a72e54da815099ec14c4976e31f47f\n"
    },
    {
      "commit": "9c1fca20c31ad0442e6be8d665dedb2c419a6093",
      "tree": "457d14c22345d5d4909917bdd44abef44438509d",
      "parents": [
        "27a9d4e57988c9c9e75639edc69b4fb62ddf1a07"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 12 09:53:12 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 12 13:11:50 2020 -0700"
      },
      "message": "Include \u003cstdbool.h\u003e in NDK headers that use bool.\n\nBug: https://github.com/android/ndk/issues/1281\nTest: treehugger\nChange-Id: Idd009254e41b8b5136bc4d2d9a49c130780f98d5\n"
    },
    {
      "commit": "568cf59c8fcddd56b7c4b37aa0a3c13d1864f8be",
      "tree": "bd0661c53abe6da587477aa8b8af3376725d4bc7",
      "parents": [
        "e1ce1d5924ba86622003d4f9e964fe38c843df18",
        "566af0ed39d39a32a0d99e0b572399aaa10e4c93"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jun 06 00:30:30 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Jun 06 00:30:30 2020 +0000"
      },
      "message": "Merge \"aaudio test: add -s to test_steal_exclusive\" into rvc-dev am: fab932e9ed am: a04d3c20b6 am: 0f246271eb am: 566af0ed39\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11760672\n\nChange-Id: I290ee059fca5cc5ec0ca537e705b3dafdf1d0a56\n"
    },
    {
      "commit": "566af0ed39d39a32a0d99e0b572399aaa10e4c93",
      "tree": "2f1240307105717ce020a986ded8e0f08454c83d",
      "parents": [
        "8ff30f3b7e95af75730ba037ea6b1bc0df13ec2d",
        "0f246271eb5e6cc8f3cd11eec4d70515d567e79b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jun 06 00:14:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Jun 06 00:14:35 2020 +0000"
      },
      "message": "Merge \"aaudio test: add -s to test_steal_exclusive\" into rvc-dev am: fab932e9ed am: a04d3c20b6 am: 0f246271eb\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11760672\n\nChange-Id: Ie3700b0be294e5c695f39cb5954231014ec69195\n"
    },
    {
      "commit": "933b484fa7563c7ad2e990c61ad0051bb648eee0",
      "tree": "2f1240307105717ce020a986ded8e0f08454c83d",
      "parents": [
        "f541ec655235f96950f47515d23f3a7e0147c47a",
        "fab932e9edd3beb3a0539735d0692dcdbe2b1855"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 05 23:49:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 05 23:49:49 2020 +0000"
      },
      "message": "Merge \"aaudio test: add -s to test_steal_exclusive\" into rvc-dev am: fab932e9ed\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11760672\n\nChange-Id: Ia0241f88843495624f873cca43948197c02f8850\n"
    },
    {
      "commit": "fd19a77bc0fcc2d3d85beac6403b2b8c907dfe69",
      "tree": "c4d40019dd153168573cf5a6d34782b43b9b83a3",
      "parents": [
        "6d5a5c10a5b9389cd84b5a10d5814e65eeb004aa"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 05 12:47:46 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 05 12:47:46 2020 -0700"
      },
      "message": "aaudio test: add -s to test_steal_exclusive\n\nAdd -s option to request SHARED mode.\nThis will not cause a steal. But it can be used\nto test the response to a disconnect.\n\nBug: 158316262\nTest: test_steal_exclusive -r0 -d0 -s\nChange-Id: I209dc72028ce61881a6d2d14a9cec689a2d74264\n"
    },
    {
      "commit": "ff682a7f4f39f04dc07deec66c18194907ada4ef",
      "tree": "26db70caeda52fb0855e4f0f2687119587e04500",
      "parents": [
        "3527e8a256066494431206750b606776c4ce46e7",
        "264d7ef14b451ef8ada5986e0a8969036b67fc47"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 03 01:59:44 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 03 01:59:44 2020 +0000"
      },
      "message": "Merge \"aaudio test: improve stealing test\" into rvc-dev am: 1ae898a10c am: 96090febcd am: 61fe745347 am: 264d7ef14b\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11659500\n\nChange-Id: Ie307f8209ef1fd606b5ffedb78d945e6bfd67688\n"
    },
    {
      "commit": "264d7ef14b451ef8ada5986e0a8969036b67fc47",
      "tree": "63233aa70f249cf5d2f8fb8ef79928532dce85f2",
      "parents": [
        "ea30586173385f7c51d14823fa917d996c8ea6bc",
        "61fe745347cb5ac0e119df5b376a8d58ea2f4be8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 03 01:42:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 03 01:42:39 2020 +0000"
      },
      "message": "Merge \"aaudio test: improve stealing test\" into rvc-dev am: 1ae898a10c am: 96090febcd am: 61fe745347\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11659500\n\nChange-Id: I584d57cac9cb5d80c7bf48a9c1a246d1bc371a99\n"
    },
    {
      "commit": "1de621d426a18651ab90fc1703e928a9874b1f4c",
      "tree": "63233aa70f249cf5d2f8fb8ef79928532dce85f2",
      "parents": [
        "1c4ba630e86eab1bd6485e58b1674325c67e4a92",
        "1ae898a10c9f3c66dc7c58c7c9808bcc8411650a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 03 01:05:48 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 03 01:05:48 2020 +0000"
      },
      "message": "Merge \"aaudio test: improve stealing test\" into rvc-dev am: 1ae898a10c\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11659500\n\nChange-Id: Iabbd6ddd79e12367aca0cfe44b1a22e13fdecde3\n"
    },
    {
      "commit": "d9f23896cf87971d8b89a4e660cd7aeaa02f602d",
      "tree": "1b9e190bd5b84fa6a82a97747c04f29671046daa",
      "parents": [
        "1b5a1febef34d76f91b0fb6efbec896a386debfd",
        "e803b380e5fcd7c58010c88ec474cabc09d90f82"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jun 03 00:52:48 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 03 00:52:48 2020 +0000"
      },
      "message": "Merge \"audioflinger: fix FIXME in logBufferSizeUnderruns\" into rvc-dev am: 167afa7033 am: cf4623847e am: 6089de080d am: e803b380e5\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11690113\n\nChange-Id: Idaf7e9c9ba44e1e528ac3da79e732bfb10648f52\n"
    },
    {
      "commit": "1ae898a10c9f3c66dc7c58c7c9808bcc8411650a",
      "tree": "b4cc7bd121c3418f2c539143591290f898d0e027",
      "parents": [
        "167afa7033328250169f141f85e3bc71d89475c9",
        "b9e4fd475481d6fa23c6df76cfb2b5e81b9cd9ec"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 03 00:50:10 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 00:50:10 2020 +0000"
      },
      "message": "Merge \"aaudio test: improve stealing test\" into rvc-dev"
    },
    {
      "commit": "e803b380e5fcd7c58010c88ec474cabc09d90f82",
      "tree": "fc1964622641712eb648d39bad0494980ae5010b",
      "parents": [
        "87477a196dd047c39233d7ea947d1eb6bf7c0f98",
        "6089de080dca67d58c2bfea18f9be20e3ae2e387"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jun 03 00:38:45 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 03 00:38:45 2020 +0000"
      },
      "message": "Merge \"audioflinger: fix FIXME in logBufferSizeUnderruns\" into rvc-dev am: 167afa7033 am: cf4623847e am: 6089de080d\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11690113\n\nChange-Id: Id7720190203dcad03fb6e537076239791b000c15\n"
    },
    {
      "commit": "1c4ba630e86eab1bd6485e58b1674325c67e4a92",
      "tree": "fc1964622641712eb648d39bad0494980ae5010b",
      "parents": [
        "177b641f15356a2701bbd5812ae63bec6aaa5c38",
        "167afa7033328250169f141f85e3bc71d89475c9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jun 03 00:13:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 03 00:13:23 2020 +0000"
      },
      "message": "Merge \"audioflinger: fix FIXME in logBufferSizeUnderruns\" into rvc-dev am: 167afa7033\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11690113\n\nChange-Id: I44b76e267b367c96e64457c5a60790dc5649a45f\n"
    },
    {
      "commit": "64e16a7c0a0341ec3e759d9522c037606e49ce70",
      "tree": "4de10760a43ffb42233f3da48259a3dd403ccd31",
      "parents": [
        "72c3e0bbf62dbfd5e9ecabac3910f788e0b6b187"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jun 01 13:25:51 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jun 02 14:48:16 2020 -0700"
      },
      "message": "audioflinger: fix FIXME in logBufferSizeUnderruns\n\nSome debug code was accidentally merged.\nThe hang was caused by a recursive lock of mLock.\nThe code now calls lockfree methods.\nAdded events for RELEASE and SETBUFFERSIZE.\n\nBug: 157916126\nTest: adb logcat | grep logBufferSize\nTest: launch OboeTester\nTest: disable MMAP checkbox\nTest: Tap OPEN and START\nTest: move bufferSize fader\nTest: expect to see no spam from logBufferSizeInFrames()\nTest: adb shell dumpsys media.metrics\nTest: expect to see entries like \"(bufferSizeFrames\u003d118, underrun\u003d1)\"\nChange-Id: I7d782ccea2c2470bc18a3a61cfb8767430a441d8\n"
    },
    {
      "commit": "b9e4fd475481d6fa23c6df76cfb2b5e81b9cd9ec",
      "tree": "88b76a2fad19ae509b42361c85fd2f4e068a0518",
      "parents": [
        "d40bc7615ff9bb6aac308083c51980437a9c6a21"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 29 08:42:04 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jun 01 15:35:34 2020 -0700"
      },
      "message": "aaudio test: improve stealing test\n\nUse class and locks to eliminate race condition.\nAdd -dDelay to sleep before open.\nAdd -rRetries to set maximum retries when reopening\nafter a disconnect.\n\nBug: 157777324\nTest: adb shell test_steal_exclusive -r1 -d0\nChange-Id: I847c57c3dc0d5d52bb2d03f1e85ebc13216ee41d\n"
    },
    {
      "commit": "b73593b99ffd41a49d35b6e95906be778e87c0d3",
      "tree": "d21b782c5e278f3f93465c2d8bf4c61094f55464",
      "parents": [
        "43cf3117af7ff3d833487b33e92a1ce4f3d4fedf",
        "da17a888baff05b848bf3f7015c1ad37c314764c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 08 00:37:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 08 00:37:49 2020 +0000"
      },
      "message": "Merge \"aaudio: align AAudioServiceMessage for 32/64 bits\" into rvc-dev am: 9ad15ff8c4 am: 76ade1a486 am: a0a5104c49 am: da17a888ba\n\nChange-Id: Ia8e176eaf58b20e1540d4531dcdd8c335cd6e839\n"
    },
    {
      "commit": "a0a5104c49ba5ac815d0faf25effa0df79dbfd8c",
      "tree": "9c55ce76253d91e8faf8d2110504b2d635fcd8ae",
      "parents": [
        "c76c8a81b7006c6d67dd31c3b06ddd725216e34b",
        "76ade1a48604972d0180888006da5831d2ef976f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 08 00:01:42 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 08 00:01:42 2020 +0000"
      },
      "message": "Merge \"aaudio: align AAudioServiceMessage for 32/64 bits\" into rvc-dev am: 9ad15ff8c4 am: 76ade1a486\n\nChange-Id: I89b1b8299635d3b1f674f9895147ad0092bd47db\n"
    },
    {
      "commit": "c3282b7b634886aad47a2a19e36dac0c65d332e7",
      "tree": "9c55ce76253d91e8faf8d2110504b2d635fcd8ae",
      "parents": [
        "c8c418357ba5b6eab6ea5385f4b008f1e6548c60",
        "9ad15ff8c4e0ae23df61022e69ba38362c94c67b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 07 23:45:30 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 07 23:45:30 2020 +0000"
      },
      "message": "Merge \"aaudio: align AAudioServiceMessage for 32/64 bits\" into rvc-dev am: 9ad15ff8c4\n\nChange-Id: Iae33ab39ee598ddf064e9b1d1bbcad3f529a69ac\n"
    },
    {
      "commit": "3ee519e182dfc26a7d6179604c816892385f3b03",
      "tree": "4148b6fb676d79604ceb54b5a5f4c0cd1f1f1738",
      "parents": [
        "686dac0cdb04834b889b1264f7a41c5d6ce25d2a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 06 16:56:22 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 07 11:14:56 2020 -0700"
      },
      "message": "aaudio: align AAudioServiceMessage for 32/64 bits\n\nChromebook sometimes runs 32 and 64-bit code together.\nThat caused messages between the code to be rejected because the\nstruct sizes did not match.\nSo we used alignas(8) to force members to 8 byte boundaries.\n\nBug: 155901581\nTest: Launch OboeTester\nTest: Tap TEST OUTPUT\nTest: Tap OPEN and START\nTest: You should get \"MMAP YES\" if MMAP is supported by the device.\nChange-Id: I0cd6a59a974888ef17b06b38fa78f032d602cd57\n"
    },
    {
      "commit": "587340591aab643be488012218fd50d08d105625",
      "tree": "d7899e85ced74bc31c86749499d8cc1b257f867a",
      "parents": [
        "ed21894c44626deac9852962096b9a2c1ff1799b",
        "159bbba478a194fc8a96465e870a30e5cba79b4e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 05 12:00:15 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 05 12:00:15 2020 +0000"
      },
      "message": "Merge changes I7f8339d8,Idff0c394 into rvc-dev am: 686dac0cdb am: 5fa096aaa5 am: cfce8343f7 am: 159bbba478\n\nChange-Id: Idcc2e893770fe3364dab2e370b59c46cc490b1e6\n"
    },
    {
      "commit": "cfce8343f704c5e0c25cc89b1e2650fae3740f6e",
      "tree": "8ee765f8c2162282109abb22be7a1cb8df19caf2",
      "parents": [
        "7c8a0b89576ff7bdd0ce5418e23916a701705189",
        "5fa096aaa5bc2bf34ae68887145fb10db655931c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 05 11:31:50 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 05 11:31:50 2020 +0000"
      },
      "message": "Merge changes I7f8339d8,Idff0c394 into rvc-dev am: 686dac0cdb am: 5fa096aaa5\n\nChange-Id: I5c905837b6e949d2516941d160e75d4c58bc0e23\n"
    },
    {
      "commit": "cc2ebfc95d0925ad06cd368be6d7de557d1eaef5",
      "tree": "8ee765f8c2162282109abb22be7a1cb8df19caf2",
      "parents": [
        "303147efc0d6bd3f29e1da40720ddc175a78d388",
        "686dac0cdb04834b889b1264f7a41c5d6ce25d2a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 05 11:19:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 05 11:19:47 2020 +0000"
      },
      "message": "Merge changes I7f8339d8,Idff0c394 into rvc-dev am: 686dac0cdb\n\nChange-Id: If597e6b6a35e038c90090614dbdda35b0b5ce854\n"
    },
    {
      "commit": "6e463ce6fc456a3c185b80086d3605e2189eccd6",
      "tree": "5c897c19218b6ab714ad781076018079ef2b0240",
      "parents": [
        "4756a9f78b39c7aad0bd79c18b97bf8ed00b4bc6"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 13 10:20:20 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 05 02:54:41 2020 -0700"
      },
      "message": "aaudio: steal exclusive streams\n\nAn app (B) that asks for an exclusive stream can steal\nan exclusive stream from an earlier app (A).\nApp B will be given the MMAP resource as a SHARED stream.\nThe stream for app A will be disconnected and released\nby the service.\nIf app A reopens a stream then it will get a SHARED\nstream.\n\nThe order of the opening of the streams is controlled by using a\nrecursive_mutex in AAudioService::openStream().\n\nBug: 129846760\nTest: media/libaaudio/tests/test_steal_exclusive.cpp\nTest: also\nTest: Launch AudioTroubleMaker. It should say \"EXCLUSIVE\".\nTest: Press Home button.\nTest: Siren sound from AudioTroubleMaker should continue.\nTest: Launch OboeTester\nTest: TEST OUTPUT, then Open, Start\nTest: You should get an MMAP SHARED stream on Pixel.\nTest: Go back to AudioTroubleMaker. It should say \"SHARED\".\nChange-Id: I7f8339d8ed62546520a9b46ed398418b41ca2832\n"
    },
    {
      "commit": "4756a9f78b39c7aad0bd79c18b97bf8ed00b4bc6",
      "tree": "1c7c50f8858aec2db0f7f36362b8d0f0902cccdf",
      "parents": [
        "ef57c62b29c3612cfeecf01c8106cff6749849ca"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 01 16:53:13 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 05 02:54:27 2020 -0700"
      },
      "message": "aaudio test: test stealing an exclusive stream\n\nThis test starts an exclusive stream.\nThen a few seconds later it starts a second exclusive stream.\nThe first stream should get stolen and they should both end up\nas SHARED streams.\n\nSee comment at start of test_steal_exclusive.cpp for more information.\n\nBug: 129846760\nTest: this is a test\nTest: adb shell test_steal_exclusive\nChange-Id: Idff0c394ccee2310dd2d38e7715f823e50955e73\n"
    },
    {
      "commit": "a3b62964840746b6e04ece92e932d3623dcab02f",
      "tree": "976ff61b1f916bfdacb5b8c5d186304896ef0637",
      "parents": [
        "2f7b015529f3a86447b85b8465b057185795d8cf",
        "09a56c11880c78e39b7d4a236496c000c76b9240"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 30 03:46:50 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 30 03:46:50 2020 +0000"
      },
      "message": "Merge \"AAudio: add missing \"Added in API level\" annotation\" into rvc-dev am: 199012b0c6 am: 05d836f727 am: fed2c722c3 am: 09a56c1188\n\nChange-Id: I7fd9515e8a15d24ac41d6e54ab20c228260c4679\n"
    },
    {
      "commit": "05d836f7277d3b57d84062d9d26615c3543882aa",
      "tree": "5a1929f7842aa2430a19309f799ae0b4941860c3",
      "parents": [
        "6557a6c07d931a890b09f6fd68bd6a6adf4a04fa",
        "199012b0c66d555207d81fedb7cce16305c865f8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 30 03:01:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 30 03:01:19 2020 +0000"
      },
      "message": "Merge \"AAudio: add missing \"Added in API level\" annotation\" into rvc-dev am: 199012b0c6\n\nChange-Id: I82bd2b8437b421ac9544ec7efa4a750df9f40d0d\n"
    },
    {
      "commit": "199012b0c66d555207d81fedb7cce16305c865f8",
      "tree": "85a8f493b6d1e3737e25d2eb98ed419626487898",
      "parents": [
        "fdb7e3c281d700d23f1d02cc94939e3500e1af2f",
        "b51e3ab86ecd6951e0814201467ef2a1885a39e5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 30 02:45:48 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 30 02:45:48 2020 +0000"
      },
      "message": "Merge \"AAudio: add missing \"Added in API level\" annotation\" into rvc-dev"
    },
    {
      "commit": "b51e3ab86ecd6951e0814201467ef2a1885a39e5",
      "tree": "f6364868ce8f1cd77a204d5eeec6bcee88a6ee7b",
      "parents": [
        "ec660f185a1e212b1d22125de81e9bd1d0ff58a3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 28 18:29:25 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 30 00:23:42 2020 +0000"
      },
      "message": "AAudio: add missing \"Added in API level\" annotation\n\nAdd missing \"Added in API level 29 annotation\" to\nAAUDIO_INPUT_PRESET_VOICE_PERFORMANCE input preset.\n\nBug: 138776432\nTest: make\nChange-Id: I2362ebd1520c95e81dfe8ea43105ea7b39cc04eb\n"
    },
    {
      "commit": "7ae96445d4175c18a6bb1d8e6f5d25b81f0295fd",
      "tree": "04bc892c3ebf6ef1cb5be30e75e79220bdde29f8",
      "parents": [
        "ac486eaac4b703f15a742d9fc67bc58f2466a470",
        "6d827c596ec56551978eed722b52dbde85a6fb0a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 29 00:35:50 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 29 00:35:50 2020 +0000"
      },
      "message": "Merge \"aaudio: remove LOG_ALWAYS_FATAL_IF from metrics\" into rvc-dev am: 1100c1d18e am: 65164c32ac am: 7415358db7 am: 6d827c596e\n\nChange-Id: If2617555a9fec701b47537d5fdef5218925a03d7\n"
    },
    {
      "commit": "7415358db73ba2b7ea8925bda735c0c372642acb",
      "tree": "b132e996ec44b221806be058714d348385a6057a",
      "parents": [
        "bdc669ad0d7ed1189f2e74cd181fa56004737b51",
        "65164c32acec7d25c0db45c3bd38589fc7067d50"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 29 00:16:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 29 00:16:18 2020 +0000"
      },
      "message": "Merge \"aaudio: remove LOG_ALWAYS_FATAL_IF from metrics\" into rvc-dev am: 1100c1d18e am: 65164c32ac\n\nChange-Id: I67e73ead31daa0f220f4b8474dd830b99e928dbf\n"
    },
    {
      "commit": "eb64895ba449f7d4297def3aaf8b695ac0c32cff",
      "tree": "b132e996ec44b221806be058714d348385a6057a",
      "parents": [
        "b4a3624bf8db0094170eaf23c283d6c68d05921d",
        "1100c1d18e0679da1152b31f787eefd282ff5b0d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 29 00:03:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 29 00:03:23 2020 +0000"
      },
      "message": "Merge \"aaudio: remove LOG_ALWAYS_FATAL_IF from metrics\" into rvc-dev am: 1100c1d18e\n\nChange-Id: Id1014d5414e5781977e2054b60afc33dad705a0f\n"
    },
    {
      "commit": "60c0c5e2787b1f46e14ace2cdbb39699cf9fc437",
      "tree": "290b53542bd090c9a29df95878959f236b0b2a38",
      "parents": [
        "ec660f185a1e212b1d22125de81e9bd1d0ff58a3"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 28 14:16:38 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 28 14:40:26 2020 -0700"
      },
      "message": "aaudio: remove LOG_ALWAYS_FATAL_IF from metrics\n\nOld assert was for debugging. No longer needed.\nCaused a CTS failure in MediaMetrics logging.\n\nBug: 155188361\nTest: atest CtsNativeMediaAAudioTestCases\nTest: adb shell dumpsys media.metrics\nChange-Id: I592937d6a0683faf6835d3f0d5a982d02f59e7a9\n"
    },
    {
      "commit": "03675d39999b4e712cbd0e87de1794e9782f1e7d",
      "tree": "53b21a6b3f37d15391d9f5b80c694f91b84ab6b2",
      "parents": [
        "b3dde8e92a8685b3a2e299cd241fb372c52dd19b",
        "4a7b8e414c7e613fb5e1d5946d3bb7da696ae5b4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 23:15:38 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 27 23:15:38 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Track AudioTrack and AudioRecord callers\" into rvc-dev am: 2578a95a57 am: 164ceef8b6 am: 2e28a7bafb am: 4a7b8e414c\n\nChange-Id: Idbd49b54a4e4877e03eb5432fab1d098394b79e9\n"
    },
    {
      "commit": "2e28a7bafb043969f3bf38d692abd6aa60417837",
      "tree": "a29a2d0f1a24e396947166485a3f29bb5f48dfd4",
      "parents": [
        "7c7c184132cc2ffd7156b46f54c582595c17f0b2",
        "164ceef8b6a1aa56a50e698abaa5abb4622c024d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 23:09:10 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 27 23:09:10 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Track AudioTrack and AudioRecord callers\" into rvc-dev am: 2578a95a57 am: 164ceef8b6\n\nChange-Id: I726dd024cdf70328bdda6c0d4d137742b3cdb396\n"
    },
    {
      "commit": "47144e50c87f7eaf5468335f477ca4daae0866b4",
      "tree": "a29a2d0f1a24e396947166485a3f29bb5f48dfd4",
      "parents": [
        "b58dd318a0f791fd829e5bdb0a4e3013e33f8e8d",
        "2578a95a57dd9796b55095dc22b8171dd5da73c3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 22:56:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 27 22:56:09 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Track AudioTrack and AudioRecord callers\" into rvc-dev am: 2578a95a57\n\nChange-Id: I7f325541010d6a82f84f2670bb4e5fd28c780e1c\n"
    },
    {
      "commit": "a6b270399fdacb09826e751657b7bb321652e3ac",
      "tree": "10091ff0524d2d29dcda00e63630d0f51b300655",
      "parents": [
        "669acb12c3092e581a1ecc347e6d573e96c8ca0e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 10:34:24 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 11:41:38 2020 -0700"
      },
      "message": "MediaMetrics: Track AudioTrack and AudioRecord callers\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nBug: 153658358\nChange-Id: If2b0a792cf4cc6c5b125513861b3dfb257bb3cbe\n"
    },
    {
      "commit": "25d9408201d6b1a7c2da64ce9ea62048a2a472c4",
      "tree": "0589293c0cba323f5ea5563acb2c4941086f4743",
      "parents": [
        "d7996c15c1d7ce06d05bd410884a04457497f55b",
        "b82d89e01defe33e26076d6523cd69019405aed5"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 24 20:24:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 24 20:24:21 2020 +0000"
      },
      "message": "Merge \"audioflinger: add setCallerName() to AudioTrack\" into rvc-dev am: 02d69c15b6 am: 0f11bd974f am: 1966cd5af1 am: b82d89e01d\n\nChange-Id: Ie4b3ff4f43bf59c5ef7d728600b35f8992a3de68\n"
    },
    {
      "commit": "1966cd5af10eb55b93a28e28f0d6a49b11c1ca3f",
      "tree": "56d3db1cc4f526f67a42f3ace215e296d3aa7f00",
      "parents": [
        "0054ead711b6022cd6112c2a206fd53023e3f0b9",
        "0f11bd974fba2b56ad3e9f3e611ad30fe1a2af2c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 24 20:04:40 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 24 20:04:40 2020 +0000"
      },
      "message": "Merge \"audioflinger: add setCallerName() to AudioTrack\" into rvc-dev am: 02d69c15b6 am: 0f11bd974f\n\nChange-Id: Ia01179a9774bc46b770b843bba86eaefdf591a86\n"
    },
    {
      "commit": "450308011ee5010ecf7357c8aa46ccf9cab67776",
      "tree": "56d3db1cc4f526f67a42f3ace215e296d3aa7f00",
      "parents": [
        "04a1d7c3073a5613786dfa29f58d237ae02059dc",
        "02d69c15b683418de39901a74f1eea8ddbfcbf40"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 24 19:52:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 24 19:52:35 2020 +0000"
      },
      "message": "Merge \"audioflinger: add setCallerName() to AudioTrack\" into rvc-dev am: 02d69c15b6\n\nChange-Id: Ic0af3ba541c33a2ae928bf8a985dd503c2a3e1cd\n"
    },
    {
      "commit": "d3813f35753a8ce43b289656de2649fdf1afaacc",
      "tree": "c13f9f04349fdfe3ad043c8bdafaa4757e3a30ff",
      "parents": [
        "cc40c5fa11767eb9a87cf6e1a5e8a99d6cec2847"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 23 16:26:15 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 24 11:13:09 2020 -0700"
      },
      "message": "audioflinger: add setCallerName() to AudioTrack\n\nAnd also to AudioRecord.\nThen log the callerName using MediaMetrics from the destructor.\n\nThis can be used to tell whether AAudio or OpenSL ES\nor Java created the object.\n\nBug: 154543374\nTest: adb shell dumpsys media.metrics --clear\nTest: Run an app that uses audio.\nTest: adb shell dumpsys media.metrics\nTest: Look for \"callerName\" in the dump.\nChange-Id: I000346e72f581d2e40ef4fd0410b579d2a1224e2\n"
    },
    {
      "commit": "14e66bc77d437be6f670873f88f8b343340c9f36",
      "tree": "11a23e4203aacca651b5bdef5c0ad8e2c0e72a98",
      "parents": [
        "379218dacf82eb256d6d478fed7448a0a47d01e2",
        "740a7726626681cc60bc3693d583a81d01f9b9ae"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 24 15:23:05 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 24 15:23:05 2020 +0000"
      },
      "message": "Merge \"aaudio: add MediaMetrics for MMAP streams\" into rvc-dev am: cc40c5fa11 am: 424369b7b5 am: faae9a4970 am: 740a772662\n\nChange-Id: I4dc4363c80a554e8351b8a94818ded136048a519\n"
    },
    {
      "commit": "faae9a49706405f29cb6513b15c968f13d5889eb",
      "tree": "57e18d652a0daac9904248d4eb13fe0b18eeac39",
      "parents": [
        "4370e4346c965ee749073d4e44689386fd5bc77f",
        "424369b7b522360797adb1e64ddfb7b09c8ea7cc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 24 14:48:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 24 14:48:18 2020 +0000"
      },
      "message": "Merge \"aaudio: add MediaMetrics for MMAP streams\" into rvc-dev am: cc40c5fa11 am: 424369b7b5\n\nChange-Id: I56c6e3c8752cc2e4ebde8b30867d7a8c6ca327e8\n"
    },
    {
      "commit": "d74b9c0efbc0a7cce9c7aaa0204414612a64d8d9",
      "tree": "57e18d652a0daac9904248d4eb13fe0b18eeac39",
      "parents": [
        "3de3935a515ecefea19f5dbd251191fc63c20795",
        "cc40c5fa11767eb9a87cf6e1a5e8a99d6cec2847"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 24 14:41:54 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 24 14:41:54 2020 +0000"
      },
      "message": "Merge \"aaudio: add MediaMetrics for MMAP streams\" into rvc-dev am: cc40c5fa11\n\nChange-Id: I95149514982f70f1eb2cef58978a46ecf3bbb5dc\n"
    },
    {
      "commit": "cc40c5fa11767eb9a87cf6e1a5e8a99d6cec2847",
      "tree": "7d2a46abbe29eb5b8ce6afacdf673eab55823ba5",
      "parents": [
        "784745befac68d978fe7abf09f0aeea33fb0e4ff",
        "a9876703e89afa6db42913d48e2360b7dad98725"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 24 14:30:58 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 24 14:30:58 2020 +0000"
      },
      "message": "Merge \"aaudio: add MediaMetrics for MMAP streams\" into rvc-dev"
    },
    {
      "commit": "a9876703e89afa6db42913d48e2360b7dad98725",
      "tree": "4e51b01b2fa4be83868318a1619e3b7c2f42f36e",
      "parents": [
        "6e89a0704605f4750f87a3243495b175c67e6fbb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 20 18:16:15 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 23 18:00:10 2020 -0700"
      },
      "message": "aaudio: add MediaMetrics for MMAP streams\n\nLog events from service.\nLog start, stop, disconnect and other events.\nLog underruns and bufferSize.\n\nBug: 154543374\nTest: adb shell dumpsys media.metrics --clear\nTest: run an app that uses MMAP, like OboeTester\nTest: adb shell dumpsys media.metrics\nTest: Expect to see lots of \"audio.stream\" events.\nChange-Id: I690e5226b695d53d038d644f4438c759e08f9fbb\n"
    },
    {
      "commit": "a1f5a6bd2f29158004cd86e02ffc9e1f3a2b815b",
      "tree": "04a21b10afbd16c07a5dda36f9435ef8185711e6",
      "parents": [
        "7cdcd1ee35b1b0cb44c8c1c0d0d5837d455f02a8",
        "dabe5cb202339667fe2a337a1f8669812964be94"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 21 04:56:26 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 21 04:56:26 2020 +0000"
      },
      "message": "Merge \"aaudio test: add tests for after release\" into rvc-dev am: e202fc24bc am: 9ddc336498 am: 34ecdeab32 am: dabe5cb202\n\nChange-Id: I02626906541f6e99c736208eaed8b31a24b3d89a\n"
    },
    {
      "commit": "9ddc336498d698a9d18fc0bdb4ddb1041421fdeb",
      "tree": "f0fa67821148a83ca82c8012f04f01aca609cbfe",
      "parents": [
        "03435d7d26f6d19d6c1cc6908bf38e5f34600781",
        "e202fc24bc2b4916ddfd8e52b5a7bffb9b5898e9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 21 04:06:27 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 21 04:06:27 2020 +0000"
      },
      "message": "Merge \"aaudio test: add tests for after release\" into rvc-dev am: e202fc24bc\n\nChange-Id: I153bed65878d84e24b50e44382f36a9090cdf563\n"
    },
    {
      "commit": "cc131ba465340201560fec288e9f8a063838dffa",
      "tree": "f9aa7fff07968c48cdc0d78f0e4c9cec79537e83",
      "parents": [
        "6e89a0704605f4750f87a3243495b175c67e6fbb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 17 08:25:30 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 20 18:59:39 2020 -0700"
      },
      "message": "aaudio test: add tests for after release\n\nCall various functions after calling AAudioStream_release().\n\nBug: 154274446\nBug: 154274027\nTest: this is a test\nChange-Id: Ia0938362502b15a4ae5608f0619e0bc5ce78ca22\n"
    },
    {
      "commit": "f5e1c87238842fca5b1d5b3fc51899fc031624fa",
      "tree": "1bc447d20476af99043f06897d8ecd2012879d60",
      "parents": [
        "3454d9b5fcefc861d4d6d6996f5aeadaefa216d7",
        "711dffc1d80d8df2fea93e5d60fe5c3448a14bf8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 20 23:28:26 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 20 23:28:26 2020 +0000"
      },
      "message": "Merge \"aaudio: free endpoint to prevent crashes\" into rvc-dev am: 6e89a07046 am: a3155e1a1b am: 847a012e34 am: 711dffc1d8\n\nChange-Id: I852d5ca6368cd5f80a70efcc4cd86a52277a42b0\n"
    },
    {
      "commit": "3454d9b5fcefc861d4d6d6996f5aeadaefa216d7",
      "tree": "b11b08fb54fd52e2cd4f6e2f2586b8b90e3db062",
      "parents": [
        "76564a2447adb92ae74dba66b7570affa81ff017",
        "7af1e4d2c0672d33d29321bd880559751a77004c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 20 23:28:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 20 23:28:19 2020 +0000"
      },
      "message": "Merge \"aaudio: prevent starting from wrong state\" into rvc-dev am: 67dc6a8173 am: a13c927e84 am: 46c9747766 am: 7af1e4d2c0\n\nChange-Id: Idd95af330b9a59c1365e5595ff8772e88edd6669\n"
    },
    {
      "commit": "a3155e1a1b73ff31f554e331d7fafc0379cc028e",
      "tree": "42ac4aed3beec565f3c318a344ce0de0cb58fe2a",
      "parents": [
        "a13c927e84cc21f01140f14bcb5ba32fca0fc80a",
        "6e89a0704605f4750f87a3243495b175c67e6fbb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 20 22:37:03 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 20 22:37:03 2020 +0000"
      },
      "message": "Merge \"aaudio: free endpoint to prevent crashes\" into rvc-dev am: 6e89a07046\n\nChange-Id: Ieaddd431a350b4ebb9ebae0c544c7a9c573de132\n"
    },
    {
      "commit": "a13c927e84cc21f01140f14bcb5ba32fca0fc80a",
      "tree": "e28fc4beca5ce42bafa1e153e579dc6b856f0890",
      "parents": [
        "9ece4e96a0f4607d95a036a5ca7c919c2d790bcd",
        "67dc6a817304168d2b7db4e09cd622814ee39430"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 20 22:36:56 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 20 22:36:56 2020 +0000"
      },
      "message": "Merge \"aaudio: prevent starting from wrong state\" into rvc-dev am: 67dc6a8173\n\nChange-Id: Idd68ebcc1ef6cc099ddfb4ff71d9ac56353dab71\n"
    },
    {
      "commit": "5edc4eaef4e3950cf1e2642b9b1bd9209b78adc1",
      "tree": "fd017115b7fc03a9c6e1614a0710a70856a77714",
      "parents": [
        "2a52ad31f4880e46056566c99246749238dc5e5f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 17 08:15:42 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 20 13:43:54 2020 -0700"
      },
      "message": "aaudio: free endpoint to prevent crashes\n\nFree the AudioEndpoint and check for nullptr to\nprevent accessing shared memory that had been freed.\nThis is to protect against calls to the stream after\nAAudioStream_release() has been called.\n\nBug: 154274446\nBug: 154274027\nTest: libaaudio/tests/test_various.cpp\nChange-Id: I194d502fd48c4d31602ffce76aca6b28753ad7d2\n"
    },
    {
      "commit": "2a52ad31f4880e46056566c99246749238dc5e5f",
      "tree": "942d94b80c67abcf0518ac63e868e6d56e666fc7",
      "parents": [
        "ccc44f3f72a8d65c1d9fa829515eab478c647ebc"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 17 10:28:41 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 20 13:41:12 2020 -0700"
      },
      "message": "aaudio: prevent starting from wrong state\n\nPrevent start after disconnect or release.\nPrevent start when already started.\n\nBug: 154272447\nTest: libaaudio/tests/test_various.cpp\nChange-Id: Ic17f45cb7d47563dbdd05a3535d419fbe3b286a4\n"
    },
    {
      "commit": "d9b22c542e169c58e4b1a14d085b58f1ad4e0780",
      "tree": "a8cc1e99b92cc9ef533f874ffd6d8420ea51116e",
      "parents": [
        "4fa746d27d249f858afdf90a6c7181a3a876de3f",
        "076046b46609cc82aae49f8fd7fe060d9bb8c7b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 18 03:55:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Apr 18 03:55:19 2020 +0000"
      },
      "message": "Merge \"aaudio test: check for uninitialized callback buffer\" into rvc-dev am: 06eea6e497 am: d77db34489 am: 705bb99f4f am: 076046b466\n\nChange-Id: I20031b294e5c11a58bd141fe6f8cc7d475ca690c\n"
    },
    {
      "commit": "705bb99f4f26157587396a9be3701d18a9d7756b",
      "tree": "9d2e17309295f09226dd63bcdb4519fe56f6b202",
      "parents": [
        "ed339f0c32726577549268f892b11963a930b272",
        "d77db3448974abb88a15dbc12296f33392219806"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 18 03:20:59 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Apr 18 03:20:59 2020 +0000"
      },
      "message": "Merge \"aaudio test: check for uninitialized callback buffer\" into rvc-dev am: 06eea6e497 am: d77db34489\n\nChange-Id: If3d7ece9d58a06cf4ab725c8b2bf4e4a5c30293a\n"
    },
    {
      "commit": "98333e7e503ebe99ee1b00356d7e74785ce5e32d",
      "tree": "9d2e17309295f09226dd63bcdb4519fe56f6b202",
      "parents": [
        "e20040df55a511f98aae5226bc4cc06ab9480a9e",
        "06eea6e497be029e3d1074cff8cab7a80d2f1c88"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 18 03:01:20 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Apr 18 03:01:20 2020 +0000"
      },
      "message": "Merge \"aaudio test: check for uninitialized callback buffer\" into rvc-dev am: 06eea6e497\n\nChange-Id: Ib7460bc65128d98307532769653f5febccfecee6\n"
    },
    {
      "commit": "93d5367e6d98ac208a246205ceb95cc5aface3ba",
      "tree": "2ec43d65305ebac43118c4e7dd774bf0201afa44",
      "parents": [
        "c535969f37f4857bed52c4ab8b05eeed43b077d8",
        "5d53b6f25807def3fa462d4f61777bc67bdd0043"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 18 00:55:55 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Apr 18 00:55:55 2020 +0000"
      },
      "message": "Merge \"aaudio: initialize the callback buffer\" into rvc-dev am: 398fe58cbc am: bde841108d am: 2574160113 am: 5d53b6f258\n\nChange-Id: I17e3c5a1fc54634fcd1acdc50969bedf1ff215df\n"
    },
    {
      "commit": "257416011363198a8e8fcf2dcb694fd9987ee100",
      "tree": "c484658783fb42a68616606f9f3778ed1daad187",
      "parents": [
        "1d868786a28ba922cdb87f16f5be9983796a6609",
        "bde841108dc08ffeebc31d4910e9e1d6fa030d1e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 18 00:21:42 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Apr 18 00:21:42 2020 +0000"
      },
      "message": "Merge \"aaudio: initialize the callback buffer\" into rvc-dev am: 398fe58cbc am: bde841108d\n\nChange-Id: I0e9656225bb76f4a31b985aeefdf134b24cddeeb\n"
    },
    {
      "commit": "e20040df55a511f98aae5226bc4cc06ab9480a9e",
      "tree": "c484658783fb42a68616606f9f3778ed1daad187",
      "parents": [
        "a055c82b6d39838876632dbbc8e1f293094c4b80",
        "398fe58cbc76a61257934f195767b05ee0942563"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 18 00:03:55 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Apr 18 00:03:55 2020 +0000"
      },
      "message": "Merge \"aaudio: initialize the callback buffer\" into rvc-dev am: 398fe58cbc\n\nChange-Id: If8cd3a147dad141f9304e4fa16bac72ef3c55f15\n"
    },
    {
      "commit": "9cf2382a913add09726934203270215beae3415e",
      "tree": "59823b0f550fcb892cebda45b2937317778a8874",
      "parents": [
        "bf821e2c39ac948d43e3fa19f6f517317e195060"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 17 11:53:35 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 17 15:12:24 2020 -0700"
      },
      "message": "aaudio test: check for uninitialized callback buffer\n\nThis can cause unexpected noise.\n\nBug: 154342174\nTest: this is a test\nChange-Id: I358dfa66ed5922eede38b902c36973740f6ab494\n"
    },
    {
      "commit": "bf821e2c39ac948d43e3fa19f6f517317e195060",
      "tree": "f6b8d1648690a9773a61fe49873ae7a3de24597d",
      "parents": [
        "01d9c845f00cae661e1764162f36d5156871a60b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 17 11:51:43 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 17 14:55:24 2020 -0700"
      },
      "message": "aaudio: initialize the callback buffer\n\nThis can prevent some loud noises during unit tests.\n\nAlso use std::unique_ptr\n\nBug: 154342174\nTest: libaaudio/tests/test_various.cpp\nChange-Id: I1c1dc0f4a6a29cf7d7a656392a81a325847de22d\n"
    },
    {
      "commit": "862ee7ee0f815400b7a568c10c111cfd2f653fbe",
      "tree": "9cc82c1f16a57927db9d8393bbc2134f4500e5dc",
      "parents": [
        "4087fb1c8d42d9f54a37548b834aaa6c9eeaaf61",
        "adbfba3edb2285eb326b0f23cbe2ed0ec947b10e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 15 23:02:46 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 15 23:02:46 2020 +0000"
      },
      "message": "Merge \"AAudio AudioStreamLegacy: refine handling of AudioTrack teardown\" into rvc-dev am: 01d9c845f0 am: 04ebec3d82 am: 668de51800 am: adbfba3edb\n\nChange-Id: Ic699431c77cf2a54b18283ac2be686106e0a0eee\n"
    },
    {
      "commit": "668de51800651e935e8bb15efb1a9462ae9ae3e8",
      "tree": "80eedb44e40eeedee1818be10d18c587c706b789",
      "parents": [
        "b42d0df9c3bd04199fd20b1ba1995ea446803f89",
        "04ebec3d82f5a1aef333868ae4b40b9b2733eb7c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 15 22:27:54 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 15 22:27:54 2020 +0000"
      },
      "message": "Merge \"AAudio AudioStreamLegacy: refine handling of AudioTrack teardown\" into rvc-dev am: 01d9c845f0 am: 04ebec3d82\n\nChange-Id: I81ce0c8abe9f39a71f4238215fb34549764e220b\n"
    },
    {
      "commit": "511614002fca7d7e9e9fc605859362c136ef6f22",
      "tree": "80eedb44e40eeedee1818be10d18c587c706b789",
      "parents": [
        "f972bfa7e61f7a8b6297fd310aac1906291b83bb",
        "01d9c845f00cae661e1764162f36d5156871a60b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 15 22:15:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 15 22:15:49 2020 +0000"
      },
      "message": "Merge \"AAudio AudioStreamLegacy: refine handling of AudioTrack teardown\" into rvc-dev am: 01d9c845f0\n\nChange-Id: Ib5d8e61c5104d8b1104836983a2d8d50597d5c8a\n"
    },
    {
      "commit": "68eff0530814ab4e0d29580885fec8de0bd37c96",
      "tree": "bf149b7f4be4d769714d18c4559052ec2058f0dc",
      "parents": [
        "433ccf7dca6db9ffd774cd10d539ccf9d62e3f46"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 10 18:28:41 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 15 20:24:42 2020 +0000"
      },
      "message": "AAudio AudioStreamLegacy: refine handling of AudioTrack teardown\n\nDo not systematically request a stream disconnect upon\nEVENT_NEW_IAUDIOTRACK received AudioTrack but only if the new\naudio Track properties have changed in such a way that the initial\ncontract is broken.\n\nBug: 139763500\nTest: OboeTester TEST DISCONNECT\nTest: OboeTester TEST OUTPUT while enabling/disabling Live Caption\nChange-Id: I3b43275a888e23471fcd1ce20725f5731a77a255\n"
    },
    {
      "commit": "07c0312f11f4f7509a36921f4ed22433ebceacc0",
      "tree": "fc517b86118e115dc3e376adf74747f74afb7c09",
      "parents": [
        "01c446f40cd72b774ff21e17c09a425306048d06",
        "d64ad9d290679aff090861cdc042725ec7b9a08b"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Apr 14 03:16:54 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 14 03:16:54 2020 +0000"
      },
      "message": "Merge \"Include what you use: \u003cunistd.h\u003e\" am: 8a71223d5a am: 42c1c38d7f am: 887b1a3719 am: 377f1f53c2 am: d64ad9d290\n\nChange-Id: I0350ac8d703ba2073c7140ea62c9cae9791e6789\n"
    },
    {
      "commit": "887b1a3719b31f605147c5ee580f42f769d3e9ee",
      "tree": "f76572a43fc4ebf5c967e5537cb8c45f7ded08b8",
      "parents": [
        "da4faa6c2e50b6ab28dfd9a40289313239319d16",
        "42c1c38d7f0340f448b38dcf228b2e7753a2bcd2"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Apr 14 02:10:00 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 14 02:10:00 2020 +0000"
      },
      "message": "Merge \"Include what you use: \u003cunistd.h\u003e\" am: 8a71223d5a am: 42c1c38d7f\n\nChange-Id: I7487c7d3e566736733b6510072f6a32c2c4534ac\n"
    },
    {
      "commit": "42c1c38d7f0340f448b38dcf228b2e7753a2bcd2",
      "tree": "5c2d51a723e7514ae3f31fdcbba7022e4143f31a",
      "parents": [
        "1c09d740e714fa8963a2399eed953cc2015f2519",
        "8a71223d5a998fd743ac3b25a799bc2cfedf2f86"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Apr 14 01:48:52 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 14 01:48:52 2020 +0000"
      },
      "message": "Merge \"Include what you use: \u003cunistd.h\u003e\" am: 8a71223d5a\n\nChange-Id: Ia9c0bba3fa290221d00bbfd7aec4aab65db5e4f0\n"
    },
    {
      "commit": "7ae782545020eec1bfb9eb74e690ae26e2cca7fa",
      "tree": "b99f5db2f4d75aeddb175896c3fa67070b21154e",
      "parents": [
        "2ac41184ae00b2e99e55d995944288f33b2fce49"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Apr 13 15:20:50 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Apr 13 15:20:50 2020 -0700"
      },
      "message": "Include what you use: \u003cunistd.h\u003e\n\nThis was transitively included, but no longer is, so it must be\nexplicitly included.\n\nExempt-From-Owner-Approval: Janitorial\nTest: build\nChange-Id: I78268a4867697bf797d40b5fead3745fdd0cc807\n"
    },
    {
      "commit": "eda54be87116a1f9fab90bdaffabc8d24f43dba7",
      "tree": "26b3f0fd3d4fb2ae346078c046c99af4acf749d3",
      "parents": [
        "a45868d81e342c43a87adbdafd02bad4e2d4c3e5",
        "fd04cc4b8af79896ea0981c53b7d4bceaefdfce7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 09 08:46:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 09 08:46:21 2020 +0000"
      },
      "message": "Merge \"aaudio: minor cleanup in clock model\" into rvc-dev am: ef0ade40f3 am: b86c9af112 am: 4c3c226785 am: fd04cc4b8a\n\nChange-Id: I62970c58a321bae11c8d938b1db2c9799a621000\n"
    },
    {
      "commit": "ef0ade40f3acb3a9e95ad5f2efd2e6c4f8503824",
      "tree": "febd15b572587e578abd645ff80214c605e48fa4",
      "parents": [
        "4023d73e132d0170005e8acd922667fc8287ee86",
        "9e1f44b72a6a54520cbe07dc465af4678db315eb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 09 07:57:31 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 09 07:57:31 2020 +0000"
      },
      "message": "Merge \"aaudio: minor cleanup in clock model\" into rvc-dev"
    },
    {
      "commit": "8a697405186361b2d9ebba2fd7c78d74edc55bb1",
      "tree": "b779f902a615f3238756e2cb0009c692b68a3af5",
      "parents": [
        "80d29a853024f000bff3106aebdfe3956fd54ade",
        "f0fba1dc2184ee7ceb1269cec94ccf78c72b33dc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 09 04:08:41 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 09 04:08:41 2020 +0000"
      },
      "message": "Merge \"aaudio: use minimum of one burst in buffer\" into rvc-dev am: 4023d73e13 am: 1fb4d80d5e am: a13f54458d am: f0fba1dc21\n\nChange-Id: I0ec0171f248f45657fdf08f49022919d27f9e259\n"
    },
    {
      "commit": "5347dca057618fd5aec3a9f11e357d69632b60e6",
      "tree": "4912b03e4fbf60ad400945c659c4f64b508f9749",
      "parents": [
        "7631aebd245289db732defca7f0d93d6528390ed"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 08 16:31:07 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 08 16:31:07 2020 -0700"
      },
      "message": "aaudio: use minimum of one burst in buffer\n\nThe old minimum was zero, which minimized latency\nbut was probably too aggressive for some devices.\nIt is better to avoid glitches.\nBecause of other changes in AAudio MMAP, this will\nhave the same latency as earlier version,\nbut better immunity from glitches.\n\nBug: 153589709\nTest: launch OboeTester\nTest: tap TEST OUTPUT\nTest: tap OPEN and START\nTest: notice that actual buffer size will be 1 * burstSize\nChange-Id: Ie53352a0589c710be11f74e995bd12be4f7c45a8\n"
    },
    {
      "commit": "9e1f44b72a6a54520cbe07dc465af4678db315eb",
      "tree": "841f306e598f4f233af1f6f419aff78b058137aa",
      "parents": [
        "7631aebd245289db732defca7f0d93d6528390ed"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 08 16:02:05 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 08 16:02:05 2020 -0700"
      },
      "message": "aaudio: minor cleanup in clock model\n\nInit mMaxMeasuredLatenessNanos\nUse default destructor.\n\nBug: 137009840\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: Ia9b42e4754047f5e87205c4adbc3329a1b96e74b\n"
    },
    {
      "commit": "05ebb33f4adffa5379dac7d9787f00ef4c6f8983",
      "tree": "9c0d3e8d8180ac2d1fa71de25aad2366e42a3bb4",
      "parents": [
        "cb686d46c17eca5332ccbf4c43e3ad41067588e7",
        "3a8179c118d1fae044f9d061d36ab57d6bb7d67a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 31 06:12:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 31 06:12:18 2020 +0000"
      },
      "message": "Merge \"Add audio attributes info when starting aaudio tracks on MMAP mix.\" into rvc-dev am: 1cfbd0a8a1 am: a25686df22 am: d3596d6e2a am: 3a8179c118\n\nChange-Id: Ibb8d2a1287ec51ad5808b22c4aab6245b0c50d9a\n"
    },
    {
      "commit": "d1f1cb68f567363a0b1e4cd4db6286afc6c8a1e2",
      "tree": "3b32985218612d05bf95fed08c18025d1735b2d4",
      "parents": [
        "06675ff30f63323905ff18c3c4e0d34a9fee4c60"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Mar 24 11:57:57 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Mar 27 11:33:09 2020 -0700"
      },
      "message": "Add audio attributes info when starting aaudio tracks on MMAP mix.\n\nIn aaudio, when adding tracks to mixed stream, it is needed to update\naudio attributes to HAL whenever the tracks are added or removed.\nCurrently, only the audio attributes used to open the stream will be\nsent to the HAL. In that case, adding audio attributes of the clients\nwhen starting the stream can help solve the problem. In audio flinger,\nthe client\u0027s audio attributes will be used to create MmapTrack.\n\nTest: play multiple aaudio tracks, add log\nBug: 77279923\nChange-Id: Ic1c536049e194a2bb7513425ee4828d52769d27f\n"
    },
    {
      "commit": "a3ded4badc9906ab9916d878009f1beb4791ce79",
      "tree": "7b9a6341450c779b30fed9844aa158ee5099bb4d",
      "parents": [
        "f110ec04f9c11e88d9d2f2d984a5f0d519d5f0db",
        "dbc9c5a3203dad5ffd5fe86b6f63c53020a82940"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 25 02:35:34 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 25 02:35:34 2020 +0000"
      },
      "message": "Merge \"aaudio: add checks for Binder return codes\" into qt-qpr1-dev am: d37b50dfb7 am: dbc9c5a320\n\nChange-Id: I836f6955c45d6e1feda4776ff6f90c35a207b0f9\n"
    },
    {
      "commit": "38ef26a93fe283da43048cef8071de46eb379238",
      "tree": "1c4c2149674a36222da368c8f38ced9bea5592b9",
      "parents": [
        "bc8a9381f5bed2dc8804644dd57e5b1777994858"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 06 14:52:15 2020 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Mar 16 20:00:24 2020 +0000"
      },
      "message": "aaudio: use unique_ptr in FixedBlockAdapter\n\nCode cleanup.\n\nBug: 151650670\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: I980862379ade9b6cc62f1743c916208e3911a00a\nMerged-In: I980862379ade9b6cc62f1743c916208e3911a00a\n(cherry picked from commit 2f39c0b0fcbc5b857df2823247d163f2ba1c14a8)\n"
    },
    {
      "commit": "c290f036f4a4d844d7e52b429d2d0c003298a12e",
      "tree": "197a8b33c59363426b6d284195c60ac200ad27de",
      "parents": [
        "61efc6c0f93b75f55134a7be26c290c27f14e6d5",
        "6a807aa9889865579fec111bca01022e6133fa7c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 04 20:21:59 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 04 20:21:59 2020 +0000"
      },
      "message": "Merge \"Remove Doxygen backup files\""
    },
    {
      "commit": "127a8cf037dae62082bf29b305b2386d5a5bd6e5",
      "tree": "70c641bf4d43895156a96f25d8ffea68f3893efd",
      "parents": [
        "27e714376a843ab1026a7f7b1b4740b22a43442c",
        "2f39c0b0fcbc5b857df2823247d163f2ba1c14a8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 24 20:34:55 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 24 20:34:55 2020 +0000"
      },
      "message": "Merge \"aaudio: use unique_ptr in FixedBlockAdapter\""
    },
    {
      "commit": "6a807aa9889865579fec111bca01022e6133fa7c",
      "tree": "578f4d1e23d1e53d998755627bf4e684464724f8",
      "parents": [
        "2ae8501c1b1598f331f5ddb16aa64f46b88247d6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 21 09:56:23 2020 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 21 09:56:23 2020 -0800"
      },
      "message": "Remove Doxygen backup files\n\nTest: N/A\nChange-Id: I6205e231edc14062a10b940a7afa097c97ecbe49\n"
    },
    {
      "commit": "00a61b56186e072a55e2e101a704dc6809685e70",
      "tree": "4d44354280373c9ea3a6a5458419073eed052436",
      "parents": [
        "e03cebc75e19a6034780f77af3d30d151de7f4ee",
        "4b86749458715fbd6c9106100d7ddd54bfdc90ef"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 19 23:48:24 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 19 23:48:24 2020 +0000"
      },
      "message": "Merge \"aaudio: fix callback size for Legacy input\""
    },
    {
      "commit": "2f39c0b0fcbc5b857df2823247d163f2ba1c14a8",
      "tree": "300a4c9fd1024832b9728666572da7e0ae4a26b4",
      "parents": [
        "b5c0071bb7a1c6524deb42ac6643d8fae3106248"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 06 14:52:15 2020 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Feb 18 17:08:03 2020 -0800"
      },
      "message": "aaudio: use unique_ptr in FixedBlockAdapter\n\nCode cleanup.\n\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: I980862379ade9b6cc62f1743c916208e3911a00a\n"
    },
    {
      "commit": "4b86749458715fbd6c9106100d7ddd54bfdc90ef",
      "tree": "d2ada0e90e7fef70575bbe722ccf47b6b80db8b4",
      "parents": [
        "b5c0071bb7a1c6524deb42ac6643d8fae3106248"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 12 10:58:05 2020 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Feb 18 16:40:39 2020 -0800"
      },
      "message": "aaudio: fix callback size for Legacy input\n\nSet the size of the callback buffer based on the device format\ninstead of the app format.\n\nBug: 149249791\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: I0dc5724109a802eea15100782c18986a64e6acd2\n"
    },
    {
      "commit": "b00653c6d4d06736d208a6cacfeae50e886fce49",
      "tree": "4e5187fb8fbaeef03605a7667b46a5513a782820",
      "parents": [
        "cf24ad44c42d177403b8ecbb880ba54a9326b008"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 29 14:23:04 2020 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 06 12:40:51 2020 -0800"
      },
      "message": "aaudio: add checks for Binder return codes\n\nBinder code was calling readInt32() but not checking the return code.\n\nBug: 139473816\nTest: see bug for proof of concept\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: I9246382b657c2a1213d27c66fc006578553f7b1e\nMerged-In: I9246382b657c2a1213d27c66fc006578553f7b1e\n"
    },
    {
      "commit": "415617649cc63b0a7de25613da59f90298793e1e",
      "tree": "a4a70e6b62acaf46d0a007fc8c31ac8ca94c6717",
      "parents": [
        "b5c0071bb7a1c6524deb42ac6643d8fae3106248"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 05 14:20:33 2020 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 05 14:20:33 2020 -0800"
      },
      "message": "aaudio: more docs for AAudioStream_release\n\nDescribe a reason for calling it.\n\nBug: 148954731\nTest: just a comment change\nChange-Id: I0bfe53de84590c8ad72178a21c109af13c3b7e93\n"
    },
    {
      "commit": "d52fb3773863f114f891e456834ba562ceab54aa",
      "tree": "985150cbf4da08d92b8abae16a57a9f0f62df9e4",
      "parents": [
        "69d367771be73184f6eb0c0d84bc64afdb311f18",
        "ba87a5444dcc6d03c75b8a89662ce8bb22dd030f"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Feb 01 18:21:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Feb 01 18:21:18 2020 +0000"
      },
      "message": "Merge \"Remove `pack_relocations: false`.\" am: bd592dc6d6 am: c1607781bd am: ba87a5444d\n\nChange-Id: I43a1aed905a843f00a3f17f83dc67fab79122f7c\n"
    },
    {
      "commit": "a170e61fb4e99fc56ab328b25180d321d278867e",
      "tree": "b45a8cc52707e1b9800c3058077a3352625b0454",
      "parents": [
        "f1de76e5d1f3ec3d7adbb89645b2d6db6995f567",
        "ea5c49e1742b24df216b097034d4be86adc17226"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 30 01:28:25 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 30 01:28:25 2020 +0000"
      },
      "message": "Merge \"aaudio: less alarming message for MMAP\""
    },
    {
      "commit": "ea5c49e1742b24df216b097034d4be86adc17226",
      "tree": "bec7bafdd0c4df6ebe8b345101045d7c27bc7e1f",
      "parents": [
        "3b4c1f0320efc7a54c4ab811727c432cda73dd37"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 29 15:01:41 2020 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 29 15:01:41 2020 -0800"
      },
      "message": "aaudio: less alarming message for MMAP\n\nBug: 80192689\nTest: adb logcat | grep MMAP\nTest: run OboeTester, TEST OUTPUT, perfMode: None, OPEN\nTest: should see \"MMAP not available because\nTest:         AAUDIO_PERFORMANCE_MODE_LOW_LATENCY not used\"\nChange-Id: I164902abcfafb53a34685b9ef9ec5346842e1dda\n"
    },
    {
      "commit": "25532c7698517d734b5044dd325acdff2a857279",
      "tree": "5ee6ee79aee893567b9f572cfa1fbd12d2e510e5",
      "parents": [
        "3b4c1f0320efc7a54c4ab811727c432cda73dd37"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 29 14:23:04 2020 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 29 14:23:04 2020 -0800"
      },
      "message": "aaudio: add checks for Binder return codes\n\nBinder code was calling readInt32() but not checking the return code.\n\nBug: 139473816\nTest: see bug for proof of concept\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: I9246382b657c2a1213d27c66fc006578553f7b1e\n"
    },
    {
      "commit": "e1dd3532549277364663cc7916bde5bd46f6b8a4",
      "tree": "56fe714c195f7d15dbc310b39433a3c5fbc4862d",
      "parents": [
        "9d33c6344d36734f2175bd372f184c7deed4e868"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 10:09:39 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 10:09:39 2020 -0800"
      },
      "message": "Remove `pack_relocations: false`.\n\nThis was added to be able to test on O, but the proper change for O\ncompatibility would be to say `sdk_version: \"26\"` and let the build\nsystem adjust everything that needs changing.\n\nRemove these so we can remove `pack_relocations` entirely.\n\nBug: http://b/147452927\nTest: treehugger\nChange-Id: I4096209180c67128499e0850f2f21762e520b99a\n"
    },
    {
      "commit": "5277625231db4f313115fbcb6cefca7f2dfc2ce0",
      "tree": "288802a30819352b91c3b270329fb41b577928a0",
      "parents": [
        "bccf38e3fa6bc2a372c3a0d38c6274b68c0e5fb7",
        "7c96ea7ff84e1084332548583841735b694bfebd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sat Jan 25 03:44:28 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 25 03:44:28 2020 +0000"
      },
      "message": "Merge \"Remove mediametrics include symlinks\""
    },
    {
      "commit": "8b4e05ecee60bf08c9121c61d69526e076495766",
      "tree": "9879d2a21175f35e47545c03ec1a2a2ba46de933",
      "parents": [
        "0bc6f60e1f036380bd48d022631e6561b90f210c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Dec 17 12:12:09 2019 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 22 13:31:58 2020 -0800"
      },
      "message": "aaudio: add AAudioStream_release()\n\nSplit close into close and release phases.\nRelease() will release hardware and service resources.\nClose() will delete the stream object.\nThis allows us to defer the deletion and avoid race conditions.\n\nThe CLOSING state is used to indicate that a stream has been released.\n\nAdded some test cases to test_various.cpp.\nA lone call to close() will automatically call release() so we should\nhave good code coverage for testing.\n\nBug: 136288001\nTest: adb shell test_various\nTest: atest CtsNativeMediaAAudioTestCases\nChange-Id: Ia648838f30c521ba101f55259dbcd4594c1263cd\n"
    },
    {
      "commit": "773eeb29115ba9dbaf71ae526185b1c584cb76f2",
      "tree": "fc3231a6f9e1b8d6d0f5db2fdc483c8a75d85518",
      "parents": [
        "c55cdbafff6450155d4282a30ef025d6cecf5b3e",
        "76373c2644ac01ebe1eb79aaccf2986c3684cbdd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 22 18:34:48 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 22 18:34:48 2020 +0000"
      },
      "message": "Merge \"aaudio: add missing symbols and tests for capture privacy API\""
    }
  ],
  "next": "76373c2644ac01ebe1eb79aaccf2986c3684cbdd"
}
