)]}'
{
  "log": [
    {
      "commit": "a046eeef9045fb0b1e5b84689251b8ab79f1e16f",
      "tree": "b0120e988d4d5c37ceb26883f69b3339a970b79a",
      "parents": [
        "1d28bbb5a5cfb9b77fe6e4f6fba4453ddae7c01a"
      ],
      "author": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Tue Jan 12 14:44:58 2021 -0800"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Thu Jan 14 17:11:44 2021 -0800"
      },
      "message": "Add TunerTimeFilter/Lnb interface and add openLnb in TunerService\n\nNote that this CL also does some clean up on the namespace of\nTunerService and TunerFrontend.\n\nAlso replaced the ITuner with IFrontend in TunerFrontend.\n\nTest: make\nBug: 159067322\nChange-Id: I3d32511a20b69b323331471c222762aa306a8eab\n"
    },
    {
      "commit": "1d28bbb5a5cfb9b77fe6e4f6fba4453ddae7c01a",
      "tree": "19a8b068b3d314b0fb5e52e3e4f5c7e76d8b3ba8",
      "parents": [
        "d61491e8a4483c687571f59970d93b55420fa684"
      ],
      "author": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Wed Jan 13 18:11:15 2021 -0800"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Thu Jan 14 13:34:43 2021 -0800"
      },
      "message": "Use TunerFrontendInfo for both TRM and TunerService\n\nTest: make\nBug: 172079283\nChange-Id: I10a614ff8b83ad7227cea7285e87b7206eafae0d\n"
    },
    {
      "commit": "d61491e8a4483c687571f59970d93b55420fa684",
      "tree": "7d2287ef2bd6f938ba916a57907fbb2e965328e3",
      "parents": [
        "c9901ce73a84c3e81034835937ea809f0d14295a"
      ],
      "author": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Tue Jan 12 16:27:29 2021 -0800"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Thu Jan 14 13:29:04 2021 -0800"
      },
      "message": "Change Tuner Frontend Callback to align with the aidl callback interface\n\nTest: make libtunerservice\nBug: 172079283\nChange-Id: I788d333448ae61d2008187e832276b19921299b8\n"
    },
    {
      "commit": "a3412b0d3e8ecfffa5863ae52aabfbcc4c381b94",
      "tree": "3da69f4b0554dd82fd9a9e3e2e3b6cd94f781e7d",
      "parents": [
        "7649c3fa73dda03d9646ccfc70e32e21c5c0bb6e",
        "1d69c872f223273847fe82086384c8ad343a781b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 11 19:46:39 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 11 19:46:39 2021 +0000"
      },
      "message": "Merge \"audio policy: fix spurious error log at init\""
    },
    {
      "commit": "1d69c872f223273847fe82086384c8ad343a781b",
      "tree": "7d66bac1a55041c74353606886d2c2315503a621",
      "parents": [
        "95f8fd2c6296cb00927d393a5870cc54bb73fd22"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 11 18:53:01 2021 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 11 18:53:01 2021 +0100"
      },
      "message": "audio policy: fix spurious error log at init\n\nMove initialization of communication strategy in AudioPolicyManager::initialize()\nbefore loading HW modules to avoid calling Engine::getDevicesForRoleAndStrategy()\nwith an unknown strategy.\n\nTest: boot.\nChange-Id: I156441aca09807ee4569eb81e3cb7b903a325184\n"
    },
    {
      "commit": "952d043eb973a3918bbef95789505d5eb756c58f",
      "tree": "a6289989a4e8a1a38226fa9c9af3104187961a28",
      "parents": [
        "95f8fd2c6296cb00927d393a5870cc54bb73fd22",
        "bce0c1de61558b0d10aa88ec84c4175ef03432ce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 11 17:32:03 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 11 17:32:03 2021 +0000"
      },
      "message": "Merge \"Support connecting multiple devices to APM.\""
    },
    {
      "commit": "6d3feadf6214a7d87ccde84cccdcc2ac674c508c",
      "tree": "d28e4ae59f94c14ac055be00780398d4a28a8591",
      "parents": [
        "bb720bac7af0721cf35e3e3ff503b526461b39ca",
        "6f220fecc177b017c7906806e5b000d2fd8b6191"
      ],
      "author": {
        "name": "Cindy Zhou",
        "email": "zhouci@google.com",
        "time": "Fri Jan 08 22:47:27 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 08 22:47:27 2021 +0000"
      },
      "message": "Merge \"Update mediacodec policy with stat\" am: 589c173758 am: a9200367bf am: 6f220fecc1\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1542227\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: If7a45769022f88ca7aa9ae70152a0e0b6e7541f6\n"
    },
    {
      "commit": "6f220fecc177b017c7906806e5b000d2fd8b6191",
      "tree": "7afa5906154d21ca12415740a28e763e963faae8",
      "parents": [
        "44be9597fd2bdb0380556dbf71f1f0d6fd28dee8",
        "a9200367bf33c3b94d96107c9594f31bcca4f1d4"
      ],
      "author": {
        "name": "Cindy Zhou",
        "email": "zhouci@google.com",
        "time": "Fri Jan 08 22:29:26 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 08 22:29:26 2021 +0000"
      },
      "message": "Merge \"Update mediacodec policy with stat\" am: 589c173758 am: a9200367bf\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1542227\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ie333e38bbf61121718f95c2cbfad20639c240ec2\n"
    },
    {
      "commit": "589c173758e4424a8ec495639beb039c691bdff2",
      "tree": "cc77ac9d5cdb2e7acd15925453a1b1fb12c0d881",
      "parents": [
        "75981d603d26be9411a636703cafb1f3319c1aa7",
        "947f0a41359ce46ddffc75bcf6454e189299ba78"
      ],
      "author": {
        "name": "Cindy Zhou",
        "email": "zhouci@google.com",
        "time": "Fri Jan 08 21:25:31 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 08 21:25:31 2021 +0000"
      },
      "message": "Merge \"Update mediacodec policy with stat\""
    },
    {
      "commit": "318e024715b78ce94a56182c1bde9260f35e6725",
      "tree": "3ae41c91da869bd12854678c69e98c52b4be16c3",
      "parents": [
        "1c8663bcaadbf298454fda0c6171e99dee35a539"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 21 10:33:49 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 07 21:14:31 2021 -0800"
      },
      "message": "AudioEffects: Annotate smart pointer member variables\n\nIndicate which smart pointers are const and which ones may have\nissues with concurrent modification and access.\n\nNo material difference, but running tests to be sure.\n\nTest: AudioEffectTest AudioPreProcessingTest BassBoostTest\nTest: EnvReverbTest EqualizerTest LoudnessEnhancerTest\nTest: PresetReverbTest VirtualizerTest VisualizerTest\nBug: 161341295\nChange-Id: I6cac21893cd39496b2c2ab24fb203abe9e9e663e\n"
    },
    {
      "commit": "6a11026b5beca9ce2449b976bcf31b3ee412dd94",
      "tree": "f22eb690f3a5b0bc77c2dd5cf9577e3306bdd765",
      "parents": [
        "e4f6722455ca4e5f1f5e5ff3fcf7f5e9cafecf92",
        "7e859f1b9d140f5e5dc92d45b96289da6c21be76"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 07 22:52:59 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 07 22:52:59 2021 +0000"
      },
      "message": "Merge \"Audio HAL: add channel mask and tags to track metadata\" am: 0f320975fc am: 7e859f1b9d\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1541461\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ib99ab61df793d384f27f1c6a4afa76176797bcc4\n"
    },
    {
      "commit": "f481670d1fbde472cf667b4fe2d3413fd91fe7af",
      "tree": "1df805ec242077d2f32421f9e32ed466eae62116",
      "parents": [
        "ca362e8f614f535d3adc62840d5a4c416bb17e63"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Apr 03 15:44:51 2020 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 07 10:01:10 2021 -0800"
      },
      "message": "Camera: Remove \"camera3.h\" dependencies\n\nMigrate and rework all \"camera3.h\" types\nso that camerserver can be built without\nthis header file.\n\nBug: 153383067\nTest: Camera CTS\n\nChange-Id: Iad056c641e2c72c053f59ab9a05dbeb7ce394646\n"
    },
    {
      "commit": "bce0c1de61558b0d10aa88ec84c4175ef03432ce",
      "tree": "47dc4664f78e6f0bf5ce9a38fe80da3d44bf8bf6",
      "parents": [
        "471ab9669e1d288d4dc5fe927cebfcb0198f94cd"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Oct 05 11:20:18 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Jan 07 09:28:55 2021 -0800"
      },
      "message": "Support connecting multiple devices to APM.\n\nWhen connecting multiple devices with the same type to APM, APM will\nneed to support enumerating capabilities of the device. When a device is\nconnected/disconnected, the active devices may be updated. If an output\nsupports the active devices and dynamic profiles, it will be reopened to\nquery to dynamic profiles.\n\nTest: atest AudioTrackTest AudioRecordTest AudioManagerTest\nTest: atest AudioPlaybackCaptureTest audiopolicy_tests\nTest: audio smoke test\nBug: 160352965\nChange-Id: I52577ae26dd4073673025fe3286a58c047a35965\n"
    },
    {
      "commit": "947f0a41359ce46ddffc75bcf6454e189299ba78",
      "tree": "4c47ed422f647737e2e53f83ebb5d834dddffdbf",
      "parents": [
        "42969d3c83520a8c770b86e123f965e1ea6946a7"
      ],
      "author": {
        "name": "Cindy Zhou",
        "email": "zhouci@google.com",
        "time": "Wed Jan 06 16:49:58 2021 -0800"
      },
      "committer": {
        "name": "Cindy Zhou",
        "email": "zhouci@google.com",
        "time": "Thu Jan 07 04:55:34 2021 -0800"
      },
      "message": "Update mediacodec policy with stat\n\nSanitizers makes syscall to \u0027stat\u0027 that is blocked by libminijail.\nBug: 158010610\nBug: 173497308\nTest: n/a\n\nChange-Id: I7bc5c0736b69fb5010a60e9317f9eeebaec6fbf8\n"
    },
    {
      "commit": "6109cdbc0b8ce3e32e71a29ecd3e774a8aa662fb",
      "tree": "990d82f194f8a000cd963d717cfa19ef610c825a",
      "parents": [
        "b572b63b6e788e036ff91058df2a7b3ba76ee1f8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 20 18:41:04 2020 +0100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Jan 05 12:50:23 2021 -0800"
      },
      "message": "Audio HAL: add channel mask and tags to track metadata\n\nAdd channel mask and audio attributes tags to playback\nand record track metadata sent to audio HAL.\n\nBug: 168751366\nTest: make\nChange-Id: I06a63963e1be53bd965792dec607fa67a89f28bf\nMerged-In: I06a63963e1be53bd965792dec607fa67a89f28bf\n"
    },
    {
      "commit": "ef03eef383dd33d8dca48a8301e0487d20154dcf",
      "tree": "084f6c5e70548cacb0ef20cbffe796b9cd87d733",
      "parents": [
        "1ab91b43ec864237e3bd12929669420b55c25bf6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 05 16:30:04 2021 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 05 16:30:04 2021 +0100"
      },
      "message": "audio flinger: fix use of local variable after std:move\n\nFix potential problem introduced by commit 74c38dc7\n\nBug: 139894721\nTest: atest AudioTrackTest\nTest: atest RoutingTest\nTest: atest AudioPolicyManagerTestMsd\nChange-Id: I2bb2cb29e872115d6448dfbeb7d957c52f56289a\n"
    },
    {
      "commit": "1ab91b43ec864237e3bd12929669420b55c25bf6",
      "tree": "ce35d53fb21d7c06c23dc26df0a2072f1232556c",
      "parents": [
        "6149d6bd047e1b18d467d8c8f6cda33608f109c2",
        "2380e64dd387f6d0ab03923faffa301a00d449be"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 05 12:55:18 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jan 05 12:55:18 2021 +0000"
      },
      "message": "Merge \"audiopolicy: default engine audio source add blutooth ble device [1/1]\" am: b572b63b6e am: 772be9ff41 am: 2380e64dd3\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1524979\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ic33eb49dfb31d0d19d8e4e23e3f0c6e34425ac50\n"
    },
    {
      "commit": "2380e64dd387f6d0ab03923faffa301a00d449be",
      "tree": "2fe67eabb6dfd9b7362079c88e99688bd4bb4838",
      "parents": [
        "ab1673777fe39b1c260830dafaaadc5f46349443",
        "772be9ff41d6e5e9f214fbd7bf9cf2b986549761"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 05 12:22:00 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jan 05 12:22:00 2021 +0000"
      },
      "message": "Merge \"audiopolicy: default engine audio source add blutooth ble device [1/1]\" am: b572b63b6e am: 772be9ff41\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1524979\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I3157d3e53a6fc3fcf09fce41d8de75a039dd2ad5\n"
    },
    {
      "commit": "6149d6bd047e1b18d467d8c8f6cda33608f109c2",
      "tree": "3b2a3d1221fb4e5ff9e63753a6a9939100651fc0",
      "parents": [
        "346778c2eb2d88f44d3d54f236c8af854269c744",
        "74c38dc7e39125a9ae17daa3b810324621c0fad2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 05 11:52:40 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 05 11:52:40 2021 +0000"
      },
      "message": "Merge \"audio flinger: report actual sink device for MSD playback threads\""
    },
    {
      "commit": "74c38dc7e39125a9ae17daa3b810324621c0fad2",
      "tree": "55b4d2bfdb04674b707e07e1a7d15723684f1e74",
      "parents": [
        "dc66d284ad1cdfffc3e65cf352e270e43dc47ff8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 23 18:19:44 2020 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 05 08:37:54 2021 +0000"
      },
      "message": "audio flinger: report actual sink device for MSD playback threads\n\nWhen a playback thread is routed to an MSD module, make sure that the\nactual sink device selected by the software patch at the output of the\nMSD module is reported to AudioTrack clients.\n\nBug: 139894721\nTest: atest AudioTrackTest\nTest: atest RoutingTest\nChange-Id: Ie52ebe198e9ebdfe5f2a38dcd44c551c705a7931\n"
    },
    {
      "commit": "a702052dc6b012c5ed2ea2c106fa8eec6c146ccb",
      "tree": "4398974a312a55497a171dc6eecaf1cef6a0d927",
      "parents": [
        "1e2b6013c9d9ceb39530806507b40f688f553568"
      ],
      "author": {
        "name": "wei wang",
        "email": "wei.wang@amlogic.com",
        "time": "Thu Dec 10 21:36:11 2020 -0500"
      },
      "committer": {
        "name": "wei wang",
        "email": "wei.wang@amlogic.com",
        "time": "Tue Jan 05 01:50:02 2021 +0000"
      },
      "message": "audiopolicy: default engine audio source add blutooth ble device [1/1]\n\nPD# SWPL-37970\nBug:175350838\n\nProblem:\nadd audio input dev (AUDIO_DEVICE_IN_BLUETOOTH_BLE ) for BLE RC voice\n\nSolution:\ndefault engine audio source add blutooth ble device\n\nVerify:\nverify by ohm\n\nSigned-off-by: wei wang \u003cwei.wang@amlogic.com\u003e\nChange-Id: I1894f6821034b475f83e99cb6e1dc75e1f5b6514\n"
    },
    {
      "commit": "8ba12772fcf103226e0b346b019a0ecd1ff5f024",
      "tree": "455199d9477bccaae0d062e3ecad8f614ff62aa2",
      "parents": [
        "dc66d284ad1cdfffc3e65cf352e270e43dc47ff8",
        "9457917e21edb51ea032237c94386416b5e83358"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 04 15:57:09 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 04 15:57:09 2021 +0000"
      },
      "message": "Merge \"Audio HAL: add channel mask and tags to track metadata\""
    },
    {
      "commit": "9654e3107f0054e87e94e7c830de2fb4a1e7428f",
      "tree": "f001bc23fad189747ac61537c7f641ade5711503",
      "parents": [
        "17cc63710ac1ec506aa853f0113f696568d1eff2",
        "293c58c3bc5303ae196b2f788839f488e73db4b6"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Dec 29 01:18:06 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 29 01:18:06 2020 +0000"
      },
      "message": "Merge \"cameraserver: Remove extranous operation in insertGbpLocked.\""
    },
    {
      "commit": "293c58c3bc5303ae196b2f788839f488e73db4b6",
      "tree": "7ba0edfe9cea8b6fc59ebe94016e5314698596ed",
      "parents": [
        "624e6b8fedc5d7236cfafa0bc6685a6023d47c6f"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sun Dec 27 13:18:25 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Dec 28 12:35:30 2020 -0800"
      },
      "message": "cameraserver: Remove extranous operation in insertGbpLocked.\n\nTest: GCA (validity)\n\nChange-Id: Ib542c449cbfeae67f1294cf1b42d02ef0bbfaad4\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "4b441c1e8e99b459563339039962e11292a1e289",
      "tree": "3e71559f19609a85cc8e8339f3056bc454524337",
      "parents": [
        "75b915ab270baf1a3b16e27a5bdb218bacabeaac",
        "9a6b9adb0de5f6fc3cf39e369c6a6ed447823469"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 23 19:57:11 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 23 19:57:11 2020 +0000"
      },
      "message": "Merge \"Audio policy: notify system_server of routing change\""
    },
    {
      "commit": "9a6b9adb0de5f6fc3cf39e369c6a6ed447823469",
      "tree": "969cf83987ea9ce0bd5fb9e458af8cc6c8d68267",
      "parents": [
        "27fe43ec5915fd93539c17444102d0c9cfdd6732"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Oct 22 16:46:43 2020 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 23 08:57:48 2020 -0800"
      },
      "message": "Audio policy: notify system_server of routing change\n\nCallback into AudioPolicyClientInterface to notify of routing\nupdate whenever output is re-evaluated.\nAdd native test to verify callback is invoked on device\n(dis)connection and setForceUse.\n\nBug: 162448412\nTest: atest AudioServiceHostTest#testPreferredDeviceRouting\nTest: atest AudioServiceHostTest#testDevicesForAttributes\nTest: atest audiopolicy_tests:AudioPolicyManagerTestDeviceConnection#RoutingUpdate\nChange-Id: Ia1a985b996bf8f2f63e72c4110f62f65f9f42f21\n"
    },
    {
      "commit": "c6e6d625ff440804d4c743c981050944559a4bdd",
      "tree": "818ddac3ec2c8f94fff5c936659e322484afe178",
      "parents": [
        "a3f23cee27a0d94c13de99233399c438843ef1de",
        "61cc5c2a8dcd36b4658ca329cb3fd6f0874d96b1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 23 13:31:15 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 23 13:31:15 2020 +0000"
      },
      "message": "Merge \"audio policy: phone strategy routing based on preferred device API\" am: af5c22012f am: 61cc5c2a8d\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1534354\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I1fe8d8f65dedf73f7180294e851d5721bbae9f5e\n"
    },
    {
      "commit": "a3f23cee27a0d94c13de99233399c438843ef1de",
      "tree": "c1c82501a544f1b4885a58d9e4a91f775be507aa",
      "parents": [
        "81429402d87f7de056051e603e811bab32e5c8f1",
        "49bc142eaea22acd5b458d3fda0d16bb435fa314"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 23 09:44:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 23 09:44:49 2020 +0000"
      },
      "message": "Merge \"Revert^2 \"Support device role for capture preset.\"\" am: 05c7bc9e01 am: 49bc142eae\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1534353\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ifbfeae103e4baf6785d769b44b53ec5309eb51cf\n"
    },
    {
      "commit": "cca11ce427e12110658ad5ea206f89c2ffd2af7a",
      "tree": "09d5a0a402054d4de954e33a0a3c68ce02742a0f",
      "parents": [
        "05c7bc9e01aed3301498313646669a5d103b28ca"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 25 15:31:27 2020 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 23 08:36:58 2020 +0000"
      },
      "message": "audio policy: phone strategy routing based on preferred device API\n\nUse preferred device API instead of forced usage to select\naudio route for phone strategy in default audio policy engine.\n\nAlso remove use of forced usage for record which was redundant with\nforced usage for communication (never used independently).\n\nBug: 161358428\nTest: audio smoke tests\nChange-Id: Ie0c36b69ae6849c6efe7b5602dc9d0322856f561\nMerged-In: Ie0c36b69ae6849c6efe7b5602dc9d0322856f561\n"
    },
    {
      "commit": "60e5a2561522185386ba901e72836bdd26ac0525",
      "tree": "1820597dcb42fb6b703cbce26b81beb36dfe48aa",
      "parents": [
        "9c7bdc21e082683a6e54211181662ff11b296b79",
        "a2e3a04895c7cf0438a0661d79a26d7321e27763"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Dec 23 03:28:02 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 23 03:28:02 2020 +0000"
      },
      "message": "Merge \"transcoding: move transcoding service to apex\""
    },
    {
      "commit": "6e46824a30f72400949aa91355dd15be64888b43",
      "tree": "17b7fcd36f0eade201af3550a4869f52b19c42f1",
      "parents": [
        "e8a66c66bad62aa5ab4778ce7ac448d563eae335"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Sep 03 17:54:16 2020 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 18:53:55 2020 +0000"
      },
      "message": "Revert^2 \"Support device role for capture preset.\"\n\nSupport set/add/remove/clear/get device role for capture preset. The\ndevice role can be DEVICE_ROLE_PREFERRED and DEVICE_ROLE_DISABLED. The\npreferred and disabled devices can be multiple devices. In this CL,\nonly cache preferred devices in engine but not use for audio routing.\n\nBug: 160352965\nTest: atest AudioServiceHostTest\nTest: atest audiopolicy_tests\n\nChange-Id: I368d562ec2aae68aa239dce75d54ca2772b30e76\nMerged-In: I368d562ec2aae68aa239dce75d54ca2772b30e76\n"
    },
    {
      "commit": "7e3b74149a1f1f4e190fae18bcee7ca7c9d711db",
      "tree": "a3edfc9ea7098c7c13e4d88e195d310c780a409f",
      "parents": [
        "d7bbbd501ce6b5cd646d1cbde29c678c86205b09",
        "2ed262362f00eb5b75fa9279f7695798d7356505"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 17:26:34 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 22 17:26:34 2020 +0000"
      },
      "message": "Merge \"Introduce device(s) role for strategy.\" am: e8a66c66ba am: 2ed262362f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1534352\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I4de8dd00c660eda3c92c4662468520eed6bc3f94\n"
    },
    {
      "commit": "d7bbbd501ce6b5cd646d1cbde29c678c86205b09",
      "tree": "9cf406145e2fe5b6c5a21799f7467fed7da6de88",
      "parents": [
        "c8f7d1b44197147b5f48c0cca88b3e680a3f83d8",
        "7fe4bf069f4b972a20731828e9e3004a818a41d5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 12:13:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 22 12:13:06 2020 +0000"
      },
      "message": "Merge \"Use AudioDeviceTypeAddrVector instead of Vector\u003cAudioDeviceTypeAddr\u003e\" am: 31bdb51946 am: 7fe4bf069f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1534351\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I62f71ae4905769303b3ea59020d0b6ad40e99cd4\n"
    },
    {
      "commit": "4e82621821c5adf1dbd3ef1911fc6a2a0becfbc8",
      "tree": "1de376a468b699ac4fe3f97fac00bc2c62052bda",
      "parents": [
        "c1afe3ba438699122aa2c3a66c3c58e87dd5525b"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 07 17:32:40 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 21 16:28:31 2020 +0100"
      },
      "message": "Introduce device(s) role for strategy.\n\nAdding interface to get/set/removeDevicesRoleForStrategy. The interfaces\nallows to modify the devices\u0027 role, such as preferred, for strategy.\nGet/set/removePreferredDeviceForStrategy is reimplemented by the new\ninterfaces.\n\nTest: atest AudioHostTest\nTest: atest AudioServiceHostTest\nTest: atest AudioServiceTest\nTest: atest audiopolicy_tests\nBug: 160352965\nChange-Id: I0af737542a8599938cae4e142b733159f21ed5a8\nMerged-In: I0af737542a8599938cae4e142b733159f21ed5a8\n"
    },
    {
      "commit": "c1afe3ba438699122aa2c3a66c3c58e87dd5525b",
      "tree": "1c1290b565c6989d90f91b00f6005176e74aa28c",
      "parents": [
        "d295e4b4bdc617ebdeb36deb97cb9597a5e603f1"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 07 11:56:38 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 21 16:28:18 2020 +0100"
      },
      "message": "Use AudioDeviceTypeAddrVector instead of Vector\u003cAudioDeviceTypeAddr\u003e\n\nAudioDeviceTypeAddrVector is std::vector\u003cAudioDeviceTypeAddr\u003e. In that\ncase, it is not needed to use Vector\u003cAudioDeviceTypeAddr\u003e. It is also\nsuggested to use the std::vector instead of Vector.\n\nTest: atest AudioHostTest\nTest: atest AudioServiceHostTest\nTest: atest audiopolicy_tests\nBug: 160352965\nChange-Id: Ibcd91fcba95c53e3c172ae62fc6f30e70509de51\nMerged-In: Ibcd91fcba95c53e3c172ae62fc6f30e70509de51\n"
    },
    {
      "commit": "31f1fc39b3edfc6382dcf817f12fdb9704ef92b6",
      "tree": "f5cbf2a1e0acb55e3e4531079ccbac1fe3c25810",
      "parents": [
        "b83616c5cfffd0600c0712cdf4dffad4ef64fc59",
        "b809a75a56b26f7446521741c022ad42eb04564f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 21 10:57:04 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 21 10:57:04 2020 +0000"
      },
      "message": "Merge changes from topic \"refactor_route_for_comm\"\n\n* changes:\n  Audio policy: fix capture policy for IN_COMMUNICATION mode\n  audio policy: allow USB device for voice comm capture in speakerphone\n  audio policy: phone strategy routing based on preferred device API\n"
    },
    {
      "commit": "bf4b9ee019ea3e51a54b095e25269e90c46a3bfd",
      "tree": "ac117a802aa3a95e8a2d300d3a9397c8cb464df9",
      "parents": [
        "26f3d98fb97c0778bddaba81739e7eab097ea55b",
        "7e7a79d86f9596564562c1977aed241d4dc21154"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 17 23:48:26 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 17 23:48:26 2020 +0000"
      },
      "message": "Merge \"AIDLize IAudioPolicyServiceClient\""
    },
    {
      "commit": "b809a75a56b26f7446521741c022ad42eb04564f",
      "tree": "84e8bdcb107eb9529373a5070bc6f33bd067f496",
      "parents": [
        "6435dd74a14ee1db195f5479147d71df7eb3cf9d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 29 09:53:13 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 17 21:47:58 2020 +0100"
      },
      "message": "Audio policy: fix capture policy for IN_COMMUNICATION mode\n\nIf audio mode is IN_COMMUNICATION, favor audio mode owner over another\napp also capturing with privacy sensitive flag and with foreground UI or\nmore recent capture start time.\nThis avoids silencing both apps in this scenario.\n\nRestore voice communication capture restriction to audio mode owner\nremoved by commit ffabb495.\n\nBug: 160260850\nTest: VoIP call regression\n\nChange-Id: If4737cb7ffa3123537a13319d5857031f0f48932\n"
    },
    {
      "commit": "6435dd74a14ee1db195f5479147d71df7eb3cf9d",
      "tree": "5cab834e5d300cf10e62ad8caeeef8f3c0c0004e",
      "parents": [
        "2517af3ee8caec6d6de4c9e8f052d0579b6ec1b2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 02 14:42:42 2020 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 17 21:47:58 2020 +0100"
      },
      "message": "audio policy: allow USB device for voice comm capture in speakerphone\n\nWhen no built-in microphone is present, allow capture from USB accessory\n(e.g web cam) for voice communication use cases even when speakerphone\nmode is on. Even if the echo cancelling does not perform well, this is\nbetter than a failure to capture.\n\nBug: 168662367\nTest: basic audio regression tests\nChange-Id: I59c6b3206c7eb6265044879ced0afb4ac7281ecd\n"
    },
    {
      "commit": "2517af3ee8caec6d6de4c9e8f052d0579b6ec1b2",
      "tree": "27b3f3937ab07c4b40eee50b4e10659437feb810",
      "parents": [
        "f224b6d5c39e435038789e12162fb90459ca36ab"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 25 15:31:27 2020 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 17 21:47:58 2020 +0100"
      },
      "message": "audio policy: phone strategy routing based on preferred device API\n\nUse preferred device API instead of forced usage to select\naudio route for phone strategy in default audio policy engine.\n\nAlso remove use of forced usage for record which was redundant with\nforced usage for communication (never used independently).\n\nBug: 161358428\nTest: audio smoke tests\nChange-Id: Ie0c36b69ae6849c6efe7b5602dc9d0322856f561\n"
    },
    {
      "commit": "f224b6d5c39e435038789e12162fb90459ca36ab",
      "tree": "6bcaa13c5e67499d01c900d882b0809ebe26ac19",
      "parents": [
        "593c2cb2a1698f7f3ace6019b8bd9de34e6edff9",
        "2349b1a90de7a7f89185056abd17d9dae78c8c03"
      ],
      "author": {
        "name": "Kris Alder",
        "email": "kalder@google.com",
        "time": "Thu Dec 17 19:35:13 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 17 19:35:13 2020 +0000"
      },
      "message": "Merge \"libaaudioservice: Updated to build both static and shared library\" am: d295e4b4bd am: 6dc4d54815 am: 2349b1a90d\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1522719\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I3ac6acaddea3c3cf932439de48b2d525fd92c5db\n"
    },
    {
      "commit": "2349b1a90de7a7f89185056abd17d9dae78c8c03",
      "tree": "2a1cc195ea3775fe6a4156dbd48c30e89570aec1",
      "parents": [
        "da86112baea3e27f5bfdee6c0732b0a6d476ff0e",
        "6dc4d54815fef551778caca0e5b234e36a3ba18e"
      ],
      "author": {
        "name": "Kris Alder",
        "email": "kalder@google.com",
        "time": "Thu Dec 17 19:08:52 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 17 19:08:52 2020 +0000"
      },
      "message": "Merge \"libaaudioservice: Updated to build both static and shared library\" am: d295e4b4bd am: 6dc4d54815\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1522719\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I02a0256e292bca37d1d34415c7988b6d0a38708a\n"
    },
    {
      "commit": "9457917e21edb51ea032237c94386416b5e83358",
      "tree": "b8b862b539d28d1a1708332ef0c86731e01f8994",
      "parents": [
        "bd2c15386ecb0be826ac52400c357d4043c4f091"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 20 18:41:04 2020 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 17 16:54:41 2020 +0100"
      },
      "message": "Audio HAL: add channel mask and tags to track metadata\n\nAdd channel mask and audio attributes tags to playback\nand record track metadata sent to audio HAL.\n\nBug: 168751366\nTest: make\nChange-Id: I06a63963e1be53bd965792dec607fa67a89f28bf\n"
    },
    {
      "commit": "3b4b8661c4d1333e3a1dc814d3b43c458ae6e09e",
      "tree": "8f9de3fc927fb971fbd6369338082d0467bf7023",
      "parents": [
        "f12daa4ec147c9ecca68afb9f85480781d769846",
        "6d26626135f17e428ac90845cf991d3ed49dfe37"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 17 02:07:13 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 17 02:07:13 2020 +0000"
      },
      "message": "Merge \"Use AidlMessageQueue for tuner service\""
    },
    {
      "commit": "f12daa4ec147c9ecca68afb9f85480781d769846",
      "tree": "317139f096611e149941aa91bbcb5f11f2419ada",
      "parents": [
        "b27255e84e2ddc5e951739d2238afd6314cf179a",
        "b742992506c1875c29c88498dec555bd7a2b8542"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Thu Dec 17 01:12:08 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 17 01:12:08 2020 +0000"
      },
      "message": "Merge \"Updating MediaRecorderClient to use CAPTURE_TUNER_AUDIO_INPUT\""
    },
    {
      "commit": "6d26626135f17e428ac90845cf991d3ed49dfe37",
      "tree": "7bf65a94d217c76109628d02f31ecab696aafe2e",
      "parents": [
        "204fafe47572aa3362658aebaf84f9c860b64bcf"
      ],
      "author": {
        "name": "shubang",
        "email": "shubang@google.com",
        "time": "Fri Oct 09 00:15:04 2020 -0700"
      },
      "committer": {
        "name": "shubang",
        "email": "shubang@google.com",
        "time": "Wed Dec 16 15:34:33 2020 -0800"
      },
      "message": "Use AidlMessageQueue for tuner service\n\nTest: mmm\nChange-Id: I002823d97400b8865edadfadc0293f304f93e0d8\n"
    },
    {
      "commit": "7e7a79d86f9596564562c1977aed241d4dc21154",
      "tree": "d6e1fdac0af8f5826cc06d4112972e4f4ea87ada",
      "parents": [
        "1601ba676489b977715b7b16d3b89dccead8554d"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Tue Dec 15 16:48:16 2020 -0800"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Dec 16 14:33:59 2020 -0800"
      },
      "message": "AIDLize IAudioPolicyServiceClient\n\nBug: 160253486\nTest: Audio-related tests from CtsMediaTestCases\nChange-Id: Id37fad4028b620620a45dabe8af068f3158e6228\n"
    },
    {
      "commit": "b742992506c1875c29c88498dec555bd7a2b8542",
      "tree": "873b858af21122fa6cd301978188d02f19459611",
      "parents": [
        "9b95dd2f7e88bd1ddaf5b765ffe7845cabe6edbc"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Fri Dec 11 13:59:18 2020 -0800"
      },
      "committer": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Wed Dec 16 12:01:50 2020 -0800"
      },
      "message": "Updating MediaRecorderClient to use CAPTURE_TUNER_AUDIO_INPUT\n\nUpdating recording FM_TUNER to use CAPTURE_TUNER_AUDIO_INPUT\nin addition to CAPTURE_MEDIA_OUTPUT.\n\nBug: 165921316\nTest: atest AudioServiceHostTest#testRadioTunerRecord\nChange-Id: I3e41cab65154835296f9e0d965f9bba4598050d1\n"
    },
    {
      "commit": "3813f74c4e035da3e831ad14d6fe1910e52c5e55",
      "tree": "e780833025c08c7870d9cc9c3915fdeb8d9414b4",
      "parents": [
        "e9ebb9efbcac3a27a26cb068ac5e8fd187bcaaa2"
      ],
      "author": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Wed Nov 11 11:12:48 2020 +0530"
      },
      "committer": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Wed Dec 16 13:45:08 2020 +0530"
      },
      "message": "libaaudioservice: Updated to build both static and shared library\n\nTest: Build libaaudioservice\nBug: 174736869\n\nChange-Id: If2fbbe199314ad21ef08338b5aed9c8991031c15\n"
    },
    {
      "commit": "5fca50079e1c42b61b569da47382595407e7ee07",
      "tree": "2d0cc23b38436d9e3bed0fce85180a1b48e8aa7e",
      "parents": [
        "b7c71956c0dd2f54a7174c746a8394012a0a686b",
        "e69cada3e096a21b69768e921dd60241238c6b9a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 15 22:42:52 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 15 22:42:52 2020 +0000"
      },
      "message": "Merge \"attribute REMOTE_SUBMIX recording to RECORD_AUDIO_OUTPUT\""
    },
    {
      "commit": "1349f47fdb96e0347075b7f6f6ff453e97caba17",
      "tree": "fde4f3762f714a441d05f0108acb6820b6327480",
      "parents": [
        "89715382dcdb87aca5737b0954cdd844bcc58267"
      ],
      "author": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Wed Nov 11 23:49:28 2020 +0000"
      },
      "committer": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Tue Dec 15 22:27:51 2020 +0000"
      },
      "message": "Log MediaExtractor entry point to MediaMetrics\n\nBug: 170386720\nTest: atest libctsmediav2extractor_jni\nTest: atest CtsMediaTestCases\nChange-Id: I648e27b1b483a646df77e2a88ec5ac8af01a0bb9\nMerged-In: I648e27b1b483a646df77e2a88ec5ac8af01a0bb9\n"
    },
    {
      "commit": "b7c71956c0dd2f54a7174c746a8394012a0a686b",
      "tree": "0de36f64b469093f64b8e47aaf5df0bbe6b33c7a",
      "parents": [
        "e8f517ceacd42b848c7e6ff2f0dd5b8925af314c",
        "abbcb6b7307d376f1b1fc2d0ed5798da33ac1015"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 15 19:46:00 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 15 19:46:00 2020 +0000"
      },
      "message": "Merge \"Camera: Add debug code to dump JPEG images\""
    },
    {
      "commit": "abbcb6b7307d376f1b1fc2d0ed5798da33ac1015",
      "tree": "3ed4c0e13892f51f1a51a41f7497640fff4c281a",
      "parents": [
        "5834bf6ebe9265c938b2cbb2c1cee1ad3a819a5c"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Dec 09 22:32:44 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Dec 14 15:35:24 2020 -0800"
      },
      "message": "Camera: Add debug code to dump JPEG images\n\n- Debugging can be turned on by running:\nadb shell cmd media.camera set-image-dump-mask 1\n- Current flag setting can be queried by:\nadb shell cmd media.camera get-image-dump-mask\n- JPEG images are stored in /data/misc/cameraserver\n- Image name is in the format of:\nIMG_[YYYY][MM][DD]_[HH][MM][SS]_[TIMESTAMP].jpg\n\nTest: Run adb command, run StillCapture test, and check output files\nBug: 172365775\nChange-Id: Iec573ab68dcf5752ff036733b83b4088da8199cb\n"
    },
    {
      "commit": "e69cada3e096a21b69768e921dd60241238c6b9a",
      "tree": "bc0d785b192aee94d63f96cf0dd6d4cdf516e1f7",
      "parents": [
        "5dc9ad75a27c19ec5450c57ba08d7e04494b704b"
      ],
      "author": {
        "name": "Nate Myren",
        "email": "ntmyren@google.com",
        "time": "Thu Dec 10 10:00:36 2020 -0800"
      },
      "committer": {
        "name": "Nate Myren",
        "email": "ntmyren@google.com",
        "time": "Mon Dec 14 13:01:52 2020 -0800"
      },
      "message": "attribute REMOTE_SUBMIX recording to RECORD_AUDIO_OUTPUT\n\nREMOTE_SUBMIX audioRecords do not use the microphone, so attribute their\nusage to RECORD_AUDIO_OUTPUT, instead of RECORD_AUDIO\n\nTest: manual\nFixes: 173797503\nChange-Id: Ibc5d09a6b2a90211781076f70516c03ed024cc42\n"
    },
    {
      "commit": "acfeedce1b67613dff6c16c4b6b325ab18191b04",
      "tree": "7925c86ba2598b448d04aff2f2606c1a5dad488a",
      "parents": [
        "76bbcacd837168e245a1c4e644d5b5db49578737",
        "79c34f22429c29bae8e09c81f7fe9a123e83d30e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 14 02:40:07 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 14 02:40:07 2020 +0000"
      },
      "message": "Merge \"Log MediaExtractor entry point to MediaMetrics\""
    },
    {
      "commit": "a2e3a04895c7cf0438a0661d79a26d7321e27763",
      "tree": "9291591e29be520c0cae4dcaf1c9df4cfa9dfdae",
      "parents": [
        "5dc9ad75a27c19ec5450c57ba08d7e04494b704b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Oct 26 11:58:11 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Dec 11 18:33:21 2020 +0000"
      },
      "message": "transcoding: move transcoding service to apex\n\nAnd conditionally start transcoding service\n\nbug: 159172726\nChange-Id: I13d126f342d4ea944d1e9186b4edcdfe5fb4b0a0\n"
    },
    {
      "commit": "79c34f22429c29bae8e09c81f7fe9a123e83d30e",
      "tree": "eb9490899822423a03195d90eb4479e39afefcd1",
      "parents": [
        "92bb814c54d20f0b407a29403d41646df32a246b"
      ],
      "author": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Wed Nov 11 23:49:28 2020 +0000"
      },
      "committer": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Fri Dec 11 15:56:07 2020 +0000"
      },
      "message": "Log MediaExtractor entry point to MediaMetrics\n\nBug: 170386720\nTest: atest libctsmediav2extractor_jni\nTest: atest CtsMediaTestCases\nChange-Id: I648e27b1b483a646df77e2a88ec5ac8af01a0bb9\n"
    },
    {
      "commit": "1131b6eff47dc3da719015794e0f3d94601c9eb2",
      "tree": "8525af00e0a83be99148859eae8e57bfba7cf564",
      "parents": [
        "973638a1ca4d4f693a492a13c89240178391e56c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 08 20:47:45 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 11 00:08:35 2020 -0800"
      },
      "message": "Audio Aidl: Update binder::Status return code handling\n\nAdd statusTFromBinderStatus() and binderStatusFromStatusT()\nas methods to standardize binder status codes for native\naudio service cross-language compatibility.\n\nTest: atest audio_aidl_status_tests\nBug: 175338323\nChange-Id: I48c543689d5a9a464c0d68fb6263dedff43ceca9\n"
    },
    {
      "commit": "973638a1ca4d4f693a492a13c89240178391e56c",
      "tree": "844cf6ba85c876ff1cc8e93aba1b6a6d990ec5ac",
      "parents": [
        "3f69c16cb65f42892b2ee678d171c98613f16982"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 08 20:47:45 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 11 00:04:32 2020 -0800"
      },
      "message": "Audio Aidl: Unify naming for conversion methods\n\nMost of the naming for aidl2legacy and legacy2aidl\nare consistent, correct the few remaining inconsistencies.\n\nTest: compiles, boots\nBug: 175316373\nChange-Id: I85952846b306a2b5e88db125ccfbe431cc9bd7cd\n"
    },
    {
      "commit": "e13404b67042b964b2f3e8e17ce526bd2a4f8c55",
      "tree": "106b26c67cff2690bf6c3760f1999ff23d7f609d",
      "parents": [
        "5998a63a10bfd79a5e060f9669c40e45752a9e59",
        "90fe31c88aa787c5ab83df2672969cf2ee11f263"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 11 07:09:29 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 11 07:09:29 2020 +0000"
      },
      "message": "Merge \"audio: add reporting of gapless playback support\""
    },
    {
      "commit": "99da7fc6dae0ae90f4ef5d527b0db78b9c65efa5",
      "tree": "90ad9124bc2d91b078825b1d6767f10777f84431",
      "parents": [
        "666f0b36be4cf032ed2aca375e4cbb3b46f1004e",
        "aab6038b83f5101b487cb2ba162d84e8ba7c304b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 11 04:17:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 11 04:17:21 2020 +0000"
      },
      "message": "Merge \"Camera: Remove app segment stream\u0027s locked buffer tracking\" into rvc-qpr-dev am: aab6038b83\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13084269\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: If4bcb14e999d9f6f1614d48e3b613e6c3e5ca3bc\n"
    },
    {
      "commit": "aab6038b83f5101b487cb2ba162d84e8ba7c304b",
      "tree": "de90f35e8c2aab92bab4418b61069cecdf32f079",
      "parents": [
        "abe2569e0429cd90c4189b460fc377cfbec7daed",
        "6b97414787adcadb88d7b7ede90f787a7c7dcb2d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 11 03:48:16 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 11 03:48:16 2020 +0000"
      },
      "message": "Merge \"Camera: Remove app segment stream\u0027s locked buffer tracking\" into rvc-qpr-dev"
    },
    {
      "commit": "6b97414787adcadb88d7b7ede90f787a7c7dcb2d",
      "tree": "f8a54db73d4f7163868d5d5a94d69bd5a98e54ea",
      "parents": [
        "e0a387421fab08b47352f09c60744747b5b624e4"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Nov 18 16:37:45 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 10 18:14:40 2020 +0000"
      },
      "message": "Camera: Remove app segment stream\u0027s locked buffer tracking\n\nThe app segment CpuConsumer\u0027s max locked buffer count is already\nenforced by the buffer queue. No need to monitor the locked buffer count\nseparately.\n\nIn case we are exceeding the max locked buffer count, the lockBuffer()\ncall returns failure, so further app segment processing will be deferred.\n\nTest: vendor testing\nBug: 173583542\nChange-Id: I02522bcc695ee00ac4ee48df4cfd76ce35522cb9\nMerged-In: I02522bcc695ee00ac4ee48df4cfd76ce35522cb9\n"
    },
    {
      "commit": "4e2d2a5cf59c0a49cec74b2ba04b416a4861a064",
      "tree": "9a1a7a54f6a181004190d0887b0014f6d33b28a8",
      "parents": [
        "1ce56593ae0a89705027a8c054c4518125bf008a",
        "19cdba55d6d981658dd43e1599e5449f40b4693f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 10 17:17:39 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 17:17:39 2020 +0000"
      },
      "message": "Merge \"Use audio_port_v7 in audio policy.\""
    },
    {
      "commit": "1ce56593ae0a89705027a8c054c4518125bf008a",
      "tree": "61b8acb1cd7af8d8da63141312d8ee10c13e9e25",
      "parents": [
        "71fe1304f1149123695f89403238a79d657d8336",
        "bf85d8bc814e661b16b24968a0b16544f4d6329f"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Dec 10 09:08:53 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 09:08:53 2020 +0000"
      },
      "message": "Merge \"Attribute SOURCE_HOTWORD to OP_RECORD_AUDIO_HOTWORD.\""
    },
    {
      "commit": "deddbbc1a45db2e9ce86d7fbbf5767eaa7f41ebe",
      "tree": "ecfa64a094ff2d4c1b48f83adb494c90830d65f5",
      "parents": [
        "091346b05e4aa34dad5581794420ad19f5c26de6",
        "c5970fd0dae18a15f7a673816aa8e817134c7255"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 22:30:00 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 09 22:30:00 2020 +0000"
      },
      "message": "Merge \"mediaresourcemanager: remove AIDL comparison ops\" am: 9494e4ede7 am: c5970fd0da\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1522082\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I101e6247eb8ed2bca1b36232b147f5d487590881\n"
    },
    {
      "commit": "c5970fd0dae18a15f7a673816aa8e817134c7255",
      "tree": "6c2aab42df56cf1109bc9363963e5c442b6123b0",
      "parents": [
        "5d30d3aaaf4cd0c55b36cd6e492f178042498ba4",
        "9494e4ede7780ce2ff96544ee3a0b67c8d92c7d8"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 22:08:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 09 22:08:21 2020 +0000"
      },
      "message": "Merge \"mediaresourcemanager: remove AIDL comparison ops\" am: 9494e4ede7\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1522082\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I5fe0f4309a3d7bf81b29cafa90b38a74203146ff\n"
    },
    {
      "commit": "9494e4ede7780ce2ff96544ee3a0b67c8d92c7d8",
      "tree": "05b0dbd923045cd5276b10501292e17a6c165532",
      "parents": [
        "754ef5960fa00ebdffd4058d4f3941e4222d5c19",
        "bb07853cea158899b0296886b2bac239eaf738dd"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 21:46:59 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 09 21:46:59 2020 +0000"
      },
      "message": "Merge \"mediaresourcemanager: remove AIDL comparison ops\""
    },
    {
      "commit": "bf85d8bc814e661b16b24968a0b16544f4d6329f",
      "tree": "5f1c038d4fb1ac909508c71d458bef7703dfa578",
      "parents": [
        "5834bf6ebe9265c938b2cbb2c1cee1ad3a819a5c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Aug 20 17:19:57 2020 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Dec 09 20:35:39 2020 +0000"
      },
      "message": "Attribute SOURCE_HOTWORD to OP_RECORD_AUDIO_HOTWORD.\n\nWhenever we startRecording / finishRecording with a source\nof SOURCE_HOTWORD, attribute them to OP_RECORD_AUDIO_HOTWORD\ninstead of OP_RECORD_AUDIO. In either case, OP_RECORD_AUDIO\nis checked before the recording commences. Note that we also\ncheck that all recordings with SOURCE_HOTWORD are initiated\nby a uid that holds the privileged CAPTURE_AUDIO_HOTWORD\npermission.\n\nNote that this change will be superseded in the future once\nwe have stronger guarantees around hotword handling.\n\nBug: 162547999\nTest: manual with dumpsys appops on AGSA\n\n(cherry picked from commit d127644025c5820e39a2908a249691284b4447d6)\n\nMerged-In: I70e0b652c357597770a18a5a385d62668a69059a\nChange-Id: I5ba43828efb0654ec2c1f04fb9737d48a8c4f0bf\n"
    },
    {
      "commit": "bb07853cea158899b0296886b2bac239eaf738dd",
      "tree": "c6361db311687c9f9fa6750698f6466d543ddba9",
      "parents": [
        "be78d20a39da3c48e906710b4e5868d670781066"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 20:14:05 2020 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 20:14:05 2020 +0000"
      },
      "message": "mediaresourcemanager: remove AIDL comparison ops\n\nThese are now auto-generated.\n\nThese are now auto-generated, and these were creating ambiguous\nresolution errors.\n\nBug: 175018841\nTest: tests in test mapping\nMerged-In: Iac63f7fc5c6c7152d69071ba5d4ef2daf873ffdb\nChange-Id: I9288dc07ebb49158bd8540672b8dadca1036dde9\n"
    },
    {
      "commit": "19cdba55d6d981658dd43e1599e5449f40b4693f",
      "tree": "f174d85a015ede83ae5ce94b6c0109812a48fad1",
      "parents": [
        "b7e454991efc5bb053435d23695bfbedc83be84b"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Nov 24 11:28:58 2020 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Dec 09 11:05:15 2020 -0800"
      },
      "message": "Use audio_port_v7 in audio policy.\n\naudio_port_v7 is a struct that uses audio profile to describe an audio\nport. Compared to audio_port, audio_port_v7 can better describe the\ncapabilities of the audio port. In that case, use audio_port_v7 in audio\npolicy APIs getAudioPort and listAudioPort.\n\nTest: atest audio_health_tests audiopolicy_tests AudioManagerTest\nBug: 160352965\nBug: 25994457\nChange-Id: I16fb024f309e33f48ce2ae8f8d37dd58e74f781d\n"
    },
    {
      "commit": "ef0f08175d339e61b2c26b51b4f6caf73200280c",
      "tree": "99a923f26710d7254bf4bb5b6c0b6ba0947e3c28",
      "parents": [
        "5834bf6ebe9265c938b2cbb2c1cee1ad3a819a5c",
        "85ff81238122d5a28ef8d060f57b85309e47815a"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 18:56:01 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 09 18:56:01 2020 +0000"
      },
      "message": "Merge \"mediaresourcemanager: remove AIDL comparison ops\""
    },
    {
      "commit": "5834bf6ebe9265c938b2cbb2c1cee1ad3a819a5c",
      "tree": "afbaf0ea08d78bd0a4808b4cad44165caaa1bc4b",
      "parents": [
        "b7e454991efc5bb053435d23695bfbedc83be84b",
        "89775b97e009824600f3d236d52fc2a2568f8a47"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 09 16:54:46 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 09 16:54:46 2020 +0000"
      },
      "message": "Merge \"Camera: Remove app segment stream\u0027s locked buffer tracking\""
    },
    {
      "commit": "091346b05e4aa34dad5581794420ad19f5c26de6",
      "tree": "aa180ba8c1dfc20c749b28fffced1ecf056f69f0",
      "parents": [
        "0daad99906dee7e846863f036d6cf705f1b83665",
        "5d30d3aaaf4cd0c55b36cd6e492f178042498ba4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 09 14:49:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 09 14:49:47 2020 +0000"
      },
      "message": "Merge \"audio policy: default routing rules for BLE audio devices\" am: 754ef5960f am: 5d30d3aaaf\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1473282\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ic10622f3305ddd20695b6c49682a9b6dba3cbb3e\n"
    },
    {
      "commit": "5d30d3aaaf4cd0c55b36cd6e492f178042498ba4",
      "tree": "f3eeae885edce3bce1277456cf253500ed59f23f",
      "parents": [
        "045116b1f7590217b5920d06c9d8e8c86836e411",
        "754ef5960fa00ebdffd4058d4f3941e4222d5c19"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 09 14:31:50 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 09 14:31:50 2020 +0000"
      },
      "message": "Merge \"audio policy: default routing rules for BLE audio devices\" am: 754ef5960f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1473282\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I2197678ea083354e8896202831f9e4f0368cc6be\n"
    },
    {
      "commit": "754ef5960fa00ebdffd4058d4f3941e4222d5c19",
      "tree": "922101c380c21c310295befdbc84d2c8b773e9b1",
      "parents": [
        "8fb2e4ad98d5eccbbd3b917fee31c1b1a9a118dc",
        "d77befba846e74864fac3acc9e51ff4af91dc986"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 09 14:07:43 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 09 14:07:43 2020 +0000"
      },
      "message": "Merge \"audio policy: default routing rules for BLE audio devices\""
    },
    {
      "commit": "a07f0ea5f3cbeba72470f5faacfcb4c30ff5b88e",
      "tree": "2502ed5d6469bf270c6b992202cf866320ae6585",
      "parents": [
        "f065626880e97170ac9f55c9fc499253a6207287",
        "ef6be8f48bc63f5082e06545c48858cd1e9d55af"
      ],
      "author": {
        "name": "Kriti Dang",
        "email": "kritidang@google.com",
        "time": "Wed Dec 09 08:49:16 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 09 08:49:16 2020 +0000"
      },
      "message": "Merge \"Refreshed UX for Audio Formats Setting [Backend]\""
    },
    {
      "commit": "9b95dd2f7e88bd1ddaf5b765ffe7845cabe6edbc",
      "tree": "9766c60d9997437836df193bdd1f3363d304768a",
      "parents": [
        "624e6b8fedc5d7236cfafa0bc6685a6023d47c6f",
        "60a83ca8522a4334e96ffa5741e9c2b1a6baa5b9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Dec 08 15:56:47 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 15:56:47 2020 +0000"
      },
      "message": "Merge \"Revert \"audiopolicy: HW Bridge Sink matching rule\"\""
    },
    {
      "commit": "ef6be8f48bc63f5082e06545c48858cd1e9d55af",
      "tree": "9242a92b3515adf47e6a8f0911c782c5636541c8",
      "parents": [
        "c34294f8c8b6a79b243d7c0ce8d9fa9d51590392"
      ],
      "author": {
        "name": "Kriti Dang",
        "email": "kritidang@google.com",
        "time": "Thu Nov 05 11:58:19 2020 +0100"
      },
      "committer": {
        "name": "Kriti Dang",
        "email": "kritidang@google.com",
        "time": "Tue Dec 08 12:15:50 2020 +0100"
      },
      "message": "Refreshed UX for Audio Formats Setting [Backend]\n\nThis CL modifies getSurroundSound(reported\u003dtrue) to always return formats\nsupported by device irrespective of mode.\nThis also adds unit tests to verify the APIs getSurroundSound and\nsetSurroundFormatEnabled.\n\nBug:171785330\n\nTest: atest audiopolicy_tests\nTest: Tested manually\n\nChange-Id: Id309cc864fd380d7600c19e1839a63dd5756879f\n"
    },
    {
      "commit": "85ff81238122d5a28ef8d060f57b85309e47815a",
      "tree": "f8054902e428883622389fe573d1ffece87be0e1",
      "parents": [
        "cf6c042380b952cbca718480113c169c9aa53c07"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Dec 07 23:21:18 2020 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Dec 07 23:22:20 2020 +0000"
      },
      "message": "mediaresourcemanager: remove AIDL comparison ops\n\nThese are now auto-generated.\n\nThese are now auto-generated, and these were creating ambiguous\nresolution errors.\n\nBug: 175018841\nTest: tests in test mapping\nChange-Id: Iac63f7fc5c6c7152d69071ba5d4ef2daf873ffdb\n"
    },
    {
      "commit": "60a83ca8522a4334e96ffa5741e9c2b1a6baa5b9",
      "tree": "73415bf541797a0e73e3e246945d917b5b4325e3",
      "parents": [
        "e4f113b22e79ed6744bda6d775bdfc24b9354657"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Dec 07 14:52:53 2020 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Dec 07 15:11:49 2020 -0800"
      },
      "message": "Revert \"audiopolicy: HW Bridge Sink matching rule\"\n\nThis reverts commit 4c34434aff546fd6c0414e6e6c658eac1784c59f.\n\nBug: 172833835\nTest: see bug for repeated test failure\nChange-Id: I19efa50eb5fcb1eaa2e30fbd0c2cee4cb4bbcadf\n"
    },
    {
      "commit": "a696b2cfe5bc84c7339e3887c0f3b96bb77ef866",
      "tree": "e70ffab148cb666d60013d7e756426c5845c0574",
      "parents": [
        "0b526f76bd4975387614f788cbb5a94251839d15",
        "7fa4eba54b5b0dc6e2c786feb3dde0df96cd59a1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 05 22:13:12 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Dec 05 22:13:12 2020 +0000"
      },
      "message": "Merge \"Added mediametrics_service_fuzzer\" am: 3fdd9fb5c3 am: 1d5300615c am: 7fa4eba54b\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1505333\n\nChange-Id: I4019eb0bca55c1f998b1b7600839ee2c666f85a7\n"
    },
    {
      "commit": "7fa4eba54b5b0dc6e2c786feb3dde0df96cd59a1",
      "tree": "892df045ee8b66bbdd9892fe1337f619ba7f0f7b",
      "parents": [
        "a307947b862da2b9942d73d3de942c3966141ecf",
        "1d5300615c3afff3397a57f72d029f284ccb9059"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 05 02:17:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Dec 05 02:17:39 2020 +0000"
      },
      "message": "Merge \"Added mediametrics_service_fuzzer\" am: 3fdd9fb5c3 am: 1d5300615c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1505333\n\nChange-Id: I760a13a41327830d51659bb4ad7efe4939d30335\n"
    },
    {
      "commit": "e4f113b22e79ed6744bda6d775bdfc24b9354657",
      "tree": "e37ca9d901c8c421e2f6a6d4a1fa27c0ff144df7",
      "parents": [
        "f4e0a07dfc6fd095fea7b34e08a137379741115b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 16 11:50:33 2020 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Dec 04 16:17:05 2020 -0800"
      },
      "message": "AudioPolicy/Flinger: harden security checks\n\nUpdate list of methods which can only be called from system\ncomponents.\n\nBug: 162423060\nTest: see poc\nChange-Id: Ie266a2fdd31bdcecfe9c116596ae65a789b812c6\n"
    },
    {
      "commit": "1d5300615c3afff3397a57f72d029f284ccb9059",
      "tree": "94c0623c23eca79a03dbe9ac704c322d8173278d",
      "parents": [
        "1d8c7fa97b31f7876ad734bcf7f6a7a8ee2b77e7",
        "3fdd9fb5c3a182d4640d02c60114a476af8c9ae3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 04 22:11:36 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 04 22:11:36 2020 +0000"
      },
      "message": "Merge \"Added mediametrics_service_fuzzer\" am: 3fdd9fb5c3\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1505333\n\nChange-Id: I135e7f0f2ef177dc6025b6e8fa08361e084ecadd\n"
    },
    {
      "commit": "3fdd9fb5c3a182d4640d02c60114a476af8c9ae3",
      "tree": "a8e081f24169dd3dc2a5cf33271b362e74b8f8c4",
      "parents": [
        "2fa70d54f69ad69db1c2c0a874295839f99f93ae",
        "ab3a6418bb2605a3dbb4dc42c773bcc246762942"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 04 21:53:02 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 04 21:53:02 2020 +0000"
      },
      "message": "Merge \"Added mediametrics_service_fuzzer\""
    },
    {
      "commit": "ab3a6418bb2605a3dbb4dc42c773bcc246762942",
      "tree": "bf03eacd2de782664895cbe1658ac675fe603831",
      "parents": [
        "691ebfea2dc3dab4daeafafe005933adea9fb4cb"
      ],
      "author": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Thu Oct 22 16:13:32 2020 +0530"
      },
      "committer": {
        "name": "Mufaddal Chakera",
        "email": "mufaddal.chakera@ittiam.com",
        "time": "Fri Dec 04 11:47:48 2020 +0530"
      },
      "message": "Added mediametrics_service_fuzzer\n\nTest: ./mediametrics_service_fuzzer\nBug: 172429215\n\nChange-Id: I9fe2b593124b80552c5bd8315e0a78018ce3ebbc\n"
    },
    {
      "commit": "2d81ecdd2a52e72ac78956c1d040289d8778225a",
      "tree": "aeba8889ab3055f5465b59a2f4b9a4b4ede0b199",
      "parents": [
        "b06a4a164872b5ae3a7e4d9f7496b37bd47d652b",
        "660626784594f19956785e0fac0f3e4d6cc130d5"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Dec 04 00:24:56 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 04 00:24:56 2020 +0000"
      },
      "message": "Merge \"Revert \"Log MediaExtractor entry point to MediaMetrics\"\""
    },
    {
      "commit": "b06a4a164872b5ae3a7e4d9f7496b37bd47d652b",
      "tree": "df548d663eb24b9ccb995004ba36a4a151199b2e",
      "parents": [
        "05c5d697409b85e519b16047a1f79aaadf92f064",
        "cddf3949efde393df1efbd0e082d2c8d09dcf76c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 22:28:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 03 22:28:22 2020 +0000"
      },
      "message": "Merge \"Fix exception when Release Audio Input Effect\" am: 1004c244b5 am: e2aaf07831 am: cddf3949ef\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1512719\n\nChange-Id: I6a9d2826ccc5ebd4e8ab9ae8df51e64ad3875747\n"
    },
    {
      "commit": "cddf3949efde393df1efbd0e082d2c8d09dcf76c",
      "tree": "90b12ed5cf066bea01a8fa06da2393cc5165a0b3",
      "parents": [
        "9df94ac92662e7fdfa46eaabf3f68cacc4f61e7d",
        "e2aaf07831acd38c921f8dd96bc713c5d820597a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 22:07:55 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 03 22:07:55 2020 +0000"
      },
      "message": "Merge \"Fix exception when Release Audio Input Effect\" am: 1004c244b5 am: e2aaf07831\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1512719\n\nChange-Id: I6990e76cb3c4d65e41bd25d16ca10bdaf2773f03\n"
    },
    {
      "commit": "e2aaf07831acd38c921f8dd96bc713c5d820597a",
      "tree": "c4c2c61e906e90389b1c188e0e15b153182b84c2",
      "parents": [
        "29582de4e2db24a71ebfca211cb18055a197ba6a",
        "1004c244b5ffcfdb5d828f1415c12a4b24e892f5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 21:45:51 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 03 21:45:51 2020 +0000"
      },
      "message": "Merge \"Fix exception when Release Audio Input Effect\" am: 1004c244b5\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1512719\n\nChange-Id: I73e7501dd17e7602dcebac85473f9eeef7827ed5\n"
    },
    {
      "commit": "660626784594f19956785e0fac0f3e4d6cc130d5",
      "tree": "33aa2b0dbe1ff515d14392b673e575361496720f",
      "parents": [
        "196abe7f223f59abcbd9190cd46eea0e5745b75c"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Dec 03 19:30:25 2020 +0000"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Dec 03 13:35:44 2020 -0800"
      },
      "message": "Revert \"Log MediaExtractor entry point to MediaMetrics\"\n\nThis reverts commit 17c72bb0966dd410c32ab0fd186408cb7f966515.\n\nReason for revert: b/174768641\n\nChange-Id: Ic62927415db5fe0b428faf607c9e1d66bfaf8366\n"
    },
    {
      "commit": "1004c244b5ffcfdb5d828f1415c12a4b24e892f5",
      "tree": "07de0589f47c640b13cb358332cf9e8d1bcd6ed5",
      "parents": [
        "691ebfea2dc3dab4daeafafe005933adea9fb4cb",
        "56aa82b2b865d81b9bd7ae532d21224637edef59"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 21:05:13 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 03 21:05:13 2020 +0000"
      },
      "message": "Merge \"Fix exception when Release Audio Input Effect\""
    },
    {
      "commit": "05c5d697409b85e519b16047a1f79aaadf92f064",
      "tree": "e693e93f985f4676e2ba977392d1b44740ba7b3f",
      "parents": [
        "b536c0da2f001889441809b887f5e4a9a82aa65c",
        "50b8ccb52ded489c4f60d42541293f3f9938f1ae"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Thu Dec 03 19:18:58 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 19:18:58 2020 +0000"
      },
      "message": "Merge \"AIDLize IAudioFlinger\""
    },
    {
      "commit": "50b8ccb52ded489c4f60d42541293f3f9938f1ae",
      "tree": "0bc210d7f008e9fe0a6e1227d2e54a846f1cd392",
      "parents": [
        "ee75d6f36fabcd431edf60a50437eea166f43762"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Tue Nov 24 13:47:54 2020 -0800"
      },
      "committer": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Thu Dec 03 19:18:42 2020 +0000"
      },
      "message": "AIDLize IAudioFlinger\n\nThis change removes all the manual parceling code used in the\nIAudioFlinger interface. In order to reduce impact on existing client\nand server code to a minimum, the IAudioFlinger interface is preserved\nand a new translation layer between IAudioFlinger and its AIDL\ncounterpart, IAudioFlingerService, is introduced:\n- AudioFlingerClientAdapter is for use on the client side. It wraps an\n  IAudioFlingerService instance and presents an IAudioFlinger\n  interface.\n- AudioFlingerServerAdapter is for use on the server side. It wraps an\n  IAudioFlinger instance and presents an IAudioFlingerService.\n\nArgument conversion an error checking is performed rigorously in the\ntranslation layer.\n\nTest: Audio-related CTS tests from CtsMediaTestCases\nBug: 160253486\nChange-Id: Ibe35317e449b0faa3ef5336bb30f669106978a31\n"
    },
    {
      "commit": "0d73fe98b684cb1081b56f19bf07f411c40bf40a",
      "tree": "07f6c40a187796daa269c16aace4ef044e5242d6",
      "parents": [
        "196abe7f223f59abcbd9190cd46eea0e5745b75c",
        "260cc57e41e68e5c42a3ce8ed76d7f3e7a5f3490"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 18:00:02 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 03 18:00:02 2020 +0000"
      },
      "message": "Merge \"Camera: Document behavior when cropRegion and zoomRation conflict\" into rvc-qpr-dev am: 515de61476 am: 260cc57e41\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13149080\n\nChange-Id: I657a7b3b5b463d977c1e2ee2346ce16d82821f2f\n"
    },
    {
      "commit": "260cc57e41e68e5c42a3ce8ed76d7f3e7a5f3490",
      "tree": "031059dd7bad48b1086679f4fad51839eadab212",
      "parents": [
        "3cbeba827d39bc2e6c9c35ad522d5133547acbe6",
        "515de614767603d15d0825030079821385acdade"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 16:56:28 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 03 16:56:28 2020 +0000"
      },
      "message": "Merge \"Camera: Document behavior when cropRegion and zoomRation conflict\" into rvc-qpr-dev am: 515de61476\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13149080\n\nChange-Id: I086292bc6cc399cf6eed413659fc6446fcb67846\n"
    },
    {
      "commit": "515de614767603d15d0825030079821385acdade",
      "tree": "7be9df834fc494b968326aaddc64db9bdff03315",
      "parents": [
        "fff9c8aa87a7c03e063cf6adeb4c63b895b6d145",
        "c2dae590b622a309d25aae958723441d35dbffd7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 16:46:12 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 16:46:12 2020 +0000"
      },
      "message": "Merge \"Camera: Document behavior when cropRegion and zoomRation conflict\" into rvc-qpr-dev"
    },
    {
      "commit": "196abe7f223f59abcbd9190cd46eea0e5745b75c",
      "tree": "e43f7ea2f928082d9e68f95fb73fd422181d7241",
      "parents": [
        "bc4a14d33053f3934ea9a32570604d41765125e9",
        "17c72bb0966dd410c32ab0fd186408cb7f966515"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 03 11:51:52 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 11:51:52 2020 +0000"
      },
      "message": "Merge \"Log MediaExtractor entry point to MediaMetrics\""
    },
    {
      "commit": "56aa82b2b865d81b9bd7ae532d21224637edef59",
      "tree": "76c039da490ffa44bfba5e302e3575b7c00a8aac",
      "parents": [
        "d19faf826761db767dc8ee967149fe8939416850"
      ],
      "author": {
        "name": "wendy lin",
        "email": "wendy.lin@mediatek.com",
        "time": "Wed Dec 02 15:19:55 2020 +0800"
      },
      "committer": {
        "name": "Lin Lili",
        "email": "lili.lin@mediatek.com",
        "time": "Thu Dec 03 03:28:45 2020 +0000"
      },
      "message": "Fix exception when Release Audio Input Effect\n\nEffect is removed while user switch audio output device.\nWhen updating output device for record thread, exception happens.\nSolution is to get record thread lock before update output devices.\nHolding thread lock will keep effect not being removed while\nupdating devices.\n\nBug: 174714069\nTest: Audio Stress Test\nChange-Id: If831b2322bb02784b0a278abd9ba14b5150ff80b\n"
    }
  ],
  "next": "802793489675990aa90a446ecceaffbc4e081120"
}
