)]}'
{
  "log": [
    {
      "commit": "8345f77901ff4715a450c025807eac05aefda761",
      "tree": "dc43bae534d33505451b054f8c87b6ee2ef102a5",
      "parents": [
        "7364259af42a8348efe0ef5ab8b3a160dce303a3",
        "1da5859d05267b336325f2662a72c1456f61e430"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 31 05:08:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 31 05:08:19 2017 +0000"
      },
      "message": "DO NOT MERGE Revert \"Log audio information to ensure complete delivery\"\nam: 1da5859d05\n\nChange-Id: Ie5b427db9af0fdb8427e0985450328f3a2977013\n"
    },
    {
      "commit": "4b058e7e5d58fb1bc6ba82eba94f7664e5b85706",
      "tree": "786e108a34a3ac65d02aa5245f1ad19117aaef60",
      "parents": [
        "aff7bd0ca1f1e6f860e056792938985e571fc75d",
        "877f77997987212ae0fbfecb24b35c03a0573006"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 19:25:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 11 19:25:56 2017 +0000"
      },
      "message": "Merge \"Add missing nullptr checks for data.readCString() strings\" am: ce961d374f am: 238c48e42e\nam: 877f779979\n\nChange-Id: Ic6e96b9ff3ecc609c40f8c5d5367a789b3732b7e\n"
    },
    {
      "commit": "877f77997987212ae0fbfecb24b35c03a0573006",
      "tree": "784bda81ca3055da5341cb11f86e0e0fddc06d90",
      "parents": [
        "7ceeb44566c54be121136a456142143e6bc4c4ac",
        "238c48e42e9e4daafc4cde73bc5c1856e7c10614"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 19:20:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 11 19:20:24 2017 +0000"
      },
      "message": "Merge \"Add missing nullptr checks for data.readCString() strings\" am: ce961d374f\nam: 238c48e42e\n\nChange-Id: I2e9cb8ec6752506cc5445aee3d38ae92e4f5e514\n"
    },
    {
      "commit": "c694ff449bef4ca1e45a6506f34e66c613757311",
      "tree": "36f66657e3389dbb6b30b7e122ff415f9ce5f40c",
      "parents": [
        "20adbc00032d6df980a3300f1ae974610f16f81f"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Mon Jan 09 23:27:29 2017 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 16:51:37 2017 +0000"
      },
      "message": "Add missing nullptr checks for data.readCString() strings\n\nProtect the Audio Policy Manager by adding extra checks\nfor data.readCString() strings when parsing / decoding\na Binder transaction.\n\nAlso:\n * Moved audio_is_output_device() / audio_is_input_device() checks\n   inside handleDeviceConfigChange()\n   from the AudioPolicyInterface to the AudioPolicyManager\n * Removed similar redundant checks inside\n    AudioPolicyService::setDeviceConnectionState()\n\nTest: code compilation\nChange-Id: Ib32a28ba2669b73aaf32b31bb18f41c8dd7d2605\n"
    },
    {
      "commit": "cb680c9cc4009261dd2fbe40a1a585737746589d",
      "tree": "a87683334274fb029239fb23404d55f7e1668236",
      "parents": [
        "9033512273129383c8cc78beee61f17b50ffff49",
        "19031e678e977a25490be092dc4f7005e396a9de"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Tue Jan 10 21:58:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 10 21:58:07 2017 +0000"
      },
      "message": "Merge \"Convert Android.mk in libaudioclient to Android.bp\" am: 0da9804f12 am: 05dfbecf27\nam: 19031e678e\n\nChange-Id: I528e03e58d8a34316cf8270d3bb2b5b5d828eee1\n"
    },
    {
      "commit": "19031e678e977a25490be092dc4f7005e396a9de",
      "tree": "26dcc07c19dd59bbea881dedfbbcfebaea757bf2",
      "parents": [
        "8790fb2613b493ab5ac3470deb522f79415eb6fe",
        "05dfbecf27a138d42c82160739dadf0f6b26c518"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Tue Jan 10 21:53:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 10 21:53:37 2017 +0000"
      },
      "message": "Merge \"Convert Android.mk in libaudioclient to Android.bp\" am: 0da9804f12\nam: 05dfbecf27\n\nChange-Id: I855fe9d7f9d6302eda5e5f3d747a10b2d3b3b193\n"
    },
    {
      "commit": "d92d34e86cca348097cea2afa3ddb009572b9303",
      "tree": "dff68900160963ab0800da0af99d249ede268203",
      "parents": [
        "98d1217d58b1879eccee445c3510a8c563a61d11"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Thu Dec 08 15:44:14 2016 -0800"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Tue Jan 10 11:13:25 2017 -0800"
      },
      "message": "Convert Android.mk in libaudioclient to Android.bp\n\n* Since system/bt depends on this library, it needs to be converted to\n  Android.bp before the conversion in system/bt can be continued.\n* Majority of work is done by androidmk Android.mk \u003e Android.bp\n* Fixed sanitize arguements\n* Removed LOCAL_EXPORT_C_INCLUDE_DIRS as Android.bp only supports\n  exporting sub-directories of current Android.bp file\n* Removed frameworks/av/media/libmedia/aidl include path as it no longer\n  exists and Android.mk failed to check that\n* Removed include path for audio-utils as it is being automatically\n  included when we link against libaudioutils\n* Android.mk file must be deleted as a library of the same name can only\n  be defined once in either Android.bp or Android.mk\n* A library defined in Android.bp can be used by either Android.bp or\n  Android.mk files. However, a library defined in Android.mk cannot be\n  used by Android.bp file. Therefore, for system/bt to link against this\n  library in the Android.bp, this library must be converted first\n\nBug: 32958753\nTest: Code compilation, no user visible effect\n\nChange-Id: I2ae87a1151ed4235122c7774096c2dbff8b1fc62\n"
    },
    {
      "commit": "c6fe843463abc965f3082738c8812506cf5ba232",
      "tree": "8818a3ad8b5a4f776510672fb5100e60b2ffba20",
      "parents": [
        "4532a36bf509d822a77cbc1b7837f9f1158c7796",
        "fcc113201018703727a0d6b17dd165efce00db1a"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Thu Dec 29 00:19:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 29 00:19:05 2016 +0000"
      },
      "message": "Merge \"Add a mechanism for handling audio device configuration change\" am: 549e431947 am: a1b496ac35\nam: fcc1132010\n\nChange-Id: I4c25c229b0bb8a385a231c7a9f444b923bb46456\n"
    },
    {
      "commit": "fcc113201018703727a0d6b17dd165efce00db1a",
      "tree": "70eca9738ea18322a92ebc4bb94a0894e1735034",
      "parents": [
        "1121dfb5f30a04393ddce02fe7808589fa9e3e25",
        "a1b496ac35a8bbdcae6b0315e91a5cf52b2af00d"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Thu Dec 29 00:12:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 29 00:12:05 2016 +0000"
      },
      "message": "Merge \"Add a mechanism for handling audio device configuration change\" am: 549e431947\nam: a1b496ac35\n\nChange-Id: Ie8871fad611dc16d7cd08a85e4cd748cf3c4650d\n"
    },
    {
      "commit": "f862bc6a7a35054e38cb50fa16ae7a07f683ee01",
      "tree": "12f33970e876ba71df008d7e38a58984c5b357b5",
      "parents": [
        "a05da2eea41306d526ce645ea44aa2e05054f651"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Mon Dec 26 18:57:22 2016 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Dec 28 14:35:01 2016 -0800"
      },
      "message": "Add a mechanism for handling audio device configuration change\n\n* Added new call handleDeviceConfigChange() to the Media Framework.\n  That call can be used when there are device configuration changes\n  (e.g., Bluetooth A2DP codec configuration has changed).\n* Added new method AudioPolicyManager::handleDeviceConfigChange().\n  That method toggles the UNAVAILABLE/AVAILABLE connection state of the\n  device, so it can be reconfigured as appropriate - e.g., the audio\n  feeding parameters can be updated.\n* Fix ALOGVV compilation errors when extra logging is enabled.\n\nTest: A2DP streaming to headsets\nBug: 30958229\nChange-Id: I388abbbb3ec4d1a003b441cb0c77e00d80cad668\n"
    },
    {
      "commit": "0ca38308c75568d571016c0e24fb8246bbf239b6",
      "tree": "23d77b77109ca92dfa41a91160ac62cf244c3820",
      "parents": [
        "c7e4f8e44f40e43c884b87f7ed7a8c0caa365352"
      ],
      "author": {
        "name": "Kiran Kumar Krishna",
        "email": "kiran@motorola.com",
        "time": "Tue Nov 01 07:50:22 2016 -0500"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 16 11:49:23 2016 -0800"
      },
      "message": "AudioRecord: fix AudioRecordThread crash upon exit\n\nIn case of error during openRecord_l(), there is a possibility\nthat a newly created AudioRecordThread is resumed by requestExit()\njust after entering the Thread class _threadLoop() but before\nentering the class threadLoop(). In this case, processAudioBuffer()\nis executed once with mCblk \u003d\u003d 0 and we assert.\n\nTest: test case at bug\nBug: 29993798\nChange-Id: I15d4f138218f6f01a020c4fc568a5b4831cb92a7\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": "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": "4ea929819e23ecd388e1edce25a10631ee53e9e3",
      "tree": "23738cbafefdd9f9dcc839a01525533e0045c554",
      "parents": [
        "5c4ca88476ea3c26b88fc13c281db9eb20913511",
        "795a2a75542d25eefa56bebc388340ee15fdff5c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 17:21:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 07 17:21:49 2016 +0000"
      },
      "message": "Split libmedia into libmedia and libaudioclient\nam: 795a2a7554\n\nChange-Id: Ic08eddc5650d3f5d344ebcf93ad98ae5bb236c8c\n"
    },
    {
      "commit": "795a2a75542d25eefa56bebc388340ee15fdff5c",
      "tree": "5b595a348342c3ad28549329ba5653ad62db75d1",
      "parents": [
        "bf26c4eb629b514648420916fd1db40333c30ea5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 13:21:22 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 19:31:54 2016 -0700"
      },
      "message": "Split libmedia into libmedia and libaudioclient\n\nThis makes it so audioserver doesn\u0027t need to link against the entire libmedia,\nwhich has dependencies on camera, ICU, OpenGL and other things that aren\u0027t\nneeded for audio.\n\nTest: build/boot\n\nChange-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af\n"
    }
  ]
}
