)]}'
{
  "log": [
    {
      "commit": "fd34a9310659aa53e9e10d6826651577a75f6447",
      "tree": "dc284d0eb17cbd8a023a2aec52d854c809b02c38",
      "parents": [
        "679b6f6eaaeba35fcf96cb04a784308211d4b319"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jul 19 07:03:52 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jul 20 16:10:41 2017 -0700"
      },
      "message": "aaudio: reduce glitching by improving sleep timing\n\nALways sleep a minimum time to avoid busy wait in real-time thread.\nAccount for wakeup jitter in threads on the other side of a FIFO.\nAvoid race condition that caused a longer sleep than necessary.\nFix calculation of mFreeRunning for capture mode.\n\nAlso added systrace logging, which was used to debug this.\n\nBug: 63814792\nTest: Run GStomper on Walleye with MMAP on, see bug\nChange-Id: I7b20098580ff454365425bd21e43c17ade532a0a\n"
    },
    {
      "commit": "c7abac4329e15cda4bbbd25f8fc4a93b70d70d0a",
      "tree": "f2402076af44c039478a9bfec1017903a702aa40",
      "parents": [
        "af842eb79ed9943b7a4495136197e093fc7d8ba7"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 17 11:13:37 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 17 11:13:37 2017 -0700"
      },
      "message": "audio:  reduce logspam from MMAP mode\n\nBug: 63760826\nTest: run CTS nativemedia/aaudio and notice less logging\nChange-Id: I04564963f85577a53f40f1bad064f5e79723ac76\n"
    },
    {
      "commit": "cb4dae216758d9e9a28050f65097f1ce905c03e9",
      "tree": "4c3c49679384d70006675e9e06c7e8e8117e206c",
      "parents": [
        "0acb3209107802e2ab116f8374aab886579729bb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 01 19:39:32 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 12 12:17:33 2017 -0700"
      },
      "message": "aaudio: indicate client UID and PID to audio flinger\n\nImplement correct indication of client UID and PID to audio flinger\nfor AAudio MMAP streams in both exclusive mode and shared mode.\n- Add start/stop client methods on MMAP streams used only when the MMAP\nstream is in AAudio service and carries a mix of shared streams.\n- Add \"In Service\u0027\" indication from \"client\" side to AAudioServiceStreamMMAP\nso that the behavior can be adapted accordingly.\n- Modify logic on audio flinger side with regard to mmap tracks and\naudio HAL stream activity:\n  - use same audio session for all clients on a same stream to match\n  audio policy logic to share same direct output stream for clients on same\n  session. This is also more consistent with current volume and effect\n  handling as all MMAP  clients sharing the same output stream have the\n  same volume and use case.\n  - start/stop the HAL when the stream is started/stopped with the initial client\n  handle (returned when the stream is opened) but do not create a track.\n  AAudioService implementation will always send an additional start command before\n  first client starts and a stop command after last client stops,\n  in both shared and exclusive mode.\n  - start/stop a track only if the start/stop stream command is received\n  with a handle different from the initial handle.\n- Allow more than one active client from the same UID on a MMAP input in audio policy.\n\nBug: 62950008\nTest: verify playback and capture in mmap mode\nMerged-In: I86151bbb637ff172d2fd5f813056eab13a7bcd3c\nChange-Id: I86151bbb637ff172d2fd5f813056eab13a7bcd3c\n"
    },
    {
      "commit": "097da17bd5af3689194fa6d7fce3a5a114717c4c",
      "tree": "db39ad095a6e44c3fb1741c16a1bfa4f0226e973",
      "parents": [
        "358ad4257d88f9f0fbf09cc52bbaeb43e5b51e59",
        "968e85e37906545fc85ee42a1e61700d26543a65"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 01 02:03:50 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 01 02:03:50 2017 +0000"
      },
      "message": "Merge \"aaudio: fix mixer volume\" into oc-dr1-dev"
    },
    {
      "commit": "968e85e37906545fc85ee42a1e61700d26543a65",
      "tree": "70c11063c21a5f40bff0914a524c6f7a41a6848d",
      "parents": [
        "e27d3a435c0f2393f6a53bb6b23569aa04904bd0"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 16:48:15 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 16:48:15 2017 -0700"
      },
      "message": "aaudio: fix mixer volume\n\nBug: 63176151\nTest: play write_sine.cpp in both legacy and MMAP modes\nChange-Id: If5fb61fe959dbc361ff8f95ca3d743e877800163\n"
    },
    {
      "commit": "a17ae74e3570a5afa2ece02d2b4090ba7b731bc1",
      "tree": "7ec7ff27aa0b456fe7d679b4cd81361b603697e2",
      "parents": [
        "e27d3a435c0f2393f6a53bb6b23569aa04904bd0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 29 15:43:55 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 30 20:38:34 2017 +0000"
      },
      "message": "aaudio: modify endpoint sharing logic\n\nA new Client stream in shared mode can share an existing endpoint\nif it has no preferences or compatible device, sample rate and channel\ncount requests.\n\nBug: 62961537\nTest: play and capture with AAudio in mmap mode\nChange-Id: I38536fb486dfc06f4399f7d02248384583fd3a17\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": "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"
    }
  ]
}
