)]}'
{
  "log": [
    {
      "commit": "44182c206f7c5584ef2cf504da6be98fab665dbf",
      "tree": "6b3c4134c8cdd0d92aff4f917dfa3134c2c43bf4",
      "parents": [
        "0b89bc0d285b8fd4798df1ff0ba9f93851a3bd48"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 05 17:12:23 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 06 09:31:03 2015 -0800"
      },
      "message": "Dump generic information first for each thread\n\nalso mBufferSize was already being displayed as part of dumpBase\n\nChange-Id: I17f3062fcc076c594b5fd6b8fca286b27067e07c\n"
    },
    {
      "commit": "0b89bc0d285b8fd4798df1ff0ba9f93851a3bd48",
      "tree": "9c7813d20bf4cd16d9cec1ae464877432751703e",
      "parents": [
        "d7dca050c630bddbd73a6623271b34b4290460ee"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 05 16:37:47 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 06 09:29:51 2015 -0800"
      },
      "message": "Display more fields in thread dumpBase\n\nChange-Id: Ice15e999dda2f6cf9d23685ade4a87f74180322d\n"
    },
    {
      "commit": "d7dca050c630bddbd73a6623271b34b4290460ee",
      "tree": "c95d8f92b3fcaa95a712f862486bc07589ac746f",
      "parents": [
        "bcb1486d052e329ae4790d93055d1c51017286c3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 05 16:05:54 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 06 09:23:25 2015 -0800"
      },
      "message": "Rename mName to mThreadName and kNameLength to kThreadNameLength\n\nChange-Id: I0adfcdcab7923a07a840ec0e04528cb8bfc41f10\n"
    },
    {
      "commit": "bcb1486d052e329ae4790d93055d1c51017286c3",
      "tree": "27c26a78aea2bfe71a07b61543b4a488e422a4e0",
      "parents": [
        "2f55e7632dfa0dafde58efd8cb2af6593217fd91"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 05 17:11:21 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 06 09:23:23 2015 -0800"
      },
      "message": "Whitespace\n\nswitch indent\n\nChange-Id: I652c798dd37a80634d247c4d881fb1cce92c4bd6\n"
    },
    {
      "commit": "2f55e7632dfa0dafde58efd8cb2af6593217fd91",
      "tree": "98919a61809f20da6186d3e54537546604d7ff22",
      "parents": [
        "e7d6671c1ab1fea7ab1c4a9ebd1cd8f899c87628"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 05 16:05:08 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 06 09:22:51 2015 -0800"
      },
      "message": "Rename tee sink file name and add prefix to macros\n\nChange-Id: If316b9e32963d9baef8f4382fcc73dc6c4ff684d\n"
    },
    {
      "commit": "e7d6671c1ab1fea7ab1c4a9ebd1cd8f899c87628",
      "tree": "0d55fe4b6aa3009acd3f9253b42d19a3214ed029",
      "parents": [
        "0f5b562737d6b5457aa83a4fdce9c6fb32584d9d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 05 13:46:52 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 06 09:16:44 2015 -0800"
      },
      "message": "Rename formal parameter to match type name\n\nChange-Id: I0761005b751f5c4a4b28729b1820961ff3077afd\n"
    },
    {
      "commit": "0f5b562737d6b5457aa83a4fdce9c6fb32584d9d",
      "tree": "a3d8ffcaf5015d9d66ef5a3f10c7d13bbb278e94",
      "parents": [
        "6ffc14ab6b43d4239f5adb4e6c642b7875d26432"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 18 14:33:30 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 06 09:16:41 2015 -0800"
      },
      "message": "Add devicesToString, inputFlagsToString, and sourceToString\n\nChange-Id: I0c09d76c204ffc5579f62d2ed1faef07922a5962\n"
    },
    {
      "commit": "6ffc14ab6b43d4239f5adb4e6c642b7875d26432",
      "tree": "64acadc3635637aa5681ccc9ec3092912518c314",
      "parents": [
        "fa8b4792228083a4c95e8bd1c28690d44bb48bd6",
        "dfb0e115d827887e2f56a8877fe41b256d24360e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 06 16:14:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 06 16:14:38 2015 +0000"
      },
      "message": "Merge \"Fix typo in string table\""
    },
    {
      "commit": "dfb0e115d827887e2f56a8877fe41b256d24360e",
      "tree": "6a43958eaf694d463f19a68193d37e285d548beb",
      "parents": [
        "e8c9a8f78a9f9213060e5d54a15cde364df3e0d0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 18 14:33:39 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 05 17:33:48 2015 -0800"
      },
      "message": "Fix typo in string table\n\nChange-Id: Iaf3d3c77129c62cf3dcad21fc754f390eb43b28e\n"
    },
    {
      "commit": "df68f07ca7cdeb500fcf101b317c61a0f0865723",
      "tree": "9b5ae71ee622c6d05270c5cd18f0d41e8374a563",
      "parents": [
        "60d5023f92f344d1c4e72d8b1eee54a1d014f36c",
        "6b667dde03a5707285a2ff76ada525075d4c60ef"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 04 18:42:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 04 18:42:43 2015 +0000"
      },
      "message": "Merge \"Improve resampler speed for floating point and arm64\""
    },
    {
      "commit": "60d5023f92f344d1c4e72d8b1eee54a1d014f36c",
      "tree": "ed1088df59b9e68ebda21036d7578edf3171db03",
      "parents": [
        "32580ec89077947274bd161b379ab0410838dd8e",
        "acc930d104534dff89d5e336d22d2310069ca7c2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 04 18:11:20 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 04 18:11:20 2015 +0000"
      },
      "message": "Merge \"audiopolicy: Do not route VoIP call to HDMI\""
    },
    {
      "commit": "acc930d104534dff89d5e336d22d2310069ca7c2",
      "tree": "1bd6f8f33db1549d0fe3663dbe72a7570957af35",
      "parents": [
        "96faa25f4aea2c792523ae920da91f919f5ea392"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 04 10:08:29 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 04 10:08:41 2015 -0800"
      },
      "message": "audiopolicy: Do not route VoIP call to HDMI\n\ngetDeviceForStrategy is returning AUDIO_DEVICE_OUT_AUX_DIGITAL\neven  when setForceUse is called with FORCE_NONE(earpiece)\nduring VOIP call.\nActual Intention is to route audio for phone strategy to AUX\ndevice even after setForceUse is called with FORCE_NONE when not\nin voice call. It is supposed to exclude VOIP call too.\n\nBug: 19522164.\n\nChange-Id: I88d515c351f066305f9eed240b1fe5f60ef34f85\n"
    },
    {
      "commit": "6d32d81f966b1e5e6e037d55a5003fea4b87e55b",
      "tree": "26824f1a2006c3a24ebd542b975ce8a076f051fa",
      "parents": [
        "0331cf73db5087311089e01f5d31bb4026e54e6a",
        "5115777127bb4d2d50833537e09054dcdffdfc76"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 04 00:10:30 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 04 00:10:30 2015 +0000"
      },
      "message": "Merge \"Remove PCM16 assumption from FastCapture\""
    },
    {
      "commit": "0331cf73db5087311089e01f5d31bb4026e54e6a",
      "tree": "c20054736d6a1de501a5a43e416cd9a7005114f1",
      "parents": [
        "27697a3d51b3e6c3c6619fdb8249af5885629610",
        "8a0554c63dc40a2a7c066b03041079ec9eb220e5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 04 00:05:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 04 00:05:08 2015 +0000"
      },
      "message": "Merge \"Pull up comment to superclass\""
    },
    {
      "commit": "27697a3d51b3e6c3c6619fdb8249af5885629610",
      "tree": "6c7ef38f08e10baf7567ce87ce626b09b9b9ef34",
      "parents": [
        "56d517cb7a52ce8ce99afa4fdf822ff521921fe9",
        "4dd03b5b68dcd8eb5f5ffe2cfe93d26b8f08b848"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 04 00:04:51 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 04 00:04:52 2015 +0000"
      },
      "message": "Merge \"Remove redundant this-\u003e\""
    },
    {
      "commit": "56d517cb7a52ce8ce99afa4fdf822ff521921fe9",
      "tree": "bac1513be432df5f466680a58ec12e1107c96084",
      "parents": [
        "c33752349705068728b9b6e0cf5ac8f8252947ae",
        "e4a7ce250cb94a00aa2f76e5edca1c4479dc5401"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 04 00:04:26 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 04 00:04:26 2015 +0000"
      },
      "message": "Merge \"Add \"m\" prefix to fields\""
    },
    {
      "commit": "5115777127bb4d2d50833537e09054dcdffdfc76",
      "tree": "70e9d2aeb62926d0d9513fad6f607904a43de74f",
      "parents": [
        "8a0554c63dc40a2a7c066b03041079ec9eb220e5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 11:48:45 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 15:56:01 2015 -0800"
      },
      "message": "Remove PCM16 assumption from FastCapture\n\nBug: 19586911\nChange-Id: I74d4ddc09a9eb9c651f874482639d39a56f8ca1f\n"
    },
    {
      "commit": "8a0554c63dc40a2a7c066b03041079ec9eb220e5",
      "tree": "4e3739739382f654e9c7b4eb1335e0346ae9f967",
      "parents": [
        "4dd03b5b68dcd8eb5f5ffe2cfe93d26b8f08b848"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 12:17:06 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 15:56:01 2015 -0800"
      },
      "message": "Pull up comment to superclass\n\nChange-Id: I2e3632ee80744f2f8d932ac1a8597ff805883851\n"
    },
    {
      "commit": "4dd03b5b68dcd8eb5f5ffe2cfe93d26b8f08b848",
      "tree": "203ce41ac6f50f6a4c90cefd3b33f6d351037163",
      "parents": [
        "e4a7ce250cb94a00aa2f76e5edca1c4479dc5401"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 11:32:04 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 15:56:00 2015 -0800"
      },
      "message": "Remove redundant this-\u003e\n\nChange-Id: Iaa11bcce94dd331425197aab49065939e226a6a2\n"
    },
    {
      "commit": "e4a7ce250cb94a00aa2f76e5edca1c4479dc5401",
      "tree": "90743cbfc56a46b815fc5118b0695f5130e8d6a5",
      "parents": [
        "d702a568cb62e5aebe048147350bb3c76f9386ba"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 11:23:17 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 15:55:56 2015 -0800"
      },
      "message": "Add \"m\" prefix to fields\n\nChange-Id: Ifdb8fa886d1ff53cd7c8aff3c2f8286e6e18dec2\n"
    },
    {
      "commit": "6b667dde03a5707285a2ff76ada525075d4c60ef",
      "tree": "1034167044ecb2bb9551020bd19441da40748904",
      "parents": [
        "bf31b3301676ad86151f632e9ca186fd02445d86"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 06 15:05:37 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Mar 03 15:23:19 2015 -0800"
      },
      "message": "Improve resampler speed for floating point and arm64\n\nAdd floating point intrinsics for arm32 and arm64 devices.\nAdd integer intrinsics for arm64 devices.\n\nBug: 17366024\nChange-Id: Id4240f549033deb262815c7145d69820e5fd7b92\n"
    },
    {
      "commit": "1ba399206f6a99fec17331186041b55c3733c8d8",
      "tree": "731a4712bbf484987fa8f08b93aab8d4a11e4b33",
      "parents": [
        "38445e493d4cab2abc29515fd3f2ce2e411a6868",
        "d231fd61ca94441183abda9766ce6906a5b4c3cf"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Mar 03 22:23:05 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 03 22:23:06 2015 +0000"
      },
      "message": "Merge \"camera: implement flashlight for HAL v1 devices\""
    },
    {
      "commit": "38445e493d4cab2abc29515fd3f2ce2e411a6868",
      "tree": "09303b3079864d8a921d45c14d591addb25ee965",
      "parents": [
        "d702a568cb62e5aebe048147350bb3c76f9386ba",
        "88da526d97442c80731e01bfc94c6b47c4b0c3c7"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Mar 03 22:20:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 03 22:20:38 2015 +0000"
      },
      "message": "Merge \"camera: fix flashlight implementation for HAL v2\""
    },
    {
      "commit": "d231fd61ca94441183abda9766ce6906a5b4c3cf",
      "tree": "67dd34bd33fd1fcddb9182b34d5ddc754a259d16",
      "parents": [
        "88da526d97442c80731e01bfc94c6b47c4b0c3c7"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Feb 25 16:04:22 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Mar 03 14:07:57 2015 -0800"
      },
      "message": "camera: implement flashlight for HAL v1 devices\n\nImplement flashlight for HAL v1 devices and remove\nCameraHardwareInterface\u0027s dependency on CameraService to avoid\ncircular dependency.\n\nBug: 2682206\nChange-Id: Id5bbccef085b607a6189763fd7fbe2e3f26868c8\n"
    },
    {
      "commit": "88da526d97442c80731e01bfc94c6b47c4b0c3c7",
      "tree": "d62e3b5051bd55ac6f2bb0e4762a15be28650c5a",
      "parents": [
        "7841f704fee0e5acd45fa6e47a336120c3cad42c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Feb 17 13:56:46 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Mar 03 14:07:47 2015 -0800"
      },
      "message": "camera: fix flashlight implementation for HAL v2\n\nUpdate torch availability when the camera device availability changes.\n\nFor device HAL v2 and v3 implementation, notify torch unavailable for\nall camera devices with a flash unit when a camera device is opened.\nNotify torch available for all camera devices with flash unit when\nall camera devices are closed.\n\nDon\u0027t invoke torch status callback in camera service. Invoke torch\nstatus callback in HAL or FlashControlBase implementations to avoid\nrace condition.\n\nClean up previous CL.\n\nBug: 2682206\nChange-Id: I24f5478f467b2c680565fe98f112eef33e2547a1\n"
    },
    {
      "commit": "d702a568cb62e5aebe048147350bb3c76f9386ba",
      "tree": "507e18b27556b74262a527a7378515fbdcf9b573",
      "parents": [
        "fbdb2aceab7317aa44bc8f301a93eb49e17b2bce"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 15:51:38 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 08:52:56 2015 -0800"
      },
      "message": "Pull out commandToString() from FastMixerDumpState.cpp\n\nto FastThreadState.cpp, FastMixerState.cpp, and FastCaptureState.cpp\n\nChange-Id: I872efb211e8a0335c42906367859d3674340e374\n"
    },
    {
      "commit": "fbdb2aceab7317aa44bc8f301a93eb49e17b2bce",
      "tree": "97defd36379d3d4770dbd02dbacf046084889761",
      "parents": [
        "63238efb0d674758902918e3cdaac322126484b7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:47:19 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 08:50:40 2015 -0800"
      },
      "message": "Pull up increaseSamplingN and kSamplingNforLowRamDevice\n\nfrom FastMixerDumpState to FastThreadDumpState, and remove unused parameter\nfrom FastMixerDumpState constructor.\n\nChange-Id: Ib8937b106622a8da28a6ef6043de4528ae82cb05\n"
    },
    {
      "commit": "63238efb0d674758902918e3cdaac322126484b7",
      "tree": "07fdf37a2bc73a886d8ea41f69e722ed914754af",
      "parents": [
        "d7e1d08c2ac21cdd2f3b7f83fec7094f6a98fc08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 15:50:29 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 08:50:40 2015 -0800"
      },
      "message": "Remove redundant semicolon from namespace closing\n\nChange-Id: I163f9d3d216c283ae1160ce4802e5247cf44fba7\n"
    },
    {
      "commit": "13e71707522a212b192063acb0b221abbe618f60",
      "tree": "e96e4f768235dc77478aef7d9a086b8f61f31d4d",
      "parents": [
        "785b34e6b2743e3303dcd56d269259da73c40dfb",
        "d797a9d5daad3051f9ac1d348abc2f434ea3ddcf"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 01:01:05 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 03 01:01:05 2015 +0000"
      },
      "message": "Merge \"Fix compile error if FAST_THREAD_STATISTICS not defined\""
    },
    {
      "commit": "785b34e6b2743e3303dcd56d269259da73c40dfb",
      "tree": "d6cc5eb0be4404b51a59f5460a76a3ecb355ba21",
      "parents": [
        "a5c5ad3615613ac0f15012e9e07a34582da7fe77",
        "214b406c813e5baca3e4b5cdc1d986de35f09bbb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 01:00:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 03 01:00:54 2015 +0000"
      },
      "message": "Merge \"Rename FAST_MIXER_STATISTICS to FAST_THREAD_STATISTICS\""
    },
    {
      "commit": "d797a9d5daad3051f9ac1d348abc2f434ea3ddcf",
      "tree": "ce8626ab8016e1d162c2adcb14bbf2e3d9731267",
      "parents": [
        "214b406c813e5baca3e4b5cdc1d986de35f09bbb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:19:25 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:50:26 2015 -0800"
      },
      "message": "Fix compile error if FAST_THREAD_STATISTICS not defined\n\nChange-Id: I3a4ac558e61ad956a7a6e325534e722066e49b2f\n"
    },
    {
      "commit": "214b406c813e5baca3e4b5cdc1d986de35f09bbb",
      "tree": "9e39728f873648da62d84e101b8dfcb25c58f4f7",
      "parents": [
        "bf31b3301676ad86151f632e9ca186fd02445d86"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:15:47 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:17:05 2015 -0800"
      },
      "message": "Rename FAST_MIXER_STATISTICS to FAST_THREAD_STATISTICS\n\nChange-Id: Idb5f5bf0c20bffff8536cf4a46f696e12e99e81b\n"
    },
    {
      "commit": "a5c5ad3615613ac0f15012e9e07a34582da7fe77",
      "tree": "36bd8363a603868b2b3b57e47727d932c299dcdf",
      "parents": [
        "bf5d0666b803921541e6a5d6abae05316e533855"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 11:19:12 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 11:23:35 2015 -0800"
      },
      "message": "Re-generate sinc tables with comment and indent by 4\n\nChange-Id: I349273969dfd7e9d7f896f8bd6d552bd6b56ba54\n"
    },
    {
      "commit": "bf31b3301676ad86151f632e9ca186fd02445d86",
      "tree": "4cdb7c795f3fb11cc9c9c730a869e25eb2c29d01",
      "parents": [
        "b2b152afbefb2a3d67c142174da9b7d6ebf8630c",
        "2f5aa01e52b8869515373b5047f00272f245883e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 18:39:19 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 02 18:39:20 2015 +0000"
      },
      "message": "Merge \"Line length 100\""
    },
    {
      "commit": "ad3738ccfadc1b57428c28e91c5428939bbf19b1",
      "tree": "7daee377cbd216cb85ec1b44ea6627fc63d44d37",
      "parents": [
        "566729efce4035ac4fa09c2c106bcf6756451387",
        "675933be11f2c24f9f66011345377d2840938646"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 18:37:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 02 18:37:53 2015 +0000"
      },
      "message": "Merge \"Extract resampler coefficient tables to separate files\""
    },
    {
      "commit": "2f5aa01e52b8869515373b5047f00272f245883e",
      "tree": "b44c62dca5f9a925ce3b3d860376164597c2780f",
      "parents": [
        "e1984fc72d9f814461992b9f5b1e5f9d45ce7afa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 15:04:28 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 27 18:29:48 2015 -0800"
      },
      "message": "Line length 100\n\nChange-Id: Ic0ae92c300df221387bdd9669e4b7b995d83d28a\n"
    },
    {
      "commit": "675933be11f2c24f9f66011345377d2840938646",
      "tree": "c102134a72b0c8a9948cb6a6b75b431cb444af74",
      "parents": [
        "9060199701c97b290aa4a4184d147e0311ab8897"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 14:23:04 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 27 18:29:47 2015 -0800"
      },
      "message": "Extract resampler coefficient tables to separate files\n\nChange-Id: I2e186bd3172cecc08c436e6bf7546b913249e6c8\n"
    },
    {
      "commit": "566729efce4035ac4fa09c2c106bcf6756451387",
      "tree": "65a7fe79cd56ffeeb5fa8b9bb4d864de7b2093c3",
      "parents": [
        "66bcde4a112de4057f80bdef1c8955597d5cca50",
        "d7a77156eb13973f7fce5c9db6113bef83bc205b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 28 02:12:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 28 02:12:36 2015 +0000"
      },
      "message": "Merge \"Fix comments in resampler assembly\""
    },
    {
      "commit": "66bcde4a112de4057f80bdef1c8955597d5cca50",
      "tree": "4aa8edb37e27830497768883f6daa01ec3c2f192",
      "parents": [
        "d4bd93b22ab9f7dfa32dfc6d48e008db3ea9c634",
        "650ceb93e58435c3cb1fd1860393130121023c0d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 28 01:05:51 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 28 01:05:52 2015 +0000"
      },
      "message": "Merge \"Add channel index mask to AudioMixer\""
    },
    {
      "commit": "d4bd93b22ab9f7dfa32dfc6d48e008db3ea9c634",
      "tree": "6e1effbb661cd90a1c09aed0db9cc44cedaf1544",
      "parents": [
        "9060199701c97b290aa4a4184d147e0311ab8897",
        "0e48d25606c82def035ad10a5b3923767a765cdd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 28 00:38:24 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 28 00:38:25 2015 +0000"
      },
      "message": "Merge \"Change AudioTrack resampling buffers from 3 to 2\""
    },
    {
      "commit": "9060199701c97b290aa4a4184d147e0311ab8897",
      "tree": "ca4bdc0a66470f17929b4c77e43a9d1c6273d7e5",
      "parents": [
        "7841f704fee0e5acd45fa6e47a336120c3cad42c",
        "d2123e631834a887c2d8600c3ac43dda02d47cb9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 27 22:55:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 27 22:55:15 2015 +0000"
      },
      "message": "Merge \"Warmup cycles must be in range and consecutive\""
    },
    {
      "commit": "650ceb93e58435c3cb1fd1860393130121023c0d",
      "tree": "5f33a1ae10e8145bbd914014ec8ce86711811883",
      "parents": [
        "9ee53a49860e91c2b012883eef09d669a7829e06"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 29 13:31:12 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 27 12:44:13 2015 -0800"
      },
      "message": "Add channel index mask to AudioMixer\n\nChange-Id: Ifbcb61cc24111b7efab5e8d119d44dab26ba1778\n"
    },
    {
      "commit": "7841f704fee0e5acd45fa6e47a336120c3cad42c",
      "tree": "c75096dc548d0bdb9eec94663e08dc59fe287fc5",
      "parents": [
        "364b2600670e178931f0e88dbffb4f1f3dccc4ea",
        "5bedff60b2facaa1ec5b9433647ebf1504f065ca"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Feb 26 23:39:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 26 23:39:14 2015 +0000"
      },
      "message": "Merge \"Do not pre-fill OutputTrack buffer for duplicating thread\""
    },
    {
      "commit": "364b2600670e178931f0e88dbffb4f1f3dccc4ea",
      "tree": "a9e0663ae0afba69cc1fa0cd1c55fc0be303ab8f",
      "parents": [
        "212765f2d5ee6e533f3d032d6609125faa95bf48",
        "4019a1e408c12040fc13f7bd0027def630efcc18"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Feb 26 20:05:50 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 26 20:05:52 2015 +0000"
      },
      "message": "Merge \"Remove unused stride-by-8 resampling code\""
    },
    {
      "commit": "d031aaae9e93ef2860070eee2c191b1cf428cf46",
      "tree": "0103eb3faa51eda1a446c936439aaa235c356ef2",
      "parents": [
        "07aed75a681793474487e7e5e100d21c2f31de9c",
        "b6dc0bf1ce7d54995943c3cd6885f35db77728fc"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Feb 20 17:41:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 17:41:54 2015 +0000"
      },
      "message": "Merge \"CameraService: fix invalid access of camera metadata\""
    },
    {
      "commit": "9a4fa2dfb7ce565fabfb7a7bef4f4adfea191f05",
      "tree": "b91d3bdf39760c82e54ab0be64c74d277f9a57fd",
      "parents": [
        "9d19e392f61de3e8cd365afa12d7836bd3721602",
        "a97dfeb91aae9569ff11a5a40634e2960c03915e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Feb 20 01:04:44 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 01:04:48 2015 +0000"
      },
      "message": "Merge \"Camera: Remove RAW_SENSOR in favor of RAW16\""
    },
    {
      "commit": "0fbad3c813cdd67dcab95f998f1982b2180dc322",
      "tree": "1401cfae977d096245441ce047425e80a1db1633",
      "parents": [
        "a52b8d1f4890f0a695cfbffda106579bcc3a16b5",
        "3e91b5d11866599e8f33e63fb3b6c1d81ce1a1d2"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Fri Feb 20 00:36:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 00:36:26 2015 +0000"
      },
      "message": "Merge \"Fix for getMicMute in AudioFlinger\""
    },
    {
      "commit": "a52b8d1f4890f0a695cfbffda106579bcc3a16b5",
      "tree": "c38befe0d4fcc7cfe93ca650d30b51d36b4ffd52",
      "parents": [
        "6ff474ed7eefe003216a3f98992f1ece047d64a2",
        "ad8510a339ffab330c2c46e5c247dd1cf9e15c22"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 20 00:35:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 00:35:48 2015 +0000"
      },
      "message": "Merge \"Include what you use\""
    },
    {
      "commit": "6ff474ed7eefe003216a3f98992f1ece047d64a2",
      "tree": "550f8ebb8d7dead2543ca952ff8eaf124630c675",
      "parents": [
        "5e2d279226b78aeedd3d347953cdbb8c0220dc51",
        "04333cdc8d6a3c8e4a11835371e8ad13adf3f7f0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 20 00:35:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 00:35:37 2015 +0000"
      },
      "message": "Merge \"Pull out FastCaptureDumpState and FastMixerDumpState\""
    },
    {
      "commit": "a97dfeb91aae9569ff11a5a40634e2960c03915e",
      "tree": "8f325ccd2d62226dd0868863a324e20f2ef7858f",
      "parents": [
        "37b2b389139ed638831e49708c947863eef631ef"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 19 16:26:13 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 19 16:26:13 2015 -0800"
      },
      "message": "Camera: Remove RAW_SENSOR in favor of RAW16\n\nChange-Id: I69ca24c69f58be958efdef300b127401d2b2e880\n"
    },
    {
      "commit": "3e91b5d11866599e8f33e63fb3b6c1d81ce1a1d2",
      "tree": "44923162a2e46fcd80271fb04975526081a34aac",
      "parents": [
        "ea78b1497eef36b6a3ba783be20615989e87ed08"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Feb 19 10:54:52 2015 -0800"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Feb 19 15:49:36 2015 -0800"
      },
      "message": "Fix for getMicMute in AudioFlinger\n\nPrevious logic will only check for mic state of Primary Hardware\nDevice. Current logic checks state of all devices with valid\nmicrophone input.\nThis is needed for audio_output feature support.\n\nbug: 19439530\nChange-Id: Ibbb92412ac70cf2915bbe8660c04fbaf0ab74171\n"
    },
    {
      "commit": "a9284a8d9e6cb27e6d428be3f70a854d978dc282",
      "tree": "25f89ab3cac054b130d8c41a14b8898b7b655ba1",
      "parents": [
        "658fc18d8e632441cd5d83a4f74b53620cbac1fe",
        "3068d73c6c7e1f44523b1466b903a9c82408b258"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Feb 19 20:51:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 19 20:51:18 2015 +0000"
      },
      "message": "Merge \"camera: implement flashlight control\""
    },
    {
      "commit": "d2123e631834a887c2d8600c3ac43dda02d47cb9",
      "tree": "1b0fbc7dd7ffb18d7a7084f2cff34f82c61a25b2",
      "parents": [
        "ad8510a339ffab330c2c46e5c247dd1cf9e15c22"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 29 10:02:44 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 19 09:47:44 2015 -0800"
      },
      "message": "Warmup cycles must be in range and consecutive\n\nChange-Id: Ie8a40ec3547bdd62a1e2e05b11fb107c25841784\n"
    },
    {
      "commit": "ad8510a339ffab330c2c46e5c247dd1cf9e15c22",
      "tree": "f8643e6711ce756876c02cbb2c0ed4ed459c6187",
      "parents": [
        "04333cdc8d6a3c8e4a11835371e8ad13adf3f7f0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 16:24:07 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 19 09:47:41 2015 -0800"
      },
      "message": "Include what you use\n\nChange-Id: I1967861f383bb5ed6743fb69e3bd439907ed7033\n"
    },
    {
      "commit": "04333cdc8d6a3c8e4a11835371e8ad13adf3f7f0",
      "tree": "ff205682f760786e3d195f297d60207af0e40792",
      "parents": [
        "658fc18d8e632441cd5d83a4f74b53620cbac1fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 16:23:03 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 19 09:47:39 2015 -0800"
      },
      "message": "Pull out FastCaptureDumpState and FastMixerDumpState\n\nChange-Id: I8e44dbfe02338622eb69193b234743b50f0dd79f\n"
    },
    {
      "commit": "658fc18d8e632441cd5d83a4f74b53620cbac1fe",
      "tree": "f6e16cad4595a48edabe40d1f1bae95ff8657dec",
      "parents": [
        "c1b3bc0ced3b7526c31223911d334961ae031995",
        "045ee7ea3e42b8657869d81c917feed5fb0c2b4a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 19 17:38:04 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 19 17:38:05 2015 +0000"
      },
      "message": "Merge \"Pull out FastThreadDumpState\""
    },
    {
      "commit": "c1b3bc0ced3b7526c31223911d334961ae031995",
      "tree": "595a4add001bb265f287dae9f3bd902787f2cc94",
      "parents": [
        "1fb8290c1f99e1db96b681e6eaae0193ea81674e",
        "56ec4ffcbae8aeac6c5245fc7b825d02e2e6cefd"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 19 17:11:33 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 19 17:11:34 2015 +0000"
      },
      "message": "Merge \"Refactor AudioPolicyManager\""
    },
    {
      "commit": "56ec4ffcbae8aeac6c5245fc7b825d02e2e6cefd",
      "tree": "914941adb956f3af389b9a7b955f3534eec4fe7a",
      "parents": [
        "8f7b7fa417566e9a6a29ea9f0e220b3cd6d1a9e3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jan 23 16:45:18 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 18 17:29:20 2015 -0800"
      },
      "message": "Refactor AudioPolicyManager\n\nAudioPolicyManager implementation is now split into the\nfollowing files:\n\nfiles managerdefault/Gains.*\n  class AudioGain\n  class VolumeCurvePoint\n  class StreamDescriptor\n\nfiles managerdefault/Devices.*\n  class DeviceDescriptor\n  class DeviceVector\n\nfiles managerdefault/Ports.*\n  class AudioPort\n  class AudioPortConfig\n  class AudioPatch\n\nfiles managerdefault/IOProfile.*\n  class IOProfile\n\nfiles managerdefault/HwModule.*\n  class HwModule\n\nfiles managerdefault/AudioInputDescriptor.*\n  class AudioInputDescriptor\n\nfiles managerdefault/AudioOutputDescriptor.*\n  class AudioOutputDescriptor\n\nAll files for libaudiopolicyservice are moved under service/\n\nAll files for libaudiopolicymanager are moved under manager/\n\nChange-Id: I43758be1894e37d34db194b51a19ae24461e066e\n"
    },
    {
      "commit": "b6dc0bf1ce7d54995943c3cd6885f35db77728fc",
      "tree": "8b48b08c3e2b766b86d5ac0c3131e0c96d6a3881",
      "parents": [
        "9f1f00cee228eb1c6cf4a7e2b9dc4c92d6754a39"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 18 14:42:16 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 18 14:42:16 2015 -0800"
      },
      "message": "CameraService: fix invalid access of camera metadata\n\nstatic_camera_characteristics is not defined in API1.\n\nChange-Id: I422953081b0a5581e12fc4b16052b67ca8062186\n"
    },
    {
      "commit": "045ee7ea3e42b8657869d81c917feed5fb0c2b4a",
      "tree": "aee4e457c5ae65d9135f5008fa239e295162fb2d",
      "parents": [
        "ea78b1497eef36b6a3ba783be20615989e87ed08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 16:22:04 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 17:19:17 2015 -0800"
      },
      "message": "Pull out FastThreadDumpState\n\nChange-Id: Ic99890bbba4f856b65535f3df0f928de9e3e9748\n"
    },
    {
      "commit": "228711d4d25ab434c273c92fc01662c0a6b3adbf",
      "tree": "8458d0394718aa2f11363fb4a8aba6f3282e7e47",
      "parents": [
        "c9f122d8f32ba6928ac9087448025fa3bed1553d"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Feb 13 13:25:39 2015 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Feb 13 17:26:55 2015 -0800"
      },
      "message": "Look up user-specific device policy for disabling camera\n\nCamera can be disabled on a per-user basis by device admins.\nChanged the system property format to be per-user so that\nthe policy can be applied based on calling user.\n\nTODO: Ideally this policy information should be pulled from the\nDevicePolicyManager rather than relying on system properties.\nProperty changes will not be applied immediately either, if\nthere\u0027s no listener.\n\nBug: 19345698\nChange-Id: Ia00034726260bc9ff28ac592f20a27b5c9a77d58\n"
    },
    {
      "commit": "3068d73c6c7e1f44523b1466b903a9c82408b258",
      "tree": "197720671edfdcc2c75a7d05a13c60be2b17fb75",
      "parents": [
        "8f7b7fa417566e9a6a29ea9f0e220b3cd6d1a9e3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Feb 09 13:29:57 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Feb 12 15:05:30 2015 -0800"
      },
      "message": "camera: implement flashlight control\n\nImplement flashlight API for module v2.4 by calling module APIs and\nby for hal v2 and v3 by using CameraDeviceBase.\n\nBug: 2682206\nChange-Id: Ib8b77f6fd462489d672f27e14fe37801d35b7544\n"
    },
    {
      "commit": "d7a77156eb13973f7fce5c9db6113bef83bc205b",
      "tree": "a900af86d420f9514201a871e7faf481373a4186",
      "parents": [
        "4019a1e408c12040fc13f7bd0027def630efcc18"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 06 14:58:38 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 09 18:01:14 2015 -0800"
      },
      "message": "Fix comments in resampler assembly\n\nChange-Id: Iedbd14a2c6c73dd9631813bd2414bf11cee78c32\n"
    },
    {
      "commit": "4019a1e408c12040fc13f7bd0027def630efcc18",
      "tree": "2faae9fa56d6674a2fc283e97fc1661325c6deac",
      "parents": [
        "27a3e954a587c2cf070fdd2aae7d93d839888db9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 06 14:53:01 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 09 18:00:44 2015 -0800"
      },
      "message": "Remove unused stride-by-8 resampling code\n\nChange-Id: Id8b0343efd4c6fb9668524fb5fe231b05c7cf31f\n"
    },
    {
      "commit": "e8610ba233ecdb3f6d3259412b41738a3861ee7e",
      "tree": "733694eb052a9bd41b53f7dffc77738abf11d057",
      "parents": [
        "9fdb3bd42af0876a9b76bae42d7aba2287b53af4"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Fri Feb 06 13:53:36 2015 -0800"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Fri Feb 06 14:44:32 2015 -0800"
      },
      "message": "Passing device name up through getDeviceDescriptor() method (when creating)\n\nChange-Id: Ibd85e37914333478fd038c3d2f52e214016c16b1\n"
    },
    {
      "commit": "0e48d25606c82def035ad10a5b3923767a765cdd",
      "tree": "2811d0042ca0c670bb6fb9cffa83b82de33f8ff8",
      "parents": [
        "c42ab4fcd42875ef74f8e9b8d8150f7bcfd0cd3b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 26 11:43:15 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 06 11:51:26 2015 -0800"
      },
      "message": "Change AudioTrack resampling buffers from 3 to 2\n\nMove computation of minimum AudioTrack buffer size to server\nfor normal streaming PCM tracks.\n\nUse server-side computation to exactly determine requirements\nfor the resampler to avoid triple buffering.\n\nThis reduces latency for normal audio tracks that require resampling,\nand makes things consistent with the minimum buffer size.\n\nChange-Id: I2f2ca0e599ee20e16559bc5c5dab61ed100da16c\n"
    },
    {
      "commit": "e743a47f445f02a0612018fa5640301304844fbf",
      "tree": "b8db2098c4e585e2e4d918db4c01a19fb5cf6be4",
      "parents": [
        "b96efd3cd7ff49e85049a1515b8bb3b7514dce0b"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Wed Jan 28 11:07:31 2015 -0800"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Feb 05 09:54:20 2015 -0800"
      },
      "message": "Add additional info to AudioPort for enum/selection API.\n\nAdd \"device name\" member to AudioPort.\nMoved unique device ID from DevicePort to AudioPort.\nStraighten out confusion between \"name\" and \"address\"\nCreated string constants for Intent \"extra\" data keys.\nCombine card/address data into \"address\" at sender.Add additional info to AudioPort for enum/selection API.\n\nChange-Id: I1be308e12b09cd0ead9a3e9fbc9c385462299fb5\n"
    },
    {
      "commit": "4db561713aae35445c2551a1c1049e7a858af197",
      "tree": "ef996c154b9f9ff74a5eead340812dedb4100a9b",
      "parents": [
        "c9fcfb923bb891d980238d47f33fdf488f758dc2",
        "7bc903581f879c86f3881a2f7563bd28c1ac29b7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 04 18:59:14 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 18:59:14 2015 +0000"
      },
      "message": "am 7bc90358: am 5d46bd54: am 3ae5f313: audiopolicy: send device connect notification to HALs\n\n* commit \u00277bc903581f879c86f3881a2f7563bd28c1ac29b7\u0027:\n  audiopolicy: send device connect notification to HALs\n"
    },
    {
      "commit": "7bc903581f879c86f3881a2f7563bd28c1ac29b7",
      "tree": "b63e33c63c7fc7c8febf5b6912cf6dc010e66a9c",
      "parents": [
        "07840f7544de883fe5c00cbd18bc6458a20e2691",
        "5d46bd54a279f24d0476b83947ce29e786b5c72c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 04 17:25:40 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 17:25:40 2015 +0000"
      },
      "message": "am 5d46bd54: am 3ae5f313: audiopolicy: send device connect notification to HALs\n\n* commit \u00275d46bd54a279f24d0476b83947ce29e786b5c72c\u0027:\n  audiopolicy: send device connect notification to HALs\n"
    },
    {
      "commit": "3ae5f31393609b7fa92f24132c66e9a8c9244a45",
      "tree": "059dbae05f8fdaaa3cf3dd68b246deb2cebeea76",
      "parents": [
        "efbb61950db36a5eb789be83f077246172507c67"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 03 17:12:08 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 04 08:56:31 2015 -0800"
      },
      "message": "audiopolicy: send device connect notification to HALs\n\nDevice disconnect notifications are sent from audiopolicy to\nthe HALs. Send connect notifications as well.\n\nBug: 19249796.\nBug: 17785277.\n\nChange-Id: Ia823ed154d6a0c7ceb84b0a94f0c3b78392faaf6\n"
    },
    {
      "commit": "e074a93046ebe5cea0b55c3a479e082a426e1e07",
      "tree": "c1b960cf44d005a19e8609e5be3d3f47c4ad0366",
      "parents": [
        "16469200f5a94277178ea41ed59898a113320b60"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 30 10:29:02 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Feb 03 15:23:56 2015 -0800"
      },
      "message": "CameraService: intercept Camera module\n\nWrap camera module returned from HAL so get_camera_info returns\nstatic_camera_characteristics processed by framework, which\ngenerates keys added after HAL3.2 is released.\n\nChange-Id: Ief423a1571cf06c7ef80b98b403a33969baf95f6\n"
    },
    {
      "commit": "37e5e6a53390c5086eea672d50c608f3247d33aa",
      "tree": "846b1f1bad32194ada096e81ed1e904a5dcd3ab4",
      "parents": [
        "5c129eb387334ed17d05071dbe960ef2faa2df87",
        "e33dee9e041c6ad8d822f717ef141d657da96c32"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 21:35:21 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 30 21:35:21 2015 +0000"
      },
      "message": "am e33dee9e: am 14a849c2: am 1bf8a210: Merge \"audio policy: add fallback for output selection\" into lmp-mr1-dev\n\n* commit \u0027e33dee9e041c6ad8d822f717ef141d657da96c32\u0027:\n  audio policy: add fallback for output selection\n"
    },
    {
      "commit": "5c129eb387334ed17d05071dbe960ef2faa2df87",
      "tree": "1980cce07b6e49827c40dd4b1fbddb691f6ed17b",
      "parents": [
        "e0360d0e86fed644e6cbe406de66d77d7ae9e697",
        "cba7fe5f1cb13108367d6de288428801b2d89a8e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 21:28:13 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 30 21:28:13 2015 +0000"
      },
      "message": "am cba7fe5f: am 6f4428de: am d99c6855: Merge \"audio policy: match attached device to declared devices\" into lmp-mr1-dev\n\n* commit \u0027cba7fe5f1cb13108367d6de288428801b2d89a8e\u0027:\n  audio policy: match attached device to declared devices\n"
    },
    {
      "commit": "e33dee9e041c6ad8d822f717ef141d657da96c32",
      "tree": "89889c9730c4736d464c449b7cded762cd6769a1",
      "parents": [
        "cba7fe5f1cb13108367d6de288428801b2d89a8e",
        "14a849c267bdcf564c30f9f2ebf0d619b36f500a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 21:22:44 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 30 21:22:44 2015 +0000"
      },
      "message": "am 14a849c2: am 1bf8a210: Merge \"audio policy: add fallback for output selection\" into lmp-mr1-dev\n\n* commit \u002714a849c267bdcf564c30f9f2ebf0d619b36f500a\u0027:\n  audio policy: add fallback for output selection\n"
    },
    {
      "commit": "cba7fe5f1cb13108367d6de288428801b2d89a8e",
      "tree": "62c5fc6f17c5a21f9ce952f7c1a93f617c1475be",
      "parents": [
        "172f257811886a216bf528006fc8445cec9d5480",
        "6f4428de2b4ab10393bbac2441586ac514c8cf53"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 21:18:06 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 30 21:18:06 2015 +0000"
      },
      "message": "am 6f4428de: am d99c6855: Merge \"audio policy: match attached device to declared devices\" into lmp-mr1-dev\n\n* commit \u00276f4428de2b4ab10393bbac2441586ac514c8cf53\u0027:\n  audio policy: match attached device to declared devices\n"
    },
    {
      "commit": "1bf8a21018cc1d95dc3c28b5044aeda327c7b54e",
      "tree": "8a4be46e5650fa435176aaa2e5ce95b8e146de8c",
      "parents": [
        "d99c6855901e4b2625aaad3fc24cff5ecf675fa3",
        "a82797faddb37adb2d441737884576684c8515cb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 20:27:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 30 20:27:44 2015 +0000"
      },
      "message": "Merge \"audio policy: add fallback for output selection\" into lmp-mr1-dev"
    },
    {
      "commit": "a82797faddb37adb2d441737884576684c8515cb",
      "tree": "68f6794347c78e26ec90a25373f6efb7894ba4fe",
      "parents": [
        "a93fd2be99d21629bed504b9b7df035fc2f54562"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 11:49:43 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 11:49:43 2015 -0800"
      },
      "message": "audio policy: add fallback for output selection\n\nWhen getOutputForDevice() finds a matching direct output profile\nbut fails to open it, try to fallback to downmix on mixer output\nwhen format is PCM and sampling rate allows it.\n\nBug: 19197137.\nChange-Id: I197b9b202504265b6928e69740875cb7aba5c2c5\n"
    },
    {
      "commit": "d99c6855901e4b2625aaad3fc24cff5ecf675fa3",
      "tree": "9f48f6a001a4fd4b0a097d6c64ed128b91f4abfe",
      "parents": [
        "0d84ba3fd82038cb721ffae234a99e6751ed7fbe",
        "a1d525fbf2c1e0b2c61e5d29f338b0a0d8823436"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 16:33:20 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 30 16:33:21 2015 +0000"
      },
      "message": "Merge \"audio policy: match attached device to declared devices\" into lmp-mr1-dev"
    },
    {
      "commit": "a1d525fbf2c1e0b2c61e5d29f338b0a0d8823436",
      "tree": "58ca0bd223daf403b1e18f29dc3dc2966f2c5478",
      "parents": [
        "a93fd2be99d21629bed504b9b7df035fc2f54562"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 29 13:36:45 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 29 13:36:45 2015 -0800"
      },
      "message": "audio policy: match attached device to declared devices\n\nMake sure that when a new audio device is connected,\nand a specific profile for this device is listed in\naudio_policy.conf, this particular profile is used instead\nof a default generic profile.\n\nBug: 19188567.\nChange-Id: I5f576fcd697adc041b2cfbd2bac7a51bcc2143b9\n"
    },
    {
      "commit": "aae036391b83a4509f2f480f36a1a4974b05132d",
      "tree": "25da1a26df7ef641fd664282c72e5b85f6c162cb",
      "parents": [
        "875cfd20f41b6e405f75fe4a9f9e848d63a67e28",
        "88873ae1b01208a9e70b80860274f429d08a6c64"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 20:57:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 20:57:42 2015 +0000"
      },
      "message": "am 88873ae1: am f1121d96: am 0d84ba3f: Merge \"Fix FLAG_BEACON regression\" into lmp-mr1-dev\n\n* commit \u002788873ae1b01208a9e70b80860274f429d08a6c64\u0027:\n  Fix FLAG_BEACON regression\n"
    },
    {
      "commit": "88873ae1b01208a9e70b80860274f429d08a6c64",
      "tree": "e65a0e3199208d53cf149757174f1e523bc9e0a3",
      "parents": [
        "183a0e52ac3130501c417005f6363eeec62c0afd",
        "f1121d963b51c798ab28c85eeff1eedc9bb2c186"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 20:34:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 20:34:33 2015 +0000"
      },
      "message": "am f1121d96: am 0d84ba3f: Merge \"Fix FLAG_BEACON regression\" into lmp-mr1-dev\n\n* commit \u0027f1121d963b51c798ab28c85eeff1eedc9bb2c186\u0027:\n  Fix FLAG_BEACON regression\n"
    },
    {
      "commit": "0d84ba3fd82038cb721ffae234a99e6751ed7fbe",
      "tree": "6242a784e02b2001232ef67593cd9aabb5606c3b",
      "parents": [
        "a93fd2be99d21629bed504b9b7df035fc2f54562",
        "79ad438ed25c59a37244a48899263bbc4bc92f5d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 20:22:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 29 20:22:58 2015 +0000"
      },
      "message": "Merge \"Fix FLAG_BEACON regression\" into lmp-mr1-dev"
    },
    {
      "commit": "79ad438ed25c59a37244a48899263bbc4bc92f5d",
      "tree": "d54e5f2d9b1fef107e37bf2fe2b87aa44a16d8bb",
      "parents": [
        "64c496c8d51c71605cd34a510da2ecd8180656ec"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 10:49:39 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 10:49:39 2015 -0800"
      },
      "message": "Fix FLAG_BEACON regression\n\nFix regression where FLAG_BEACON is not honored anymore in terms\n of routing and muting behavior\nWhen converting from AudioAttributes to stream types, also look\n at FLAG_BEACON for mapping to STREAM_TTS\n\nBug 19185342\n\nChange-Id: I5871c1b94480ae3da544aef99ea9ab4dff97443d\n"
    },
    {
      "commit": "342d039316563eabae80e6e42cf9b28600255e00",
      "tree": "96d0a9f8eb22c12ef744221d1562ae8d76628bb0",
      "parents": [
        "f26334cf7d60060e0e33b037dd9504c81b2e10eb",
        "6dafb81dc699672f218915fa2895f8ee012203a9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 29 17:22:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 17:22:27 2015 +0000"
      },
      "message": "am 6dafb81d: am 8c403b22: am c84bc78d: Merge \"Audio policy: fix device gain initialization\" into lmp-mr1-dev\n\n* commit \u00276dafb81dc699672f218915fa2895f8ee012203a9\u0027:\n  Audio policy: fix device gain initialization\n"
    },
    {
      "commit": "6dafb81dc699672f218915fa2895f8ee012203a9",
      "tree": "ebf4401bd53fd91460b29eda1919179b75191767",
      "parents": [
        "6a0fbc68e203058e3b7d62e95d46f2415bc3ed95",
        "8c403b2265fdef64ac4ba903e6261edd22d81909"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 29 02:52:17 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 02:52:17 2015 +0000"
      },
      "message": "am 8c403b22: am c84bc78d: Merge \"Audio policy: fix device gain initialization\" into lmp-mr1-dev\n\n* commit \u00278c403b2265fdef64ac4ba903e6261edd22d81909\u0027:\n  Audio policy: fix device gain initialization\n"
    },
    {
      "commit": "1db89b9c2692fd70eb1cc98b7db2f9beed81e66e",
      "tree": "beb7c19359bcc63ef6bbf918bf3b4a6ffe2a3003",
      "parents": [
        "64c496c8d51c71605cd34a510da2ecd8180656ec"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 27 18:21:09 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 27 18:21:09 2015 -0800"
      },
      "message": "Audio policy: fix device gain initialization\n\nFix initilization of default gain configuration for\naudio devices loaded from audio_policy.conf.\n\nInitialization cannot be done in constructor as the possible\ngain configurations are not loaded yet.\n\nBug: 19120566.\nChange-Id: I78f057ecfa1a121365ac3d8f317912a6f1647627\n"
    },
    {
      "commit": "5bedff60b2facaa1ec5b9433647ebf1504f065ca",
      "tree": "d9d22703626906b38ee1f5c571f21f49ce447199",
      "parents": [
        "7790a33241f773d8a99c6f27d3bde36da08d6238"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 16 11:05:32 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 22 13:48:03 2015 -0800"
      },
      "message": "Do not pre-fill OutputTrack buffer for duplicating thread\n\nIt is not necessary to start the downstream MixerThread early,\nrather allow stop() to flush the remaining frames.\n\nChange-Id: Ibcf8e7f5eda09d0f915d50697ff0c24c32fd11c4\n"
    },
    {
      "commit": "7790a33241f773d8a99c6f27d3bde36da08d6238",
      "tree": "a85022f86af269d686fd760c1d50c69f8a32acc0",
      "parents": [
        "3f603dadd7e34891d215cec8ba35ab838e70185a",
        "656d738cab67349f4b5a45473a0c48cf89c68fd0"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 21 01:55:28 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 21 01:55:28 2015 +0000"
      },
      "message": "am 656d738c: am a789e519: am 0c4e56d0: Camera: make sure jpeg buffer size isn\\\u0027t too small\n\n* commit \u0027656d738cab67349f4b5a45473a0c48cf89c68fd0\u0027:\n  Camera: make sure jpeg buffer size isn\u0027t too small\n"
    },
    {
      "commit": "656d738cab67349f4b5a45473a0c48cf89c68fd0",
      "tree": "d5eb6ee4d17b03dc48bb4e881f8c80483e1a6ec2",
      "parents": [
        "1d6aedb3581f1ef2ce9862b1b1d03c9fd3cfff83",
        "a789e51942c7572e0c9f54326d6d9d0ff65d6941"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 20 23:57:20 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 20 23:57:20 2015 +0000"
      },
      "message": "am a789e519: am 0c4e56d0: Camera: make sure jpeg buffer size isn\\\u0027t too small\n\n* commit \u0027a789e51942c7572e0c9f54326d6d9d0ff65d6941\u0027:\n  Camera: make sure jpeg buffer size isn\u0027t too small\n"
    },
    {
      "commit": "3f603dadd7e34891d215cec8ba35ab838e70185a",
      "tree": "b3ac0d9534f7474286d55400cd54c2fb777218a3",
      "parents": [
        "35d86b96d938a5680c8b70a6f985e23b2631dd0e",
        "1d6aedb3581f1ef2ce9862b1b1d03c9fd3cfff83"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 20 23:37:18 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 20 23:37:18 2015 +0000"
      },
      "message": "am 1d6aedb3: am bf2751a5: am 7ccc6b9b: Merge \"fix audio patch leak.\" into lmp-mr1-dev\n\n* commit \u00271d6aedb3581f1ef2ce9862b1b1d03c9fd3cfff83\u0027:\n  fix audio patch leak.\n"
    },
    {
      "commit": "1d6aedb3581f1ef2ce9862b1b1d03c9fd3cfff83",
      "tree": "21cf75806101a627b4dcaa522c18525f9974d5fe",
      "parents": [
        "c10a0a35bfd3c776089403cd2d9a82662189e4a2",
        "bf2751a5ea6a306c2ba51a0658ec10aa889a81fa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 20 23:28:46 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 20 23:28:46 2015 +0000"
      },
      "message": "am bf2751a5: am 7ccc6b9b: Merge \"fix audio patch leak.\" into lmp-mr1-dev\n\n* commit \u0027bf2751a5ea6a306c2ba51a0658ec10aa889a81fa\u0027:\n  fix audio patch leak.\n"
    },
    {
      "commit": "0c4e56d0baaa19fcf17234b38d634b7281e2ae37",
      "tree": "54ee27c5dece90449af6924cc787af655346b201",
      "parents": [
        "7ccc6b9baf2f568a0a8c6e27dcd4195645a6361d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 09 15:21:27 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 20 13:40:53 2015 -0800"
      },
      "message": "Camera: make sure jpeg buffer size isn\u0027t too small\n\nAssuming the jpeg header can take up to 256KB, make sure we always\nallocate enough size for the image data.\n\nBug: 18962703\nChange-Id: I08eb3d198d12f71f3ab7266324e80fe7410bdc89\n"
    },
    {
      "commit": "7ccc6b9baf2f568a0a8c6e27dcd4195645a6361d",
      "tree": "b4d2dfaf0b4fb59655c34d21ca61a890f594f83d",
      "parents": [
        "4d4ea7f7ca04cfe70ecf6f35658389f52ae6d3c1",
        "aa79befb301bc3451a19021b3fc9e9e6a1f231e8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 20 21:09:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 20 21:09:54 2015 +0000"
      },
      "message": "Merge \"fix audio patch leak.\" into lmp-mr1-dev"
    },
    {
      "commit": "dce27d0ebab31e82543bb777ed3eb04955cd18ff",
      "tree": "f3dcc003f0c96b18d74c46547c10ef819e083b07",
      "parents": [
        "2d2bd6af573383bced45e2f610e11193e28fdcdb",
        "fbfc3959f4aac839445edc7075532067fef497c2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 17 01:36:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 17 01:36:52 2015 +0000"
      },
      "message": "Merge \"Update duplicating thread to use float audio\""
    },
    {
      "commit": "2d2bd6af573383bced45e2f610e11193e28fdcdb",
      "tree": "9adcafb234c0c027683f08538322e0fa0fa601aa",
      "parents": [
        "50870c983127f2c9e0a3c04a46ea7c24ad2271cf",
        "c25b84abdd7ff229d0af663fbf3a37bd9512939d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 16 21:17:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 16 21:17:12 2015 +0000"
      },
      "message": "Merge \"Allow duplicating thread to use native mixing audio format\""
    },
    {
      "commit": "aa79befb301bc3451a19021b3fc9e9e6a1f231e8",
      "tree": "d55a9b5ccde8671e9126ced03a963a70891ae1e8",
      "parents": [
        "5f3194c9efeadc200c89d9e2b00a19f1afeac55d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 15 14:33:51 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 15 18:56:26 2015 -0800"
      },
      "message": "fix audio patch leak.\n\nAlways wait for status when executing a create audio patch\ncommand in audio policy service command thread.\nThe returned patch handle must be passed back to audio policy manager\nso that the patch can be modified later.\nFailing to do so causes a leak of patch descriptors in audio flinger.\n\nBug: 19032387.\nChange-Id: I5462d1437fac244d9c5e38f2c7b8e1a4c01d2b75\n"
    },
    {
      "commit": "fbfc3959f4aac839445edc7075532067fef497c2",
      "tree": "75c11d45346280301eb7206d7189881c523fddf3",
      "parents": [
        "c25b84abdd7ff229d0af663fbf3a37bd9512939d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 15 13:33:51 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 15 18:18:27 2015 -0800"
      },
      "message": "Update duplicating thread to use float audio\n\nPreviously device format was used, typically pcm 16 bit.\n\nChange-Id: I70a8b594820e948a2caa299194807ec17348b0e9\n"
    },
    {
      "commit": "c25b84abdd7ff229d0af663fbf3a37bd9512939d",
      "tree": "f6b95e15432dfac6410a1c61bd34e1f8aacdbb3e",
      "parents": [
        "abdb990953ffe94a9dc544aea0bed17ef7d5f484"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 14 19:04:10 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 15 16:57:42 2015 -0800"
      },
      "message": "Allow duplicating thread to use native mixing audio format\n\nUpdate OutputTrack to take variable formats.\nPreviously conversion to AUDIO_FORMAT_PCM_16_BIT was required.\n\nChange-Id: I4a96a60ddd8d8dfe651405a0bcd4f98c89bc1ade\n"
    },
    {
      "commit": "cd7382b7dcb2ba428a51264cf4e1d369884ff161",
      "tree": "7e75c0ab50f4b8637c6a1092bc5f1b3169b04bfc",
      "parents": [
        "277f33be406d01bd3f64b28a5871d7332c372ecf",
        "c09eb2dfef090864e3ab827c12e724424fc8ca01"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 16 00:06:10 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 16 00:06:10 2015 +0000"
      },
      "message": "am c09eb2df: am 65cb339d: am 21291a42: Merge \"fix leak in audio policy effect config parser\" into lmp-mr1-dev\n\n* commit \u0027c09eb2dfef090864e3ab827c12e724424fc8ca01\u0027:\n  fix leak in audio policy effect config parser\n"
    },
    {
      "commit": "c09eb2dfef090864e3ab827c12e724424fc8ca01",
      "tree": "5e133dbdce48e3fd13c9dba5c88b0bd27d50134b",
      "parents": [
        "1509765f2262e4582cdcfdb064417884a3efa04c",
        "65cb339de0f628c82bdd5c68d868b6f3dc83cf04"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 15 23:11:40 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 15 23:11:40 2015 +0000"
      },
      "message": "am 65cb339d: am 21291a42: Merge \"fix leak in audio policy effect config parser\" into lmp-mr1-dev\n\n* commit \u002765cb339de0f628c82bdd5c68d868b6f3dc83cf04\u0027:\n  fix leak in audio policy effect config parser\n"
    }
  ],
  "next": "21291a420e11ccdf23e955c3dc390304230ddce3"
}
