)]}'
{
  "log": [
    {
      "commit": "94e16458f4665d3c167d0e2c905a3f4ec9e7a3e7",
      "tree": "7066fa5c42738f1432a50cd55dc5939d1df64b3f",
      "parents": [
        "8631fd7b270e99ebee6ba056f4edd38e6bd4f93f",
        "17fff38dd9d467bc5fb6cd5b9a6b183951c7750d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 06 17:04:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 06 17:04:45 2017 +0000"
      },
      "message": "Merge \"aaudio: reserve some error codes\" into oc-dev"
    },
    {
      "commit": "17fff38dd9d467bc5fb6cd5b9a6b183951c7750d",
      "tree": "906d61c442d2dd75f28e62ac8d746e1f45a31bed",
      "parents": [
        "433ecd85ef10284a71c4ea57279f53427fb9983d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 16 14:06:45 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 05 19:00:40 2017 +0000"
      },
      "message": "aaudio: reserve some error codes\n\nThese codes were unused or redundant.\n\nBug: 37755198\nTest: CTS test_aaudio_misc.cpp\nChange-Id: I46797b9fba9406b9c98d4b9aa49f0cacbec332b9\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\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": "160078a07033fb015ecaa46e7249d7702be2a169",
      "tree": "7ec7b225cdad7c787f779d2cc9e2655675e2e9bf",
      "parents": [
        "be9c9d5a8168a4818c0296ac30dbd6120aac0727",
        "37a466ae847cf08fc346e629fe4cf964ad67063f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 01 18:59:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 01 18:59:13 2017 +0000"
      },
      "message": "Merge \"Fix copy/paste errors in use of AAUDIO_FORMAT_UNSPECIFIED\" into oc-dev"
    },
    {
      "commit": "be9c9d5a8168a4818c0296ac30dbd6120aac0727",
      "tree": "de01094fda71b5683d3f0b9c9e6e1b5d2294d757",
      "parents": [
        "897011a94008cb9ab73f8db397bbd87c57f5cf27",
        "5f510d2e1d9976f45d1d1733f20ec32e56bd2239"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 01 14:02:07 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 01 14:02:09 2017 +0000"
      },
      "message": "Merge \"Replace AAUDIO_DEVICE_UNSPECIFIED by AAUDIO_UNSPECIFIED\" into oc-dev"
    },
    {
      "commit": "37a466ae847cf08fc346e629fe4cf964ad67063f",
      "tree": "63d9b305c36f0625fe162381375fd9b2eb8ffc6d",
      "parents": [
        "629afae6135e6dc1e88ab4080f984fb30b3cdd7c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 30 15:53:14 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 31 10:53:36 2017 -0700"
      },
      "message": "Fix copy/paste errors in use of AAUDIO_FORMAT_UNSPECIFIED\n\nBug: 62222736\nTest: builds OK\nChange-Id: Iabdac7a3d0893699eb72f85985002535c8f619c7\n"
    },
    {
      "commit": "5f510d2e1d9976f45d1d1733f20ec32e56bd2239",
      "tree": "48b9f65b79c8254285fd5122abc7599efb8fce45",
      "parents": [
        "629afae6135e6dc1e88ab4080f984fb30b3cdd7c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 30 15:52:15 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 31 10:49:49 2017 -0700"
      },
      "message": "Replace AAUDIO_DEVICE_UNSPECIFIED by AAUDIO_UNSPECIFIED\n\nBug: 62220981\nTest: builds OK (they have the same value 0)\nChange-Id: Iba710f252df939c15da6cf17b9086a8e9ced25cc\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": "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": "fb00fc77f59ed5ebec4d38bac666e6521b6c1de0",
      "tree": "cf7fd5f373a5a8681d7fe4ee151367ccf3f8c9f2",
      "parents": [
        "d08f04f33b80c37bd3889f461846d59f70e726c7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 25 18:17:12 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 26 18:34:13 2017 -0700"
      },
      "message": "aaudio: fix device switch detection in legacy path\n\nImplement device switch detection on legacy path (AudioTrack and\nAudioRecord) based on audio routing callbacks forcing the stream state\nto disconnected.\n\nBug: 33355262\nBug: 62090113\nTest: tested with write_sine and input_monitor command line tools.\nChange-Id: I9e0421fee233964b1bf318acb640569196a00f13\n"
    },
    {
      "commit": "d08f04f33b80c37bd3889f461846d59f70e726c7",
      "tree": "f05aa5a475126341e00241132da58360b4a1516d",
      "parents": [
        "ac1b860260d99455d60f99b11c24b83f339031fc",
        "cf5f6d2825d9a8430a291042ca9c6f68e5b666d0"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat May 27 01:13:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 27 01:13:31 2017 +0000"
      },
      "message": "Merge \"aaudio: reduce logspam, improve critical logs\" into oc-dev"
    },
    {
      "commit": "cf5f6d2825d9a8430a291042ca9c6f68e5b666d0",
      "tree": "01266d4a2fdf5ccce8067b583be1f3a0ac9b81f0",
      "parents": [
        "433ecd85ef10284a71c4ea57279f53427fb9983d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 26 12:35:07 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 26 15:38:09 2017 -0700"
      },
      "message": "aaudio: reduce logspam, improve critical logs\n\nThis will make AAudio less annoying and easier to debug.\n\nBug: 62080950\nTest: look in logcat\nChange-Id: Id7ae26a212f83ea8be0b285bd20334eb48607be8\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\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": "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": "d873a5506149ed47164cf9c11add82eaceba24c3",
      "tree": "a2d5bd8595ac6249d1c2d93d9ba8a9640b4c6ee5",
      "parents": [
        "76f1cf0faa94b29c0d7debb5b560642fcf458e92"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu May 18 14:20:33 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu May 18 14:20:33 2017 -0700"
      },
      "message": "AAudio: Fix counting of written / read frames for legacy input\n\nAdd necessary calls to update counters\n\nBug: 38396189\nTest: nativetest/CtsNativeMediaAAudioTestCases*\nChange-Id: Ic9636d61766db1c7b88c941e9a1018fccb5f1e88\n"
    },
    {
      "commit": "127999e84646ab51e3f17147e9cd291f557c658a",
      "tree": "e6bff44a8269b3a4eda3f75b02f5c604d8e55e77",
      "parents": [
        "30a707773a043e5eebd552d369c0882f886b67e5",
        "42ed0988847a3bf3db6c3fa696c9dd4768715b1f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 18 02:05:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 18 02:05:09 2017 +0000"
      },
      "message": "Merge \"AAudio: Set minimum allowed sampling rate to 8000 Hz\" into oc-dev"
    },
    {
      "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": "9b3f8ef290bd5ad392f5eba8a0f0a8ddd331b54f",
      "tree": "37f5f7342168b2cc2b5c4120e049d1a22152428f",
      "parents": [
        "54cf32220ceed7e0dc6dd2f6cf8b078bc88c7752"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 16 11:37:43 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 17 19:47:06 2017 +0000"
      },
      "message": "aaudio: fix leak of AAudioBinderClient\n\nMade it a Singleton that gets reused.\n\nBug: 37992613\nTest: write_sine_callback.cpp\nChange-Id: I63c045bd71d3bc1fc84f5fd4d7a6159fa5184c1c\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "54cf32220ceed7e0dc6dd2f6cf8b078bc88c7752",
      "tree": "0cee1db1c12359878f2c40388ad4ef8aeb38f3f5",
      "parents": [
        "c2bc4385fff526318caaecaa5dcc92479378bb73",
        "4485d41bcded0eceec7ec97d50aa2b0e702397a0"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 17 19:43:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 17 19:43:16 2017 +0000"
      },
      "message": "Merge \"aaudio: fix output bugs and improve input performance, add loopback test\" into oc-dev"
    },
    {
      "commit": "42ed0988847a3bf3db6c3fa696c9dd4768715b1f",
      "tree": "5b69e751f712b72ad7b743703c6256bbc1535246",
      "parents": [
        "1adebcd1bfb8a6716642e9693923858222a78c6c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 17 10:37:10 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 17 10:39:48 2017 -0700"
      },
      "message": "AAudio: Set minimum allowed sampling rate to 8000 Hz\n\nBug: 37755299\nTest: nativetest/CtsNativeMediaAAudioTestCases*\nChange-Id: I275c5718d12d285c1613df776946857dded32381\n"
    },
    {
      "commit": "c8f69a08a409fd163873d725c63f8d60259ae21d",
      "tree": "da3c5a871c2a78e109d02cf1c08cfb496d4aa3e6",
      "parents": [
        "feb0d87f693abd8fd2fa7ebfcdf7d91f0b95c131"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 11 15:53:06 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 16 10:34:05 2017 -0700"
      },
      "message": "aaudio: control MMAP mode using system properties\n\nTo facilitate testing of MMAP mode.\n\nBug: 38268547\nTest: set properties, see framesPerBurst in write_sine_callback.cpp\nChange-Id: I6e15c563215017f6a5020d89ac312ff8331afc4f\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\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": "dfd68662b07caacc0e7cd7a20d437b90b5ab3ae3",
      "tree": "1a8e622db3295e8e12bdf41e4d0c7d2ffd5ce1e9",
      "parents": [
        "3a85e5623164d7dce0912224962d6ad85bdffea4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 11 18:11:05 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 11 18:13:07 2017 -0700"
      },
      "message": "AAudio: fix exclusive mode\n\nRegression introduced by commit e2fbb59e.\n\nBug: 38247512\nTest: verify exclusive mode with write_sine_ndk app.\nChange-Id: Id85b922d994fba33561489ca06d4a8fd6e97c416\n"
    },
    {
      "commit": "77994d70fe8d4805126361bbd0afbcac1cd1d2f0",
      "tree": "2fe19c3e8aec6d1a4c109512ab04d8f015f1426e",
      "parents": [
        "2d12b8e3677c2c6b620358fa7e4699dda8c0f0bc",
        "5204d315c6c6f53188f8d1414dd1b55b6c90142b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 11 16:47:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 16:47:05 2017 +0000"
      },
      "message": "Merge \"aaudio:  validate audio data format\" into oc-dev"
    },
    {
      "commit": "5204d315c6c6f53188f8d1414dd1b55b6c90142b",
      "tree": "0a3482871d0a444907049f9a8660341fa5787ca2",
      "parents": [
        "331207d51a620bf018081950da4b20133014657f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 04 17:16:13 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 11 09:31:47 2017 -0700"
      },
      "message": "aaudio:  validate audio data format\n\nAlso lots of minor cleanup\nFix underscores in some headers\nRefactor getTimestamp()\n\nBug: 34127069\nBug: 38227780\nTest: CTS test_aaudio.cpp\nChange-Id: I6fdb50eb00a41688df871018ced91d5f5f055f8a\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "804b96ffae0e7b22704209ecfd6a87f2aa8c952c",
      "tree": "1f0bc56fda75a6a5d9cd2b4feb8ce53827797240",
      "parents": [
        "31e436e23a2a6f7d2de57158a1ae6542098a8e63",
        "068c10f03d16a7f73abf138cc751cf3bde7518df"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 11 00:50:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 00:50:18 2017 +0000"
      },
      "message": "Merge \"ligbaaudio: Fix pause, flush and getXRunCount for input streams.\" into oc-dev"
    },
    {
      "commit": "31e436e23a2a6f7d2de57158a1ae6542098a8e63",
      "tree": "1d5cd0b2192c3ead370637c38e721903405707b3",
      "parents": [
        "ebb1475d1a97ee3dbf25ea72383a6b7554aac1dd",
        "942bdc0aebc88dc8b12c0e7742ec0003bbb8b80f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 10 23:14:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 10 23:14:55 2017 +0000"
      },
      "message": "Merge \"aaudio: plug some resource leaks\" into oc-dev"
    },
    {
      "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"
    },
    {
      "commit": "942bdc0aebc88dc8b12c0e7742ec0003bbb8b80f",
      "tree": "2791ba38cdc9b1839a9d17bc20e53fde6a4c8f7c",
      "parents": [
        "441f2ccb103fdb6fe6409eac870ea30ee3ccfb33"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 03 11:36:50 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 04 17:23:47 2017 -0700"
      },
      "message": "aaudio: plug some resource leaks\n\nClose some file descriptors for shared memory that were not getting closed.\n\nBug: 37947848\nTest: see bug for test procedure\nChange-Id: Icdc13188b0a49d08b67babff0852c3a4eda8fd2b\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "e2fbb59e729f6c3cade3b531f6f6411417ccbf40",
      "tree": "519ff6ad94d7465c7672e6ac3dd73b4d892dbbfe",
      "parents": [
        "441f2ccb103fdb6fe6409eac870ea30ee3ccfb33"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 01 15:05:52 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu May 04 11:45:08 2017 -0700"
      },
      "message": "aaudio: add setPerformanceMode()\n\nThe performance mode affects the latency and the implementation of the\ndata path.\n\nMMAP is still disabled for now.\n\nBug: 37867485\nTest: write_sine.cpp\nChange-Id: I9bf5d5d13d1047d5ace69bd5ebdce7b6d65c14e7\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "441f2ccb103fdb6fe6409eac870ea30ee3ccfb33",
      "tree": "2da91b5aa41164cd6e48f5d86e3f731d54ded035",
      "parents": [
        "f1e459c6400a774d99390227e853a30f58cee4a2",
        "4c5129b410884ec0400cbe65fce56d0ade12d11b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 03 22:24:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 03 22:24:26 2017 +0000"
      },
      "message": "Merge \"aaudio: Fix getFramesWritten() for callback mode.\" into oc-dev"
    },
    {
      "commit": "4c5129b410884ec0400cbe65fce56d0ade12d11b",
      "tree": "9f17ebb0f82552f0b0015d3b07d0ab0bb43b4349",
      "parents": [
        "c5cbb87d00ead068a7088db4060bce1c0e699b8c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 28 15:17:32 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 02 16:21:03 2017 -0700"
      },
      "message": "aaudio: Fix getFramesWritten() for callback mode.\n\nPlus other small fixes for CTS and cleanup\n\nBug: 37910599\nTest: test_aaudio.cpp\nChange-Id: I65a23daf99e9de857d3ce9fd12e9f11c614e298e\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "01506e4ad26d1f1bf5b81121a8d17b3305940eab",
      "tree": "60d47f699c08d9923679291881fb323293716795",
      "parents": [
        "9694ba347ac5e324ebc26c6130eb5954728b5115",
        "478d5df3a0e1693669f5809176d5c7f6e8c9aa88"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 02 22:55:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 02 22:55:25 2017 +0000"
      },
      "message": "Merge \"aaudio: fix mmap result checking\" into oc-dev"
    },
    {
      "commit": "478d5df3a0e1693669f5809176d5c7f6e8c9aa88",
      "tree": "1f43c7ac9e4b2acdf637c03ad6cfb8c477ca5751",
      "parents": [
        "c5cbb87d00ead068a7088db4060bce1c0e699b8c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 01 11:34:11 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 02 11:58:36 2017 -0700"
      },
      "message": "aaudio: fix mmap result checking\n\nWas checking for nullptr not MAP_FAILED\n\nBug: 33398120\nTest: see mmap() docs\nChange-Id: I02d178cb0188f8b0d6cd009699dccc7c97952e4b\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "90430d91fab9940880f85e6064c8bd431f840bb2",
      "tree": "0d4c8209c146535eb76369c0b7723b7a1a265b2e",
      "parents": [
        "c5cbb87d00ead068a7088db4060bce1c0e699b8c",
        "098b883a7dc89b65b72c6d3f1d38c6afd477a0ad"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 02 15:58:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 02 15:58:33 2017 +0000"
      },
      "message": "Merge \"aaudio: set errorCallback user data\" into oc-dev"
    },
    {
      "commit": "098b883a7dc89b65b72c6d3f1d38c6afd477a0ad",
      "tree": "e22f0553b2450cd9d08fac6c671014cad68ee33f",
      "parents": [
        "6f85f6533a25f7eeaaacba53281572c00e63759a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 01 17:04:46 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 01 17:04:46 2017 -0700"
      },
      "message": "aaudio: set errorCallback user data\n\nWithout this, a nullptr could be passed to the callback instead of\nuserData.\n\nBug: 37873111\nTest: difficult to test because it requires an error to occur.\nChange-Id: I3f262410e0465a8192da2494cadfdb4f8d2188a7\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": "20523edbf2f597c53b90e76694331c807e559515",
      "tree": "545c9381d3734e389bf16cd210341411eb08b55a",
      "parents": [
        "79a89ef4eb06a2d29fc3d083112de398111a9ddb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 24 17:04:01 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 25 10:45:43 2017 -0700"
      },
      "message": "aaudio: change samplesPerFrame() to channelCount()\n\nBoth functions provided for now.\nWill remove deprecated function in later CL.\n\nBug: 37646784\nTest: write_sine.cpp and write_sine_callback.cpp\nChange-Id: I1241aafa206112c526d6ca250ba5209489e1a46e\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "71f35bb687476694882a617ba4a810a0bb56fe23",
      "tree": "93e01bfc7cb0b942e0ee16892c26d5a184b3e541",
      "parents": [
        "24059088a46160f731903cc66404184a531d0478"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 13 16:05:07 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 21 05:11:26 2017 +0000"
      },
      "message": "aaudio: fix SHARED MMAP mode in server plus other bugs\n\nFixed some buffer miscalculations, and some NPEs in the close() code.\nAdded debugging and some general cleanup.\nFixed data conversion.\nFixed start/pause/flush in server.\nAdded reference counting in server for endpoints.\nPrograms can now be ran more than once.\nGeneral code cleanup.\nReconnect with service if server dies.\nMove stop() logic into server for better synchronization.\nAdd sleep to prevent race condition when closing an MMAP stream.\n\nBug: 33398120\nTest: two write_sine_callback.cpp can be run simultaneously\nChange-Id: Ibb006215a498868c222228d675ff961d7e0bf514\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "13f2ff3d61ab45277d1e46de55d2978fa031020d",
      "tree": "d22eaf32accc16d7d4ed2838fe42c8d83d2997e9",
      "parents": [
        "9c90fb9a6a91026843846991b38475d3bbe90a0e",
        "5bab576c2f03c02e8ae6020127ba962d96172e8a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 20 00:19:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 20 00:19:13 2017 +0000"
      },
      "message": "Merge \"aaudio: disable EXCLUSIVE mode\" into oc-dev"
    },
    {
      "commit": "5bab576c2f03c02e8ae6020127ba962d96172e8a",
      "tree": "222c979bde8d9c42ad13e19aca846fa55249e235",
      "parents": [
        "6642d7853365173ccc2c78e647a89b868340e2b1"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 19 17:14:27 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 19 17:14:27 2017 -0700"
      },
      "message": "aaudio: disable EXCLUSIVE mode\n\nIt does not work because of SELinux restrictions.\n\nBug: 37167970\nTest: we are disabling a feature because it does not work\nChange-Id: If97ae72bde50dbc7808eb0768de25e6fbb388429\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "9c90fb9a6a91026843846991b38475d3bbe90a0e",
      "tree": "e33194c378eeaa2116aff97d11edf8a2570a6c20",
      "parents": [
        "2c8be3ef119ed8023c13437db2b173ef5f34a81e",
        "5fbc2ddb4e340d7af02d146ff2e7c3c4da28d535"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 19 23:46:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 19 23:46:01 2017 +0000"
      },
      "message": "Merge \"aaudio: remove old createThread API\" into oc-dev"
    },
    {
      "commit": "5fbc2ddb4e340d7af02d146ff2e7c3c4da28d535",
      "tree": "894adf60568c2a41337c4b21547cc8346796e6a3",
      "parents": [
        "e9e78196f9e1b4f7cb787b089710e0e8c6c32432"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 18 22:46:21 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 18 22:57:34 2017 -0700"
      },
      "message": "aaudio: remove old createThread API\n\nThis was replaced by the callback API.\n\nBug: 36489240\nTest: the code was removed and cannot be tested\nChange-Id: Ieb5cee80d1123221d02146c8c9342c4e0d649575\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "7473345009b12576d8a768c93cc29a6b404eafd8",
      "tree": "729d4c034763663d9ad2db5b8c93aa3b061a80f9",
      "parents": [
        "6642d7853365173ccc2c78e647a89b868340e2b1"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 18 19:50:28 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 18 21:46:46 2017 -0700"
      },
      "message": "aaudio: remove AAUDIO_FORMAT_PCM_I8_24 and I32\n\nThey were not supported and we may not support them.\n\nBug: 30210002\nTest: test_aaudio.cpp\nChange-Id: Ib8a5d416b93df87e4b73e03789eacf0fd3f77f8e\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": "bc942724f95c6e30e640e33c2b35157367714c1c",
      "tree": "92e60b5cf34f05eaa52481855639ff271880ec52",
      "parents": [
        "b4d43af4b3edd1b2c913d735221358077d39cdfe",
        "b588402d48c9634fa72e7e13ca6d6f2a0766cb98"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 13 00:55:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 13 00:55:36 2017 +0000"
      },
      "message": "Merge \"AudioTrack and AudioRecord: getNotificationPeriodInFrames()\" into oc-dev"
    },
    {
      "commit": "b4d43af4b3edd1b2c913d735221358077d39cdfe",
      "tree": "24c350642c1ed8d971b4503c0faf1b8e80d012f6",
      "parents": [
        "7f66c9c20718e6e888f96cb7a83cf7e3ad105793",
        "677d7916c0fa6f0955aae8f3ef921383e285beb2"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 13 00:49:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 13 00:49:22 2017 +0000"
      },
      "message": "Merge \"libaaudio: fix error passing for errorCallback\" into oc-dev"
    },
    {
      "commit": "b588402d48c9634fa72e7e13ca6d6f2a0766cb98",
      "tree": "89a3993904a7259ba57c1771283f9d6359faf50c",
      "parents": [
        "594bc3bd208cdb536502edfa4698fb7b068bb307"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Mar 27 15:26:14 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 12 22:22:57 2017 +0000"
      },
      "message": "AudioTrack and AudioRecord: getNotificationPeriodInFrames()\n\nThis is needed for AAudioStream_getFramesPerBurst(),\nwhich is needed for callbacks to work correctly.\n\nBug: 34716038\nBug: 36489240\nTest: CTS test_aaudio.cpp\nChange-Id: I0e3f3f18a22bf6da8c288f0d2caec0bff0153f2f\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "7f66c9c20718e6e888f96cb7a83cf7e3ad105793",
      "tree": "a666da5c8e0f82c74e5fd4c0db76a140257173e1",
      "parents": [
        "d9534fb35245b8bcd2489e717bdd1ad9269b3000",
        "f2d8342c2e975f85766f3d967f8f5713b2d87892"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 12 22:15:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 22:15:32 2017 +0000"
      },
      "message": "Merge \"libaaudio: implement missing AAudioStream_getFramesPerDataCallback()\" into oc-dev"
    },
    {
      "commit": "c0c70e3c7dd10bc2c0caffcab1f3f5fb406b35fb",
      "tree": "2544186372c9778460821e410c09a0edba8a17bf",
      "parents": [
        "d1b4d0a6a65476236f972cfc181a1db2b96d93ef"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 09 13:18:38 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 12 18:26:12 2017 +0000"
      },
      "message": "AAudioService: integrated with audioserver\n\nCall the MmapStreamInterface from AudioFlinger instead of the FakeHAL.\nFix sending timestamps from the thread.\nAdd shared mode in service.\n\nBug: 35260844\nBug: 33398120\nTest: CTS test_aaudio.cpp\nChange-Id: I44c7e4ecae4ce205611b6b73a72e0ae8a5b243e5\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n(cherry picked from commit 7f6b40d78b1976c78d1300e8a51fda36eeb50c5d)\n"
    },
    {
      "commit": "f2d8342c2e975f85766f3d967f8f5713b2d87892",
      "tree": "216e1227e932a3b2faf69039983314b411e55a3e",
      "parents": [
        "594bc3bd208cdb536502edfa4698fb7b068bb307"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 11 12:45:33 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 11 12:52:59 2017 -0700"
      },
      "message": "libaaudio: implement missing AAudioStream_getFramesPerDataCallback()\n\nBug: 36489240\nTest: test_aaudio_callback.cpp\nChange-Id: I09af88ea44b5100160da48cdc3a7b888fb898914\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "677d7916c0fa6f0955aae8f3ef921383e285beb2",
      "tree": "02186c47f3d2d7ccf2fbedee5374d16ef5aa2477",
      "parents": [
        "12e7f82626fadce66ad45b5ba9e274860e2a4147"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 07 12:17:12 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 11 18:54:21 2017 +0000"
      },
      "message": "libaaudio: fix error passing for errorCallback\n\nBug: 36489240\nTest: CTS test_aaudio.cpp\nChange-Id: I67ece88c5a17392d102b20c3899e7fec15e3d6b4\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n(cherry picked from commit 65658fa931455a52847bec80e76c9799c3790604)\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": "35e80f34a9649752fceafa53e2094cd8eda50a0a",
      "tree": "d2765a9a6a8a2cadc106b9aab1cb932c66dd5200",
      "parents": [
        "be3d40cadb8490291512a6d7882791dda9104316"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Mar 28 10:25:21 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Mar 30 16:33:49 2017 -0700"
      },
      "message": "libaaudio: implement getTimestamp for legacy path\n\nFix: 36659408\nTest: CTS test_aaudio.cpp\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n\nChange-Id: Ic73e69a3747b2daa1df5757650f897a58511e571\n"
    },
    {
      "commit": "e2155ef0ec6742db7a3128c4ef4fb96e02828d1b",
      "tree": "947761f60a1a8f135e8a0e01b23488a20292e221",
      "parents": [
        "a45c300fcad38e23107b3ad8dd1d3935f5127f9c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Feb 24 13:50:29 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Feb 24 15:12:34 2017 -0800"
      },
      "message": "libaaudio: API changes requested by council\n\nChange AAudioStream to not be a pointer. Now it is just a struct.\nChange AAudioStreamBuilder to not be a pointer. Now it is just a struct.\nChange aaudio_audio_thread_proc_t to be a pointer to a proc.\nFix prototype of AAudioStream_getDeviceId().\n\nBug: 30210002\nTest: CTS test_aaudio.cpp\nChange-Id: Ia5a277a53ac64e93d75de4f196aa167998522c03\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "3316d5e6d375a4f09c681205e9094d30a0bfc4a2",
      "tree": "53d62d5e3493f6a51c9af8557ca4d4f0f5498e8c",
      "parents": [
        "3db4f4f85cfe90013952590b1aaea97dc62a243d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 15 11:23:01 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 16 16:27:55 2017 -0800"
      },
      "message": "libaaudio: changes for API council\n\nRemoved typedefs like aaudio_sample_rate_t\nRemoved use of handles. Just pass back opaque pointers.\nSimplified gettersi in Stream.\nRemoved getters from Builder.\nUpdate libaaudio.map.txt\n\nTest: CTS test_aaudio.cpp\nChange-Id: I63eaec3e5a8ecc516cfc1f950f4b4f54df1bd518\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\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"
    }
  ]
}
