)]}'
{
  "log": [
    {
      "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": "01c4ebf6b794493898114a502ed36de13137f7e5",
      "tree": "7f663fdad4040a40411e79d837c14e52e11a65b9",
      "parents": [
        "d6fd85a157ce2054b2304e6d171fa87ae09c363d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 22 10:47:35 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 24 13:42:13 2012 -0800"
      },
      "message": "AudioBufferProvider comments and cleanup\n\nAdd comments about which methods implement the AudioBufferProvider interface.\n\nSimplified the definition of kInvalidPts.  \u003cstdint.h\u003e is very hard to work\nwith, there seems to be no way to use it reliably to get INT64_MAX without\nhaving a separate source file, which is ugly because it means kInvalidPts\nis not a compile-time constant.  So I just deleted AudioBufferProvider.cpp\nand used a hard-coded constant instead.\n\nAdded a default constructor for Buffer so that the fields aren\u0027t random\n(especially .raw which is used to determine if the buffer is valid).\n\nMake the pts for getNextBuffer default to kInvalidPTS so code that\ndoesn\u0027t need a pts doesn\u0027t have to specify a value.\n\nRename the parameter to AudioMixer::setBufferProvider to make it clearer.\n\nChange-Id: I87e7290884d4ed975b019f62d1ab6ae2bc5065a5\n"
    },
    {
      "commit": "4ff14bae91075eb274eb1c2975982358946e7e63",
      "tree": "e9e54fddb9832d30b69c2a11c9ed2884397f2f95",
      "parents": [
        "951bd8d1ad9581a414e171ad8605a9515d0ad667"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Feb 08 16:37:41 2012 -0800"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Feb 16 13:45:11 2012 -0800"
      },
      "message": "Upintegrate Audio Flinger changes from ICS_AAH\n\nBring in changes to audio flinger made to support timed audio tracks\nand HW master volume control.\n\nChange-Id: Ide52d48809bdbed13acf35fd59b24637e35064ae\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "65ab47156e1c7dfcd8cc4266253a5ff30219e7f0",
      "tree": "da088916c7cadadcddf47467f20cc8b0b6ff7f41",
      "parents": [
        "98fe12aba55e8b8bb14b23c4c3cdba9a99a9753c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 17:59:35 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 17:59:35 2010 -0700"
      },
      "message": "move native services under services/\n\nmoved surfaceflinger, audioflinger, cameraservice\n\nall native services should now reside in this location.\n\nChange-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8\n"
    }
  ]
}
