)]}'
{
  "log": [
    {
      "commit": "df2e359d5c19c142fe400980cd15b0b60bea507b",
      "tree": "5fbb45d0a3f448e60b2c1464eaf0bc5f9bf4c28a",
      "parents": [
        "ff7397bb08bf9953615d7b3416f4839bc0b1d2ff"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 19 14:27:42 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jan 11 21:01:07 2019 -0800"
      },
      "message": "AudioPolicy: Add unit tests for the MSD use cases\n\nTest the following scenarios:\n  - inputs / outputs update due to setForceUse change;\n  - MSD device selection and downstream patch creation\n    when an output for a supported format is opened;\n  - default device selection and downstream patch teardown\n    when an output for an unsupported format is opened;\n  - swiching outputs depending on the format.\n\nBug: 121048134\nTest: audiopolicy_tests\nChange-Id: I3a07c758ea7fd87250f425c27fbf0c38eb5bf8b5\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": "9e29ea8bd0be596c65d93ae196afac8339e00bfa",
      "tree": "42ba005a56b01d721e223bff6b9b894e239d641c",
      "parents": [
        "973db02ac18fa1de9ce6221f47b01af1bdc4bec2"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Nov 08 14:28:10 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 04 13:51:20 2018 -0800"
      },
      "message": "Fix build issue\n\nTest: make\n\nChange-Id: I5563ff049ddc384556976f577a6d0ebc020516c8\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "af036dab1e2075e1277883ef696a48f47d974413",
      "tree": "bc775cb5a2823dbe73354b5f36dd5fd0acaaf518",
      "parents": [
        "bbbfdd69d89ca651f855777c3c66b12793dc85ae"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Sep 21 10:46:21 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Oct 02 18:18:11 2018 -0700"
      },
      "message": "AudioOutputDescriptor: improve refcount logging\n\nImprove refcount to match exact client descriptor\nAbort on invalid client descriptor refcounts\nLog changes to active clients and refcounts\n\nTest: dumpsys of media.audio_policy\nBug: 112067674\nChange-Id: I5fe4d3e7135efbf9bc5bffb258374115d87c24e6\n"
    },
    {
      "commit": "137c7aaab7cc8f41ed49c51b865af41fdac2a84b",
      "tree": "04002ea83574d8d7c3444bed134648ddececa1a5",
      "parents": [
        "cd56a1c2a0adcd21aad3a64c761aa3562d915be1",
        "ac9858be02edea7770ab3bb27d1cc15e4640fb26"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 09 23:31:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 09 23:31:25 2018 +0000"
      },
      "message": "Merge \"Use and test patch utilities from system/audio.h\""
    },
    {
      "commit": "ac9858be02edea7770ab3bb27d1cc15e4640fb26",
      "tree": "ff0385983e0302f6f81a902d0e63b680d6c83ff5",
      "parents": [
        "908c7d77355ae2c63a179a4ebfce69b7a6d31e3f"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jun 15 13:12:37 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 09 14:01:15 2018 -0700"
      },
      "message": "Use and test patch utilities from system/audio.h\n\nUse `audio_patch_is_valid` function.\n\nAdd basic tests for the following functions:\n  audio_patch_is_valid\n  audio_port_config_has_hw_av_sync\n  audio_patches_are_equal\n\nBug: 63901775\nTest: systemaudio_tests\nChange-Id: I378ab544e4148fda0dd7b9520d6fd57ff01cb34b\n"
    },
    {
      "commit": "dcd4ab18a3cdb8f5d382a635c8602a18288137c1",
      "tree": "c0f4c63eef85a850dc01687bc7f17be4cd24031e",
      "parents": [
        "87a837c62a1bd1be9143aee3660bb171424a08a5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 29 17:45:13 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 02 18:03:17 2018 -0700"
      },
      "message": "audio policy: remove special notifications handling in call\n\nNot needed anymore as this is handled by NotificationManager.\nExtend caping of alarm and ringtone volume to call volume to all\noutput devices (was only done for earpiece).\n\nTest: make\nChange-Id: I9a1cd8610e42fefd0518f6ccc68e50e5541884ed\n"
    },
    {
      "commit": "21b43364f0eb3916264d046718d74c7fb98efe59",
      "tree": "e7b6c3754aa85e33329225a41a06c02b91490751",
      "parents": [
        "20bd30baf9fcd59e7000e7c626cc8bc1e85637bc"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jun 04 10:37:09 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jun 04 17:04:21 2018 -0700"
      },
      "message": "APM test: Fix default config, add test for \u0027dump\u0027\n\n - Fix AudioPolicyConfig::setDefault so the config is valid again;\n\n - Enhance the default config with dynamic profiles;\n\n - Factor out the code for creating a full dynamic profile;\n\n - Add a method to unit test that verifies calling APM::dump.\n   This is also useful to examine how the default config looks\n   like.\n\nTest: audiopolicy_tests\nChange-Id: I102071e160b835da50ed5806bd2d62102a10d775\n"
    },
    {
      "commit": "dc769682023ba8a8a5da07c3e3a3adfabe4bd612",
      "tree": "6f6a0991e71927cda302c4c489f69bd239023597",
      "parents": [
        "f1040d20210338eb850b000d4344ddc9a04eb493"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 15:34:08 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 16 09:43:33 2018 -0700"
      },
      "message": "audio_server: Unify audio_patch creation\n\nProvide PatchBuilder helper class instead of fiddling with\nstruct audio_patch directly.\n\nRename \u0027getAudioPortConfig\u0027 methods of AudioFlinger helper\nclasses into \u0027toAudioPortConfig\u0027 to match classes\nof AudioPolicyManager.\n\nFactor out common code in AudioPolicyManager that was\nadding audio patches. For that, AudioOutputDescriptor now inherits\nfrom AudioSessionInfoProvider, and the latter has been extended\nwith \u0027setPatchHandle\u0027 method.\n\nTest: switch to/from Bluetooth on phone calls and media playback,\n      use camcorder\nChange-Id: Idd99645dc6943ed078c4d94d0197fead7831ab4d\n"
    },
    {
      "commit": "1ed007c1e1d1a400cbfa55c4ea649dd48eab09ef",
      "tree": "6c202c71bb9763fbe0e887d1e71f0c75cffe66f0",
      "parents": [
        "6205a06d20d6b92d52044e8076beaac4c7873a21"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 15:41:10 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 15:41:10 2018 -0700"
      },
      "message": "Remove obsolete include path from makefiles\n\nframeworks/av/services/audiopolicy/utilities does not exist,\nremove it from audio service components\u0027 makefiles.\n\nTest: build\nChange-Id: I6c29052b449099d4b0942b7fc0a7ae68d0dc1ba7\n"
    },
    {
      "commit": "04a86634014027c47acb4e5833ac87770aeb071f",
      "tree": "df6dbc86c4c532bd3da17a572d93c685c087429d",
      "parents": [
        "c894bf6753a1f04f45bda625984c2d1830956651"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 15 18:01:42 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 21 17:34:58 2017 -0800"
      },
      "message": "audiopolicy: Add patch creation tests\n\nAdd a test that verifies rejection of bad parameters for\n\u0027createAudioPatch\u0027.\n\nAdd a test that creates a patch between mixPort and devicePort.\n\nNo bugs have been found this time.\n\nTest: audiopolicy_tests\nChange-Id: I431e225d9dba0097e3d73796585dbe7f404d1cec\n"
    },
    {
      "commit": "bcbcb1bdda4f1970830fa4924e3a5f24171ae005",
      "tree": "9b1523a2e1e60e1a44582240f040581617fedaf0",
      "parents": [
        "823267338b2bee8c279306c07775feabfc2434a5"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 13 13:03:35 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Sat Dec 16 00:52:18 2017 +0000"
      },
      "message": "audiopolicy: Add more tests, fix issues found\n\nAdded tests that ensure correct initialization of APM.\n\nFixed issues:\n\n  -- UB in VolumeCurvesForStream::volIndexToDb due to not\n     checking that the pointer is non-null;\n\n  -- AudioInputDescriptor::open and SwAudioOutputDescriptor::open\n     were not checking that the returned IO handle is valid,\n     this was causing an infinite loop in\n     AudioPolicyManager::selectOutputForMusicEffects, added an\n     assertion.\n\n  -- Memory leak of VolumeCurves collection in APM.\n\nTest: audiopolicy_tests\nChange-Id: Ia4ecca1dd03b74d7f93720f042da05d5a0c74a6b\n"
    },
    {
      "commit": "2a8dbc7611d3861d696c167ebdced50158bbebe1",
      "tree": "3344d4d0969a5165a4ff962a0026ee77bc05493a",
      "parents": [
        "f053e8c9c858f31888665fa5deb74eacce877ec6"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 15 09:31:34 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 15 09:32:44 2017 -0800"
      },
      "message": "audiopolicy: Add MULTILIB statement into makefile\n\nThis fixes builds that have only 32-bit or 64-bit version\nof audio server libraries.\n\nTest: build\nChange-Id: I4dc3bbe2e266a0b24d25ac00a8a2b54382b76e3d\n"
    },
    {
      "commit": "ad3f8a1082c101f2c218be64e48ae615676952ea",
      "tree": "ec94ad27cebafe5eccc8e04fa9b80ad20932813d",
      "parents": [
        "ceedc87e48c92e248123b9a9476053456e62e006"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 12 13:24:23 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 13 16:20:45 2017 -0800"
      },
      "message": "audiopolicy: Add unit tests build target\n\nThis change adds audiopolicy_tests target for running\nunit tests of AudioPolicyManager class.\n\nAudioPolicyManager class is modified to allow\nfiner control over the configuration loading.\n\nTest: audiopolicy_tests\nChange-Id: Icf0cd7ff5b3b8b827b4f6909ff2c138ac2a2b82e\n"
    }
  ]
}
