)]}'
{
  "log": [
    {
      "commit": "8eacd8090e16c022dcbb11850cff83f984fe2357",
      "tree": "8efbb8305163d4956d8e096e769801a11e6ba2b8",
      "parents": [
        "c17c28aac0fa31be3fc4068da5e2f95731e7c361",
        "fe1e1449cadff4f946c33403aecc73b4b4a11e56"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 03 17:35:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 17:35:29 2017 +0000"
      },
      "message": "Merge \"Implemented typed, thread-specific logging system. Currently supported types are:  * Strings  * Integers  * Floats  * Timestamps  * Process IDs\""
    },
    {
      "commit": "fe1e1449cadff4f946c33403aecc73b4b4a11e56",
      "tree": "500bb66d15abbbd9b48dce430480cc35d4e6245b",
      "parents": [
        "5a3b54df3014ece49eb1f339e5598c01c6126251"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Mon Jan 30 12:02:03 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 02 16:45:04 2017 -0800"
      },
      "message": "Implemented typed, thread-specific logging system. Currently supported types are:\n * Strings\n * Integers\n * Floats\n * Timestamps\n * Process IDs\n\nAdded printf-like formatted logging using mentioned types.\n\nTest: included in this CL\nBug: 29421410\nChange-Id: Ie07b78d8d39c32fcc8a122ffa9b1b7082800b990\n"
    },
    {
      "commit": "32ba98626834cb77e5d14b3e419385f0e32ec0bc",
      "tree": "45f64b266d374bf82354dd2c60873e930988c329",
      "parents": [
        "a1ee4c28facd2e4ae0eb288178c8988bf1806148"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Jan 31 15:55:00 2017 -0800"
      },
      "committer": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Feb 01 00:44:06 2017 +0000"
      },
      "message": "Fix warning: Dereference of null pointer.\n\nBug: None\nTest: The warning is gone.\nChange-Id: I4c08397c0ee18c7714eb9b1029844d427259907b\n"
    },
    {
      "commit": "c778e59330a01a9aee6ad354c1e53462df4c88af",
      "tree": "1a1e994236e73f2088f84b710c0d5a189f56f177",
      "parents": [
        "c0461f5b18eb6d5516804810f315e6c23879a09d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 25 10:35:30 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 25 10:35:30 2017 -0800"
      },
      "message": "audioflinger: Fix crash in EffectChain::dump\n\nCheck for null buffer in dumpInOutBuffer\n\nBug: 34691158\nChange-Id: I5d11fcb1ce0170da7a742fdbe42a7eaeba4370fe\nTest: try bug repro steps\n"
    },
    {
      "commit": "0688880d2862e6cddfea1fceca24e8a081a6be60",
      "tree": "0ddffd4d8d70f0fad63e6c1738fdd55d86b3db08",
      "parents": [
        "dffb51f4e35fe93215b025bdf4216f3b411c734b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 19 12:47:55 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 19 14:06:37 2017 -0800"
      },
      "message": "audioflinger and hal: Compatibility fixes for Treble\n\n 1. Treat both reply size being 0 and reply buffer being NULL\n    as an indication that the reply isn\u0027t needed.\n\n 2. Synchronize both input and output effect chain buffers,\n    and avoid excessive copies when the input buffer is the same as\n    the output buffer.\n\n 3. Improve effect chain debug dump by showing both\n    \"external\" and \"allocated\" pointers for effect audio data buffers.\n\nBug: 34368451\nChange-Id: I56aba6908408b5fce3f15c8d29138555101e8720\nTest: volume controls works when both Bass Boost and EQ effects enabled\n"
    },
    {
      "commit": "9bb03b4e10bfd26247eeb1865e40bb0645489816",
      "tree": "28095b6ca75df060542ad33b5f69b56face1963c",
      "parents": [
        "2872c7ab71fb554ee14d4e8b65677f9c7a97f966",
        "2247f7b84bf0ce3cc9c909ef987eedb086e3b4e8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 14 06:39:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 14 06:39:23 2017 +0000"
      },
      "message": "Merge \"audioflinger: Fix effect creation handling\""
    },
    {
      "commit": "2247f7b84bf0ce3cc9c909ef987eedb086e3b4e8",
      "tree": "3045baaee4d5fb8bebee134017d46d1a479f8310",
      "parents": [
        "38267b773f2cdec4d684b12fde73179bcc66e0c7"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jan 13 11:52:54 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jan 13 20:10:31 2017 +0000"
      },
      "message": "audioflinger: Fix effect creation handling\n\nThe code flow was incorrect for sure. The \u0027if\u0027 branch is chosen\nif \u0027effect \u003d\u003d 0\u0027, and \u0027effectRegistered\u0027 is set to \u0027true\u0027 before\nthe effect is even created.\n\nTest: audioflinger doesn\u0027t crash if effect failed to get created\nChange-Id: I00d5f28e8b96acd765867e212c5b8193e21f9b4a\n"
    },
    {
      "commit": "8981605d43e24c46d395acb5f145b99589d45917",
      "tree": "8bb7ee0e15081201b70730bbaafed49b47d211dc",
      "parents": [
        "d7c5ec857930496bb8a1045dc8b87b2fdd99899c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 11 17:08:23 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 11 17:19:37 2017 -0800"
      },
      "message": "AudioFlinger: Move RecordBufferConverter to libaudioprocessing\n\nTest: Recording loopback\nBug: 31015569\nChange-Id: I7897d959f36ac7424544e35f47576c99a442dd54\n"
    },
    {
      "commit": "068561c8e84569d51df2adbbb53b56fdfd09c06b",
      "tree": "67e6c9c383b4667adc502b0ed6928a672a6a5b6d",
      "parents": [
        "ee454fcb25bff0f9c5d3455775a4cb66429e875e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 03 17:09:32 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 10 17:06:46 2017 -0800"
      },
      "message": "AudioFlinger: Split off audio processing library\n\nTest: native AudioResampler test, general playback test\nBug: 31015569\nChange-Id: Ifb248f4402a583438d756c014dcd7a4577aef713\n"
    },
    {
      "commit": "ee454fcb25bff0f9c5d3455775a4cb66429e875e",
      "tree": "c3951ebbde22c8c3e33712ccc2241f01f4647ca3",
      "parents": [
        "b554bff208ec1af8b6a8cfd78a86103c8dd46089",
        "022b9953153bdb1984f0abb17d21ef8c1826ad49"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Jan 10 23:22:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 10 23:22:50 2017 +0000"
      },
      "message": "Merge \"Re-implement HIDL effect processing using FMQ and IMemory\""
    },
    {
      "commit": "ad880540d13db9e39c94496fd9bc89dfbfd1e1f5",
      "tree": "e987c9baef0e830ebb6a2f7f1252b5d84d79210e",
      "parents": [
        "b3962d2405b279abde234e16e5b3bff3a4a5cab5",
        "9033512273129383c8cc78beee61f17b50ffff49"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 21:28:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 10 21:28:47 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 06d8feefec am: 71bf335ffa am: 8790fb2613\nam: 9033512273\n\nChange-Id: I67837417d7c8fbc2cc5239f903a0cdf3b107558b\n"
    },
    {
      "commit": "9033512273129383c8cc78beee61f17b50ffff49",
      "tree": "494a1c0f1d0d62b22df4a1b14bd6851b4115f785",
      "parents": [
        "e4f2656ff9310954ee30f55d3a3e8de4f6fd5080",
        "8790fb2613b493ab5ac3470deb522f79415eb6fe"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 21:24:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 10 21:24:16 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 06d8feefec am: 71bf335ffa\nam: 8790fb2613\n\nChange-Id: I8ccebdc05c7f280a101af02032d41413c198ef39\n"
    },
    {
      "commit": "8790fb2613b493ab5ac3470deb522f79415eb6fe",
      "tree": "f41fb9e04b7b48113bf21ba700c409c5e39ac9b4",
      "parents": [
        "3e383dc9cd672acc970fa726b613d89ccfb8f7d8",
        "71bf335ffa564aff06dc34a0fc5d24aadfcd2b6b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 21:19:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 10 21:19:19 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 06d8feefec\nam: 71bf335ffa\n\nChange-Id: Id07d468c8e95af39e189f53919a0ac6aabc9604c\n"
    },
    {
      "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": "022b9953153bdb1984f0abb17d21ef8c1826ad49",
      "tree": "aff19a7663d75cbb16bc003424bacb6f97b738cd",
      "parents": [
        "e61f9e57e61cbf4d86d6385dd3cddb41e245f749"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 04 16:36:51 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jan 09 18:18:18 2017 -0800"
      },
      "message": "Re-implement HIDL effect processing using FMQ and IMemory\n\nResult: no hwbinder calls due music processing.\n\nTest: make, use Play Music with effects, check traces\nBug: 30222631\nChange-Id: I06d0e94e603688874b31824427f3b0878b5f7c8e\n"
    },
    {
      "commit": "96966995da4418326a01dd53719c8355a0db9415",
      "tree": "6c3fead7eb49fceaa94d4ee93ecd9b466b095adf",
      "parents": [
        "10eb0c33a090fa72148aac136dc5e54789461e3e",
        "b20b027d86c5ae7b84e88925bc0f1ee4f7487445"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 04:16:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 07 04:16:05 2017 +0000"
      },
      "message": "Merge \"Add SSE optimization of FIR float filter\" am: 5783c0a053 am: 440279f709 am: 61028e78a9\nam: b20b027d86\n\nChange-Id: Ibde0e3f33a88431a009b7f0550a8fd12c346037e\n"
    },
    {
      "commit": "b20b027d86c5ae7b84e88925bc0f1ee4f7487445",
      "tree": "dc6f2ae8b43d30aee8bd3d3430f3d09e5ddc476e",
      "parents": [
        "3c1d987a05dd3dcf3554a2e309418524282e9a3c",
        "61028e78a9c0dae060e4331f16d31eb8cc4e8dbe"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 04:12:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 07 04:12:04 2017 +0000"
      },
      "message": "Merge \"Add SSE optimization of FIR float filter\" am: 5783c0a053 am: 440279f709\nam: 61028e78a9\n\nChange-Id: I562825a1a689bcbc4cbe0ef5f7ebf281985b1a13\n"
    },
    {
      "commit": "61028e78a9c0dae060e4331f16d31eb8cc4e8dbe",
      "tree": "b62b634ed0784ee3b13b62d343a5559ef3198694",
      "parents": [
        "34df2b45c135014db19f75770227d5f8adf85550",
        "440279f709cf88eb91a758b7a6831ae05ce68ff8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 04:07:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 07 04:07:34 2017 +0000"
      },
      "message": "Merge \"Add SSE optimization of FIR float filter\" am: 5783c0a053\nam: 440279f709\n\nChange-Id: I8d994318bf3e4c143a3a308ab98c3b6f9aed33e0\n"
    },
    {
      "commit": "5783c0a053191a75e8cd32b1e048b16f6f3021f4",
      "tree": "9ef71d4ab0f0434e6b23d6eb5a512c8ccfb6a0e9",
      "parents": [
        "0b4540f8678286079b907518912818ab7783f2ba",
        "841920db8206cc6428ab460e5fa5b7a50edd06d0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 03:57:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 07 03:57:08 2017 +0000"
      },
      "message": "Merge \"Add SSE optimization of FIR float filter\""
    },
    {
      "commit": "10eb0c33a090fa72148aac136dc5e54789461e3e",
      "tree": "a54010cd5076a4f749ac54169539c1a090d1e0ba",
      "parents": [
        "c856cf0d72e5abb0c9db5fff46b8e4ebe6d04ef6",
        "adc5d9c58f32ed66219202513078c28398836d17"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 03:14:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 03:14:19 2017 +0000"
      },
      "message": "Merge \"AudioResampler: Add mono stopband tests\""
    },
    {
      "commit": "c856cf0d72e5abb0c9db5fff46b8e4ebe6d04ef6",
      "tree": "4f60f36eb6c075a3ae70dae4a6658b9d4e3c8a56",
      "parents": [
        "22e20cfa42647a041ab1299c9314e145fcb7bf56",
        "9145202c61433682ba26aeb283c87d774f41032a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 03:13:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 03:13:41 2017 +0000"
      },
      "message": "Merge \"AudioResampler: Workaround for Clang assembly bug\""
    },
    {
      "commit": "22e20cfa42647a041ab1299c9314e145fcb7bf56",
      "tree": "ec40d60cd9145460ee65c59ae7e32af5bc255516",
      "parents": [
        "30f1d9f6262280b3e5269d53b1d05ed699325c06",
        "51157baa6c8b142ec2c723ffd0cf8dc53565ca11"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 03:13:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 03:13:21 2017 +0000"
      },
      "message": "Merge \"AudioResampler: Fix intrinsic integer mode for 64b\""
    },
    {
      "commit": "30f1d9f6262280b3e5269d53b1d05ed699325c06",
      "tree": "ecf5afaf0473b14a3790b258b6c6c2490e02005f",
      "parents": [
        "5e3030fd4ef828cc7254e96030f38ad64f162151",
        "ccbba6e66e49eddf9942c0bc710f12bec983e134"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 02:28:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 02:28:10 2017 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix resampler tests\""
    },
    {
      "commit": "adc5d9c58f32ed66219202513078c28398836d17",
      "tree": "74079ba6cb103aacb51f6fe25e9dd31e49329ce5",
      "parents": [
        "9145202c61433682ba26aeb283c87d774f41032a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 05 17:26:08 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 06 16:37:55 2017 -0800"
      },
      "message": "AudioResampler: Add mono stopband tests\n\nTest: Native audioresampler test on Pixel XL\nChange-Id: I4a36df1ca0e6b5bfb3b352f4bd16ed7697448031\n"
    },
    {
      "commit": "9145202c61433682ba26aeb283c87d774f41032a",
      "tree": "2a15888e8dbc7e370f2bab33847cafeb0e7dd7f0",
      "parents": [
        "51157baa6c8b142ec2c723ffd0cf8dc53565ca11"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 05 17:11:19 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 06 16:37:42 2017 -0800"
      },
      "message": "AudioResampler: Workaround for Clang assembly bug\n\nUsed to work on M with gcc.\n\nTest: Native audioresampler tests on Pixel XL disabling NEON\nBug: 34110890\nChange-Id: Ibaaaf9ed833a37a9017a3217d31cb5ced6fa2c82\n"
    },
    {
      "commit": "51157baa6c8b142ec2c723ffd0cf8dc53565ca11",
      "tree": "0b2528227950da91bd31d5ab7d4e994b793b7565",
      "parents": [
        "ccbba6e66e49eddf9942c0bc710f12bec983e134"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 05 16:59:20 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 06 16:37:29 2017 -0800"
      },
      "message": "AudioResampler: Fix intrinsic integer mode for 64b\n\nFor legacy compatibility in 64 bit resampling mode (doubly\nunlikely to be used, but we should still fix it).\n\nTest: Native audioresampler tests on Pixel XL\nBug: 27174404\nChange-Id: Ia65a0c6aa4255f0fb62f16d05a225ded58373f8e\n"
    },
    {
      "commit": "ccbba6e66e49eddf9942c0bc710f12bec983e134",
      "tree": "210585fb058c169bde8216c157a6226b1f8afb00",
      "parents": [
        "36867767ba86244b0d942255b9d241b092151309"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 05 16:43:35 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 06 16:34:13 2017 -0800"
      },
      "message": "AudioFlinger: Fix resampler tests\n\nTest: Run resampler tests on Pixel XL\nBug: 34113617\nChange-Id: Idee23b90bd1a353f841beab95c74a7b0ddb13783\n"
    },
    {
      "commit": "5e3030fd4ef828cc7254e96030f38ad64f162151",
      "tree": "5145869e0dac4277524eea0e904159bf0d954668",
      "parents": [
        "f0b3e3be1ead1cb40b50e3dc048947220acb62a5",
        "535e161e2e404dffb8389dd331be0132704b6d82"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 06 23:50:50 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 06 23:50:51 2017 +0000"
      },
      "message": "Merge \"media.log: re-implement NBLog using audio_utils_fifo\""
    },
    {
      "commit": "e1c4b5d7a94c21b8ce0c5707b4af84de596fbb79",
      "tree": "8c448787f6c4f7bfe7647cc32601350247d4066a",
      "parents": [
        "2b934d36939c571a47cc972670176bc0356c54be"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 22 09:22:45 2016 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 04 20:50:54 2017 -0800"
      },
      "message": "Re-implement HIDL stream read and write using FMQ\n\nResult: no hwbinder calls due read / write session.\n\nTest: make, perform Loopback RTT, check traces\nBug: 30222631\n\nChange-Id: I4a8792525ec374111302cfd5c0a2e41f9f4cc418\n"
    },
    {
      "commit": "d01b0f18491c355d808a57cb272404480e69618f",
      "tree": "f76d375fda0baa041dedad60a7cbabdc562f3ede",
      "parents": [
        "36867767ba86244b0d942255b9d241b092151309"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 07 16:10:30 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 03 14:13:02 2017 -0800"
      },
      "message": "AudioFlinger: update to use uid_t\n\nTest: Power manager shows correct uids for audio\nBug: 32713790\nChange-Id: I60134f60631ea00886efc912ba298443aadd3c00\n"
    },
    {
      "commit": "535e161e2e404dffb8389dd331be0132704b6d82",
      "tree": "61afd43df445dbf8329bd248493770ee506b5814",
      "parents": [
        "af86dcee9d97e02e9069548684ef8c9db5190ff9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 05 12:19:36 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Dec 29 11:12:19 2016 -0800"
      },
      "message": "media.log: re-implement NBLog using audio_utils_fifo\n\nNBLog previously has its own shared memory circular buffer code.\nNow NBLog operates on top of the circular buffer code in audio_utils.\n\nTest: media.log still works\nChange-Id: Ib3026d2a96e6c0b433603e8baf19164ad97a1e1f\n"
    },
    {
      "commit": "0ce91633d8a4f5dcb3706a7734c02ddb5099eefd",
      "tree": "c0a9e958f38ded2ed3f15609f860204ee0916b32",
      "parents": [
        "32a5f5d53f9fe2ba584d2ecdf3edd487fb4146a7"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 27 10:50:15 2016 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 27 10:50:15 2016 -0800"
      },
      "message": "audioflinger: Fix deletion of input buffer in EffectChain\n\nmInBuffer, when it is owned by EffectChain, comes from\nAudioFlinger::PlaybackThread::addEffectChain_l where it is\nallocated using \"new[]\", and thus needs to be deleted\nusing \"delete[]\".\n\nChange-Id: Ib16bab59f9e00627f8ef52f7232ebdd74a6c9a74\nTest: make\n"
    },
    {
      "commit": "32a5f5d53f9fe2ba584d2ecdf3edd487fb4146a7",
      "tree": "49e0e3a1b8302a9f7282b6bcab3c32ea3808ec23",
      "parents": [
        "105928c9d30ed4c697cc4cdd9e68d8d47a695133",
        "4532a36bf509d822a77cbc1b7837f9f1158c7796"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 13:47:40 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 13:48:15 2016 -0800"
      },
      "message": "resolve merge conflicts of 4532a36 to master\n\nTest: build\nChange-Id: I9b93c4a703c0ee16116be2bea0e6df0606d29363\n"
    },
    {
      "commit": "4532a36bf509d822a77cbc1b7837f9f1158c7796",
      "tree": "8a66cebd69bafd8914cfe56d2d41ccc892ca94fa",
      "parents": [
        "6bc76c8868b49d9f58cc49e1be3d99ae3217870d",
        "1121dfb5f30a04393ddce02fe7808589fa9e3e25"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 19:34:02 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 22 19:34:02 2016 +0000"
      },
      "message": "Merge \"Replace cutils/log.h with either android/log.h or log/log.h\" am: a05da2eea4 am: 9e97dc7832\nam: 1121dfb5f3\n\nChange-Id: Ie8bea1c228c602fef54012228ed714e8053d8fa6\n"
    },
    {
      "commit": "1121dfb5f30a04393ddce02fe7808589fa9e3e25",
      "tree": "4f0e9eb6547b0b16b0272cab044766162bb6a812",
      "parents": [
        "d76a98d5f4997868da1832ed239f67c9ae150ace",
        "9e97dc7832949a67dbae4e28d2ea261accd571b4"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 19:24:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 22 19:24:18 2016 +0000"
      },
      "message": "Merge \"Replace cutils/log.h with either android/log.h or log/log.h\" am: a05da2eea4\nam: 9e97dc7832\n\nChange-Id: I414954c96ad8b803a0401d416887c9ce167db210\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": "f28bcf5c057dd9738a09f3cb367cf0b44087135d",
      "tree": "309a55dc542ab5bf6caecbb78bf4e99809a3f1a1",
      "parents": [
        "5b4051afc26367d7accd06580c5135c8295759f9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 20 12:52:39 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 21 17:41:16 2016 -0800"
      },
      "message": "AudioFlinger: Use property for local log lines\n\ndumpsys lines can be increased up to 256 (kLogSize) by\n\nadb shell setprop persist.audio.locallog.lines 256\n\nTest: Run piano app and check audioflinger dumpsys\nBug: 30572472\nChange-Id: Ie27812b15732432856452e4c46d81abf860aaee2\n"
    },
    {
      "commit": "5b4051afc26367d7accd06580c5135c8295759f9",
      "tree": "7570bfc424d02beb1ac90b4f1e2afba02c23d222",
      "parents": [
        "1570e5805254f638ccf5bb5c29870a9c8e7a7db3",
        "dae27707fc7d8370eb200d25d1a7c6dd7ad5e201"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 20 00:35:47 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 20 00:35:47 2016 +0000"
      },
      "message": "Merge \"AudioFlinger: Associate audio time with client uid\""
    },
    {
      "commit": "8d8125714f07598c8557fcdf0f2540d39c07cb00",
      "tree": "a582b8142e69a77ca975018c5c0268436f84f2a4",
      "parents": [
        "1b5516348b1123a4defc01176f1629b5f64098e0",
        "6e5dc44277dbe613b32bf634193c4b0dd7aea511"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Dec 17 00:15:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 17 00:15:04 2016 +0000"
      },
      "message": "DO NOT MERGE - audioflinger: fix recursive mutex lock in EffectHandle. am: 31a4598a19 am: bc9bdb3b3e\nam: 6e5dc44277\n\nChange-Id: If35caac5a9880137dcb2efbf34ba71f1d21ecb74\n"
    },
    {
      "commit": "6e5dc44277dbe613b32bf634193c4b0dd7aea511",
      "tree": "69a0241b0f3c8b803bae7d16a008ad264fa2c791",
      "parents": [
        "8f9439a3589c50eb1f66e153dd1b95ef2bd8f62c",
        "bc9bdb3b3e67490cf2f816438306decc0783aa24"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Dec 17 00:07:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 17 00:07:34 2016 +0000"
      },
      "message": "DO NOT MERGE - audioflinger: fix recursive mutex lock in EffectHandle. am: 31a4598a19\nam: bc9bdb3b3e\n\nChange-Id: I30ce59dfb1438b2d09b16db96936e03ae01d83d8\n"
    },
    {
      "commit": "e2bc75d146276c3cfe2b349073cf46f7706fa38d",
      "tree": "a987d687f9358f14b330c2402f3c40ffcd59ba9c",
      "parents": [
        "6a308b02f138e358fb239ee2df5d54dd988f34fd",
        "1ffc585aaaa236806bc0464566ea51189ad2d36e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 16 20:45:22 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 20:45:23 2016 +0000"
      },
      "message": "Merge \"audioflinger: fix recursive mutex lock in EffectHandle.\""
    },
    {
      "commit": "6a308b02f138e358fb239ee2df5d54dd988f34fd",
      "tree": "730e19d7ae133e2086c37dcec42d0b88e77ba01b",
      "parents": [
        "0a2ea58394190408a3d532bfcc242ba64ca71538",
        "20b9ef0b55c9150ae11057ab997ae61be2d496ef"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 16 17:12:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 17:12:23 2016 +0000"
      },
      "message": "Merge \"Add unique audio port IDs to AudioTrack and AudioRecord\""
    },
    {
      "commit": "31a4598a1908b3ccac7ddb33c511ce66840aa911",
      "tree": "32c59ae8474727beb681f6bb8710ec60a7d0c92b",
      "parents": [
        "b378b73dd7480b584340b8028802c9ca2d625123"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 15 14:46:09 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 15 16:36:33 2016 -0800"
      },
      "message": "DO NOT MERGE - audioflinger: fix recursive mutex lock in EffectHandle.\n\nBug: 33661708\nBug: 32707507\nBug: 32095713\n\nTest: run CTS AudioEffectTest#test5_0Command, Custom binder test\n\nChange-Id: I03f674f126c191143bd8bdfe236f793e975826a5\n"
    },
    {
      "commit": "1ffc585aaaa236806bc0464566ea51189ad2d36e",
      "tree": "d2635c92c15cfefad96eb44cdf5e2f2aac185464",
      "parents": [
        "dcc65c73953d885d8d7433da2a8153f6d3c494a1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 15 14:46:09 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 15 15:04:27 2016 -0800"
      },
      "message": "audioflinger: fix recursive mutex lock in EffectHandle.\n\nBug: 33661708\nBug: 32707507\nBug: 32095713\n\nTest: run CTS AudioEffectTest#test5_0Command, Custom binder test\n\nChange-Id: I03f674f126c191143bd8bdfe236f793e975826a5\n"
    },
    {
      "commit": "7f208022668b5f77fecaeff7a655c90f41712af6",
      "tree": "b1ee70858cac67b8512f6bdbd170eb9b8c6565df",
      "parents": [
        "6d91c4fc369f8c144c76d879489e84984325859f",
        "72db998b4f41e795420055cda362847d5c5f8c92"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 15 18:03:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 15 18:03:45 2016 +0000"
      },
      "message": "DO NOT MERGE - improve audio effect framwework thread safety am: b378b73dd7 am: 993c09b27b\nam: 72db998b4f\n\nChange-Id: I0d46e03a152fa697a329e80d5976e55237493915\n"
    },
    {
      "commit": "72db998b4f41e795420055cda362847d5c5f8c92",
      "tree": "83e824d5f21d33051a683256f949d1f4c1b076e6",
      "parents": [
        "56d69ea84fb6c75cd5e855f067f90cae5a085d27",
        "993c09b27bc5b2b9f93b29fac8e212a196a52c67"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 15 17:55:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 15 17:55:44 2016 +0000"
      },
      "message": "DO NOT MERGE - improve audio effect framwework thread safety am: b378b73dd7\nam: 993c09b27b\n\nChange-Id: Ib46c5c88aa112e819fe320857b2136f14f84db1a\n"
    },
    {
      "commit": "dae27707fc7d8370eb200d25d1a7c6dd7ad5e201",
      "tree": "0dd0ed540d7d58a7d19e83ee9ff648d57f218df6",
      "parents": [
        "07f49573613aee5a8e661f74a324db371ecc8551"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Oct 31 14:01:16 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 14 17:52:54 2016 -0800"
      },
      "message": "AudioFlinger: Associate audio time with client uid\n\nGroup active track operations for add and remove together.\nPlaybackThread now uses strong pointer for active tracks.\n\nTest: Play Music, Youtube, Batterystats, CTS AudioTrack\nBug: 32361950\nChange-Id: I101df081dd8d090560a83c44c2fa9ffcbf39c84d\n"
    },
    {
      "commit": "20b9ef0b55c9150ae11057ab997ae61be2d496ef",
      "tree": "21bd57d748dd47600b1e62bfb18d4acb08e15438",
      "parents": [
        "8526d86ab12284135ed4ca27aeb816371c10c0e6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 11:03:16 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 12 12:29:41 2016 -0800"
      },
      "message": "Add unique audio port IDs to AudioTrack and AudioRecord\n\nThis will allow to track activity at the track level instead of\nat audio session level as only possible with current implementation.\n\nAudioTracks and AudioRecords will receive a unique audio port ID the\nfirst time they register to audio policy with\ngetOutputForAttr()/getInputForAttr() and keep this ID for their\nlifetime.\n\nThis CL is the first partial change and just updates the\naudio policy and audio flinger APIs used at track creation time.\n\nTest: basic regression test of audio playback and capture use cases\n\nChange-Id: I8d612e67738e120494f61e3f7c60bfd0b2c6a329\n"
    },
    {
      "commit": "b378b73dd7480b584340b8028802c9ca2d625123",
      "tree": "00439baacf771d5439c6ec1747cfcdff13eeb4e5",
      "parents": [
        "5ed0c9ffdae597a023bdcade0868566832a01c2b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 01 15:28:29 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 09 10:25:06 2016 -0800"
      },
      "message": "DO NOT MERGE - improve audio effect framwework thread safety\n\n- Reorganize handle effect creation code to make sure the effect engine\nis created with both thread and effect chain mutex held.\n- Reorganize handle disconnect code to make sure the effect engine\nis released with both thread and effect chain mutex held.\n- Protect IEffect interface methods in EffectHande with a Mutex.\n- Only pin effect if the session was acquired first.\n- Do not use strong pointer to EffectModule in EffectHandles:\nonly the EffectChain has a single strong reference to the EffectModule.\n\nBug: 32707507\nChange-Id: Ia1098cba2cd32cc2d1c9dfdff4adc2388dfed80e\n"
    },
    {
      "commit": "b15ed7a197061d688e465ac4a0d489fed65b8ceb",
      "tree": "13eb9e8815735d3645d2bbb6bb63946d518f5627",
      "parents": [
        "353613ca6ec69e9663b7188305cdd46914dccfb4",
        "08dab5ae92ddd1f3b337b6e35f918fea8c284a56"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 09 03:59:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 09 03:59:01 2016 +0000"
      },
      "message": "Merge \"Use libmedia_helper as shared lib.\""
    },
    {
      "commit": "b643627a557e44b9ab5879cf71e162af2d514ce3",
      "tree": "995bc0b0fa9a614687aa8df2f119ab7fff0c7a88",
      "parents": [
        "8526d86ab12284135ed4ca27aeb816371c10c0e6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 07 19:24:50 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 08 12:14:32 2016 -0800"
      },
      "message": "fix client pid for effects applied by audio policy\n\nTest: Hangouts call, Play Music with and w/o effects\n\nChange-Id: Ia9b20f94be667dd92e0497f8ef9c0dc0e95afe28\n"
    },
    {
      "commit": "08dab5ae92ddd1f3b337b6e35f918fea8c284a56",
      "tree": "4ebbef53fa801437efecb2de9135543c5f1326c6",
      "parents": [
        "8526d86ab12284135ed4ca27aeb816371c10c0e6"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Dec 07 15:08:17 2016 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu Dec 08 18:13:28 2016 +0900"
      },
      "message": "Use libmedia_helper as shared lib.\n\nThe dependencies to static libraries in frameworks should be removed\nas many as possible to reduce a size of the system partition.\nAnd that will improve coverage of the VNDK libraries because this\neffort might find new necessary shared libs which were linked\nstatically before.\n\nSize diffs of affected binaries on angler-userdebug build are as\nfollows.\n\nlibmedia                    : 598056 -\u003e 547928 (-50128)\nlibstagefright              : 1496420 -\u003e 1492124 (-4296)\nlibaudiopolicyservice       : 75372 -\u003e 66940 (-8432)\nlibaudiopolicymanagerdefault: 613168 -\u003e 583516 (-29652)\nlibaudioflinger             : 397840 -\u003e 364380 (-33460)\nlibaudiohal                 : 114752 -\u003e 68684 (-46068)\nlibaudiopolicyenginedefault : 122096 -\u003e 71968 (-50128)\nlibmedia_helper             : 0 -\u003e 66288 (+66288)\n\ntotal                       : (-155876)\n\nTest: building succeeded, and the image was tested on angler.\nBug: 33056637\nChange-Id: I00a71e518337a1efcf7f55256145776311596991\n"
    },
    {
      "commit": "78cbdfa7b68615cc61573f39a87563d891aed652",
      "tree": "970e75d4a0bf67c437fcaf889e236fc0e1039bf9",
      "parents": [
        "1029d18fc055b6831c46f365215552bda8b793db",
        "1f82f9569d257adc1d6d1c9a58e542c3c99c0109"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 07 20:33:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 07 20:33:21 2016 +0000"
      },
      "message": "Log audio information to ensure complete delivery\nam: 1f82f9569d\n\nChange-Id: I8c3045b0331a97b98168897d03ec1dc55235a59e\n"
    },
    {
      "commit": "f10c709fda87d971a206eebd5df47356e7f2aa39",
      "tree": "98b1a47d6a12c11a4b5a02e2a7fb5129b2a6680f",
      "parents": [
        "7cdef381717e3a96acc6c5786c88bf1eaf03d2f2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 06 17:09:56 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 07 09:40:43 2016 -0800"
      },
      "message": "audio policy: remove effects before releasing input\n\nmodify releaseInput() implementation so that effects added by policy\nrules are removed before closing the input stream to avoid\nfailure to destroy the effect chain\n\nmake sure that orphan effect chains are checked when an EffectHandle is\ndisconnected after thread destruction.\n\nTest: make and run Hangouts\nBug: 32707507\n\nChange-Id: I7833b4c5e42c0057a4477eb4485a20dd26ca2f90\n"
    },
    {
      "commit": "1f82f9569d257adc1d6d1c9a58e542c3c99c0109",
      "tree": "9b634a2a96b4609a1a5a8fe1a7b68d5eb5338700",
      "parents": [
        "83cb42836108742727ba8fc0bf24ab832001d687"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 28 19:01:02 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 05 16:25:54 2016 -0800"
      },
      "message": "Log audio information to ensure complete delivery\n\nTest: Audio playback\nBug: 30572472\nChange-Id: Ibad6fc202692cd3480ae726627252afdead083f3\n"
    },
    {
      "commit": "7cdef381717e3a96acc6c5786c88bf1eaf03d2f2",
      "tree": "1e0b348638ee8777683717b141e8ed7e69c63864",
      "parents": [
        "2f6272e17232360bcd10ae7a5179bf6cf8d86e38",
        "3bc859bfba96815315c05469e9da07adfc0aa8d5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 21:27:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 05 21:27:40 2016 +0000"
      },
      "message": "Merge \"audioflinger: update comment on mutex locking order\""
    },
    {
      "commit": "3bc859bfba96815315c05469e9da07adfc0aa8d5",
      "tree": "5a8e0ae75aade871abdf8a71367b10ff20469c33",
      "parents": [
        "0d96fa05bf3f22942c372ecc93a7f6a44ecda30a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 11:07:22 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 11:07:22 2016 -0800"
      },
      "message": "audioflinger: update comment on mutex locking order\n\nTest: make\nBug: 32707507\nChange-Id: Ief55cb740373a97c59de470738e3c36fcde03aae\n"
    },
    {
      "commit": "abf6ff26df459d991cdbc2dca3b78046c97469db",
      "tree": "9e6ab352b182d73d3508c32c81090ec9e355f5a2",
      "parents": [
        "26a8ba63104f3c7d4e0a750b58d56ad76dbce373",
        "2148bf0e79c436b8764b9edc4c8f2730cce98a32"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 04:33:19 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 03 04:33:20 2016 +0000"
      },
      "message": "Merge \"Log audio information to ensure complete delivery\""
    },
    {
      "commit": "7c01b5c1ab2ccf85a7d1b2be3d822c105c3387e3",
      "tree": "a8555199eeac031b42d3b0c72d99089aee9ee7e7",
      "parents": [
        "5b2fa9ad09bde1579250eb31490ed2488ce1deff",
        "f319a8fa1a5d0d90d2cd4cf7ba780710c5ec645d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 01:05:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 01:05:06 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92 am: 82c8c7656f am: 9851dee7da am: 4242950061 am: a661c82829 am: b45c856249 am: 39ca98f547 am: 9ea4b8abdf am: 25813f0a7a am: 1155d119b4 am: 70dc13599d am: 2fd05aa3f0 am: 79366efacc\nam: f319a8fa1a\n\nChange-Id: Ic86107d8fbd5f73da988f6db1af8c8789bc357bf\n"
    },
    {
      "commit": "79366efacc2da6e531bf4e2f44776288feab44dd",
      "tree": "b6d1cab10aa9afae5691b9a0fef09a3349150083",
      "parents": [
        "f1e829a54ec8c5e28063366d378a110e14b98811",
        "2fd05aa3f0d2a22e1b4625aa2a9a384ac4691d91"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 01:00:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 01:00:35 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92 am: 82c8c7656f am: 9851dee7da am: 4242950061 am: a661c82829 am: b45c856249 am: 39ca98f547 am: 9ea4b8abdf am: 25813f0a7a am: 1155d119b4 am: 70dc13599d\nam: 2fd05aa3f0\n\nChange-Id: Ic3a3443d71ac628d5727970b75d65c4e29813a14\n"
    },
    {
      "commit": "2fd05aa3f0d2a22e1b4625aa2a9a384ac4691d91",
      "tree": "61e33a415425f622e2175c7e4c4e8e1d76b1f522",
      "parents": [
        "f50635bdc4613bfd8f4a3a76dc0e5c6fc752c77a",
        "70dc13599db3519108bccd0f3d7f8c3e2e37b572"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 00:58:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 00:58:05 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92 am: 82c8c7656f am: 9851dee7da am: 4242950061 am: a661c82829 am: b45c856249 am: 39ca98f547 am: 9ea4b8abdf am: 25813f0a7a am: 1155d119b4\nam: 70dc13599d\n\nChange-Id: I0cb9e61f3bad85c85f433ae0bd7dbd5ef74afa34\n"
    },
    {
      "commit": "70dc13599db3519108bccd0f3d7f8c3e2e37b572",
      "tree": "139dccb7a78b9a7bba77e4b1a974024247af93b9",
      "parents": [
        "ec601622f852cd1710bb92023d318a28dd03c56d",
        "1155d119b4265d52e45eada6d5c4895af22ff12a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 00:56:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 00:56:04 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92 am: 82c8c7656f am: 9851dee7da am: 4242950061 am: a661c82829 am: b45c856249 am: 39ca98f547 am: 9ea4b8abdf am: 25813f0a7a\nam: 1155d119b4\n\nChange-Id: Ia29bfe12f493e94b451b973e8e027007630b4c55\n"
    },
    {
      "commit": "1155d119b4265d52e45eada6d5c4895af22ff12a",
      "tree": "89ff1f8fc6571216270735475be1ebe7019d03c2",
      "parents": [
        "ffe82a3b4ac5e9c286b5b24836efdd87581274a7",
        "25813f0a7a899bf61b4a7138497c071546ea8f55"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 00:53:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 00:53:35 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92 am: 82c8c7656f am: 9851dee7da am: 4242950061 am: a661c82829 am: b45c856249 am: 39ca98f547 am: 9ea4b8abdf\nam: 25813f0a7a\n\nChange-Id: I7232cde71eb075f5446d3a1297cb73f9197f9f38\n"
    },
    {
      "commit": "9ea4b8abdf2c8950691f9a053cf00003338b204e",
      "tree": "2a2b22f3e5659be1dc62237207572acd45a7a6f3",
      "parents": [
        "97bb7fe0846fc3cebc7ededd8cb337f83ff5a13d",
        "39ca98f547e786a6c0258f17bd496a206f4a0ac3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 00:49:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 00:49:03 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92 am: 82c8c7656f am: 9851dee7da am: 4242950061 am: a661c82829 am: b45c856249\nam: 39ca98f547\n\nChange-Id: Id699ab91ec473ee08de7782e8c606209b6372fe5\n"
    },
    {
      "commit": "39ca98f547e786a6c0258f17bd496a206f4a0ac3",
      "tree": "bcc9d473e7ddb2eb8fef08a62a4d0e21e87d3c66",
      "parents": [
        "72729c449d9f7a6f217be629066cb683ad27b37b",
        "b45c856249d678df55d609e734fee66fa0b333e1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 00:47:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 00:47:04 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92 am: 82c8c7656f am: 9851dee7da am: 4242950061 am: a661c82829\nam: b45c856249\n\nChange-Id: I6cb0c8e2dbaa2ebe3d4fd4f283a2028ac099f3c3\n"
    },
    {
      "commit": "a661c8282967a16dc5fb957eaf161a6866edcc59",
      "tree": "58f4c6a045b7f8bbc013c6d85380abd8825b6ef1",
      "parents": [
        "ad29b47d91c26f65d1d9a58d2dac1970175a885c",
        "42429500612b768902442c9fe594327511462cc5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 00:42:33 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 00:42:33 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92 am: 82c8c7656f am: 9851dee7da\nam: 4242950061\n\nChange-Id: I9cee35a3c8df1747c5461dc62c3210a0de134b87\n"
    },
    {
      "commit": "42429500612b768902442c9fe594327511462cc5",
      "tree": "db679b7d174cfb79cc290af0ecedea5c38306946",
      "parents": [
        "9161586309fd018a1503dc5227f2cb329b935213",
        "9851dee7da476848ae9ef5e8fe07d3634d50c208"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 00:40:33 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 00:40:33 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92 am: 82c8c7656f\nam: 9851dee7da\n\nChange-Id: I3d375c671122e61cf0b530457c37c1cd5c06e563\n"
    },
    {
      "commit": "9851dee7da476848ae9ef5e8fe07d3634d50c208",
      "tree": "1d377280d0fc010e3bb64a78150537750f779221",
      "parents": [
        "3e8ab60b7f65dd4c5c9efa4a1c388a51fbbb5d11",
        "82c8c7656f7c7b7269fd7f7a9f1e657109824123"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 00:38:33 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 00:38:33 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit am: dd79ccda92\nam: 82c8c7656f\n\nChange-Id: I8819bc1146b0b751abc0790edd4b7d73f2198038\n"
    },
    {
      "commit": "82c8c7656f7c7b7269fd7f7a9f1e657109824123",
      "tree": "656627902f4f2db291620bee9b17c251b9fa164f",
      "parents": [
        "01e854056a73ee914bbac079389c720e813e4c57",
        "dd79ccda92c1e9b982b2d0f8877d98e5258fbb73"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 03 00:36:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 00:36:01 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit\nam: dd79ccda92\n\nChange-Id: Ide8165907e03b9d400eaa33a222ceeae782d6509\n"
    },
    {
      "commit": "eac5ddad235d11c64ff34037789466f22be4e005",
      "tree": "ed9c94c4a7cb72745c1d872ea21a0ea3cf5f880d",
      "parents": [
        "ac6b30acb174dbdf35f845924cd63bdc48c43e8a",
        "0d5a2ed0a05a2bf337c68edb54f24c60e18032c1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 02 22:24:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 02 22:24:35 2016 +0000"
      },
      "message": "Merge \"improve audio effect framwework thread safety\""
    },
    {
      "commit": "0d5a2ed0a05a2bf337c68edb54f24c60e18032c1",
      "tree": "6b8dac8ec17119ad5b661b85cff30bffe1d4a645",
      "parents": [
        "0d96fa05bf3f22942c372ecc93a7f6a44ecda30a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 01 15:28:29 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 02 12:21:39 2016 -0800"
      },
      "message": "improve audio effect framwework thread safety\n\n- Reorganize handle effect creation code to make sure the effect engine\nis created with both thread and effect chain mutex held.\n- Reorganize handle disconnect code to make sure the effect engine\nis released with both thread and effect chain mutex held.\n- Protect IEffect interface methods in EffectHande with a Mutex.\n- Only pin effect if the session was acquired first.\n- Do not use strong pointer to EffectModule in EffectHandles:\nonly the EffectChain has a single strong reference to the EffectModule.\n\nTest: Tested with EffectTest app. Regression tests in main audio use cases.\n\nBug: 32707507\nChange-Id: Ia1098cba2cd32cc2d1c9dfdff4adc2388dfed80e\n"
    },
    {
      "commit": "2148bf0e79c436b8764b9edc4c8f2730cce98a32",
      "tree": "8d380e3f69e99d4ebf76c08c51a5833dc0eca2ff",
      "parents": [
        "b54cab90d4bf84745a57232080d72a50c3b731da"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 28 19:01:02 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 01 17:36:41 2016 -0800"
      },
      "message": "Log audio information to ensure complete delivery\n\nTest: Audio playback\nBug: 30572472\nChange-Id: Ibad6fc202692cd3480ae726627252afdead083f3\n"
    },
    {
      "commit": "4a6a59e0865fa14ff8e6e68c296134656ac1c61b",
      "tree": "241204c69de71059d96cfe795114e072a2c5b72e",
      "parents": [
        "798b149d8a14a3cb840a9781ab6cbb798cfcce5d",
        "f558e0218d2677a813c9c600886f673894eec927"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 02 00:06:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 02 00:06:17 2016 +0000"
      },
      "message": "Merge \"libaudiohal: Implement simple HIDL client\""
    },
    {
      "commit": "f558e0218d2677a813c9c600886f673894eec927",
      "tree": "a2e02a7e9999fe3eb08071d09acd30d9e50f87a8",
      "parents": [
        "d71f16268227c15a0ac2043e15900db5df2c417d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Nov 14 17:45:17 2016 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 01 09:36:07 2016 -0800"
      },
      "message": "libaudiohal: Implement simple HIDL client\n\nThis client requires both HIDL client and server to be of the same\nABI version (e.g. 32-bit).\n\nEffectHalHidl::process and EffectHalHidl::processReverse are stubs.\n\nSome extra warnings are logged due to unimplemented functions\nin the legacy HAL.\n\nBug: 30222631\nChange-Id: Id074131dec6d6c4f1031695abcf3ea066e92a5af\nTest: Play Music (play / EQ), YouTube, Loopback RTLT, Ok Google on N5X\n"
    },
    {
      "commit": "c64e124bca8b7813ecea19d38452dd55fee4082f",
      "tree": "de5e16718fefa194781ee1a7c57c4844fc953e97",
      "parents": [
        "559dcf59ff136768b97a7bffa10b128d06caef01",
        "cbc7183fbbb30af5611795740e0db5affb7c9e29"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:58:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:58:28 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999 am: ffe82a3b4a am: ec601622f8 am: f50635bdc4 am: f1e829a54e am: a2e95f5c9b am: c6239b0d4d\nam: cbc7183fbb\n\nChange-Id: I7a13718ab24d1c4c9c64d83e148031af046921e1\n"
    },
    {
      "commit": "c6239b0d4dfa730c122f2de214dfd2e62f7f8eea",
      "tree": "8ee8f273638f8058d32d2d9bcaf9b704b82f557c",
      "parents": [
        "379254d561700c55fae6292428aefa20e45b26f6",
        "a2e95f5c9b1613cce1d2bf0f0e35b0addd137906"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:21:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:21:25 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999 am: ffe82a3b4a am: ec601622f8 am: f50635bdc4 am: f1e829a54e\nam: a2e95f5c9b\n\nChange-Id: Ic25053a111913dfd4490633b9f0eff1e7fe1d359\n"
    },
    {
      "commit": "f1e829a54ec8c5e28063366d378a110e14b98811",
      "tree": "fc9f6f3dc1b5efbe8b9d39e5f97fea69cbc98155",
      "parents": [
        "bca948ed8489fa6e51ae133e774a257dbc4e939c",
        "f50635bdc4613bfd8f4a3a76dc0e5c6fc752c77a"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:10:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:10:54 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999 am: ffe82a3b4a am: ec601622f8\nam: f50635bdc4\n\nChange-Id: I2a763c6477374600f84d5c3aae646af395b947c5\n"
    },
    {
      "commit": "f50635bdc4613bfd8f4a3a76dc0e5c6fc752c77a",
      "tree": "9c5612e68a469e06c22fff6defbcf69503061327",
      "parents": [
        "1fa7caa69b1fa5ed18c8096239a5d5038872a5c4",
        "ec601622f852cd1710bb92023d318a28dd03c56d"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:05:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:05:22 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999 am: ffe82a3b4a\nam: ec601622f8\n\nChange-Id: I406374de32920003302cff5a78c0ced400dacbdc\n"
    },
    {
      "commit": "ec601622f852cd1710bb92023d318a28dd03c56d",
      "tree": "3c32ad75836e80f902b266c9e5fcaa82abc1a299",
      "parents": [
        "d2185caaf7c136b7565a3eaf0609e451cf95f7d4",
        "ffe82a3b4ac5e9c286b5b24836efdd87581274a7"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 20:00:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 20:00:23 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084 am: 3d6aada999\nam: ffe82a3b4a\n\nChange-Id: I428d5c72ea37518c30d50d21b1ef47e440933cde\n"
    },
    {
      "commit": "ffe82a3b4ac5e9c286b5b24836efdd87581274a7",
      "tree": "24efc7cd1f4ee816756a1429092a525bddc77054",
      "parents": [
        "a2b8d9c79be0edef1aa4a7d632140691ede8709b",
        "3d6aada99991a7fc6d50350d22c4e71f90559b59"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:55:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:55:22 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891 am: 72729c449d am: 97bb7fe084\nam: 3d6aada999\n\nChange-Id: Id7d701e1a6189cb674b75895a430b260d9e0690c\n"
    },
    {
      "commit": "97bb7fe0846fc3cebc7ededd8cb337f83ff5a13d",
      "tree": "66383783503e09224ac934eaacb556e50aa6fe90",
      "parents": [
        "6f853ae3787f216721c8854830d510c0a224b482",
        "72729c449d9f7a6f217be629066cb683ad27b37b"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:44:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:44:50 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91 am: 8b9b199891\nam: 72729c449d\n\nChange-Id: I97c6b4935971fa201e5107940643eaf0355bcaaa\n"
    },
    {
      "commit": "72729c449d9f7a6f217be629066cb683ad27b37b",
      "tree": "a6b4eec1bebefc9e08adb56308caf33c87ba9ea1",
      "parents": [
        "e6dfef5e91847a0a3af510761dddf4d920f7b375",
        "8b9b199891bb1374e0aa9f68c911999285d04af4"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:38:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:38:50 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f am: 9161586309 am: ad29b47d91\nam: 8b9b199891\n\nChange-Id: Id1d62d9ebabab42f5ca82ff2fbbcf14d130466f4\n"
    },
    {
      "commit": "ad29b47d91c26f65d1d9a58d2dac1970175a885c",
      "tree": "f1bf7a176ba76118ff2c6fa27ef6f997dcfd6417",
      "parents": [
        "b926fff90e70a45107a8b76928eaf5606fe4ace7",
        "9161586309fd018a1503dc5227f2cb329b935213"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:28:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:28:49 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a am: 3e8ab60b7f\nam: 9161586309\n\nChange-Id: Ibcceb08d7db77f67f3dfc3cdad1d2bd6994183ae\n"
    },
    {
      "commit": "9161586309fd018a1503dc5227f2cb329b935213",
      "tree": "b4017c17bc9ddbd82a9e92f57e41dc609da2eff4",
      "parents": [
        "8b850ec8d52d436f273ecbd745fa906f0aeb54a7",
        "3e8ab60b7f65dd4c5c9efa4a1c388a51fbbb5d11"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:23:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:23:21 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57 am: 01e854056a\nam: 3e8ab60b7f\n\nChange-Id: Ib575df34ec5bb7dc2cd83a859e10abe94e894317\n"
    },
    {
      "commit": "3e8ab60b7f65dd4c5c9efa4a1c388a51fbbb5d11",
      "tree": "b1852edf3c7b545717eec35f61b134f6d6fc79be",
      "parents": [
        "756f8dcdc1550b9115fe2369dfa14f46a5854d1e",
        "01e854056a73ee914bbac079389c720e813e4c57"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Wed Nov 30 19:17:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 19:17:48 2016 +0000"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver am: e275907e57\nam: 01e854056a\n\nChange-Id: I7ea6a871eed4b9e1c56c5350c4e5fb5eb628e816\n"
    },
    {
      "commit": "f96b08d53781db2b572980a2539e86dd39cb3927",
      "tree": "534f4ba7b2b3c66d3d490166486f4ce2ac7647f0",
      "parents": [
        "d3c61c2c74a9a83392ccaee17b6f1dd54492a530",
        "b34566440cad5da599fb93b87b37cb6d38168839"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 29 23:09:41 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 23:09:41 2016 +0000"
      },
      "message": "Merge \"Change order of EFFECT_CMD_GET_PARAM command size check\""
    },
    {
      "commit": "e275907e576601a3579747c3a842790bacf111e2",
      "tree": "6a6550b1636a64348b4d53d38fdb3039482f5c98",
      "parents": [
        "501aee7a542a8c461d48c27cb1148a0936e3a9e5"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Nov 22 18:02:48 2016 -0800"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Tue Nov 29 12:17:49 2016 -0800"
      },
      "message": "Fix security vulnerability: potential OOB write in audioserver\n\nBug: 32705438\nBug: 32703959\nTest: cts security test\nChange-Id: I8900c92fa55b56c4c2c9d721efdbabe6bfc8a4a4\n"
    },
    {
      "commit": "b34566440cad5da599fb93b87b37cb6d38168839",
      "tree": "97bd3a7606f09d6c6f90b009149c3b98a9177d04",
      "parents": [
        "b54cab90d4bf84745a57232080d72a50c3b731da"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 28 13:50:21 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 28 13:52:03 2016 -0800"
      },
      "message": "Change order of EFFECT_CMD_GET_PARAM command size check\n\nTest: Custom APK\nBug: 33003822\nChange-Id: I7801cf73377ec4086df5da6b138ebc9d13067ebc\n"
    },
    {
      "commit": "a447a0f52fff7f1cab3bbe7c0a2f9b96f8e3914e",
      "tree": "964ca947698614342bf1b4c392e3dac543ad70ec",
      "parents": [
        "b54cab90d4bf84745a57232080d72a50c3b731da"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 15 17:19:58 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun Nov 27 21:27:45 2016 -0800"
      },
      "message": "Effect: Use local cached data for Effect commit\n\nTest: POC, Cts Effect, BassBoost, EnvReverb, Equalizer,\nTest: LoudnessEnhancer, PresetReverb, Virtualizer, Visualizer\nBug: 32220769\nChange-Id: Iea96ba0daf71691ee8954cca4ba1c10fe827626e\n"
    },
    {
      "commit": "221bfde160c9d0f52cab903bfb2e48d04881243e",
      "tree": "b492a1c26adeaba08fb140ad3f13fc9a984c8fd2",
      "parents": [
        "a030efa8c91d5efc91b0e151a4a50158fa9ab394",
        "d859d8a3ea3eb88d48119dad0550da3ac5a48b59"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Tue Nov 22 17:14:57 2016 -0800"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Tue Nov 22 17:14:57 2016 -0800"
      },
      "message": "Merge remote-tracking branch \u0027goog/cw-f-dev\u0027 into fix_merger\n\nBug: 32849428\n\n* goog/cw-f-dev:\n  If a device does not have a camera, do not set a camera death notifier\n  Fix security vulnerability: Effect command might allow negative indexes\n  Make VBRISeeker more robust\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  Effects: Check get parameter command size\n  IOMX: convert ANWB to Gralloc meta if using useBuffer in the same process\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  DO NOT MERGE: defensive parsing of mp3 album art information\n  Camera API1: don\u0027t pick wrong preview fps value\n  Fix security vulnerability: Equalizer command might allow negative indexes\n  Camera API1: relax the fps check with some margin\n  stagefright: remove allottedSize equality check in IOMX::useBuffer\n  Camera API1: filter out the unsupported preview fps range\n  DO NOT MERGE: Visualizer: Check capture size and latency parameters\n  Visualizer: Check capture size and latency parameters\n"
    },
    {
      "commit": "bd54eef2d289f786a7ae02139ce3bb9db2b03b24",
      "tree": "e51bc2e3d50ba19d0bbf11a9d2c6b3a3b63989a9",
      "parents": [
        "76d73bce9a63b795c7b8edbeab861239ab2eed0f",
        "35c5866abb0a8e26a607ae648f6d472c508f74f4"
      ],
      "author": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Tue Nov 22 18:50:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 22 18:50:22 2016 +0000"
      },
      "message": "Merge \"framework/av: fixbug for mistake clear mainbuffer data, root cause by not offset to fout\" am: 25ef483a8c am: c7ad5838d2 am: a030efa8c9\nam: 35c5866abb\n\nChange-Id: Ib67027c035e48e956380adf11380123b884d3c92\n"
    },
    {
      "commit": "35c5866abb0a8e26a607ae648f6d472c508f74f4",
      "tree": "5681870bbab81464f802c67141e73d4e4ad6220a",
      "parents": [
        "6371c4361b0f5f96dad40f1367fa975e4cfa9601",
        "a030efa8c91d5efc91b0e151a4a50158fa9ab394"
      ],
      "author": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Tue Nov 22 18:47:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 22 18:47:22 2016 +0000"
      },
      "message": "Merge \"framework/av: fixbug for mistake clear mainbuffer data, root cause by not offset to fout\" am: 25ef483a8c am: c7ad5838d2\nam: a030efa8c9\n\nChange-Id: I36f7616aa8d01715007677a9a66b83b9964d1d78\n"
    },
    {
      "commit": "c7ad5838d2aec7ff90db36069f3577d3c4feaa95",
      "tree": "c6b6eefdbf0aba6ece79f57803d2a54b329a26c0",
      "parents": [
        "d5eb866c536c3497e778742e5fda22ac1def9fc6",
        "25ef483a8c46d8ca7cbacf96e3bce5d783a63a86"
      ],
      "author": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Tue Nov 22 18:41:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 22 18:41:21 2016 +0000"
      },
      "message": "Merge \"framework/av: fixbug for mistake clear mainbuffer data, root cause by not offset to fout\"\nam: 25ef483a8c\n\nChange-Id: I6c8ee1c28b51f1578a781fdc7dd1d51326046d2f\n"
    },
    {
      "commit": "7c5ec035fe1c6f30f1303eee8e0a4c76389228ee",
      "tree": "b59b1c1ad183a8e612ec8fdd1f2b9eb7b0062dc2",
      "parents": [
        "11f51b046344c8e14ef764d755cae697f6bce4e8"
      ],
      "author": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Mon Nov 14 19:57:14 2016 +0800"
      },
      "committer": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Tue Nov 22 10:36:09 2016 +0800"
      },
      "message": "framework/av: fixbug for mistake clear mainbuffer data,\nroot cause by not offset to fout\n\nTest: 1. pair and connect with bluetooth ear phone;\n      2. record video by camera ,play and pause again by\n      loop test;\n      3. Checking whether ear phone has pop sound.\n\nChange-Id: Ief4117d634b9e7a9f27c669b8de7626b15df7636\n"
    },
    {
      "commit": "dd79ccda92c1e9b982b2d0f8877d98e5258fbb73",
      "tree": "eb7a2f14f528ad018d570b1412fcdcf3c03d57ea",
      "parents": [
        "501aee7a542a8c461d48c27cb1148a0936e3a9e5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 15 17:19:58 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Nov 16 02:33:53 2016 +0000"
      },
      "message": "Effect: Use local cached data for Effect commit\n\nTest: POC, Cts Effect, BassBoost, EnvReverb, Equalizer,\nTest: LoudnessEnhancer, PresetReverb, Virtualizer, Visualizer\nBug: 32220769\nChange-Id: Iea96ba0daf71691ee8954cca4ba1c10fe827626e\n"
    },
    {
      "commit": "9cab746b116b8aed38ca6b97bfea35103535e522",
      "tree": "cc36a1ef710484eb9df3195a757ff430bdbe4bd4",
      "parents": [
        "5850c4c8eecbe0db3cee8511a4f82cb443e27d08"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 13:05:20 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 14:04:09 2016 -0800"
      },
      "message": "Revert \"AudioFlinger: Associate audio time with client uid\"\n\nThis reverts commit 2f366df67c31119bb6dd726becd32d14b18e6573.\n\nBug: 32728805\nChange-Id: If0a158154814492eda427de0af8a49c0b0a91180\n"
    },
    {
      "commit": "5850c4c8eecbe0db3cee8511a4f82cb443e27d08",
      "tree": "27aa0d14f34059b7941251d50221856b66f702a7",
      "parents": [
        "c6cd50f4e6b07530cb0391002fcf3e5a6ae4767f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 13:04:31 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 13:49:16 2016 -0800"
      },
      "message": "Revert \"AudioFlinger: Remove naked track pointers\"\n\nThis reverts commit 062bfceaefab29f0f71db7d5a248b3f5f0572b6a.\nBug: 32728805\n"
    },
    {
      "commit": "be0d729212c5711f78d3475e77b8e5a975b67048",
      "tree": "eea3d7415477cb2181e2a1b26a5caea73f6a3421",
      "parents": [
        "38ca2fb52e88d749e3c7ddc029fa811a2b1f2363",
        "01ee07728fcb83a36bac83af139003653289f8d9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 20:48:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 20:48:01 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96 am: f0f864a1e4 am: 134e208477 am: 5662efe76b am: 1ad93b9617 am: 8c8eb964c0 am: 34f29aac04 am: dfb1bd9794 am: 791d393881 am: 4b7780abd1\nam: 01ee07728f\n\nChange-Id: Ia1a615c3776cfe02f401659fa8dc342404c83ce0\n"
    },
    {
      "commit": "791d393881025ccebb5674b82b636000dddd94b1",
      "tree": "ffdc8900602ed330c0fef863094b373a67e56ced",
      "parents": [
        "eb89415c461136fc4d77d94a604cb513b3ca9f43",
        "dfb1bd97947b71019d4be758572875edebb01808"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 20:29:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 20:29:56 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96 am: f0f864a1e4 am: 134e208477 am: 5662efe76b am: 1ad93b9617 am: 8c8eb964c0 am: 34f29aac04\nam: dfb1bd9794\n\nChange-Id: I1507778b7b095b92fda6f664da6111a91d388010\n"
    },
    {
      "commit": "dfb1bd97947b71019d4be758572875edebb01808",
      "tree": "c739592d6772a772914be86f7fc3ff2d83761737",
      "parents": [
        "cfdd80ef7ad5dc86eaf9a5c05ec79f9fba157d28",
        "34f29aac0400290f98d42a3d807b2b8d6e8bd4e6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 20:23:59 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 20:23:59 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96 am: f0f864a1e4 am: 134e208477 am: 5662efe76b am: 1ad93b9617 am: 8c8eb964c0\nam: 34f29aac04\n\nChange-Id: I7dc182307420e375c5f63bd9b2ba2be472845dca\n"
    }
  ],
  "next": "34f29aac0400290f98d42a3d807b2b8d6e8bd4e6"
}
