)]}'
{
  "log": [
    {
      "commit": "d5ea969b41d02d6fe1a54637b46a809d06ad4d4b",
      "tree": "5e1d957c0a853723d09159afe0284838f372d4e6",
      "parents": [
        "71b2c240fd19e085d492ca9125aa75a347e410a6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 05 12:18:01 2010 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 09 14:16:01 2010 -0800"
      },
      "message": "Initial version of LifeVibes integration.\nAlso changed tabs to spaces in other audioflinger files.\n"
    },
    {
      "commit": "e9ed2721f4e1f06494e8c90684af9a2490d44a29",
      "tree": "83f4a6843ce5c9aac355d22f6ce810c33d95b0c3",
      "parents": [
        "26ae5b2f6644bb7514aafaead8f6af7e925c1b0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 19 17:37:09 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 26 18:40:39 2010 -0800"
      },
      "message": "Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync\n\nAdded getRenderPosition() API to IAudioFlinger to retreive number of audio frames\nwritten by AudioFlinger to audio HAL and by DSP to DAC.\n\nAdded getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames\nwritten by DSP to DAC.\n\nExposed AudioTrack::getPosition() to AudioSink() to make it available to media player.\n\nRemoved excessive log in AudioHardwareGeneric.\n"
    },
    {
      "commit": "764db963fa36b4a272e8c4a77cbe9610404a3b11",
      "tree": "ebd2d9b1c9ce91928f03267e0a2537238b95bd8d",
      "parents": [
        "8652a49e94487743908a5830540a775f23ef82dd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 04 06:17:43 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 04 06:17:43 2009 -0700"
      },
      "message": "Fix getParameters() default implementation.\n\nDo not return empty string but key value pairs with empty values.\n"
    },
    {
      "commit": "9d91ad5d99c1318f7f1435370e29f3f337afe82f",
      "tree": "a7cd0ed053e743e9b71a440aebf83325b829bad5",
      "parents": [
        "eba4009d897b30f2e24bb464468489c739f93e17"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 17 12:17:14 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 23 06:03:39 2009 -0700"
      },
      "message": "Fix issue 1795088       Improve audio routing code\n\nInitial commit for review.\nIntegrated comments after patch set 1 review.\nFixed lockup in AudioFlinger::ThreadBase::exit()\nFixed lockup when playing tone with AudioPlocyService startTone()\n"
    },
    {
      "commit": "570dd0b4da533032ba4ec6214eeebb1c90f6d512",
      "tree": "a8b8a21035b6c977ed330022082e9098dfb0ebeb",
      "parents": [
        "dd9d5f68ebd53a307477231c43a53b8870f47a3a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 09:18:15 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 26 07:44:28 2009 -0700"
      },
      "message": "Fix issue 1846343 - part 1\n\nThis change is the first part of a fix for issue 1846343, :\n- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.\n- renamed streamType to inputSource in all native functions handling audio record.\n\nA second change is required in opencore author driver and android audio input to completely fix the issue.\n"
    },
    {
      "commit": "6c41033c47646e72467d523e8526f54c35bba19b",
      "tree": "49901de33e7108068825d6cd5f83dcc46fcc7e88",
      "parents": [
        "6554773d629a474df613946847a0225dca486155"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue May 19 18:56:13 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue May 19 18:56:13 2009 -0700"
      },
      "message": "Remove deprecated openInputStream factory method\n"
    },
    {
      "commit": "a5a11d47e9cfec8b504e625aa5c3eb0db96854f5",
      "tree": "12647439a0f0ec3a7815510c938f3b29252a0c16",
      "parents": [
        "d03e95a9602d13dbdd10f54e3a2e7c60fc629a94"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue May 19 14:38:46 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue May 19 14:38:46 2009 -0700"
      },
      "message": "Add inputSource to openInputStream\nContinuation of bug 1846343\n"
    },
    {
      "commit": "edbf3b6af777b721cd2a1ef461947e51e88241e1",
      "tree": "f09427b843b192cccf8c3b5328cb81dddf6489fa",
      "parents": [
        "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "43aa2b1cbf7a03e248e10f4d0fec0463257cd52d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d2bd26d32612a1c7d5629202e3f41741b7936c60",
      "tree": "f969ce556df0e937d8f77c9dd8d1aa6f2f3bac38",
      "parents": [
        "ac65e0b172b33f7e068c14e3d95678fa20205577"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132276\n"
    },
    {
      "commit": "276293246ea9cbc0a578a7697cc48930376ec0e9",
      "tree": "03804488c60dda65699333d2311c8d1842ec4b65",
      "parents": [
        "e09fd9e819c23dc90bca68375645e15544861330"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "e09fd9e819c23dc90bca68375645e15544861330",
      "tree": "9a9fdadd1301625f875a3c126c986c79e3363ac4",
      "parents": [
        "7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407",
      "tree": "df5a6539447324de36e95b057d6b9f0361b7a250",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
