)]}'
{
  "log": [
    {
      "commit": "55773033ed1f23c4e8f3d2704002fbd0cedbf7a5",
      "tree": "54bc894243fa3c52e611c85aed75ee6677056c13",
      "parents": [
        "7aed66e788c8955ddd22a1235856bb9dac34d82a"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 01 15:08:13 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 08 18:12:55 2020 -0700"
      },
      "message": "Convert mask types from uint32_t to enum type\n\nThis applies to the following types:\n\n- audio_gain_mode_t;\n- audio_flags_mask_t;\n- audio_channel_representation_t;\n- audio_channel_mask_t;\n- audio_devices_t.\n\nEnum types are distinct thus proper overloading on the type\nis possible in C++. Also, assignments to enum types are\nless prone to errors.\n\nBug: 169889714\nTest: basic audio functionality\n      m stagefright\n      atest audiopolicy_tests\nChange-Id: I42506484b1d0b0482618b7314fad4c8012a06fb4\n"
    },
    {
      "commit": "94ca11488f69e684d6b55889e70a427eaabe6604",
      "tree": "ede43b9ed0e15c01e7963b09bd294a982d792d61",
      "parents": [
        "f8701c40e95ec237919884629f0497c0bb504c04"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 07 10:45:20 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 07 10:45:20 2020 -0700"
      },
      "message": "audioflinger: fix wait for media.log service\n\ncommit e2cf8295 disabled media.log service but did not skip binding\nto this service when audioflinger starts which caused a systematic\ntimeout and a 5 second delay in audioflinger start sequence.\n\nBug: 165702394\nBug: 169105682\nTest: SuccessiveBootTest\nChange-Id: I892c2120f290ef52b34d320b281ab8faf2b5b0ea\n"
    },
    {
      "commit": "71389a45ae5e7d3f51bc37b416fcaf0b48193b77",
      "tree": "e1cfb1385850ce27b869137433a32906f94f1ef9",
      "parents": [
        "2e0239dfded6307f5a787ac0a64f2066b8340e7b",
        "1ed46a2c7629040a88abcde9df561e215059171d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 29 00:38:06 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 29 00:38:06 2020 +0000"
      },
      "message": "Merge \"audio: return accurate frame count when track is flushed\""
    },
    {
      "commit": "2e0239dfded6307f5a787ac0a64f2066b8340e7b",
      "tree": "4d5bce7f68a341b59a0c09049c61fadb8b460602",
      "parents": [
        "1a207dbf25e983845ce47ae04016504a4d092a92",
        "b7d8c5aa7a9c182e695e456c4aea8f8f6c550850"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 29 00:10:23 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 29 00:10:23 2020 +0000"
      },
      "message": "Merge \"Add getExternalPosition in MMapStreamInterface.\""
    },
    {
      "commit": "1ed46a2c7629040a88abcde9df561e215059171d",
      "tree": "e16bba9dd238408fddfb41b6a0ce020bec67f9d0",
      "parents": [
        "d75c6f06baa045c0f7278bf840550bb475037b5b"
      ],
      "author": {
        "name": "Zhou Song",
        "email": "zhous@codeaurora.org",
        "time": "Mon Aug 17 15:36:56 2020 +0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Sep 28 15:32:03 2020 -0700"
      },
      "message": "audio: return accurate frame count when track is flushed\n\nTo avoid track frames to be processed early before full filled,\nwhen track is flushed, framesReady should return accurate\navailable frames to avoid putting track into ready state\ntoo early, otherwise silence can be inserted as buffer is\ninsufficient which leads to audio glitch.\n\nBug: 166610318\nTest: see bug, ringtone playback no regression.\nChange-Id: I3b04999a29d85a91b54734514cfa93bc93f55c33\n"
    },
    {
      "commit": "98ab408b41cbaea86106eac85ec361ffbcc246f5",
      "tree": "ff1460860b9cfe9c6df59f0285ae98ef1d8e30eb",
      "parents": [
        "2f0bf51fb362149cfd88d55b93a3a0bb89779e92"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 25 21:46:34 2020 +0000"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 25 23:33:15 2020 +0000"
      },
      "message": "audioflinger: only hold wakeLock when started\n\nThe AAudio MMAP streams used to hold a wakeLock from\nthe time they were opened until closed.\nNow it is acquired when the first stream is started\nand released when the first stream is stopped.\n\nThis was tested by creating shared streams using\nOboeTester and write_sine_callback and input_monitor_callback and\nthen adding lots of logs to see when the\nwakeLock was acquired and released.\n\nNote that ~ThreadBase() calls releaseWakeLock_l() so ~MmapThread()\ndoes not need to.\n\nBug: 167345722\nTest: Launch OboeTester\nTest: Tap TEST OUTPUT\nTest: Tap OPEN\nTest: Enter: adb shell dumpsys power\nTest: See no MmapPlayback wakelock\nTest: Tap START\nTest: Enter: adb shell dumpsys power\nTest: See \"ACQ MmapPlayback\"\nTest: Tap STOP\nTest: Enter: adb shell dumpsys power\nTest: See \"REL MmapPlayback\"\n\nTest: atest AAudioTests\nChange-Id: Iad87f5ebd22f20c89699e8b1a75d8df482046360\n"
    },
    {
      "commit": "b7d8c5aa7a9c182e695e456c4aea8f8f6c550850",
      "tree": "8d602524e90bf46e4cbe1e33a71fa472e7998c34",
      "parents": [
        "8dbd241e279e1a637502e38af32ef6ead483768f"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 26 17:24:52 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Sep 23 21:45:29 2020 +0000"
      },
      "message": "Add getExternalPosition in MMapStreamInterface.\n\nGetExternalPosition will return a recent count of the number of\naudio frames presented/received to/from an external observer. Using\nthe new API can return a precise timestamp to client, which can\nhelp on A/V sync.\n\nTest: atest AAudioTests\nBug: 158609200\nChange-Id: If74e1d859a2bb2b4dba6af0e4e9164f05d19d962\n"
    },
    {
      "commit": "18a4b1c31bd8f9df114c1fece02c15a4fcf5579e",
      "tree": "7fa6d6a95b08ee4d8185040ff25dbe87f8aa2c26",
      "parents": [
        "84d711ca7d00aa04dd53db0ed7f0e81e400e35a5"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Sep 17 11:40:42 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Sep 17 19:24:23 2020 +0000"
      },
      "message": "Release AudioTrackCallback when the track is removed.\n\nThe AudioTrackCallback is cached as a strong pointer in PlaybackThread.\nRemove the callback when the corresponding track is removed to avoid\nmemory leak.\n\nBug: 168675247\nTest: repo steps in the bug\nChange-Id: I09d78ca31c43db4d017f9e8c540628bcb6c44727\n"
    },
    {
      "commit": "b8a9dbbf791adf7f1a0ab87d7a35770074e88cc8",
      "tree": "a2f91436efd8587def9e765d333387fed6a03b7f",
      "parents": [
        "763136770b0bb6828cf7628a9b3bbf09b0741ae2"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 27 04:12:26 2020 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 27 04:12:26 2020 +0000"
      },
      "message": "Revert \"Snap for 6793014 from 424180bdc4aa18249e678daebfd0fcf936...\"\n\nRevert \"Snap for 6793014 from fd1ad6750ef332d3f50f218f4d5d148e6e...\"\n\nRevert \"Snap for 6793014 from 7594ec6384c4da320726def34f477736f9...\"\n\nRevert \"Snap for 6793014 from bbbccc3c2b7fc7c5780f6c415c4223e1d0...\"\n\nRevert \"Snap for 6793014 from 44725f06b7f7d6407b5ee82d989bdd6c7a...\"\n\nRevert \"Snap for 6793014 from f22ad3164937a8f2e309965c102b6366d5...\"\n\nRevert \"Snap for 6793014 from 11467102abddb6026aaa164c1361439c2d...\"\n\nRevert \"Snap for 6793014 from 265280bf5cb4bc14e132c3a35ae5f7ae65...\"\n\nRevert \"Snap for 6793014 from f2989f9c65556d5155dbd57f82f0c93a16...\"\n\nRevert \"Snap for 6793014 from 8b8bf0a07b0521bbe8483fbbab1222ffd6...\"\n\nRevert \"Snap for 6793014 from 3777d883a3857b1a1589181c436d9018d7...\"\n\nRevert \"Snap for 6793014 from 3157b4ee4325286f0c2ab0f26528460c8b...\"\n\nRevert \"Snap for 6793014 from a43295d1825da62af038d345a7a861ed7a...\"\n\nRevert \"Snap for 6793014 from 2076be4d27078d6ebc0a6b5e5ceb386109...\"\n\nRevert \"Snap for 6793014 from d0e31526c62b2aeb35c293ac96feb180fc...\"\n\nRevert \"Snap for 6793014 from 7a3a8c6351d5167a6ae0b33bc376efabd2...\"\n\nRevert \"Snap for 6793014 from 41471cb21bb16b5c3bcc92f84293b79684...\"\n\nRevert \"Snap for 6793014 from 42e5cca3cfb829690c9d8c6aca57a8e7d5...\"\n\nRevert \"Snap for 6793014 from 4f81304963d19f4511b1e8e7d0aad87a67...\"\n\nRevert \"Snap for 6793014 from 07602cdacf5bcc835db41f7eaa24af9964...\"\n\nRevert \"Snap for 6793014 from 14cb57e107a3abce8b14937b1f92c28d18...\"\n\nRevert \"Snap for 6793014 from ab1e4a81d09a540a5f927059e5bc03a606...\"\n\nRevert \"Snap for 6793014 from 8c65adad0bcdfb3acc561063b4048dca24...\"\n\nRevert \"Snap for 6793014 from b3061942700265e2bf04af9997775dcbbb...\"\n\nRevert \"Snap for 6793014 from 551c5953fc62e339e4ee884ec2cd0ac3be...\"\n\nRevert \"Snap for 6793014 from 4919273b2ac5c6347a18e17c5ec70d8da6...\"\n\nRevert \"Snap for 6793014 from 988d4244914e0c749655e8cb6db18ba44f...\"\n\nRevert submission 12465146-release-request-6b259cbc-1f45-4b05-bc7e-c9b893b79d68-for-git_main-busytown-release-6793014\n\nReason for revert: b/166531456\nReverted Changes:\nI5ff7a6c0d:Snap for 6793014 from f2989f9c65556d5155dbd57f82f0...\nI77bdff943:Snap for 6793014 from a43295d1825da62af038d345a7a8...\nI2ac5c520a:Snap for 6793014 from c3f124cca05579acf0a6cb589ebd...\nI023b9702f:Snap for 6793014 from 98756d6d3e2bb0ba28eb125caa7a...\nIbc7893d72:Snap for 6793014 from fd1ad6750ef332d3f50f218f4d5d...\nIc27847bee:Snap for 6793014 from 8c65adad0bcdfb3acc561063b404...\nIf20bc9352:Snap for 6793014 from 7a3a8c6351d5167a6ae0b33bc376...\nI6542d17e8:Snap for 6793014 from 3777d883a3857b1a1589181c436d...\nI66e6bb8a9:Snap for 6793014 from 8b8bf0a07b0521bbe8483fbbab12...\nI3cd190b6b:Snap for 6793014 from 424180bdc4aa18249e678daebfd0...\nIf92db7402:Snap for 6793014 from ab1e4a81d09a540a5f927059e5bc...\nIaced03c87:Snap for 6793014 from d0e31526c62b2aeb35c293ac96fe...\nI5d28c6b4b:Snap for 6793014 from 4f81304963d19f4511b1e8e7d0aa...\nI30d07bea3:Snap for 6793014 from 7594ec6384c4da320726def34f47...\nI473205f48:Snap for 6793014 from 551c5953fc62e339e4ee884ec2cd...\nI0656b41af:Snap for 6793014 from 44725f06b7f7d6407b5ee82d989b...\nI0f9796067:Snap for 6793014 from 4919273b2ac5c6347a18e17c5ec7...\nI9a38cda8f:Snap for 6793014 from 2076be4d27078d6ebc0a6b5e5ceb...\nI876a82f51:Snap for 6793014 from 11467102abddb6026aaa164c1361...\nI749d7d023:Snap for 6793014 from 41471cb21bb16b5c3bcc92f84293...\nI038daea41:Snap for 6793014 from 07602cdacf5bcc835db41f7eaa24...\nI47aa3131c:Snap for 6793014 from 14cb57e107a3abce8b14937b1f92...\nI32dba8a95:Snap for 6793014 from 3157b4ee4325286f0c2ab0f26528...\nI2ebc9f9db:Snap for 6793014 from 988d4244914e0c749655e8cb6db1...\nIae7c3370f:Snap for 6793014 from 9ffb8852294e06e2d387dc1fb868...\nI6467a7f1b:Snap for 6793014 from 42e5cca3cfb829690c9d8c6aca57...\nI8c6375203:Snap for 6793014 from b3061942700265e2bf04af999777...\nI843b2e1f3:Snap for 6793014 from 265280bf5cb4bc14e132c3a35ae5...\nIe254f7079:Snap for 6793014 from f22ad3164937a8f2e309965c102b...\nI01e0974ed:Snap for 6793014 from bbbccc3c2b7fc7c5780f6c415c42...\n\nChange-Id: I00c786b898b73e58db8bcb1dd0cf3fdaa1ae3038\n"
    },
    {
      "commit": "d52a28ca2c19db7d10bc6c4639a8bd78e1afd5f1",
      "tree": "c687eda00e2c45823cdb1857c64ad48b67578819",
      "parents": [
        "615364792b6fe07869c685e4bccbf7837e1ba97b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 21 17:10:39 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 25 13:33:12 2020 -0700"
      },
      "message": "audio flinger: handle race condition in AudioRecord creation\n\nA rare race condition can cause a failure to create an AudioRecord if\ntwo creation requests are processed concurrently and thread preemption happens\nat a specific time within the sequence between audioflinger and\naudio policy manager.\n\nThis CL implements a retry mechanism on client side when this particular failure\nis detected.\n\nBug: 161656190\nTest: Regression tests for audio capture use cases.\nTest: CTS tests for AudiRecord\nChange-Id: I155ee4899baeec21e10a1141cb9e323cbc8aa23b\n"
    },
    {
      "commit": "36f99424e9904b39adeb193273083db176ce9fd9",
      "tree": "97d8da35c94cb518b8d4101ea80759782f2283e6",
      "parents": [
        "8243e247a783059f9a64468186ee04d32a5e9e01",
        "9289bde5b9583a8c757bed4041238649aa146378"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 21 00:55:39 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 21 00:55:39 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Check Effect HAL version for device effect compatibility\""
    },
    {
      "commit": "f1a36052bf6c752cec6b60bec058971765bdfa7b",
      "tree": "c0704722e3353375e96e636be4577e64cd2065aa",
      "parents": [
        "4a603cd0594d22d1a3a2bae5bb22009343d4b5bb"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 19 14:33:31 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 19 14:33:31 2020 -0700"
      },
      "message": "Use ALOGD when fails setting event callback.\n\nThe codec changed callback is not mandatory. In that case, it is not\nconsidered as error when fails setting event callback. Use ALOGD instead\nas the information will be useful to debug codec changed event.\n\nBug: 165629960\nTest: make\nChange-Id: I077c7a75acfb474344cd278394a778176471f224\n"
    },
    {
      "commit": "aa8b2aae0c59c40a629e1cd7fa0237d5034a41d6",
      "tree": "16ae59a774c5719bd1d398e9ce36a95c63d4c557",
      "parents": [
        "f266417b07eb474887b3b9cdb6f45631764305ee",
        "d4d9157853bf7516c778060702646b482d1c7e86"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 18 23:55:58 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 23:55:58 2020 +0000"
      },
      "message": "Merge \"audioflinger: Remove effect from hal before closing.\" am: c961cd4d0c am: 7e5965b810 am: 52148b83c5 am: 0cc7be8802 am: d4d9157853\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1403449\n\nChange-Id: I1ef5f4e1600eda4f5ec0c92c4c24525f7de755ce\n"
    },
    {
      "commit": "52148b83c5c6e7b038b9a35d690f49e1ca0b4a3c",
      "tree": "7b0dcffd8bb82151eda2b9372381dfe31da7ad63",
      "parents": [
        "f34e99d5c0042c53ce21435e5800c33beec333a3",
        "7e5965b8103dff4297bcdb4b294db7cbcf8b2fe1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 18 23:12:20 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 23:12:20 2020 +0000"
      },
      "message": "Merge \"audioflinger: Remove effect from hal before closing.\" am: c961cd4d0c am: 7e5965b810\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1403449\n\nChange-Id: I912ba6b721ff8495566b8ba177a3eaa883f771a3\n"
    },
    {
      "commit": "9289bde5b9583a8c757bed4041238649aa146378",
      "tree": "a274b597596e4da75b37b1d7d54dbccb19f9202e",
      "parents": [
        "242cf3379de223e0ae5c9ceeba05e6a397b44e2d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 18 12:49:17 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 18 14:50:44 2020 -0700"
      },
      "message": "AudioFlinger: Check Effect HAL version for device effect compatibility\n\nAdd missing check on Effect HAL version to determine if an\nimplementaiton supports device effects. Only HALs after V 6.0\nsupport this feature.\n\nBug: 164077570\nTest: atest DeviceEffectTest#testCreateDeviceEffect\nChange-Id: I9a72ed92a07099e9bad10cdf4474c7b918dce121\n"
    },
    {
      "commit": "ed8688022959f9ef137be1b476fb8730be82a7dc",
      "tree": "8c0baddb4e3430d2b4e9b64f25d2c5d9cb00d50a",
      "parents": [
        "7a0123c6e62870f3a3e4ae9daa625e1a2a78d30c"
      ],
      "author": {
        "name": "Jaideep Sharma",
        "email": "jaidshar@codeaurora.org",
        "time": "Fri Aug 07 14:09:16 2020 +0530"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Aug 18 20:44:57 2020 +0000"
      },
      "message": "audioflinger: Remove effect from hal before closing.\n\n- For non pinned effects, when the handle is removed the effect interface\n  is closed, but this leads to not resetting the state of hal effects.\n  Don\u0027t close the interface from here, as it will be handled in\n  subsequent removeEffect_l.\n\n- Clean up code related to removeHandle_l.\n\nCRs-Fixed: 2746289\nBug: 163285058\nTest: Solo tester with effects\nChange-Id: I2a9b35f5f73e535afd4fe77823b9a8ba16271685\n"
    },
    {
      "commit": "7c11c55958faf7fadcf0ec504c6679d8febcb158",
      "tree": "556c8e09feafcc3af9612f374ad891cb5fd59a25",
      "parents": [
        "d100fa2bca15d10766c414e9449fd3aa1a7f50b7",
        "9cd898172de61db05bc49b93d5d8f822bc2fa6f5"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Tue Aug 18 16:41:31 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 18 16:41:31 2020 +0000"
      },
      "message": "Merge changes from topic \"manual2aidl\"\n\n* changes:\n  Convert IEffect and IEffectClient to AIDL\n  Add a standardized shared memory type\n"
    },
    {
      "commit": "d100fa2bca15d10766c414e9449fd3aa1a7f50b7",
      "tree": "2ec18904f6b783f54d80f19fb385395a0da7a654",
      "parents": [
        "1d9dfee75d919d40de395c01dab67590a1b15807",
        "706442716f0a40181e571df1b33dd9d91a852d63"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 18 16:17:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 16:17:07 2020 +0000"
      },
      "message": "Merge \"Remove ununsed #include.\" am: 62eef9adb8 am: 34a6953ffd am: 98749a0c37 am: 9cb4734a38 am: 706442716f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1402731\n\nChange-Id: I6f1868705eab25d4c893093142798c6c84da41d9\n"
    },
    {
      "commit": "98749a0c37174d8a87a88419876d0c426df4c2df",
      "tree": "1110646c4dbda36b4af21a462f7fc1304626f7df",
      "parents": [
        "f917fa30ab27632ec006ea52165fb7fd30a93349",
        "34a6953ffd6a7e92426583353f52b5ee33b16c64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 18 15:32:04 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 18 15:32:04 2020 +0000"
      },
      "message": "Merge \"Remove ununsed #include.\" am: 62eef9adb8 am: 34a6953ffd\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1402731\n\nChange-Id: I32671d6c81abfe709ee04524e7c636c9803932b5\n"
    },
    {
      "commit": "18d1ffa0188938f20f7d0f8385401049427311c8",
      "tree": "be3e96af9fbdbcc2b1cbc3780325a55b263d198e",
      "parents": [
        "8debb9f333ed410669e3acbd0fb5cb7d694a2bad"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 17 15:58:01 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 17 15:58:01 2020 -0700"
      },
      "message": "Remove ununsed #include.\n\nThe header isn\u0027t useful anyway --- new code should just use\nstatic_assert directly.\n\nTest: treehugger\nChange-Id: I85fd0271870342dafea5c33b8df07d8d2c5371d9\n"
    },
    {
      "commit": "9cd898172de61db05bc49b93d5d8f822bc2fa6f5",
      "tree": "6e84e9f40da4f9d9c4a6e3517d7c6b951fd83492",
      "parents": [
        "37934a22fc6159c2cae85fc5b877424d5bf38628"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Jul 01 17:12:06 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Mon Aug 17 11:19:20 2020 -0700"
      },
      "message": "Convert IEffect and IEffectClient to AIDL\n\nThis change replaces the manually-parceled IEffect and IEffectClient\nwith AIDL definitions.\n\nIn addition, this includes a small library that facilitates shared\nmemory regions over AIDL.\n\nBug: 160253486\nTest: Ran effects-related CTS tests. Manual verification of basic\n      audio functionality on Sargo.\n\nChange-Id: I5a9c5f2f24c10072ad5067acc71aa30581af41c1\n"
    },
    {
      "commit": "c9c49cdffb5c344d3ed81f3b4f9575d5b93b83e1",
      "tree": "6edf6d93a7a67eeefe765aa1e1b58097fd13baa2",
      "parents": [
        "6559924d9f035c5707a2a2de0d415cd463e4c831"
      ],
      "author": {
        "name": "yucliu",
        "email": "yucliu@google.com",
        "time": "Mon Jul 13 16:25:21 2020 -0700"
      },
      "committer": {
        "name": "Yuchen Liu",
        "email": "yucliu@google.com",
        "time": "Thu Aug 13 19:08:20 2020 +0000"
      },
      "message": "Add flag DIRECT to track flags for track running on DirectOutputThread\n\nIf the playback thread is DirectOutputThread, add\nAUDIO_OUTPUT_FLAG_DIRECT to the track\u0027s flags. This allows HAL to\nreceive `Flush`, as well as many other control signals, when client\nsends the commands.\n\nBug: 111196161\nTest: On device\nChange-Id: I48fae1e05cfb7aabf53a050c72ec78d18e478b0a\n"
    },
    {
      "commit": "0a488938fa1c1b2b0c02b1c101281c01ff8ed103",
      "tree": "4686aa2bca38cccbbc572bbb75a2bd82d2b9153b",
      "parents": [
        "6a02d53b76d0a3ccb234a3e3d56318883cadd733"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 07 17:32:40 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 12 16:19:35 2020 -0700"
      },
      "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\n"
    },
    {
      "commit": "207254fe39fd9687b206773148dbdd69cfcabd33",
      "tree": "73596b06fb83f3625ad05770c154cc0611f58cf6",
      "parents": [
        "080c5d4dcc68d65408022f50db2214637db8f995",
        "9585fa95cc06988974c10e569f2990b62373efec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 05 22:04:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 22:04:09 2020 +0000"
      },
      "message": "Merge \"Update OWNERS\" am: 8e2fbf6665 am: 588d9b1c07 am: 385de9f023 am: 89d9e3f30d am: 9585fa95cc\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1391639\n\nChange-Id: Id28762b6c03511760623e4314523db384aff9702\n"
    },
    {
      "commit": "385de9f0230a72bd8f72dc650f0e483ff3895a8b",
      "tree": "95a5fac3e2a0b2c5924e827a7b2f5d2f9d593913",
      "parents": [
        "3ece0964200c8e0e7c3aa371dd8a47ce578bdf22",
        "588d9b1c07ec0363b6bfaf982f00afd1ba35bd68"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 05 21:00:37 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 05 21:00:37 2020 +0000"
      },
      "message": "Merge \"Update OWNERS\" am: 8e2fbf6665 am: 588d9b1c07\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1391639\n\nChange-Id: I92ce762ac562acd9c2c6c420761111f6ae14ce0f\n"
    },
    {
      "commit": "2c7d0d39443ac8e64987d3a73a6d8b20da1ed807",
      "tree": "e8a2a325299fa4b9024ca8fbbd07af9129f99daa",
      "parents": [
        "70e96c8d72768b76314a77a7d7b37157fb7f1ae4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 15 14:18:59 2020 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 05 10:04:47 2020 -0700"
      },
      "message": "Update OWNERS\n\nTest: N/A\nChange-Id: I2d34e3c05e99191ae1d95fd3c5e6557c2b982965\n"
    },
    {
      "commit": "660609e595150aa988b8f92a9841626f407ba900",
      "tree": "b7e96a3dd25d10d1a60c6e77cea9200d37adeb64",
      "parents": [
        "7f1fd94d88517edf0d304b1ef30f50901b50842e",
        "9dae45838b759b4d23df36a7a707890c85b38689"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 04:21:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 04:21:39 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 97937ef8f2 am: fa47739ebe am: 2a9274cd2c am: e98479eb76 am: 9dae45838b\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1385922\n\nChange-Id: I680cc43da8a4d19ac1f9bd8bf6b14489395bc223\n"
    },
    {
      "commit": "2a9274cd2c815d9992527f7b8a4c1d75cc372057",
      "tree": "bde10f8015bbee45ba8d139117e8350abb0946c4",
      "parents": [
        "7c9913d5d5a35242a617ccb82ba4659e777ee007",
        "fa47739ebe4049c51f01b5e86ab40204cf1a27fd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 03:07:41 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 03:07:41 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 97937ef8f2 am: fa47739ebe\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1385922\n\nChange-Id: I387370424b74c3414cad6796bdf311577c47fe91\n"
    },
    {
      "commit": "a2f59b339b498d38224cb807782f0b59d4378e91",
      "tree": "ec12fb4788066f863a47993818845bdcce08711d",
      "parents": [
        "1fc724e954b4b0384ae12b095424214754c15d94"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 03 16:37:24 2020 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 00:13:45 2020 +0000"
      },
      "message": "Update language to comply with Android\u0027s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for reference\n\nBug: 161896447\nTest: N/A\nChange-Id: I7cc02d672a35025650a515247d268693b8bc2dc5\n"
    },
    {
      "commit": "9e8975aa03b755597fdd8fdd5fb97a78ca25041e",
      "tree": "da987ab582fe0636edb8b45e64c2c6cb3378b355",
      "parents": [
        "105f5d5e590efe8dd14e6dad8823ad2a98f584c4",
        "0f51e75f9ff7a53dbe75621ae9e4f9c8fa0d79ee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 21:44:51 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 29 21:44:51 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: f01d4b506e am: 44b968a27f am: 5b535029d6 am: 7e83ed80cd am: 0f51e75f9f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1375338\n\nChange-Id: Icea3fbc30426002144770292324a9778af027dae\n"
    },
    {
      "commit": "3ff74ec2143ad430507f4965c9ccdb15b8a2e1e2",
      "tree": "9867f5f00d0f4c10af7c55f049ba777937b550b5",
      "parents": [
        "574c30bea770bb17f8c55a8e0f5a358fe13d99e2",
        "4ad31c7f45584d634f9e5e2f9a4ade0577beb534"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 21:44:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 29 21:44:06 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 0be1ec5c17 am: 89a55225f4 am: 9e5ee290c2 am: 1d9684cf32 am: 4ad31c7f45\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1375378\n\nChange-Id: Ia8dfc6e5ed0839aed6798efc0e6f0f5f9f7ff5e2\n"
    },
    {
      "commit": "5b535029d68f4cad8f9e52555797c5aeabca4efa",
      "tree": "bdd5a5fce8d43df80d2daf8e5ca12bbe263137ea",
      "parents": [
        "a9f3bab948da4e66d62ab4dfa7a32e266401773b",
        "44b968a27f79e690d417fcd203ba4897ca671d8d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 20:41:25 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 29 20:41:25 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: f01d4b506e am: 44b968a27f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1375338\n\nChange-Id: Iefe7989f9cce555fb4950308cbf4e3be9dd6490a\n"
    },
    {
      "commit": "9e5ee290c2d33a0043d82f620ecb2616bbeb716b",
      "tree": "13a03de25f49946a2e6e03d9db65889885ca4bef",
      "parents": [
        "0a30ce1b6152e42f6d972b14471d610ebfc5003c",
        "89a55225f4d5697d10ae5516c71713306dcb8f64"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 20:41:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 29 20:41:14 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 0be1ec5c17 am: 89a55225f4\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1375378\n\nChange-Id: Icd8387718c8dc61e40e79e483f5d861a972c9f23\n"
    },
    {
      "commit": "f01d4b506ec02edb2434ffb2a37f6b5d961fc025",
      "tree": "7a8c5966d6ff39ba75c086222ce39c926e94f3cb",
      "parents": [
        "a65bd73c393883bfc58d7ec1e7b535ec2813d3e8",
        "8fd6912545881ecc4dcf28d9346c06629c237a6d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 17:35:42 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 29 17:35:42 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\""
    },
    {
      "commit": "8fd6912545881ecc4dcf28d9346c06629c237a6d",
      "tree": "b14ece1920cef6862f892280347a473d30f86cea",
      "parents": [
        "b1f872ad712cfc0a08d81b17eb01c6b8548eed6d"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Jul 28 22:16:40 2020 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Jul 28 22:16:51 2020 +0000"
      },
      "message": "Update language to comply with Android\u0027s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for reference\n\n \nBUG\u003d161896447\n\nChange-Id: I6977495a75360d5102486c1ce80736576ca7ff43\n"
    },
    {
      "commit": "60766085dcad675bee50a08ec008e4714a6369d5",
      "tree": "036edddfa4d16a589eba531e798cff9b1dc4d71d",
      "parents": [
        "b1f872ad712cfc0a08d81b17eb01c6b8548eed6d"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Jul 28 22:03:56 2020 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Jul 28 22:04:01 2020 +0000"
      },
      "message": "Update language to comply with Android\u0027s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for reference\n\n \nBUG\u003d161896447\n\nChange-Id: Iad0bd7ca8c0a804129e6b8759336a0a652a4f0b0\n"
    },
    {
      "commit": "e70bc7fc5910583a4495e3c7f96cf5cad4b947a2",
      "tree": "a86c77b36f12df749cc41a4b9ebc3e8cc12a8b02",
      "parents": [
        "eb3bda06752f9539db64f289039968f8395bf9f5"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Jun 30 22:07:55 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Jul 17 14:52:16 2020 -0700"
      },
      "message": "Support scaling haptic data in HapticGenerator\n\nMove function of scaling haptic data from AudioMixer to vibrator\nlibrary. Scaling haptic data in HapticGenerator according to the haptic\nintensity.\n\nBug: 136490803\nTest: play audio-coupled-haptic files\nTest: play audio with HapticGenerator effect\nChange-Id: I6bac63c085332ea87cc6612a8f2f368ad7ef7826\n"
    },
    {
      "commit": "eb3bda06752f9539db64f289039968f8395bf9f5",
      "tree": "5140c44fa37f9a7f6063c72db17624d4289c3e31",
      "parents": [
        "98b8a370059a1e142f3eed4bafdcc9b1e0b230fd"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Jun 30 14:07:03 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Jul 17 14:34:29 2020 -0700"
      },
      "message": "Force selecting haptic supported thread when creating HapticGenerator.\n\nHapticGenerator is the haptic-generating effect, which will generate\nhaptic data based on audio data. As haptic data will be truncated on\nnon-haptic supported thread, HapticGenerator makes sense only on haptic\nsupported thread. In that case, force selecting haptic supported thread\nwhen creating HapticGenerator. If there is no thread supporting haptics\nchannel, return a failure.\n\nBug: 136490803\nTest: make, manually\nChange-Id: I865d211c613c793d75d23f5d10c9a01d294fdc36\n"
    },
    {
      "commit": "c0fc041ddb3a9cb379403083a72a262e9283125d",
      "tree": "37e1512196015d3e50e618b70afc7a9a18a9d9fc",
      "parents": [
        "85f96074b1751d5bb671b46470ee982d965121ae",
        "c8ab37b6c6666ab6d69a4c028b7efd3241c754eb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 01 22:20:58 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 01 22:20:58 2020 +0000"
      },
      "message": "Merge \"Revert \"Force DIRECT flag on direct output thread.\"\" into rvc-dev am: 16c41dd97f am: 2256838714 am: 93a4b15097 am: c8ab37b6c6\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12059582\n\nChange-Id: I433726242391016f6b408214ee7a333db3d7a08f\n"
    },
    {
      "commit": "93a4b15097a5df0ff0ced1d326eb3bf873509cdb",
      "tree": "c61b65121dbd72ba6a09d5cae6730bc41f5f4e33",
      "parents": [
        "36c862a532b69b299106a5cf2a71814389b7931a",
        "22568387142d764a0653493809a6c79d2813760a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 01 21:43:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 01 21:43:19 2020 +0000"
      },
      "message": "Merge \"Revert \"Force DIRECT flag on direct output thread.\"\" into rvc-dev am: 16c41dd97f am: 2256838714\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12059582\n\nChange-Id: I964ca35c2e0abba151b48a0ff25ade25fb1bec31\n"
    },
    {
      "commit": "40eb0159372c16376a0755e5b86a3f7586fc3294",
      "tree": "c61b65121dbd72ba6a09d5cae6730bc41f5f4e33",
      "parents": [
        "f62ee0193ef91d52c36cc48e62e959720b9ad0f1",
        "16c41dd97f4c0728b8135773e3289c63e37a20f2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 01 21:31:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 01 21:31:23 2020 +0000"
      },
      "message": "Merge \"Revert \"Force DIRECT flag on direct output thread.\"\" into rvc-dev am: 16c41dd97f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12059582\n\nChange-Id: Ife0a72e4b17c96c39c743be8ed75a52fbe66c2f6\n"
    },
    {
      "commit": "16c41dd97f4c0728b8135773e3289c63e37a20f2",
      "tree": "9d80dc255c81bb2515ee6169ee55455ac539cb8c",
      "parents": [
        "2038329cf5ec113112ba67c205fb6d890be788c1",
        "c435e5f936374098c485a77123cddda8c4f4ea52"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 01 21:16:42 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 21:16:42 2020 +0000"
      },
      "message": "Merge \"Revert \"Force DIRECT flag on direct output thread.\"\" into rvc-dev"
    },
    {
      "commit": "c435e5f936374098c485a77123cddda8c4f4ea52",
      "tree": "ae20e4e48fc2ccda1611c3010b378e4dc34b2e63",
      "parents": [
        "f7667505a23d017d984e03fbb71a6fc28be34449"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 01 15:13:17 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jul 01 16:56:33 2020 +0000"
      },
      "message": "Revert \"Force DIRECT flag on direct output thread.\"\n\nThis reverts commit f7667505a23d017d984e03fbb71a6fc28be34449.\n\nReason for revert: b/160316553\n\nBug: 130296239\nBug: 160316553\nChange-Id: Ib1d3a9bbbba66455585e0c4a2826f3c05263334e\n"
    },
    {
      "commit": "c0b7da80416bb6ce1dd1bb1809bfa71f88320a5b",
      "tree": "e5b5d3b80ed3994350dbf3f39e8ded552c637ee3",
      "parents": [
        "3b19f5a3c73c3809bb909069bbc0ff4d2d695298",
        "3b8af70d026e8a4ef7f73ecaef45e07a02c974b7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Jul 01 16:36:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 01 16:36:14 2020 +0000"
      },
      "message": "Merge \"Include what you use: \u003ccutils/bitops.h\u003e for popcount\" am: 48ac45e0e8 am: 8beb417636 am: 2d970888a3 am: 2f13acc6b5 am: 3b8af70d02\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1353586\n\nChange-Id: I7b6ff6dfd6742976dff13254dd686b5083d71085\n"
    },
    {
      "commit": "2d970888a3440fd4e5bf769a8da372c5317f4231",
      "tree": "00b9c60616f6827bc7ef90d6a0bd169b86f99665",
      "parents": [
        "e67841bed62ee078b5456df93a4978996e694f94",
        "8beb417636108658b5843a54650504fec22ed5de"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Jul 01 15:49:11 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 01 15:49:11 2020 +0000"
      },
      "message": "Merge \"Include what you use: \u003ccutils/bitops.h\u003e for popcount\" am: 48ac45e0e8 am: 8beb417636\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1353586\n\nChange-Id: I91d2ae019eced64a560602b90b03165c4a7c82c8\n"
    },
    {
      "commit": "c9a2367f660473fbf1b47b2ae46098ae337f89f2",
      "tree": "cd56d5ba761c0795d6dfd4cb8c5f467ea8b8b62d",
      "parents": [
        "c1d40b64b1ee652f173153fb2520201bbed56679"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 30 12:12:42 2020 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 30 12:12:42 2020 -0700"
      },
      "message": "Include what you use: \u003ccutils/bitops.h\u003e for popcount\n\nTest: builds OK\nChange-Id: I46e27589936415dbf5da5722cd4132002c076c99\n"
    },
    {
      "commit": "a6854ee410c9935564f4beaf900fb61f76f518c3",
      "tree": "8dc3a8630b4376e77fef047c0d515500252fec28",
      "parents": [
        "757ba90f97637068f5162c85833f30127d3df2ea",
        "d7828092ec2ed8dbb1955a76d1ca2757548b9ec7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 23 01:14:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 23 01:14:29 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix spurious underrun logging\" into rvc-dev am: 54cc1e3c43 am: 43fd672bd7 am: 19fa75e682 am: d7828092ec\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11956760\n\nChange-Id: I622266bee6697fa359ecc77125abcd277852e063\n"
    },
    {
      "commit": "19fa75e6821383146b7be540e3a7264131fb2fc7",
      "tree": "4aeae0bf5c738066fa4bae84e3a5a48bef824d21",
      "parents": [
        "5c029e5511f5de207c691945eab0675714b7431a",
        "43fd672bd7cfd9eef13012c545ad4630d12e325c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 23 00:42:30 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 23 00:42:30 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix spurious underrun logging\" into rvc-dev am: 54cc1e3c43 am: 43fd672bd7\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11956760\n\nChange-Id: Iabdf6f2c67f14ad564cdc3c0eba2fd5586fca6af\n"
    },
    {
      "commit": "e7c9e2681723fdf8f96bad7c54409fcf391e580e",
      "tree": "4aeae0bf5c738066fa4bae84e3a5a48bef824d21",
      "parents": [
        "e3f98976d7153953dd298bf6b91a79b358d2d38b",
        "54cc1e3c434ab84d623d558db19679f37bb60142"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 23 00:22:33 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 23 00:22:33 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix spurious underrun logging\" into rvc-dev am: 54cc1e3c43\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11956760\n\nChange-Id: I1ef21ef3c974fd4d96df28102e9ae6e8a0a9895a\n"
    },
    {
      "commit": "fc62917d0adf02637011960ecd2ac0c3d20317a7",
      "tree": "7e9350c96601dca8ed5391324009e0d3b1fbb819",
      "parents": [
        "f3f98cc259b9ab73a1069e0a9bb63b3de8288dab"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 22 10:06:23 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 22 10:41:48 2020 -0700"
      },
      "message": "AudioFlinger: Fix spurious underrun logging\n\nRemoves false positive errors in metrics and debugging.\n\nTest: Play Music, check underruns\nBug: 159620406\nChange-Id: I008381bbf3aae13c0fe8289a0eeec47b7780e587\n"
    },
    {
      "commit": "4c75ca3755fdb9d3f9db2d3542dcd723150cec2b",
      "tree": "63df573ddd25366d4583d776357529511d1cae0a",
      "parents": [
        "75dc68954e41e9148d861d94c195e412e2d9dc86",
        "a04c5c37b227f10650d5f90b61825368e5400a5b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 00:56:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 18 00:56:35 2020 +0000"
      },
      "message": "Revert \"audio: allow standby for direct track\" am: eeb744f5f9 am: a19e52def2 am: 039ab6908d am: a04c5c37b2\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11901472\n\nChange-Id: I3860293592fe15f67acd04661282b1ce80622528\n"
    },
    {
      "commit": "a19e52def2419b191b1021171e226856441a4fd2",
      "tree": "3e0cfb7225614beee94de19fbcfb80b2f36b4451",
      "parents": [
        "612623f9301edf7df0c86090042d20a68d9d3963",
        "eeb744f5f985ab272552e1f1a0e5c553a50f5f65"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 00:24:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 18 00:24:31 2020 +0000"
      },
      "message": "Revert \"audio: allow standby for direct track\" am: eeb744f5f9\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11901472\n\nChange-Id: Ic27f77bea74dd628a34aa0838a3bfbd47af90f4b\n"
    },
    {
      "commit": "eeb744f5f985ab272552e1f1a0e5c553a50f5f65",
      "tree": "540f8005c5da017fe84777c3b13e98dba5c1629e",
      "parents": [
        "e28883fe1be2f291516adb167ff0dc4367f8adf5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 17 11:10:04 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 17 15:39:57 2020 -0700"
      },
      "message": "Revert \"audio: allow standby for direct track\"\n\nThis reverts commit 9cd7ad101315e0bff4c5f171706c6f80c7e22644.\n\nPrior CL allows Direct PCM tracks to enter standby on pause\nwhich unfortunately causes timestamp frame position to reset to 0.\n\nTest: Audio sanity test\nTest: Verified in bug to remove the regression above.\nBug: 157609403\nChange-Id: I5e0d43a0e50981a300bc05711b71efe0b7e22f98\n"
    },
    {
      "commit": "c31abe46cb5f4b671ca56015c64b17eb3dc3cce2",
      "tree": "ef999ff57b474a76c3ee45b8d88661c25cce55c5",
      "parents": [
        "04830d70120875938430fcf1c66e227297319c04",
        "a476d2f4ab32a2f2386105f96cf6529ef826569b"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Wed Jun 17 02:15:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 17 02:15:23 2020 +0000"
      },
      "message": "Merge \"Adding sanity checks for invalid frame sizes\" into rvc-dev am: d36b149191 am: 810d91562b am: 9fc8fccc36 am: a476d2f4ab\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11851234\n\nChange-Id: Ifb531402bfc3a0b49a0299b3690afa70d81ce4e9\n"
    },
    {
      "commit": "810d91562b9196e6b7e8b97d5e024910965c742b",
      "tree": "775958d67b58efb1335f9a609193814ee8a214d0",
      "parents": [
        "80fcaeecbeaf8c1c96239c798859ba1fbc98f8b2",
        "d36b1491911b73cba7aec2164e2d4b2d333ed243"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Wed Jun 17 01:15:30 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 17 01:15:30 2020 +0000"
      },
      "message": "Merge \"Adding sanity checks for invalid frame sizes\" into rvc-dev am: d36b149191\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11851234\n\nChange-Id: I247c99e417a48a3f751d561d21c5c0371113e5ab\n"
    },
    {
      "commit": "1a89ab3cbe122a8de9c8e001536afef8cd15f28e",
      "tree": "2f50130862b83f92dbd63a02496c2e6f18d8376c",
      "parents": [
        "19d51164324653a7312c6d7bc0fd0ac43d581503"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Fri Jun 12 11:05:47 2020 -0700"
      },
      "committer": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Mon Jun 15 14:23:45 2020 -0700"
      },
      "message": "Adding sanity checks for invalid frame sizes\n\nInvalid frame size can cause the audio server to crash due to a\ndivide-by-zero error. Adding sanity checks to make that issue easier to\ndiagnose.\n\nBug: 155646578\nTest: Ran CarAudioManagerSystemTest suite which was encountering the\nerror\n\nChange-Id: Ibc5b8e13738eb8957d21509b7f87ddaf3115cd4a\n"
    },
    {
      "commit": "730d123df5c1b484bfe3b3e99322134e4efb4c53",
      "tree": "b53e9cd548e1ff920e5aea76ea35ce0d5f4b2deb",
      "parents": [
        "de60f064ae0fbcf59ad2c00656eb9b82408d278b",
        "6038bbe5d2852ded39700e98499789a27e839e73"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 12 19:51:08 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 12 19:51:08 2020 +0000"
      },
      "message": "MediaMetrics: Prepare audio device usage protos for statsd am: a629bd13e9 am: 91dcb74b24 am: e97fe1bb2f am: 6038bbe5d2\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11835151\n\nChange-Id: Ia2fd907efbfd448fcef47c0543d287feabcb27c9\n"
    },
    {
      "commit": "e97fe1bb2f76ff9a1bc04a292dc117712f8c21f7",
      "tree": "8563dcb399d7d4eec4fc0940348281f2c5ca3242",
      "parents": [
        "80a1fdc4072da2cb596cc3a38361c3dd23664c1d",
        "91dcb74b24fa28658baba13a1658d2ecbeca065d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 12 19:20:16 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 12 19:20:16 2020 +0000"
      },
      "message": "MediaMetrics: Prepare audio device usage protos for statsd am: a629bd13e9 am: 91dcb74b24\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11835151\n\nChange-Id: I16c8e24115d1ae0dd2fe7f943af3a5d3fd1d82aa\n"
    },
    {
      "commit": "5999b5312e9dc6f18de3e57121211912d10f14cb",
      "tree": "8563dcb399d7d4eec4fc0940348281f2c5ca3242",
      "parents": [
        "ba4d13feda7171d4092fb1f18d45641b6f509d2e",
        "a629bd13e9f224b8472365135757f0676636f8e2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 12 19:13:54 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 12 19:13:54 2020 +0000"
      },
      "message": "MediaMetrics: Prepare audio device usage protos for statsd am: a629bd13e9\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11835151\n\nChange-Id: I9eb72d452e16ec1fa4bac333dadf61a49029226d\n"
    },
    {
      "commit": "a629bd13e9f224b8472365135757f0676636f8e2",
      "tree": "4bdce444fd726634f20803fd279ab254a478c262",
      "parents": [
        "752adf7f1a340cbb6599fcff1842cf3659c75612"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 16:03:53 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 12 10:43:37 2020 -0700"
      },
      "message": "MediaMetrics: Prepare audio device usage protos for statsd\n\nMediaMetricsAudioRecordDeviceUsageReported\nMediaMetricsAudioThreadDeviceUsageReported\nMediaMetricsAudioTrackDeviceUsageReported\nMediaMetricsAudioDeviceConnectionReported\n\nAdd track traits to identify static AudioTracks.\nFix AudioTrack/AudioRecord flag communication.\nMove debug logging to verbose (delivered protos show in dumpsys).\nUnknown strings which fail validation become empty.\nTest statsd type validation.\n\nTest: atest mediametrics_tests\nTest: adb shell dumpsys media.metrics (after BT connection)\nTest: statsd_testdrive (294-297)\nBug: 149850236\nChange-Id: I53c5d18a346af54941007b9938a8ab10e34b7038\n"
    },
    {
      "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": "b5f23bc69dcf2ad145f9c647246983eac7ef873b",
      "tree": "b70f35d9112b225328bdc0edf07de63998c5218a",
      "parents": [
        "ac739dc9ebfd9c58e0ab2af19f6144f24080372b",
        "2db025067669613aaef043e6471d7035925e4df0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 05:13:53 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 05 05:13:53 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix read timestamp if HAL returns error\" into rvc-dev am: 2db0250676\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11722687\n\nChange-Id: I83702234cd71cc2d194af4e1edaf5943cfe080a3\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": "3c726ad0ef8a452a83db4634f2b141d8e60eeaa7",
      "tree": "9e7125ca1f513f0b92ee5b44b09fee4fd7b66f21",
      "parents": [
        "87d6ead1bf25bd53c0eeab936365e0e84bdc2367",
        "044eaa62c79775870cbf08e323b152752edcfb9d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 02 20:55:28 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 02 20:55:28 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: fix fast capture silence\" into rvc-dev am: 044eaa62c7\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11671291\n\nChange-Id: I71ec34d86f122c9aa9661824ffc7055abf006045\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": "1bae16265e1efddc7f00ed5127825faaa52e4ef0",
      "tree": "9ff99290c57635e25ef9eb64bd7e908974f95b55",
      "parents": [
        "0ef65c415fa31d98c6d6ad4f2321d5b14e50cf32",
        "3fdcc3469075ce68a9e419409819a605dea220d6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 28 02:21:04 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 28 02:21:04 2020 +0000"
      },
      "message": "Merge \"Tracks: Stabilize the latency/startup metrics for BT\" into rvc-dev am: 3fdcc34690\n\nChange-Id: I9f63aa4309a2fd9f5b818b0e18ccc93f604dee20\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": "22f0faf9df1263e3a2f0b2e2e8f9e90aa5a3486e",
      "tree": "5dfdb71a446e06bd15bbe5517dc0f570d5e9c583",
      "parents": [
        "bf2645b08151794257a8b7ab626cada9b87412c9",
        "488d5005012a06e81aaa934d42d83e702ca77734"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 15 20:17:25 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 15 20:17:25 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: fix getMicrophones implementation\""
    },
    {
      "commit": "bf2645b08151794257a8b7ab626cada9b87412c9",
      "tree": "eec776126a4bbd7bf00fa0fec909c2e0dffef85d",
      "parents": [
        "83a70b05ba1075760fd3f5f05b51bd0269c88d20",
        "a135dd88ab90c5e3ca12ec91ced6c88d13152dcc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 15 20:16:17 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 15 20:16:17 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: mute mic on primary HAL only\""
    },
    {
      "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": "488d5005012a06e81aaa934d42d83e702ca77734",
      "tree": "f7a2a40da5ca3c348f3a95c12ea7be93f65b23fc",
      "parents": [
        "a135dd88ab90c5e3ca12ec91ced6c88d13152dcc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 14 09:13:30 2020 -0700"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Thu May 14 09:17:41 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\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nMerged-In: I7c9449bb705a6fbebdc0642166e58348d47b7ee8\nChange-Id: I1c2e1cbfdb16c408c7368e2e51838c299c22ec7b\n"
    },
    {
      "commit": "a135dd88ab90c5e3ca12ec91ced6c88d13152dcc",
      "tree": "001f238818d7866362663526918e86dc2e238bde",
      "parents": [
        "3ec7c256a8e5f5e3ec1dd1338fbc005838c2ff60"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 14 09:07:39 2020 -0700"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Thu May 14 09:16:32 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.\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nMerged-In: Ic121c49e7e7cd75eeee9342249271c7fca7c1c2a\nChange-Id: Icde20a0da2e10eb1b7ac17b4a901d27fe0dca9c6\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"
    }
  ],
  "next": "5811ac80806d38d1fee168ec332387e0d8adbd99"
}
