)]}'
{
  "log": [
    {
      "commit": "7840c30d04a749da9817682339f97b4ab128dffd",
      "tree": "f9dd3c1b47b99a5bb720fb51ca061625aa2a6306",
      "parents": [
        "cfb681346730d9d0cf849f44e234f79c1622f209"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 24 01:33:26 2018 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Feb 24 01:39:39 2018 +0000"
      },
      "message": "Revert \"Ignore config error if non-offloadable effect is on offload thread\"\n\nThis reverts commit cfb681346730d9d0cf849f44e234f79c1622f209.\n\nReason for revert: Crashes in Play Music b/73624638\nTest: Play Music with cleared app data, check equalizer settings\nBug: 73624638\nBug: 70912361\nChange-Id: I6d4eec2fda57a60c2c6949937752d8f1e50bb8ab\n"
    },
    {
      "commit": "cfb681346730d9d0cf849f44e234f79c1622f209",
      "tree": "b1643895484134c0acc43e2db3ee88e787028643",
      "parents": [
        "e54461ae132a79d0ffa9d3ec4631df13eb5c7809"
      ],
      "author": {
        "name": "Tomoharu Kasahara",
        "email": "tomoharu.kasahara@sony.com",
        "time": "Fri May 26 19:06:33 2017 +0900"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 16 11:40:10 2018 -0800"
      },
      "message": "Ignore config error if non-offloadable effect is on offload thread\n\nReturn NO_ERROR if a non-offloadable effect is created on an offload thread\n(since the sampling rate of offload output can be different from\nthe one supported by a software effect). Enabling the non-offloadable\neffect will cause the track to move to a non-offload thread.\n\nBug: 70912361\nTest: Create AudioEffect during 24kHz mp3 playback\nChange-Id: Ie5bf264a9790d936c24476ea127bc6da9eefde73\n"
    },
    {
      "commit": "7588ff418aca63b1dc43a85afc1e86c40dd889a3",
      "tree": "bdb7ba0ca788a16d48d8e9945aa76f52f1683245",
      "parents": [
        "51ac542df4beb18dc1cf0285826124644f189c3b"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Jan 08 11:11:30 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Jan 20 10:49:56 2018 -0800"
      },
      "message": "Audio V4: Split HAL wrapper for versioning\n\nBoth core and effect Hal now have one single point of entry.\nThis point of entry is their respective factories:\n - DevicesFactoryHalInterface::create\n - EffectsFactoryHalInterface::create\n\nEach entry point looks for their respective services supported\nversion, starting from the highest (currently only 2.0) and\nreturning the subclass wrapping this version to the most recent audio.h\nframework api.\n\nNote that EffectBufferHalInterface were previously created from static\nmethods (mirror and allocate) which broke the single point of entry\nrequirement.\nAs a result, buffers have now to be created from the factory like the\nother classes.\n\nNote that the death handler also need to be its own library as it is\nused by versioned code and is version independent.\n\nBug: 38184704\nTest: compile\nChange-Id: Iac9b1fda561bb486193d5b9e025a870f50cda530\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "9aad48c31ee3557eddbcaf301539f7d19673f018",
      "tree": "c71508bb62282b7775d6abea630910eadb9f1194",
      "parents": [
        "13fca0cd377d56823f944f21716128dd5ac4bbf1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Nov 29 10:29:19 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 18 14:32:10 2018 -0800"
      },
      "message": "Allow multichannel effects\n\nTest: Solo Tester with mutichannel file\nBug: 70038539\nChange-Id: Id2e47eef62e55710bb6eda54c1f737aa3a3ce6bc\n"
    },
    {
      "commit": "9718d660697b8d7574efd11863b2f0cbd7637dbe",
      "tree": "d9f568d4b1b413cc5e00f80650781de2ff91107c",
      "parents": [
        "d466435670d1beb80beeeb1a140ebe6a5bfd0d9f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 22 17:57:39 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 22 17:59:37 2017 -0800"
      },
      "message": "Effects: Add debug float logging\n\nTest: audioflinger dumpsys\nBug: 70993567\nChange-Id: I510ab3557ee4b229078d552b7e7085ad3d386e6e\n"
    },
    {
      "commit": "d466435670d1beb80beeeb1a140ebe6a5bfd0d9f",
      "tree": "d6f22c53e3603b0b69a54ec9bad1a733c46b6785",
      "parents": [
        "61e916dd6b0c8701b42f3f392e51e5b52ca38e65",
        "116a49881b35f561f6ee316990d425fad56e7487"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 21 21:54:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 21 21:54:59 2017 +0000"
      },
      "message": "Merge \"AudioEffect: Convert aux buffer format from q4.27 to float\""
    },
    {
      "commit": "05083ac19249d90af77a23c46f4229a7a002320a",
      "tree": "515a40fd7ca344de258cb5bec3afe2623d217880",
      "parents": [
        "62aef7d364670c9c255f8470b0ea874ac2cca293"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 14 15:00:28 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 14 16:19:20 2017 -0800"
      },
      "message": "EffectModule: robust computation of mMaxDisableWaitCnt\n\nTo compensate for overflow / underflow.\n\nTest: Solo Tester and CTS effects\nBug: 70684279\nChange-Id: I7ac3d74c43320a2c6427ba2b424c8edb5a0250b1\n"
    },
    {
      "commit": "62aef7d364670c9c255f8470b0ea874ac2cca293",
      "tree": "a3a0a713b480a85ea4fbaae85dbbb7b80f211808",
      "parents": [
        "ab30516bf9e5f371b720f9cdcd6adfc11e278648"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 14 14:50:40 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 14 16:15:39 2017 -0800"
      },
      "message": "EffectModule: initialize all member variables in constructor\n\nTest: Solo Tester and CTS effect tests\nBug: 70674145\nChange-Id: I9a9e137b8c612f0ea8862da3973d142636fad34d\n"
    },
    {
      "commit": "ab30516bf9e5f371b720f9cdcd6adfc11e278648",
      "tree": "181303738783e64189fc9933cb3265338fff4101",
      "parents": [
        "d5de81458b829504237b8e044adb3808e96ebe10"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 14 12:42:22 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 14 12:56:31 2017 -0800"
      },
      "message": "EffectModule: Update mConfig initialization\n\nUse aggregate-initialization of mConfig to zero.\n\nTest: instrumented memcmp with static decltype(mConfig) ZERO\nBug: 70674145\nChange-Id: Ifdc8780b5da4e0e959f144a1b927ed9bd48edddf\n"
    },
    {
      "commit": "6f88dc4f4e71b6d54359ffa01c7521a384483810",
      "tree": "b8baa538f64f993b3ad1e4d6488e28c1bf973eb0",
      "parents": [
        "8bdef6aa8c5a0eda695259cad75be24bfd402aaf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 13 16:19:39 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 13 17:01:52 2017 -0800"
      },
      "message": "AudioEffect: initialize configuration in constructor\n\nTo avoid uninitialized use in setInBuffer() and setOutBuffer().\n\nTest: simulate high uninitialized frame counts and check memory usage.\nBug: 69927864\nChange-Id: I8aa68a70596bb3eaca2d4c90915f17272d90fe82\n"
    },
    {
      "commit": "116a49881b35f561f6ee316990d425fad56e7487",
      "tree": "26d80d6e59138bcf42902cfee61713817cc06c09",
      "parents": [
        "fa69ca3012fb4065dd892f363957a4f9a6d24757"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 30 10:15:08 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 06 19:48:37 2017 -0800"
      },
      "message": "AudioEffect: Convert aux buffer format from q4.27 to float\n\nTest: Solo Tester aux reverb\nBug: 69853407\nChange-Id: I72ca2377036e5ccfd5f4631ac6cc5e86d2e40433\n"
    },
    {
      "commit": "fa69ca3012fb4065dd892f363957a4f9a6d24757",
      "tree": "f016b2927a782e3d0355a01622823bd3647eb835",
      "parents": [
        "14093dd03ceec781072b8c53693fcb5d631cddea"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 30 10:07:53 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 06 19:19:31 2017 -0800"
      },
      "message": "AudioEffect: clean up format conversion in EffectModule::process()\n\nEditing for clarity, no change in operation.\n\nTest: Solo Tester\nBug: 69984406\nChange-Id: I683fd9b83417c3d1c6d63339537d03c55625ac13\n"
    },
    {
      "commit": "bded9c8bd20c6cc55d4e4f73b56fdfe86e6fbc69",
      "tree": "fd7748b3e070bb6760a2b3e662e0b5ad84dedcbe",
      "parents": [
        "cc25a713d9c3ea87299324d0f44864e78710020e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 30 18:47:35 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 05 17:05:21 2017 -0800"
      },
      "message": "AudioEffect: rename m(In|Out)Buffer16 to m(In|Out)ConversionBuffer\n\nThese buffers will be used later for channel conversion as well.\n\nTest: Solo Tester\nBug: 69984406\nChange-Id: I551a256d79793b4137b2689be1140d1d6e35ef71\n"
    },
    {
      "commit": "c15aaeec42f2b14cff0f29bb84e58f4388975d91",
      "tree": "05370ca87ddc350edc876e351f82938f29a172c2",
      "parents": [
        "664d6012afe348c6fe906cb05fb981d1a4dbd593"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 27 17:02:40 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 28 12:48:08 2017 -0800"
      },
      "message": "Allow clearing effect hal buffers\n\nTest: SoloTest with int effects\nBug: 69855634\nChange-Id: I273c9da600f3ab04890a7a1cb74b606cc28bea53\n"
    },
    {
      "commit": "5effdf6d9ed17b4ff67a7e1adc56996c01c43383",
      "tree": "06e5f064d6dc9b5aea55cf9a12c39d9e68091a85",
      "parents": [
        "cd742b9174eac9f8b6a108512818f2d3a2392ea8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 27 13:51:40 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 27 14:47:19 2017 -0800"
      },
      "message": "Deprecate ditherAndClamp with memcpy_to_i16_from_q4_27\n\nTest: test-mixer and SoloTester\nBug: 69636805\nChange-Id: I5cc04d82f3e46fbfc8188a63eb2a90fb70634c90\n"
    },
    {
      "commit": "94a1ee822686e920a33e312f4032f991731aea07",
      "tree": "5a8e84b19269529153e94fa2f0a6b927823f6848",
      "parents": [
        "c275189ccbfe8ca29437a24256195c61de2f2a6d"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Fri Jul 21 15:11:02 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 21 20:39:19 2017 -0800"
      },
      "message": "Converting effect chains to float point by default.\n\nRemoved additional conversions from/to int16/float.\nFixed config file restrictions.\nDetection of native format (int16/float) of effects.\nOn-the-fly conversion to/from 16 bit effects if necessary.\nWIP: testing effects in all possible configurations.\n\nBug: 63935479\nTest: Bufflog dumps, frequency analysis comparison, SoloTester\nChange-Id: Id4cabc5c5698befc90a5d68b0b996a9b9adebfc4\n"
    },
    {
      "commit": "424c4f5b76a6ed11f2c713b42246a7220cfbb240",
      "tree": "4e99cdf9a79663ff3820a0a5ab7893afd54daeee",
      "parents": [
        "71e4dfef2cd7a43cd61f376311911ea7563a2418"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jul 19 17:54:29 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jul 21 13:55:45 2017 -0700"
      },
      "message": "audio effects: Eliminate the cause warning logs about unreleased interface\n\nThe cause of frequent \"EffectModule 0xxx destructor called with unreleased\ninterface\" messages was due to not releasing the effects when purging\nstale effects.\n\nThe cause of \"Effect handle 0xxx disconnected after thread destruction\"\nmessage was due to late binder call for disconnecting already purged\neffect handle.\n\nAlso improved logging to communicate uuids of the effects causing\nthese issues.\n\nBug: 62267926\nTest: no aforementioned warnings in the log when opening the Effects\n      panel in Play Music\n\nChange-Id: I6ec6f60c46dc704226931fb59a641e4cd74c2fd1\n"
    },
    {
      "commit": "d8365c54d049aade9e02ccae722f311f846cad9a",
      "tree": "b0678982480e7a46b21fd0a855fd1cfd242ffdb1",
      "parents": [
        "30bf42ca7242f5f7849cbe7ce61fc994b88c5b56"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 16 15:27:05 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 17 15:26:56 2017 -0700"
      },
      "message": "audio flinger: fix AEC and NS suspend logic\n\nMake sure we suspend/restore AEC and NS only when the suspend condition\nactually changes to avoid mismatch in number of suspends/restores\ncausing the ref counting mechanism to leave the effects in suspend mode\nwhile they should not.\n\nAlso clear the suspend state on an effect session before parking it in\nthe orphan chains list so that it is in default state whne attached to a\nnew record thread.\n\nBug: 63015903\nTest: verify that switching BT SCO on/off with Duo enables or disables\nAEC and NS accordingly\n\nChange-Id: I4d0f0bf818deca3952da3c67bb7e83cb500429c7\n"
    },
    {
      "commit": "80e7e68dbf734da1c387152f1757aa70e88ddf5a",
      "tree": "bd7a2d12878881c57ff715393a49a8dfdbad1110",
      "parents": [
        "42ab59fcd8b54ef206ea4bdcd1299cce11bac355",
        "dd36008b782ec1da0ded327dc51292d102c690d4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 15 01:00:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 01:00:07 2017 +0000"
      },
      "message": "Merge \"audio effects: filter reserved effect commands\" into nyc-mr1-dev am: 125fc63d73 am: a5d728cce1 am: ccd8680538\nam: dd36008b78\n\nChange-Id: Icd196218ebeaa40b2463b1a35eb2cb9e27d76b0c\n"
    },
    {
      "commit": "dd36008b782ec1da0ded327dc51292d102c690d4",
      "tree": "62688bd7c8ba2a2e0f770cd8fb7550293abbe5c8",
      "parents": [
        "024216f32b482c9a9609263f9c1711fc08f86087",
        "ccd8680538d3bc3b3c0ef201b3511ee065eca12f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 15 00:56:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 00:56:06 2017 +0000"
      },
      "message": "Merge \"audio effects: filter reserved effect commands\" into nyc-mr1-dev am: 125fc63d73 am: a5d728cce1\nam: ccd8680538\n\nChange-Id: I0af69333bcb67ef6534175ce986fc05e5a26ffa6\n"
    },
    {
      "commit": "c7ab309ecbb289cd1296430f724166a26bd45afe",
      "tree": "499766fbb5598e74f874966bfad6a56bea4e8e0b",
      "parents": [
        "25c4535f04eb2229eca4dfa0da04b13c004f3446"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 15 18:43:46 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 02:11:00 2017 +0000"
      },
      "message": "audio effects: filter reserved effect commands\n\nBlock effect commands reserved for framework use when\nreceived on server side IAudioEffect. Applications have no reason\nto use these commands and they present a unnecessary attack surface.\n\nBug: 62019992\nTest: run CTS tests for audio effects\nChange-Id: Ie680d5d5650f99dbabf93891703e1cde2c2e852d\n"
    },
    {
      "commit": "444841ffd7f56f7eadc3cccd59e62738626f0c33",
      "tree": "aa221059eeba7e4b10174a565a27d61a6ea2ba40",
      "parents": [
        "fbd7e12c373435c77aa5b20bdf321a0589521746"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 16 15:36:43 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 13 12:52:05 2017 -0700"
      },
      "message": "Get declarations from the proper header file\n\nTest: builds OK\nChange-Id: I759e49570cd00b3e5101f38164fcac5ac53faa6c\n"
    },
    {
      "commit": "869fab171971f350d5adf4680608ff39049270c3",
      "tree": "39f4990725b81c5d837db554c3e55d260108d453",
      "parents": [
        "a45c300fcad38e23107b3ad8dd1d3935f5127f9c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Feb 27 18:44:19 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Feb 27 18:44:19 2017 -0800"
      },
      "message": "AudioFlinger: fix Effects handling for MMapThread\n\nTest: CTS test_aaudio.cpp in Exclusive mode\nChange-Id: Iac63d901822255028b16c5b90ca07a72ceec372a\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "7863c791dba8c4e5e9591b6837d410e580be0a25",
      "tree": "5199273fa3bac5303b0aa8dcdfd984f49f75e30f",
      "parents": [
        "94a20830fc0768efc138ab7f746f80e8b3d60c15",
        "6acd1d432f526ae9a055ddaece28bf93b474a776"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 10 20:24:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 20:24:22 2017 +0000"
      },
      "message": "Merge changes from topic \u0027mmap_no_irq\u0027\n\n* changes:\n  Add support for mmap stream\n  audioflinger: define MMAP HAL Stream control interface\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": "6acd1d432f526ae9a055ddaece28bf93b474a776",
      "tree": "5035b942396a0e907e0c23f803a349d17dc50ad5",
      "parents": [
        "fc23520d9c3f15e28baa81de5f7dfa6c1b0af426"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 04 14:23:29 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 11 12:59:06 2017 -0800"
      },
      "message": "Add support for mmap stream\n\nAdd support for MMAP streams created by Oboe service.\n- A new audio thread class MmapThread deriving from ThreadBase\nis added to manage permissions, volume, routing and wakelocks for activity\non MMAP streams.\n- Requests received over MmapStreamInterface to open, start and stop\na MMAP stream are forwarded to audio policy manager so that activity\non MMAP capture and playback streams is visible to audio policy and\ntaken into account in volume and routing management.\n`\n\nBug: Bug: 33398120\nTest: manual test\nChange-Id: I957906495fe9277d2972d810b633f50cd1e14ec3\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "34f29aac0400290f98d42a3d807b2b8d6e8bd4e6",
      "tree": "69088e2ff253432dec7a84db76b35327243bc633",
      "parents": [
        "bc30f3a764d8019e06280271676b5f1dad7d0575",
        "8c8eb964c09435a4834dedcba248c4a0944653ba"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 20:18:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 20:18:48 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\nam: 8c8eb964c0\n\nChange-Id: If5f09a4ad11bc1045e8a961091cfaa90ff554237\n"
    },
    {
      "commit": "134e20847763b64ae4afb968f55801c0cfb26c5f",
      "tree": "307050ea3490fe852fb16185ca9905eca944a3f6",
      "parents": [
        "a44d1479c6f4264898a2ea44e358a1290da1e9b5",
        "f0f864a1e45b63a6614e90f86a576e7dfa0008c1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 19:52:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 19:52:27 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785 am: 14d87911d7 am: 79a088a065 am: 58e5681c96\nam: f0f864a1e4\n\nChange-Id: I4e1a1cbcc97223abf9f87a0e575f198342c2accf\n"
    },
    {
      "commit": "79a088a065f04239f404c4f94bc0d8bcc82ffaad",
      "tree": "3ccd5506f9dd4185a308776a29c63a434b94dd82",
      "parents": [
        "354864c4438b3110dd58710845246872d267aca6",
        "14d87911d7409ce7ccea00980fafccf2bd60e301"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Nov 10 19:33:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 19:33:22 2016 +0000"
      },
      "message": "Effects: Check get parameter command size am: 3d34cc76e3 am: 59920bf785\nam: 14d87911d7\n\nChange-Id: Icbc43a1d34af774dcf500cdb3548d0399f0b6943\n"
    },
    {
      "commit": "eb6300d4bbe1cb0e24e26b15e3b5af8afe874c5f",
      "tree": "ed34af95f99f31cdd0b2425b52fd6d65e098ab7c",
      "parents": [
        "93f52337443196a95d183cb8fd8984aa86c41235",
        "1c79c0531cfd3730253a3e07da7a4348b1f920fb"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Nov 10 15:33:38 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 15:33:38 2016 +0000"
      },
      "message": "Merge \"Override Auxiliary audio effect output as stereo\" am: 568085d022 am: f34b5f6e93 am: 7b5b1e315d\nam: 1c79c0531c\n\nChange-Id: I2ef049fd9a82711022179938838c3f4598552b62\n"
    },
    {
      "commit": "f34b5f6e93751a7ec05efccb658951ee90e1d09c",
      "tree": "95f772984b254ff85832094c4474461dd654443c",
      "parents": [
        "402c93e609bc76da633a64052710435528be237c",
        "568085d022c299c9899e54ed886ed8ef3b7d47e0"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Nov 10 15:13:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 10 15:13:35 2016 +0000"
      },
      "message": "Merge \"Override Auxiliary audio effect output as stereo\"\nam: 568085d022\n\nChange-Id: I4f705ee2b47f30731d4f1ac46213fbcd678633a5\n"
    },
    {
      "commit": "12ccef792da1f12a7916f2dca521eb2314eb5298",
      "tree": "e19e4510226f49f9c8710c7302514018658b92fb",
      "parents": [
        "92047ec34ba7339ff1b99ede8e483cc2f64d436c"
      ],
      "author": {
        "name": "Yuuki Yokoyama",
        "email": "yuuki.x.yokoyama@sonymobile.com",
        "time": "Tue Aug 23 17:11:03 2016 +0900"
      },
      "committer": {
        "name": "Hidenari Koshimae",
        "email": "hidenari.koshimae@sonymobile.com",
        "time": "Thu Nov 10 09:29:53 2016 +0900"
      },
      "message": "Override Auxiliary audio effect output as stereo\n\nAuxiliary audio effect supports only stereo as output channel.\nOverride output channel in case of Auxiliary effect.\n\nBug: 31985321\nChange-Id: I308a6281e2ae2b8f814a659aa40dc6220ab7660a\n"
    },
    {
      "commit": "8d029bffae6ab6592ea0f2aaa8938d04bf4c8a97",
      "tree": "4021a3ea1d299ba4c6e8d101b0e92c7b12d4fe84",
      "parents": [
        "afe53b6b9d8e0f295112a896261cc428b41b361d",
        "6660f12f004b5f9e45a6686c646b982ca5bf06d5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Nov 09 02:33:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 09 02:33:48 2016 +0000"
      },
      "message": "Merge \"Effects: Check get parameter command size\""
    },
    {
      "commit": "913d06c099bd689375483a839e11057ccf284d1c",
      "tree": "25d7f40231f47897013b0984348f40bf05b72ea7",
      "parents": [
        "267e07cd8432679bcdd72b0bdf38846446c1c4ed"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 01 12:49:22 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Nov 07 09:29:37 2016 -0800"
      },
      "message": "Move TypeConverter into a shared library\n\nThis will be needed for the default implementation of the audio HAL\nin TREBLE for parsing supported formats etc. provided by HAL in\na form of string literals.\n\nAs a bonus, remove some hand-written type conversions in AudioFlinger\nused in dumps.\n\nExample changes in the dump output:\n\n   HAL format: 0x1 (pcm16) \u003d\u003d\u003e HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)\n   Processing format: 0x5 (pcmfloat) \u003d\u003d\u003e Processing format: 0x5 (AUDIO_FORMAT_PCM_FLOAT)\n   Output device: 0x2 (SPEAKER) \u003d\u003d\u003e Output device: 0x2 (AUDIO_DEVICE_OUT_SPEAKER)\n   Input device: 0 (NONE) \u003d\u003d\u003e Input device: 0 (AUDIO_DEVICE_NONE)\n   AudioStreamOut: 0x... flags 0x6 (PRIMARY|FAST) \u003d\u003d\u003e\n       AudioStreamOut: 0x... flags 0x6 (AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST)\n\nTest: make \u0026 run\nChange-Id: I9cde640e6827b7aa6d62e9caade9e738227e299f\n"
    },
    {
      "commit": "3d34cc76e315dfa8c3b1edf78835b0dab4980505",
      "tree": "fb24b34565049a9208769dc0424aba9d0cd666fd",
      "parents": [
        "2c28e5b1266a12163fed8236d34830f69f8216a2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 04 19:40:53 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Nov 05 02:52:49 2016 +0000"
      },
      "message": "Effects: Check get parameter command size\n\nTest: Custom test.\nBug: 32438594\nBug: 32624850\nBug: 32635664\nChange-Id: I9b1315e2c02f11bea395bfdcf5c1ccddccbad8a6\n"
    },
    {
      "commit": "6660f12f004b5f9e45a6686c646b982ca5bf06d5",
      "tree": "042f6eee88bd7e1ad25f15957188776a570f8e13",
      "parents": [
        "d72ffc4416959d2c94838888c781468b2351716d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 04 19:40:53 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 04 19:50:23 2016 -0700"
      },
      "message": "Effects: Check get parameter command size\n\nTest: Custom test.\nBug: 32438594\nBug: 32624850\nBug: 32635664\nChange-Id: I9b1315e2c02f11bea395bfdcf5c1ccddccbad8a6\n"
    },
    {
      "commit": "9fe94012187a29eeeca2c74e75f121192560fba0",
      "tree": "6019137198afcc098e664c337b86b765d63a63bc",
      "parents": [
        "61a4fac2e3ec271241e3a4f405d7357b7f6ca4c2"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Oct 14 14:57:40 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Oct 14 15:29:33 2016 -0700"
      },
      "message": "Split audio effects headers\n\nThere can be different use cases with the code that imports\nheaders from audio_effects (each subsequent case is a more\nspecialized version of the previous one):\n\n  1. The code only needs access to general structures\n     like effect_descriptor_t:\n     \u003d\u003d\u003e include system/audio_effect.h\n     Example: AudioSystem in libmedia\n\n  2. The code that needs access to effect UUID and parameter\n     enums:\n     \u003d\u003d\u003e include system/audio_effects/effect_foo.h\n     Examples: media framework effects interfaces, libwilhelm\n\n  3. The code that needs to call into HAL:\n     \u003d\u003d\u003e include hardware/audio_effect.h\n     Examples: libaudiohal (implementation part) and libeffects\n\n  4. The code that implements a particular effect:\n     \u003d\u003d\u003e include audio_effects/effect_foo.h\n     Examples: cts/.../CTSTestEffect.cpp\n               stuff in hardware/, vendor/\n\nNote that AudioPolicy still deals with the effects HAL directly,\nthis needs to be fixed.\n\nChange-Id: I963335ede6a196f9225caf21e1a01d03635e363c\nTest: make\n"
    },
    {
      "commit": "473de569eed6438ee3eea955efe309900122f051",
      "tree": "bd7a57db417df87bb37243012f3854034defa6ac",
      "parents": [
        "d3196abc2d216e74be7b137cd0b93ef5b4f005db",
        "5bc5b90bbe3eae27c6de5a556eda531d4430dfab"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 12 19:56:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 12 19:56:09 2016 +0000"
      },
      "message": "AudioFlinger: Improve effect compatibility with RAW and FAST am: d3bb0adfe4 am: 4a7ef5c1d7\nam: 5bc5b90bbe\n\nChange-Id: I681d68a632a527983972df160ba5dab1c50967cc\n"
    },
    {
      "commit": "5bc5b90bbe3eae27c6de5a556eda531d4430dfab",
      "tree": "33c6c894943057ea9867ad8d396ec8f1fa04fdab",
      "parents": [
        "13c04bc10f428243921c71699646476a2b921363",
        "4a7ef5c1d70bbe944ca812769f98ff45400562c8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 12 19:48:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 12 19:48:55 2016 +0000"
      },
      "message": "AudioFlinger: Improve effect compatibility with RAW and FAST am: d3bb0adfe4\nam: 4a7ef5c1d7\n\nChange-Id: Ia7d516d957b0582ec6776d4306019e6f2dfc10c0\n"
    },
    {
      "commit": "d3bb0adfe40e60bb94e9a87e8d5bffb4ea6863b0",
      "tree": "b9ee66240bf0caaaecfbb6d9ca7c1ce54d5e8697",
      "parents": [
        "2035bc0e096cbef893a36c1888da67a77d1330b9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Oct 11 17:16:43 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 12 10:01:27 2016 -0700"
      },
      "message": "AudioFlinger: Improve effect compatibility with RAW and FAST\n\nEffects without process function now are allowed with RAW\nand FAST playback and record tracks.\n\nBug: 32053844\nChange-Id: I58064eb2c357043c2da1a781a20988f42570d97e\n"
    },
    {
      "commit": "a0c91339814f37ea78365afb436c9f3d1f0a0090",
      "tree": "b0075232d68758a314754a9293c65ea15091ca95",
      "parents": [
        "5090f7d3211b5517a7602c910c04462f7eee0727"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Sep 19 10:01:12 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Sep 26 14:53:38 2016 -0700"
      },
      "message": "Update NBAIO to use the new audio HAL abstraction layer\n\nMoved the HAL access abstraction layer to a separate library so it\ncan be used both by audioflinger and libnbaio.\n\nBug: 30222631\nTest: manual with Loopback app, Hangouts, YouTube\n\nChange-Id: Id622c2f1aa8f55a775d34f369a596c2c4d29d5be\n"
    },
    {
      "commit": "1dc98674f701dada94143b4d31b7221c58346c6c",
      "tree": "44f80a66fdff774d2229ca3aaabdd614ed1f8013",
      "parents": [
        "9debf8f6d26f7aa12c68ddfb6cdb1323d4b5adbf"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Aug 18 17:50:29 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Sep 21 15:58:24 2016 -0700"
      },
      "message": "Abstract away access to audio streams HAL in AudioFlinger\n\nIn this CL all direct access to audio_stream_t, audio_stream_out_t, and\naudio_stream_in_t their functions is encapsulated within the new\nhierarchy of Stream[In|Out]HalLocal classes.  AudioFlinger uses\ninterface classes Stream[In|Out]HalInterface to access these functions.\n\nNote that NBAIO still receives raw HAL stream handles and needs to be\nconverted separately.\n\nBug: 30222631\nTest: manual with Loopback app\n\nChange-Id: I6388cfa2006791c9c0aa7bb186719209726a2d48\n"
    },
    {
      "commit": "db0fd69d5dd2cb70009884458d5c78c9e7256c15",
      "tree": "4b16fae6e5bf6231de2d2a931beae3a892bc626c",
      "parents": [
        "681caefc7d3db69952daf1536513070c50b99635",
        "77b44035440f4dfc1c8d29da7d800f111ebe6376"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 16 10:26:09 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 16 10:26:09 2016 -0700"
      },
      "message": "Merge commit \u002777b44035440f4dfc1c8d29da7d800f111ebe6376\u0027 into fix_merge\n\nChange-Id: I0f1d2b605a8d90f86f8fa27cbf971018981c6c38\n"
    },
    {
      "commit": "77b44035440f4dfc1c8d29da7d800f111ebe6376",
      "tree": "16bb499a29cb5ac24acdaf0f350e6fd838972e36",
      "parents": [
        "b58c4e1bbd4e2420614e1bfe13f885e502301b63",
        "79c3335e35ce7dea158ac8bf03922c843987f5a9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 16 16:37:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 16 16:37:18 2016 +0000"
      },
      "message": "audio flinger: add support for effects without process function am: 6dd0fd92d6\nam: 79c3335e35\n\nChange-Id: I719e0379c19d6e0e4e50597726f83b3a1d0b3cd8\n"
    },
    {
      "commit": "6dd0fd92d6cdeb2cf5b7127c0e880e5eacfd4574",
      "tree": "bbc1a7a950617900e093696c6e81c589151ba65c",
      "parents": [
        "7c6bd7b17835cfa615d1f74aa7fe7c45c7190e4d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 15 12:44:53 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 15 17:27:27 2016 -0700"
      },
      "message": "audio flinger: add support for effects without process function\n\nAdd support for effects indicating they do not implement a process\nfunction and do not consume CPU or add latency.\n\nEnable those effects on RAW and FAST outputs and inputs.\nDo not call the process function.\n\nBug: 31491112.\nChange-Id: If020c8bb3b180568dec5138b087edec8c2524182\n"
    },
    {
      "commit": "e4f1f63a2c54ee8687ad8cca18df0f6639ad7c81",
      "tree": "941cdb35111e5e01ece553475e5bbf7841a7116c",
      "parents": [
        "1724ee3caa5f0b4e73979036073f0b71a115083a"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Aug 31 11:35:10 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Sep 13 16:27:15 2016 -0700"
      },
      "message": "Abstract away access to audio devices HAL\n\nIn this CL all direct access to audio_hw_device_t and its functions is\nencapsulated within the new class DeviceHalLocal. Loading of hardware\nmodules is encapsulated withing DevicesFactoryHalLocal.  AudioFlinger\nuses interface classes DevicesFactoryHalInterface and DeviceHalInterface\nto access these functions.\n\nBug: 30222631\nChange-Id: Ic88b20c55813a24b898f4a832e082c17d81935b7\n"
    },
    {
      "commit": "4a3d5c23f79189eb7ab9f31c440c7da5b15947a2",
      "tree": "6417b4b0425ae73ba9e7c7ce3e17e7dc499e0fec",
      "parents": [
        "ecb008139a952a7e5d812e7eb0f5af0f9466d25d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 15 13:47:42 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 29 10:22:35 2016 -0700"
      },
      "message": "Abstract away access to audio effects HAL and factory\n\nIn this CL all direct calls to functions from EffectsFactoryApi.h\nand hardware/audio_effect.h are encapsulated within two new\nclasses: EffectsFactoryHalLocal and EffectHalLocal. AudioFlinger\nuses interface classes EffectsFactoryHalInterface and\nEffectHalInterface to access these functions.\n\nBug: 30222631\nChange-Id: Id64b9c5529319077f6f968921489a13f60daa977\n"
    },
    {
      "commit": "3366d7965645c1f9694493fa2caff361158a90f2",
      "tree": "40c92a1e1ba3eb3e460f13c7780aa99661db4545",
      "parents": [
        "c02035e964ba16dcd9188a340a9e0d6e8b2e3d4d",
        "a3e0e40218a3f1dafa7b9084615a6e80d2812d87"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 19 19:45:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 19:45:19 2016 +0000"
      },
      "message": "Add EFFECT_CMD_SET_PARAM parameter checking am: e4a1d91501 am: 19d8a61324 am: ebd9f1029e am: d37cf46848 am: ced0dd635e am: 00acbf03be am: 1ab50af9c1 am: 18e5ce6891 am: 0330f4ce2d am: 41880fe252 am: 7b2ce5639f am: 4faee5a880\nam: a3e0e40218\n\nChange-Id: I56558cd3dff5fcafafd6fe5cd542b57bf836f544\n"
    },
    {
      "commit": "183d012ea9e1d2bea2f46fb4c784b824075ce841",
      "tree": "720958fbd1bfb98a4c4c0a38c8b5f31c50cb4e09",
      "parents": [
        "554ad9b1fa280d7bf72e420cbcdf1f46e973df6a",
        "4faee5a880c5c5363c64dd8b1d5c8f42bf85e424"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 19 19:45:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 19:45:19 2016 +0000"
      },
      "message": "Add EFFECT_CMD_SET_PARAM parameter checking am: e4a1d91501 am: 19d8a61324 am: ebd9f1029e am: d37cf46848 am: ced0dd635e am: 00acbf03be am: 1ab50af9c1 am: 18e5ce6891 am: 0330f4ce2d am: 41880fe252 am: 7b2ce5639f\nam: 4faee5a880\n\nChange-Id: Id866cf06e00f0ca2de3229d868ef1d945def4d45\n"
    },
    {
      "commit": "a3e0e40218a3f1dafa7b9084615a6e80d2812d87",
      "tree": "c928f4c7c9836eb1eb1f4d544a78096fffd864dc",
      "parents": [
        "beafd1c1c1030c71079f765f42599a20d9e58e55",
        "4faee5a880c5c5363c64dd8b1d5c8f42bf85e424"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 19 19:41:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 19:41:51 2016 +0000"
      },
      "message": "Add EFFECT_CMD_SET_PARAM parameter checking am: e4a1d91501 am: 19d8a61324 am: ebd9f1029e am: d37cf46848 am: ced0dd635e am: 00acbf03be am: 1ab50af9c1 am: 18e5ce6891 am: 0330f4ce2d am: 41880fe252 am: 7b2ce5639f\nam: 4faee5a880\n\nChange-Id: I238d8ce2ab24f15b9d10e01974804cfa0c647f00\n"
    },
    {
      "commit": "4faee5a880c5c5363c64dd8b1d5c8f42bf85e424",
      "tree": "58aa1791524810a5bcf8477ca93e0df508a3ef6b",
      "parents": [
        "7e822583ee1bee3408285114f8a2bd065eef2033",
        "7b2ce5639f8388e31c9b0783f4a8d3584b08c59f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 19 19:38:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 19:38:17 2016 +0000"
      },
      "message": "Add EFFECT_CMD_SET_PARAM parameter checking am: e4a1d91501 am: 19d8a61324 am: ebd9f1029e am: d37cf46848 am: ced0dd635e am: 00acbf03be am: 1ab50af9c1 am: 18e5ce6891 am: 0330f4ce2d am: 41880fe252\nam: 7b2ce5639f\n\nChange-Id: Ic7468a587b3c709949f57bbb177cacafd9c72db0\n"
    },
    {
      "commit": "18e5ce689152760c29dbe83e68371b116a8f0605",
      "tree": "f0626a37f128d36bc34f78063e803c95a02a7000",
      "parents": [
        "1dd4973234911d447f7cae02c4beace1ef231bbd",
        "1ab50af9c1c1617a3d25dfc0458b428db69630c0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 19 19:24:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 19:24:45 2016 +0000"
      },
      "message": "Add EFFECT_CMD_SET_PARAM parameter checking am: e4a1d91501 am: 19d8a61324 am: ebd9f1029e am: d37cf46848 am: ced0dd635e am: 00acbf03be\nam: 1ab50af9c1\n\nChange-Id: I5be11eba820ccb3f6c3bb97b3fa417504306bb3f\n"
    },
    {
      "commit": "d37cf46848ff1eeedcf2c05bf00c18582941a412",
      "tree": "bec8df82d205971616059be56b15999e3e69f605",
      "parents": [
        "83cf293b73ed9ddff3162b75083f6a75dd07b7f2",
        "ebd9f1029e5e317e0fcf37163b741a0e48a39fa1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 19 19:04:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 19:04:15 2016 +0000"
      },
      "message": "Add EFFECT_CMD_SET_PARAM parameter checking am: e4a1d91501 am: 19d8a61324\nam: ebd9f1029e\n\nChange-Id: Ic2fa5bba22d9ffc7b69ea97e2e4bc44d8a0fa42d\n"
    },
    {
      "commit": "e4a1d91501d47931dbae19c47815952378787ab6",
      "tree": "427ee53e773dbdbb8b60f10ac9c8ae068bd30fdd",
      "parents": [
        "17a10c50e20d934c1ac5956fe9019d3013e3f8b3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Aug 17 14:11:13 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Aug 18 15:56:23 2016 -0700"
      },
      "message": "Add EFFECT_CMD_SET_PARAM parameter checking\n\nBug: 30204301\nChange-Id: Ib9c3ee1c2f23c96f8f7092dd9e146bc453d7a290\n"
    },
    {
      "commit": "5ca8f32280377dd923e72c3c6bd3994217461b8b",
      "tree": "b5146ce7885539d8b002d3270346f574e3965711",
      "parents": [
        "7aeb8c8d4437eb8f45be3ad3828764795e14ad4c",
        "63ef5a38f82d22c1f97922fe490a1fd336566d5c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 23:53:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 10 23:53:01 2016 +0000"
      },
      "message": "resolve merge conflicts of fd923e7 to stage-aosp-master am: df5d9246f9\nam: 63ef5a38f8\n\nChange-Id: I516a43c5e56323e99ad7a8ca2e4811b77c9704f4\n"
    },
    {
      "commit": "df5d9246f9607b1c2f8b134c46a05af06e206da3",
      "tree": "7cd9fcb42c86c8cfe950db239e21e8b5ece98369",
      "parents": [
        "7ad2854adc0abe8dd7909a6ed401107ad09bc3d2",
        "fd923e7fe2779bcd69d79471b8c30c8b98918f62"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 15:40:39 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 16:10:32 2016 -0700"
      },
      "message": "resolve merge conflicts of fd923e7 to stage-aosp-master\n\nChange-Id: I75b44b89bae41197a1fd68362d20b8ba2b4dd192\n"
    },
    {
      "commit": "36d0ca16024820df9a12903d2ac443fabcc180bc",
      "tree": "51e8f285ae66ad7cb922caeb7ba8d5f1d20367e3",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:31:32 2016 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 17:56:35 2016 +0000"
      },
      "message": "Fix clang-tidy warnings in audio and playerservice.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I265f3b094e08d5705b506b3fbba51439c134af84\nMerged-In: I265f3b094e08d5705b506b3fbba51439c134af84\n"
    },
    {
      "commit": "e7449bf60c861f1dea7510f706004dfdb5efb2a7",
      "tree": "e5d8701c50e92a774437ce608f108131c660e6c8",
      "parents": [
        "fa1e123f3fffe1eb3d6c284e19014815835e22d6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 03 18:44:07 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 03 18:44:07 2016 -0700"
      },
      "message": "audioflinger: fix effect volume set on start.\n\ncommit fa1e123f forced effect volume to be re applied when\nan effect is enabled regardless of the fact that the volume was\nalready set or not on the effect chain. This caused a systematic\nvolume command to be send with an invalid value immediately\nfollowed by the correct value.\n\nBug: 30458082\nChange-Id: Ida4b5d7e96c2d4da298589c37c2ce98541a9396a\n"
    },
    {
      "commit": "fa1e123f3fffe1eb3d6c284e19014815835e22d6",
      "tree": "8ccaf58905328e2a618f15ff0952ed1fcd6a3802",
      "parents": [
        "440fa2cdb486b962fe5d65985bbf03e84f1cbb2a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 02 19:01:49 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 03 11:09:31 2016 -0700"
      },
      "message": "audioflinger: fix effect volume control delay\n\nFix delay between effect enable and forced volume update on\noffload threads.\n\nBug: 30458082\nChange-Id: I4222ccde8c6d0bb834c525d3746bd668654f50f3\n"
    },
    {
      "commit": "f3c87704fcd7f2556948d3174083cb3b3784bc4c",
      "tree": "3582b19f765a936985de9111601bdb6c91d03c9a",
      "parents": [
        "48c926f72b6c64edf6d03b91604b87695609f96e",
        "c0da99333228e88c311f6e4d52bb282b11d0d068"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 18:11:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 18:11:49 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c am: 195f7c6125 am: 1e1b7e4c3d am: d34a9dfc5e am: 4d942ffdf7 am: 97dc689080 am: 96727e67fa am: 2072f925af am: 807b325704\nam: c0da993332\n\nChange-Id: Icd6b91a252aa1095229052c5d042de0af06dc2f1\n"
    },
    {
      "commit": "c0da99333228e88c311f6e4d52bb282b11d0d068",
      "tree": "818206d8aa2b5db785b3dc2c5bf71eb94aadf2c6",
      "parents": [
        "ef7c297ea4b61ec25f3277f83069c42997deac9a",
        "807b325704b3361cb9846450e8d3bbea96a0fa1c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 18:09:02 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 18:09:02 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c am: 195f7c6125 am: 1e1b7e4c3d am: d34a9dfc5e am: 4d942ffdf7 am: 97dc689080 am: 96727e67fa am: 2072f925af\nam: 807b325704\n\nChange-Id: If0a3ddbf84c520434f88ad5f6f02fd854cf8c4aa\n"
    },
    {
      "commit": "97dc6890807d2cf861bac781acad375173906e62",
      "tree": "9809fc859f6dd936c532ed064dc443bb8758eef3",
      "parents": [
        "69367123bee39b647d9c72e8f88cea4d241123e0",
        "4d942ffdf7cfbfe43133bf1c87eda4e4569f3507"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 17:52:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 17:52:29 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713 am: c971a59f4c am: 195f7c6125 am: 1e1b7e4c3d am: d34a9dfc5e\nam: 4d942ffdf7\n\nChange-Id: I5d59510f7bd7c8b72deef4de177193028af1f4c7\n"
    },
    {
      "commit": "195f7c6125d7c0a48c9f7f0aeb0311ba076a8df7",
      "tree": "0cf37057165f2c538565caa6eec53e26346c053b",
      "parents": [
        "719fd3c0625705777f1ef0667005b111733c2e0b",
        "c971a59f4c2491a2e5143f7118debd7c92fa3333"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 21 17:41:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 17:41:26 2016 +0000"
      },
      "message": "Check effect command reply size in AudioFlinger am: 110bc9547a am: 075c8f7713\nam: c971a59f4c\n\nChange-Id: I86d971f1a537a34e90e4f0697c9c9a43e509cfc4\n"
    },
    {
      "commit": "110bc9547a0c851ff1f20f5d7579b34f942947b8",
      "tree": "b719fae497302d432d53af62476ca1508f4854cc",
      "parents": [
        "dc7357d20175fadfabd903370094917408bf6e3e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 20 15:22:52 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 20 15:22:52 2016 -0700"
      },
      "message": "Check effect command reply size in AudioFlinger\n\nBug: 29251553\nChange-Id: I1bcc1281f1f0542bb645f6358ce31631f2a8ffbf\n"
    },
    {
      "commit": "4c415062ad1bb53e9af8f644d8215837262b79bb",
      "tree": "ef03f2781c22f245b13404d321f8f1bac9e24912",
      "parents": [
        "e8a984e43504890e0f676256a0445b9917a2af91"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 17 16:14:16 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 20 12:26:30 2016 -0700"
      },
      "message": "audioflinger: add check for effect vs thread compatibility\n\nMake sure that only HW accelerated effects are added on FAST\nplayback or record threads and no effect is added on threads with\nRAW flag.\n\nMake sure that tracks with RAW and FAST flags are compatible with exiting\neffects on a playback or record threads and clear flags accordingly.\n\nBug: 4999001\n\nChange-Id: I0c060f1ee4dfb9f1e206633536e67f7c3b7b3788\n"
    },
    {
      "commit": "c42e9b462661673dff480ee71757a58b0f806370",
      "tree": "c9d53e761500f2466b7b8c4cfeb78b072d424e29",
      "parents": [
        "02c4f1c02b832868bbae2bf2c62039e54dc0b6d4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 21 11:35:03 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 21 12:05:28 2016 -0700"
      },
      "message": "Fix build warnings\n\nChange-Id: Idfdaff3a7a8f60cd8817bd306bfba28020a391c8\n"
    },
    {
      "commit": "57c4e6f7464d458eb52d209c2a63524913d6406d",
      "tree": "b7fae46bbc981c62460d572b51d6f68b9f9b847d",
      "parents": [
        "560a198f1f95a085e24944b20df536e75e21cedb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 14:54:07 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 17:36:37 2016 -0700"
      },
      "message": "Fix build warnings\n\nChange-Id: I33178dbe0bfc087d6599579ca0529ad853c669ed\n"
    },
    {
      "commit": "d848eb48c121c119e8ba7583efc75415fe102570",
      "tree": "06733e396ad546bf39be0a6699193d041883edad",
      "parents": [
        "38246e482ea3bd1e0f88f7133934ec4537b48bbd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 08 13:42:11 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 16 14:04:22 2016 -0700"
      },
      "message": "Use audio_session_t consistently\n\nBug: 27562099\nChange-Id: I328d8226191386b163f2ace41233607294c50dcd\n"
    },
    {
      "commit": "d11da70f0e1d06ee6c7b2f83fcfb06257a1c90f2",
      "tree": "3620c1269dd9a73cf533cbed5888459edbf87abf",
      "parents": [
        "70b2313318aaf245d185b6ddb188606608bdf7c9"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu May 28 12:14:12 2015 -0700"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu May 28 14:28:40 2015 -0700"
      },
      "message": "Fix for audio effects in offload path for mono content\n\nEffects path is always stereo, and it should be initialized as thus even\nif the source is mono. Fixed condition check before initialization.\n\nbug: 18157592\nChange-Id: Idd7241931e4ba6085fd804345128d898c8511e11\n"
    },
    {
      "commit": "63238efb0d674758902918e3cdaac322126484b7",
      "tree": "07fdf37a2bc73a886d8ea41f69e722ed914754af",
      "parents": [
        "d7e1d08c2ac21cdd2f3b7f83fec7094f6a98fc08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 15:50:29 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 08:50:40 2015 -0800"
      },
      "message": "Remove redundant semicolon from namespace closing\n\nChange-Id: I163f9d3d216c283ae1160ce4802e5247cf44fba7\n"
    },
    {
      "commit": "1b92868010b5c1409692a86f6b27e4a265b64c1a",
      "tree": "aa514a65d23d1bebbceef49cc6b7f2662c7bad76",
      "parents": [
        "d8b03abf1d003e2940a19f0071ea2892689dd10e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 02 19:41:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 02 19:41:47 2014 -0700"
      },
      "message": "audioflinger: fix pre processing transfer between record threads.\n\nFix two problems remaining with pre processing effects transfer from\none record thread to the next in case of tear down due to device connection:\n1 - the enabled state of the effects was not communicated to the new HAL\ninput stream.\n2 - the effects saved in orphan chains list were not transfered to the\nnew thread when a AudioRecord was created.\n\nBug: 17757378.\nChange-Id: I0923c98470db3b51154dc89846157780a4c21e86\n"
    }
  ],
  "next": "cb4b6e9f05d1c0b3fcc5be5ebe3f7d6f32669b1a"
}
