)]}'
{
  "log": [
    {
      "commit": "00e50dca8efe210386a4572b26d30bdf2f2c5464",
      "tree": "9878118ddda064a5d0f9797b0483095a846f10cf",
      "parents": [
        "39d2f0ae448af990f429587cfd702d28073641ff",
        "5d909bee1f844b74bf05cc11b5906b885664c8fc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 05:56:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 05 05:56:07 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix read timestamp if HAL returns error\" into rvc-dev am: 2db0250676 am: 985793c95f am: d262ceef0f am: 5d909bee1f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11722687\n\nChange-Id: If7132488ccdae51cdf9a8ab12eef24ced70a9c7a\n"
    },
    {
      "commit": "d262ceef0f0373f615968bf34cfc162393f5187d",
      "tree": "b70f35d9112b225328bdc0edf07de63998c5218a",
      "parents": [
        "8e4f26a2a9ca90da168d5b83bed1e9dd455e61df",
        "985793c95f2a6588c8300dfedb0080a2b2616409"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 05:27:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 05 05:27:22 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix read timestamp if HAL returns error\" into rvc-dev am: 2db0250676 am: 985793c95f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11722687\n\nChange-Id: I2dde377574611251a262e3fa8830a4e58100a06f\n"
    },
    {
      "commit": "743f640339310f980cc6480514fb67bcd26cc717",
      "tree": "75f7c4cb4c3682850fddb8ff4080acd2307a4931",
      "parents": [
        "4e48c2477d084919f13ee191a6c36713d83063f3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 13:17:04 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 16:58:35 2020 -0700"
      },
      "message": "AudioFlinger: Fix read timestamp if HAL returns error\n\nTest: android.media.cts.AudioRecordTest#testTimestamp\nBug: 158112444\nChange-Id: Ibb35c6247ab94e63d586eddd1c95b7fc186e7822\n"
    },
    {
      "commit": "887c01b47397330ea1d199ec5c34d5e74406a2f5",
      "tree": "b3c547ccf26aa69d8c59229d2a79fe90286252ce",
      "parents": [
        "4d8d65a8e6cb3b4f9f20300865486e5a0eabb37a",
        "e3322328a80fa699fc29e7a984be7b8ae85a072d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 02 21:49:43 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 02 21:49:43 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: fix fast capture silence\" into rvc-dev am: 044eaa62c7 am: 71f517e729 am: 5dd776dd26 am: e3322328a8\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11671291\n\nChange-Id: Ia1c01f75b0010d92aea70cd60dab022b278c562a\n"
    },
    {
      "commit": "e3322328a80fa699fc29e7a984be7b8ae85a072d",
      "tree": "9e7125ca1f513f0b92ee5b44b09fee4fd7b66f21",
      "parents": [
        "c59ab9e1b7a9dd4cb91f25d4574976a259ff3d1b",
        "5dd776dd2684816e13b290130737743ffef42e66"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 02 21:23:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 02 21:23:06 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: fix fast capture silence\" into rvc-dev am: 044eaa62c7 am: 71f517e729 am: 5dd776dd26\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11671291\n\nChange-Id: I946a022142790e677cffc565b9c9913a9bcc2897\n"
    },
    {
      "commit": "2b32fa03f81f189f088aa5fbd245176a5b7149f9",
      "tree": "9e7125ca1f513f0b92ee5b44b09fee4fd7b66f21",
      "parents": [
        "b42e12ab323c62f313954a247cb68e561e3d6c1f",
        "71f517e7295e90c76b8a09db0032c2a68c78a173"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 02 21:11:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 02 21:11:47 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: fix fast capture silence\" into rvc-dev am: 044eaa62c7 am: 71f517e729\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11671291\n\nChange-Id: Ia192b7f71f8873019ae5c688514a829480405259\n"
    },
    {
      "commit": "33403f0ef8ec7e6217f4969879fa81101e6b84ee",
      "tree": "6036db6c23094fc0aadb3703349aa97f0a86c5dd",
      "parents": [
        "ea63cf2b4479bcef697592e57025b63b60b2af4c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 29 18:35:06 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 29 18:44:33 2020 -0700"
      },
      "message": "AudioFlinger: fix fast capture silence\n\nSilencing fast catpure tracks was not properly implemented.\nFix by zeroing fast capture thread HAL read buffer if the silenced\ntrack is the only active, or by invalidating the silenced track\nif other non fast tracks are active.\n\nBug: 157708122\nTest: repro steps in the bug\nChange-Id: I88b19540815bc1491b9e76c1ae6b6f85e32afa8f\n"
    },
    {
      "commit": "ddfff201d75c6852a7ad30fb33f884af358dd9df",
      "tree": "f4d47a61136a5883f1e91f1cbc3647f550554394",
      "parents": [
        "d444ca425e5dad936b9761988f64b40bd09f29a3",
        "145e17d20a834f5aa2f0a2f89deec659318eab51"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 28 03:13:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 28 03:13:31 2020 +0000"
      },
      "message": "Merge \"Tracks: Stabilize the latency/startup metrics for BT\" into rvc-dev am: 3fdcc34690 am: 8b3295e9db am: 7d524a631d am: 145e17d20a\n\nChange-Id: I4154fa91a1cde46a2d0930adbaccdac5b3ca2dfa\n"
    },
    {
      "commit": "145e17d20a834f5aa2f0a2f89deec659318eab51",
      "tree": "9ff99290c57635e25ef9eb64bd7e908974f95b55",
      "parents": [
        "7b7ad4d9f4a5daa45537abb88fbf43084d90b807",
        "7d524a631d28bdc9a0dc7d1240850115a08b66d9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 28 03:00:24 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 28 03:00:24 2020 +0000"
      },
      "message": "Merge \"Tracks: Stabilize the latency/startup metrics for BT\" into rvc-dev am: 3fdcc34690 am: 8b3295e9db am: 7d524a631d\n\nChange-Id: I0f3fed2918efe44b5580459d2b4de66404d73e0e\n"
    },
    {
      "commit": "b26a9631061a91cb05df425f1d8641dbc54481e6",
      "tree": "9ff99290c57635e25ef9eb64bd7e908974f95b55",
      "parents": [
        "2f39d8816b9e3b773ab075ef14a4cba4151a35fe",
        "8b3295e9db03306bcbacf17b184124e277601802"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 28 02:41:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 28 02:41:21 2020 +0000"
      },
      "message": "Merge \"Tracks: Stabilize the latency/startup metrics for BT\" into rvc-dev am: 3fdcc34690 am: 8b3295e9db\n\nChange-Id: I3a675b0e836a08989706826a8441abe89a2dad2c\n"
    },
    {
      "commit": "6292112eca818eab9fa5056bc4a28092812b291b",
      "tree": "1e37d150cd5325d37b7d1b115c18fc7e4e1c0d0c",
      "parents": [
        "b4a3b65d297a8436ba48138ce7ce2ba6b7a652b8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 18 10:47:31 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 27 11:47:47 2020 -0700"
      },
      "message": "Tracks: Stabilize the latency/startup metrics for BT\n\nUse kernel timestamps instead of server timestamps.\nPostpone latency / startup collection until later\nto ensure BT is stabilized.\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nChange-Id: Ie4e0658cedec13000f7b713407630e273df391b7\n"
    },
    {
      "commit": "b4f0c8b9b497c7a34485c1a3fa0f93acbf89f017",
      "tree": "4257087735d21ac58d966860701d223aecda5bfa",
      "parents": [
        "a2b2857328d36e9e696aa49bc728854f7bfcc7cc",
        "395acb6b4deb189cc1f2324a3f9ac4bf485e958f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 15 01:10:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 15 01:10:23 2020 +0000"
      },
      "message": "Merge \"av: remove a redundant NULL check\" am: 74e4b7bc7f am: 0e40bab475 am: 43af1ebfdd am: 8da5ebf405 am: 395acb6b4d\n\nChange-Id: I0c4cd7355cbf625c8159e98e08b359f8d014fdce\n"
    },
    {
      "commit": "43af1ebfdd59a7bd43f4bc553dfa5db3787e4ee2",
      "tree": "a4717f143dbbd9f1f643c0939664968423e268e0",
      "parents": [
        "8a79a986c96c442d17ce350b6bdc701739b65fbe",
        "0e40bab4753287d2763c2e7ee64e4f4925466b4d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 15 00:23:43 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 15 00:23:43 2020 +0000"
      },
      "message": "Merge \"av: remove a redundant NULL check\" am: 74e4b7bc7f am: 0e40bab475\n\nChange-Id: I204b6302f9ffa0dd3164cbfaff6c78451f7158e1\n"
    },
    {
      "commit": "a8f90c19feb419a9bd77dac3fcdf92e90eb925af",
      "tree": "67e0624e76cbce8d13146c381fc472b8b09f42e8",
      "parents": [
        "3ec7c256a8e5f5e3ec1dd1338fbc005838c2ff60"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu May 14 11:27:19 2020 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu May 14 11:27:19 2020 -0700"
      },
      "message": "av: remove a redundant NULL check\n\nThe unconditional `readInputParameters_l` call below this condition\nimmediately and unconditionally dereferences `mInput`. Either\n`readInputParameters_l` needs to handle a null `mInput` reasonably, or\n`mInput` can never be null. This CL assumes the latter.\n\nBug: None\nTest: TreeHugger\nChange-Id: I46f89f918257f9d4aa762a03c3d03e030a17b4a9\n"
    },
    {
      "commit": "9400a51ff265c8dc41ddf9076213fb589e3c93ec",
      "tree": "9a221ac8bc823cb5740d330185c75baf26d80981",
      "parents": [
        "54ccb4e501ec6a182af0485f5ff22ef20daa4468",
        "4e4b2f47402e1ab5ebe52508cf371dc459d6a09a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 13 23:24:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 13 23:24:35 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Prepare statistics for protos\" into rvc-dev am: 09869a1c36 am: 2e34a502ab am: eb9e6b337e am: 4e4b2f4740\n\nChange-Id: I584da3823a98084b0f36f40e74356695cf295adc\n"
    },
    {
      "commit": "4e4b2f47402e1ab5ebe52508cf371dc459d6a09a",
      "tree": "7c8678fb84dcec99aa1408dc1cfc66b0c652e6bc",
      "parents": [
        "f408d69ee9484632ab00dd258eba5d8ada37108a",
        "eb9e6b337ea01a028987eb8fd472607b9d1ee502"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 13 23:12:40 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 13 23:12:40 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Prepare statistics for protos\" into rvc-dev am: 09869a1c36 am: 2e34a502ab am: eb9e6b337e\n\nChange-Id: I684aae1c161ea80fcd618b8fbb603d221592ebf4\n"
    },
    {
      "commit": "e5f6cd42a9f1e86a318e429fb9fdd956bcbcefe3",
      "tree": "7c8678fb84dcec99aa1408dc1cfc66b0c652e6bc",
      "parents": [
        "fc2a78ee9796a7ecb8436e7cbe884a1d90314a45",
        "09869a1c369e0edc421a379c2ffb3cb3afbbe392"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 13 22:32:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 13 22:32:49 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Prepare statistics for protos\" into rvc-dev am: 09869a1c36\n\nChange-Id: Ia61b527808d26235709725188cf1639c1cbe69a9\n"
    },
    {
      "commit": "ea84038803580b4c35ce4cb60918c0c384127417",
      "tree": "d8c91402af2f630e4f1c36f7798d161767d01301",
      "parents": [
        "38e65911a65a51edf2efd5ca63c4e00daac24852"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 05 21:50:17 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 13 11:15:49 2020 -0700"
      },
      "message": "MediaMetrics: Prepare statistics for protos\n\n1) Add AudioRecord to Analytics trigger.\n2) Log RecordThread statistics.\n3) Rename DURATIONNS to EXECUTETIMENS to avoid confusion.\n4) Use streamType from server not client.\n5) Split MMAP types to MMAP_PLAYBACK and MMAP_CAPTURE.\n6) Use string flags for AudioTrack and AudioRecord.\n7) Compute underrun frames for MixerThread.\n8) Log BT connection state.\n\nTest: adb shell dumpsys media.metrics\nTest: atest mediametrics_tests\nTest: adb shell dumpsys stats --metadata\nBug: 149850236\nChange-Id: Iacf3f117c00ec9f377e62862080252aef9dc084f\n"
    },
    {
      "commit": "34fe84b37bdd9fc244c809d6aaad6ca873e8dd92",
      "tree": "3bf9f750b0128c7562dcc15c94a0bf45676ec093",
      "parents": [
        "911dc5b670249f2946496e525c30839f518b175b",
        "fe06191f25f2735edddcfb58e2108b8134f3f96c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 12 00:19:13 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 12 00:19:13 2020 +0000"
      },
      "message": "Merge \"Set timestamp correction and downstream latency logging as very verbose\" am: 3ec7c256a8 am: 240a1ebca6 am: ff9fc0702f am: e9bef508e7 am: fe06191f25\n\nChange-Id: Ia80fdd773841edbdbf77a9d8e211b84d61c2f863\n"
    },
    {
      "commit": "ff9fc0702faf39f86291d9b05e1bcd7bb9782632",
      "tree": "845da2650c256fa393187659e5a02406c696ac6d",
      "parents": [
        "5279846017b1c7532768b0e3f24302ca7b336fed",
        "240a1ebca637b27df7ee723f365f7e9bb467623f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 11 23:33:56 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon May 11 23:33:56 2020 +0000"
      },
      "message": "Merge \"Set timestamp correction and downstream latency logging as very verbose\" am: 3ec7c256a8 am: 240a1ebca6\n\nChange-Id: Ia598782ee86415718cd1812d3c2a2c6205b81bf9\n"
    },
    {
      "commit": "56a583e0c8927f7fe3efd1611c2be2f99fb88fb8",
      "tree": "fce4b44a354808312f0d26025f8218ef7c44eadf",
      "parents": [
        "b15c79859d290512490393abbe4719fae3c84937"
      ],
      "author": {
        "name": "Dean Wheatley",
        "email": "dwhea@dolby.com",
        "time": "Fri May 08 15:12:17 2020 +1000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon May 11 20:05:56 2020 +0000"
      },
      "message": "Set timestamp correction and downstream latency logging as very verbose\n\nAllow ALOGV to be set without the above threadloop logs spamming\nthe output.\n\nTest: enable verbose logging, check logcat\nChange-Id: I584f2a255857626c3781b6ff56557fe919480620\n"
    },
    {
      "commit": "8fdbb44fdaf9d622514f00fdc0318641dd17000e",
      "tree": "c3f6d0d4e24d0df3698c0500dc81e1ee6fa87df1",
      "parents": [
        "78f17d017660de9a1a1f71faf36022fae455473b",
        "8dfa40dce6cae8e6b61af965276f567e5c421d9a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sun May 10 06:00:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sun May 10 06:00:09 2020 +0000"
      },
      "message": "audioflinger: fix NUL terminator in dumpsys am: 651d0a5755 am: 9c8a7838d1 am: 11ea81f991 am: 8dfa40dce6\n\nChange-Id: I1c2190ac4ea545670639c30e88b60f22c7973cc9\n"
    },
    {
      "commit": "9c8a7838d100c04a0a62d474009bfbf758eb519b",
      "tree": "079870ab523fd833d5e65b41167b227d8f251650",
      "parents": [
        "dd10311505e0594e8171d33d61fb4e879c865c65",
        "651d0a575517e0b1591715f74c862335ab04ac72"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sun May 10 05:19:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sun May 10 05:19:06 2020 +0000"
      },
      "message": "audioflinger: fix NUL terminator in dumpsys am: 651d0a5755\n\nChange-Id: I0694a1580b711579f1e31a80b70da4c6d412d07d\n"
    },
    {
      "commit": "651d0a575517e0b1591715f74c862335ab04ac72",
      "tree": "1b3c7e1b59ba074aa676281dd908fd5e2aba95f8",
      "parents": [
        "05be7e510992ebf41919c84a26b38717a7f3211f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 08 14:00:58 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 08 14:00:58 2020 -0700"
      },
      "message": "audioflinger: fix NUL terminator in dumpsys\n\nBug: 155096545\nTest: adb shell dumpsys media.audio_flinger | more\nTest: then search for \"Device\"\nTest: There should be no garbage characters on the next line.\nChange-Id: I798d914cede3f45151f97178de3ceee09b4e24c0\n"
    },
    {
      "commit": "b9c27305caf15cfd036f93a5402a086dba3d14f3",
      "tree": "76886414af9c8fe60924aa74f87218e670daeba4",
      "parents": [
        "0ab39985aa1940d5260db54045255cfeb84f3533",
        "f3b980f551f4544e8046f21ef7eb6c3e5e894013"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 08 02:34:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 08 02:34:22 2020 +0000"
      },
      "message": "Merge \"Force DIRECT flag on direct output thread.\" into rvc-dev am: 07f031e889 am: e30255e6a9 am: 1006e4c8a2 am: f3b980f551\n\nChange-Id: I4e846842f5a70e41cb026f9c51bcd6aa14bfa164\n"
    },
    {
      "commit": "1006e4c8a27bb048ce57a928b49fbdb0ef5ec928",
      "tree": "2d9e5e131bf2a2bf4f60d623283f01c9ac877ea0",
      "parents": [
        "58ae0cc3e5fbd6d7c278dd309029ad6bc5a4b1e7",
        "e30255e6a91da1785d40d339d5961b364426b3c2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 08 01:58:00 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 08 01:58:00 2020 +0000"
      },
      "message": "Merge \"Force DIRECT flag on direct output thread.\" into rvc-dev am: 07f031e889 am: e30255e6a9\n\nChange-Id: I526109572f9f1b24adad5cb860748727966871c2\n"
    },
    {
      "commit": "b002233bf8514b4ab10a8fea7610b7fb596d4c7f",
      "tree": "2d9e5e131bf2a2bf4f60d623283f01c9ac877ea0",
      "parents": [
        "d8d340537fa20c68cc0e615310f87fb7bb7678f0",
        "07f031e889d78edd549d8ad4254cd31902b46479"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 08 01:39:36 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 08 01:39:36 2020 +0000"
      },
      "message": "Merge \"Force DIRECT flag on direct output thread.\" into rvc-dev am: 07f031e889\n\nChange-Id: Iaf37f595952d54d5095d2c547e2bb7018ac952ce\n"
    },
    {
      "commit": "07f031e889d78edd549d8ad4254cd31902b46479",
      "tree": "b834592b9dfb110146c5664ecd6dbfb0f0925f81",
      "parents": [
        "e3469d1d6d7a8a894064e925b0770765bbe4bea0",
        "f7667505a23d017d984e03fbb71a6fc28be34449"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 08 01:27:35 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 08 01:27:35 2020 +0000"
      },
      "message": "Merge \"Force DIRECT flag on direct output thread.\" into rvc-dev"
    },
    {
      "commit": "47760c77b8a8ee961dc943490c8c2715355b468f",
      "tree": "9123ef7c5047344487879f541b4556ceb0216d15",
      "parents": [
        "a14a285a154a107a37f7bc474a78de96b25ed84c",
        "c526510b27623f8c642100c18ee01dc25632ec14"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 07 18:48:08 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 07 18:48:08 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Implement audio power usage metrics\" into rvc-dev am: 2464cd70f9 am: b5865bba8c am: f7e4f52d0a am: c526510b27\n\nChange-Id: I3a07016cad7f936fadbba93900ef110d4451a1c9\n"
    },
    {
      "commit": "f7e4f52d0a35d201852eb0d6e1bec7f7f39db5b7",
      "tree": "9e8537e6c508ceac2d035515dfa7b8fe04936f4a",
      "parents": [
        "d1868faa462461f05ecb48665575807166b6d397",
        "b5865bba8c224e56ba95b291ea7f0519e9f86983"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 07 18:07:05 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 07 18:07:05 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Implement audio power usage metrics\" into rvc-dev am: 2464cd70f9 am: b5865bba8c\n\nChange-Id: I70f14d3b4c2b15b018a1b354363fab4e1f04f243\n"
    },
    {
      "commit": "1c1c11e60d7931b01fddd20429b49aa422ef9d07",
      "tree": "9e8537e6c508ceac2d035515dfa7b8fe04936f4a",
      "parents": [
        "a3f5360ef316c8f48786236280cd962b753f161f",
        "2464cd70f9bccb944d96aeda1b9c915508f947be"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 07 17:50:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 07 17:50:07 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Implement audio power usage metrics\" into rvc-dev am: 2464cd70f9\n\nChange-Id: I8d6592fce09e5f8ca7ea114c8b15e5deef848aff\n"
    },
    {
      "commit": "5298998e5749ce5883cda027b0791d071c4c8b0b",
      "tree": "2d5cd73553f7795e4dae085e1bddad5bc48686d3",
      "parents": [
        "ad531ce5d938385330ec260d4049914b354d1c37"
      ],
      "author": {
        "name": "Joey Poomarin",
        "email": "poomarin@google.com",
        "time": "Thu Mar 05 17:40:49 2020 +0800"
      },
      "committer": {
        "name": "Robert Lee",
        "email": "lerobert@google.com",
        "time": "Thu May 07 12:25:59 2020 +0800"
      },
      "message": "MediaMetrics: Implement audio power usage metrics\n\n- Trigger audio power usage logging when\n   1. endAudioIntervalGroup event for track/record\n   2. setMode to NORMAL for telephony\n- Aggregate audio usage by type and device\n- Send audiousage data every 24hrs by default, using property\n  persist.media.audio_power_metrics.interval_hr to config the interval\n- Add property persist.media.audio_power_metrics.disable to disable\n  audio power metrics\n\nBug: 121318157\nBug: 140909217\nTest: atest mediametrics_tests\nTest: adb shell dumpsys media.metrics --all\nChange-Id: I94ff00a5609a49c96a14827d3260d481c1310abe\nSigned-off-by: Robert Lee \u003clerobert@google.com\u003e\n"
    },
    {
      "commit": "f7667505a23d017d984e03fbb71a6fc28be34449",
      "tree": "45e9d5370330e051307878944a68468333892420",
      "parents": [
        "cc79094c69bdc85c7c8f52247a00bae1dff68473"
      ],
      "author": {
        "name": "yucliu",
        "email": "yucliu@google.com",
        "time": "Tue Apr 28 15:33:55 2020 -0700"
      },
      "committer": {
        "name": "Yuchen Liu",
        "email": "yucliu@google.com",
        "time": "Wed May 06 18:02:52 2020 +0000"
      },
      "message": "Force DIRECT flag on direct output thread.\n\nForce DIRECT flag if current playback thread is direct output thread.\n\nThis can happen when the playback is re-routed to direct output stream\nby dynamic audio policy.\n\nBug: 130296239\nTest: manual\nChange-Id: I24efd87f74bacf6b769d3663e9521eb27b1704e9\n"
    },
    {
      "commit": "5811ac80806d38d1fee168ec332387e0d8adbd99",
      "tree": "b950c2d1b0410b530217e935daccd1db079d8756",
      "parents": [
        "a5ac8806261537c0330e5b5a8eb1fce66aa0a3ea",
        "14b8bfa6e2299361865d4735a0dc8ff38f8108c3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 01 20:56:53 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 01 20:56:53 2020 +0000"
      },
      "message": "Merge \"ThreadMetrics: Add device-based statistics for audio\" into rvc-dev am: 25b1e25a72 am: a36f994f6c am: 855e8746e9 am: 14b8bfa6e2\n\nChange-Id: I25983fddcf4bb23660c5086ea7700c6e660c945d\n"
    },
    {
      "commit": "a5ac8806261537c0330e5b5a8eb1fce66aa0a3ea",
      "tree": "73d291d9db5ce76bf01b01dad68ec05941c1a6de",
      "parents": [
        "8ea979df863aaa37dcb361218ae7559d51ea2401",
        "9ec29638a746b139b0722cd06d9b5853043957b2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 01 20:56:24 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 01 20:56:24 2020 +0000"
      },
      "message": "Merge \"TrackMetrics: Add device-based statistics for audio\" into rvc-dev am: 31300b43da am: a1d771f00c am: 5abdc47975 am: 9ec29638a7\n\nChange-Id: I1471225e2a92ee49cb498f4b9c672d6a24f18858\n"
    },
    {
      "commit": "855e8746e932773e1bcea1cfd198fb212f6af8b9",
      "tree": "a2f0e77077cd132630a56c2be392deaed1664738",
      "parents": [
        "5abdc4797594aa459cd2dc0d0793826ccf242169",
        "a36f994f6c7948b57b535fd4c51e9271c327b076"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 01 20:27:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 01 20:27:21 2020 +0000"
      },
      "message": "Merge \"ThreadMetrics: Add device-based statistics for audio\" into rvc-dev am: 25b1e25a72 am: a36f994f6c\n\nChange-Id: I06d3ff9457498189ca8598e517b9fc2e8e077eea\n"
    },
    {
      "commit": "5abdc4797594aa459cd2dc0d0793826ccf242169",
      "tree": "1a7124140f7cac8dfdc4c119af5368af243b41e6",
      "parents": [
        "16031a2e835aef650a1411b970023b484698846d",
        "a1d771f00c3661864b0e6f69c44d0dc39d94a0a1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 01 20:27:08 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 01 20:27:08 2020 +0000"
      },
      "message": "Merge \"TrackMetrics: Add device-based statistics for audio\" into rvc-dev am: 31300b43da am: a1d771f00c\n\nChange-Id: I86cdc347ae3cf748a71c210c2c7cd4942f059edc\n"
    },
    {
      "commit": "b98251180a94bb2f45f1e39f79d4452d2e60892c",
      "tree": "a2f0e77077cd132630a56c2be392deaed1664738",
      "parents": [
        "fa95b402cea9508d3da6549b7a1a95ae4f14de5a",
        "25b1e25a724ac10547670382745789bdf8a18e0b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 01 20:10:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 01 20:10:35 2020 +0000"
      },
      "message": "Merge \"ThreadMetrics: Add device-based statistics for audio\" into rvc-dev am: 25b1e25a72\n\nChange-Id: I6ec981dba8d962da781c053f90123164657fbeb7\n"
    },
    {
      "commit": "fa95b402cea9508d3da6549b7a1a95ae4f14de5a",
      "tree": "1a7124140f7cac8dfdc4c119af5368af243b41e6",
      "parents": [
        "7eeb4aa443fb7f435cb041cc9877ccfbc8787656",
        "31300b43da852e6eeb93791361ece11015963cf4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 01 20:10:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 01 20:10:29 2020 +0000"
      },
      "message": "Merge \"TrackMetrics: Add device-based statistics for audio\" into rvc-dev am: 31300b43da\n\nChange-Id: Ia82b2e288104e6c255f470ff19bd58c2b1aadd1a\n"
    },
    {
      "commit": "cf10d743aedcd29a53f3a4f16a25565f5b462dd8",
      "tree": "17f4ba2cd404347873f8f059d620a2ec890a7529",
      "parents": [
        "c2b11cbcb88c5970fb4ec6ff8a562b1465dfa70a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 28 15:38:24 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 30 17:39:50 2020 -0700"
      },
      "message": "ThreadMetrics: Add device-based statistics for audio\n\nCompute summary statistics based on the current device\nrather than the entire Audio Thread duration.\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nChange-Id: Ie6d459b06b4a469401ee9e0c194e45ea5ce380c6\n"
    },
    {
      "commit": "c2b11cbcb88c5970fb4ec6ff8a562b1465dfa70a",
      "tree": "dedee4f6e9c95af20ef76e79bddbc79ed850781a",
      "parents": [
        "199012b0c66d555207d81fedb7cce16305c865f8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 22 09:04:01 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 30 17:18:26 2020 -0700"
      },
      "message": "TrackMetrics: Add device-based statistics for audio\n\nCompute summary statistics based on the current device\nrather than the entire AudioTrack or AudioRecord duration.\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nChange-Id: Ia3a5707c43c4530f5a6ac90f52901bd2e0bd0bab\n"
    },
    {
      "commit": "5f998e52181c3e1a1f68411639f04d7058b14373",
      "tree": "6f9a67c3d624fca533e137bd8a4ff7a020184d02",
      "parents": [
        "98448a6349c3804b4232aa8260c707bf82fb56cc",
        "7f763568fbfb0099a432f5b60f6d0a14d14a50d0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 21:01:46 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 29 21:01:46 2020 +0000"
      },
      "message": "Merge \"Check silent mode when updating output device.\" into rvc-dev am: b79d3b8d4b am: dc4509bc56 am: 0bfce6eddd am: 7f763568fb\n\nChange-Id: I1506271c0de62823375ca59aaeac3664c34d1109\n"
    },
    {
      "commit": "0bfce6edddccba43b46df43a6572a7a7131f38a1",
      "tree": "090e2a08c399b2285c658f26edaa758c21dc90c5",
      "parents": [
        "096c09eb996c22c04490e04e3001c3d7a91b4721",
        "dc4509bc569e6f756a27850aa181f35f686a1cc9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 20:32:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 29 20:32:35 2020 +0000"
      },
      "message": "Merge \"Check silent mode when updating output device.\" into rvc-dev am: b79d3b8d4b am: dc4509bc56\n\nChange-Id: I3a0dbbd7dd7978e7b0bd5bb53a8ad71391853180\n"
    },
    {
      "commit": "4f57d42adcff94ca2471135f5173a4c7578ab68c",
      "tree": "090e2a08c399b2285c658f26edaa758c21dc90c5",
      "parents": [
        "eb64895ba449f7d4297def3aaf8b695ac0c32cff",
        "b79d3b8d4bfafc8600e4b01d8bf5d88f76876c63"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 20:17:28 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 29 20:17:28 2020 +0000"
      },
      "message": "Merge \"Check silent mode when updating output device.\" into rvc-dev am: b79d3b8d4b\n\nChange-Id: I3cdf7065cb85312b91dc19411337df739bfedccb\n"
    },
    {
      "commit": "0a957d32556294b0f4209bb5b7914fd05d742751",
      "tree": "5890a5b9d69c9df0905b8652cb30e274c08b6d81",
      "parents": [
        "ec660f185a1e212b1d22125de81e9bd1d0ff58a3"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Apr 29 10:56:20 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Apr 29 10:56:20 2020 -0700"
      },
      "message": "Check silent mode when updating output device.\n\nAfter refactoring audio device type, the output devices will only be set\nwhen create/release audio patch. In that case, the output devices are\nempty when creating the thread. If the \"ro.audio.silent\" is set, it will\nmake master muted if the output devices are empty. To fix the issue, do\nnot check silent mode when the output devices are empty, but check\nsilent mode when output devices are updated.\n\nTest: atest AudioHostTest with setting \"ro.audio.silent\"\nBug: 154037767\nChange-Id: I6cb219353e541ba99ba9acebd6ce853128d963d3\n"
    },
    {
      "commit": "ec660f185a1e212b1d22125de81e9bd1d0ff58a3",
      "tree": "2895b3bb6e630fe798eb3345f25942186a0734df",
      "parents": [
        "6d05a57e70a66ce0864db0387eb40df48d52bc4a",
        "c08f261af02a7678e81f6c1c2ca5c8453b5cfc0e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 28 16:28:07 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 28 16:28:07 2020 +0000"
      },
      "message": "Merge \"fix audioflinger integer multiplication overflow\" into rvc-dev"
    },
    {
      "commit": "8b1fc0eb0364c03d0a93fe8c0ee760cf88eed9d6",
      "tree": "e956eb56d243f25166fbd06fa3535cc502d02089",
      "parents": [
        "1a0e58d1944d6cff9de490a882e163184db9964c",
        "5138173ff27829e2e4d8523b61985788faa9072a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 28 16:11:40 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 28 16:11:40 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Use AllowUid property for services to control client access\" into rvc-dev am: 5559ae7c9d am: 91ac0157d9 am: f9a222bdf0 am: 5138173ff2\n\nChange-Id: I665f50d41902f8b6df7b96344ab2f62ddc56f648\n"
    },
    {
      "commit": "f9a222bdf076fc733dd02b06a4dea13469624535",
      "tree": "77e98ccb24caf0a5fb3693b8c538b9c33bf14717",
      "parents": [
        "4da69588f7216fa2e175267147f7ef644695478d",
        "91ac0157d9515374918950f6d56e3abc9dcbaf3f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 28 15:46:38 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 28 15:46:38 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Use AllowUid property for services to control client access\" into rvc-dev am: 5559ae7c9d am: 91ac0157d9\n\nChange-Id: I79a14803bd9748d0ce5c6d00f7ccc94b61b94e4f\n"
    },
    {
      "commit": "76d7cc4578423dd14e4ccfd15cea1691108b1b37",
      "tree": "77e98ccb24caf0a5fb3693b8c538b9c33bf14717",
      "parents": [
        "f76edb9df96d63a33438e294ea0ece89e818ab9e",
        "5559ae7c9dabaf8b0bbfaf7553fef050f008f425"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 28 15:29:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 28 15:29:31 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Use AllowUid property for services to control client access\" into rvc-dev am: 5559ae7c9d\n\nChange-Id: I2d0505ebb6ba113cd4f53467943b498aca117c62\n"
    },
    {
      "commit": "d203eb6b3cd99af3c9616df2bd0d982796b0f918",
      "tree": "0f2cfa6c24a30d32913de484c6dd52514b37a9a3",
      "parents": [
        "2578a95a57dd9796b55095dc22b8171dd5da73c3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 09:12:46 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 23:42:41 2020 -0700"
      },
      "message": "MediaMetrics: Use AllowUid property for services to control client access\n\nRemove implicit first client uid access.\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nChange-Id: I4f953db4688bf5f174c3e1611f492f31d2926e96\n"
    },
    {
      "commit": "c08f261af02a7678e81f6c1c2ca5c8453b5cfc0e",
      "tree": "0856b7fce43c4044a150cfdd52a19475cc09820b",
      "parents": [
        "433ccf7dca6db9ffd774cd10d539ccf9d62e3f46"
      ],
      "author": {
        "name": "wendy lin",
        "email": "wendy.lin@mediatek.com",
        "time": "Wed Jun 12 10:37:11 2019 +0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 27 16:04:37 2020 -0700"
      },
      "message": "fix audioflinger integer multiplication overflow\n\nwhen underrun duration is over 3 sec, overflow happens\nfor multiplication of nsec\u003dsec*1000000000. Use correct format transform\nto solve it.\n\nBug: 135075416\nTest: run MTBF test\n\nChange-Id: I0a09ca41f2fad055ce0cfa18f936131b7a630f52\n"
    },
    {
      "commit": "9bffcd5f9b35413de64338024d2d4594284b6c84",
      "tree": "a6c8ed7a15be6ccf3fc8b3354ee60c7b26925b03",
      "parents": [
        "0449b1db551bbff7c24d51e8ba599f7fa239968d",
        "5be0394caa67d430bc80655284acd9755bd870e4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 23 22:37:05 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 23 22:37:05 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: fix getMicrophones implementation\" into rvc-dev am: 7d947b3618 am: ac516165c4 am: 8162a8afe9 am: 5be0394caa\n\nChange-Id: I838da34cffacaddd379f584450fd5df1060c615a\n"
    },
    {
      "commit": "ac516165c4a93e6e52005b0004a4a3dd5a98e8d4",
      "tree": "146fa34ce0c0eaa8926123f29abd0198932c95b9",
      "parents": [
        "31cd2cc33638966747f589dce4400edfd9259817",
        "7d947b361853035f3c1eefdb5a65ac2c9da3982f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 23 21:56:33 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 23 21:56:33 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: fix getMicrophones implementation\" into rvc-dev am: 7d947b3618\n\nChange-Id: I2bfd16097ac7f058ea76b105ec4e029a1ba3498d\n"
    },
    {
      "commit": "00abf0d08363d063bd5ea6e35a71c54f16f3ed31",
      "tree": "1d9de701622390a7d3db05b77393ad238b8d35f6",
      "parents": [
        "369ad274564c02b79c15b13e8e69ccb73080d6fb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 22 19:28:22 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 23 09:04:24 2020 -0700"
      },
      "message": "AudioFlinger: fix getMicrophones implementation\n\ngetMicrophones() should return aggregated mic information\nfrom all HW modules, not just primary.\n\nAlso:\n- Fix assignment of mPrimaryHardwareDev that should be\nfirst from HW module name and then according to primary output\nif no module with name \"primary\" is loaded.\n\n- Make sure we do not dereference mPrimaryHardwareDev if null.\nNote that this should not happen with current rule that a primary module\nmust be present.\n\n- Implement consistent locking scheme where both mPrimaryHardwareDev and\nmAudioHwDevs are guarded by mHardwareLock\n\nBug: 154772890\nTest: AudioManagerTest#testGetMicrophones\nChange-Id: I7c9449bb705a6fbebdc0642166e58348d47b7ee8\n"
    },
    {
      "commit": "28e4f6d7456b4fea26cdc64524455ed0e3fec370",
      "tree": "132b31977c645315b67e3bd15d1c50d9d21d7976",
      "parents": [
        "1c3c8fa895a2f1b77b94670b4932c30b4aa83da0",
        "d0fde784641921646fab57a29ff80b01ba534c90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 09 22:18:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 09 22:18:47 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: mute mic on primary HAL only\" into rvc-dev am: a73e0d674d am: 42e0f92ffd am: f8f46fba9a am: d0fde78464\n\nChange-Id: I81b4f023a92a489e86ce739f43f50e8f1e04e081\n"
    },
    {
      "commit": "f8f46fba9a5164dba62f909f0a35d724e63fddba",
      "tree": "0919c0a0725ab0373d92544870cbea785cda1493",
      "parents": [
        "07d181d81bbd8c52fa494541149eb08d21115020",
        "42e0f92ffda7470d22da423d826e941d18f4c19f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 09 21:35:44 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 09 21:35:44 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: mute mic on primary HAL only\" into rvc-dev am: a73e0d674d am: 42e0f92ffd\n\nChange-Id: I0b3ac99f73cb00d7187df5f7ce1578ef04d52a85\n"
    },
    {
      "commit": "25ffb8a971b184b11004b94a964961a382d756e2",
      "tree": "0919c0a0725ab0373d92544870cbea785cda1493",
      "parents": [
        "12d019baa7520f2b769e6597c5385b5e159ac168",
        "a73e0d674d83be857ffe7148aea4ab0f4dbeda06"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 09 21:13:44 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 09 21:13:44 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: mute mic on primary HAL only\" into rvc-dev am: a73e0d674d\n\nChange-Id: If3bee83432b58b4032bdc843c179aeb3fbe15bb4\n"
    },
    {
      "commit": "2325bf07edfa494aa5a186aacdcc80ff0233adbe",
      "tree": "97c72fb106d9f84c2cbbb654b657ab928843f494",
      "parents": [
        "967bfe95b6e95d4e590bb172826623e8a59664bd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 08 19:38:13 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 09 10:03:30 2020 -0700"
      },
      "message": "AudioFlinger: mute mic on primary HAL only\n\nOnly the primary HAL has to support mic mute function.\nIgnore errors returned by other HALs in setMicMute() and\nonly report mic mute state from primary HAL in getMicMute().\n\nBug: 153103117\nTest: CTS AudioManagerTest.testMicrophoneMute\nTest: manual phone call and verify microphone mute.\nChange-Id: Ic121c49e7e7cd75eeee9342249271c7fca7c1c2a\n"
    },
    {
      "commit": "6eb6ccc9404e43c742146d62fa2dd592890e22c4",
      "tree": "8dd92f5fb52006d01355b7b2f97d3fe59817e133",
      "parents": [
        "ae2602958fb66104ddf223ebe4aa8761cf1d9c45",
        "faa590bfa17b070e6855823535505f42c5b24151"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 08 00:37:24 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 08 00:37:24 2020 +0000"
      },
      "message": "Merge \"fix audioflinger integer multiplication overflow\" am: dd1fafd81e am: 445488d9b0 am: 4c32788efe am: 9310582361 am: faa590bfa1\n\nChange-Id: Ib004f494d1d902cde9c0492805af5d176e008fc5\n"
    },
    {
      "commit": "4c32788efe0f7b5919bd6787eb113c9399068bb1",
      "tree": "ba79f0616b653f48d4f0f7e3160a257ffdfcfe48",
      "parents": [
        "250068b3214137e8ff7e19b60aa7c50ba0840c4d",
        "445488d9b0f554ba3168e68c666ae1f4f341d4da"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 07 23:50:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 07 23:50:18 2020 +0000"
      },
      "message": "Merge \"fix audioflinger integer multiplication overflow\" am: dd1fafd81e am: 445488d9b0\n\nChange-Id: I7d984160cbd1181a679c69328d02461f74a5fa9f\n"
    },
    {
      "commit": "dd1fafd81ed6d9cd1d424c8f12c24d72f2666a4c",
      "tree": "7fc2c7788c5358d2ed528127309383b2c9f3e511",
      "parents": [
        "b3358b86368d4b4bd52bf5ab1b9495c39465b435",
        "cd4c724043bb6ce562fdb02bb980fde548233353"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 07 23:23:12 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 07 23:23:12 2020 +0000"
      },
      "message": "Merge \"fix audioflinger integer multiplication overflow\""
    },
    {
      "commit": "cd4c724043bb6ce562fdb02bb980fde548233353",
      "tree": "2ffd0d41480cbc148fb07d443455b54c791fc4d0",
      "parents": [
        "39ec5a7accf61d89a41908999bc789d5c8d0e3d3"
      ],
      "author": {
        "name": "wendy lin",
        "email": "wendy.lin@mediatek.com",
        "time": "Wed Jun 12 10:37:11 2019 +0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 07 16:51:43 2020 +0000"
      },
      "message": "fix audioflinger integer multiplication overflow\n\nwhen underrun duration is over 3 sec, overflow happens\nfor multiplication of nsec\u003dsec*1000000000. Use correct format transform\nto solve it.\n\nBug: 135075416\nTest: run MTBF test\n\nChange-Id: I0a09ca41f2fad055ce0cfa18f936131b7a630f52\n"
    },
    {
      "commit": "eda3483c92959e04ece8da6ff4829a6782575a84",
      "tree": "a8f290f9c169ad6719f13d83546d5e52a1aadbd8",
      "parents": [
        "0794f54fc7ab2ba98c8c75402c39660b18d5e87e",
        "5554d3fce086f17d5faa35a3a8706262f9ca334d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 07 00:35:57 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 07 00:35:57 2020 +0000"
      },
      "message": "Merge \"MediaUtils: Move MemoryLeakTrackUtil.h to the proper library.\" into rvc-dev am: 65328604de am: 7987613047 am: ae26b0232f am: 5554d3fce0\n\nChange-Id: Id4fe11729f29f571a7c2cd157b4d96522ac0c224\n"
    },
    {
      "commit": "ae26b0232f9186589ea08f3ce769afff5869577b",
      "tree": "1e4cc909bdad6c5c950c0c1f7c7e53bcd3c29583",
      "parents": [
        "480c4f4ca3a493d50e1dc9e37606b6ee0d4d2271",
        "79876130477a262dc6e869036fa7fd2e9bb991e3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 06 23:36:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 06 23:36:06 2020 +0000"
      },
      "message": "Merge \"MediaUtils: Move MemoryLeakTrackUtil.h to the proper library.\" into rvc-dev am: 65328604de am: 7987613047\n\nChange-Id: I58f63dfcc2be632c34410b50df65eaa7255f71f5\n"
    },
    {
      "commit": "7e3df952b35cf0e904b510de249351e0bfdd6fda",
      "tree": "1e4cc909bdad6c5c950c0c1f7c7e53bcd3c29583",
      "parents": [
        "36a2cd6811a8799a3531ba6de8a35ae64a8cfac1",
        "65328604dedbb0c01937efa0e831e62a191869f8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 06 23:09:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 06 23:09:29 2020 +0000"
      },
      "message": "Merge \"MediaUtils: Move MemoryLeakTrackUtil.h to the proper library.\" into rvc-dev am: 65328604de\n\nChange-Id: I175282f183c65bbf6b71456645611be8b9a11bb5\n"
    },
    {
      "commit": "1fe174dc13fcf6b41dddf5f998ef36ee0a92f0f5",
      "tree": "70c60e8e688d269f211dd7c36dbdc343c13d5362",
      "parents": [
        "bf2cfdc26d69ddacb24c2946f13b00bb83993d06",
        "6597d73adf83bbf9bb22adb883da5330d1759a8a"
      ],
      "author": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Mon Apr 06 19:35:26 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 06 19:35:26 2020 +0000"
      },
      "message": "Merge \"Migrate to AIDL generated native power manager interface.\""
    },
    {
      "commit": "e9eb03e9db8f66c711e2824e0f96d1fdc8f727b5",
      "tree": "77671b8d041a66b35884657fc4e05c5e5214787a",
      "parents": [
        "95ec1b8ea487abbf4ef50d53c227338f559e9599"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 04 14:08:23 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 06 09:48:59 2020 -0700"
      },
      "message": "MediaUtils: Move MemoryLeakTrackUtil.h to the proper library.\n\nTest: dumpsys sanity check of mediaserver, audioflinger, drmmanager\nBug: 149850236\nChange-Id: I7a3694444de0f940beacb699bc6f07ebb6a7cc7d\n"
    },
    {
      "commit": "00940f1b46b3d1124db7069f936d39c0baf298e1",
      "tree": "38c7334c34485dd35fca02f9fdae6c02773e541a",
      "parents": [
        "a3bb843cd9f0699e7df1240bdee4f5f12516f6a2",
        "54e37c0f89499795c6a8d7f22f4ea61148e2d27b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Apr 01 00:45:27 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 01 00:45:27 2020 +0000"
      },
      "message": "Fix uninitialized variable use in Effects.cpp am: f698ff2d17 am: 54e37c0f89\n\nChange-Id: I9843508925103cf1190a5f9f193818204b6b34ae\n"
    },
    {
      "commit": "f3f210ed7cd89a0889737f77694bdbc4b745690c",
      "tree": "38c7334c34485dd35fca02f9fdae6c02773e541a",
      "parents": [
        "7bcff2ac4343e6fb5343162a1b9e6dfe3e6ddbaf",
        "f698ff2d177d62a714d452ce63430606738a4190"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Apr 01 00:31:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 01 00:31:19 2020 +0000"
      },
      "message": "Fix uninitialized variable use in Effects.cpp am: f698ff2d17\n\nChange-Id: Icd831ced150c10c96358a86e12aa364794937d97\n"
    },
    {
      "commit": "f698ff2d177d62a714d452ce63430606738a4190",
      "tree": "e53e0cbf41ce80cc85b73f6495323207899c86c9",
      "parents": [
        "1cfbd0a8a1083af1a7afeb19b2bdc0d757d9daf5"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 31 10:07:29 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 31 22:06:58 2020 +0000"
      },
      "message": "Fix uninitialized variable use in Effects.cpp\n\nInitialize variable \u0027strategy\u0027 in\nAudioFlinger::EffectBase::updatePolicyState.\nFound by clang-tidy.\n\nBug: 152526318\nTest: m\nChange-Id: I5aad916a9873122eed0bb8e40bb26d677f338b16\n"
    },
    {
      "commit": "d3596d6e2a435f15dc872ae222304cba4aebbd97",
      "tree": "672f222d976d030910caa83e92c4ab9cf26b1877",
      "parents": [
        "ca072af1e3ef5c2b2d922a30890514ede55c1d38",
        "a25686df227c00573564f767e37916087fce75e1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 31 03:06:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 31 03:06:14 2020 +0000"
      },
      "message": "Merge \"Add audio attributes info when starting aaudio tracks on MMAP mix.\" into rvc-dev am: 1cfbd0a8a1 am: a25686df22\n\nChange-Id: I1f5dff881023da54b7cbd90eedbc6fb556b4832d\n"
    },
    {
      "commit": "7bcff2ac4343e6fb5343162a1b9e6dfe3e6ddbaf",
      "tree": "672f222d976d030910caa83e92c4ab9cf26b1877",
      "parents": [
        "ad379ebe15dc385c9192ef40e018c129913c6a34",
        "1cfbd0a8a1083af1a7afeb19b2bdc0d757d9daf5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 31 02:37:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 31 02:37:49 2020 +0000"
      },
      "message": "Merge \"Add audio attributes info when starting aaudio tracks on MMAP mix.\" into rvc-dev am: 1cfbd0a8a1\n\nChange-Id: I05b45d17ec68f95124f4b6cdceeeac4ee050640f\n"
    },
    {
      "commit": "1cfbd0a8a1083af1a7afeb19b2bdc0d757d9daf5",
      "tree": "5d4775de3b94eaa2c952f6266c61d6f60c7d4e4f",
      "parents": [
        "e2074d7b4f23d8736e77750ce5ab59d61c1bb350",
        "d1f1cb68f567363a0b1e4cd4db6286afc6c8a1e2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 31 02:23:51 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 31 02:23:51 2020 +0000"
      },
      "message": "Merge \"Add audio attributes info when starting aaudio tracks on MMAP mix.\" into rvc-dev"
    },
    {
      "commit": "d1f1cb68f567363a0b1e4cd4db6286afc6c8a1e2",
      "tree": "3b32985218612d05bf95fed08c18025d1735b2d4",
      "parents": [
        "06675ff30f63323905ff18c3c4e0d34a9fee4c60"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Mar 24 11:57:57 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Mar 27 11:33:09 2020 -0700"
      },
      "message": "Add audio attributes info when starting aaudio tracks on MMAP mix.\n\nIn aaudio, when adding tracks to mixed stream, it is needed to update\naudio attributes to HAL whenever the tracks are added or removed.\nCurrently, only the audio attributes used to open the stream will be\nsent to the HAL. In that case, adding audio attributes of the clients\nwhen starting the stream can help solve the problem. In audio flinger,\nthe client\u0027s audio attributes will be used to create MmapTrack.\n\nTest: play multiple aaudio tracks, add log\nBug: 77279923\nChange-Id: Ic1c536049e194a2bb7513425ee4828d52769d27f\n"
    },
    {
      "commit": "f029612a8139de19858ef06525f9fe63bc7cee77",
      "tree": "ed4bbab65c302fba4c208ab2b9ea523093fd5a57",
      "parents": [
        "7faaf4bc0076863c8b99432afcc71153ef0491d5",
        "13367c57dd73bf01d7a007b51efc0dab68826d03"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 27 15:33:08 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 27 15:33:08 2020 +0000"
      },
      "message": "Merge \"PatchTrack: Ensure enough data to write once\" am: 4943e65ba7 am: 13367c57dd\n\nChange-Id: I83be105022a7905bbeb9b5011b11209d904019a4\n"
    },
    {
      "commit": "4943e65ba7b17cb79a78262ca0aaefd46b4b5107",
      "tree": "f3c936a12d2319bdaaef8b2a3e20ba0bd3266de3",
      "parents": [
        "6861be79547c425ee21370bef55adbdd7bcb54c3",
        "f37f9980992e84e0abb8445af8c94b041eef4d5f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 27 15:02:41 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 27 15:02:41 2020 +0000"
      },
      "message": "Merge \"PatchTrack: Ensure enough data to write once\""
    },
    {
      "commit": "379d687ba8c831cedf406d95309c4e7a6f66639d",
      "tree": "543cda1db6f2044e1e2f699c54c42f680e04e219",
      "parents": [
        "7bb5d6abf90125a7eacdd98f1201a694258f9bea"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 26 13:04:11 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 26 13:04:11 2020 -0700"
      },
      "message": "Fix uninitialized variable use in Effects.cpp\n\nInitialize variable \u0027io\u0027 in\nAudioFlinger::EffectBase::updatePolicyState.\nFound by clang-tidy.\n\nBug: 152526318\nTest: m\nChange-Id: Ib8c71eaf83dc140874d3e65a094e52e36918160f\n"
    },
    {
      "commit": "f37f9980992e84e0abb8445af8c94b041eef4d5f",
      "tree": "487f348b634b361e576eeda8627f95590b138ef8",
      "parents": [
        "b1d2e747ede4994547eae75b2b929896ac6a7e8e"
      ],
      "author": {
        "name": "naoki miyazu",
        "email": "naoki.x.miyazu@sonymobile.com",
        "time": "Thu Nov 28 11:18:18 2019 +0900"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Mar 24 20:12:51 2020 +0000"
      },
      "message": "PatchTrack: Ensure enough data to write once\n\nUnderrun can occur for AudioPlaybackCapture\nin the secondary PlaybackThread.\n\nWhen the primary PlaybackThread is blocked by any reason\nduring playback, e.g. A2DP suspend, interceptBuffer is also\nblocked and data will not be provided to the PatchRecord buffer.\nBut the secondary PlaybackThread is still running,\nexhausting the data in the PatchTrack.\n\nAs mFillingUpStatus of the PatchTrack is still FS_ACTIVE,\nthe secondary PlaybackThread continues even though framesReady()\nis not filled to threshold (mFrameCountToBeReady).\nSo, underrun happens repeatedly.\n\nTo avoid this issue, check if the PatchTrack has enough data in\nreleaseBuffer(); if not, change mFillingUpStatus to FS_FILLING,\nand wait for the buffer to fill.\n\nBug: 144009535\nChange-Id: Ifcbaea05228064284dfaa9b629c8860b1fbe977d\n"
    },
    {
      "commit": "57a3769fb12dc8b2df457e0919850bd976716706",
      "tree": "f170ceb064b6be5d9443af5f2f95ac55c612c270",
      "parents": [
        "3006a83565b6863f247bf634faa929b84608026e"
      ],
      "author": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Mon Mar 23 17:27:25 2020 -0700"
      },
      "committer": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Tue Mar 24 16:20:36 2020 +0000"
      },
      "message": "Revert \"Allow call audio access for default dialer application\"\n\nThis reverts commit ac26cf749f457e12a3d8d7456bbcd58a3e028d69.\n\nReason for revert: Feature has been postponed\nBug: 151761909\n\nChange-Id: I90a977a23c5b97ddf95976cf2c4d517165f8e8c2\n"
    },
    {
      "commit": "b3e62a0302fb4d3b51b860d2badbc72663746dd9",
      "tree": "5bf1a4ede6eb601f3639a059ef55ee6d737d50f7",
      "parents": [
        "6437df87da8175a05e2a522c7c71eddcde88f97c",
        "04cb8f72e799d6045583304d1b90cd16875b9bd0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Mar 21 00:08:42 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 21 00:08:42 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Add master volume to the dumpsys\" into rvc-dev"
    },
    {
      "commit": "04cb8f72e799d6045583304d1b90cd16875b9bd0",
      "tree": "23c22ea54fe8c2df03107e08c578554c4b885514",
      "parents": [
        "8d386f779d76eb2a87ec570bf6ee3c0ce674085f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 20 13:44:33 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 20 14:00:23 2020 -0700"
      },
      "message": "AudioFlinger: Add master volume to the dumpsys\n\nNow PlaybackThreads shows master volume, which enables tracking\nsubtle silence issues. (Note MmapThreads already dump master volume.)\n\nTest: adb shell dumpsys media.audio_flinger\nBug: 145107983\nChange-Id: I2efc1a133c0ea07929c646b7e7148a9f3f311912\n"
    },
    {
      "commit": "2fe0acd07f9fb2d0eefbe0fa9d25fbaf0f672596",
      "tree": "10a5a6ceaee79473c53b3dacb08b58172bcd14f2",
      "parents": [
        "90334d0f03f4bee709969433898025fc16863f01"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 13 14:30:46 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 16 13:49:20 2020 -0700"
      },
      "message": "audioflinger: add effect creation probe mode\n\nAdd an argument to IAudioFlinger::createEffect() API to\nask AudioFlinger to just run the pre flight checks but not\ncreate the actual audio effect instance and allocate resources.\nThis is the basis of an API for apps to query if a given\neffect can be created without having to allocate the resources\nand risk an exception when calling the constructor.\n\nBug: 150699608\nTest: CTS and GTS Tests for audio effects\nChange-Id: Ibdda22fd945c88c33e3c7342a7a5ed3e02d399ac\n"
    },
    {
      "commit": "6597d73adf83bbf9bb22adb883da5330d1759a8a",
      "tree": "c77ee775a02f310b2ec3efbab56e3c9fd27e18e5",
      "parents": [
        "bdccc992097e538da25e29a6b663698488539a44"
      ],
      "author": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Fri Feb 28 22:38:25 2020 -0800"
      },
      "committer": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Mon Mar 16 10:06:23 2020 -0700"
      },
      "message": "Migrate to AIDL generated native power manager interface.\n\nMigrate to AIDL generated native power manager interface, use\naidl-cpp generated cpp header file from IPowerManager.aidl.\n\nBug: 149479744\nChange-Id: Icf4e71b5e78a6e3101b423686556ac5393c5e91c\n"
    },
    {
      "commit": "3de4f26be47eea27619b44ac70ae5f29163a1307",
      "tree": "743d92be6536d4699e120fffd6251d550b801141",
      "parents": [
        "fb9c73b74672434872a9f04061489e05fb226fe2"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Mar 06 17:02:19 2020 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 10 15:36:34 2020 -0700"
      },
      "message": "Plumb the notification about audio HAL services update to APM\n\nAudioFlinger registers a callback with libaudiohal to receive\nnotifications when new HAL services get registered. It relays\nthe notification to AudioPolicyManager via AudioSystem /\nIAudioPolicyService interface.\n\nBecause AF / APM only interact via Binder interfaces and APM\u0027s\ninterface gets registered later than AF\u0027s, the notification\nfrom AF is made asynchronous.\n\nBug: 149854039\nTest: audio test on a regular phone configuration\n      audio test on a phone with MSD audio HAL module\nChange-Id: I158e941b8f75e2a4614b9d84ca798b0f1f47aa6a\nMerged-In: I158e941b8f75e2a4614b9d84ca798b0f1f47aa6a\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": "88b30d2c1520112670472ae879b20cc33a1b6eb0",
      "tree": "a3afdce3d25d97385bd4a29d8223cffe0fc2203a",
      "parents": [
        "88de22ff76578985801dd7662acb07a5641298c1"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Mar 09 19:43:13 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 10 16:17:26 2020 +0000"
      },
      "message": "Plumb the notification about audio HAL services update to APM\n\nAudioFlinger registers a callback with libaudiohal to receive\nnotifications when new HAL services get registered. It relays\nthe notification to AudioPolicyManager via AudioSystem /\nIAudioPolicyService interface.\n\nBecause AF / APM only interact via Binder interfaces and APM\u0027s\ninterface gets registered later than AF\u0027s, the notification\nfrom AF is made asynchronous.\n\nBug: 149854039\nTest: audio test on a regular phone configuration\n      audio test on a phone with MSD audio HAL module\nChange-Id: I158e941b8f75e2a4614b9d84ca798b0f1f47aa6a\n"
    },
    {
      "commit": "d505c647c527b45b8b1c157504d57df247fee8b6",
      "tree": "ec18a301b74cb8928faa3e427457ea929abe89aa",
      "parents": [
        "831ed185aa1dd8211bc37a05c9af8ed6941bf809"
      ],
      "author": {
        "name": "Zhou Song",
        "email": "zhous@codeaurora.org",
        "time": "Thu Feb 20 16:35:37 2020 +0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 06 16:01:52 2020 -0800"
      },
      "message": "Effects: set hw volume if effect chain doesn\u0027t have volume control\n\nIf effect chain has non-offloaded effect, and is enabled for direct\noutput, when there\u0027s no volume control for all the effect modules\nwithin this chain, volume should still be set to HAL.\n\nTest: Play Music, Videos with effects\nBug: 149899134\nCRs-Fixed: 2625597\nChange-Id: I77bd0d456d5fa4e88afb283002a5eb1e2b704ca8\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": "ac26cf749f457e12a3d8d7456bbcd58a3e028d69",
      "tree": "0d3ba6751d1bee73ac1d6bf5c50771a2bfede68f",
      "parents": [
        "0f97ee5a52d697e31e9c6dc3c9e7aa941168b571"
      ],
      "author": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Mon Jan 06 14:43:38 2020 -0800"
      },
      "committer": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Tue Feb 18 22:54:20 2020 +0000"
      },
      "message": "Allow call audio access for default dialer application\n\nThe access to call audio (record and play) will be granted only to the app associated with Dialer role, who also includes a new system permission.\n\nTest: Compilation and manual tests\nBug: 135197853\n\nChange-Id: I65ca823c235d4d3420630837427103783ad1d1b0\n"
    },
    {
      "commit": "0f97ee5a52d697e31e9c6dc3c9e7aa941168b571",
      "tree": "b24e61ac061d57ac858650b5a6d0940b144b50b3",
      "parents": [
        "ae3b9539cead752af48515f2e43c9985c3fc04e6",
        "5e4d86f837c1b978d4c5d69964a769c5a26e3fae"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 18 22:25:32 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 18 22:25:32 2020 +0000"
      },
      "message": "Merge \"audioflinger: remove null checks\""
    },
    {
      "commit": "5e4d86f837c1b978d4c5d69964a769c5a26e3fae",
      "tree": "feebebe3255fa50f93a2679c8639d25d1ff6242d",
      "parents": [
        "697aec8505c99b66313aa5c58e3bb68776db82f0"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Feb 18 12:55:36 2020 -0800"
      },
      "committer": {
        "name": "George Burgess",
        "email": "gbiv@google.com",
        "time": "Tue Feb 18 21:21:13 2020 +0000"
      },
      "message": "audioflinger: remove null checks\n\nThis code has null checks with intervening unconditional dereferences of\nthe potentially-null variable.\n\nIt\u0027s not clear that `mOutput` can ever be null to begin with. If it can\nbe, we have a few dereferences to guard. :)\n\nCaught by the static analyzer:\n\nframeworks/av/services/audioflinger/Threads.cpp:2671:19: warning: Called\nC++ object pointer is null [clang-analyzer-core.CallAndMessage]\nframeworks/av/services/audioflinger/Threads.cpp:2852:9: warning: Called\nC++ object pointer is null [clang-analyzer-core.CallAndMessage]\n\nBug: None\nTest: TreeHugger\n\nChange-Id: I456581204718390088998a1fe2514dff63f6578f\n"
    },
    {
      "commit": "f29bd6bf2944f57de04362c10c223960e5e89eec",
      "tree": "5095c1f0dfe9f35d297b9b8d49686466f0e3e62b",
      "parents": [
        "f0fde89bdce97705981758515eac27d3e718f54b",
        "35f8c7c32aa45f0b95cec7e1d31fc92ce79d57ee"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 12 01:04:37 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 12 01:04:37 2020 +0000"
      },
      "message": "Merge changes from topic \"volume_fixes\"\n\n* changes:\n  audio policy: add call assistant volume stream\n  [AudioPolicy] fix volume regression\n  [AudioPolicy][Engine] Attributes of strategy not populated\n  Revert \"Revert \"[audiopolicy][enginebase] Fix schema verification\"\"\n"
    },
    {
      "commit": "9073e80440a7804111967533d8ea114ef31de679",
      "tree": "4356f596c900544be11eeded6d0c49fbb42f92fb",
      "parents": [
        "79fe80b49dec4d39725ff3db3ea1dc34a85dd8c1",
        "80810ed5ea2b04f25d9c9d875e820a33c343b38b"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 11 22:24:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 11 22:24:06 2020 +0000"
      },
      "message": "Merge \"Revert \"Disable clang-tidy for Effects.cpp\"\" am: 3a2f04cf5d am: 26bca1d6df am: 80810ed5ea\n\nChange-Id: Ide8321169d86be7db764081d471c0cd89a836175\n"
    },
    {
      "commit": "3a2f04cf5db1e7dfc4727e80cdd148fb591fe3f8",
      "tree": "890c6d67c6404c5690001785c0ec35ef063e0e68",
      "parents": [
        "7ddc362165b9a621526d23526be1a778fe157100",
        "221324eea4bbe46dab81dab1137f84bd3c6169c3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 11 21:33:07 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 11 21:33:07 2020 +0000"
      },
      "message": "Merge \"Revert \"Disable clang-tidy for Effects.cpp\"\""
    },
    {
      "commit": "35f8c7c32aa45f0b95cec7e1d31fc92ce79d57ee",
      "tree": "d9225d987f9948174710ad18b7a51bc45686205d",
      "parents": [
        "39d1f3e01dae5f6794e95074118d3f0466c95a7d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Feb 08 11:42:35 2020 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 10 18:07:26 2020 -0800"
      },
      "message": "audio policy: add call assistant volume stream\n\nRouting strategy call assistant was added without\nassociated volume stream and wass reusing AUDIO_STREAM_PATCH.\nThis is violating the rule that two strategies cannot\nshare the same volume stream.\n\nBug:148588565\nTest: play music and check volume\nChange-Id: Ib3fb2a1b7b5f3118bf16a3cc9d8e578fa0431645\n"
    },
    {
      "commit": "221324eea4bbe46dab81dab1137f84bd3c6169c3",
      "tree": "4ab62e77cc4942322234705c98e4bd53dd747a4d",
      "parents": [
        "b1b6fa0605e2427e3e55a6dcb9065a171c37f043"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Feb 07 05:58:34 2020 +0000"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Feb 07 05:58:34 2020 +0000"
      },
      "message": "Revert \"Disable clang-tidy for Effects.cpp\"\n\nThis reverts commit b1b6fa0605e2427e3e55a6dcb9065a171c37f043.\n\nReason for revert: clang-tidy has been fixed\n\nChange-Id: Id56f1f3e4015c50f775caa7ddd5730e5bd01dcd7\n"
    },
    {
      "commit": "69d367771be73184f6eb0c0d84bc64afdb311f18",
      "tree": "f8caaf7fdb8510296ba1414309908a5368b867ae",
      "parents": [
        "33873dec8be145a09321009ecabd50cb8c62c090",
        "9930037fa8bba06f299a87d8b427a4ec01f3e16c"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Feb 01 08:32:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Feb 01 08:32:47 2020 +0000"
      },
      "message": "Merge \"Reset direct output thread timestamp on flush\" am: 394b76dd52 am: 1976ed32df am: 9930037fa8\n\nChange-Id: If04ea2471db4615c5baa33377767453c47158a00\n"
    },
    {
      "commit": "999f0e88d2d4dde2bc8f78adefee8b8237a52de4",
      "tree": "a4ed574e8903d7edf213f031eaa720d5cb5bf778",
      "parents": [
        "733c728752ae6958c88b2da4a4c662d266294b70"
      ],
      "author": {
        "name": "Sampath Shetty",
        "email": "Sampath.Shetty@dolby.com",
        "time": "Wed Jan 15 10:19:06 2020 +1100"
      },
      "committer": {
        "name": "Sampath Shetty",
        "email": "sampath.shetty@dolby.com",
        "time": "Thu Jan 30 23:49:42 2020 +0000"
      },
      "message": "Reset direct output thread timestamp on flush\n\nIn order to avoid subsequent tracks using stale kernel timestamps while\ncomputing track timestamps, clear the timestamp info upon flush.\n\nChange-Id: I2b8af33b287aee986871b6415b89f9c53d92f3a6\n"
    },
    {
      "commit": "ba8677044577082aed086d42f17d60ba3fffd724",
      "tree": "42eb511fe35e7dd0138c74619990aa70fcf2fc0e",
      "parents": [
        "fbe4e735b472c5552405664c390f4898dbd566dd",
        "b68f5ebb53434e800c43715127e2d1032e3a9b54"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 28 22:37:33 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 28 22:37:33 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Add AudioFlinger logging\""
    },
    {
      "commit": "b68f5ebb53434e800c43715127e2d1032e3a9b54",
      "tree": "7e1c75e02cb63d4c9d1f0b7dc3322001e1463b33",
      "parents": [
        "3b4c1f0320efc7a54c4ab811727c432cda73dd37"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 03 16:49:17 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 28 13:03:22 2020 -0800"
      },
      "message": "MediaMetrics: Add AudioFlinger logging\n\nTest: atest mediametrics_tests\nTest: mediametrics dumpsys\nBug: 138583596\nChange-Id: I2086c5a780744d409052fde4c5ebc1dc92d95ea8\n"
    }
  ],
  "next": "4f04336e7422e1e80b4d0d33816123c768010310"
}
