)]}'
{
  "log": [
    {
      "commit": "2c0a3015ea3d710dde90f99538335f99e6d971fc",
      "tree": "f454fe25b73e1c2f48ed0447b3170d4b62aec2af",
      "parents": [
        "980e5f1e2733b1f052376ee0772ad0b63bc6f334"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Aug 07 00:16:35 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Aug 14 21:04:09 2020 +0000"
      },
      "message": "Temporarily disable Audio HAL V7 modules\n\nThe new version is WIP, not all modules are compiling.\n\nBug: 142480271\nTest: m\nChange-Id: Ide3917762bf7522496f5495b212fd4c838b44c8a\n"
    },
    {
      "commit": "980e5f1e2733b1f052376ee0772ad0b63bc6f334",
      "tree": "a85d0a69a95ff75dc2bfdf0ce13974a96eef5022",
      "parents": [
        "a524c363821353a541442e3b23449875b797b09d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jul 23 18:10:20 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Aug 14 21:04:09 2020 +0000"
      },
      "message": "Add Audio HAL V7\n\nAutomatic modifications made by copyHAL.sh script.\n\nBug: 142480271\nTest: m\nChange-Id: I6d85fece9360cd5190fa39c35dc5f3659af264c6\n"
    },
    {
      "commit": "7997351bc447cbbff9dc255faf62bc89c1c180c6",
      "tree": "c7c20ace22c488e57290f9f51ea4c599e4acc5c2",
      "parents": [
        "40eb0159372c16376a0755e5b86a3f7586fc3294",
        "e9458106aa39881cfa08673faf752f6ca6ea8e94"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Jul 01 23:11:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 01 23:11:06 2020 +0000"
      },
      "message": "Merge \"Include what you use: \u003ccutils/bitops.h\u003e for popcount\" am: a4d629d311 am: e9458106aa\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1354145\n\nChange-Id: I1613f16bdb589ab57f6d687578b0af9cbc7c664b\n"
    },
    {
      "commit": "76a13443cbfc7af0561522af166937ef370e2b68",
      "tree": "ce5cd8c1203122b61d05e446929977a85856c4b3",
      "parents": [
        "dbb9895007a7ecee6e2cc62705b24ba08b09932d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 01 12:10:59 2020 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 01 12:14:19 2020 -0700"
      },
      "message": "Include what you use: \u003ccutils/bitops.h\u003e for popcount\n\nTest: builds OK\nChange-Id: Ie717272df285303a63518f0342e1a4d2f41362c3\n"
    },
    {
      "commit": "1c4794bfdee92c9491312432bd966d2439c49179",
      "tree": "0947f6dea04e00753357a87d2ab38cb9d6fd13e4",
      "parents": [
        "eaad70fbfcec64206f42a11071efa683efe0c3ab"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue May 05 10:08:05 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Fri May 08 00:37:55 2020 +0000"
      },
      "message": "Support query encapsualtion modes and metadata types.\n\nWhen a new device is attached to hardware module, query the HAL to get\nthe supported encapsulation modes and metadata types.\n\nTest: atest EnumDevicesTest, manually\nTest: atest audiofoundation_parcelable_test\nBug: 155799506\nChange-Id: I903e46e35a44416c9f2d206c128face8a6c61dcb\n"
    },
    {
      "commit": "fb9c73b74672434872a9f04061489e05fb226fe2",
      "tree": "dcbb344e801c4b43be3edf31baf61a181d9db68e",
      "parents": [
        "21762fa512c3d47bf0a78ffbfe3969ebabed2004"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Mar 06 10:55:34 2020 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 10 15:36:34 2020 -0700"
      },
      "message": "libaudiohal: Allow late registration of HIDL HAL services\n\nDevicesFactoryHalHidl registers a notification callback\nwith a service manager to get notified about registration\nof new HAL services.\n\nThe specific code for the MSD HAL has been removed,\nthis HAL service is now handled using the added generic\nmechanism.\n\nBug: 149854039\nTest: make\nChange-Id: I2f7f83dec11ac2390f674afd9e4451ef46dde04e\nMerged-In: I2f7f83dec11ac2390f674afd9e4451ef46dde04e\n"
    },
    {
      "commit": "7dfc94a0eac6070791f663b9fdb7121b740271e3",
      "tree": "dd5ed47203fc640ffcb81313ed992148c78bc775",
      "parents": [
        "1cd41d5ce183e92a84ba79da0016cb3eef545822",
        "88b30d2c1520112670472ae879b20cc33a1b6eb0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 10 19:07:24 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 10 19:07:24 2020 +0000"
      },
      "message": "Merge changes from topic \"fix-b-149854039-dynamic-hal-modules\" into rvc-dev\n\n* changes:\n  Plumb the notification about audio HAL services update to APM\n  libaudiohal: Allow late registration of HIDL HAL services\n  Allow for late audio module discovery in APM\n"
    },
    {
      "commit": "88de22ff76578985801dd7662acb07a5641298c1",
      "tree": "9e5d0a00ae62a24d245615fb826b84fd9901fabf",
      "parents": [
        "c0d04987f6f7bd6e054210b1ca33a827afce650b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Mar 06 10:55:34 2020 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 10 16:17:26 2020 +0000"
      },
      "message": "libaudiohal: Allow late registration of HIDL HAL services\n\nDevicesFactoryHalHidl registers a notification callback\nwith a service manager to get notified about registration\nof new HAL services.\n\nThe specific code for the MSD HAL has been removed,\nthis HAL service is now handled using the added generic\nmechanism.\n\nBug: 149854039\nTest: make\nChange-Id: I2f7f83dec11ac2390f674afd9e4451ef46dde04e\n"
    },
    {
      "commit": "f6eb4c388b6499752c2ee47b663956dcbf0dd7e4",
      "tree": "032329fc713202ce01d5e17420f47bd6025f041c",
      "parents": [
        "c62ad13ad8da6b31168f0d9f3e5f2a770ed0bbee"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Feb 25 14:06:25 2020 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Feb 26 16:16:44 2020 -0800"
      },
      "message": "Add callback for codec format change.\n\nWhen creating native audio track, a IAudioTrackCallback will be created\nsystematically. All callbacks will be cached in Threads and protected by\na lock. Whenever there is a callback event from audio HAL, it will\nfinally trigger callback to native audio track. Currently, there is only\none callback event, which is codec format change.\n\nBug: 150301890\nTest: manual\nChange-Id: I32293627ed923b17dd25f11f0ee0a0c35cd7c01f\n"
    },
    {
      "commit": "5c5b1bd7f805ac4592ec9873e65bffd3acb67c22",
      "tree": "f3c1b67c766e2136e59b0b13e7faaf0c2735a75d",
      "parents": [
        "eeb2d61b7f123b87c1fdb359035ced62e5f0dbb9",
        "78c75daf3af4f15fafef01aedafa34908f1809f6"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 10 23:09:41 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 10 23:09:41 2020 +0000"
      },
      "message": "Merge \"libaudiohal: Dynamically load appropriate HIDL shim library\" am: 74773d7374 am: bdd76a920b am: 78c75daf3a\n\nChange-Id: Ic19fc8e9d19caef117e08fc5950a42aa81cac00a\n"
    },
    {
      "commit": "d7b2ff012f4864ed0ab312595e39b508b84da39f",
      "tree": "f7e65283f5f8bb2337d53ef92abf4362d7769d99",
      "parents": [
        "7efed09e5ae8d9dd760d03373b69c7c42a545e47"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Feb 07 13:51:04 2020 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Feb 10 12:52:25 2020 -0800"
      },
      "message": "libaudiohal: Dynamically load appropriate HIDL shim library\n\nRemove static linking to libaudiohal@N.0.so libraries.\nInstead, use HIDL IServiceManager to figure out the actual\nversion used by the device and load the appropriate library\ndynamically.\n\nBug: 142480271\nBug: 148118201\nTest: make and check audio on the device\nChange-Id: I8e6eb9eeef3335da516d983d5d4f0f1b128ef0a6\n"
    },
    {
      "commit": "9b2064c3afe14f893afff019bdcd4c4d40ce13ed",
      "tree": "0a49d5049cfd60fb6de3387460f5bb41a58e2ed1",
      "parents": [
        "249dba6eb7b1f71a424290e1c58c3bedb76a0595"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 22 17:25:04 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 13 23:05:34 2020 +0000"
      },
      "message": "AudioFlinger: implement device specific audio effects\n\nAdd management of audio effects applied to a specific input\nor output audio device.\n\nA new class DeviceEffectProxy derived from Effectbase is added\nto represent an effect attached to a particular audio device type and\naddress. This proxy manages one or more actual EffectModule instances\nautomatically added to a playback or capture thread or directly to the\naudio HAL when the targeted audio device is used by an audio patch.\n\nA new DeviceEffectManager class is added to manage creation and release\nof DeviceEffectProxy instances and monitor creation and release of audio\npatches and create or release actual effect instances accordingly.\n\nBug: 136294538\nTest: make\n\nChange-Id: I23b9f9db4459136039c5ee327cf3b1aefa7db5af\nMerged-In: I23b9f9db4459136039c5ee327cf3b1aefa7db5af\n"
    },
    {
      "commit": "d700529501d45ab3d0a0b506b2b76cb0212cf5ce",
      "tree": "7537a0aec018dd1b76c662bfa8a3c2cddb79e5c0",
      "parents": [
        "fefebb5c9692a57aade8955996d7dee7748eb1ec"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 13 12:57:33 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 10 11:11:58 2020 -0800"
      },
      "message": "Audio effect HAL: Add device ID to createEffect API\n\nAdd the possibility to specify a target audio device when\ncreating an audio effect by passing its audio port handle\nto createEffect API.\n\nBug: 136294538\nTest: make\nChange-Id: I32a6400278496653b4204175cd8a16d81f9724a0\nMerged-In: I32a6400278496653b4204175cd8a16d81f9724a0\n"
    },
    {
      "commit": "b82e6b724e45b1f88ed746c316b445b3bb8036b3",
      "tree": "4fd55853fe2b97b98bf27bff61142d9b2b92f28f",
      "parents": [
        "9ce5404e8ee6cf247a9004500cb91bf3b8114b14"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 22 17:25:04 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 07 17:05:07 2020 -0800"
      },
      "message": "AudioFlinger: implement device specific audio effects\n\nAdd management of audio effects applied to a specific input\nor output audio device.\n\nA new class DeviceEffectProxy derived from Effectbase is added\nto represent an effect attached to a particular audio device type and\naddress. This proxy manages one or more actual EffectModule instances\nautomatically added to a playback or capture thread or directly to the\naudio HAL when the targeted audio device is used by an audio patch.\n\nA new DeviceEffectManager class is added to manage creation and release\nof DeviceEffectProxy instances and monitor creation and release of audio\npatches and create or release actual effect instances accordingly.\n\nBug: 136294538\nTest: make\n\nChange-Id: I23b9f9db4459136039c5ee327cf3b1aefa7db5af\n"
    },
    {
      "commit": "231698afc6bec6524029a558e20d8386be0cc0a9",
      "tree": "9c1e53551fb61373210b0db3247c963a7ad30544",
      "parents": [
        "1e994a5d0c9544a8090a38e16822f3a5f11ca0f8",
        "73bdf5755213580f0f133092e50fc9a3a36f10f6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Dec 14 08:29:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 14 08:29:52 2019 +0000"
      },
      "message": "Merge \"libaudiohal: Use IDevice::updateAudioPatch in V6\""
    },
    {
      "commit": "42afea265a65a4d0b22f5d2f2af72cbbb2631c80",
      "tree": "2d3e13a0371e3f7fd35beebbe4c8c4e0fc75e329",
      "parents": [
        "880971c8f204ae755f1d4d3be7287aeb1041c42d",
        "bad151070e7cd45e3e5bc554f928beca88e98172"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 11 21:36:51 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 11 21:36:51 2019 +0000"
      },
      "message": "Merge \"Add AUDIO_INPUT_FLAG_DIRECT to Audio HAL constants\""
    },
    {
      "commit": "73bdf5755213580f0f133092e50fc9a3a36f10f6",
      "tree": "cebb08d63988237ec791646b419458691f2b9960",
      "parents": [
        "b7a56c52e001d2e361140b07ee1baad4c56e5b2c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 11 12:34:15 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 11 12:34:15 2019 -0800"
      },
      "message": "libaudiohal: Use IDevice::updateAudioPatch in V6\n\nUse new method IDevice::updateAudioPatch when the patch handle\npassed to DeviceHalHidl::createAudioPatch is not \"NONE\" instead\nof releasing and re-creating the patch.\n\nBug: 79248321\nTest: audio \"smoke\" test on coral\nChange-Id: Ifa37d828eb7817105d14d6451ed6121e9d6bb48f\n"
    },
    {
      "commit": "bad151070e7cd45e3e5bc554f928beca88e98172",
      "tree": "8fa748bdac1b3648e0c96081c992765cd620903a",
      "parents": [
        "b7a56c52e001d2e361140b07ee1baad4c56e5b2c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 10 16:44:19 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 10 16:44:19 2019 -0800"
      },
      "message": "Add AUDIO_INPUT_FLAG_DIRECT to Audio HAL constants\n\nThis flag used to be framework only. To simplify constants\nmanagement it\u0027s better to have it defined at all layers.\nCurrently it is only used for MSD module but potentially\ncan be used for HDMI inputs.\n\nBug: 141273649\nTest: use AOSP MSD on Pixel\n      atest VtsHalAudioV6_0TargetTest\n\nChange-Id: I19f6fdb2772878c93e41b635dc6adae83a9fecb0\n"
    },
    {
      "commit": "3b7f51b5fc7ee72f920ee6b749e7aa12a03e37d6",
      "tree": "a8cc15826720d0c409b51f01422c7d69c285f298",
      "parents": [
        "94876034876afd6f642dd1a0ad7c60aee05504d9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 13 12:57:33 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 09 09:46:17 2019 -0800"
      },
      "message": "Audio effect HAL: Add device ID to createEffect API\n\nAdd the possibility to specify a target audio device when\ncreating an audio effect by passing its audio port handle\nto createEffect API.\n\nBug: 136294538\nTest: make\nChange-Id: I32a6400278496653b4204175cd8a16d81f9724a0\n"
    },
    {
      "commit": "b680e955f474a2f81ed35383da67209bcbdd7d10",
      "tree": "8fd48d3bca98f5cc5d96415255711817fc209553",
      "parents": [
        "9e1e25dd418773ad5e574441962dcc771d3ec2a3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 15:40:33 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Dec 05 13:00:07 2019 -0800"
      },
      "message": "media utils: dump audio HAL service before restarting audioserver\n\nAdd request to create tombstones of audio HAL servers before restarting\naudioserver process when the watchdog triggers.\n\nAdd audio device factory HAL interface API to retrieve HAL process pids when\npossible (on debug builds).\n\nAdd AudioFlinger service API to set audio HAL process pids from\nJAVA AudioService.\n\nBug: 141528385\nTest: Force watchdog and verify tombstone creation\nChange-Id: I68c1e8fb4db23e5952ad0c93d7d0b9d121b8ec18\nMerged-In: I68c1e8fb4db23e5952ad0c93d7d0b9d121b8ec18\n"
    },
    {
      "commit": "aff2869baaa20b33db5515e70b86450c5fc48e35",
      "tree": "79cf76a532109fffc2c2e3ad6cac4546aba4083d",
      "parents": [
        "b8269fd0946976cc820b0abb815f0fb67fc88b76"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Nov 22 14:10:57 2019 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Dec 05 10:11:19 2019 -0800"
      },
      "message": "Refactor for audio device type in conversion.\n\nAs audio device type can not be used as bit mask any more, refactoring\naudio device type usages in conversion from/to HAL. Use a set of audio\ndevice types instead of bit mask.\n\nBug: 135621476\nTest: atest AudioPlaybackCapture\nTest: play and capture audio with BT and usb headset\nChange-Id: If4a5c5002d6d4ccb7aaf823111b371d417784b19\nMerged-In: If4a5c5002d6d4ccb7aaf823111b371d417784b19\n"
    },
    {
      "commit": "c010683e081f48eb72e21cbcf0458efc17184e6b",
      "tree": "74e8898a4399b0b2fb3693379fcf80b5be1c9199",
      "parents": [
        "8d7522888db87e9533b286431f59c7e0b804a514"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Oct 24 14:58:31 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Dec 03 17:42:00 2019 -0800"
      },
      "message": "Refactor opening output interface between AF and AP.\n\nRefactor interface between audio flinger and audio policy. Use device\ndescriptor instead of audio device type and address. DeviceDescriptor\ncan contain more information that may be useful when opening an output\nstream.\nIn audio policy, if multiple audio devices are passed in when opening\nan output stream, one device is extracted using the same strategy as\nwhen selecting a device for volume application. When starting source,\naudio policy manager will call audio flinger to create audio patch. In\nthat case, multiple devices will still be patched to the output stream.\n\nTest: atest AudioTrackTest AudioPlaybackCaptureTest\nTest: atest audiopolicy_tests, audio smoke test\nChange-Id: I46dc2da621614f8716c6c73cf807fe7d2d672cda\nMerged-In: I46dc2da621614f8716c6c73cf807fe7d2d672cda\n"
    },
    {
      "commit": "daf49955e69e45f7753ee4d02391816f5af31274",
      "tree": "c3495d8d6b67f3339050acd1ea1b143d694974be",
      "parents": [
        "5c65cc79f1f595d75834165e17ebe14d8b3288fe"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Nov 22 14:10:57 2019 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Nov 22 16:58:20 2019 -0800"
      },
      "message": "Refactor for audio device type in conversion.\n\nAs audio device type can not be used as bit mask any more, refactoring\naudio device type usages in conversion from/to HAL. Use a set of audio\ndevice types instead of bit mask.\n\nBug: 135621476\nTest: atest AudioPlaybackCapture\nTest: play and capture audio with BT and usb headset\nChange-Id: If4a5c5002d6d4ccb7aaf823111b371d417784b19\n"
    },
    {
      "commit": "5a20d9e97f3845da46e726c4ed53a4d470004ebf",
      "tree": "ae4638dd5bd56ab53130b6ab337cf36a7c1d437c",
      "parents": [
        "43251208e388077681869d639d6d9210e277460d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 20 14:20:01 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 21 10:59:07 2019 -0800"
      },
      "message": "libaudiohal: Call IDevice.close in HAL V6\n\nCall IDevice.close when the client doesn\u0027t need the device.\n\nBug: 114451103\nTest: adb shell stop\nChange-Id: I486db716be59cd4ea0f6d75d0e366f802ee9b06d\nMerged-In: I486db716be59cd4ea0f6d75d0e366f802ee9b06d\n"
    },
    {
      "commit": "3355e447a7c3ced0fedf5977f9d9e125feab9fcf",
      "tree": "90b57156cb03f23e498b759602dbd6f6fcc18c40",
      "parents": [
        "68db3a07ae337de45b82c6e45d41c2c325f8e2dd"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 20 14:20:01 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 20 14:20:01 2019 -0800"
      },
      "message": "libaudiohal: Call IDevice.close in HAL V6\n\nCall IDevice.close when the client doesn\u0027t need the device.\n\nBug: 114451103\nTest: adb shell stop\nChange-Id: I486db716be59cd4ea0f6d75d0e366f802ee9b06d\n"
    },
    {
      "commit": "42896a0774caae74ea8c982417ecbefb21913bc8",
      "tree": "6e352631b91856d118f052b8c180085837e4f07a",
      "parents": [
        "484d6119d3ca9140d415dc1841d4c0c500d76a20"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 15:40:33 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 08 15:26:09 2019 -0800"
      },
      "message": "media utils: dump audio HAL service before restarting audioserver\n\nAdd request to create tombstones of audio HAL servers before restarting\naudioserver process when the watchdog triggers.\n\nAdd audio device factory HAL interface API to retrieve HAL process pids when\npossible (on debug builds).\n\nAdd AudioFlinger service API to set audio HAL process pids from\nJAVA AudioService.\n\nBug: 141528385\nTest: Force watchdog and verify tombstone creation\nChange-Id: I68c1e8fb4db23e5952ad0c93d7d0b9d121b8ec18\n"
    },
    {
      "commit": "f22253bc9f5de5a164bf08389ae0f7a8f3fc4d40",
      "tree": "848e8b8f85ccbe051c013183f02529d64d11c06c",
      "parents": [
        "00538f18b8d22af1a27462a25cde65aa7cce33ef"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Sep 30 19:59:31 2019 +0100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 07 14:35:19 2019 -0800"
      },
      "message": "Support Audio HAL V6\n\nTest: push V6 to device and check audio works fine\nBug: 134940862\nChange-Id: Ied5aeccdf8f1e9a085ed9cac9d696271b7a1bb63\nMerged-In: Ied5aeccdf8f1e9a085ed9cac9d696271b7a1bb63\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "00538f18b8d22af1a27462a25cde65aa7cce33ef",
      "tree": "3ab80637d13c01dd29483bc34d9978e1d398fccb",
      "parents": [
        "a8f139322e67234e9260e39176a8ab0f732134a8"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Jun 25 14:26:29 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 07 14:34:13 2019 -0800"
      },
      "message": "libaudioHAL: reduce version specific code\n\nBug: 134940862\nTest: Plays audio\nChange-Id: Ia8c99c0600425321b4b30ac341168101960eed59\nMerged-In: Ia8c99c0600425321b4b30ac341168101960eed59\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "a8f139322e67234e9260e39176a8ab0f732134a8",
      "tree": "d55a2c5865450ddae99272273099c6f18723a9f3",
      "parents": [
        "e4ff5510d91b613ea59055d0d95035cef1993a5d"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Jun 25 16:08:29 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 07 14:32:51 2019 -0800"
      },
      "message": "Avoid querying the audio service twice\n\nBug: 134940862\nTest: run on target\nChange-Id: Ia884d0e926569d983ba12952817d2cecc8d8d34f\nMerged-In: Ia884d0e926569d983ba12952817d2cecc8d8d34f\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "4381040f77c2907c9a0ba27ece2e00241daadf0e",
      "tree": "b559f2cf74926949bd9f846c627ede38b734158f",
      "parents": [
        "c6fe9c424669d640d8bbe0fc7e130a34bab0b4bd"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Oct 24 14:58:31 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Oct 28 10:38:13 2019 -0700"
      },
      "message": "Refactor opening output interface between AF and AP.\n\nRefactor interface between audio flinger and audio policy. Use device\ndescriptor instead of audio device type and address. DeviceDescriptor\ncan contain more information that may be useful when opening an output\nstream.\nIn audio policy, if multiple audio devices are passed in when opening\nan output stream, one device is extracted using the same strategy as\nwhen selecting a device for volume application. When starting source,\naudio policy manager will call audio flinger to create audio patch. In\nthat case, multiple devices will still be patched to the output stream.\n\nTest: atest AudioTrackTest AudioPlaybackCaptureTest\nTest: atest audiopolicy_tests, audio smoke test\nChange-Id: I46dc2da621614f8716c6c73cf807fe7d2d672cda\n"
    },
    {
      "commit": "9672c53b739ba5307305c1874bc2ac8e88733116",
      "tree": "893d079d802e64a30c5fdc783b02b11057fb635b",
      "parents": [
        "7b12996173c219b168af186986349817df5bb5ea",
        "a4026674ceff52431cd119c58fbc27838d346c5e"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 17 18:59:40 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 17 18:59:40 2019 +0000"
      },
      "message": "Merge changes from topic \"audio-v6\"\n\n* changes:\n  Support Audio HAL V6\n  Rename of the Vendor HAL\n"
    },
    {
      "commit": "53f78b65a144bd04f7b007f2a0776658fc4176cc",
      "tree": "3156f6604446132b26261bc163aa241d69f94b57",
      "parents": [
        "9ee56ec1a7ace45b42b65e01fdda98114b5c0833"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 30 13:08:50 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 08 09:41:49 2019 -0700"
      },
      "message": "Clean up libaudioclient includes\n\nTest: build\nChange-Id: I1b2cd96e99564cd3944aa20a36207bd91287f7c8\nMerged-In: I1b2cd96e99564cd3944aa20a36207bd91287f7c8\n"
    },
    {
      "commit": "a4026674ceff52431cd119c58fbc27838d346c5e",
      "tree": "15c23d2a0ffbb0b695d292c6e56d8def3d7b5094",
      "parents": [
        "c5b098a76b057f96d04f963e99456cb4e1d6a86f"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Sep 30 19:59:31 2019 +0100"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Oct 07 12:14:25 2019 +0100"
      },
      "message": "Support Audio HAL V6\n\nTest: push V6 to device and check audio works fine\nBug: 134940862\nChange-Id: Ied5aeccdf8f1e9a085ed9cac9d696271b7a1bb63\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "5d05fbe8ba38d16c21974688edd7ad567fe6205c",
      "tree": "49a1c1e3490131bbcb16df72a70fbcc4c6b37aaa",
      "parents": [
        "fb1fb155f9ec3a05ffa9e49f9415b565dcf8c163"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 30 13:08:50 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 08:17:31 2019 -0700"
      },
      "message": "Clean up libaudioclient includes\n\nTest: build\nChange-Id: I1b2cd96e99564cd3944aa20a36207bd91287f7c8\n"
    },
    {
      "commit": "78cb7123b23c197b296d40b2ffb886bde97ddfc4",
      "tree": "db2db564be30a32fd02232f7bc856b53621eed8f",
      "parents": [
        "a4be0c37e92faf1579b05077d7e3cbef8b93db78",
        "8c7465931249ed0ffea7de99f2d736ce0bc607dc"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 14:51:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 09 14:51:59 2019 -0700"
      },
      "message": "Merge \"Remove libhwbinder/libhidltransport deps\" am: 6cffe44e0f am: b7d2632c22 am: 2dc8ae5642\nam: 8c74659312\n\nChange-Id: I3ce106ae89de98eb9c438ccc30067a07b44da581\n"
    },
    {
      "commit": "af905470168892078ca85cbd77c844b07f46d1d7",
      "tree": "02acf167a294e18f49a8cf075aa6ee7eb21fbf68",
      "parents": [
        "1210f45ea764f0d186e55a19c068283a4ff6cfac"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:08:49 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:08:49 2019 -0700"
      },
      "message": "Remove libhwbinder/libhidltransport deps\n\nSince these were combined into libhidlbase.\n\nBug: 135686713\nTest: build only (libhwbinder/libhidltransport are empty)\nChange-Id: I6cc85a91afb603e31b85090917f9f3b59d82a4d1\n"
    },
    {
      "commit": "f419435ea9e2b21cf3bac2f67e2d9c608a0031a3",
      "tree": "36b65afe5a84610eeb3474ef0b1fd56816cc330e",
      "parents": [
        "b9448c72d5173dc4f1d6c1fc26581722149a0d13"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Jun 25 14:26:29 2019 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Jun 28 10:25:34 2019 -0700"
      },
      "message": "libaudioHAL: reduce version specific code\n\nBug: 134940862\nTest: Plays audio\nChange-Id: Ia8c99c0600425321b4b30ac341168101960eed59\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "b9448c72d5173dc4f1d6c1fc26581722149a0d13",
      "tree": "dea450194d95db2b5f5ebf1d2a29dc2c1b016863",
      "parents": [
        "a00399b46755310ad2407075c69b0caa3cb5838d"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Jun 25 16:08:29 2019 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Jun 28 10:07:58 2019 -0700"
      },
      "message": "Avoid querying the audio service twice\n\nBug: 134940862\nTest: run on target\nChange-Id: Ia884d0e926569d983ba12952817d2cecc8d8d34f\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "8711cfda98b1a2ab421b2a7792866681b363c1c2",
      "tree": "22b5e883c3503ba9de88e2b8f34d75bd8a733b5e",
      "parents": [
        "8b7a6326397a6645fbc8abb4d1fa0b32d5999236"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 10 18:06:33 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 10 18:06:33 2019 -0700"
      },
      "message": "audio HAL wrapper: createAudioPatch handle reuse\n\nAdd workaround for missing patch handle in HIDL\ninterface createAudioPatch() method signature.\nThe legacy HAL implementation has the convention of releasing\nprevious audio patch when a valid patch handle is passed.\nThe framework relies on this optimization and does not release previous\npatch explicitly when just updating the sinks of an existing patch.\n\nBug: 117744819\nTest: repro steps in bug\nChange-Id: I93e19e4b16b0beac31438cffd0553f5db3117a1e\n"
    },
    {
      "commit": "8c2e58218d9fc78c3beefc0f7c12afb39e7d0b61",
      "tree": "f0e1f325ef53037e7feec21a9482a3e230b9e8c7",
      "parents": [
        "09cc4b1d530e550167c4ad01c84559c8797e0ff8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 01 18:09:07 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 01 18:09:07 2019 -0700"
      },
      "message": "StreamHal: Enable audio power log for user builds\n\nTest: Flash user build, check AudioFlinger dumpsys\nBug: 129704879\nChange-Id: I9a4665b8588d30279701ca5ae18d5bd353702f4a\n"
    },
    {
      "commit": "1234008771662d2b250d6d4972adb04de963fb0d",
      "tree": "d050c75b3935ed9d20676312df0e7cd1d94cd13c",
      "parents": [
        "60c73a445b632cc2e233b1a275efeee7414a41a4"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Tue Mar 19 09:35:05 2019 -0600"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Mar 21 21:51:49 2019 -0600"
      },
      "message": "API changes in MicrophoneDirection\n\nBug: 128523813\nTest: Build, Testbed app\n\nChange-Id: I7b5ee8ba4eec1090866d8aef891a98d50cd09cc5\n"
    },
    {
      "commit": "4d54767b7dad323de5f747096f5cdeea0d7691e5",
      "tree": "3c00980eb567404023bdd03bdc00ed2b906c684f",
      "parents": [
        "16be62ccbfa98508b375c9594728a951ada0021c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Feb 22 14:19:19 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Feb 22 14:19:19 2019 -0800"
      },
      "message": "audio: Add support for dumping info from effect HAL modules\n\nThe implementation uses IBase::debug() method which can write\ndebugging info into the provided file descriptor (same model\nas used for devices and streams).\n\nBug: 69939533\nTest: adb shell dumpsys media.audio_flinger\nChange-Id: I02a74b51977d105edf6f7e624ea26f866c965708\n"
    },
    {
      "commit": "ae1f662a30fe5aea14a020111fe245b2fad3e5b5",
      "tree": "24b76d5a4127cdfe2cbc245a6e7c6b192f317cff",
      "parents": [
        "05677f7f44a753b756709ddbd7eebdffa34f62f4"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Feb 21 15:20:05 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Feb 21 15:20:05 2019 -0800"
      },
      "message": "libaudiohal: Allow get/setMasterVolume invocation on IDevice\n\nget/setMasterVolume are defined on IDevice, but DeviceHalHidl\nwas restricting calls to it only for IPrimaryDevice. This seems\nlike a bug lingering from the initial implementation of the shim.\n\nTest: make\nChange-Id: Ia028959690a5ab71aade14d12d5c12488dc83e41\n"
    },
    {
      "commit": "7b417a29df10d12d4cd019e5b3fcaaf2c1208420",
      "tree": "1e085c2078e5c75a008a1892ec2afd099efe2636",
      "parents": [
        "2637984613a75eb2640a73e186a6dd1f08cebbc0"
      ],
      "author": {
        "name": "Dean Wheatley",
        "email": "dwhea@dolby.com",
        "time": "Thu Jan 31 20:39:42 2019 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 31 17:20:40 2019 -0800"
      },
      "message": "Fix audio HAL 4.0 StreamHalHidl setParameters\n\nTest: make\nChange-Id: I944c417d9b9e51fb39950dd53f2c1ce7b7a818bb\n"
    },
    {
      "commit": "3903e9f58fdbdea94052f5870792f1e61a2f0f2b",
      "tree": "084a33e117db465218fdae52984e1b26d58113fa",
      "parents": [
        "aa1523c14af06a2f213e570d12ce01b71422b26a",
        "b4e037e01450cbc99191a89e507805974d347899"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 18 03:37:23 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 03:37:23 2019 +0000"
      },
      "message": "Merge \"AudioFlinger: provide downstream sink device to software patch source\""
    },
    {
      "commit": "bf06f7afdbd7019614c9e31ce43301457a3a7d55",
      "tree": "67fd35b19109aa8a9ebb0a5fec14d51486770f79",
      "parents": [
        "1dfd7ba8c05ff5c8a51f69a3042f3870d99463d4",
        "03a6e6a08dbda1c94e0c9ce6fba4a4abd3df6d59"
      ],
      "author": {
        "name": "Paul Mclean",
        "email": "pmclean@google.com",
        "time": "Thu Jan 17 21:34:35 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 21:34:35 2019 +0000"
      },
      "message": "Merge \"Adding Audio HAL V5: Direction API\""
    },
    {
      "commit": "b4e037e01450cbc99191a89e507805974d347899",
      "tree": "9e1dff2e3afe399eec542594a4ed480a9d1adf99",
      "parents": [
        "8292a716361d0f02de2b79242aec4630664bc770"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jan 14 15:56:33 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jan 14 15:56:33 2019 -0800"
      },
      "message": "AudioFlinger: provide downstream sink device to software patch source\n\nWhen opening an input stream for a software patch, pass in\nthe downstream destination device info. This helps the intermediate\nmodule to set up any device-specific processing.\n\nNote that the intermediate module must implement Audio HAL V5.0\nin order to be able to receive this information. It\u0027s not available\non the legacy audio HAL API either.\n\nBug: 120859615\nTest: make\nChange-Id: I542a47d2c299fe19f576d5f5c2b237cc00ae5b93\n"
    },
    {
      "commit": "03a6e6a08dbda1c94e0c9ce6fba4a4abd3df6d59",
      "tree": "e609e29b32764e6fd970f16c78d3bbee5be401bb",
      "parents": [
        "c2684ac61bdbfd9913cf1361a6436272756bc6d6"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Tue Dec 04 10:54:13 2018 -0700"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Dec 20 17:37:55 2018 -0700"
      },
      "message": "Adding Audio HAL V5: Direction API\n\nBug: 119137468\nTest: Testbed app.\n\nChange-Id: I1b3c81079000958da80d36616fe06930d876aac3\n"
    },
    {
      "commit": "d9499eb6d127dc53c8aa3deda05a70b03fc464f3",
      "tree": "3fbd4fecd32316f1088dda7785f5f6ecbdbbec93",
      "parents": [
        "4f20844fd9137a1691f59b598e52cd9ada0753d2"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 17 16:23:22 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 18 13:01:50 2018 -0800"
      },
      "message": "Audio HAL: Update for the new definition of SinkMetadata\n\nIn Audio HAL V5.0 SinkMetadata receives a new member: optional\nDeviceAddress. Use per field initialization to leave\nthe safe_union in an uninitialized state.\n\nBug: 120859615\nTest: make\nChange-Id: I358b9abbcb0690aebb2c658a72adb287ceec22b5\n"
    },
    {
      "commit": "04395fafea962f68193a3394ae7d460f6c95ade5",
      "tree": "bbd51952890f67c912659d7a340759045df41fd4",
      "parents": [
        "8c3773d839cb2127eafeae4619f98150d1ea2d3d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 14 15:07:26 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 14 15:49:35 2018 -0800"
      },
      "message": "Audio HAL: More generalization for types imports\n\nUse namespace import in ConversionHelperHidl.cpp.\n\nTest: try moving types between audio/types.hal and common/types.hal.\n\nChange-Id: I7ffab98d0e3b8bbc82ab94b8d99b7d05e224e1e4\n"
    },
    {
      "commit": "595caa3bb29626a8da08c318dc009213bd94adca",
      "tree": "55287233440ceef9377791c52c7903fea068b9fd",
      "parents": [
        "801757712fc9f478a1207fe272dd343f332d4a33"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 13 11:08:28 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 13 11:08:28 2018 -0800"
      },
      "message": "Audio HAL: Simplify types updates for \u0027common\u0027 and \u0027effect\u0027 packages\n\nInstead of importing every single type individually (\"using \u003ctype\u003e\"),\nimport entire namespaces of\n::android::hardware::audio::common::CPP_VERSION and\n::android::hardware::audio::effect::CPP_VERSION\ninside the \"implementation\" namespace in the default implementation.\n\nThis simplifies modifying types, as it is not needed anymore\nto surround \"using \u003ctype\u003e\" directives with #if MAJOR_VERSION ...\nNote that the contents of the namespaces are imported inside\nthe \"implementation\" namespace, which reduces risks of name collision\n\nEnclosed EffectHalHidl and supporting classes into \u0027effect\u0027 namespace\nbecause importing namespaces of ::a::h::audio::effect::CPP_VERSION and\n::a::h::audio::CPP_VERSION into the same namespace, as it happens\nfor StreamHalHidl.cpp module, causes name conflicts.\n\nTest: make\nChange-Id: Ia37d672605c7541b19ee40fc1b58eabaa9ed8e17\n"
    },
    {
      "commit": "9ccaa1669136b37c6dec8a9fb701be61b8ce1bf0",
      "tree": "75a50b2e015b59e4b9414af45876009ab40b12bc",
      "parents": [
        "6b01bf3f93113ea19c4f1e8dfd65fe9da7f1a0c9"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 12 10:27:29 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 12 10:27:29 2018 -0800"
      },
      "message": "Audio HAL: Simplify types updates for \u0027common\u0027 and \u0027audio\u0027 packages\n\nInstead of importing every single type individually (\"using \u003ctype\u003e\"),\nimport entire namespaces of\n::android::hardware::audio::CPP_VERSION and\n::android::hardware::audio::common::CPP_VERSION\ninside the \"implementation\" namespace in the default implementation.\n\nThis simplifies modifying types, as it is not needed anymore\nto surround \"using \u003ctype\u003e\" directives with #if MAJOR_VERSION ...\n\nNote that the contents of the namespaces are imported inside\nthe \"implementation\" namespace, which reduces risks of name collision\n\nAlso, fixed the namespace for HidlUtils--it needs to be in\n\u0027implementation\u0027.\n\nTest: make\nChange-Id: I8461d2ac3ad5d8ad4df4a15d99430ae0d7a5ccef\n"
    },
    {
      "commit": "1cf6b4dff62ffa9a3a329ceda23a0a55870adbb4",
      "tree": "15c3b83bc95eea3a29ba8d1a6b5756dfbef86f34",
      "parents": [
        "3d48dcea93b4ff5df265c32f0a61e572e7132415"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Nov 20 18:05:44 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sun Dec 02 17:35:18 2018 -0800"
      },
      "message": "libaudiohal: move to Stream Metadata to common\n\nSo that it can be used by the Bluetooth HAL.\n\nTest: compile\nChange-Id: I5b122d329811de2c10fc25f457a0eed7b5ece7b6\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "3d48dcea93b4ff5df265c32f0a61e572e7132415",
      "tree": "2d9c8abaa08379e41208098fe4a4efb499669c9d",
      "parents": [
        "1268b28c5c65691532d3ffb503a199c677c801b9"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Nov 08 17:16:57 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sun Dec 02 10:53:59 2018 -0800"
      },
      "message": "libaudiohal: Introduce support HAL V5 identical to V4\n\nThe V5 HAL is identical to V4 for now.\nDifference will be added in followup patches.\n\nBug: 118203066\nTest: compile\nChange-Id: I3db5d62cc2412766d8d0a78dab57455236a5019e\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "d46012025aed1bc366982bc0edc93c56c034828e",
      "tree": "5213e0ab66d8d13803687507d38c60dee12ac11e",
      "parents": [
        "2a2837d0dcc63d834b9ca313bf322f967a989eec",
        "7a9f05a68512926f81339d3e42def2ecd9adffa0"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Nov 30 22:20:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 22:20:40 2018 +0000"
      },
      "message": "Merge changes from topic \"audio-pre-v5\"\n\n* changes:\n  libaudiohal: EnumConverter renamed to EnumBitfield\n  libaudiohal: Factorize with audio HAL utils\n  libaudiohal: Factorize more between version\n"
    },
    {
      "commit": "7a9f05a68512926f81339d3e42def2ecd9adffa0",
      "tree": "6d9bab6279e88dce167fc4f8bdf7a02f2eefb0da",
      "parents": [
        "bb165dcf6bfb61dc0a1a09a73d52af7cfe127ed2"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Nov 28 16:52:25 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Nov 28 17:54:34 2018 -0800"
      },
      "message": "libaudiohal: EnumConverter renamed to EnumBitfield\n\nEnumConverter scope was reduced to just convert to/from bitfield\nand its underlying type. This allows for operator\u003d conversion support.\n\nAs part of this rework and to better express the new class behaviour,\nit was renamed as EnumBitfield.\n\nTest: compile\nBug: 118203066\nChange-Id: I2dc108cb3e1757e685490cae978cb62cbf276423\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "bb165dcf6bfb61dc0a1a09a73d52af7cfe127ed2",
      "tree": "4fbf04b82655d1d594cf44408228474e468b2190",
      "parents": [
        "95213bf7d0d5960cd76e64a44b59b49637fefd22"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Nov 10 06:28:41 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Nov 28 17:54:34 2018 -0800"
      },
      "message": "libaudiohal: Factorize with audio HAL utils\n\nUse VersionMacro from the HAL utils.\n\nBug: 118203066\nTest: compile\nChange-Id: If74b73eef7735d3f5a0a4b135a0476c4a77daddc\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "95213bf7d0d5960cd76e64a44b59b49637fefd22",
      "tree": "074671e647b5304c61dd41ebaeff33875cc9faa9",
      "parents": [
        "4183d37fcc58ed1e221c72b298f2d95c9b656c01"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Nov 08 17:16:57 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Nov 28 17:54:34 2018 -0800"
      },
      "message": "libaudiohal: Factorize more between version\n\nUse macro in include to avoid duplicating all the headers.\nThat will be useful when a third version is added.\n\nBug: 118203066\nTest: compile\nChange-Id: I8972b9ac9d098b32c9e7de48ff0544440c29adbf\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "ac917aca235ff5170f00c2ee933f41f07a40232d",
      "tree": "2927cc6419b7fe615ccdc977224f6f3ed656f58e",
      "parents": [
        "e4eb88fa5fe62a9b6b709fbf2ff26f37acf6db20"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 28 14:03:52 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 28 14:44:17 2018 -0800"
      },
      "message": "Add selectPresentation API to IAudioTrack\n\nThe Java AudioTrack interface has a setPresentation API. This\ncalls the setParameters API in IAudioTrack. However, this does\nnot eventuate into a call into the android.hardware.audio@4.0\nIStreamOut selectPresentation API.\n\nAdd selectPresentation API to IAudioTrack and call down to the\nandroid.hardware.audio@4.0 IStreamOut selectPresentation API.\nTranslate into calls to setParameters API for legacy HAL\ninterfaces.\n\nBug: 63901775\nTest: compile\nChange-Id: Id634a107f3f93ab18dc80d2bd0af67bda35e859f\n"
    },
    {
      "commit": "734334fd0045bf7897a6d749c00204a784766a7e",
      "tree": "46178737bf3a89fd1623ebc1d5dddaad8f2e6cb5",
      "parents": [
        "f344afa981e537b5f354352284272a8a51cf6759"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Jul 12 19:37:41 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Aug 02 23:48:54 2018 +0000"
      },
      "message": "Aaudio: Implement app shareable flag instead of -size hack\n\nTest: adb shell data/nativetest64/write_sine/write_sine -pl -m3\nBug: 38118159\nChange-Id: I349e10a00a5466f54e084f4745b1ed4776378c81\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "070e751eee408cc7d23cf6985ef796e424fcc4ba",
      "tree": "2c21fe69bc93073e5c54bfcc1fe2f67c3f6cb476",
      "parents": [
        "df9b420d1a43d4fa7d75e10f00a15e482c994cae"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue May 22 09:29:13 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Jun 18 14:42:45 2018 -0700"
      },
      "message": "libAudioHal: factorize V2 and V4\n\nMerge the two versions and ifdef the few\nparts still different.\n\nTest: playback music, assistant\nChange-Id: I750f5d18ba34236637c18a87e2daa54a7c446d91\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    }
  ]
}
