)]}'
{
  "log": [
    {
      "commit": "14575a203b93cd5988738913b8589e5a7271a945",
      "tree": "745c10c2db038f0e549a6c97a5e5abd5bf3de137",
      "parents": [
        "309f7abb3c170ba764e67e9b6fed31fb442e9953",
        "601477769cef254d3a95338e853a37ccf9aac63f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 09 16:49:22 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 09 16:49:22 2013 -0700"
      },
      "message": "am 60147776: (-s ours) am 7473e356: (-s ours) am 943917c4: (-s ours) Merge \"Fix SoundPool.play() looping regression in 4.3 DO NOT MERGE\"\n\n* commit \u0027601477769cef254d3a95338e853a37ccf9aac63f\u0027:\n  Fix SoundPool.play() looping regression in 4.3 DO NOT MERGE\n"
    },
    {
      "commit": "601477769cef254d3a95338e853a37ccf9aac63f",
      "tree": "59129feacd309c8ce496d47f29e2468821e63579",
      "parents": [
        "1b832c3d8f2b1b24f9bc7025afd2b4a8b4e6c6f9",
        "7473e356f5b7de6b67aef3b34faa6ddb1c054060"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 09 16:45:49 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 09 16:45:49 2013 -0700"
      },
      "message": "am 7473e356: (-s ours) am 943917c4: (-s ours) Merge \"Fix SoundPool.play() looping regression in 4.3 DO NOT MERGE\"\n\n* commit \u00277473e356f5b7de6b67aef3b34faa6ddb1c054060\u0027:\n  Fix SoundPool.play() looping regression in 4.3 DO NOT MERGE\n"
    },
    {
      "commit": "7473e356f5b7de6b67aef3b34faa6ddb1c054060",
      "tree": "39039a3156e7e44297c5c6159138c5890ae5a756",
      "parents": [
        "bcd86896e486e303d285e13477e0623b2a920e78",
        "943917c41f447fdceab6ce75e00c05551072000b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 09 16:40:22 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 09 16:40:22 2013 -0700"
      },
      "message": "am 943917c4: (-s ours) Merge \"Fix SoundPool.play() looping regression in 4.3 DO NOT MERGE\"\n\n* commit \u0027943917c41f447fdceab6ce75e00c05551072000b\u0027:\n  Fix SoundPool.play() looping regression in 4.3 DO NOT MERGE\n"
    },
    {
      "commit": "943917c41f447fdceab6ce75e00c05551072000b",
      "tree": "0fcfaa98191e91c3f464a93937ef51daf331d9a9",
      "parents": [
        "d0f5664abb5a8d94ae13f63a5f3491b47383ee2f",
        "a0d77cd6bf5f4ee3ee9d67ad26e7f9981991d4e7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 09 23:14:43 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 09 23:14:43 2013 +0000"
      },
      "message": "Merge \"Fix SoundPool.play() looping regression in 4.3 DO NOT MERGE\""
    },
    {
      "commit": "a0d77cd6bf5f4ee3ee9d67ad26e7f9981991d4e7",
      "tree": "0fcfaa98191e91c3f464a93937ef51daf331d9a9",
      "parents": [
        "d0f5664abb5a8d94ae13f63a5f3491b47383ee2f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 09 14:32:40 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Aug 09 16:01:03 2013 -0700"
      },
      "message": "Fix SoundPool.play() looping regression in 4.3 DO NOT MERGE\n\nThe change I7370d6e59a7ef26dfb284a8b058d5ab2e0a42ccf caused a regression\nin SoundPool looping when using SoundPool\u0027s streaming implementation.\nThis reverts a portion of that change.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d58113\nBug: 10171337\nChange-Id: I8af0dc8683a7c7f225c80f0eb4d39770667b52e5\n"
    },
    {
      "commit": "309f7abb3c170ba764e67e9b6fed31fb442e9953",
      "tree": "745c10c2db038f0e549a6c97a5e5abd5bf3de137",
      "parents": [
        "3a6d5ded7187ae324532a60b03532c33d607e282",
        "937098b9b564a779ff1c8c2d9e60769ee5c69810"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 09 15:20:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 09 15:20:32 2013 +0000"
      },
      "message": "Merge \"Use 0 for sp\u003c\u003e, NULL for raw pointers\""
    },
    {
      "commit": "3a6d5ded7187ae324532a60b03532c33d607e282",
      "tree": "cc35999a6033af71465d1c6064be32e9c3e71d84",
      "parents": [
        "5e078add4022360d18328ec41eee75703e8c424c",
        "f506e9495f2b2123b3bec7d42ec8ef13c6213ee8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 09 15:11:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 09 15:11:07 2013 +0000"
      },
      "message": "Merge \"Rename reqChannels to reqChannelMask\""
    },
    {
      "commit": "5e078add4022360d18328ec41eee75703e8c424c",
      "tree": "0ce370a37ef3ef6624b0f762b10424e736a7a805",
      "parents": [
        "3cb40d7882b93c242267de0b8db10ef8957b3a24",
        "6d238e5ecb4c4266bc865a067072a30187e55f97"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 09 14:26:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 09 14:26:10 2013 +0000"
      },
      "message": "Merge \"Line length 100\""
    },
    {
      "commit": "3cb40d7882b93c242267de0b8db10ef8957b3a24",
      "tree": "932aa303dc79208ea22cf428b5499087ead527ff",
      "parents": [
        "8ca3e7e53b4156d62d6135fc0e4c756344d9a3c4",
        "1b832c3d8f2b1b24f9bc7025afd2b4a8b4e6c6f9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 09 06:06:33 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 09 06:06:33 2013 -0700"
      },
      "message": "am 1b832c3d: Merge \"Fix regression for AudioRecord streaming callback mode\" into klp-dev\n\n* commit \u00271b832c3d8f2b1b24f9bc7025afd2b4a8b4e6c6f9\u0027:\n  Fix regression for AudioRecord streaming callback mode\n"
    },
    {
      "commit": "8ca3e7e53b4156d62d6135fc0e4c756344d9a3c4",
      "tree": "1f108f07b4d34a47ab3a624f3218f9e24196b42b",
      "parents": [
        "f874f1375d758c8a7a84572a94371fbd4085f0df",
        "9bdc9c4ee0b44ca407cdca4499df9b3134bc5884"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 09 06:06:02 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 09 06:06:02 2013 -0700"
      },
      "message": "am 9bdc9c4e: am bcd86896: am d0f5664a: Merge \"Handle undefined NAL type for h264 streaming\"\n\n* commit \u00279bdc9c4ee0b44ca407cdca4499df9b3134bc5884\u0027:\n  Handle undefined NAL type for h264 streaming\n"
    },
    {
      "commit": "1b832c3d8f2b1b24f9bc7025afd2b4a8b4e6c6f9",
      "tree": "59129feacd309c8ce496d47f29e2468821e63579",
      "parents": [
        "9bdc9c4ee0b44ca407cdca4499df9b3134bc5884",
        "4a0efb77198c69df711ab369ac482a42dbdfab07"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 08 23:39:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 08 23:39:35 2013 +0000"
      },
      "message": "Merge \"Fix regression for AudioRecord streaming callback mode\" into klp-dev"
    },
    {
      "commit": "9bdc9c4ee0b44ca407cdca4499df9b3134bc5884",
      "tree": "88945b688848d6ee0553f6327523d9c3fe284488",
      "parents": [
        "f31abb4ee82050030b3e5a0793bb2b8e30f40d31",
        "bcd86896e486e303d285e13477e0623b2a920e78"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 08 16:21:42 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 08 16:21:42 2013 -0700"
      },
      "message": "am bcd86896: am d0f5664a: Merge \"Handle undefined NAL type for h264 streaming\"\n\n* commit \u0027bcd86896e486e303d285e13477e0623b2a920e78\u0027:\n  Handle undefined NAL type for h264 streaming\n"
    },
    {
      "commit": "4a0efb77198c69df711ab369ac482a42dbdfab07",
      "tree": "fd5d862458cc562d12feb525c8b94a81bcfbdb85",
      "parents": [
        "f31abb4ee82050030b3e5a0793bb2b8e30f40d31"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 08 15:20:53 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 08 16:15:09 2013 -0700"
      },
      "message": "Fix regression for AudioRecord streaming callback mode\n\nThe notification period (frequency of client wakeups) was broken in\nstreaming callback mode.  Fast tracks were OK, but non-fast tracks with\nnormal latency weren\u0027t getting woken up at all.\n\nBug: 10222943\nChange-Id: Ife9a2f57fa73c6eb921f1c5ba62de0bfcc20557b\n"
    },
    {
      "commit": "f874f1375d758c8a7a84572a94371fbd4085f0df",
      "tree": "c0e04f9c8414788c6f55d61bbf256cf92d29123e",
      "parents": [
        "2c03d0a2b741310c47d5f625cbdec4a4e4a0778e",
        "70949c47fbae3f836d15f040551d7631be3ed7c2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 08 16:47:17 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 08 16:47:17 2013 +0000"
      },
      "message": "Merge \"Pull up mBufferSize from RecordThread to ThreadBase\""
    },
    {
      "commit": "2c03d0a2b741310c47d5f625cbdec4a4e4a0778e",
      "tree": "d87782874178a103e5c01a2d78260b29773345e3",
      "parents": [
        "6b682a20b66322bf673f575f8c4fd9e45f3e8183",
        "6ae6b811666865815ebb1f670aacb1a0f2edaa73"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 08 16:33:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 08 16:33:35 2013 +0000"
      },
      "message": "Merge \"Remove obsolete field RecordTrack::mAudioRecordServerProxy\""
    },
    {
      "commit": "bcd86896e486e303d285e13477e0623b2a920e78",
      "tree": "39039a3156e7e44297c5c6159138c5890ae5a756",
      "parents": [
        "6d4d879037a495f9a4276a6996d1845594ce9090",
        "d0f5664abb5a8d94ae13f63a5f3491b47383ee2f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 08 08:56:37 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 08 08:56:37 2013 -0700"
      },
      "message": "am d0f5664a: Merge \"Handle undefined NAL type for h264 streaming\"\n\n* commit \u0027d0f5664abb5a8d94ae13f63a5f3491b47383ee2f\u0027:\n  Handle undefined NAL type for h264 streaming\n"
    },
    {
      "commit": "d0f5664abb5a8d94ae13f63a5f3491b47383ee2f",
      "tree": "cfd1f8e07656fe523b22ef3d7a31d38e42bbf422",
      "parents": [
        "b687ff9f2e02790e8a8e3964cb73e87546cd72dd",
        "a355bb4f5ce39a77d05f62263d4be888e903c4cd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 08 15:52:47 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 08 15:52:48 2013 +0000"
      },
      "message": "Merge \"Handle undefined NAL type for h264 streaming\""
    },
    {
      "commit": "6b682a20b66322bf673f575f8c4fd9e45f3e8183",
      "tree": "9af466c9bc5b22421864e097455557037e941c5e",
      "parents": [
        "da09d5f1d8c7946708f8504daf305d96713b78bd",
        "507b2860cfe0bb4a712064f1c503caa9a7325886"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 08 15:31:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 08 15:31:23 2013 +0000"
      },
      "message": "Merge \"Consistent style for comparisons of raw pointers to NULL\""
    },
    {
      "commit": "da09d5f1d8c7946708f8504daf305d96713b78bd",
      "tree": "cb41220c24654b8f599d5206f28d21c2dd240a21",
      "parents": [
        "f31abb4ee82050030b3e5a0793bb2b8e30f40d31",
        "fb872cc6f77f6d74011fab703b3edd7023c736cb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 08 15:19:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 08 15:19:02 2013 +0000"
      },
      "message": "Merge \"memset audio_config to zero\""
    },
    {
      "commit": "f31abb4ee82050030b3e5a0793bb2b8e30f40d31",
      "tree": "bc17b9e9d4a4dc1108c032cad4a714471180478c",
      "parents": [
        "2f583c0ac819a7bbd1228d7b8c3857c7e6a98a91",
        "02de89293b74ab1e9a77ce2367c5c499ab038968"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 07 17:19:36 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 07 17:19:37 2013 +0000"
      },
      "message": "Merge \"Cleanup comments for the new control block implementation\""
    },
    {
      "commit": "2f583c0ac819a7bbd1228d7b8c3857c7e6a98a91",
      "tree": "a142b620d9f27575b983685dbb28f131d8ab43ee",
      "parents": [
        "89a70f71cef61d10437b3901e8efc1f082a857c5",
        "362552a53523c46679e8b3cbb83b39d7ae769ff7"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Aug 07 01:44:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 07 01:44:38 2013 +0000"
      },
      "message": "Merge \"Adds a drm resource busy error, removes some deprecated errors\""
    },
    {
      "commit": "89a70f71cef61d10437b3901e8efc1f082a857c5",
      "tree": "a973a3c580ab5de75ffc390a7eb52293028fb9c6",
      "parents": [
        "e1e476669a5ee25f2a3c2fe30170e0f9a89f30a4",
        "d0715867861c216e88a4a7523b6da8a3cb128724"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 06 23:55:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 23:55:31 2013 +0000"
      },
      "message": "Merge \"IOMX: add updateGraphicBufferInMeta method for metadata mode\""
    },
    {
      "commit": "e1e476669a5ee25f2a3c2fe30170e0f9a89f30a4",
      "tree": "0a5046a178e98c0d4057d816559b508243543a68",
      "parents": [
        "9e65879ebc633334bb061e8164c46602ad983c50",
        "93c721273208bea4a5d705dce215437a7633fb5a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 06 23:06:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 23:06:09 2013 +0000"
      },
      "message": "Merge \"fix build\""
    },
    {
      "commit": "93c721273208bea4a5d705dce215437a7633fb5a",
      "tree": "0a5046a178e98c0d4057d816559b508243543a68",
      "parents": [
        "deeef54487a34034dc0cfaab20b20d557224c07c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 06 16:05:27 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 06 16:05:27 2013 -0700"
      },
      "message": "fix build\n\nChange-Id: I859bd75eb796b0cb8da30ad947776d3e38f3873f\n"
    },
    {
      "commit": "9e65879ebc633334bb061e8164c46602ad983c50",
      "tree": "0a5046a178e98c0d4057d816559b508243543a68",
      "parents": [
        "deeef54487a34034dc0cfaab20b20d557224c07c"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Aug 06 15:54:17 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Aug 06 15:54:17 2013 -0700"
      },
      "message": "Fix build. last attempt.\n\nChange-Id: Ib955134f90b78cfc0d31272021ad5907a41df708\n"
    },
    {
      "commit": "6d238e5ecb4c4266bc865a067072a30187e55f97",
      "tree": "fde6cf604d0d20860431d60b1ce76c6130118beb",
      "parents": [
        "deeef54487a34034dc0cfaab20b20d557224c07c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 14:31:26 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 14:31:26 2013 -0700"
      },
      "message": "Line length 100\n\nChange-Id: I8ad58a961cefd0b0c2b041e04fd78669917453d1\n"
    },
    {
      "commit": "937098b9b564a779ff1c8c2d9e60769ee5c69810",
      "tree": "687e9fee2acde8204b60e3221234b992b311fb12",
      "parents": [
        "5279e3e1187e4da0fed4349d29ea548f52e95f95"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 26 11:19:36 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 14:04:56 2013 -0700"
      },
      "message": "Use 0 for sp\u003c\u003e, NULL for raw pointers\n\nChange-Id: Ia0595afdc41e1dec428d7a3db73558b54c417bf3\n"
    },
    {
      "commit": "d0715867861c216e88a4a7523b6da8a3cb128724",
      "tree": "9b474094654a2dccb440fd9ca4a87f8afbdb9278",
      "parents": [
        "b08ab81bab9e8cd2e3a7fff02725a387070fd078"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 22 12:57:43 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 06 13:19:26 2013 -0700"
      },
      "message": "IOMX: add updateGraphicBufferInMeta method for metadata mode\n\nThis is used to set the handle in the metadata buffer that is\nvalid in the mediaserver process, as well as to keep a reference\nfor the graphic buffers in BufferMeta.\n\nChange-Id: I46bb68d8bed894f357eeeb25368360d11b276634\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\n"
    },
    {
      "commit": "deeef54487a34034dc0cfaab20b20d557224c07c",
      "tree": "cc0aa13d8349df8a57e82374cfd2df9095cf2cbe",
      "parents": [
        "230c5bde2779c618b26edc73443280b2d9371c70"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 02 01:50:59 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 06 20:05:40 2013 +0000"
      },
      "message": "separte producer and consumer interfaces\n\nBug: 9265647\nChange-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c\n"
    },
    {
      "commit": "fb872cc6f77f6d74011fab703b3edd7023c736cb",
      "tree": "da47692b3a543e644728e6e8a66d35802a8086b3",
      "parents": [
        "230c5bde2779c618b26edc73443280b2d9371c70"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 10:45:39 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 11:09:33 2013 -0700"
      },
      "message": "memset audio_config to zero\n\nPer guideline in hardware/libhardware/include/hardware/audio.h,\n\"You should memset() the entire structure to zero before use to\nensure forward compatibility.\"\n\nChange-Id: I2bce70ef6ea4b070668bd9cbc54bfe20a60111aa\n"
    },
    {
      "commit": "f506e9495f2b2123b3bec7d42ec8ef13c6213ee8",
      "tree": "60220524a2b03015a3e53d1968ffcfb92e869195",
      "parents": [
        "5279e3e1187e4da0fed4349d29ea548f52e95f95"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 10:49:43 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 11:06:05 2013 -0700"
      },
      "message": "Rename reqChannels to reqChannelMask\n\nThis avoids potential ambiguity with channel count.\n\nChange-Id: I0db82efc4c14dd8189d65a1db29809a085acf528\n"
    },
    {
      "commit": "230c5bde2779c618b26edc73443280b2d9371c70",
      "tree": "313a1848799a279e3a56859f0d474a459a981d5a",
      "parents": [
        "33f3177c08d238285b296d137e527ec99e34228f",
        "7cd9cf70e36ad4b8eb12e24f9adbbe6fd69edebd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 17:32:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 17:32:41 2013 +0000"
      },
      "message": "Merge \"AudioRecord notification frames\""
    },
    {
      "commit": "33f3177c08d238285b296d137e527ec99e34228f",
      "tree": "92377e0ceaa8690090254769fe12db61db35d249",
      "parents": [
        "b85187332e740be337ce2e3e0d8d21c5c8651bf8",
        "3151427b6b0adf99929433715bab6f1e505100c1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 16:49:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 16:49:16 2013 +0000"
      },
      "message": "Merge \"AudioRecord::openRecord_l use flags\""
    },
    {
      "commit": "6ae6b811666865815ebb1f670aacb1a0f2edaa73",
      "tree": "4a65f9bf68867d7b174e266d8ee206029e5af644",
      "parents": [
        "5279e3e1187e4da0fed4349d29ea548f52e95f95"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 05 15:16:21 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 09:26:14 2013 -0700"
      },
      "message": "Remove obsolete field RecordTrack::mAudioRecordServerProxy\n\nChange-Id: I054ba929e209797542940a0e734fc15f19f321c9\n"
    },
    {
      "commit": "b85187332e740be337ce2e3e0d8d21c5c8651bf8",
      "tree": "ede35fbf668c6e0ffc68881a69efd23d8dabd921",
      "parents": [
        "743649fa70392b668377fb507d251b346c7b2769",
        "b13820ffafcb6bcdd33b6272676535afb4dff479"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 06 16:15:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 16:15:35 2013 +0000"
      },
      "message": "Merge \"Reject unprepared MediaPlayers\""
    },
    {
      "commit": "743649fa70392b668377fb507d251b346c7b2769",
      "tree": "3d23d5355c7ea676aaeee2465447dc72f093c346",
      "parents": [
        "5279e3e1187e4da0fed4349d29ea548f52e95f95",
        "73493688f4190f790ee15d9ca54831cd64f4e195"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 16:14:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 16:14:01 2013 +0000"
      },
      "message": "Merge \"AudioRecord::openRecord_l now take flags\""
    },
    {
      "commit": "507b2860cfe0bb4a712064f1c503caa9a7325886",
      "tree": "c19647c52325070d808b88748c522992ae1e20b5",
      "parents": [
        "5279e3e1187e4da0fed4349d29ea548f52e95f95"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 16:12:13 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 09:11:57 2013 -0700"
      },
      "message": "Consistent style for comparisons of raw pointers to NULL\n\nChange-Id: Iec102a5ccb2fe69229887b5432cd1fb66f26f0cf\n"
    },
    {
      "commit": "70949c47fbae3f836d15f040551d7631be3ed7c2",
      "tree": "4bed0b2a693f915ca1d92233664dec9d49e20e5a",
      "parents": [
        "77baebfe89c99415a0ee4c2ea87bfd8a0f9e51f1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 07:40:12 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 08:48:29 2013 -0700"
      },
      "message": "Pull up mBufferSize from RecordThread to ThreadBase\n\nNow both playback and record threads have a HAL buffer size for fast\ntracks, and a potentially larger-sized buffer for normal tracks.\n\nChange-Id: I6f57b85ecece3cbd4e9e64b8c41c3352f7656912\n"
    },
    {
      "commit": "5279e3e1187e4da0fed4349d29ea548f52e95f95",
      "tree": "1c908f1fd12712e5163fb2dc5ec00a32d2250637",
      "parents": [
        "75180715a8f85dd7ddf3da710fba8eb7709f8999",
        "90e58b1fefc8caf70b34301a92bc86179580b6fc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 06 14:22:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 14:22:28 2013 +0000"
      },
      "message": "Merge \"RecordThread::createRecordTrack_l use flags for fast tracks\""
    },
    {
      "commit": "75180715a8f85dd7ddf3da710fba8eb7709f8999",
      "tree": "953a1b6a986c46a2297ba403597a3d11e8de7ca0",
      "parents": [
        "3aa03e40668dd90390d9f1702f8c576e15b366c3",
        "ddb0ccf3fb6fe8da8c71a6deb30561b821f3c0a2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 05 23:13:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 23:13:13 2013 +0000"
      },
      "message": "Merge \"RecordTrack::createRecordTrack_l flags are in/out\""
    },
    {
      "commit": "3aa03e40668dd90390d9f1702f8c576e15b366c3",
      "tree": "01037957009952351730da4b588c3e2bcc42cda9",
      "parents": [
        "77baebfe89c99415a0ee4c2ea87bfd8a0f9e51f1",
        "eeca32671896739e84050da5992d5f151a1629de"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 05 22:59:42 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 22:59:43 2013 +0000"
      },
      "message": "Merge \"IAudioFlinger::openRecord track_flags_t flags is in/out\""
    },
    {
      "commit": "77baebfe89c99415a0ee4c2ea87bfd8a0f9e51f1",
      "tree": "8a8f4aa15e520fddf80ed076f54b14ed6085dc50",
      "parents": [
        "9b26847ed122a601ba857e0ef22ee2c818641120",
        "27f7b2a8fe899565487d8a326676a5f7d0a05a37"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 05 21:56:17 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 21:56:17 2013 +0000"
      },
      "message": "Merge \"AudioRecord::set and constructor now take flags\""
    },
    {
      "commit": "9b26847ed122a601ba857e0ef22ee2c818641120",
      "tree": "8100bc87e1c56a08005f55ea4f1d3943c6eb1e48",
      "parents": [
        "ce7842c295638ee1432041186700a71d4bf1c176",
        "6ca126d5c83386941c5cb9600099e5510e4430d6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 05 21:50:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 21:50:15 2013 +0000"
      },
      "message": "Merge \"Make AudioRecord and AudioTrack comments more similar\""
    },
    {
      "commit": "ce7842c295638ee1432041186700a71d4bf1c176",
      "tree": "fd4edd0305eb36296aa8d803dc31e605d0323147",
      "parents": [
        "f86b18b1ce3cf20a39aea1fcaf90ec66f9d6d63e",
        "b2f5b19e5b6e1408a259add23dba91037756a943"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 05 21:46:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 21:46:04 2013 +0000"
      },
      "message": "Merge \"Camera3: Provide consumer usage flags to HAL for each stream\""
    },
    {
      "commit": "b2f5b19e5b6e1408a259add23dba91037756a943",
      "tree": "e604903d5d2f5abb099737ee9ae206200cfc99c9",
      "parents": [
        "7b82efe7a376c882f8f938e1c41b8311a8cdda4a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 14:36:03 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 05 13:56:43 2013 -0700"
      },
      "message": "Camera3: Provide consumer usage flags to HAL for each stream\n\nAt stream configure time, pass on the stream\u0027s consumer usage flags\nto the HAL, to speed up final hardware configuration.\n\nBug: 9592202\nChange-Id: Ie467be053be36a09e482f5f05cad65df42d66476\n"
    },
    {
      "commit": "f86b18b1ce3cf20a39aea1fcaf90ec66f9d6d63e",
      "tree": "ffcd083e96e9edaa7e8a597165584bfd5d3eb43f",
      "parents": [
        "13c34e09fdfe0bcd2053368df4dd26028004d18f",
        "28f1351369682801e1bb40a835bdae3c97b73c1c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 05 19:47:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 19:47:51 2013 +0000"
      },
      "message": "Merge \"AudioRecord callback thread waits for priority boost\""
    },
    {
      "commit": "b13820ffafcb6bcdd33b6272676535afb4dff479",
      "tree": "92e42e1eee0dc499bfdf65b63db4b1b1aaf04da8",
      "parents": [
        "f36dbfe3d517e9311be0a4d0fd6658380690e84c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Aug 05 12:22:43 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Aug 05 12:22:43 2013 -0700"
      },
      "message": "Reject unprepared MediaPlayers\n\nDon\u0027t allow a MediaPlayer that has been reset() or release()d to be\nused as the argument to setNextMediaPlayer.\n\nChange-Id: I47da1460ec3742f5b2bd7b79e7998b290032d5a1\n"
    },
    {
      "commit": "13c34e09fdfe0bcd2053368df4dd26028004d18f",
      "tree": "e884b091f302facb3fc9661fddc90d267e80c881",
      "parents": [
        "6c104a4a245ea72b7bdf8c7c016121189045d4bc",
        "743732236ab84e94168378cdb293964861b1ed00"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 05 14:56:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 14:56:23 2013 +0000"
      },
      "message": "Merge \"Remove default parameters for AudioTrack\""
    },
    {
      "commit": "6c104a4a245ea72b7bdf8c7c016121189045d4bc",
      "tree": "9b7ae3d8df29debf778259609b9c349959cd82f1",
      "parents": [
        "fd87902a26f1a954643a5d0b414bd31a3cf61e0a",
        "f0f33c4acd231fa95deb9eeef2c46b0129e64463"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 05 14:41:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 14:41:31 2013 +0000"
      },
      "message": "Merge \"AudioRecord has no default sample rate\""
    },
    {
      "commit": "fd87902a26f1a954643a5d0b414bd31a3cf61e0a",
      "tree": "e2b9508b0b2451b00244284a33aabc007132a781",
      "parents": [
        "101334a6d7ae466a4535a31aec281625198ea88f",
        "954315a10089fa3684ac94db5be77c6655c08fc0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 05 14:22:12 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 14:22:12 2013 +0000"
      },
      "message": "Merge \"Recording of non-linear formats is not supported\""
    },
    {
      "commit": "362552a53523c46679e8b3cbb83b39d7ae769ff7",
      "tree": "fb7f5658afe720c834d0ed757cf7a11dbd471f6a",
      "parents": [
        "7f249fa9bcb64da324d19f551943fac7686d221c"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Aug 02 23:16:18 2013 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Aug 02 23:16:18 2013 -0700"
      },
      "message": "Adds a drm resource busy error, removes some deprecated errors\n\nChange-Id: Id719fb6df9c9d955ac24803082d08f2a4a5bc766\nrelated-to-bug: 9695816\n"
    },
    {
      "commit": "7cd9cf70e36ad4b8eb12e24f9adbbe6fd69edebd",
      "tree": "71596e7e98be91b19b5fe16a74a12926a0232177",
      "parents": [
        "3151427b6b0adf99929433715bab6f1e505100c1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 01 07:22:02 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:22:42 2013 -0700"
      },
      "message": "AudioRecord notification frames\n\nChange-Id: I76ec536d1504eb9a558178b62bf225aace4b40d1\n"
    },
    {
      "commit": "3151427b6b0adf99929433715bab6f1e505100c1",
      "tree": "09d18bfd32a448d153d1529487f52a3bc7761eed",
      "parents": [
        "73493688f4190f790ee15d9ca54831cd64f4e195"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 01 07:24:34 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:22:42 2013 -0700"
      },
      "message": "AudioRecord::openRecord_l use flags\n\nUse the flags to determine input parameters for IAudioFlinger::openRecord.\n\nChange-Id: I98d2726503af75c8830ce80ceaf3b94a755b342f\n"
    },
    {
      "commit": "73493688f4190f790ee15d9ca54831cd64f4e195",
      "tree": "e1655201bfb7d8339e48afd78597c5cd3bcb1b33",
      "parents": [
        "90e58b1fefc8caf70b34301a92bc86179580b6fc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 16:10:53 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:22:42 2013 -0700"
      },
      "message": "AudioRecord::openRecord_l now take flags\n\nThe new parameter \u0027flags\u0027 of type audio_input_flags_t will be used for\nrequesting a fast track, but is currently ignored.\n\nChange-Id: If68dfda8b2d4eaaca42927d721b4630c47f71f3b\n"
    },
    {
      "commit": "90e58b1fefc8caf70b34301a92bc86179580b6fc",
      "tree": "c3413197c464b11a3ea8ca846443cc7b15326582",
      "parents": [
        "ddb0ccf3fb6fe8da8c71a6deb30561b821f3c0a2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 16:16:02 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:22:42 2013 -0700"
      },
      "message": "RecordThread::createRecordTrack_l use flags for fast tracks\n\nLook at client\u0027s request for a fast track in the flags parameter,\nand check whether the request can be satisfied.\n\nChange-Id: I65ddaeb1b85670fe9066076f638bfed0cda01c0d\n"
    },
    {
      "commit": "ddb0ccf3fb6fe8da8c71a6deb30561b821f3c0a2",
      "tree": "a467af6f181bff45e8c1e47284ebbc4d6d3ccead",
      "parents": [
        "eeca32671896739e84050da5992d5f151a1629de"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 16:14:50 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:22:42 2013 -0700"
      },
      "message": "RecordTrack::createRecordTrack_l flags are in/out\n\nThe flags are currently unused, but will be used for requesting a fast\ntrack.  Making flags in/out will allow reporting back up to client that\nthe request is denied.\n\nChange-Id: Ifbee57da3632ce130551065a426577fb97b1a68d\n"
    },
    {
      "commit": "eeca32671896739e84050da5992d5f151a1629de",
      "tree": "d611c0a426354e80345956c945e9381e6137209b",
      "parents": [
        "27f7b2a8fe899565487d8a326676a5f7d0a05a37"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 16:12:48 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:22:42 2013 -0700"
      },
      "message": "IAudioFlinger::openRecord track_flags_t flags is in/out\n\nThis will allow AudioFlinger to tell client it is denying a request.\n\nChange-Id: Iff2be3ad6636371bbda9c9899a283c94620c1f06\n"
    },
    {
      "commit": "27f7b2a8fe899565487d8a326676a5f7d0a05a37",
      "tree": "fa0b6b4ee7cfb1e6b0e7cd0f6d6114498bb176bf",
      "parents": [
        "28f1351369682801e1bb40a835bdae3c97b73c1c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 16:10:22 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:22:42 2013 -0700"
      },
      "message": "AudioRecord::set and constructor now take flags\n\nThe new optional parameter \u0027flags\u0027 of type audio_input_flags_t will be\nused for requesting a fast track.\n\nChange-Id: Ia7e070cb57c833e608352da354fb30dc26df6918\n"
    },
    {
      "commit": "28f1351369682801e1bb40a835bdae3c97b73c1c",
      "tree": "eb6e8fad009764ef115c894f017be5b110689b65",
      "parents": [
        "f36dbfe3d517e9311be0a4d0fd6658380690e84c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 12:27:26 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:22:41 2013 -0700"
      },
      "message": "AudioRecord callback thread waits for priority boost\n\nChange-Id: Iae38fa4ac20a45751566169213a08a15deb0a2f6\n"
    },
    {
      "commit": "954315a10089fa3684ac94db5be77c6655c08fc0",
      "tree": "5258b8e752cce01d1009990cd549a3297570dbab",
      "parents": [
        "f36dbfe3d517e9311be0a4d0fd6658380690e84c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 09:02:07 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:21:36 2013 -0700"
      },
      "message": "Recording of non-linear formats is not supported\n\nSuch formats are already rejected in AudioRecord::set()\n\nChange-Id: I5ba1fd9e4cd659e5226c75aa4f63e52f655e0521\n"
    },
    {
      "commit": "02de89293b74ab1e9a77ce2367c5c499ab038968",
      "tree": "9be5c99a98cd411009764c53d3e943e90cb6a3b9",
      "parents": [
        "f36dbfe3d517e9311be0a4d0fd6658380690e84c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 12:30:12 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:10:38 2013 -0700"
      },
      "message": "Cleanup comments for the new control block implementation\n\nThere was some obsolete and incomplete text left over\nafter the new control block code was submitted.\nThis cleans up all those comments to be accurate again.\n\nChange-Id: Ic52f5869cb723cde25d709514d6deea6aa6f20aa\n"
    },
    {
      "commit": "f0f33c4acd231fa95deb9eeef2c46b0129e64463",
      "tree": "c20304410af6b34407a72e6ba4859427ccaf67e6",
      "parents": [
        "f36dbfe3d517e9311be0a4d0fd6658380690e84c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 12:24:36 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:03:44 2013 -0700"
      },
      "message": "AudioRecord has no default sample rate\n\nChange-Id: I72feefdd6f3a623fd3669b80d4b264518fdc0929\n"
    },
    {
      "commit": "743732236ab84e94168378cdb293964861b1ed00",
      "tree": "b437f01649d5358e8cd65a1873c5cd71c78aa9de",
      "parents": [
        "f36dbfe3d517e9311be0a4d0fd6658380690e84c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 15:51:35 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 15:56:04 2013 -0700"
      },
      "message": "Remove default parameters for AudioTrack\n\nThe defaults aren\u0027t needed; all users must know these values.\n\nChange-Id: I0c1c97cb80bfea8e69a7cfa53ec85a91a8d48bb5\n"
    },
    {
      "commit": "6ca126d5c83386941c5cb9600099e5510e4430d6",
      "tree": "6298fbfc9a0d509fa90ab50cb21894d9fa380868",
      "parents": [
        "f36dbfe3d517e9311be0a4d0fd6658380690e84c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 12:25:00 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 15:31:44 2013 -0700"
      },
      "message": "Make AudioRecord and AudioTrack comments more similar\n\nChange-Id: I122a7cf7bfc162090cb27f37c325db7a23985bc7\n"
    },
    {
      "commit": "101334a6d7ae466a4535a31aec281625198ea88f",
      "tree": "ca03a79d607e3b5ceb69fe6532d7aff9ed44383e",
      "parents": [
        "6ac968cf9e81adf9cef249f7a8d781a29b84fcf3",
        "f560001b5d60225dc7e101b2481477a3c39b66a4"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Aug 02 21:16:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 21:16:14 2013 +0000"
      },
      "message": "Merge \"Use screen dimensions as default video size\""
    },
    {
      "commit": "f560001b5d60225dc7e101b2481477a3c39b66a4",
      "tree": "461758ceb2b2dcc49ba220230b7859374a633a40",
      "parents": [
        "b08ab81bab9e8cd2e3a7fff02725a387070fd078"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Aug 02 13:58:54 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Aug 02 14:03:24 2013 -0700"
      },
      "message": "Use screen dimensions as default video size\n\nInstead of 720p, use the screen dimensions as the default video\nsize.  For example, a phone with a 768x1280 display would be\nrecorded as a 768x1280 video when in portrait, or a 1280x768\nvideo when in landscape.\n\nIf the device is not able to record at that resolution, we\nfall back to 720p.\n\nAlso, fixed a problem introduced by a buffer timestamp change.\n\nChange-Id: I7230ddb323c669ab07327f26df8d103c192c21d3\n"
    },
    {
      "commit": "6ac968cf9e81adf9cef249f7a8d781a29b84fcf3",
      "tree": "f732df233095491759de35c60c5bccfdbdfe2ada",
      "parents": [
        "f36dbfe3d517e9311be0a4d0fd6658380690e84c",
        "910813bd66eaf0f6a72769c9b3fa9830dd100a19"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 02 20:35:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 20:35:40 2013 +0000"
      },
      "message": "Merge \"fix fallout from binderizing BufferQueues consumer side\""
    },
    {
      "commit": "f36dbfe3d517e9311be0a4d0fd6658380690e84c",
      "tree": "65768073d7fd288eac6c28f1283589d65fe0cbad",
      "parents": [
        "1a3739169becc850999c3c06db402541119a428c",
        "82aaf94a5b18939e4d790bbc752031f3070704a3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 02 16:14:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 16:14:01 2013 +0000"
      },
      "message": "Merge \"Report underruns for fast tracks also\""
    },
    {
      "commit": "910813bd66eaf0f6a72769c9b3fa9830dd100a19",
      "tree": "be611ce4a6ceca1b284431312702fa8f6123f2d5",
      "parents": [
        "1a3739169becc850999c3c06db402541119a428c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 31 20:36:27 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 01 14:27:42 2013 -0700"
      },
      "message": "fix fallout from binderizing BufferQueues consumer side\n\nChange-Id: I626bac6df4fc3d8478046193f06ecc7ea60dd3a8\n"
    },
    {
      "commit": "1a3739169becc850999c3c06db402541119a428c",
      "tree": "84762cba8a976b67dca741e8cad5adb2486f0c71",
      "parents": [
        "c5f8c3e5502f3c220fdbb54573608f3b3bd47517",
        "6d4d879037a495f9a4276a6996d1845594ce9090"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Aug 01 12:47:14 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 01 12:47:14 2013 -0700"
      },
      "message": "am 6d4d8790: am b687ff9f: Merge \"Fix mismatched delete/new couple\"\n\n* commit \u00276d4d879037a495f9a4276a6996d1845594ce9090\u0027:\n  Fix mismatched delete/new couple\n"
    },
    {
      "commit": "6d4d879037a495f9a4276a6996d1845594ce9090",
      "tree": "1568f08d63b37c6554771642ba7f8f17b11c2a4a",
      "parents": [
        "b57fb786a32d4ea78cd8bbf24a65593353d87a88",
        "b687ff9f2e02790e8a8e3964cb73e87546cd72dd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Aug 01 12:43:55 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 01 12:43:55 2013 -0700"
      },
      "message": "am b687ff9f: Merge \"Fix mismatched delete/new couple\"\n\n* commit \u0027b687ff9f2e02790e8a8e3964cb73e87546cd72dd\u0027:\n  Fix mismatched delete/new couple\n"
    },
    {
      "commit": "b687ff9f2e02790e8a8e3964cb73e87546cd72dd",
      "tree": "89581f56db6f3468fae334b1de81a23488aa48e5",
      "parents": [
        "d0ef1ccd987e650e025b840e72f91770d03a5110",
        "eb144bbbd0b18427562b0d7db5b38e11f9484739"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Aug 01 19:37:52 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 01 19:37:52 2013 +0000"
      },
      "message": "Merge \"Fix mismatched delete/new couple\""
    },
    {
      "commit": "c5f8c3e5502f3c220fdbb54573608f3b3bd47517",
      "tree": "fea374510d195e9252fa28070a8be595e27296da",
      "parents": [
        "30873bfd08255e2c4e98ff5732ffff2838772617",
        "11d0d44d583f679638cc927bfffe920e495e90cc"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 21:17:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 31 21:17:58 2013 +0000"
      },
      "message": "Merge \"Camera: fix the metadate parcel write issue\""
    },
    {
      "commit": "30873bfd08255e2c4e98ff5732ffff2838772617",
      "tree": "e452e0a82e8716e8a7a0fd01f896cc2adfec4f63",
      "parents": [
        "9610adc395d18e474e6e35c0bc8b9c3220e6e525"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 31 13:04:50 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 31 13:04:50 2013 -0700"
      },
      "message": "Unregister any handlers still registered on now \"dead\" ALoopers\n\nupon the death of an ALooper.\n\nChange-Id: I64c0835b8db04486204f3d0fa7173ee53708a116\nrelated-to-bug: 10106648\n"
    },
    {
      "commit": "11d0d44d583f679638cc927bfffe920e495e90cc",
      "tree": "e795a55fea68ccd8f7b5a92edbadaa3b77260a7f",
      "parents": [
        "7b82efe7a376c882f8f938e1c41b8311a8cdda4a"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 09:50:58 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 12:10:51 2013 -0700"
      },
      "message": "Camera: fix the metadate parcel write issue\n\nAlso rename the frameId to requestId to make it less confusing.\n\nChange-Id: I14a20b6fcabb86294afb31fc0c56397e185c1373\n"
    },
    {
      "commit": "82aaf94a5b18939e4d790bbc752031f3070704a3",
      "tree": "4e39e32d0ccde726548afcbd81e253d5e316b295",
      "parents": [
        "b08ab81bab9e8cd2e3a7fff02725a387070fd078"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 17 16:05:07 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 31 09:15:00 2013 -0700"
      },
      "message": "Report underruns for fast tracks also\n\nThis fixes a regression that was introduced earlier\nby commit 9f80dd223d83d9bb9077fb6baee056cee4eaf7e5\ncalled \"New control block for AudioTrack and AudioRecord\".\nThat commit broke underrun reporting for fast tracks.\n\nAlso remove Track::mUnderrunCount, which counted the number of underrun\nevents, and was only used by dumpsys media.audio_flinger.\n\nNow dumpsys media.audio_flinger reports the number of underrun frames,\n\nIsolated underrun-related control block accesses via the proxy, so that\nthe server is not directly poking around in the control block.\n\nThe new proxy APIs are AudioTrackServerProxy::getUnderrunFrames() and\nAudioTrackServerProxy::tallyUnderrunFrames().  getUnderrunFrames() returns\na rolling counter for streaming tracks, or zero for static buffer tracks\nwhich never underrun, but do a kind of \u0027pause\u0027 at end of buffer.\ntallyUnderrunFrames() increments the counter by a specified number of frames.\n\nChange-Id: Ib31fd73eb17cbb23888ce3af8ff29f471f5bd5a2\n"
    },
    {
      "commit": "9610adc395d18e474e6e35c0bc8b9c3220e6e525",
      "tree": "ed65c8fab052c779c0fdda4e2b83d6dbe3f8410e",
      "parents": [
        "b08ab81bab9e8cd2e3a7fff02725a387070fd078",
        "b57fb786a32d4ea78cd8bbf24a65593353d87a88"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 31 09:01:12 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 31 09:01:12 2013 -0700"
      },
      "message": "am b57fb786: am d0ef1ccd: Merge \"rtsp handle response line ended with \\\u0027\\n\\\u0027\"\n\n* commit \u0027b57fb786a32d4ea78cd8bbf24a65593353d87a88\u0027:\n  rtsp handle response line ended with \u0027\\n\u0027\n"
    },
    {
      "commit": "b57fb786a32d4ea78cd8bbf24a65593353d87a88",
      "tree": "5cd5927f4d025cf98bdf9c0d616fd6388752fa0a",
      "parents": [
        "f2d744d9535ca59be6cd878830176f81a0a8fbc6",
        "d0ef1ccd987e650e025b840e72f91770d03a5110"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 31 08:52:41 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 31 08:52:41 2013 -0700"
      },
      "message": "am d0ef1ccd: Merge \"rtsp handle response line ended with \\\u0027\\n\\\u0027\"\n\n* commit \u0027d0ef1ccd987e650e025b840e72f91770d03a5110\u0027:\n  rtsp handle response line ended with \u0027\\n\u0027\n"
    },
    {
      "commit": "d0ef1ccd987e650e025b840e72f91770d03a5110",
      "tree": "dba78b1a839d35dd2f32c4a8710f8e2bfeb4fe39",
      "parents": [
        "1bb59258458350af518170558120783bc2f9e61d",
        "3e3af91f70b20623fa5f3845f26260235c0b212d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 31 15:43:56 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 31 15:43:56 2013 +0000"
      },
      "message": "Merge \"rtsp handle response line ended with \u0027\\n\u0027\""
    },
    {
      "commit": "3e3af91f70b20623fa5f3845f26260235c0b212d",
      "tree": "dba78b1a839d35dd2f32c4a8710f8e2bfeb4fe39",
      "parents": [
        "1bb59258458350af518170558120783bc2f9e61d"
      ],
      "author": {
        "name": "Yajun Zeng",
        "email": "beanz@marvell.com",
        "time": "Tue May 14 10:00:10 2013 +0800"
      },
      "committer": {
        "name": "Yajun Zeng",
        "email": "beanz@marvell.com",
        "time": "Wed Jul 31 11:31:46 2013 +0800"
      },
      "message": "rtsp handle response line ended with \u0027\\n\u0027\n\nChange-Id: I5bfafd3fa2c95083e833da2846556282eada2b02\nSigned-off-by: Yajun Zeng \u003cbeanz@marvell.com\u003e\n"
    },
    {
      "commit": "b08ab81bab9e8cd2e3a7fff02725a387070fd078",
      "tree": "ca39f5da6fd5d654a71472143ee4718855f576d6",
      "parents": [
        "4d74828fc0f6c13d49a36147a4250bcfa8ad0a47",
        "34af02647b387a252fb02bab8e2cb9f7bd9c8abb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 22:40:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 30 22:40:16 2013 +0000"
      },
      "message": "Merge \"Add resampler comments and fix a typo\""
    },
    {
      "commit": "34af02647b387a252fb02bab8e2cb9f7bd9c8abb",
      "tree": "2e2e6f24d984884746c91704fb054e00e38e5ff0",
      "parents": [
        "39a60318dcd78b2cb406d2c7dba57cbe9c99c3e7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 11:52:39 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 12:01:03 2013 -0700"
      },
      "message": "Add resampler comments and fix a typo\n\nChange-Id: Ie071673875f663de4212eed4a4dff89d51a5a915\n"
    },
    {
      "commit": "4d74828fc0f6c13d49a36147a4250bcfa8ad0a47",
      "tree": "b7c8867114e2b5ff7997c6a8adb10f3b223acb1e",
      "parents": [
        "7b82efe7a376c882f8f938e1c41b8311a8cdda4a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 19 11:24:51 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 11:39:50 2013 -0700"
      },
      "message": "Remove default channel mask in AudioRecord constructor and set()\n\nChange-Id: I22ad4ba8777842bf6705e79c6ad796fdb9a4104c\n"
    },
    {
      "commit": "7b82efe7a376c882f8f938e1c41b8311a8cdda4a",
      "tree": "d7ed69f0a495bc1a873a285ba11e72a9867c5565",
      "parents": [
        "d054c32443a493513ab63529b0c8b1aca290278c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 25 17:12:35 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 10:58:44 2013 -0700"
      },
      "message": "Camera: Rename new API to camera2, rearrange camera service\n\n - Support API rename from photography to camera2\n - Reorganize camera service files\n   - API support files to api1/, api2/, api_pro/\n   - HAL device support files into device{1,2,3}/\n   - Common files into common/\n   - Camera service remains at top-level\n\nChange-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9\n"
    },
    {
      "commit": "d054c32443a493513ab63529b0c8b1aca290278c",
      "tree": "fc68ba259ded1dd4960bee2938a9bcc7c599c9a3",
      "parents": [
        "96f60d8f04432a1ed503b3e24d5736d28c63c9a2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 12 12:59:20 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 09:50:48 2013 -0700"
      },
      "message": "Move control block mName to createTrack() output\n\nThis is part of a series of CLs to clean up the shared memory\ncontrol block, by removing any fields that don\u0027t have to be there.\n\nChange-Id: I6e51003a1293b6800258c31b22cff2eba42162e7\n"
    },
    {
      "commit": "96f60d8f04432a1ed503b3e24d5736d28c63c9a2",
      "tree": "083f6224327e0965a925076b3e1aec5636598203",
      "parents": [
        "97252bb0e40a5a9b41f020163393cf6c5da10b7e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 12 10:21:18 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 09:40:17 2013 -0700"
      },
      "message": "Rename control block flags to mFlags\n\nChange-Id: I7b6d31e24531954ab1ecdf3ed56c19433700bd89\n"
    },
    {
      "commit": "97252bb0e40a5a9b41f020163393cf6c5da10b7e",
      "tree": "2730f01323e31639eb85736a20ad0e0cf867876e",
      "parents": [
        "f20e1d8df84c5fbeeace0052d100982ae39bb7a4",
        "291bb6d8947c5b0c062f0895d623c529259bfa39"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 16:35:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 30 16:35:09 2013 +0000"
      },
      "message": "Merge \"AudioRecord and HAL input stream must be 16-bit PCM only\""
    },
    {
      "commit": "f20e1d8df84c5fbeeace0052d100982ae39bb7a4",
      "tree": "997cd41de1adb829c194f56cf29eb02945666b94",
      "parents": [
        "eced2daaa6c91a3731eef978ce65c6ec319c5e6a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 12 09:45:18 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 09:24:03 2013 -0700"
      },
      "message": "Rename control block server to mServer and add comments\n\nChange-Id: Ieabd91acee92d0e84e66fbd358df5282b856306e\n"
    },
    {
      "commit": "eced2daaa6c91a3731eef978ce65c6ec319c5e6a",
      "tree": "635d4e4f9ed3dccd52f53b1e91db4c4402733c3a",
      "parents": [
        "a30e75897934da2ce7b1b03bcb4b58e139d3e81e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 16 17:17:28 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 08:44:15 2013 -0700"
      },
      "message": "Use correct type for OutputDescriptor::format\n\nChange-Id: Ide608ef452d57da29b708180d90470361c123d1d\n"
    },
    {
      "commit": "a30e75897934da2ce7b1b03bcb4b58e139d3e81e",
      "tree": "78a398fee8ff72494debd7284ce0b43115412ad0",
      "parents": [
        "fa319e6d918b84f93fb5457af5d1cca6421ac517",
        "9fdcb0a9497ca290bcf364b10868587b6bde3a34"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 30 14:36:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 30 14:36:20 2013 +0000"
      },
      "message": "Merge \"Fix theoretical race using TrackBase::sampleRate()\""
    },
    {
      "commit": "eb144bbbd0b18427562b0d7db5b38e11f9484739",
      "tree": "c9ca9b64b648eef884e088f55c3693c0ddbc9c40",
      "parents": [
        "1bb59258458350af518170558120783bc2f9e61d"
      ],
      "author": {
        "name": "Andrei V. FOMITCHEV",
        "email": "andreix.fomitchev@intel.com",
        "time": "Tue Oct 09 11:33:25 2012 +0200"
      },
      "committer": {
        "name": "David Wagner",
        "email": "david.wagner@intel.com",
        "time": "Tue Jul 30 14:42:08 2013 +0200"
      },
      "message": "Fix mismatched delete/new couple\n\nIn RecordThread::readInputParameters(), mRsmpInBuffer is allocated\nwith new[] and should be freed with delete[] instead of delete.\n\nThis error has been found by valgrind.\n\nChange-Id: I2f947abb658a21a7d1e61eebb99270cb37d2d147\nSigned-off-by: Andrei V. FOMITCHEV \u003candreix.fomitchev@intel.com\u003e\nSigned-off-by: David Wagner \u003cdavid.wagner@intel.com\u003e\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "fa319e6d918b84f93fb5457af5d1cca6421ac517",
      "tree": "2ccff564a324d72c8bd5d872a220f56b26431203",
      "parents": [
        "548efc94813c1dec6e8cf6c085ae41ccb04827f1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 29 17:17:38 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 29 17:20:47 2013 -0700"
      },
      "message": "Remove CC_LIKELY and CC_UNLIKELY where not needed\n\nOnly keep them in performance-sensitive code\n\nChange-Id: Ib257ddd7bc39ce9896997ffae008c524ac743d01\n"
    },
    {
      "commit": "548efc94813c1dec6e8cf6c085ae41ccb04827f1",
      "tree": "620319f408aa2fc988373767cd382572bf32f3a3",
      "parents": [
        "9b58f63e45ef2fdfb839b9b9bb3411d81eb96128"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 29 08:48:51 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 29 16:36:09 2013 -0700"
      },
      "message": "Rename RecordThread::mInputBytes to the more generic mBufferSize\n\nThis prepares for using it in PlaybackThreads later\n\nChange-Id: Id90a92aa6372e4b69914b0008cef07296ca5d6a3\n"
    },
    {
      "commit": "9b58f63e45ef2fdfb839b9b9bb3411d81eb96128",
      "tree": "064801660f69f98c8ed48db753902ac141d6bc32",
      "parents": [
        "2314e90eb8de63a7058297817125b94c1eac8019"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 16 11:37:48 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 29 16:36:09 2013 -0700"
      },
      "message": "Move members from ThreadBase to PlaybackThread\n\nMove mNormalFrameCount and frameCountHAL(), since they\u0027re not used by\nrecord threads.  Also comment which fields are updated by readParameters().\n\nChange-Id: I5fc0a8a89cc637976f22d49271a5a3e136dab4e1\n"
    },
    {
      "commit": "2314e90eb8de63a7058297817125b94c1eac8019",
      "tree": "b629d83854db3b0c4c8e88135ff7169ad6741e5c",
      "parents": [
        "7f249fa9bcb64da324d19f551943fac7686d221c",
        "f90b123a3a67316284ba4b48a4fb0c5a36158545"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jul 29 23:10:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 29 23:10:53 2013 +0000"
      },
      "message": "Merge \"Fix typo in AwesomePlayer\""
    },
    {
      "commit": "7f249fa9bcb64da324d19f551943fac7686d221c",
      "tree": "76cc14be9525f53fbf910c00884ebe4b5c9988c9",
      "parents": [
        "ae4b5f93444802632d71ec34373842e6f5febbaa",
        "fad226abd12435dbcd232f7de396f1a097b2bd5f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 29 21:13:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 29 21:13:14 2013 +0000"
      },
      "message": "Merge \"Use standard name and type for channel mask\""
    },
    {
      "commit": "ae4b5f93444802632d71ec34373842e6f5febbaa",
      "tree": "cca9ed2ca45ba428c58976c3bda7dcc83cb2b3a1",
      "parents": [
        "175f8338e67aae6d0ca420b8f45a5f7cab4394d5",
        "1581101ce2a8c1b8d0b07b643ad891595221d781"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 29 20:54:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 29 20:54:20 2013 +0000"
      },
      "message": "Merge \"camera2 api: Override default RGBx formats to IMPLEMENTATION_DEFINED\""
    },
    {
      "commit": "175f8338e67aae6d0ca420b8f45a5f7cab4394d5",
      "tree": "cea9a9e0eb01e11f87ceb30dbdfdff293ac26513",
      "parents": [
        "5be847c22e7cec35a8b342338541fe1472bfd1a0",
        "d8ea699dc8e7dac58bb32e9cdb31b0758da25817"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 29 20:24:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 29 20:24:16 2013 +0000"
      },
      "message": "Merge \"Simplify getParameters()\""
    },
    {
      "commit": "5be847c22e7cec35a8b342338541fe1472bfd1a0",
      "tree": "b71ef7b9fb7f2063e82ae91306ce5a3ac9a3431d",
      "parents": [
        "ea543db8acfa4885a756903c19c4cf0df5ef76a1",
        "f6ed423af92a56ef54bba23eba883b1f21448b54"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 29 20:19:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 29 20:19:23 2013 +0000"
      },
      "message": "Merge \"Treat mChannelCount as uint32_t consistently\""
    },
    {
      "commit": "ea543db8acfa4885a756903c19c4cf0df5ef76a1",
      "tree": "6cf4f3651963d2c9218ab93a19e8d2fa0fb5c22a",
      "parents": [
        "2eeca1f8e18106d118f7268cb9d8597539685c5c",
        "04022b34d2b97938b0926ab62e6c283418da3bba"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 29 20:19:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 29 20:19:01 2013 +0000"
      },
      "message": "Merge \"Fail more gracefully on version mismatch\""
    }
  ],
  "next": "f6ed423af92a56ef54bba23eba883b1f21448b54"
}
