)]}'
{
  "log": [
    {
      "commit": "3acbd053c842e76e1a40fc8a0bf62de87eebf00f",
      "tree": "1d6dcc01039a1af770131c6b427efa27a2e5755f",
      "parents": [
        "f853499c6a088ef8506cacbb3ccdffa87e0cec3e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 28 10:39:56 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Apr 22 14:50:01 2012 -0700"
      },
      "message": "Configure policy of mediaserver threads\n\nChange-Id: Ifd825590ba36996064a458f64453a94b84722cb0\n"
    },
    {
      "commit": "e53b9ead781c36e96d6b6f012ddffc93a3d80f0d",
      "tree": "4bcde0bc9a797851ec1bee4f630c8c4f0735f623",
      "parents": [
        "b87396f9ebabbb7b47683bceca96cbe635a1ca00"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 12 16:29:55 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 13 11:09:47 2012 -0700"
      },
      "message": "Whitespace and indentation\n\nFix indentation to be multiple of 4.\nMake it easier to search:\n  sp\u003c not sp \u003c to\n  \"switch (...)\" instead of \"switch(...)\" (also \"if\" and \"while\")\nRemove redundant blank line at start or EOF.\nRemove whitespace at end of line.\nRemove extra blank lines where they don\u0027t add value.\n\nUse git diff -b or -w to verify.\n\nChange-Id: I966b7ba852faa5474be6907fb212f5e267c2874e\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": "99e53b86eebb605b70dd7591b89bf61a9414ed0e",
      "tree": "8939550ada02fe21121550a83952ebf7638c0dac",
      "parents": [
        "6dbc1359f778575d09d6da722b060a6d72c2e7c5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 19 08:59:58 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 09:17:59 2012 -0800"
      },
      "message": "Update comments\n\nWe no longer put the filename at start of file.\n\nChange-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e\n"
    },
    {
      "commit": "6dbc1359f778575d09d6da722b060a6d72c2e7c5",
      "tree": "721c46e8b89595b51a80ee71c71542895edc1308",
      "parents": [
        "7a8b0ed6419e57dd8b41d3806893d63d3df91aab"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 02 10:56:47 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 07:30:48 2012 -0800"
      },
      "message": "AudioRecord and AudioTrack client tid\n\nInform AudioFlinger of the tid of the callback thread.\n\nChange-Id: I670df92dd06749b057238b48ed1094b13aab720b\n"
    },
    {
      "commit": "1099586bd48a8a90bb1cc4e7c279703bc7259214",
      "tree": "c1b5f494fb3a212954495539bfe0c506bfc3dd05",
      "parents": [
        "a2a0a5d7d56baa831870f4bf2a0d942a477d92ef"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 03 14:50:23 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 06 13:35:57 2012 -0800"
      },
      "message": "Declare IAudioTrack methods in binder opcode order\n\nThis makes it easier to match up the declarations.\n\nChange-Id: I0996c20b2903b778b356dfe52b07b0ec634855dd\n"
    },
    {
      "commit": "362c4e697d8e9c034e964ac7b40227e054491547",
      "tree": "dde3ca3f11e00cc82f1b6a6bd7ebe7b1c24421c5",
      "parents": [
        "eebeceec684a36222b4559e3157b0db04c0a67ed"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Dec 14 10:28:06 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Dec 14 14:38:26 2011 -0800"
      },
      "message": "Audio C++ comments\n\nChange-Id: I84906ebb9dfcfa5b96b287d18364b407f02a30c1\n"
    },
    {
      "commit": "be916aa1267e2e6b1c148f51d11bcbbc79cb864c",
      "tree": "7e2be6182cde7d023ae9afec28463d69d231d7bc",
      "parents": [
        "c282e3eee921453fc9188705b4879d6289b71f9c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 01 23:49:17 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 03 03:21:53 2010 -0700"
      },
      "message": "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.\n\nFirst drop of audio framework modifications for audio effects support.\n\n- AudioTrack/AudioRecord:\nAdded support for auxiliary effects in AudioTrack\nAdded support for audio sessions\nFixed left right channel inversion in setVolume()\n\n- IAudioFlinger:\nAdded interface methods for effect enumeraiton and instantiation\nAdded support for audio sessions.\n\n- IAudioTrack:\nAdded method to attach auxiliary effect.\n\n- AudioFlinger\nCreated new classes to control effect engines in effect library and manage effect connections to tracks or\noutput mix:\n  EffectModule: wrapper object controlling the effect engine implementation in the effect library. There\n\tis one EffectModule per instance of an effect in a given audio session\n  EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session.\n\tEffectChain for session 0 is for output mix effects, other chains are attached to audio tracks\n\twith same session ID. Each chain contains a variable number of EffectModules\n  EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application\n\tcontrolling (or using) an effect module. THe EffectModule maintians a list of EffectHandles.\n\nAdded support for effect modules and effect chains creation in PlaybackThread.\nmodified mixer thread loop to allow track volume control by effect modules and call effect processing.\n\n-AudioMixer\nEach track now specifies its output buffer used by mixer for accumulation\nModified mixer process functions to process tracks by groups of tracks with same buffer\nModified track process functions to support accumulation to auxiliary channel\n\nChange-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c\n"
    },
    {
      "commit": "7562408b2261d38415453378b6188f74fda99d88",
      "tree": "6b2ac284c1b721385d695045357d9e1d60ece03a",
      "parents": [
        "615a9bfbd98b90e09d868c128db84836feb658e4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 19 19:08:10 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 12:55:03 2009 -0700"
      },
      "message": "move libbinder\u0027s header files under includes/binder\n"
    },
    {
      "commit": "89fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5",
      "tree": "28d26f7b71e943e25c7da6e8043d79b7b8d9cf7b",
      "parents": [
        "15f767b960b38059a74a42a33e16d8df2aec8bc1"
      ],
      "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": "15f767b960b38059a74a42a33e16d8df2aec8bc1",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "ad04d9201452001dbaac4349f084cc9316190b89"
      ],
      "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": "2729ea9262ca60d93047e984739887cfc89e82eb",
      "tree": "25962a3f1c5f70586af45c926c037e03c643857f",
      "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"
    }
  ]
}
