)]}'
{
  "log": [
    {
      "commit": "eb16561336e6445f7edae047998f2459e046cdfe",
      "tree": "c4a00a444fb228f725324b66fbf426a0a00728c3",
      "parents": [
        "98d1217d58b1879eccee445c3510a8c563a61d11"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 09:08:19 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 10:04:43 2017 -0800"
      },
      "message": "liblog: use log/log.h for ALOG macros\n\nTest: compile\nBug: 30465923\nChange-Id: I247151363604714088b6059279702702b4e9f89a\n"
    },
    {
      "commit": "60d02077d86d2d1092443519290101f503aa6f7a",
      "tree": "57992d2bd94784cd765729b806429928ead0d2e7",
      "parents": [
        "36a75eeb15e58726e8cbbfe9687975740133a11b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 29 08:48:48 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 08:25:58 2016 -0800"
      },
      "message": "Replace cutils/log.h with either android/log.h or log/log.h\n\nTest: compile\nBug: 31289077\nChange-Id: I795a76f978d2213737f1fa908da789c543219b75\n"
    },
    {
      "commit": "ee507ef9e5115a923d20f5cf840d128dd49fb00f",
      "tree": "cef4fccf1ff52b8133cee15366661f31ef542f70",
      "parents": [
        "15ac558b0f1873dbe0d9c1e6fed042a349f8b5a4"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Jul 15 11:06:05 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 25 10:21:29 2016 -0700"
      },
      "message": "libeffects: validate channel mask in downmixer configure\n\nValidate channel mask in downmixer configure, this returns\nearly warning to calling module which can fallback to another\ndownmixing module or return error instead of playing improper\ndata.\n\nauthored-by: Dhananjay Kumar \u003cdhakumar@codeaurora.org\u003e\n\nCRs-Fixed: 862105\nChange-Id: Ic19c4913608468d5c5197f65bb5d6a640c9d2d74\n"
    },
    {
      "commit": "0f714a464d2425afe00d6450535e763131b40844",
      "tree": "e949a4874b50e193734fb3541e9011d3a7e54cb6",
      "parents": [
        "3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 19 15:33:57 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 19 18:00:25 2015 -0700"
      },
      "message": "audio effects: fix heap overflow\n\nCheck consistency of effect command reply sizes before\ncopying to reply address.\n\nAlso add null pointer check on reply size.\nAlso remove unused parameter warning.\n\nBug: 21953516.\nChange-Id: I4cf00c12eaed696af28f3b7613f7e36f47a160c4\n"
    },
    {
      "commit": "e541269be94f3a1072932d51537905b120ef4733",
      "tree": "39646def02d7230929eb85189f48b9193b8c23a0",
      "parents": [
        "7c96d53a65085f42ac2b6d416cbc16fd36ed72ff"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 16 11:25:07 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 16 15:05:05 2014 -0700"
      },
      "message": "Use new channel count functions for audio masks\n\nChange-Id: Ia658ab4b6320d19fdb50f123c930918724ff0ef3\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "49f095546d047b52c5070229bbee0c3f27548256",
      "tree": "e8655eaaac3236025d96de19f86ad029aa5ed836",
      "parents": [
        "96b292fd3c76f9af155ee6f7a8559258eeedc6fd",
        "cf79c7a576837d8bccecc80612a1f6f30bb328a8"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu May 08 13:48:00 2014 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu May 08 13:48:00 2014 -0700"
      },
      "message": "resolved conflicts for merge of cf79c7a5 to master\n\nChange-Id: Ic4e75541193f733f477cfa4a2a87cce4c9e64f45\n"
    },
    {
      "commit": "029a64e0327ecc1215a3d17ce50f508edae1c4a6",
      "tree": "4c99a37fb8eb563cd55240cba177edc06a45ac7c",
      "parents": [
        "32fa3c6fab55b075c916f4dad38e42e239bb7813"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 15 09:58:55 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 30 13:49:03 2014 -0700"
      },
      "message": "Define CHANNEL_MASK_* in terms of AUDIO_CHANNEL_OUT_*\n\nand use same suffixes\n\nChange-Id: I90b74ede171ba2550db4a220cfd1ad2e3caefe2d\n"
    },
    {
      "commit": "32fa3c6fab55b075c916f4dad38e42e239bb7813",
      "tree": "afcf4bf640ea8ad973e2e613d4d5fee2e21377d3",
      "parents": [
        "bff804655bcc8e94c48e8da170b9381e9aab7980"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 29 09:01:52 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 30 09:34:02 2014 -0700"
      },
      "message": "Remove AUDIO_CHANNEL_OUT_SURROUND\n\nand corresponding downmix effect\n\nChange-Id: I1576aa373ca7acbb84d7742bacbd9c2da04a7a4c\n"
    },
    {
      "commit": "7cb0e733210c2ce7dd2a7c9d32f6d83c4dab9656",
      "tree": "406ac589b6b1cf7efaef89723fd0b8de5e5e2b91",
      "parents": [
        "cd4eb72edb0575ce1e84fbd3f27bb85bab6110ed"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 18 13:48:25 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 18 13:57:58 2014 -0700"
      },
      "message": "libeffects: 64 bit compile issues\n\nChange-Id: I32dd13d307572fee91150f8e113df78924ca0067\n"
    },
    {
      "commit": "a9b82160a6682438d43709ba5e7a29022ad1af58",
      "tree": "7e6fba930126b50bc2e22845552cf930ad44b926",
      "parents": [
        "395c2fc0c422c9218f39f6ed2040e90b1cc9920a",
        "b302bd5d288be2d3363b80053ca2392560b00b25"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 07 16:04:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 07 16:04:45 2014 +0000"
      },
      "message": "Merge \"LP64 fixes for media/libeffects\""
    },
    {
      "commit": "8fc4d57d41f532b90187b9404a8ac705770d75b4",
      "tree": "6fa63a63d790ed9a8401f60d5473c21ae2f9fc52",
      "parents": [
        "4ee5d2b9d0cdaf936bd5fecd670e5f38da63e4ae",
        "a93c8c9c89ba679cf312c7d082913121bb5543c2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Feb 25 19:36:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 25 19:36:23 2014 +0000"
      },
      "message": "Merge \"Avoid a building error\""
    },
    {
      "commit": "b302bd5d288be2d3363b80053ca2392560b00b25",
      "tree": "7eaf242136ba86c73b7371e47475a2d7c5334847",
      "parents": [
        "80b72e6f4202ce26facbe51b8739814bca198a2c"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Tue Feb 18 11:40:00 2014 +0000"
      },
      "committer": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Thu Feb 20 14:12:49 2014 +0000"
      },
      "message": "LP64 fixes for media/libeffects\n\nChanges include:\n\n[x] In get parameter series of functions, replaced size_t*\n    formal parameter type with uint32_t* where actual parameter\n    passed was uint32_t*.\n\n[x] In set parameter series of functions, changed size_t\n    formal parameter to uint32_t where actual parameter was\n    uint32_t.\n\n[x] Changed the definition of LVM_UINT32 from unsigned\n    long to uint32_t as unsigned long is 64-bit in LP64.\n\n[x] Used other stdint.h types for other LVM_types for\n    consistency.\n\n[x] Use of uintptr_t for the pNextMember of the INST_ALLOC\n    structure, rather than LVM_UINT32, for portablility.\n\n[x] Use of uintptr_t where pointers are used in arithmetic.\n\n[x] Replaced the use of 0xFFFFFFFC with ~3 in places where\n    it was used to clear last two bits.\n\n[x] Removed int casts where cmdSize and *replySize, both\n    uint32_t, were being compared with sizeof().\n\nChange-Id: Ibec0b4d8e9b855f44b1cd853be6df84d13cf4186\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\n"
    },
    {
      "commit": "377b2ec9a2885f9b6405b07ba900a9e3f4349c38",
      "tree": "b938e1d75a1beefae86244f287ca22f4a277740d",
      "parents": [
        "cdda7bf4d3ca9cad6979374a18dd5be79ea83d80"
      ],
      "author": {
        "name": "Kévin PETIT",
        "email": "kevin.petit@arm.com",
        "time": "Mon Feb 03 12:35:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 11:40:06 2014 +0000"
      },
      "message": "Make frameworks/av 64-bit compatible\n\nContains the necessary changes to make frameworks/av build and work\non a 64-bit machine.\n\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n\nChange-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43\n"
    },
    {
      "commit": "7d6fc5ebc8718ebb5bf505d9bda83ab63741a545",
      "tree": "3dff65731f7dcb75e20974287e8008c7048ca86f",
      "parents": [
        "4ef1dc2d5b5f5df93b173b0b4c4719d4484e031d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 24 21:00:32 2014 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jan 27 12:39:29 2014 -0800"
      },
      "message": "frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH\n\nLOCAL_MODULE_PATH doesn\u0027t work for multiarch builds, replace it\nwith LOCAL_MODULE_RELATIVE_PATH.\n\nChange-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e\n"
    },
    {
      "commit": "c9d8ea7f8f9a1ca8ecd266695e3cac423790b2f9",
      "tree": "ba266ce44ccdc60775b8f91e6b33a05b3c207f89",
      "parents": [
        "0219856e5e45c0bdd20f2199297ec92f11f0875f"
      ],
      "author": {
        "name": "synergydev",
        "email": "synergye@codefi.re",
        "time": "Sat Oct 19 22:51:33 2013 -0700"
      },
      "committer": {
        "name": "synergydev",
        "email": "synergye@codefi.re",
        "time": "Sat Oct 19 22:57:43 2013 -0700"
      },
      "message": "libeffects: do not use GNU old-style field designators\n\nNot using a GNU extension improves portability\n\nChange-Id: I4e8a0376c089828ca4fc7f1aaf3914bfd917d4c5\n"
    },
    {
      "commit": "ecba7488c5cceaacef95836b1b476433451e7761",
      "tree": "83245c19c2dda5c557531edb19478056034b5db5",
      "parents": [
        "5544c66ba0aa789a997b376df503a5ffae425dc7"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: If493d87d60d71be664ad75b140c62acadb75b0d0\n"
    },
    {
      "commit": "a93c8c9c89ba679cf312c7d082913121bb5543c2",
      "tree": "c70bb3650465a38237dbbe113c4ba71da410280a",
      "parents": [
        "12834fe289e8173e94f31603fa6d313abe56ad70"
      ],
      "author": {
        "name": "Chih-Wei Huang",
        "email": "cwhuang@linux.org.tw",
        "time": "Thu Jan 10 20:52:57 2013 +0800"
      },
      "committer": {
        "name": "Chih-Wei Huang",
        "email": "cwhuang@android-x86.org",
        "time": "Thu Jan 10 21:04:50 2013 +0800"
      },
      "message": "Avoid a building error\n\n\u0026pDwmModule-\u003econfig may equal to pConfig that triggers\na building error using gcc 4.7:\n\nIn file included from bionic/libc/include/signal.h:33:0,\n                 from bionic/libc/include/sys/select.h:34,\n                 from bionic/libc/include/unistd.h:34,\n                 from system/core/include/cutils/log.h:34,\n                 from frameworks/av/media/libeffects/downmix/EffectDownmix.c:19:\nIn function \u0027memcpy\u0027,\n    inlined from \u0027Downmix_Configure\u0027 at frameworks/av/media/libeffects/downmix/EffectDownmix.c:651:11,\n    inlined from \u0027Downmix_Init\u0027 at frameworks/av/media/libeffects/downmix/EffectDownmix.c:605:9,\n    inlined from \u0027DownmixLib_Create\u0027 at frameworks/av/media/libeffects/downmix/EffectDownmix.c:233:9:\nbionic/libc/include/string.h:114:31: error: call to \u0027__memcpy_overlap_error\u0027 declared with attribute error: memcpy called with overlapping regions\n\nChange-Id: Ia6c4aab72e38d00d8d526f3b56fc03b6530b4e44\n"
    },
    {
      "commit": "7f16b197c76fbae9399242f055a7ee16dcd0fd6d",
      "tree": "c3ef4aac9bb7cedd1a694a50d4f9be0ec83cc817",
      "parents": [
        "6035cb5a61a7606cc8e4ecddec32b2eb37a9fd56"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 25 16:05:57 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 25 16:05:57 2012 -0700"
      },
      "message": "Only export the symbols that need to be\n\nThe effects libraries were exporting many more symbols than needed.\nThis reduces the exported symbols to just the needed ones (basically\njust \"AELI\"), which happens to also save about 28KB.\n\nChange-Id: I115077e52e8dc845282e6f62a522908d26dd72d6\n"
    },
    {
      "commit": "6035cb5a61a7606cc8e4ecddec32b2eb37a9fd56",
      "tree": "4adad231ee22989258c1d6c6c95ea8c218a9807d",
      "parents": [
        "bd37975395b6517e155f6195d2300872bc26ee70"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 25 11:02:50 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 25 12:16:59 2012 -0700"
      },
      "message": "Switch to new fx library API\n\nChange-Id: I6603aef5e3821a8f911e3f33ef8565d04bd1e2e5\n"
    },
    {
      "commit": "3d51d5cb53cc630709a0ba78d0e60501a675f2d5",
      "tree": "c01dc8011b4e0061343c8b60b0da3508c63ae822",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 18:10:35 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 15:18:29 2012 -0700"
      },
      "message": "Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\n\nChange-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26\nrelated-to-bug: 6647465\n"
    },
    {
      "commit": "aea2715e65994e665a3732551880419ba1cecc0d",
      "tree": "062b9c82f8d9ce4303467e46981c40d3b1fc1d8e",
      "parents": [
        "e737cda649acbfa43fc1b74612a83f2fac9aa449"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 24 10:11:07 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 24 12:12:43 2012 -0700"
      },
      "message": "Prevent occurences of clipping in loud downmixed scenes\n\nThe downmixer effect is a mixer, wich, like the platform mixer,\n  hard-clips. To prevent clipping during loud scenes across multiple\n  chanels, apply a fixed attenuation on the result of the downmix.\n  Note that this attenuation is lower the theoretical required\n  attenuation (except for quad and surround) but is adequate for\n  most content.\n\nBug 4280902\nChange-Id: Iec520e9f1367284d6102633f532429361717692d\n"
    },
    {
      "commit": "6895deeecc8797e6f5b28e7d07ec6bc499355c0c",
      "tree": "9dc5dcdccac3993d0604b69ec08ad2ce75015664",
      "parents": [
        "5d3d12bf58da5b48b1edb7c20b5d1edec0773f75"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 15 15:51:16 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 16 12:28:45 2012 -0700"
      },
      "message": "Stereo downmixer supports generic configurations. Fix 7.1 downmix\n\nAdded a generic downmixer to stereo function to handle the\n  multichannel configurations not supported by the dedicated\n  downmix functions.\n  It first verifies the mask is supported, and then derives\n  channel indices for the downmix.\nAdded support for forcing the generic downmixer to be always\n  used instead of the format-specific functions (define\n  DOWNMIX_ALWAYS_USE_GENERIC_DOWNMIXER to force it).\n\nFixed 7.1 downmix function where handling of accumulate vs\n  overwrite was inversed.\n\nBug 4280902\n\nChange-Id: I8259b32c4e90f76ef4dcd803592fc71df4ae90c5\n"
    },
    {
      "commit": "db46b48d24e03f5bcb8de6d0ff852ec4153401e7",
      "tree": "4d526d6d7e9b7fd92b46f3a8d48c2adfe7f54a63",
      "parents": [
        "36513e357dfc6c53898d4b4f768c9fd4822f4653"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 23 11:29:26 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 23 14:52:34 2012 -0700"
      },
      "message": "Downmix support for 5.1 and quad with side channels\n\nIn DOWNMIX_TYPE_FOLD mode, add support for variants of quad and\n 5.1 channel masks where the \"side\" channels are used instead of\n the \"back\" channels. These variants have the same channel order,\n so they can share the same downmix function.\n\nChange-Id: I5f9cb7cb120927189de680c2a968d6136dc1fc43\n"
    },
    {
      "commit": "f28c8792f64e10c3c477d86bf4804a8566ff524e",
      "tree": "6699a532aeae112ce0be9dcf1bfa3f05493481ab",
      "parents": [
        "9bd23229fdec1657398abc682ccccfce1c95f8aa"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 18 18:38:42 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 18 18:38:42 2012 -0700"
      },
      "message": "Turn off debug in downmix effect\n\nChange-Id: I4eda43166d23b3297cf769056a6db720401799aa\n"
    },
    {
      "commit": "7d5b26230a179cd7bcc01f6578cd80d8c15a92a5",
      "tree": "563086c1185e0e54770d8c60c8eec1aefdddb89f",
      "parents": [
        "4b75a9c8b93a90749bc5d22912ad0d96c12f4ecf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 04 18:54:36 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 09 11:27:14 2012 -0700"
      },
      "message": "AudioMixer uses downmix effect for multichannel content\n\nIn the AudioMixer structure associated with each track, add an object\n  that acts as the buffer provider when the track has more than two\n  channels of input in the mixer. This object, DownmixerBufferProvider,\n  gets audio from the actual buffer provider of the track, and applies\n  a downmix effect on it.\nThe downmix effect is created and configured when the track gets\n  created in AudioFlinger, which causes AudioMixer::getTrackName()\n  to be called with the new track\u0027s channel mask. It is released\n  when the track is disabled in the mixer.\n\nChange-Id: I05281ed5f61bef663a8af7ca7d5ceac3517c82db\n"
    },
    {
      "commit": "33b383948e8f270bff30378476f00dce289004eb",
      "tree": "a42eeb76674395b36611da694166ddd4144a0fa8",
      "parents": [
        "dfaf549e3e310bc22444f4404b19f4907b24c286"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 13 15:59:35 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 14 16:44:34 2012 -0700"
      },
      "message": "Remove dependency on audio_* location\n\nChange-Id: I4bc66115fcb9ba22b057bd72db3f561dcb18a0d8\n"
    },
    {
      "commit": "04c1e531b5913c09aa9b2e59e2b8ed9b4d8a4cba",
      "tree": "643a1bd10a8e4d0e9a208a3987d41459d6db49d1",
      "parents": [
        "eb7de4504bdb3a0182021ca6f022cccca01dbf1e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 02 10:59:56 2012 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Mar 07 10:17:19 2012 -0800"
      },
      "message": "Effect for multichannel PCM downmix to stereo\n\nFirst pass at implementing an audio effect whose role is to\n downmix multichannel PCM buffers to stereo.\nThe effect is not handling volume changes.\nThe effect code here handles quad, 4.0, 5.1 and 7.1 input configurations,\n to optimize the most commom configurations, and does not yet handle\n generic multichanel configurations.\n\nChange-Id: I74d04bd961348f3f0e4ae7714b70e620808a0829\n"
    }
  ]
}
