)]}'
{
  "log": [
    {
      "commit": "39075258a92d969a6ea438cfe2ad298de01de7ad",
      "tree": "bac30dc7c62357c1678fd8e1de89a8d3c6858411",
      "parents": [
        "86b249c78a265e37a9516a50aee17919b4b22c14",
        "63347a718527003a3a3516f2eebe962f6fee860d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jul 30 18:33:52 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 30 18:33:52 2020 +0000"
      },
      "message": "Merge \"aaudio: Update language to comply with Android\u0027s inclusive language guidance\" am: cf7197e3ce am: 63347a7185\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1375100\n\nChange-Id: I0c7f3a971c70e894f739ed4b6bf7c2d5959bc16c\n"
    },
    {
      "commit": "18142aed005974bf6bee76ece8afaff7c89d0b50",
      "tree": "9e2b532577c0164b0cd6291e86d1a1cd0c9957b0",
      "parents": [
        "3fd4dee8960cd6bccbb21227d43dfef839d33875"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 28 12:44:37 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jul 30 09:39:06 2020 -0700"
      },
      "message": "aaudio: 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: all changes are in comments, so just build\nChange-Id: I53a4a4c2ade03dcde940e6611f7e6b46d12ffe71\n\nChange-Id: I90ebaea4731c6ca95f312b2176792d50dea862ad\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": "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": "62aa0219c222df7318aeae315908ab364413a032",
      "tree": "ba144a4c08568cf6c6a95df49010fe26b420b950",
      "parents": [
        "9c7e2a51e2fb24bbf193b46a3f5e892af19cdfe5"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Nov 06 16:00:58 2019 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Dec 19 15:33:25 2019 -0800"
      },
      "message": "aaudio_loopback: port latency analyzer from OboeTester\n\nIntegrate with aaudio_loopback.\nEventually this could be used in the CTS Verifier for latency testing.\n\nPass std:string back from analyze().\nGeneral cleanup.\n\nTest: adb shell aaudio_loopback\nTest: check the latency.msec value\nChange-Id: Ibf7128d78d47d91e0bf314344ca450d7f70b3ceb\n"
    },
    {
      "commit": "d17c85023ac2058233121b8a94603687c855c997",
      "tree": "39fc63d6f1037eafb71dc8046aefedfadfee9b53",
      "parents": [
        "d203cb92c9c9628b3bead45ec08f826544c1d649"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 24 15:58:35 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 04 17:58:34 2019 -0800"
      },
      "message": "Add explicit private audio recording request\n\nAdd the possibility for apps to indicate that their\ncapture use case is private and that a privileged Assistant\nshould not be able to capture concurrently.\nThis allows to override the default behavior tied to the audio\nsource (e.g VOICE_COMMUNICATION is private by default but\nUNPROCESSED is not).\n\n- Add AAudio API to set and get privacy sensitive mode on input stream\n- Add MediaRecorder API to set and get privacy sensitive mode\n- Modify AudioSource constructor to accept audio attributes instead of an\naudio source to specify the use case.\n- Modify audio policy concurrent capture logic to use audio attributes\nflag instead of audio source to decide of a capture client has\nrequested privacy mode or not.\n\nBug: 137850106\nTest: CTS AudioRecordTest and MediaRecorderTest, manual audio smoke tests\n\nChange-Id: I250ea5da4c1da809ceac0da22ae9bee15b937001\n"
    },
    {
      "commit": "9c63fbe4e0ccbc32086fe96d14877293763f3846",
      "tree": "901c81a2c6350a209ddb6715c160d6bf7fd58c33",
      "parents": [
        "ea58eede918025b277dadd69192590c4ad0a6b74",
        "11966872eedd949041dfe0a905794654a3df49cf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 01 20:11:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 20:11:13 2019 +0000"
      },
      "message": "Merge \"Remove subdirs from Android.bp\""
    },
    {
      "commit": "53c7ddc86cfb214791f2efc85f2e6ea0a35b9b95",
      "tree": "f98f2c287464eaf18e3b88be8f7b8c17734314a3",
      "parents": [
        "662f25f1aa97cb6c97c37e192859361650bf1fa4",
        "bad0f578565f8fa360b8eb72b1d497afae89e2b0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 22:00:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 29 22:00:30 2019 +0000"
      },
      "message": "Merge \"aaudio examples: allow -n0 for minimum buffer size\""
    },
    {
      "commit": "bad0f578565f8fa360b8eb72b1d497afae89e2b0",
      "tree": "ad04d0ee9f0b89d3d9dda9c5fc0fd94f54aab8be",
      "parents": [
        "41852688c913af0961a72bc5e2c2155404ae2038"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Mar 29 11:03:13 2019 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Mar 29 12:45:59 2019 -0700"
      },
      "message": "aaudio examples: allow -n0 for minimum buffer size\n\nDefault buffer size will be 2.\n\nBug: 129545119\nTest: should see requested BufferSize \u003d 0\nTest: adb shell write_sine_callback -pl -n0\nChange-Id: I85d2792537aebec17d96dc7df6f79e34b9f8fddd\n"
    },
    {
      "commit": "11966872eedd949041dfe0a905794654a3df49cf",
      "tree": "7ad77e435903461790f78282853777f389b7bfd0",
      "parents": [
        "71028253b21dfee4e3908916c4182cd0ea140f11"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Feb 22 17:54:19 2019 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Mar 28 23:54:38 2019 -0700"
      },
      "message": "Remove subdirs from Android.bp\n\nsubdirs is meaningless now.\n\nTest: Builds\n\nBug: 129513796\n\nChange-Id: I60130e38b5924b73c5520d884868dd580f5345bf\n"
    },
    {
      "commit": "68646ba64107a19ac0d1af781ddd0b1edd2ed57a",
      "tree": "ac3003975099bef26b63302164468b766c6c9aad",
      "parents": [
        "36b17553b2c3aad4d8f600edd2e82f9a583ee05a"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Mar 20 13:26:49 2019 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Mar 22 17:21:33 2019 -0700"
      },
      "message": "Add aaudio APC opt-out\n\nThe opt-out was only present in the java API but not on the native ones.\n\nTest: atest test_attributes\nChange-Id: I1b84f1a428508e00de65e615b59405b9ee2ba009\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "0a63ec2909f10b72ea7a177373a8a5e3a1d03ab6",
      "tree": "09bf7bba0afadcb6dfebf3f716abf154bc4a8428",
      "parents": [
        "a3550b6ca700f891c7c427eecf6129200e5114ce"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 07 11:21:06 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 07 11:23:30 2019 -0800"
      },
      "message": "aaudio_loopback: Allow specifying input device id\n\nThis is useful when there are multiple audio devices in the system.\n\nTest: use aaudio_loopback on a TV device with USB soundcard connected\n      specify -d\u003cHDMI out device id\u003e -D\u003cUSB in device id\u003e\n\nChange-Id: I60e84132f5974db6f4314c58f76705018e22b7db\n"
    },
    {
      "commit": "aea65a0f1ede2446f05ce186f04a419e36f4e311",
      "tree": "9140d6d186282057f805cd71bd46824cae2ec43a",
      "parents": [
        "d6454722c21495fb5effae4176cc689ec8900f9a",
        "f1533004baafc2eacfe6caea0ebc6e462b74abaa"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 08 01:36:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 08 01:36:26 2019 +0000"
      },
      "message": "Merge \"aaudio: fix hang option in write_sine_callback\""
    },
    {
      "commit": "f1533004baafc2eacfe6caea0ebc6e462b74abaa",
      "tree": "6dccffebf28f33ca23eff522c61d0dc68c16577c",
      "parents": [
        "ffb2516cc730b5ac621ad8a92e827faf4e86b8ca"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 07 13:04:28 2019 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 07 15:56:21 2019 -0800"
      },
      "message": "aaudio: fix hang option in write_sine_callback\n\nWas colliding with -z option for capacity.\nAlso print data size in output buffer.\n\nTest: adb shell write_sine_callback -pl -n2 -h8 -s10\nChange-Id: If64f0876d3a2e1a95426dddf122693dbf3a314cd\n"
    },
    {
      "commit": "05e6b175c806aa4c8a3a99a46f7b0431458a0aa7",
      "tree": "30c645cb8fc6926340182b884dabf6114c0a47db",
      "parents": [
        "ffb2516cc730b5ac621ad8a92e827faf4e86b8ca"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 07 14:46:26 2019 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 07 14:46:26 2019 -0800"
      },
      "message": "aaudio_loopback: fix -n for sine test\n\nAllow -n to specify buffer size for -tm test.\nIt was being forced to the size of the input buffer.\n\nTest: aaudio_loopback -tm -s20 -n2\nChange-Id: I4b71238f17bb87c22602bf86e2b91cfa41e3ae55\n"
    },
    {
      "commit": "a98c1aa621d62635330fef9cc7cce886cecf01c1",
      "tree": "86df1241ed5103915c16708601d9dbb13e79fae9",
      "parents": [
        "fd1ea436c6487e32781a84fe542e0899626d6830"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 31 15:26:03 2019 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 06 17:16:36 2019 -0800"
      },
      "message": "aaudio_loopback: glitch locations, hang callback\n\nVarious improvements including:\nShow frame number of first 32 glitches.\nShow graph at first glitch.\nHang in the callback using -h{msec} option.\n\nTest: Run glitch test for 20 seconds, hang for 40 msec\nTest: adb shell aaudio_loopback -tm -s20 -h40\nChange-Id: I8e0f7bfd89efe907c38093e65e7775f48adf88f7\n"
    },
    {
      "commit": "b2c9f01aa85f6509cfa430d081f7792b5d8449ff",
      "tree": "7d04089f576f6136c2295919454c538fd781712c",
      "parents": [
        "f25675d38948d6e6eefc45f893f659467eab6471"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 26 16:00:36 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 16 15:27:12 2019 -0800"
      },
      "message": "aaudio: loopback test should ignore some read errs\n\nIf the input stream is not yet running then it will return\nINVALID_STATE.\n\nTest: aaudio_loopback -tm\nChange-Id: I752675bf7dd7325beee16f3de24183042632f807\n"
    },
    {
      "commit": "e0a4d2ad61d08734555e79583503d4c5aa48e821",
      "tree": "de6c06517eef6a76706dffd76fd60106bd6bcfe0",
      "parents": [
        "158ce41988f3706465514265eed1d7e4b6fb123c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Nov 05 11:40:36 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Nov 15 13:03:22 2018 -0800"
      },
      "message": "aaudio_loopback: rectify and low pass filter\n\nHelp the autocorrelator recognize the peaks easier.\nReduce false detection of suboctaves.\n\nBetter timing for devices with high latency.\nImprove error reporting.\nSet input capacity based on output burst.\n\nBug: 119032743\nTest: see repro case in bug\nTest: aaudio_loopback -te -pl\nChange-Id: I921c81db882f46ede8988cbdbebda0765e775086\n"
    },
    {
      "commit": "92e1e814316dc7b724e43edb9e58b5007e602d6f",
      "tree": "e86e865eba07cfcb39f5ba49ac1fdb02eff26019",
      "parents": [
        "9b9ac44fbe27e0f4d2096cbe37497ff70343ed44"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Nov 06 13:09:53 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Nov 06 13:11:58 2018 -0800"
      },
      "message": "aaudio examples: make tests portable to O\n\nWorkaround for a recent change in the build that made command line apps\nincompatible with O.\n\nTest:  adb shell aaudio_loopback -?\nTest:  should print help and not crash\nChange-Id: If2a2288249a33c16fa5004b6b7db1a5ff9e22745\n"
    },
    {
      "commit": "45ebf85754dd92e7cb5aa7857b4ce9617619a8e7",
      "tree": "2e06e0170c64a0a9f519674d4af0d8c3624ce6ee",
      "parents": [
        "19ae31192ea7ec56acbdafc398a6b3491e6c642c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Oct 11 12:28:54 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Nov 05 22:02:08 2018 +0000"
      },
      "message": "aaudio test: fix looping multiple times using -l\n\nWait for stream to pause before flushing.\nRemove scary -110 result message.\n\nBug: 68271891\nTest: adb shell write_sine_callback -pl -m2 -n2 -s2 -c2 -l100\nChange-Id: Ide7e7642cbe0b9d43023106a526e8f1e205aab77\n"
    },
    {
      "commit": "5bce4c9f93ed57e78d24eb568476a5907803f82a",
      "tree": "40329bc22064241abc64ea23f4fa149868fb1a6a",
      "parents": [
        "69c9844bed34c367224d5f6219e8410664b2119b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Oct 18 09:29:14 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Nov 05 09:58:18 2018 -0800"
      },
      "message": "aaudio_loopback: improve tolerance to noise\n\nMake silence detector less sensitive to noise by setting the\nthreshold proportional to the measured pulse level.\n\nMake glitch detector less sensitive to noise by setting the\nthreshold proportional to the measured noise level.\n\nReport signal to noise ratio.\n\nImproved printed messages, show state as text.\n\nBug: 117834966\nTest: aaudio_loopback -pl -tm\nChange-Id: I5593cd1ade93ecbcb05f42af07626013d036f29a\n"
    },
    {
      "commit": "10ffb196b3eb826cdcdc2fa20461b7e5492febb7",
      "tree": "cf23a7906763a40c724fe1e01c1a80ced674af90",
      "parents": [
        "0127c1be07d63e046e136126cd465c3fa8977768"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 26 12:09:00 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Oct 03 09:35:16 2018 -0700"
      },
      "message": "aaudio: add callback size options to examples\n\nThis can be used to reproduce the wrap around bug\nin the MMAP FIFO in OC_MR1.\n\nBug: 78139448\nTest: aaudio_loopback -tm -pl -Pl -z120\nChange-Id: I923e60432f1c9777355d12d76609f2d70393f61b\n"
    },
    {
      "commit": "9876eacdbab140e50a69bae1bd5e0020f789fab6",
      "tree": "b42cce20f11b9b7dbbd70b1254830a0897cd3623",
      "parents": [
        "d2e705a7cb2ff043fc7d2ec8a773fdf3910f5f89"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Aug 03 12:00:50 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Aug 03 14:26:28 2018 -0700"
      },
      "message": "aaudio_loopback: do not set buffer capacity by default\n\nThat was causing us to not get a FAST track.\n\nBug: 112186931\nTest: adb shell aaudio_loopback -te -pl -Pl -m1 -n2\nTest: should get PerformanceMode 12 on INPUT\nChange-Id: Ib8b00585a80bdd86f752a5ee37aacd92f06db347\n"
    },
    {
      "commit": "293184487fccf0f1926482ad3d9145949cdc8a3c",
      "tree": "239d61a6fda12f4fd51a69a2b54b2767edff542c",
      "parents": [
        "deb9827a463e77092fd96b4503f9fb50ee0468da"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jul 18 14:17:04 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 18 21:22:36 2018 +0000"
      },
      "message": "libaaudio: remove unused .mk files\n\nThey have been replaced with .bp files.\n\nBug: http://b/32019064\nTest: mmm frameworks/av/media/libaaudio\nChange-Id: I34d20c09f36f79929c0878a62673bd2a3c8ef610\n"
    },
    {
      "commit": "9dcd34f438ed63b2806134368c68cd3004e4dffb",
      "tree": "8df9451253ed236a33f3f805287cf3c0c7df2541",
      "parents": [
        "5f2136e6323c1e241c918a59cd06e715480241cb"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jun 13 16:19:36 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jun 13 17:47:27 2018 -0700"
      },
      "message": "AAudio should not use legacy path if not allowed\n\nTest: mmm frameworks/av/media/libaaudio/examples \u0026\u0026 adb sync data \u0026\u0026\n      adb shell ! /data/nativetest64/write_sine_callback/write_sine_callback -m3\nChange-Id: Ie17c4037c4b61caed07748a0ae79ec950da3c802\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "a2951c5943172b122cfbfd4098b4f6738eab207d",
      "tree": "ea44b223d73a128fec8dde765a21d64efabc6b0d",
      "parents": [
        "7e8214620e57d16a79bec79e5f282ab0ab33459b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 25 15:03:47 2018 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 30 11:41:00 2018 -0700"
      },
      "message": "aaudio: loopback test improved\n\nCheck to make sure input capacity is large enough.\nAdd -B option to set input capacity.\nHandles variable callback size better when setting up the\nloop for Legacy mode.\nNarrower impulse.\n\nBug: 80230720\nTest: this is a test\nChange-Id: I9349cf8248b65850073bfb8178bbb802a93fd684\n"
    },
    {
      "commit": "74ce5e8273a1c3f6ea14ab087f66f7d32ad106d7",
      "tree": "06c122440410717114d405889db529f5c2b35ce6",
      "parents": [
        "6f4512914d90430bf135de221897887638c79f25"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 26 16:01:28 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 30 10:06:53 2018 -0700"
      },
      "message": "aaudio: fix loopback test, track magnitude drift\n\nLoopback test was still reporting some glitches.\nThese were false alarms due to:\n  * starting input before output causing an overflow\n  * not waiting for the input to reach equilibrium with the output\n  * detecting slow drift in magnitude as a glitch\n\nI changed the logic for setting up a test\nand track slow changes in magnitude.\nNow the rare glitch seems to be a real glitch.\n\nBug: 78139448\nTest: this is a test\nChange-Id: Id16d7dc59c0f2e040fe1dfb0337e9ed987d4fd02\n"
    },
    {
      "commit": "ac9d979583c4a10c2ebcf9649d773edf7acce723",
      "tree": "58547ec377102b7b009c96dfc064c15aecfcaff8",
      "parents": [
        "e4fbad4654f0af583bb5f0eb4b7300e3e96eaacf"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 12 10:51:41 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 24 17:52:48 2018 +0000"
      },
      "message": "aaudio example: fix loopback test\n\nSupport both I16 and FLOAT format.\nSilence output at beginning when skipping buffers. Was sometimes spewing noise.\nPrint more information when it fails so we can debug the failure.\nFix getting framesPerBurst from wrong stream.\nTrack when read gets too few frames.\n\nBug: 38268031\nBug: 78139448\nTest: this is a test\nChange-Id: If562856ab2eac607a8bb15da1cc587ae631f7a1d\n"
    },
    {
      "commit": "ba9cb1a8d41529d0b0d44d97e88889e2bd96b66b",
      "tree": "0935f8be4a5c1993fa68282b8e2097e61faaa450",
      "parents": [
        "ec84cede0192c5fe0d0b87f1a1865a75e6d14f38"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 09 12:13:14 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 11 19:40:54 2018 +0000"
      },
      "message": "aaudio: use ArgsParser for input callback test\n\nAllow precise configuration using command line arguments.\n\nBug: 38268031\nTest: this is a test\nChange-Id: I85801f308e99647cf58a2a6d474619cd91ca40b1\n"
    },
    {
      "commit": "dd574cabe69ac8a1b98b1e51952a93d3e77bb7be",
      "tree": "2e1a4bf30cb43f465f6652134a92fa310d66c239",
      "parents": [
        "79d1ed9b6473f4d094aaa6b53f41a6ba92916e42"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 04 14:41:28 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 05 16:29:01 2018 -0700"
      },
      "message": "aaudio: add format option to example programs\n\nSelect format using -f0, -f1 or -f2.\nAdd support for float format to input_monitor.cpp\n\nBug: 38268031\nTest: these are tests\nChange-Id: Idd7dc6c0cc268126d4ea008bcb49693b73a8f81f\n"
    },
    {
      "commit": "4e98efa3b18ba1d72d28358da86f9beb5596588d",
      "tree": "8c0abcfc7d2140381bb312630ae7ef9a607319eb",
      "parents": [
        "fc74d65b875e254b61d5c01569da31909af2cd3c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Feb 05 18:41:55 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Mar 02 12:41:36 2018 -0800"
      },
      "message": "aaudio_loopback: general cleanup, use dlsym\n\nCleanup printing.\nUse dlsym so this can run on O.\n\nTest: aaudio_loopback -tl -pl -n2\nChange-Id: I77b931e59cced32b0cc23076f9b156d082e6bf0b\n"
    },
    {
      "commit": "6d6f3f6d34aab02774ebf9caf641e97432ae157a",
      "tree": "35b41ff407d391e98ee76ae71f34c2d5b47d8e70",
      "parents": [
        "254d783c0db9d7af6b863ad1819f5c4a543a939d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jan 12 17:27:54 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 24 13:16:08 2018 -0800"
      },
      "message": "aaudio examples: add -u -i and -y for attributes\n\nUpdate usage() printout.\n\nTest: this is a test\nChange-Id: I4f7b5b8af26523a7ba09d95bad27f0f131508087\n"
    },
    {
      "commit": "07be14fb96fc5c106ea2b874faf2b768f468eb8e",
      "tree": "01cd8f75542d7581505bef8a5b9e2f09790ac0e1",
      "parents": [
        "f8ad7f85e9891b2614338330c75ae9e946fccc5a"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "message": "Revert \"Audio V4: Split system and vendor Audio.h\"\n\nThis reverts commit f8ad7f85e9891b2614338330c75ae9e946fccc5a.\n\nReason for revert: Breaks the build of multiple devices\n\nChange-Id: I24f17a0fa0c7ba171c4a3639f890e7f4e42f6b1e\n"
    },
    {
      "commit": "f8ad7f85e9891b2614338330c75ae9e946fccc5a",
      "tree": "957d47ddc7419c688dda1d4c1ac3068eda6d894f",
      "parents": [
        "6d7582e9ad858301b3eeff7b187af6c34808cb7e"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 17 15:57:39 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Jan 20 21:39:40 2018 -0800"
      },
      "message": "Audio V4: Split system and vendor Audio.h\n\naudio.h and its dependencies (audio-effect.h, sound_trigger.h...)\nused to be shared between system and vendor code.\n\nThis led to multiple problems:\n\n1) Such sharing contradicts the Treble policy of\nstrict independence of framework and vendor code.\n\n2) When audio.h was changed, every vendor needed to update\nits code in the next release. This meant that audio*.h\nheaders were mostly changed in backward compatible manner.\nNevertheless, for P the HIDL interface and thus the audio.h\ninterface are changed in backward incompatible way.\n(Some enum are becoming 64 bit long).\n\n3) As the headers were common, some API used only by the framework\nneeded to be visible to the vendors (mostly enum values).\n\n4) Treble policy is to support at least one previous HAL version\n\nAs a result the audio*.h headers are now duplicated,\none set for the framework, and one for the vendor.\n\nEach set will evolve independently. After this split,\nthe framework-only APIs will be removed from the vendor headers\nand vice versa.\n\nThe split is implements as such:\n\n + for system code\n\n    - NOT moving the libaudio_system_headers\n      Eg: system/audio.h and system/audio_effects/effect_equalizer.h\n          are still in system/media/audio\n\n    - the legacy audio HAL API that were in libhardware headers\n          are now in libaudiohal_legacy_headers\n      Eg: hardware/audio.h and hardware/audio_effect.h\n          are now in frameworks/av/media/libaudiohal/legacy/\n\n + for vendor code\n\n    - moving libaudio_system_headers and the legacy audio HAL API\n          that were in libhardware_headers in\n          android.hardware.audio.common.legacy@2.0\n      Note that those headers are now versioned, so migrating to a @4.0\n          HIDL HAL will mean changing the legacy dependency too.\n      Eg: system/audio.h, system/audio-effect.h, hardware/audio.h\n          are now in hardware/interfaces/audio/common/2.0/legacy\n\n    - the legacy audio effect HAL API that was in libaudioeffects\n          is now moved in android.hardware.audio.effect.legacy@2.0\n      Eg: audio_effects/effect*.h are now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\n    - the legacy sound trigger HAL API that were in libhardware_headers\n          is now moved in android.hardware.soundtrigger.legacy@2.0\n      Eg: hardware/sound_trigger.h is now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\nlibaudioutil being used by both system and vendor, had\nto be renamed for system to libaudioutil_system.\n\nVendor libs that now depend on the audio.h of a specific\nversion and are not extensively referenced in non google code,\nappend @2.0 to their name.\n\nNote that headers that are not expected to change in the 4.0 HAL are\nleft in all-versions folder to avoid duplication.\nThis is an implementation detail as the versioned libraries export\nthe all-versions headers.\n\nNote that strict vendor-system separation is enforced by the\nbuild-system. The system headers are not available for vendor\nlibs and vice-versa.\n\nNote that this patch is split between numerous git repository (\u003e10),\nall the commits having the same Change-id for searchability.\n\nNote that audio_policy.h is no longer exposed to vendors\nas the legacy audio policy HAL API was never officially supported.\nAs a result the audiopolicy stub implementation has been removed.\n\nTest: compile taimen-userdebug walleye-userdebug\n              sailfish-userdebug marlin-userdebug\n              gce_x86_phone-userdebug gce_x86_phone\n              full-eng aosp_arm aosp_x86-eng\nTest: check that the emulator booted and played audio\nTest: full QA on sailfish-userdebug and taimen-userdebug\nBug: 38184704\nChange-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "4a764a3b450095cef05b6025a72c3876c95b6a14",
      "tree": "c4dc30b51c91f7f3a90a019598d2dbd438450a68",
      "parents": [
        "e2039fd07f3ab04f8d75caf35665bce2aa0111a1"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jan 02 14:21:59 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 04 09:59:40 2018 -0800"
      },
      "message": "aaudio_loopback: use WAV files, reject low gain\n\nSave recording in a WAV file instead of a RAW file.\nAdd a test mode that reads a WAV file, for debugging auto-correlation.\nCleanup printed reports.\nDiscard more input buffers at beginning.\n\nTest: this is a test\nChange-Id: Ib5ea63882eda325b02716a448897007a945f7312\n"
    },
    {
      "commit": "b922c2ece0015071925bdb9fc84984c9df00aee5",
      "tree": "0a434aae7a7b4f416e8843823bf28c1a7f859f12",
      "parents": [
        "a9f0a7be854d844412a39538862901ca68797045"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Nov 29 14:00:30 2017 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Nov 29 14:00:30 2017 -0800"
      },
      "message": "Use -Werror in frameworks/av/media/libaaudio/examples.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: I758a62b26d3c66727963083fa479b995f6696c87\n"
    },
    {
      "commit": "967abf87fadccb728f0e31586d08822012c3b60b",
      "tree": "c2ae6ed15b1656457d5107a2286bca6e5814ab63",
      "parents": [
        "10edfcf70857cc0a22afbbd3fc8f57f0c8a2953a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Nov 21 10:02:34 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Nov 21 13:47:00 2017 -0800"
      },
      "message": "aaudio: force underruns in write callback\n\nTest AAudioStream_getXRunCount() by sleeping in callback.\n\nBug: 38512417\nTest: write_sine_callback -pl -n1 -s20 -c2 -u\nChange-Id: Ib3fe210b764e4202b70c54a609785de89e52a017\n"
    },
    {
      "commit": "609babb1b22abc585dd0b6451883e95fab06d9ca",
      "tree": "b053b5f15ee7d89f83af92441c8146c61e555897",
      "parents": [
        "63ca96305e389e4504ab8d89111dc8719d00161f",
        "9c59bc9c37dab612c9d8fda98970c317da1963a3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 13 20:17:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 13 20:17:12 2017 +0000"
      },
      "message": "resolve merge conflicts of 5c4fbd2817 to oc-mr1-dev-plus-aosp\nam: 9c59bc9c37\n\nChange-Id: I2674d0e4b49082d9d068575ce1c5e7b53a5ea01e\n"
    },
    {
      "commit": "9c59bc9c37dab612c9d8fda98970c317da1963a3",
      "tree": "697df673a323e129c53aeb78a271d7a3423a1889",
      "parents": [
        "6faf7f3111d1bdb26967049075dfff7ab0b70d0d",
        "5c4fbd2817a491fcf2c61f34333476dbf875cfca"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 09 13:52:18 2017 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Nov 10 07:45:58 2017 +0000"
      },
      "message": "resolve merge conflicts of 5c4fbd2817 to oc-mr1-dev-plus-aosp\n\nTest: I solemnly swear I tested this conflict resolution.\nExempt-From-Owner-Approval: simple merge conflicts\nChange-Id: I32cd6ce0eca9b74b20554f20bcf410d76612c47a\n"
    },
    {
      "commit": "abf85fc9c9f94aba11b7082ccec8597e4b57e9a2",
      "tree": "f70b68e298b9000f4d15b15e2a1ccbab93643df6",
      "parents": [
        "c4defa724e89a62c16176fb9731670f29ea50358"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 09 10:18:04 2017 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 09 19:59:31 2017 +0000"
      },
      "message": "Use -Werror in frameworks/av/media/libaaudio\n\n* Remove unused local variables, labels, functions, private fields.\n* Fix warning of unused return result.\n* Use template functions in .h file to avoid warning of unused static functions.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nExempt-From-Owner-Approval: cherry picked from goog\nMerged-In: I54962a7fd36a405e54366130b9c0a24e26fe8ebb\nChange-Id: I54962a7fd36a405e54366130b9c0a24e26fe8ebb\n(cherry picked from commit 68326fe017a18957419a81489b67f75831f9a674)\n"
    },
    {
      "commit": "94d28be1805800764701225fcae696aa11dab93e",
      "tree": "4289abbb305bf2552c5e1d3eb5d117546de11f9d",
      "parents": [
        "002565a3dee1d21f117fca60a37c7d339f724d88"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 08 13:39:31 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 08 13:41:27 2017 -0800"
      },
      "message": "aaudio: Update aaudio_loopback help screen\n\nFix \"-c{inputChannels}\" -- it\u0027s actually for output channels.\nAdd description for \"-m\" options.\nAdd description for \"-x\" option.\n\nTest: builds\nChange-Id: Ib234d1a5eaff75e209041d08f5149f488c1f5867\n"
    },
    {
      "commit": "e72b63e9fb2161880704724b597bea57eeb77499",
      "tree": "3e38796395d5352f7f059697c8a2de7cb1be5add",
      "parents": [
        "51f4bac261c544eedb577ceb3e3b5d9ddf8d0238",
        "68326fe017a18957419a81489b67f75831f9a674"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 06 19:37:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 06 19:37:18 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/av/media/libaaudio\""
    },
    {
      "commit": "eecf9adf07c2ef16f94b94a6970756f562404f14",
      "tree": "44257789eb4e9de8aa006b604a049f0942ff5a26",
      "parents": [
        "cd36198080879abfbc94d6ceb4dbd7ce9a100127"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 02 15:41:19 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 02 15:41:19 2017 -0700"
      },
      "message": "aaudio: Update aaudio_loopback usage screen\n\n-- replace \u0027loopback\u0027 with \u0027aaudio_loopback\u0027, since this is how\n   the executable is called;\n\n-- remove \"-f\" argument, as it\u0027s not implemented;\n\n-- in the example, replace \"-b2\" to \"-n2\" (\"-b2\" doesn\u0027t seem correct);\n\n-- brush up text layout.\n\nChange-Id: Ifae87380d0c9378f936f661ad77cb94a944c05fc\nTest: make and run\n"
    },
    {
      "commit": "68326fe017a18957419a81489b67f75831f9a674",
      "tree": "2f7690208288cb2c33c368cb8c063c4babf649c4",
      "parents": [
        "333d25015d9878fad6a2fcf82432fcc5ee0ad521"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 31 13:49:24 2017 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 31 14:32:22 2017 -0700"
      },
      "message": "Use -Werror in frameworks/av/media/libaaudio\n\n* Remove unused local variables, labels, functions, private fields.\n* Fix warning of unused return result.\n* Use template functions in .h file to avoid warning of unused static functions.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: I54962a7fd36a405e54366130b9c0a24e26fe8ebb\n"
    },
    {
      "commit": "3295913fc53d42e3790afc1a063c925cbb3395bb",
      "tree": "6e9d9ad8d18a18d7700a1f268fda9fbe7fdd9c5e",
      "parents": [
        "60e8acf51c7ee65bf6317e186c4768f3f93d647d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 30 13:36:57 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 30 13:36:57 2017 -0700"
      },
      "message": "Add back builds for libaaudio examples\n\nThese will actually get installed as tests in /data/nativetest{,64}/...,\ninstead of into the /system/bin directory.\n\nTest: mmma frameworks/av/media/libaaudio\nChange-Id: I41e077e21e3d5c76f0fd5b4f21f7377a0c293740\n"
    },
    {
      "commit": "7b8989bfbbc0886861c6f4988fbad668084c4021",
      "tree": "3f6ef85e68e5f8a328ac250469dfaa23ed1f379a",
      "parents": [
        "6cfe5c59f76b52dafa6eb844e5ec37a32fd962dd",
        "67ed9daf8ec94f01801a927b47a05ae61e40bb3e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 26 01:23:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 26 01:23:31 2017 +0000"
      },
      "message": "Merge \"aaudio example: loop and add noise blip at start\""
    },
    {
      "commit": "67ed9daf8ec94f01801a927b47a05ae61e40bb3e",
      "tree": "30f8711f820299f22ed4b76782339789f28a8f83",
      "parents": [
        "5b769acf63bb78197c39f9930133c7f79cfdffd2"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 06 16:26:52 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Oct 25 15:54:26 2017 -0700"
      },
      "message": "aaudio example: loop and add noise blip at start\n\nLoop while starting and stopping or pausing/flushing.\nCheck framesWritten - framesRead.\n\nBlip so we can tell if the beginning of the sound was cut off.\nAdd -t option for the high pitched prefix tone.\n\nTest: this is a test\nChange-Id: I2a642be67f4e80caad015254d006a0153b46e3f7\n"
    },
    {
      "commit": "29ca1b3eeac1eef316a283345f2e479f0a50f96e",
      "tree": "0aa8220363aba637abbd8e0924b0ee615d2b6ebc",
      "parents": [
        "38cefbe16a44aacb365af0aa3a5e2e9820ca1575"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 23 17:15:03 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Oct 25 01:26:58 2017 +0000"
      },
      "message": "Convert libaaudio to Android.bp\n\nSee build/soong/README.md for more information about Soong.\n\nI didn\u0027t translate the examples, since they appear to be NDK build\nfiles, not platform build files.\n\nTest: mmma frameworks/av/media/libaaudio\nChange-Id: Icf228c701afe37dd3c7f00ea9e6fb740b0d450f1\nMerged-In: Icf228c701afe37dd3c7f00ea9e6fb740b0d450f1\nExempt-From-Owner-Approval: simple backport\n(cherry picked from commit 0230b1ac4ae8833016f96cb7fe1eebf7efec26ef)\n"
    },
    {
      "commit": "0230b1ac4ae8833016f96cb7fe1eebf7efec26ef",
      "tree": "77a168f9388c7bd3bfe04813dd2e2872579e35dd",
      "parents": [
        "00c05a502837d834de257623980b5ea1b849e945"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 23 17:15:03 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 23 19:27:42 2017 -0700"
      },
      "message": "Convert libaaudio to Android.bp\n\nSee build/soong/README.md for more information about Soong.\n\nI didn\u0027t translate the examples, since they appear to be NDK build\nfiles, not platform build files.\n\nTest: mmma frameworks/av/media/libaaudio\nChange-Id: Icf228c701afe37dd3c7f00ea9e6fb740b0d450f1\nMerged-In: Icf228c701afe37dd3c7f00ea9e6fb740b0d450f1\n"
    },
    {
      "commit": "b44c69e85ced0a8909e5ca0035720a6e450c8f36",
      "tree": "585ba5b649b9695353ff99e0fdc0f758751a933d",
      "parents": [
        "32d82714da38ad86803a56870734d49bcf30c29d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 23 17:15:03 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 23 17:46:27 2017 -0700"
      },
      "message": "Convert libaaudio to Android.bp\n\nSee build/soong/README.md for more information about Soong.\n\nI didn\u0027t translate the examples, since they appear to be NDK build\nfiles, not platform build files.\n\nTest: mmma frameworks/av/media/libaaudio\nChange-Id: Icf228c701afe37dd3c7f00ea9e6fb740b0d450f1\n"
    },
    {
      "commit": "02cc0ecc732a33a33570ec490c44a686354c512b",
      "tree": "e051072cfa8de26a855a12c577bfc22a56cbae39",
      "parents": [
        "250cbc71e22b20c2a2b16f7225d8e8856d666a48",
        "58fc59b91c5a526c580ca24f74389f500ab2346d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Oct 14 22:58:58 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 15 06:01:21 2017 +0000"
      },
      "message": "resolve merge conflicts of 58fc59b91c to oc-mr1-dev-plus-aosp\n\nTest: I solemnly swear I tested this conflict resolution.\nExempt-From-Owner-Approval: weekend merge conflict resolution\nChange-Id: I70002ccad145f7b5fa4854d6aa192322b07849e9\n"
    },
    {
      "commit": "5fa7dcf26a5bec668532e086a973683edfb657a8",
      "tree": "7092f03ca491432729dcd2be0f1c1cfad2611932",
      "parents": [
        "3ccef7847f0e5174f045c85227b577abf08e02cc",
        "fe4ab105dad9fdbc23e9f681e0d342e892a74b18"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sun Oct 15 03:06:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 15 03:06:50 2017 +0000"
      },
      "message": "Merge \"Add missing includes.\"\nam: fe4ab105da\n\nChange-Id: Ib95769338491b8cd3f5b1640a7839dfaff301da0\n"
    },
    {
      "commit": "cb2e7fb2a42542c3406678c4fd4ccfab9ceb8748",
      "tree": "6705febfb1f64fdb8ca5659998d919dccb175326",
      "parents": [
        "16f2c1559c5722a6cd69fef3c17dc5756ba73fe6"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 11 12:43:41 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 13 18:43:30 2017 +0000"
      },
      "message": "Add missing includes.\n\nTest: mma\nBug: None\nExempt-From-Owner-Approval: trivial cleanup\nMerged-In: I97b9e5e1b6e8b3126a8668460a8c99e4ef1a907d\nChange-Id: I97b9e5e1b6e8b3126a8668460a8c99e4ef1a907d\n"
    },
    {
      "commit": "36967fb1a52f44cef9b5bdcca0f646aa136e285a",
      "tree": "8e3fd54b0c0cc9a55cd0f1c80f17698a0bca47b2",
      "parents": [
        "3d762515b88c266f6be7d8f05c83517960dbc92f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 11 12:43:41 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 11 17:19:33 2017 -0700"
      },
      "message": "Add missing includes.\n\nTest: mma\nBug: None\nChange-Id: I97b9e5e1b6e8b3126a8668460a8c99e4ef1a907d\n"
    },
    {
      "commit": "187dcd4eeaeace78665dafcee6acb074ef390545",
      "tree": "01ed91d32634e648d06b059da4f9dda126620a44",
      "parents": [
        "cda5c070b3188a52771aa463507312ecf0180976"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Aug 29 09:04:35 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 06 16:42:34 2017 -0700"
      },
      "message": "aaudio example: print timestamps during callbacks.\n\nBug: 63918065\nTest: this is a test\nChange-Id: Id25dd36764761583986d3ce29f7d82032ec4539f\n"
    },
    {
      "commit": "cda5c070b3188a52771aa463507312ecf0180976",
      "tree": "f798fa438b8f4a98272d314375acf471c33b40c5",
      "parents": [
        "90153cae7ffd321338f90678a80abd62fb56e877"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Aug 31 17:23:18 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 06 10:19:00 2017 -0700"
      },
      "message": "aaudio: test timestamps\n\nRun for a while, gathering timestamps\nthen print a report.\n\nBug: 63918065\nTest: this is a test\nChange-Id: Ie9ada2d22fc265247a4d6c9645e42cf94caa1c05\n"
    },
    {
      "commit": "7a61a3ae540748164068683cadacaea5ed225d68",
      "tree": "3bd852fe12b990b9dafa69409c87d94d0f410a01",
      "parents": [
        "3b224af571e8e70ef643a36e144e7427857d271d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 10 11:53:09 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 01 11:33:03 2017 -0700"
      },
      "message": "aaudio examples: handle disconnect in write_sine_callback\n\nAutomatically reopen the stream if we get disconnected.\nAdd a futex based signaling class so that the error callback can\nimmediately inform a waiting thread.\n\nThis can be used to prevent the system from playing an unpleasant sound\nafter the stream is disconnected.\n\nBug: 63342351\nTest: plug and unplug headphones while running write_sine_callback\nChange-Id: I3ea4fb24106156a29d2f302f3eb614f25f1b758a\n"
    },
    {
      "commit": "e008d02aee6667ecafb44bf84eeb1675cb07dfef",
      "tree": "680583a71a615612d96f67ded945cb7f77fcd96f",
      "parents": [
        "faf18c58baf4db501c9707a30fd811a4c9386a26"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Aug 23 12:56:15 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Aug 29 09:55:56 2017 -0700"
      },
      "message": "aaudio examples:  Add deviceId option to examples\n\nNote that this uses the -d option, which used to be for durationSeconds.\nWe now use the -s option for seconds.\n\nBug: 64981153\nTest: this is a test\nChange-Id: I9789a1f520dc93bfb26143582dacb9619650abf7\n"
    },
    {
      "commit": "37417526c943ed17405177790e24f381d51492d6",
      "tree": "3f443cc772ae925970e992987f2ed8a8569604a4",
      "parents": [
        "5d6cc7d118a7e91d4fdd3f9dad086cfd1129e4ca"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Aug 08 13:20:45 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Aug 09 20:59:27 2017 -0700"
      },
      "message": "aaudio: fix ownership problems with file descriptors\n\nUse unique_fd to track file descriptors.\nFix extra close of file descriptor in SharedMemoryParcelable.cpp.\nThis bug was causing unrelated file descriptors to be closed!\n\nBug: 64311216\nTest: write_sine.cpp, FD should survive aaudio close\nChange-Id: I4f38c83510a49ea22b79b96d970ee48153417249\nMerged-In: I4f38c83510a49ea22b79b96d970ee48153417249\n"
    },
    {
      "commit": "e72481c5c16d401c776e0ba49b84b80223769b91",
      "tree": "282c04aa82bba9f854b3125fa8edade0b41f5287",
      "parents": [
        "e88fd530455d39e4c770870c74c1198820f62bfe"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Aug 08 13:20:45 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Aug 09 14:11:57 2017 -0700"
      },
      "message": "aaudio: fix ownership problems with file descriptors\n\nUse unique_fd to track file descriptors.\nFix extra close of file descriptor in SharedMemoryParcelable.cpp.\nThis bug was causing unrelated file descriptors to be closed!\n\nBug: 64311216\nTest: write_sine.cpp, FD should survive aaudio close\nChange-Id: I4f38c83510a49ea22b79b96d970ee48153417249\n"
    },
    {
      "commit": "a5222e298c294781067950a7cc319d3278fa845a",
      "tree": "69ea25d3c54785ed74af3aee94c5f760d3f13da0",
      "parents": [
        "909f4a6cada3d5fb7594da7d1809ba62d1b47340"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 28 13:31:14 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Aug 03 10:07:39 2017 -0700"
      },
      "message": "aaudio: improve error logging\n\nReport when INVALID_STATE returned.\nThis was used to debug monkey test errors.\nCleanup some log messages.\nImprove \"dumpsys media.aaudio\"\n\nBug: 64310586\nTest: CTS nativemedia/aaudio\nChange-Id: Ifbcac4794cda22cccbacff6352243c0ef4589c53\n"
    },
    {
      "commit": "0befec600314a79c0d142c3edd99f7d1c75e1afe",
      "tree": "9aae908902a8dc73d8d9853ee8af49bca2d974de",
      "parents": [
        "dde8d48a32a625297f69c6316c7832f7ec0221fe"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 28 15:12:13 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Aug 03 00:44:16 2017 +0000"
      },
      "message": "aaudio: update state for legacy mode\n\nAdd logging to the loopback test.\nUpdate state in the callback.\nImplement AAudioStreamRecord::getFramesWritten().\n\nBug: 62781173\nBug: 64214193\nTest: aaudio_loopback.cpp, look for STARTED state while running\nChange-Id: Iba867d048dcfcafe6db1d095abe2766f1aabe608\n"
    },
    {
      "commit": "97350f9df7252c881f011a410fcd9e6d766d2bee",
      "tree": "fab6334a25607e03276648611584b8fc23b40463",
      "parents": [
        "eb1c0658e405e5b7e26f4b16761c5b1ce3f77d46"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 21 15:59:44 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Aug 02 10:57:31 2017 -0700"
      },
      "message": "aaudio: improve accuracy of timestamps\n\nAccount for latency added by the AAudio service.\nFix input timestamps.\n\nBug: 37080396\nTest: test_timestamps.cpp input_monitor.cpp\nChange-Id: I1053cd21af722bb9b9371df4e5731bf4a0a57b0b\n"
    },
    {
      "commit": "19d05412dbba726830c6d4064bca798f682cd3bc",
      "tree": "c398775354f6f68e4bcaad565c720aafc7d6c9ea",
      "parents": [
        "5fafb7bdbca55fe955df1a913051c5d08a0ba087",
        "faeb8b20e8ce98d308ca5ec095eeba6583cd9ec6"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 31 13:58:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 31 13:58:06 2017 +0000"
      },
      "message": "aaudio: fix getXRunCount\nam: faeb8b20e8\n\nChange-Id: I5df65477820b7297479f4cf1f41ec1d5c92cff77\n"
    },
    {
      "commit": "faeb8b20e8ce98d308ca5ec095eeba6583cd9ec6",
      "tree": "ca5897bcd530e9f0e5167d30ed7945171d0a11c9",
      "parents": [
        "d478859f02323b03e2927a10055c42331f6dacc7"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 25 15:15:07 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 28 13:19:29 2017 -0700"
      },
      "message": "aaudio: fix getXRunCount\n\nMixer was not advancing FIFO when underflowed so the client could not\ndetect the xrun.\nAlso underruns could cause the stream to drift in time relative to other\nstreams.\n\nBug: 64033855\nTest: trigger underruns by sleeping in a callback\nChange-Id: Ia038f5048ffbff3b82e9d86e6807483dfe6879d0\n"
    },
    {
      "commit": "5fafb7bdbca55fe955df1a913051c5d08a0ba087",
      "tree": "8782978078bed9d8579a3369efc2d16f3d6820ae",
      "parents": [
        "fd12ac32f9bc97b9944c0b9b242589b4c7fd694c",
        "d478859f02323b03e2927a10055c42331f6dacc7"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 28 18:17:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 28 18:17:47 2017 +0000"
      },
      "message": "Merge \"aaudio: add glitch detection to loopback, improve latency check\" into oc-dr1-dev\nam: d478859f02\n\nChange-Id: Ic2e44eebd2ef8110321799b01597714b0c0a12e8\n"
    },
    {
      "commit": "fcf9efd59e36759ee7df66fdfce4f8eedeb376e4",
      "tree": "d8b518341024972e1c7b4464950b79089cb49cd0",
      "parents": [
        "e6e9a4811dc43e5c393b2c45eca64d1f1608e8d0"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 14 08:25:08 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jul 27 17:17:07 2017 -0700"
      },
      "message": "aaudio: add glitch detection to loopback, improve latency check\n\nAlso improve automatic loop gain control for latency testing.\nUse ArgParser to parse command line options.\n\nBug: 38178592\nTest: this is a test\nChange-Id: Idfe8f25544a3e7c74ee15be008bf34e3a0741455\n"
    },
    {
      "commit": "f7d9b3fb2901410ec6267174d5819d09fa3c6521",
      "tree": "625d1af0f979c8ec5915410e9f48df4d14a969e8",
      "parents": [
        "b25d3927c08503e68a213526a8f82d40eacde81b",
        "556a5a06e8fab58cdf3f449c5f9de64daffae763"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jul 13 18:55:20 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 13 18:55:20 2017 +0000"
      },
      "message": "Merge \"aaudio loopback: improve latency tester\" into oc-dr1-dev am: ac31fb8978\nam: 556a5a06e8\n\nChange-Id: I17b6898cfdd4106305f2e4edfe6501de8560ef2c\n"
    },
    {
      "commit": "4ea2d60c6baa3f3a6751165cbb45e66ff6968aa0",
      "tree": "ba56ffa54034ded9b39f50d35ead7aa1e668933e",
      "parents": [
        "0acb3209107802e2ab116f8374aab886579729bb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jun 20 08:52:24 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jul 12 09:39:39 2017 -0700"
      },
      "message": "aaudio loopback: improve latency tester\n\nAdd command line options.\nAdd magnitude measurement.\nAdd automated latency analyzer that uses round trip echo and an impulse correlation.\nUses Harmonic Product Spectrum technique but in the time domain.\n\nBug: 33398120\nBug: 38178592\nTest: this is a test\nChange-Id: Ied6c09e6d8d373a188c13ed85b27de6c4b7be2f4\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "44795237e0f43d6efe16ef1cb047ce7ea0cbb870",
      "tree": "b75e4b9c388ab734632de3cdf5d0edf96c2172c5",
      "parents": [
        "41779c4849d0edfd72c784fdbd4de92784056ee7"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 16:27:38 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 12 01:24:19 2017 +0000"
      },
      "message": "aaudio: command line argument parser\n\nGeneric parser that is used in multiple examples.\n\nAdded -n{numberOfBursts} for buffer size.\n\nThis is being used to test the MMAP features.\n\nBug: 63002656\nTest: this is a test\nChange-Id: Idf7560f9bb3ed7834f6c4686dd6009f27f04220e\nMerged-In: Idf7560f9bb3ed7834f6c4686dd6009f27f04220e\n"
    },
    {
      "commit": "753c9f326b9505004576996091a64a43271634a0",
      "tree": "fc1c7801f04dffe67ba6836aa7ace1f40cfeac1f",
      "parents": [
        "ab8e5c6bd83648c6dc4ada7fd197e960df82cc1e"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 16:27:38 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 10 14:36:02 2017 -0700"
      },
      "message": "aaudio: command line argument parser\n\nGeneric parser that is used in multiple examples.\n\nAdded -n{numberOfBursts} for buffer size.\n\nThis is being used to test the MMAP features.\n\nBug: 63002656\nTest: this is a test\nChange-Id: Idf7560f9bb3ed7834f6c4686dd6009f27f04220e\n"
    },
    {
      "commit": "38217e0d53b14e634243d1ce36fa5d3267c71056",
      "tree": "3ddf472b051c944a6c1039b2acac9ac1c01fafb9",
      "parents": [
        "ee05ff049fb5c6f394f806e58c3f2ec28e8957af",
        "b66815f31c762eef2d1b84fa6f5d9f9b158ca18c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 02 02:32:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jul 02 02:32:49 2017 +0000"
      },
      "message": "aaudio: enable exclusive MMAP mode support am: d51329eca8\nam: b66815f31c\n\nChange-Id: I02e0c91d5ce2dc0ceb7b47aa27c6c63a69e90a3a\n"
    },
    {
      "commit": "d51329eca85112973867a6bf0d210e82d6d1c411",
      "tree": "f29ad645223b5ea22b709f4d3362f27aa14d6a9a",
      "parents": [
        "4501b3510f9b2af2ff63a0471de24e3feea1d0a8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 30 16:06:16 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 02 00:32:10 2017 +0000"
      },
      "message": "aaudio: enable exclusive MMAP mode support\n\nAllow exclusive MMAP mode only if the HAL indicates\nthat the FD returned for shared memory buffer can be shared\nwith any application.\n\nNOTE: the way the HAL indicates this is temporary until the audio\nHAL is modified in next HIDL release.\n\nBug: 37167970\nTest: check playback and capture in mmap exclusive and shared mode\nChange-Id: I09c1461b2f99532ded2ef9d36d483b82096fda68\n"
    },
    {
      "commit": "cd6d380e4f526476a11adface7680b3981c6a7d7",
      "tree": "1f7b5128348d63e775519a52e5fe0133cddbc4e4",
      "parents": [
        "06909d621d3755180693ea2539c6883fa2c6d727",
        "7668940938c2caea8dd80399000b819f147bc2cc"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 06:59:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 30 06:59:06 2017 +0000"
      },
      "message": "Merge \"aaudio: close MMAP stream if client dies\" into oc-dr1-dev am: e27d3a435c\nam: 7668940938\n\nChange-Id: I447b8dcd864ed9517e4ca61bc341eee2a24c2707\n"
    },
    {
      "commit": "11e8d335b1da528ee771b19b63df23ae6fd52f41",
      "tree": "b5679b54a7acfbdf455c95355da8c0b9a4dbc51c",
      "parents": [
        "1fa57e8d3149703e794997edffa4e03bfb0a6887"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 24 09:59:02 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 29 21:40:21 2017 -0700"
      },
      "message": "aaudio: close MMAP stream if client dies\n\nNotify client when audio service dies. Clear connection.\nNotify AAudio service when client dies. Close client streams.\n\nUse sp\u003c\u003e to track ServiceStreams.\n\nBug: 38267698\nTest: test_no_close.cpp\nChange-Id: I5f1699ed3b8b7bd960947c0028a89ca8419ce7a0\n"
    },
    {
      "commit": "66feec9ff333bbf0b2590f1b321fbf880e1405a4",
      "tree": "ebb1043a6aaf48ac109eb7022a999ae4bc31f0cc",
      "parents": [
        "d4ef5f1eafa099eb40e68a1dfc7b701e4a8d0b1a",
        "2ac7694396640821f6723672e25b2372220bf060"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 27 01:18:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 27 01:18:41 2017 +0000"
      },
      "message": "Merge \"Set initial audio device for AudioTrack and AudioRecord\" into oc-dr1-dev"
    },
    {
      "commit": "2ac7694396640821f6723672e25b2372220bf060",
      "tree": "0cd5a8c58898fcb145f4b879ea64aeb260266ce2",
      "parents": [
        "ffd80b92df8521dd28ab5fd08b1098a58cb280e8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 22 17:17:09 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 26 16:29:08 2017 +0000"
      },
      "message": "Set initial audio device for AudioTrack and AudioRecord\n\nBug: 62090113\nTest: run AAudio test and verify a valid device is reported just\nafter opening playback or capture streams in legacy mode.\n\nMerged-In: Ic8be42e1735690eb00c811ef0cb8b5abb36172d6\n\nChange-Id: Ic8be42e1735690eb00c811ef0cb8b5abb36172d6\n"
    },
    {
      "commit": "9ae8c597d9a0c8cedc4047fc4716d7361453f6ab",
      "tree": "4c8824f15e744d82243f4a3caab1d67b208afd47",
      "parents": [
        "5af194cf79f280034430f2f65b02a89f261dbbc8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 22 17:17:09 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 26 08:04:19 2017 -0700"
      },
      "message": "Set initial audio device for AudioTrack and AudioRecord\n\nBug: 62090113\nTest: run AAudio test and verify a valid device is reported just\nafter opening playback or capture streams in legacy mode.\n\nChange-Id: Ic8be42e1735690eb00c811ef0cb8b5abb36172d6\n"
    },
    {
      "commit": "8ebfadb1d9782d91458b1930eb4ef49c4594743e",
      "tree": "a5dcd28ba364911accc85e61830ce2d87c6de5e4",
      "parents": [
        "3d9d384007f55f2c2e3138aa93f68755aca48e18",
        "1e7b17851e56905889a6c596c1e4971d2939927a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jun 24 01:40:31 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 24 01:40:31 2017 +0000"
      },
      "message": "Merge \"libaaudio: use shared library for tests and examples\" into oc-dr1-dev am: 00e2cbcf74\nam: 1e7b17851e\n\nChange-Id: Ieb259fddf050fea2150837edd86b6bb2ae3b864f\n"
    },
    {
      "commit": "0f6bf435f1cf5349a25ac276114df76a00d181e9",
      "tree": "934e7cdbd13ecc36eeb5de40c04b9684750a11ed",
      "parents": [
        "a2f10fb5a0731dc54c06bd55f54ade38800069cd"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 22 16:26:36 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 22 16:28:40 2017 -0700"
      },
      "message": "libaaudio: use shared library for tests and examples\n\nThey were statically linking with libaaudio.\n\nBug: 62820459\nTest: mmm frameworks/av/media/libaaudio\nChange-Id: Ie704dd6c9d12b00c3f16f30d296468c9b5b42776\n"
    },
    {
      "commit": "2829428ff26be1e1a33d161a54e3f988a1299db9",
      "tree": "b49bf2a371cd9b0e7237a3e4002a2cac422f1617",
      "parents": [
        "12852bd16b84f0157cf500389304ab1e35993a81"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 15 13:34:29 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 15 16:59:52 2017 -0700"
      },
      "message": "Remove obsolete get/setSamplesPerFrame\n\nAAudioStream_getSamplesPerFrame\nAAudioStream_setSamplesPerFrame\n\nTest: builds OK\nChange-Id: If87fa17e37f2cb847f8258682ee9bd38246e981d\n"
    },
    {
      "commit": "9e8f432a99d78191a42ffc070230d34ebf77102d",
      "tree": "d680e026da8f520bdd0ab8b0e0a1829efc6745ba",
      "parents": [
        "405408c26b05dc4b694c5cb5afc1fe2ae9b7c419",
        "88e94d3c1e3644d1c36b9e9c2f161cfe891ce4e1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jun 03 01:36:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 03 01:36:44 2017 +0000"
      },
      "message": "aaudio: implement native IPLayer for legacy playback streams am: 1d32e9f8e5\nam: 88e94d3c1e\n\nChange-Id: Ic94f6da387d73dfcb727f98bfb67913d0927b3d3\n"
    },
    {
      "commit": "1d32e9f8e5ba52d69c6319270c8a63a995d2c4f2",
      "tree": "4d3816933fd2e7344934ccf4e077c640f565c58f",
      "parents": [
        "a9034e0e535ea8f41a7b1d0a5c9e4e9f074be236"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 02 14:01:32 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 02 15:05:23 2017 -0700"
      },
      "message": "aaudio: implement native IPLayer for legacy playback streams\n\nMake AudioStreamTrack derive from PlayerTrackBase to\nprovide playback and volume control via IPLayer interface.\n\nBug: 62027849\nTest: verify aaudio playback regressions and registration of aaudio\nplayers in AudioService\n\nChange-Id: I5c04110f1554233eae3f1bc357a64a584d7303d1\n"
    },
    {
      "commit": "83cb1714b2aef243c251eb6ab4d2b2bca67a76fc",
      "tree": "0a534d3f09658bfa816c66765dd8c13377867f21",
      "parents": [
        "75c8cf06c81849db15001fb634ec49f238d09c56",
        "c868efc24f63a4b92df0770e965cade5874ae264"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 31 16:27:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 31 16:27:30 2017 +0000"
      },
      "message": "Merge \"aaudio: remove deprecated aaudio_audio_format_t\" into oc-dev am: 897011a940\nam: c868efc24f\n\nChange-Id: If0aa9ea442aa4fea664c96403e73c7c63e4282b9\n"
    },
    {
      "commit": "897011a94008cb9ab73f8db397bbd87c57f5cf27",
      "tree": "22275b7be9059117c4d08540d8288e366c92e73e",
      "parents": [
        "d04aeea00bdaa999821e1a15c437ea648bd07195",
        "9dca9824da74d50be02bc81f539cc77b7bde678a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 31 16:11:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 31 16:11:36 2017 +0000"
      },
      "message": "Merge \"aaudio: remove deprecated aaudio_audio_format_t\" into oc-dev"
    },
    {
      "commit": "75c8cf06c81849db15001fb634ec49f238d09c56",
      "tree": "7d87cebf6f13b1b4844b900365d382bd5cdb5347",
      "parents": [
        "e9f7b6573fe5a335075254623bdfe35b51a7363c",
        "77b455cf82b91fa124bbc75407b0743e3cf4cff0"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 31 02:16:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 31 02:16:51 2017 +0000"
      },
      "message": "aaudio: AAudio_setMMapPolicy() am: d04aeea00b\nam: 77b455cf82\n\nChange-Id: I75915759d9ddd1cb7f99ccb202ca279cc1e1b9f2\n"
    },
    {
      "commit": "d04aeea00bdaa999821e1a15c437ea648bd07195",
      "tree": "c55ecffbe068013ed1b122c5765efefc2b5760dc",
      "parents": [
        "629afae6135e6dc1e88ab4080f984fb30b3cdd7c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 23 13:56:41 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 30 17:14:26 2017 -0700"
      },
      "message": "aaudio: AAudio_setMMapPolicy()\n\nControls whether MMAP data path is used NEVER, AUTO or ALWAYS\nFor testing only. To improve code coverage in CTS.\n\nBug: 38268547\nTest: write_sine.cpp\nChange-Id: Iad97876fb6f1d0c653262161b7b5519d83d16ac5\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "9dca9824da74d50be02bc81f539cc77b7bde678a",
      "tree": "fc1191a65e3677298cc50195ed8a9781d5545d2a",
      "parents": [
        "629afae6135e6dc1e88ab4080f984fb30b3cdd7c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 26 14:27:43 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 30 15:36:21 2017 -0700"
      },
      "message": "aaudio: remove deprecated aaudio_audio_format_t\n\nShould be using aaudio_format_t\n\nBug: 62141619\nTest: compile and run CTS test_aaudio.cpp\nChange-Id: Ibbba2769dfd8bcd9c108d87c19fe1fad2ba43df1\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "7771449cf13318c074018a1f9aacad56306b8546",
      "tree": "6473de7a4d93f487087db9ea8032702d55adf5b0",
      "parents": [
        "ef44fb4115270883da829fea91174c8cc003b777",
        "faadff3569ae8bd25ae9e97b9af73da3f7e04aa4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 30 19:38:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 30 19:38:13 2017 +0000"
      },
      "message": "aaudio: add tests for device switch detection and refactor am: 629afae613\nam: faadff3569\n\nChange-Id: I7f62e878fd72dd706a209fe94c38998dde59945a\n"
    },
    {
      "commit": "629afae6135e6dc1e88ab4080f984fb30b3cdd7c",
      "tree": "4757620ffeb9f6e5b06d504fc869624f62459475",
      "parents": [
        "fb00fc77f59ed5ebec4d38bac666e6521b6c1de0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 25 18:25:51 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 26 18:34:21 2017 -0700"
      },
      "message": "aaudio: add tests for device switch detection and refactor\n\nAdd detection for device switch during capture and playback tests:\n write_sine, write_sine_callback, input_monitor, input_monitor_callback\n\nRefactor tests and move simple player, simple recorder and utility\nmethods in separate header files and folder.\n\nBug: 33355262\nTest: run write_sine and input_monitor tests\nChange-Id: Iced66fa4344aecd8a2952e22a98e6e8454f38a5e\n"
    },
    {
      "commit": "34e1813c2f2d4fff0b0e4b9f18a45b8df9e43f1d",
      "tree": "77201682bc00dde86b0d2541a1e46631906a9660",
      "parents": [
        "4e822721a8729440316af6752641d3171e84537e",
        "1f3f262d335eb355ffc0c2aa2c23def69532c926"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 25 22:34:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 25 22:34:58 2017 +0000"
      },
      "message": "Merge \"aaudio: set performance mode of input stream based on actual result\" into oc-dev am: 26b28087c7\nam: 1f3f262d33\n\nChange-Id: I89cd635dd49e905806bbd1c530eca67bb65015dc\n"
    },
    {
      "commit": "c42d5f9ba80d827e135f21c7ff995bc752f6477c",
      "tree": "9f9931344eb6a84bf0ae627afd4cb49a61cca93f",
      "parents": [
        "433ecd85ef10284a71c4ea57279f53427fb9983d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 24 16:39:20 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 25 10:13:58 2017 -0700"
      },
      "message": "aaudio: set performance mode of input stream based on actual result\n\nThis is to match similar code in AudioStreamTrack.\n\nBug: 38268707\nTest: input_monitor.cpp\n\nChange-Id: I0ffd230816b690c979a8a3fe8a93541511728e89\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "45bcde137a90de68a1b59dca1136bd61ef19c38e",
      "tree": "a1e06dbdd2652730472ce71a30a3239b676b889b",
      "parents": [
        "77abc3662c39588030dc73c3a6e4a73f31ff1182",
        "00f56e2c3642f6c84ac1d53f7c938c67463765bf"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 25 02:28:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 25 02:28:08 2017 +0000"
      },
      "message": "Merge \"aaudio: lower latency using MMAP capture\" into oc-dev am: 433ecd85ef\nam: 00f56e2c36\n\nChange-Id: I6692f4edb954cf504cf131aba9cf4bc6aee3f6bf\n"
    },
    {
      "commit": "87c9f646a94259d7c321c3b3d5947fa1778f5ac2",
      "tree": "89c57e19157557b2cb5d7aca7bc1371e530f734c",
      "parents": [
        "da6b9eafb5de2434717aea264ad61b025bc4fe7f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 17 07:22:39 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 24 15:44:23 2017 -0700"
      },
      "message": "aaudio: lower latency using MMAP capture\n\nMMAP can be enabled by setting system properties.\n\nBug: 38267780\nTest: input_monitor.cpp\nChange-Id: I5e86fd1d9baef4fe59837ccbca7971acbb54d8b5\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "2a77adb88e918c4dd2df450d64c7b3cc83472808",
      "tree": "1e2b9e7f64fb9dd1cbabf0f3ff692810882865c1",
      "parents": [
        "896354129a411b99971fc6f9be93adb1e8431ae8",
        "9237952c58707f8262b90ececf37f082b2ee49e2"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 18 01:08:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 18 01:08:28 2017 +0000"
      },
      "message": "aaudio: update stream performance mode after open am: 30a707773a\nam: 9237952c58\n\nChange-Id: Icb8b39e2dde1b261777a34fc52bb8fb8b1376a0e\n"
    },
    {
      "commit": "30a707773a043e5eebd552d369c0882f886b67e5",
      "tree": "4cbe0f2905d6fe1d8706ef727c1ce0b7c5d28163",
      "parents": [
        "9b3f8ef290bd5ad392f5eba8a0f0a8ddd331b54f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 16 11:20:36 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 17 22:39:09 2017 +0000"
      },
      "message": "aaudio: update stream performance mode after open\n\nFor example, if you cannot get a FAST track then\nthe performanceMode of the stream will be AAUDIO_PERFORMANCE_MODE_NONE\ninstead of AAUDIO_PERFORMANCE_MODE_LOW_LATENCY\n\nBug: 38268707\nTest: write_sine_callback.cpp, change modes and sample rates\nChange-Id: I33648bd48fd00d588424fa7e4deb2c57c5008423\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "051fe483e14fccbe62b4d00a435eafe577dabce1",
      "tree": "463fcd78074151f1c12b6f7cd66966551d773969",
      "parents": [
        "35d814aaaaa8031902169c7b3258bd8297375f0e",
        "d7d4b6adfbbf1e079ee6407d48d0d4689d412733"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 17 20:38:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 17 20:38:37 2017 +0000"
      },
      "message": "Merge \"aaudio: fix output bugs and improve input performance, add loopback test\" into oc-dev am: 54cf32220c\nam: d7d4b6adfb\n\nChange-Id: Ie0620c04f5045e8fb1a84dc301eaaf93f6a30daf\n"
    },
    {
      "commit": "4485d41bcded0eceec7ec97d50aa2b0e702397a0",
      "tree": "b68415b336ac43107c3f44f7854a29c3bf55ac42",
      "parents": [
        "feb0d87f693abd8fd2fa7ebfcdf7d91f0b95c131"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 09 15:55:02 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 15 12:52:43 2017 -0700"
      },
      "message": "aaudio: fix output bugs and improve input performance, add loopback test\n\nSupport AAUDIO_PERFORMANCE_MODE in AudioStreamRecord.cpp\nFix race condition when closing a stream, which this test revealed.\nFix setting of negative notificationFrames for non-FAST tracks.\n\nConvert test from old Oboe API to AAudio.\nAdd command line options to the test.\nAdd systrace calls.\n\nBug: 34093052\nBug: 38313432\nBug: 38178592\nTest: loopback.cpp\nChange-Id: Ib6d2995cdd3ed432937fde2f26c5394013f0d6e0\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "427e35632c3d3d1636d2acfd858a8dfdea13f4f5",
      "tree": "3467604227699f066cf6dd9badc5a480cafb4880",
      "parents": [
        "872e44e091f414c69a7ed09e716150af30402ff6",
        "a10dcce379fe8f650b75d1ae8e4ac76563043bd8"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 11 01:34:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 01:34:19 2017 +0000"
      },
      "message": "Merge \"ligbaaudio: Fix pause, flush and getXRunCount for input streams.\" into oc-dev am: 804b96ffae\nam: a10dcce379\n\nChange-Id: I5443e40f705bda30e19c538c126345aaaaf20a57\n"
    },
    {
      "commit": "068c10f03d16a7f73abf138cc751cf3bde7518df",
      "tree": "bfe43127617baacb2a2be9409317a3c7a313c2fa",
      "parents": [
        "331207d51a620bf018081950da4b20133014657f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 08 16:36:41 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 10 12:48:12 2017 -0700"
      },
      "message": "ligbaaudio: Fix pause, flush and getXRunCount for input streams.\n\nBug: 37941092\nBug: 37943598\nTest: input_monitor_callback.cpp\n\nChange-Id: Ifc2ea526e4722063e03956bd5f0747adc49ba6ee\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    }
  ],
  "next": "121c79d2f8a980d1e55db5af8b8c48281072ca8b"
}
