)]}'
{
  "log": [
    {
      "commit": "ef170f08df3775572eb49c9aecc56d17cee62513",
      "tree": "aaf4ba79b4c010d431770b7a8562fb110f67eb63",
      "parents": [
        "f356189f05884926290b1f7920241ef15674cbc6"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Aug 07 18:50:04 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Aug 18 19:10:23 2020 +0000"
      },
      "message": "aaudio test: catch errors with release of input stream\n\nThe test_various.cpp file was missing some crashes\nthat could occur if AAudio query functions were called after\nAAudioStream_release().\n\nBug: 163165126\nTest: adb shell test_various\nChange-Id: Ib423186083a2245a5fdb817eee0ff781ed1cfa22\n"
    },
    {
      "commit": "8f4fe50dc17dab7d809ad215ab62dc86de888731",
      "tree": "5a83f0b41cb2ce576cf1e230321b6cdff137f818",
      "parents": [
        "a524c363821353a541442e3b23449875b797b09d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jul 15 23:54:50 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Aug 06 19:00:12 2020 +0000"
      },
      "message": "aaudio: refactor references to shared FIFO\n\nReduce passing of raw pointers.\nUse shared_ptrs and unique_ptrs.\nSimplify memory management.\n\nRefactor FifoBuffer into two subclasses so that\nthe internal memory management is simpler.\n\nBug: 151650670\nTest: OboeTester \"TEST OUTPUT\"\nTest: disable EXCLUSIVE mode\nTest: OboeTester \"ECHO INPUT TO OUTPUT\"\nTest: disable INPUT EXCLUSIVE mode\nChange-Id: I10981767f8719f3cc3525df211285c53219a7979\n"
    },
    {
      "commit": "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": "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": "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": "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": "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": "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": "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\""
    },
    {
      "commit": "76373c2644ac01ebe1eb79aaccf2986c3684cbdd",
      "tree": "f93e3b973b6ab22b72b032d88c808819b74084dd",
      "parents": [
        "d1ce689ac43bfd6c75c2f15a349e475396d04dcd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 14 12:38:14 2020 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 22 18:08:11 2020 +0000"
      },
      "message": "aaudio: add missing symbols and tests for capture privacy API\n\nAdd missing symbols for new APIs added to control if an input stream\nis privacy sensitive or not.\nAlso add tests for these new APIs.\n\nBug: 137850106\nTest: test_attributes\nChange-Id: Iab6e37a312dd295f705a3dfb69acddd131dc9142\n"
    },
    {
      "commit": "3e8bbb91f15d1d14a2339bbec8a39c5f1a66a6af",
      "tree": "8ca1499304992e9ffdbc41787073629bac71e824",
      "parents": [
        "524159db6d53cecc93de4133e0875be937437883"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Fri Jan 10 13:37:05 2020 -0800"
      },
      "committer": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Thu Jan 16 15:59:25 2020 -0800"
      },
      "message": "Adding system usages to AAudio\n\nBug: 141006627\nTest: atest CtsNativeMediaAAudioTestCases:AAudioTests\nChange-Id: I64247a3f64f4f7cc32f6c85c2ff790f96831f707\n"
    },
    {
      "commit": "6363f4b0464b962324e9f2b48e0a3412a32b05eb",
      "tree": "5bb79b5eb459e41f247a37769df55bfdb586646d",
      "parents": [
        "d1ce689ac43bfd6c75c2f15a349e475396d04dcd"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jan 10 14:06:51 2020 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jan 10 14:06:51 2020 -0800"
      },
      "message": "aaudio test: allow zero buffer size\n\nTest was too strict.\n\nTest: adb shell test_various\nChange-Id: I465d7956f202b721e85272e39066f7503527c944\n"
    },
    {
      "commit": "cc34ecf2d16b64a577359cb22e37e29421c67fbf",
      "tree": "7c9a72c10e4f4ea1d9722c2f066996b066741545",
      "parents": [
        "ef34be5426e96fa2fecc551e1fe196fbb862b220"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Oct 04 16:10:01 2019 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Oct 11 09:38:12 2019 -0700"
      },
      "message": "aaudio: test audio_utils::Histogram\n\nTest out of range indices.\n\nTest: adb shell test_histogram\nChange-Id: If12c04676e98af32399ea013a521da671e6ae5ae\n"
    },
    {
      "commit": "2d2f17cc1e15b7a4a21c94d6c6d125eabf740fc9",
      "tree": "c1023826407ccf2d1f88fa1e8d69ee8cae579136",
      "parents": [
        "ed84e713b3b84aa189459c2412e65a4be257bc89"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Jul 17 13:55:16 2019 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Jul 18 14:09:16 2019 +0200"
      },
      "message": "Split libaaudio.so to internal and NDK part\n\nThis change moves almost everything from libaadio.so to\nseparate libaaudio_internal.so library. This is done to\navoid exporting symbols which apps are not allowed to use\nbut have them available for platform libraries by exporting\nthem from libaaudio_internal.so\n\nBug: http://b/69603741\nTest: make\nChange-Id: If93118ed2c266faf2964abf21e17b0b13df493d2\n"
    },
    {
      "commit": "42471cc7beb1703730e15401362b8bf02d1b0cfa",
      "tree": "efe02448c69110531e4ef7ae3fb2d551cef49d79",
      "parents": [
        "e81a326d90dfce1249917b796f69b48fe1c59971"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jun 10 14:39:01 2019 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 14 11:35:40 2019 -0700"
      },
      "message": "aaudio test: trigger race condition and hang\n\nClose a stream at the same time the callback\nis trying to stop the stream.  This replicates\na hang that was detected in SynthMark.\n\nBug: 134963902\nTest: this is a test\nChange-Id: I7c87ecfefa2498fd1f4f9a1e406118c42a78545b\n"
    },
    {
      "commit": "a7138f1d2204d69c223925f39d6ab9d3c11d9632",
      "tree": "64c716b6793645e01edf4430a2643337b6d3631a",
      "parents": [
        "f878a8dc99922d0af080bb7d5f61b00e62d00e65"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Mar 29 17:21:25 2019 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 02 14:12:30 2019 -0700"
      },
      "message": "audio tests: test for up message queue getting full\n\nThis can cause a stream to get suspended if not processed.\n\nBug: 129140370\nTest: this is a test\nTest: test_full_queue\nChange-Id: Ib8961ad708cb258c08a956c6ced813f23c437fc4\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": "bd63c6ffe67b3555262e85f23a4f26b4ff057404",
      "tree": "d20e8a7fbb1fc5dc4a068fc3604d8b5a1ebd9e84",
      "parents": [
        "def408939dec9f3a4ff21d84c44b6fcad1797396"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Dec 18 12:13:34 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Feb 01 00:39:53 2019 +0000"
      },
      "message": "aaudio test_return_stop prints frames in buffer\n\nError if more than capacity of the buffer.\n\nBug: 121196899\nTest: this is a test\nChange-Id: I805905ffd1718f3e4fec2212e674f449bd55c4a8\n"
    },
    {
      "commit": "c0682e25540ce22c2428151086ed816c2df13db4",
      "tree": "daf637d3b97d9e8ec8183a7b9d7a43d908fe3e85",
      "parents": [
        "a53ffa67b35a7e57efec57811e4f915d1caac1eb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jan 22 15:52:02 2019 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 31 14:09:13 2019 -0800"
      },
      "message": "aaudio test: test drift in clock model\n\nSimulate a sample rate clock that is slightly off from the expected\nrate. The clock model should adjust to the drift and stay locked.\n\nTest: this is a test\nChange-Id: I402d8a90c920ff9eca611ee56071441826fc9876\n"
    },
    {
      "commit": "d8ef100ee9b4c8d51ce1bc433fa697e28ccfca9a",
      "tree": "a179c9934eaf48dbe8717870095e8958f45b7d61",
      "parents": [
        "0f5092139154e1822a471cbdbc0ada6f5930cf52",
        "19785de5ed298b2c28f398d9c27c02e173aa1f52"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 17 22:35:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 22:35:39 2019 +0000"
      },
      "message": "Merge \"aaudio test: improve test_timestamps.cpp\""
    },
    {
      "commit": "19785de5ed298b2c28f398d9c27c02e173aa1f52",
      "tree": "9b35a9e64aa8b6eec093ebca0d391fdd176e4ef9",
      "parents": [
        "f25675d38948d6e6eefc45f893f659467eab6471"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 15:53:49 2019 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 17 12:55:01 2019 -0800"
      },
      "message": "aaudio test: improve test_timestamps.cpp\n\nTest for timestamps returned when STOPPED.\nTest for no valid timestamps.\n\nBug: 122043542\nTest: adb shell test_timestamps\nChange-Id: I3f9ea636c7a469ffd6aa721776127dfeac94bc1e\n"
    },
    {
      "commit": "ae4b6ecfbcbea56cca160715a2ef710d8d87a40f",
      "tree": "124f24314b3f95b48a47dc8cc6f4ab0a6a0cc88e",
      "parents": [
        "96024c18126150259ba123ef48d180c6e0a2cf7e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 15 18:34:38 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 16 09:52:55 2019 -0800"
      },
      "message": "add new audio sources for audio capture\n\nThis commit adds the following audio capture sources:\n- AUDIO_SOURCE_VOICE_PERFORMANCE: for real time live performances like Karaoke.\n- AUDIO_SOURCE_ECHO_REFERENCE: for capturing the reference signal to suppress by an echo\ncanceller. Protected by privileged permission CAPTURE_AUDIO_OUTPUT.\n\nAlso added device AUDIO_DEVICE_IN_ECHO_REFERENCE selected when the requested\ncapture source is AUDIO_SOURCE_ECHO_REFERENCE.\n\nBug: 118203066\nTest: CTS tests for audio capture\n\nChange-Id: Ieb159ea82a7b81acf762506a44e24ec80111609f\n"
    },
    {
      "commit": "384a196f7cfbe4e1a481be0b281e1b7ae1bef42a",
      "tree": "71dfe251fd9473097bc9f5a49124dfdbbff912da",
      "parents": [
        "c1b140c7139be5f3125e503354b871925ca6d652"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 17 14:14:27 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 17 14:22:56 2018 -0800"
      },
      "message": "aaudio: remove redundant message from test-return_stop.cpp\n\nIt was unnecessary and was missing a newline.\n\nTest: this is a test\nChange-Id: I6463579c759b620ac3d34dceacee8e4e9c806808\n"
    },
    {
      "commit": "61cf6c171c70c771c8de83549d99a979d37b5e4e",
      "tree": "0d3b77af4b067e5cb22fabb9e813a86de2dfd122",
      "parents": [
        "ef4b27d1d1123b452316f722a0eacc282d3fa94a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 10 14:00:29 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Dec 14 00:51:39 2018 +0000"
      },
      "message": "audio: add test_return_stop.cpp\n\nTest returning a STOP code from the callback.\n\nBug: 120845500\nTest: this is a test\nChange-Id: I88aa46b356443ab055c194cb430d93618980894d\n"
    },
    {
      "commit": "e6faa59bd4806a2200f59304ecba080569d0dc0d",
      "tree": "4b048142b18403b52bfcb36e42d7b51ffe2b241b",
      "parents": [
        "b079c02b1fa4f1b5c5b6334b93af584797b4454f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 03 10:10:21 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Dec 05 09:18:10 2018 -0800"
      },
      "message": "aaudio: improve test_atomic_fifo\n\nCheck for the effects of setting a bogus counter.\nCheck for writes to memory surrounding the FIFO.\nCheck for negative array indices.\n\nBug: 120147915\nTest: this is a test\nChange-Id: Ia30cdef7f9d60f0a98b9af964cb3b3159df37dc9\n"
    },
    {
      "commit": "d1bdb20b3bff4f04ad467b77a0c690571e49bb4c",
      "tree": "f1eef1df2b4e1f1fd5edb26b6ce685f533b91258",
      "parents": [
        "fd771a4fdfad765cee9b66b558574d4ee3f70e4a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jul 19 13:59:26 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Oct 18 09:47:35 2018 -0700"
      },
      "message": "aaudio: unit test for IsochronousClockModel\n\nTest: adb push ${OUT}/data/nativetest64/test_clock_model/test_clock_model /system/bin/.\nTest: adb shell test_clock_model\nChange-Id: I6736a02674b4f8f723799e76be7d441c46f01de6\n"
    },
    {
      "commit": "0127c1be07d63e046e136126cd465c3fa8977768",
      "tree": "4eb611ec5d010becd3583f93c640cc9468acb3b3",
      "parents": [
        "fdfae2898f0785f19de198ed00488e03bf52bca9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Mar 29 13:48:06 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 07 11:08:24 2018 -0700"
      },
      "message": "aaudio: use new flowgraph to simplify processing\n\nConstruct a flowgraph based on the source and destination\nformat and channelCount. This is groundwork for supporting 24-bit\nPCM formats.\n\nAlso cleaned up handling of device related format.\n\nThis CL removes more code than it adds.\n\nBug: 65067568\nTest: write_sine_callback.cpp -pl\nTest: write_sine_callback.cpp -pl -x\nTest: input_monitor -pl\nTest: input_monitor -pl -x\nChange-Id: Ia155bff0164912011d09b61b54f983ccf4490bd1\n"
    },
    {
      "commit": "bb78a73db83955151feb6b150f7cb925bcabe79a",
      "tree": "fd98edb0fb0f7a3045d36a447be3cf345a34e1e4",
      "parents": [
        "64dce361eb3dbfc8c78f474b4c24dcaceb904ae1"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Mar 28 15:37:19 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Aug 29 13:05:09 2018 -0700"
      },
      "message": "aaudio test: test flowgraph\n\nConstruct simple data flow graphs and measure the output.\n\nBug: 65067568\nTest: this is a test\nChange-Id: I7d7794fd56c2e2ced130ea501a456f2690a64b59\n"
    },
    {
      "commit": "882c520fd82ef5ce1420bb3eb6fc4bcbb205cb87",
      "tree": "ab17c80d971269c1f8e16b6b8011d37863b0a8e6",
      "parents": [
        "a11eb695cac183c629cab536d101e6667343992b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 23 10:32:45 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Aug 23 11:59:56 2018 -0700"
      },
      "message": "aaudio: cleanup FIFO\n\nRemove unused methods and fields.\nBetter code format and alignment.\nUse unique_ptr for mFifo.\nRemove getFifoController() method that exposed pointer.\nUpdates tests and calling code as needed.\n\nTest: test_atomic_fifo.cpp\nChange-Id: I1ea66beaadeb74083307835858b757e4753affda\n"
    },
    {
      "commit": "217a14ff1b359762eea5619c12669a68e4db4672",
      "tree": "6d003021aaeb53508e5c7fd897fdd331e6f6766e",
      "parents": [
        "64da22285776f07a775afd45f9fc36cea1aa05e3"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 23 10:33:06 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 24 09:11:56 2018 -0700"
      },
      "message": "aaudio: add unit test for FIFO\n\nWrite data, read it back and verify.\nTry to trigger wrap-around conditions.\n\nBug: 78139448\nTest: this is a test\nChange-Id: I4247fcf57a25c97c6ab8ce9671d0f61556ecef6a\n"
    },
    {
      "commit": "381708a847860bb5e71a55422916112c9ac361b5",
      "tree": "9a9dd9a6f73bec0024fd32352e38b3331b00d119",
      "parents": [
        "c2c0aabfef24cbf48cdf6755f8627386971abdd3"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 14 16:02:50 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Feb 27 01:21:12 2018 +0000"
      },
      "message": "aaudio: test interference between streams\n\nCreate an MMAP stream at 48000 Hz.\nThen try to create a second MMAP stream at 44100 Hz,\nwhich will open on the Legacy path.\nThe bug will cause the first stream to be killed.\n\nBug: 73369112\nTest: this is a test\nChange-Id: Ibc7ef78b6bfd67114d6d2f47519e2a9113e75855\n"
    },
    {
      "commit": "67fdd894bf7e09a544348a9f8298427bc9b3fe85",
      "tree": "1ca837a04fb3840e49399d81bb69a11554b8f2d7",
      "parents": [
        "254d783c0db9d7af6b863ad1819f5c4a543a939d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jan 23 15:28:55 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 24 13:31:06 2018 -0800"
      },
      "message": "aaudio: fix sessionId conversion\n\nWas not handling negative IDs correctly.\nUpdate test to allow negative IDs.\n\nBug: 72333892\nTest: CTS has test_session_id\nChange-Id: I1ca57026d6202f7d54c8efd51b14854be6cc69e4\n"
    },
    {
      "commit": "4fa3b94398653e20719c8d26dd75dbbabfbaabe9",
      "tree": "799f70df37d18a293e1705b9bbfe9c9b41f4f22f",
      "parents": [
        "bb8ad0e6ebf1a74245929720fd6336feda926ea9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Dec 13 17:25:24 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 24 15:21:13 2018 +0000"
      },
      "message": "aaudio: test matrix of state transitions\n\nTest transitions from OPEN, STARTED, STOPPED and PAUSED.\n\nTest: this is a test\nChange-Id: I8e9257909f5e50834652f71b14d94a13e0e62f3f\n"
    },
    {
      "commit": "eaef9b9c7b3c6c4d4435ce5e32e9fe952a2f69fe",
      "tree": "a9c488f653c7d3488b6c72e8b44d82cea0437633",
      "parents": [
        "205266aacc675dfb7a7f9f985c4ca973163cb59e"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 18 09:09:42 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jan 22 10:17:58 2018 -0800"
      },
      "message": "aaudio: use AAUDIO_INPUT_PRESET_VOICE_RECOGNITION\n\nChange default for InputPreset to restore low latency.\n\nBug: 72049948\nTest: see bug, adb shell aaudio_loopback -te -pl -n1 -x -X\nChange-Id: Ie987c2e65d9338353ec6e23598442394d2a2e4a9\n"
    },
    {
      "commit": "a11f9357196db29e6f8f05b91334524de4f3207e",
      "tree": "bf6f61bc918e26105e9607f4b390e2ef20bf0ce1",
      "parents": [
        "7e7dcaa9870760c3be5f2db28cd9149043c73fe2"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 03 15:53:25 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 18 19:43:17 2018 -0800"
      },
      "message": "aaudio test: test sessionID for effects\n\nTest AAUDIO_SESSION_ID_NONE.\nTest AAUDIO_SESSION_ID_ALLOCATE then use the allocated ID\nfor both input and output.\n\nBug: 33268927\nTest: this is a test\nChange-Id: Ia70670259137e715e75a497ef910a231b638e877\n"
    },
    {
      "commit": "f9d1b99e6fb1af139604336863f6cb7d3c48510e",
      "tree": "52a701234511d15a490fd33f0b4620848ab1b889",
      "parents": [
        "361b142aa27326ab5b2563493751c264a4dc7e75"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Dec 21 16:54:18 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 11 18:27:53 2018 -0800"
      },
      "message": "aaudio: test USAGE, CONTENT_TYPE and INPUT_PRESET\n\nPass these audio attributes to AudioFlinger.\nAlso test for default behavior.\n\nBug: 68052449\nBug: 62104146\nTest: this is a test\nChange-Id: I3bef65fb7b7da6eeb670f53aa9e5bf7d237ea714\n"
    },
    {
      "commit": "2581ae211554328dff1961b2d722b39d3ff43844",
      "tree": "c6cfb3424d108363a31f7b17b0b6d20cf7735e15",
      "parents": [
        "5fb93fa294ee05a25f86312e926b5ca4e0d1d3b2"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Nov 21 15:47:29 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Dec 13 10:45:55 2017 -0800"
      },
      "message": "aaudio: test calls to requestStop() from the data callback\n\nTest whether functions are illegal from a callback.\n\nAlso test AAUDIO_CALLBACK_RESULT_STOP\n\nTest: this is a test\nChange-Id: I0e91b08951f7f29f6fa317a8b3c4a69f14e58483\n"
    },
    {
      "commit": "7dd4843186ae781213819a988061d108efb513cb",
      "tree": "4d310e8fe8802b012e29fe9c14dde6dcfa5d2af0",
      "parents": [
        "ae11d0413cf44e15acef0abb6ca6560f81bc2727",
        "86938671ea9cf95e3742659924189a1d016dfd59"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 01 00:50:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 01 00:50:20 2017 +0000"
      },
      "message": "Merge \"aaudio: monkey test random activity\""
    },
    {
      "commit": "b17aec153cbebd44aa96a65b98c29bc0368d59ea",
      "tree": "8414b27185f2deddd6a5fd9fd8cb0e8841473234",
      "parents": [
        "eda72c27cab52c41016d8ce138438a2d59973231",
        "c2d20797f0c2a779a5113f455fb59a922ab9e311"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 01 00:43:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 01 00:43:56 2017 +0000"
      },
      "message": "Merge \"aaudio: test linear ramp and conversion utilities\""
    },
    {
      "commit": "86938671ea9cf95e3742659924189a1d016dfd59",
      "tree": "2782847d646d6bd4a0fe168bffa1cc3122f6ad3b",
      "parents": [
        "693cb2bde52b4d73c391c529f1c6bf7a02be9f72"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Nov 27 13:49:40 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Nov 30 14:59:00 2017 -0800"
      },
      "message": "aaudio: monkey test random activity\n\nRandomly start, stop, pause, flush audio streams\nto see if we can trigger unexpected bugs.\n\nTest: this is a test\nChange-Id: I52a62c247f8c94de024aed63764e8d6b50c59343\n"
    },
    {
      "commit": "c2d20797f0c2a779a5113f455fb59a922ab9e311",
      "tree": "c4339c6617ee63de8c65769661192dc955e70358",
      "parents": [
        "693cb2bde52b4d73c391c529f1c6bf7a02be9f72"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Nov 30 10:48:41 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Nov 30 14:42:42 2017 -0800"
      },
      "message": "aaudio: test linear ramp and conversion utilities\n\nAdd specific  tests of the utilities.\n\nTest: this is a test\nChange-Id: I376655d9d9d4b5e187965ec1c312f1c93977958d\n"
    },
    {
      "commit": "0c15f4f96a3e2a119cf10dcca158c4d25c6c735c",
      "tree": "5da5f9ea0ac286ee759844d4c6b6652efb234385",
      "parents": [
        "693cb2bde52b4d73c391c529f1c6bf7a02be9f72"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Nov 28 15:46:15 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Nov 28 15:46:15 2017 -0800"
      },
      "message": "aaudio: test some state transitions\n\nBug: 69810494\nTest: this is a test\nChange-Id: Ie7c554f023f49bbd41b4bb28c0a4b9c78b403200\n"
    },
    {
      "commit": "9a9e60097f1ea8828e6d4aa6539e7bac29141afa",
      "tree": "2bbbe4e94cad0c88a98f410353dbe7270c6d0a31",
      "parents": [
        "10edfcf70857cc0a22afbbd3fc8f57f0c8a2953a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Nov 17 12:17:37 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Nov 21 08:48:27 2017 -0800"
      },
      "message": "aaudio: test AAudioStream_setBufferSizeInFrames()\n\nBug: 69469801\nTest: this is a test\nChange-Id: I524392c1141ae3b1c37fe083930947fd7ef8243d\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": "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": "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": "bc4845eddc182d4e6b21c6906917f8416034c9ca",
      "tree": "36f8e34d3c85101a8be8eade8c0e922cd84b2977",
      "parents": [
        "7de1920b41a7c5a6aa466dcd4fffc936193328b1"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Oct 12 15:51:30 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Oct 17 12:39:28 2017 -0700"
      },
      "message": "aaudio test: add test of improper handling of disconnect\n\nJust start a new stream without stopping or closing the old disconnected\nstream.\n\nBug: 67664976\nTest: this is a test\nChange-Id: I674626d0d365ed3a72e079212c6aceed9b0c85fc\n"
    },
    {
      "commit": "523b3047af443d0a51141ddabd328d52be5a23b0",
      "tree": "2596b9d310c3c59d391634d131d2ae866ddf1d47",
      "parents": [
        "1e0c671e14660588410560a55c34718bb8af3b22"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 13 13:03:08 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 15 13:29:26 2017 -0700"
      },
      "message": "aaudio: keep track of streams using strong pointers\n\nMaintain strong pointer to service stream during service calls.\nUse simple AAudioStreamTracker instead of complex HandleTracker.\n\nBug: 65280854\nTest: affects all MMAP streams, run all CTS tests, etcetera\nChange-Id: I3d2ed8b588ea39c216dacd4dea503b11c33f36f3\n"
    },
    {
      "commit": "c75d97f20843388b9084561635996a01a53d0c0f",
      "tree": "2830ecc2de864ef496f7bbbc507a5f144839732a",
      "parents": [
        "e0de1cdc1ebe4f43ac5ba4273d51b368901c87de"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 08 15:48:36 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Sep 09 04:17:53 2017 +0000"
      },
      "message": "aaudio: fix return code from getTimestamp()\n\nShould be AAUDIO_ERROR_INVALID_STATE if no timestamp available.\n\nBug: 65447871\nTest: test_timestamps.cpp should only print AAUDIO_ERROR_INVALID_STATE\nChange-Id: Id9e211ef8fce078514f4348a434e0c003372369c\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": "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": "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": "e34b0cfc0d7cf5118df6922f37452266ef4078b5",
      "tree": "a58523a61699b1d49c4dc51e0c0aae4534f0e69f",
      "parents": [
        "8dd045aaf7079fce7c3f0d8457d4e4c7055bac03"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 04 17:24:39 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 04 17:24:39 2017 -0700"
      },
      "message": "aaudio test: test both input and output stream limits\n\nBug: 62951298\nTest: this is a test\nChange-Id: I03521e2a6147733c7b89f2371cc3f46ca5001d77\n"
    },
    {
      "commit": "9169294539ad46e08e2fe76a93c37ed965c13058",
      "tree": "7f99790dd7625f12d19a1365666e4c541451f0ae",
      "parents": [
        "6ec18f8ce3d797fdd5722926ac17c1f4eda7904d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 12:23:05 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 08:01:51 2017 -0700"
      },
      "message": "aaudio: limit number of streams per process\n\nTesting the new max streams restriction revealed the bug\ninvolving the second shared stream.\n\nBug: 62951298\nBug: 63171495\nTest: test_n_streams.cpp can open MAX_STREAMS_PER_PROCESS MMAP streams\nChange-Id: Ibea7d9c4716326a37c669954b52f397ed2968caa\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": "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": "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": "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": "8dd7fedba00b4f21e3428cbb5d5a5014ef9ef49d",
      "tree": "bf06c3f2bde3ae78ade600fe6701f362bec51ad7",
      "parents": [
        "331207d51a620bf018081950da4b20133014657f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 11 12:03:13 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 12 14:03:29 2017 -0700"
      },
      "message": "aaudio: add a test for openStream() with varying parameters\n\nBug: 38236303\nTest: this is a test\nChange-Id: I1b099e230acc2168af9c1a4d08ef6753e7066625\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "e572f469de5dca1078a79d3d80e5b04f96ae7505",
      "tree": "312a86063172d4bedef4dd1f68447797debb3d08",
      "parents": [
        "6f85f6533a25f7eeaaacba53281572c00e63759a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 20 13:03:19 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 01 11:22:03 2017 -0700"
      },
      "message": "aaudio: apply volume in the MMAP data path\n\nThe volume scaling is in AudioStreamInternal and not the mixer\nbecause we will need volume scaling in EXCLUSIVE mode too.\n\nBug: 37518243\nTest: play a tone using NativeOboe app then press volume keys\nChange-Id: Ibbac9770ea4493f8ade64681be86f109a92803cd\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "a4eb0d86a29be2763be5fac51727858d5095794b",
      "tree": "f725cf700cac0e52e0376b6a9a867f4c37fe3bdc",
      "parents": [
        "9e7dd63dfff0cc967f025ea9e27a299aaa99fd69"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 12 15:44:06 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 13 13:50:40 2017 +0000"
      },
      "message": "aaudio: merge contents of  AAudioDefinitions.h into AAudio.h\n\nAs requested by native API council.\n\nBug: 30210002\nBug: 33398120\nTest: CTS test_aaudio\nChange-Id: I5ea7c53d09469221263d84cf6f82082e67c2523b\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3",
      "tree": "225166e1ada5fdd2fc5e399feeabb376a05d9f86",
      "parents": [
        "0ba7cd85016caac178ee8e52f067ca9c42511dc3"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Mar 28 11:32:39 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 10 21:56:05 2017 +0000"
      },
      "message": "libaaudio: implement callback\n\nUse AudioTrack and AudioRecord TRANSFER_CALLBACK.\nAdd FixedBlockAdapter to provide fixed size callbacks.\n\nBug: 36489240\nTest: CTS test_aaudio.cpp\nChange-Id: Id2034dd640f878dd27fee6b43ad80a01c627dfd6\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n(cherry picked from commit c8f372c22a0e4c667a3ad3c1ec569032574c1d64)\n"
    },
    {
      "commit": "c35f3ae6f361a346b6d823601c69dd704afe644a",
      "tree": "fb544ed171d73bd1ad492b061108e64db818ccdb",
      "parents": [
        "2d6140b8dce137f89029b12468e25d5911f23420"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Feb 14 11:23:13 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Feb 14 11:23:13 2017 -0800"
      },
      "message": "libaaudio: remove LEGACY sharing mode\n\nIt was a poor API. Choosing the AudioTrack path is not a sharing mode.\nInstead we decide internally, which path to choose based on sharing\nmode and availability.\n\nTest: CTS nativemedia/aaudio/test_aaudio.cpp\nChange-Id: I8b6246b95cea807dcd0fc82e08a16f68f17b47f3\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "f53e613b3dedab3ecada2c93d8846233c442d129",
      "tree": "b4589d9099325e9d57d729b5f60cf4c4e8260e50",
      "parents": [
        "52a93bbb3b57d1a730aedaee0b9ec22e4c71551d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 09 13:30:22 2017 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 10 19:14:40 2017 +0000"
      },
      "message": "libaaudio: change name from liboboe\n\nBug: 34749573\nTest: CTS test_aaudio.cpp\nChange-Id: I7e2b621488047f0798ca6f2fc00d2b5fed2bf015\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    }
  ]
}
