)]}'
{
  "log": [
    {
      "commit": "2234002b0710c8db73f82d397cb945cd541c6bbb",
      "tree": "be662712131225845bb0afd7d32e7c37a7f295ad",
      "parents": [
        "67ee990d324229ab0565ce632bd5a04297e16a01"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 07 12:04:41 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 28 12:26:11 2014 -0700"
      },
      "message": "Start pulling bits of FastMixer up to FastThread\n\nChange-Id: I4c6f7b8f88fcf107bb29ee6432feecd4ab6554d2\n"
    },
    {
      "commit": "f7160b5dc3091fd9624f25d534c6848ee831b706",
      "tree": "521236419b4532dc8e91ed22be147a6aeb8baa34",
      "parents": [
        "4cd161b5bf7a8008d684db4b217ed84d1704e683"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 17:01:15 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:23:11 2014 -0700"
      },
      "message": "FastMixer use FastThread and FastMixerState use FastThreadState\n\nChange-Id: I594c973e9f575113bdefee6f4cf8c29d8beac1f3\n"
    },
    {
      "commit": "3ce28aa3cb5262775180a8b423cfb4a5670ebc59",
      "tree": "c033ef7bb7e98903661266d30f22259d12f5bc43",
      "parents": [
        "398f21348e5100289f6e5be30c8b5257fa04aaf9"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Feb 05 19:49:05 2014 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Feb 05 19:56:50 2014 +0200"
      },
      "message": "AudioFlinger: Remove code for supporting resampling in fast tracks\n\nThis isn\u0027t used at the moment.\n\nChange-Id: I4e0fb2af5f7d959dbafd5ddb7defa1c6b8e8636a\n"
    },
    {
      "commit": "011aa652a9349750dd6bca1dcb1b82f19e07504e",
      "tree": "11598e68d5451cdf4965ff42cecc39fdaa28d074",
      "parents": [
        "0be9fe5864c39c11eefe335038cf6ce5473e4ec5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 18 15:09:48 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 31 16:40:24 2013 -0800"
      },
      "message": "AudioFlinger uses media.log service for logging\n\nChange-Id: Ia0f8204334f6b233f644d897762a18c95d936b4b\n"
    },
    {
      "commit": "fc7992bd8220824f1404c0c54ac516d9e28b58c2",
      "tree": "972da8ca10068930ebb465a72c76be69a0ca6a79",
      "parents": [
        "6db33a9272da8f011be1c51675220b81655fd470"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 29 11:10:32 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 10:53:37 2012 -0700"
      },
      "message": "Move libnbaio out of AudioFlinger\n\nlibnbaio is now a separate shared library from AudioFlinger, rather\nthan a static library used only by AudioFlinger.\n\nAudioBufferProvider interface is now also independent of AudioFlinger,\nmoved to include/media/\n\nChange-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b\n"
    },
    {
      "commit": "fbae5dae5187aca9d974cbe15ec818e9c6f56705",
      "tree": "101ef33da2a18e0cb1c70a0e1ae085450dc60396",
      "parents": [
        "cd8a36fdc49a823f78d45e8e1a464dc261553b26"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 21 09:17:20 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 21 12:36:06 2012 -0700"
      },
      "message": "Keep a copy of most recent audio played\n\nChange-Id: I6b2f97881c39998a2fae9ab79d669af6c0a37e94\n"
    },
    {
      "commit": "288ed2103d96f3aabd7e6bea3c080ab6db164049",
      "tree": "dec8e7b3a993e86baa8916ba70dcd6b3c053d062",
      "parents": [
        "0c0abd4ad26971b5fba94734137fe0bb1a590ab6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 25 17:52:27 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 30 13:00:31 2012 -0700"
      },
      "message": "Fix race condition for non-started fast tracks\n\nThis required re-implementing how fast tracks are considered active.\nNow, they use the same logic as normal tracks, except underrun is ignored.\n\nOther changes:\n - add framesReady() to AudioBufferProvider interface\n - rebased\n - add track underrun counter state to fast mixer dump state\n - move dumpsys header to Track::appendDumpHeader()\n   so it closer to where tracks are dumped\n - display track state in dumpsys as a character code\n - measure and display warmup time and cycles in dumpsys\n - copy in the presentation complete code\n - add ExtendedAudioBufferProvider for framesReady() which returns size_t\n - simplify underrun tracking\n - deferred reset track after stop()\n - add comments\n\nChange-Id: I7db8821bc565230ec76da1f9380fe3fb09735e5b\n"
    },
    {
      "commit": "21e8c50bd13ebe44f3088e26c9c6df0e163c469c",
      "tree": "0437226abb896de30fd20123eb3089168989391a",
      "parents": [
        "8d6086781c79620ce6133df7bd27f0efdee6b4e6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 12 09:39:42 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 20 07:38:05 2012 -0700"
      },
      "message": "FastMixer update\n\nUpdates:\n - Add support for mono fast tracks\n - Add support for optional sample rate conversion on fast tracks\n - Log sample rate and frame count\n - Enable statistics\n\nChange-Id: Ife014edf4f452da361f3eaaae19209ef6ff6958b\n"
    },
    {
      "commit": "97b5d0d5b5ef766eb5dd680d05a5d199662d4ae0",
      "tree": "a7042a97ac8019ba62a7c35ef9e11711caab7021",
      "parents": [
        "0845682ff93c9765b74b53dc404d0954efc28c2e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 23 18:54:19 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 18 07:49:43 2012 -0700"
      },
      "message": "Fast mixer\n\nChange-Id: I61552f83507e08e4c706076b9fb15362869e6265\n"
    }
  ]
}
