)]}'
{
  "log": [
    {
      "commit": "2996f67767ff90617cc5f7801c7bd8dc67c9dd66",
      "tree": "d20af841b6537ca44a0b1bf7a839e0ba3f9c7a91",
      "parents": [
        "3208826f676b1be78e1c04692d7f17249e45c3ea"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Apr 18 12:29:59 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Apr 24 14:49:52 2019 -0700"
      },
      "message": "AudioPolicy/AudioFlinger: Track AudioRecords via Record IDs\n\nThe client must provide a unique Record ID (RIID) when creating\nan AudioRecord. This RIID is passed down to AudioInputDescriptor\nin AudioPolicyManager which sends configuration updates\nvia IAudioPolicyServiceClient callback.\n\nBy supplying RIID, the Audio Service can coalesce start / stop\nevents coming from clients (apps) with recording configuration\nupdate events.\n\nFor AAudio MMap clients everything is handled at the server\nside because they correspond directly to audioserver objects.\n\nBug: 123312504\nTest: android.media.cts.AudioRecordingConfigurationTest\n      AudioRecordTest#testAudioRecordInfoCallback\n      MediaRecorderTest#testAudioRecordInfoCallback\n      manual testing using Oboe and Solo test apps\n\nChange-Id: I3d32241752d9a747736606dc4cb1e068e6b7aa3b\n"
    },
    {
      "commit": "cfe173220a3100c517e688e1bba0ff2da82a7b1b",
      "tree": "872a3d89ef3d021575d2719a02bf19e729c281ec",
      "parents": [
        "a6d44870d8edeffe8b6db3261d04b9e48fb11fd3"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Nov 07 13:41:29 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 26 17:47:46 2019 -0800"
      },
      "message": "audiopolicy: add Volume for attribute and callback native APIs\n\nChange-Id: I259de42452d2802aa8dbd553f56040dea6995a93\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n\nBug: 124767636\nTest: make\n"
    },
    {
      "commit": "a9f86651eaaf2f702b3759ec38dbb64ca8858356",
      "tree": "913a55b14107e7f94335bec0ad6705f9557255a0",
      "parents": [
        "c241b0dfc49014087123dae92f7341db8d30d443"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 28 17:23:11 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 19 18:05:00 2018 -0800"
      },
      "message": "audo policy: more info in onRecordingConfigurationUpdate\n\nReport more information in onRecordingConfigurationUpdate() callback:\n- For client:\n  - Port ID\n  - Enabled effects\n  - Silenced by policy\n- For stream:\n  - Active effects\n  - Active audio source\n\nBug: 111438757\nTest: make\nChange-Id: I34c3d0ee6251576de7d793bfaa2bc2c34efa2319\n"
    },
    {
      "commit": "ac4e42982d4537732b30e71c9a00ba0077944984",
      "tree": "1774e0b1cba1a173c29aaca85d4147e178c69346",
      "parents": [
        "c407bd4b32b99cab78e773ac51a57f49cd0985ea"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 22 11:39:31 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 19 18:03:28 2017 +0000"
      },
      "message": "Monitoring of recording: uid of recording session\n\nPass uid of recording session along with other existing information\n  in the recording monitoring callback.\nDefine new structure, record_client_info, to group uid (new),\n  session id (existing) and source (existing) and simplify\n  method signatures and marshalling code.\n\nTest: run cts -m CtsMediaTestCases -t android.media.cts.AudioRecordingConfigurationTest#testAudioManagerGetActiveRecordConfigurations\nBug 62579636\n\nChange-Id: I18f66d7e55640a21f31021416a12a3e8094c3690\n"
    },
    {
      "commit": "538ec5e04f389cba637b030757be317fcb8677a8",
      "tree": "c9c576057efe1f6c0bdf1a4cbf6b58dce68f5e3f",
      "parents": [
        "e085c1072f017d4910f7e49741f72e8a722b8892"
      ],
      "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 12:14:36 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"
    },
    {
      "commit": "47734c9509ecb472c2844cae46e2d916b9358321",
      "tree": "6b17e7f1540458e2f1abbe1c082353f920edc3df",
      "parents": [
        "20be7bf5ba6f3d4db36686d5af4316006cf9bb27",
        "98a9b2a491360c762e2ed46a9126f576693645a5"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "message": "resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp\n\nChange-Id: Iae0a5cb698807d74ba28878d7ce1f69b6ba5219a\n"
    },
    {
      "commit": "090ef604f81447eab4aa0a5b45d6307482573560",
      "tree": "6eb6530aab79b1cdc543ef16650be519db449e37",
      "parents": [
        "cdf7931424583ff20a754999216041fb46287cb3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:39:54 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:55:42 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings.\n\nBug: 28341362\nChange-Id: I625fbab25f16282c2ea929cd16283d9d146fa17b\n"
    },
    {
      "commit": "8c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972",
      "tree": "2ce1446fe6fe647e3e0dcbcaf82ac45c5551f492",
      "parents": [
        "809aeb1f725beed877887fe1c5ca3430d811b328"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 25 17:08:24 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 25 17:08:24 2016 -0800"
      },
      "message": "Send audio patch in recording callback\n\nRemove direct access to patch handle in AudioInputDescriptor, replace with\n  set / get functions.\nAdd interface for AudioSession to query configuration from enclosing\n  input descriptor.\nWhen input descriptor\u0027s patch handle changes during a recording, propagate\n  the change through the recording notification callback.\n\nBug 26798796\n\nChange-Id: Ia1395d44da7ccfe69ca46877638d1eb49b3935ad\n"
    },
    {
      "commit": "7281aa9810b33eff47b00104db26c97c77931611",
      "tree": "1fc5afe0784f22d1ab6507d07708b48b12b1c13d",
      "parents": [
        "eafe1f9734af31730790b0abaf8c6aae01bfee77"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 17 15:33:40 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 23 16:23:45 2016 -0800"
      },
      "message": "Send client / device format in recording callback\n\nBug 26798796\n\nChange-Id: Ib4f64159c8371d87da49a8f0cad9317a87d843c4\n"
    },
    {
      "commit": "2f4fe9f7df8f22c6bc8745407d19df73128810ec",
      "tree": "df7d3fe791c9256c7ca53fb36c8f563eec714a30",
      "parents": [
        "dd715cea770697ab6f424df74d69f37def701b30"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Dec 04 16:20:59 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jan 11 12:06:12 2016 -0800"
      },
      "message": "AudioPolicy: callback for recording configuration change\n\nEach AudioSession tracks start / end of recording, and sends\n  a callback to AudioSystem.\nAudioSystem tracks a single recording callback tracking\n  input source and audio session number.\n\nChange-Id: Ic065751d9ba013e03f2a6ad8dde02542e5465ec0\n"
    },
    {
      "commit": "de80105c3f2db0eabd47640c49387ea3b44d4782",
      "tree": "9775c7bbe30ef1ab13a888def8531cb0f87b1756",
      "parents": [
        "079e121934106860af5ff5491bd3884453d1fdb3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 14 19:10:14 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 14 19:20:20 2015 -0700"
      },
      "message": "AudioPolicyManager: notification of dynamic policy mix activity\n\nImplement non-stream type specific ref counting in output\n  descriptors to keep track of mix activity.\nNotify audio policy client of mix activity changes.\n\nBug 20226914\n\nChange-Id: Iec939cb640c58056f88947b611d23b4bb6d8a11b\n"
    },
    {
      "commit": "40bc906252974d0b389ae4a147232d0c9a97193f",
      "tree": "95301839473e4c0d3be9ef1bd2e8c1d3677964a6",
      "parents": [
        "ae4b879d04c4b07c62241a8f507c8dce11e628e4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 09:09:33 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:02:57 2015 -0700"
      },
      "message": "namespace does not need a closing semicolon\n\nChange-Id: Ie8f9d42fc061f6d558f23b98414e04eb3d14b376\n"
    },
    {
      "commit": "b52c152d553556b2d227ffc943489de0c60b4b02",
      "tree": "bcaca952efbd1ffa7eefa7251beafc3d2574a04a",
      "parents": [
        "6a94d69dc4f32abb53c466a96f905bb199be6417"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 20 11:27:36 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 29 18:01:58 2014 -0700"
      },
      "message": "audio policy: add routing update client interface\n\nAdded IAudioPolicyServiceClient client binder interface\nfor client process to receive notifications from AudioPolicyService\nwhen audio ports are added/removed or audio patches created/released.\n\nThe audio patches owned by a given client are automatically released when\nthis client binder dies.\n\nBug: 14815883.\n\nChange-Id: I6013f6aec03b50565cffb1ad2cd1f0f8852032c5\n"
    }
  ]
}
