)]}'
{
  "log": [
    {
      "commit": "63a3583a3b22bdbb4fbc4a6a707185ff4da86179",
      "tree": "8724fd922744d5ff696400d36c4e704f9659da67",
      "parents": [
        "8735d0dd6c72eb605e70adf151f4b72055ac6008"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Mar 16 17:30:09 2021 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 19 08:45:13 2021 -0700"
      },
      "message": "AudioTrack: get/setStartThresholdInFrames\n\nsetStartThresholdInFrames is used to set the start threshold\nin frames for streaming AudioTrack playback.\nNormally this is the entire buffer capacity in frames\nbut may be reduced for low latency playback,\ncompressed formats, and direct tracks.\n\nTest: atest AudioTrackTest#testStartThresholdInFrames\nTest: atest AudioTrackTest#testStartThresholdInFramesExceptions\nBug: 183003720\nMerged-In: Iae10764130160de2380477134df27c5b139468bc\nChange-Id: Iae10764130160de2380477134df27c5b139468bc\n"
    },
    {
      "commit": "8735d0dd6c72eb605e70adf151f4b72055ac6008",
      "tree": "42869af89e5da6b543541f0060e68e28ff2bbf2f",
      "parents": [
        "85f5f276263b634ed03750c8619f67eff1a5b83d"
      ],
      "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": "Fri Mar 19 00:14:42 2021 -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.\nMerged-In: I3b04999a29d85a91b54734514cfa93bc93f55c33\nChange-Id: I3b04999a29d85a91b54734514cfa93bc93f55c33\n"
    },
    {
      "commit": "6a08a9293b732532e98607d41a42bc06a52e8184",
      "tree": "a33a0ab6ffb3cf820c22f1a9ee53d2001dfaf9bb",
      "parents": [
        "ad9882e76f9debbd2ada2b616d5f51b8908ed764",
        "0c3f0588700228d4d81dded56480d14857e1b2cd"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Sun Feb 21 09:25:04 2021 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Sun Feb 21 09:25:04 2021 -0800"
      },
      "message": "Merge ab/7061308 into stage.\n\nBug: 180401296\nMerged-In: Iffdea341e5cd3cc2ef82e1b9c0adf211b3c29381\nChange-Id: I9e0e28ec101bde3ee24c946e9fb5c11b1cceba64\n"
    },
    {
      "commit": "948e6aace91d16acfaa97763c7228029a1c2afe0",
      "tree": "e1213aacab8f21fd8bf9dcd02dbc82741013379f",
      "parents": [
        "367398038247b09a3f92e05affac5f9b1f5e2f90"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 21:02:31 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 04:09:57 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/av\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  apex/Android.bp\n  camera/cameraserver/Android.bp\n  camera/tests/Android.mk\n  cmds/screenrecord/Android.bp\n  cmds/stagefright/Android.mk\n  drm/common/Android.bp\n  drm/drmserver/Android.bp\n  drm/libdrmframework/Android.bp\n  drm/libdrmframework/plugins/common/util/Android.bp\n  drm/libdrmframework/plugins/forward-lock/FwdLockEngine/Android.bp\n  drm/libdrmframework/plugins/forward-lock/internal-format/common/Android.bp\n  drm/libdrmframework/plugins/forward-lock/internal-format/converter/Android.bp\n  drm/libdrmframework/plugins/forward-lock/internal-format/decoder/Android.bp\n  drm/libdrmframework/plugins/passthru/Android.bp\n  drm/libmediadrm/Android.bp\n  drm/libmediadrm/fuzzer/Android.bp\n  drm/libmediadrm/protos/Android.bp\n  drm/libmediadrm/tests/Android.bp\n  drm/mediacas/plugins/clearkey/Android.bp\n  drm/mediacas/plugins/clearkey/tests/Android.bp\n  drm/mediacas/plugins/mock/Android.bp\n  drm/mediadrm/plugins/clearkey/common/Android.bp\n  drm/mediadrm/plugins/clearkey/default/Android.bp\n  drm/mediadrm/plugins/clearkey/default/tests/Android.bp\n  drm/mediadrm/plugins/mock/Android.bp\n  media/audioserver/Android.mk\n  media/bufferpool/1.0/Android.bp\n  media/bufferpool/1.0/vts/Android.bp\n  media/bufferpool/2.0/Android.bp\n  media/bufferpool/2.0/tests/Android.bp\n  media/codec2/components/aac/Android.bp\n  media/codec2/components/amr_nb_wb/Android.bp\n  media/codec2/components/aom/Android.bp\n  media/codec2/components/avc/Android.bp\n  media/codec2/components/base/Android.bp\n  media/codec2/components/cmds/Android.bp\n  media/codec2/components/flac/Android.bp\n  media/codec2/components/g711/Android.bp\n  media/codec2/components/gav1/Android.bp\n  media/codec2/components/gsm/Android.bp\n  media/codec2/components/hevc/Android.bp\n  media/codec2/components/mp3/Android.bp\n  media/codec2/components/mpeg2/Android.bp\n  media/codec2/components/mpeg4_h263/Android.bp\n  media/codec2/components/opus/Android.bp\n  media/codec2/components/raw/Android.bp\n  media/codec2/components/vorbis/Android.bp\n  media/codec2/components/vpx/Android.bp\n  media/codec2/components/xaac/Android.bp\n  media/codec2/core/Android.bp\n  media/codec2/faultinjection/Android.bp\n  media/codec2/fuzzer/Android.bp\n  media/codec2/hidl/1.0/utils/Android.bp\n  media/codec2/hidl/1.0/vts/functional/Android.bp\n  media/codec2/hidl/1.0/vts/functional/audio/Android.bp\n  media/codec2/hidl/1.0/vts/functional/common/Android.bp\n  media/codec2/hidl/1.0/vts/functional/component/Android.bp\n  media/codec2/hidl/1.0/vts/functional/master/Android.bp\n  media/codec2/hidl/1.0/vts/functional/video/Android.bp\n  media/codec2/hidl/1.1/utils/Android.bp\n  media/codec2/hidl/client/Android.bp\n  media/codec2/hidl/services/Android.bp\n  media/codec2/sfplugin/Android.bp\n  media/codec2/sfplugin/tests/Android.bp\n  media/codec2/sfplugin/utils/Android.bp\n  media/codec2/tests/Android.bp\n  media/codec2/vndk/Android.bp\n  media/codecs/amrnb/common/Android.bp\n  media/codecs/amrnb/enc/fuzzer/Android.bp\n  media/codecs/amrnb/fuzzer/Android.bp\n  media/codecs/amrwb/dec/fuzzer/Android.bp\n  media/codecs/amrwb/enc/Android.bp\n  media/codecs/amrwb/enc/SampleCode/Android.bp\n  media/codecs/amrwb/enc/fuzzer/Android.bp\n  media/codecs/amrwb/enc/test/Android.bp\n  media/codecs/g711/decoder/Android.bp\n  media/codecs/g711/fuzzer/Android.bp\n  media/codecs/m4v_h263/dec/Android.bp\n  media/codecs/m4v_h263/dec/test/Android.bp\n  media/codecs/m4v_h263/fuzzer/Android.bp\n  media/codecs/mp3dec/fuzzer/Android.bp\n  media/extractors/Android.bp\n  media/extractors/aac/Android.bp\n  media/extractors/amr/Android.bp\n  media/extractors/flac/Android.bp\n  media/extractors/fuzzers/Android.bp\n  media/extractors/midi/Android.bp\n  media/extractors/mkv/Android.bp\n  media/extractors/mp3/Android.bp\n  media/extractors/mp4/Android.bp\n  media/extractors/mpeg2/Android.bp\n  media/extractors/ogg/Android.bp\n  media/extractors/tests/Android.bp\n  media/extractors/wav/Android.bp\n  media/img_utils/Android.bp\n  media/libaaudio/Android.bp\n  media/libaaudio/examples/Android.bp\n  media/libaaudio/examples/input_monitor/Android.bp\n  media/libaaudio/examples/loopback/Android.bp\n  media/libaaudio/examples/write_sine/Android.bp\n  media/libaaudio/src/Android.bp\n  media/libaaudio/tests/Android.bp\n  media/libaudioclient/Android.bp\n  media/libaudioclient/tests/Android.bp\n  media/libaudiofoundation/Android.bp\n  media/libaudiofoundation/tests/Android.bp\n  media/libaudiohal/Android.bp\n  media/libaudiohal/impl/Android.bp\n  media/libaudioprocessing/Android.bp\n  media/libaudioprocessing/audio-resampler/Android.bp\n  media/libaudioprocessing/tests/Android.bp\n  media/libaudioprocessing/tests/fuzzer/Android.bp\n  media/libcpustats/Android.bp\n  media/libdatasource/Android.bp\n  media/libeffects/config/Android.bp\n  media/libeffects/downmix/Android.bp\n  media/libeffects/downmix/tests/Android.bp\n  media/libeffects/dynamicsproc/Android.bp\n  media/libeffects/factory/Android.bp\n  media/libeffects/loudness/Android.bp\n  media/libeffects/lvm/benchmarks/Android.bp\n  media/libeffects/lvm/lib/Android.bp\n  media/libeffects/lvm/tests/Android.bp\n  media/libeffects/lvm/wrapper/Android.bp\n  media/libeffects/preprocessing/Android.bp\n  media/libeffects/preprocessing/benchmarks/Android.bp\n  media/libeffects/preprocessing/tests/Android.bp\n  media/libeffects/proxy/Android.bp\n  media/libeffects/visualizer/Android.mk\n  media/libheif/Android.bp\n  media/libmedia/Android.bp\n  media/libmedia/tests/codeclist/Android.bp\n  media/libmedia/xsd/Android.bp\n  media/libmedia/xsd/vts/Android.bp\n  media/libmediahelper/Android.bp\n  media/libmediahelper/tests/Android.bp\n  media/libmediametrics/Android.bp\n  media/libmediaplayerservice/Android.bp\n  media/libmediaplayerservice/datasource/Android.bp\n  media/libmediaplayerservice/nuplayer/Android.bp\n  media/libmediaplayerservice/tests/Android.bp\n  media/libmediaplayerservice/tests/stagefrightRecorder/Android.bp\n  media/libmediatranscoding/Android.bp\n  media/libmediatranscoding/tests/Android.bp\n  media/libnbaio/Android.bp\n  media/libnblog/Android.bp\n  media/libstagefright/Android.bp\n  media/libstagefright/bqhelper/Android.bp\n  media/libstagefright/bqhelper/tests/Android.bp\n  media/libstagefright/codecs/aacdec/Android.bp\n  media/libstagefright/codecs/aacenc/Android.bp\n  media/libstagefright/codecs/amrnb/dec/Android.bp\n  media/libstagefright/codecs/amrnb/enc/Android.bp\n  media/libstagefright/codecs/amrwbenc/Android.bp\n  media/libstagefright/codecs/avcdec/Android.bp\n  media/libstagefright/codecs/avcenc/Android.bp\n  media/libstagefright/codecs/common/Android.bp\n  media/libstagefright/codecs/flac/dec/Android.bp\n  media/libstagefright/codecs/flac/enc/Android.bp\n  media/libstagefright/codecs/g711/dec/Android.bp\n  media/libstagefright/codecs/gsm/dec/Android.bp\n  media/libstagefright/codecs/hevcdec/Android.bp\n  media/libstagefright/codecs/m4v_h263/dec/Android.bp\n  media/libstagefright/codecs/m4v_h263/enc/Android.bp\n  media/libstagefright/codecs/mp3dec/Android.bp\n  media/libstagefright/codecs/mpeg2dec/Android.bp\n  media/libstagefright/codecs/on2/dec/Android.bp\n  media/libstagefright/codecs/on2/enc/Android.bp\n  media/libstagefright/codecs/opus/dec/Android.bp\n  media/libstagefright/codecs/raw/Android.bp\n  media/libstagefright/codecs/vorbis/dec/Android.bp\n  media/libstagefright/codecs/xaacdec/Android.bp\n  media/libstagefright/colorconversion/Android.bp\n  media/libstagefright/data/Android.bp\n  media/libstagefright/filters/Android.bp\n  media/libstagefright/flac/dec/Android.bp\n  media/libstagefright/flac/dec/test/Android.bp\n  media/libstagefright/foundation/Android.bp\n  media/libstagefright/foundation/tests/AVCUtils/Android.bp\n  media/libstagefright/foundation/tests/Android.bp\n  media/libstagefright/foundation/tests/OpusHeader/Android.bp\n  media/libstagefright/foundation/tests/colorutils/Android.bp\n  media/libstagefright/http/Android.bp\n  media/libstagefright/httplive/Android.bp\n  media/libstagefright/id3/Android.bp\n  media/libstagefright/id3/test/Android.bp\n  media/libstagefright/mpeg2ts/Android.bp\n  media/libstagefright/mpeg2ts/test/Android.bp\n  media/libstagefright/omx/Android.bp\n  media/libstagefright/omx/tests/Android.bp\n  media/libstagefright/rtsp/Android.bp\n  media/libstagefright/tests/Android.bp\n  media/libstagefright/tests/ESDS/Android.bp\n  media/libstagefright/tests/HEVC/Android.bp\n  media/libstagefright/tests/extractorFactory/Android.bp\n  media/libstagefright/tests/fuzzers/Android.bp\n  media/libstagefright/tests/mediacodec/Android.bp\n  media/libstagefright/tests/metadatautils/Android.bp\n  media/libstagefright/tests/writer/Android.bp\n  media/libstagefright/timedtext/Android.bp\n  media/libstagefright/timedtext/test/Android.bp\n  media/libstagefright/webm/Android.bp\n  media/libstagefright/webm/tests/Android.bp\n  media/libstagefright/writer_fuzzers/Android.bp\n  media/libstagefright/xmlparser/Android.bp\n  media/libstagefright/xmlparser/test/Android.bp\n  media/libstagefright/xmlparser/vts/Android.bp\n  media/libwatchdog/Android.bp\n  media/mediaserver/Android.bp\n  media/mtp/Android.bp\n  media/mtp/tests/Android.bp\n  media/tests/benchmark/Android.bp\n  media/tests/benchmark/MediaBenchmarkTest/Android.bp\n  media/tests/benchmark/MediaBenchmarkTest/src/main/cpp/Android.bp\n  media/tests/benchmark/src/native/common/Android.bp\n  media/tests/benchmark/src/native/decoder/Android.bp\n  media/tests/benchmark/src/native/encoder/Android.bp\n  media/tests/benchmark/src/native/extractor/Android.bp\n  media/tests/benchmark/src/native/muxer/Android.bp\n  media/tests/benchmark/tests/Android.bp\n  media/utils/Android.bp\n  media/utils/fuzzers/Android.bp\n  services/audioflinger/Android.bp\n  services/audiopolicy/Android.bp\n  services/audiopolicy/common/Android.bp\n  services/audiopolicy/common/managerdefinitions/Android.bp\n  services/audiopolicy/config/Android.bp\n  services/audiopolicy/engine/common/Android.bp\n  services/audiopolicy/engine/config/Android.bp\n  services/audiopolicy/engine/interface/Android.bp\n  services/audiopolicy/engineconfigurable/Android.bp\n  services/audiopolicy/engineconfigurable/config/Android.bp\n  services/audiopolicy/engineconfigurable/config/example/automotive/Android.bp\n  services/audiopolicy/engineconfigurable/config/example/caremu/Android.bp\n  services/audiopolicy/engineconfigurable/config/example/phone/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.bp\n  services/audiopolicy/engineconfigurable/tools/Android.bp\n  services/audiopolicy/engineconfigurable/wrapper/Android.bp\n  services/audiopolicy/enginedefault/Android.bp\n  services/audiopolicy/enginedefault/config/example/Android.bp\n  services/audiopolicy/manager/Android.mk\n  services/audiopolicy/managerdefault/Android.bp\n  services/audiopolicy/service/Android.mk\n  services/audiopolicy/tests/Android.bp\n  services/camera/libcameraservice/Android.bp\n  services/camera/libcameraservice/fuzzer/Android.bp\n  services/camera/libcameraservice/tests/Android.mk\n  services/mediacodec/Android.bp\n  services/mediacodec/registrant/Android.bp\n  services/mediaextractor/Android.bp\n  services/medialog/Android.bp\n  services/medialog/fuzzer/Android.bp\n  services/mediametrics/Android.bp\n  services/mediametrics/benchmarks/Android.bp\n  services/mediametrics/fuzzer/Android.bp\n  services/mediametrics/tests/Android.bp\n  services/mediaresourcemanager/Android.bp\n  services/mediaresourcemanager/fuzzer/Android.bp\n  services/mediaresourcemanager/test/Android.bp\n  services/mediatranscoding/Android.bp\n  services/mediatranscoding/tests/Android.bp\n  services/minijail/Android.bp\n  services/oboeservice/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  media/codecs/amrnb/dec/Android.bp\n  media/codecs/amrnb/dec/test/Android.bp\n  media/codecs/amrnb/enc/Android.bp\n  media/codecs/amrnb/enc/test/Android.bp\n  media/codecs/amrwb/dec/Android.bp\n  media/codecs/amrwb/dec/test/Android.bp\n  media/codecs/m4v_h263/enc/Android.bp\n  media/codecs/m4v_h263/enc/test/Android.bp\n  media/codecs/mp3dec/Android.bp\n  media/codecs/mp3dec/test/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS\n    legacy_by_exception_only\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\n    SPDX-license-identifier-Unicode-DFS\nto:\n  apex/testing/Android.bp\n  camera/Android.bp\n  camera/ndk/Android.bp\n  media/ndk/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/Car/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/CarEmu/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/Phone/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/SettingsNoInput/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/SettingsNoOutput/Android.bp\n  services/audiopolicy/tests/resources/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 legacy_by_exception_only\nto:\n  drm/mediadrm/plugins/clearkey/hidl/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\n\nChange-Id: I8360756b326b891b56629127091540310851c941\nMerged-in: Ic169757d64ad8da7eebd0e1febdcbfb467fe81f4\nMerged-in: Ifa3fefe5dc12229e8043a54ffd1f3958d6b02310\nMerged-in: I1e32081a069c4c1b25aa200dcdb165c0feb07b8a\nMerged-in: Ib2050becaf89b8e4db5867bc601dedeb4eb8ebd2\nMerged-in: I5a4d51fb1244ed49bcd70e446aaa26e2aa8ed7b1\n"
    },
    {
      "commit": "3bea3a47bf6af84e58eada1964b8590f2727c3dd",
      "tree": "7d24fc611a5341a8aa0e7fde695563c1cb6f8355",
      "parents": [
        "991cfb08051f98b0d28733efda98c96fe1c76e2e"
      ],
      "author": {
        "name": "Kuowei Li",
        "email": "kuowei.li@mediatek.com",
        "time": "Thu Aug 13 14:44:25 2020 +0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 27 19:20:44 2021 -0800"
      },
      "message": "audio: add implementation for TV related API\n\n1. TunerConfiguration.\n2. AudioDescriptionMixLevel getter/setter.\n3. DualMonoMode getter/setter.\n4. PlaybackRate getter/setter.\n\nTest: TIS player with instrumented HAL\nTest: atest AudioTrackTest#testTunerConfiguration\nTest: atest AudioTrackTest#testDualMonoMode\nTest: atest AudioTrackTest#testAudioDescriptionMixLevel\nTest: atest AudioManagerTest#testGetAdditionalOutputDeviceDelay\nBug: 173482792\nMerged-In: Idb22ce6714fa240b2b4b3b8637b16d3a51228fa1\nChange-Id: Idb22ce6714fa240b2b4b3b8637b16d3a51228fa1\n"
    },
    {
      "commit": "8a05eb9a575199813325476dcc3935b7990314f7",
      "tree": "f3415c821c1bea09d7a975a27e7f273b2aa4fcfd",
      "parents": [
        "20c1f934cb5c4ddbb797482f7c347117ee9eda91"
      ],
      "author": {
        "name": "Ayushi Khopkar",
        "email": "ayushi.khopkar@ittiam.com",
        "time": "Wed Jan 06 15:46:18 2021 +0530"
      },
      "committer": {
        "name": "Ayushi Khopkar",
        "email": "ayushi.khopkar@ittiam.com",
        "time": "Wed Jan 13 12:13:33 2021 +0530"
      },
      "message": "libaudioclient: Updated to build both static and shared library\n\nTest: Build libaudioclient\nBug: 174736612\n\nChange-Id: I6acf131603d22e8b3435e0e83b32a0387f0916ea\n"
    },
    {
      "commit": "a3f23cee27a0d94c13de99233399c438843ef1de",
      "tree": "c1c82501a544f1b4885a58d9e4a91f775be507aa",
      "parents": [
        "81429402d87f7de056051e603e811bab32e5c8f1",
        "49bc142eaea22acd5b458d3fda0d16bb435fa314"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 23 09:44:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 23 09:44:49 2020 +0000"
      },
      "message": "Merge \"Revert^2 \"Support device role for capture preset.\"\" am: 05c7bc9e01 am: 49bc142eae\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1534353\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ifbfeae103e4baf6785d769b44b53ec5309eb51cf\n"
    },
    {
      "commit": "6e46824a30f72400949aa91355dd15be64888b43",
      "tree": "17b7fcd36f0eade201af3550a4869f52b19c42f1",
      "parents": [
        "e8a66c66bad62aa5ab4778ce7ac448d563eae335"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Sep 03 17:54:16 2020 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 18:53:55 2020 +0000"
      },
      "message": "Revert^2 \"Support device role for capture preset.\"\n\nSupport set/add/remove/clear/get device role for capture preset. The\ndevice role can be DEVICE_ROLE_PREFERRED and DEVICE_ROLE_DISABLED. The\npreferred and disabled devices can be multiple devices. In this CL,\nonly cache preferred devices in engine but not use for audio routing.\n\nBug: 160352965\nTest: atest AudioServiceHostTest\nTest: atest audiopolicy_tests\n\nChange-Id: I368d562ec2aae68aa239dce75d54ca2772b30e76\nMerged-In: I368d562ec2aae68aa239dce75d54ca2772b30e76\n"
    },
    {
      "commit": "7e3b74149a1f1f4e190fae18bcee7ca7c9d711db",
      "tree": "a3edfc9ea7098c7c13e4d88e195d310c780a409f",
      "parents": [
        "d7bbbd501ce6b5cd646d1cbde29c678c86205b09",
        "2ed262362f00eb5b75fa9279f7695798d7356505"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 17:26:34 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 22 17:26:34 2020 +0000"
      },
      "message": "Merge \"Introduce device(s) role for strategy.\" am: e8a66c66ba am: 2ed262362f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1534352\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I4de8dd00c660eda3c92c4662468520eed6bc3f94\n"
    },
    {
      "commit": "d7bbbd501ce6b5cd646d1cbde29c678c86205b09",
      "tree": "9cf406145e2fe5b6c5a21799f7467fed7da6de88",
      "parents": [
        "c8f7d1b44197147b5f48c0cca88b3e680a3f83d8",
        "7fe4bf069f4b972a20731828e9e3004a818a41d5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 12:13:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 22 12:13:06 2020 +0000"
      },
      "message": "Merge \"Use AudioDeviceTypeAddrVector instead of Vector\u003cAudioDeviceTypeAddr\u003e\" am: 31bdb51946 am: 7fe4bf069f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1534351\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I62f71ae4905769303b3ea59020d0b6ad40e99cd4\n"
    },
    {
      "commit": "4e82621821c5adf1dbd3ef1911fc6a2a0becfbc8",
      "tree": "1de376a468b699ac4fe3f97fac00bc2c62052bda",
      "parents": [
        "c1afe3ba438699122aa2c3a66c3c58e87dd5525b"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 07 17:32:40 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 21 16:28:31 2020 +0100"
      },
      "message": "Introduce device(s) role for strategy.\n\nAdding interface to get/set/removeDevicesRoleForStrategy. The interfaces\nallows to modify the devices\u0027 role, such as preferred, for strategy.\nGet/set/removePreferredDeviceForStrategy is reimplemented by the new\ninterfaces.\n\nTest: atest AudioHostTest\nTest: atest AudioServiceHostTest\nTest: atest AudioServiceTest\nTest: atest audiopolicy_tests\nBug: 160352965\nChange-Id: I0af737542a8599938cae4e142b733159f21ed5a8\nMerged-In: I0af737542a8599938cae4e142b733159f21ed5a8\n"
    },
    {
      "commit": "c1afe3ba438699122aa2c3a66c3c58e87dd5525b",
      "tree": "1c1290b565c6989d90f91b00f6005176e74aa28c",
      "parents": [
        "d295e4b4bdc617ebdeb36deb97cb9597a5e603f1"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 07 11:56:38 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 21 16:28:18 2020 +0100"
      },
      "message": "Use AudioDeviceTypeAddrVector instead of Vector\u003cAudioDeviceTypeAddr\u003e\n\nAudioDeviceTypeAddrVector is std::vector\u003cAudioDeviceTypeAddr\u003e. In that\ncase, it is not needed to use Vector\u003cAudioDeviceTypeAddr\u003e. It is also\nsuggested to use the std::vector instead of Vector.\n\nTest: atest AudioHostTest\nTest: atest AudioServiceHostTest\nTest: atest audiopolicy_tests\nBug: 160352965\nChange-Id: Ibcd91fcba95c53e3c172ae62fc6f30e70509de51\nMerged-In: Ibcd91fcba95c53e3c172ae62fc6f30e70509de51\n"
    },
    {
      "commit": "0daad99906dee7e846863f036d6cf705f1b83665",
      "tree": "c8ad1b681a15ddbdccc69f01f11911eec7c26cf8",
      "parents": [
        "789be02e4c06c14edce66541b88584ad05184b6e",
        "abe2569e0429cd90c4189b460fc377cfbec7daed"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 09 10:21:45 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 09 10:21:45 2020 +0000"
      },
      "message": "Merge \"IAudioPolicyService, IAudioFlinger: check C structs on server side\" into rvc-qpr-dev am: abe2569e04\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13163297\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I1cac4bd1f8d04eb7282ca0ff9b06ad66ead96c5a\n"
    },
    {
      "commit": "2a45115039163601f30e9b87b9ea8f1674713dce",
      "tree": "832db337f9a0ae13d92e58bdafbebb2cbbbe1628",
      "parents": [
        "fff9c8aa87a7c03e063cf6adeb4c63b895b6d145"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 07 13:48:21 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 08 21:52:16 2020 +0100"
      },
      "message": "IAudioPolicyService, IAudioFlinger: check C structs on server side\n\nAdd more checks on C structs received on server side to avoid string\noverflows in particular.\nMove sanitization helpers into a specific class in media helper library.\n\nBug: 169572641\nTest: audio smoke tests\nChange-Id: I89cb840230c85dcdddd5b128f626bb4fe303832a\nMerged-In: I89cb840230c85dcdddd5b128f626bb4fe303832a\n"
    },
    {
      "commit": "49a6d9c78aaa07ab83494d628cc6b7a2386a2b55",
      "tree": "70acc7a3307c66d6ac1b7ee5cc59d88ebfacad34",
      "parents": [
        "9fa7856094a8705be2061e532c36e74d103719b8",
        "55f730f7c1a0b5f963f47fdd65c43609a143f18c"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Dec 02 00:41:55 2020 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Dec 02 00:41:55 2020 -0800"
      },
      "message": "Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855\n\nBug: 172690556\nMerged-In: I72658443fde61aa5f10463fcc42772daf4143ed0\nChange-Id: Ifb9605a1f9407357ddc755551e2d1d51c7f09bfc\n"
    },
    {
      "commit": "8e654fb2bde447d96ffe40edf339fb12a83bafc7",
      "tree": "63d1de06e932b7d5850a2dbe79b2a98e3f795d24",
      "parents": [
        "ef888a66e6fc1013af4b24fed98f48dfb462ef01",
        "c410c10dfa725baf4307312d6c8abd8af02df3c5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 01 18:08:52 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 01 18:08:52 2020 +0000"
      },
      "message": "Merge \"Convert mask types from uint32_t to enum type\" am: 7cd031828f am: c410c10dfa\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1510515\n\nChange-Id: I90c3487ebb936f37eb92bf862205c9bdb5eb1d09\n"
    },
    {
      "commit": "e3b59ac285356dfe1bd416d46672fe0b1f10dc6f",
      "tree": "cc260c7b2867101599cdba75b53b4e0578c7345f",
      "parents": [
        "7aacb78d8d049af5e9949de9fc34be4650b5b176"
      ],
      "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": "Tue Nov 24 22:56:29 2020 +0000"
      },
      "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\nMerged-In: I42506484b1d0b0482618b7314fad4c8012a06fb4\n"
    },
    {
      "commit": "417f2714ff6bd0e38d15684f813e54d8eab85f4a",
      "tree": "2b03e7f7011226e33181801f4124886e920526b4",
      "parents": [
        "9373e4b6d2ea43dfb5a29a5ec78e4cbfc9207804",
        "e0a387421fab08b47352f09c60744747b5b624e4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 17 22:58:42 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 17 22:58:42 2020 +0000"
      },
      "message": "ToneGenerator: add special ringback tone for Taiwan. am: e0a387421f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13065889\n\nChange-Id: I045292d9a22806f5edfcc4118796a3a64dd3654e\n"
    },
    {
      "commit": "e0a387421fab08b47352f09c60744747b5b624e4",
      "tree": "516e71a50ca27c0b640c41a780a2ae5bb5e5ff4a",
      "parents": [
        "ba040555bf46c9fc618cde99b2f4bb12ad951726"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 16 15:02:27 2020 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 17 10:38:17 2020 +0000"
      },
      "message": "ToneGenerator: add special ringback tone for Taiwan.\n\nAdd special TONE_SUP_RINGTONE definition for Taiwan:\n (440Hz + 480Hz) 1 sec ON, 2 sec OFF.\n\nBug: 165774991\nTest: manual call while forcing ISO country code to \"tw\"\nChange-Id: Ia05c522123d4f322243e4cc297bfb8926146948f\n"
    },
    {
      "commit": "23daf99c8a7ea140cb3f83939d178dd7197253a4",
      "tree": "f3b03e526b64039e8b9c10970f694302fb60e600",
      "parents": [
        "5f324d7a1936b23daba5f430af6b6f750d41fc69",
        "3195a1323fc0a91a7e645cbde87a1e643fa11a38"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Mon Sep 21 17:09:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Sep 21 17:09:49 2020 +0000"
      },
      "message": "Merge \"Fix APS death notification\" into rvc-qpr-dev am: 3195a1323f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12640102\n\nChange-Id: I4489afb840023ea2f4697688100ba829a5558059\n"
    },
    {
      "commit": "067cd6c98a7e4081594c2e85888639e3c641c22f",
      "tree": "ecf8be54d04f5743480cc17144d8faadd838a5b5",
      "parents": [
        "7eee290c41cf7d251bbe445d86dcf43c20b4c926"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Aug 27 09:31:10 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 18 11:48:03 2020 -0700"
      },
      "message": "Fix APS death notification\n\nOur death recipient object was being kept alive only by the reference\nheld by the remote process, the one we want the death notifications\nfrom. When it dies, we have a race condition between the death call\nand the listener being garbage collected.\n\nFurthermore, since the global APS reference may get replaced by a new\none as part of clearAudioConfigCache(), we keep the old reference\naround, or else our death listener becomes invalidated silently.\n\n(cherry picked from commit d9f8283b957dcd1fa78c86b503b0302689620323)\n(cherry picked from commit a46b6d3ea608120af74ec7975427eb7f5311f720)\n\nBug: 165780067\nTest: Manual verification of sound trigger recovery after killing\n      audioserver multiple times, while generating touch sounds.\nMerged-In: If24c59ec3e3d01f418fbf575b8cc32ae0ba7fa2e\nChange-Id: If24c59ec3e3d01f418fbf575b8cc32ae0ba7fa2e\n"
    },
    {
      "commit": "fd90fdfe2a611ae824a32e236da288b1fdfd445d",
      "tree": "bdeb9f47bd72f0a8743ec7325841bdef6c0bec2b",
      "parents": [
        "b281445c6e7a40cc144752db8fbf8ddf7bd56b5f"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 21 18:14:43 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Sep 16 00:13:40 2020 +0000"
      },
      "message": "Add package name when creating AudioTrack.\n\nThe package name can be used when starting an external vibration, which\nis used by vibrator service to check if the application has the\npermission to start vibration.\n\nBug: 165910728\nBug: 162343845\nTest: atest AudioTrackTest MediaPlayerTest\nTest: start audio-coupled-haptic playback\nChange-Id: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\nMerged-In: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\n"
    },
    {
      "commit": "375283dd6031a71e44fc17efad05b741302c78e5",
      "tree": "da9cbab41fb7a3610201cfe17d09d7a5e9d3a37e",
      "parents": [
        "b77e219423638bd958a5673dba017ea72aaa2e39"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 21 18:14:43 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Sep 15 18:02:58 2020 +0000"
      },
      "message": "Add package name when creating AudioTrack.\n\nThe package name can be used when starting an external vibration, which\nis used by vibrator service to check if the application has the\npermission to start vibration.\n\nBug: 165910728\nBug: 162343845\nTest: atest AudioTrackTest MediaPlayerTest\nTest: start audio-coupled-haptic playback\nChange-Id: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\nMerged-In: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\n"
    },
    {
      "commit": "9447b48f36b1bf26645e6256dd29224b6a398161",
      "tree": "62bc6e0895af051df03446dc2c5ecca8dd288d0f",
      "parents": [
        "37e93d1bc4df8b2d9682c48236bb4dae87d6dd1b",
        "d1fa2375194096937bbdfd2def97969c4336191b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 03 00:53:20 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 03 00:53:20 2020 +0000"
      },
      "message": "Merge \"audio flinger: handle race condition in AudioRecord creation\" into rvc-qpr-dev am: d1fa237519\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12484593\n\nChange-Id: I5e330127a6ef2efe394b06524af5ae20f01a71bc\n"
    },
    {
      "commit": "2e40c302d6117ec6eb65f25832a71488367b4dfb",
      "tree": "ce2cff004a09076114faabf595b1a116bcb461ff",
      "parents": [
        "054de8d6440fd30238fa9330bcc038cda745b244",
        "924eccfd6f6d3aaed5db627a0bdcfcaaf9b09a18"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Aug 28 08:38:54 2020 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Aug 28 21:23:54 2020 -0700"
      },
      "message": "Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)\n\nBug: 166295507\nMerged-In: Ie94127c1e981cb18671d5137ba0d39355d1353da\nChange-Id: Ib22ad33bda8d561af537499b6d31ab6134eeae02\n"
    },
    {
      "commit": "717bc28fc5959c0edb2bbd86692ba5164893f719",
      "tree": "9f55d492e1032f4224dc3420345868cf8d613456",
      "parents": [
        "0b3f254028404b4772e02f9d1cdfcefba0e264b4"
      ],
      "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": "Fri Aug 28 22:51:36 2020 +0000"
      },
      "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(cherry picked from commit d52a28ca2c19db7d10bc6c4639a8bd78e1afd5f1)\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": "c8e17eebc955749f5dc0fb0a58ad93ff312aef39",
      "tree": "087fd6e158c1f3c0cbd507fc50c4f9904393aef5",
      "parents": [
        "7c9913d5d5a35242a617ccb82ba4659e777ee007"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jul 31 17:36:08 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Aug 04 00:41:43 2020 +0000"
      },
      "message": "Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\n\nStoring \u0027this\u0027 into wp\u003cAudioEffect\u003e while running the constructor\nof an AudioEffect can lead to premature instance destruction\nbecause the owner of this weak pointer may promote to sp\u003c\u003e\non a thread running in parallel to the constructor.\n\nFixed by removing a call to AudioEffect::set from the constructor\nand moving the responsibility for calling it to client code.\n\nBug: 162323621\nTest: repro steps from the bug\n      atest android.media.cts.VisualizerTest\nChange-Id: Ice5f510b1c9020b5ba73bd6223c1669ab8eae24c\nMerged-In: Ice5f510b1c9020b5ba73bd6223c1669ab8eae24c\n"
    },
    {
      "commit": "69d41cc6ca5d63e5484874dc3dcaf78530b55b6a",
      "tree": "423c2ef2a2dc0410c94c32ef5736fcfd5574d777",
      "parents": [
        "1fc724e954b4b0384ae12b095424214754c15d94"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jul 31 17:36:08 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 03 23:44:56 2020 +0000"
      },
      "message": "Avoid storing \u0027this\u0027 in a wp\u003cAudioEffect\u003e while in constructor\n\nStoring \u0027this\u0027 into wp\u003cAudioEffect\u003e while running the constructor\nof an AudioEffect can lead to premature instance destruction\nbecause the owner of this weak pointer may promote to sp\u003c\u003e\non a thread running in parallel to the constructor.\n\nFixed by removing a call to AudioEffect::set from the constructor\nand moving the responsibility for calling it to client code.\n\nBug: 162012829\nBug: 162323621\nTest: repro steps from the bug\n      atest android.media.cts.VisualizerTest\nChange-Id: Ice5f510b1c9020b5ba73bd6223c1669ab8eae24c\nMerged-In: Ice5f510b1c9020b5ba73bd6223c1669ab8eae24c\n"
    },
    {
      "commit": "a9f3bab948da4e66d62ab4dfa7a32e266401773b",
      "tree": "01f0ee6412f9df3128d7d37a1f173995451a4889",
      "parents": [
        "9e5ee290c2d33a0043d82f620ecb2616bbeb716b",
        "89b40152497a3a89a7e5bd3f6c0774135e55d638"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 20:41:20 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 29 20:41:20 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: a65bd73c39 am: 89b4015249\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1375386\n\nChange-Id: I8989fdf8b4121f501fb3b188582f29b2df721540\n"
    },
    {
      "commit": "0a30ce1b6152e42f6d972b14471d610ebfc5003c",
      "tree": "056216ef58c3de58080ca10cf10581ed01c4c441",
      "parents": [
        "d0a6433acb8b00939e0186ac7c3ca6194477cada",
        "8375b9299c05d81d106b5d31aed4aad02a6e1bdb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 20:41:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 29 20:41:07 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 65703e6ae7 am: 8375b9299c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1375267\n\nChange-Id: Ic494129c436b443fd011477dd45de752cec1e3b9\n"
    },
    {
      "commit": "9619a6e230d11d22e154db1301743620bf48f9c8",
      "tree": "75a4f50731eb6405e86abd5dcd2f7eb9b191514a",
      "parents": [
        "680c493f6a8a167b8ce338bc344d7f1099c5587d",
        "a79326fc0740265321451b7ee8b08f2f29492f77"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 20:38:57 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 29 20:38:57 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android’s inclusive language guidance\" am: 3d6f97efe4 am: a79326fc07\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1373617\n\nChange-Id: I021fed1191127bbf87673c452621eba90c3c7889\n"
    },
    {
      "commit": "a65bd73c393883bfc58d7ec1e7b535ec2813d3e8",
      "tree": "a3aa951221b3d6dba959a7aefcd249cb9ddb4553",
      "parents": [
        "0be1ec5c17495d7196c1f004eb016692c4167832",
        "cec62a77043c67569fa9b9bcbfc4022812173534"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 17:35:02 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 29 17:35:02 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\""
    },
    {
      "commit": "65703e6ae7b57719cbc69003f552933ecbed0f7f",
      "tree": "d85388bdb21db79597bc70289898a44505486c28",
      "parents": [
        "785728770dd660d1751afec5256e1f2fb5aea59c",
        "447cea7337270f18307539a8d6a056ae3a0996fd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 17:34:12 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 29 17:34:12 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\""
    },
    {
      "commit": "447cea7337270f18307539a8d6a056ae3a0996fd",
      "tree": "ece2230a5058d31f2b01951ab7b0d7e0df00cf02",
      "parents": [
        "c0ef095e07f03141a320f03d15eef1875d4f8f6c"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Jul 28 22:35:18 2020 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Jul 28 22:35:24 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: Ic4d826f7d099a1f22f58517541d21a3e840955ce\n"
    },
    {
      "commit": "cec62a77043c67569fa9b9bcbfc4022812173534",
      "tree": "4c0832eed3b5071fcf2116f61b9d17f9a4cb9e47",
      "parents": [
        "c0ef095e07f03141a320f03d15eef1875d4f8f6c"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Jul 28 22:33:43 2020 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Jul 28 22:33: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\n \nBUG\u003d161896447\n\nChange-Id: I4e9dfe38f9cef9ad2b1ec63ec8ddb93979027564\n"
    },
    {
      "commit": "639d96ca2b8e5fbd5b034e19d5833faa58b363db",
      "tree": "34c864789f77016679f9aacf05a37c2212383ed4",
      "parents": [
        "3fd4dee8960cd6bccbb21227d43dfef839d33875"
      ],
      "author": {
        "name": "Kensuke Miyagi",
        "email": "kemiyagi@google.com",
        "time": "Mon Jul 27 19:31:34 2020 +0000"
      },
      "committer": {
        "name": "Kensuke Miyagi",
        "email": "kemiyagi@google.com",
        "time": "Tue Jul 28 00:54:54 2020 +0000"
      },
      "message": "Update language to comply with Android’s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for reference\n\n\nBUG\u003d161896447\n\nChange-Id: I2186bc432b37edb66de431bfc3b961dfcf98f148\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": "bf76b844cc2b4926dfd1f74924da9e51cb6c5147",
      "tree": "2a0182f470592170ef54b8dd235eda4f292abaf2",
      "parents": [
        "f74535d093113a58d2330e24e5b8584610c05246",
        "621e376c433b4824d84f7ccb0b9ea5768b7820ec"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Sat Jun 06 01:41:10 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 06 01:41:10 2020 +0000"
      },
      "message": "Merge \"Merge QQ3A.200605.002 into master\""
    },
    {
      "commit": "bee35cb2aa30330551ac790691b6c6fb57ce61ae",
      "tree": "95636dc6244ab6067c14426ec417f5fae52dfa0b",
      "parents": [
        "d1626984eff89f66647cdb4c498de6bcc9270fbe"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Apr 30 04:22:22 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Fri Jun 05 00:41:18 2020 +0000"
      },
      "message": "Set min_sdk_version (for non-mainline files)\n\nModules contributing mainline modules (APK/APEX) should set\nmin_sdk_version as well as apex_available.\n\nFor now setting min_sdk_version doesn\u0027t change build outputs.\nBut build-time checks will be added soon.\n\nThis is second part of two CLs: covers non-mainline files\n\nExempt-From-Owner-Approval: cherry-pick from internal branch\n\nBug: 152655956\nTest: m\nMerged-In: I55336e644990d3f175e0c011856b52ec600e452a\nChange-Id: I55336e644990d3f175e0c011856b52ec600e452a\n(cherry picked from commit e3cf41a2806834c4d678a78534134aeee4e12cc5)\n"
    },
    {
      "commit": "1c4ba630e86eab1bd6485e58b1674325c67e4a92",
      "tree": "fc1964622641712eb648d39bad0494980ae5010b",
      "parents": [
        "177b641f15356a2701bbd5812ae63bec6aaa5c38",
        "167afa7033328250169f141f85e3bc71d89475c9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jun 03 00:13:23 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 03 00:13:23 2020 +0000"
      },
      "message": "Merge \"audioflinger: fix FIXME in logBufferSizeUnderruns\" into rvc-dev am: 167afa7033\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11690113\n\nChange-Id: I44b76e267b367c96e64457c5a60790dc5649a45f\n"
    },
    {
      "commit": "167afa7033328250169f141f85e3bc71d89475c9",
      "tree": "83ddee08eb8bb8abc7bf73293c4b69bc7afa8e94",
      "parents": [
        "a9d7640540c6a499c170072faa7d2d2b81d4ec34",
        "64e16a7c0a0341ec3e759d9522c037606e49ce70"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jun 03 00:04:55 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 00:04:55 2020 +0000"
      },
      "message": "Merge \"audioflinger: fix FIXME in logBufferSizeUnderruns\" into rvc-dev"
    },
    {
      "commit": "64e16a7c0a0341ec3e759d9522c037606e49ce70",
      "tree": "4de10760a43ffb42233f3da48259a3dd403ccd31",
      "parents": [
        "72c3e0bbf62dbfd5e9ecabac3910f788e0b6b187"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jun 01 13:25:51 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jun 02 14:48:16 2020 -0700"
      },
      "message": "audioflinger: fix FIXME in logBufferSizeUnderruns\n\nSome debug code was accidentally merged.\nThe hang was caused by a recursive lock of mLock.\nThe code now calls lockfree methods.\nAdded events for RELEASE and SETBUFFERSIZE.\n\nBug: 157916126\nTest: adb logcat | grep logBufferSize\nTest: launch OboeTester\nTest: disable MMAP checkbox\nTest: Tap OPEN and START\nTest: move bufferSize fader\nTest: expect to see no spam from logBufferSizeInFrames()\nTest: adb shell dumpsys media.metrics\nTest: expect to see entries like \"(bufferSizeFrames\u003d118, underrun\u003d1)\"\nChange-Id: I7d782ccea2c2470bc18a3a61cfb8767430a441d8\n"
    },
    {
      "commit": "cd9612e529a465ac9400283e57da1088f72f73cd",
      "tree": "d4c261cda318cb77066eefa81ae9e888455a1184",
      "parents": [
        "5f0535f6d3445f08a1a296584bb595a4984c70b7",
        "10fb4beafb1eaa496842e925d779b018d4f1639f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 28 22:07:24 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 28 22:07:24 2020 +0000"
      },
      "message": "AudioTrack: Fix start logging spam. am: 10fb4beafb\n\nChange-Id: I9cfe185ab6b23703f96c8501b9d87cb315970644\n"
    },
    {
      "commit": "10fb4beafb1eaa496842e925d779b018d4f1639f",
      "tree": "d91daa42f84e39c973ea3af2f0443bf88820e319",
      "parents": [
        "3fdcc3469075ce68a9e419409819a605dea220d6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 27 22:22:22 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 28 12:56:16 2020 -0700"
      },
      "message": "AudioTrack: Fix start logging spam.\n\nTest: OboeTester in OpenSL ES mode\nBug: 154868033\nChange-Id: I0dc7b78c8982a5ce1ac79b1494af0f16b4a7bb48\n"
    },
    {
      "commit": "702545ed28588c08a88a45bc2da8f672b99e1157",
      "tree": "ee0194fdb74e99fd45e2ff3d3d1f48a2b77f5df1",
      "parents": [
        "b0ed325f8a689e1bca09d86095fa3cb9f0cad64b",
        "e658962c4246669810fc756b098f7fee8d220659"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 19 17:50:52 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 19 17:50:52 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: lower FAST denied warning level\" into rvc-dev am: e658962c42\n\nChange-Id: I6082276bffe546f3c200586e8206584f8561a425\n"
    },
    {
      "commit": "e658962c4246669810fc756b098f7fee8d220659",
      "tree": "0621da52970b335d9bd06bec6078e9d8ad879de3",
      "parents": [
        "eca178fbbf489c06f1dd275658dc8a438328565e",
        "cc6ed2d53901850ebd06c8e8303a20f90bb2d890"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 19 17:33:36 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 19 17:33:36 2020 +0000"
      },
      "message": "Merge \"AudioFlinger: lower FAST denied warning level\" into rvc-dev"
    },
    {
      "commit": "cc6ed2d53901850ebd06c8e8303a20f90bb2d890",
      "tree": "d5a71eafe4a16e09ba2b8ec99e563bf5a7256c1c",
      "parents": [
        "05be7e510992ebf41919c84a26b38717a7f3211f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 18 13:06:54 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon May 18 15:45:15 2020 -0700"
      },
      "message": "AudioFlinger: lower FAST denied warning level\n\nChanged ALOGW to ALOGD because the warning was causing\npeople to think a bug had occured.\n\nBug: 139825832\nTest: Enter:  adb logcat | grep \"denied by server\"\nTest: Launch OboeTester\nTest: Tap TEST OUTPUT\nTest: select SRate: 32000\nTest: Tap OPEN\nTest: logcat should show \"AUDIO_OUTPUT_FLAG_FAST denied by server\"\nTest: Should be level D instead of W\nChange-Id: I1f3f231d4304a1132964fbb1efce5922e7b91ae7\n"
    },
    {
      "commit": "1585ad7e04fb332daf8615455f9b86803fbec0dd",
      "tree": "aae8ee13aaf10b9bb1b15a3ee602c14369fb2ead",
      "parents": [
        "0bf3b7b6ce6c6843d609620b6384c273308d1305",
        "d3d11c6dd5e520db0aba8ad17fdfe9f57d47a4df"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 18 20:28:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon May 18 20:28:22 2020 +0000"
      },
      "message": "Merge \"Set min_sdk_version (for non-mainline files)\" into rvc-dev am: d3d11c6dd5\n\nChange-Id: I1d0883330bc3f824ccdf1b0599e32a7dc42c1e3a\n"
    },
    {
      "commit": "d3d11c6dd5e520db0aba8ad17fdfe9f57d47a4df",
      "tree": "8e5eea63867d21226acdfa1e34a9f2839a10b08a",
      "parents": [
        "6021501137c85ac531ecdf0bb5a5c3bea4c72541",
        "e3cf41a2806834c4d678a78534134aeee4e12cc5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 18 20:18:29 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 18 20:18:29 2020 +0000"
      },
      "message": "Merge \"Set min_sdk_version (for non-mainline files)\" into rvc-dev"
    },
    {
      "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": "5b39ab61dca97140b515f10b0246652b8c4e3618",
      "tree": "986159b9c59acf60600814de9925d67d784403ec",
      "parents": [
        "c90413715608cbe321ca14537619035d0714fc37",
        "59ea9af626d2d586fe976a4d731606e6ea91b4df"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 11 21:05:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon May 11 21:05:18 2020 +0000"
      },
      "message": "Merge \"Fix AudioSystem ioConfigChanged log statement\" am: f6978a446a am: 59ea9af626\n\nChange-Id: Ib5a37bbdd949b5b926fc7fc09742d5611c7ef23d\n"
    },
    {
      "commit": "59ea9af626d2d586fe976a4d731606e6ea91b4df",
      "tree": "b2e89c9897287fa7fab4eb69bc738554ac012c98",
      "parents": [
        "9c8463997c1e46f5d944840d78e7d62817ed36c8",
        "f6978a446a122808e8d4c046f40a2159d8a776e9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 11 20:50:38 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon May 11 20:50:38 2020 +0000"
      },
      "message": "Merge \"Fix AudioSystem ioConfigChanged log statement\" am: f6978a446a\n\nChange-Id: I59428e86abea22a98619faf2bebf9fcd93809947\n"
    },
    {
      "commit": "f6978a446a122808e8d4c046f40a2159d8a776e9",
      "tree": "a505156d91c6526a22f14498a0ad8d4a4662ee06",
      "parents": [
        "f96e7577a5b0b361c2201320942bc8f8bc36f971",
        "8f992a171c95c6b0b2fa9e2628e658dddb81afdf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 11 20:33:24 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 11 20:33:24 2020 +0000"
      },
      "message": "Merge \"Fix AudioSystem ioConfigChanged log statement\""
    },
    {
      "commit": "ea7b6193f023d698aef9f4e42df2d31d31afdc9a",
      "tree": "85dadef9d95d3d488b20b1f2f264fac2bf58baad",
      "parents": [
        "201dac56825010a0e553fc960a84a237ded7619c",
        "88e93da781ed486a07e779c542629d6f1bb1f4d9"
      ],
      "author": {
        "name": "Kris Alder",
        "email": "kalder@google.com",
        "time": "Mon May 11 19:58:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon May 11 19:58:09 2020 +0000"
      },
      "message": "Merge changes Ic377b678,I9ee0f97e am: 529c9d0a4b am: 88e93da781\n\nChange-Id: I5ce0d022b642811d52f9196f4884168a18915cc4\n"
    },
    {
      "commit": "88e93da781ed486a07e779c542629d6f1bb1f4d9",
      "tree": "1fef340cbf379ecbc3c6e3c5da59d8a03821cac4",
      "parents": [
        "75655bf222817e4c963c78e7c2d288f528fdc563",
        "529c9d0a4bfe0cde25a713b8f0326cdfae5bb6ed"
      ],
      "author": {
        "name": "Kris Alder",
        "email": "kalder@google.com",
        "time": "Mon May 11 19:39:53 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon May 11 19:39:53 2020 +0000"
      },
      "message": "Merge changes Ic377b678,I9ee0f97e am: 529c9d0a4b\n\nChange-Id: I22e584863842ea1cc63dcd9b2be5c9f55a166c8f\n"
    },
    {
      "commit": "8f992a171c95c6b0b2fa9e2628e658dddb81afdf",
      "tree": "53439dda0c783cf4728dc53bf3b535f7dc5ebeb6",
      "parents": [
        "b15c79859d290512490393abbe4719fae3c84937"
      ],
      "author": {
        "name": "Dean Wheatley",
        "email": "dwhea@dolby.com",
        "time": "Fri May 08 20:33:51 2020 +1000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon May 11 19:06:46 2020 +0000"
      },
      "message": "Fix AudioSystem ioConfigChanged log statement\n\nTest: check logcat manually\nChange-Id: I00850daa5dc8f52487c574ce16529b6985738c88\n"
    },
    {
      "commit": "43a1889a4e7abb2d9723d98f30e8beeece56cd74",
      "tree": "a35f7200aa0909bbe64b59cf4512e55a376da8d6",
      "parents": [
        "06079fe2e2660ffe3211d8fcaf50808dba7cdb78"
      ],
      "author": {
        "name": "S Vasudev Prasad",
        "email": "vasudev.prasad@ittiam.com",
        "time": "Sat May 09 12:52:58 2020 +0530"
      },
      "committer": {
        "name": "S Vasudev Prasad",
        "email": "vasudev.prasad@ittiam.com",
        "time": "Mon May 11 10:09:40 2020 +0530"
      },
      "message": "libaudioclient_headers: Add host support\n\nTest: Build libaudioclient\nBug: 151789258\n\nChange-Id: Ic377b6781262635805f82524308bfa60e25cdc6b\n"
    },
    {
      "commit": "e3cf41a2806834c4d678a78534134aeee4e12cc5",
      "tree": "98562f4fc57f3ca03b8d8e37afadcced6f15ad5c",
      "parents": [
        "ddd5870816f48e598e8c7e2c43940169f848c02f"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Apr 30 04:22:22 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu May 07 03:15:31 2020 +0900"
      },
      "message": "Set min_sdk_version (for non-mainline files)\n\nModules contributing mainline modules (APK/APEX) should set\nmin_sdk_version as well as apex_available.\n\nFor now setting min_sdk_version doesn\u0027t change build outputs.\nBut build-time checks will be added soon.\n\nThis is second part of two CLs: covers non-mainline files\n\nBug: 152655956\nTest: m\nChange-Id: I55336e644990d3f175e0c011856b52ec600e452a\n"
    },
    {
      "commit": "47144e50c87f7eaf5468335f477ca4daae0866b4",
      "tree": "a29a2d0f1a24e396947166485a3f29bb5f48dfd4",
      "parents": [
        "b58dd318a0f791fd829e5bdb0a4e3013e33f8e8d",
        "2578a95a57dd9796b55095dc22b8171dd5da73c3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 22:56:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 27 22:56:09 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Track AudioTrack and AudioRecord callers\" into rvc-dev am: 2578a95a57\n\nChange-Id: I7f325541010d6a82f84f2670bb4e5fd28c780e1c\n"
    },
    {
      "commit": "a6b270399fdacb09826e751657b7bb321652e3ac",
      "tree": "10091ff0524d2d29dcda00e63630d0f51b300655",
      "parents": [
        "669acb12c3092e581a1ecc347e6d573e96c8ca0e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 10:34:24 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 11:41:38 2020 -0700"
      },
      "message": "MediaMetrics: Track AudioTrack and AudioRecord callers\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nBug: 153658358\nChange-Id: If2b0a792cf4cc6c5b125513861b3dfb257bb3cbe\n"
    },
    {
      "commit": "450308011ee5010ecf7357c8aa46ccf9cab67776",
      "tree": "56d3db1cc4f526f67a42f3ace215e296d3aa7f00",
      "parents": [
        "04a1d7c3073a5613786dfa29f58d237ae02059dc",
        "02d69c15b683418de39901a74f1eea8ddbfcbf40"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 24 19:52:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 24 19:52:35 2020 +0000"
      },
      "message": "Merge \"audioflinger: add setCallerName() to AudioTrack\" into rvc-dev am: 02d69c15b6\n\nChange-Id: Ic0af3ba541c33a2ae928bf8a985dd503c2a3e1cd\n"
    },
    {
      "commit": "d3813f35753a8ce43b289656de2649fdf1afaacc",
      "tree": "c13f9f04349fdfe3ad043c8bdafaa4757e3a30ff",
      "parents": [
        "cc40c5fa11767eb9a87cf6e1a5e8a99d6cec2847"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 23 16:26:15 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 24 11:13:09 2020 -0700"
      },
      "message": "audioflinger: add setCallerName() to AudioTrack\n\nAnd also to AudioRecord.\nThen log the callerName using MediaMetrics from the destructor.\n\nThis can be used to tell whether AAudio or OpenSL ES\nor Java created the object.\n\nBug: 154543374\nTest: adb shell dumpsys media.metrics --clear\nTest: Run an app that uses audio.\nTest: adb shell dumpsys media.metrics\nTest: Look for \"callerName\" in the dump.\nChange-Id: I000346e72f581d2e40ef4fd0410b579d2a1224e2\n"
    },
    {
      "commit": "d74b9c0efbc0a7cce9c7aaa0204414612a64d8d9",
      "tree": "57e18d652a0daac9904248d4eb13fe0b18eeac39",
      "parents": [
        "3de3935a515ecefea19f5dbd251191fc63c20795",
        "cc40c5fa11767eb9a87cf6e1a5e8a99d6cec2847"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 24 14:41:54 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 24 14:41:54 2020 +0000"
      },
      "message": "Merge \"aaudio: add MediaMetrics for MMAP streams\" into rvc-dev am: cc40c5fa11\n\nChange-Id: I95149514982f70f1eb2cef58978a46ecf3bbb5dc\n"
    },
    {
      "commit": "a9876703e89afa6db42913d48e2360b7dad98725",
      "tree": "4e51b01b2fa4be83868318a1619e3b7c2f42f36e",
      "parents": [
        "6e89a0704605f4750f87a3243495b175c67e6fbb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 20 18:16:15 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 23 18:00:10 2020 -0700"
      },
      "message": "aaudio: add MediaMetrics for MMAP streams\n\nLog events from service.\nLog start, stop, disconnect and other events.\nLog underruns and bufferSize.\n\nBug: 154543374\nTest: adb shell dumpsys media.metrics --clear\nTest: run an app that uses MMAP, like OboeTester\nTest: adb shell dumpsys media.metrics\nTest: Expect to see lots of \"audio.stream\" events.\nChange-Id: I690e5226b695d53d038d644f4438c759e08f9fbb\n"
    },
    {
      "commit": "dba002a4c32c58b137e70e5f746438867ab4c823",
      "tree": "8105b54c0061c59b59a27b7c9806e0da77e2f7f8",
      "parents": [
        "a00fd8a1ee9020899079f8ddafcd9a170c97cbc7",
        "98f98495a2d80adbf92dc07ab58c54644fa8ba5b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 21 02:03:44 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 21 02:03:44 2020 +0000"
      },
      "message": "Merge \"AudioRecord: Add retrograde detection to timestamps\" am: 98f98495a2\n\nChange-Id: Iff23032ce4c74f19b4e49f90898f755c84442707\n"
    },
    {
      "commit": "64c58929b1a2ec45c715ebcf8b084686e50f9299",
      "tree": "e8f965b85c38d94c0bc6451318ea2ca8035298c3",
      "parents": [
        "251b8f48f3c23f051fbb51659a5e1a5ea779093b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Mar 31 10:24:42 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 20 17:28:43 2020 -0700"
      },
      "message": "AudioRecord: Add retrograde detection to timestamps\n\nTest: atest AudioRecordTest\nTest: camera record stop/start with debug log\nBug: 147198344\nMerged-In: Idd7a0bbd1938073b7b7751595b15e20e54ea3373\nChange-Id: Idd7a0bbd1938073b7b7751595b15e20e54ea3373\n"
    },
    {
      "commit": "82ca57d7fa0bbb1baababe7ee1df9a387d6d222b",
      "tree": "6b772a76af9d9af2b2e026c391b7c949e87dbb04",
      "parents": [
        "2a4b6db18cd3344c04ae2d76761c92cd1118d33a",
        "ccc44f3f72a8d65c1d9fa829515eab478c647ebc"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 20 05:23:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 20 05:23:14 2020 +0000"
      },
      "message": "Merge \"Mark some aidl_interface modules as unstable\" into rvc-dev am: ccc44f3f72\n\nChange-Id: I8f7e79210c15934b904e97b70e583ab24ac152e7\n"
    },
    {
      "commit": "1f2151fea3e51fd0925e60088347aeea1b4d90aa",
      "tree": "00e1f2787f19e9c60d791c0a9b5ecb4cb35c40d7",
      "parents": [
        "433ccf7dca6db9ffd774cd10d539ccf9d62e3f46"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 13 12:52:14 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 13 12:52:14 2020 +0900"
      },
      "message": "Mark some aidl_interface modules as unstable\n\nWith b/152655547, all aidl_interface modules are considered as stable\nunless it is explicitly with \"unstable: true\". This change marks the\naidl_interface that are not used across updatable module bounraries\nas unstable, so that the build system does not run the API\ndumping/checking on them.\n\nBug: 152655547\nTest: m\nChange-Id: I5597f7d3fa0e2196dbfcf7ab9a33c71c15a33806\n"
    },
    {
      "commit": "77b1175e37aeab0e8c482668a6e1990c0dd405c6",
      "tree": "61e9a500926da07b88ea652e869b6fec27047087",
      "parents": [
        "a74d500b4a2d647ca17cd91d78b5d4a349acb1e4",
        "3e66c387d12a833bcb9b6e3c9a13ed339d1e9e8c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 11 02:50:12 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Apr 11 02:50:12 2020 +0000"
      },
      "message": "Merge \"AudioRecord: Add retrograde detection to timestamps\" into rvc-dev am: 3e66c387d1\n\nChange-Id: I66b65e533682a2cbbd5d161ac9bee09edc3651e2\n"
    },
    {
      "commit": "3e66c387d12a833bcb9b6e3c9a13ed339d1e9e8c",
      "tree": "e45616ae344c148512c521054ad1191087619a19",
      "parents": [
        "b15473e53c27b5e54af59bfa4f82c35a22f9bb57",
        "7efe2b8832b0e9a0cd4c07b9caa4a8a7a27b550c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 11 02:33:43 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 11 02:33:43 2020 +0000"
      },
      "message": "Merge \"AudioRecord: Add retrograde detection to timestamps\" into rvc-dev"
    },
    {
      "commit": "0ea1f071b3e66642c582af3b2abebdd2845db3a5",
      "tree": "df54dd82b440130436fd7b9a78fe565d027cd095",
      "parents": [
        "22121b85aae6f9b245836049612f50bfd91316ef",
        "c5f2a7adfc582df0ac26fc418269d68e719b4be5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 10 01:29:46 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 10 01:29:46 2020 +0000"
      },
      "message": "Merge \"AudioClient: Fix clang-tidy warnings\" into rvc-dev am: c5f2a7adfc\n\nChange-Id: I6b993851dbe4256e2033bb4704cb7e3f3ef62669\n"
    },
    {
      "commit": "c5f2a7adfc582df0ac26fc418269d68e719b4be5",
      "tree": "e99aad608b112c4398e10822cf9b07be5b6b2dfd",
      "parents": [
        "fd27c5239294058ec92ab2120256e7906110ffb4",
        "06a730b1fe80592767b45643cd86bf6006091965"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 10 01:22:50 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 01:22:50 2020 +0000"
      },
      "message": "Merge \"AudioClient: Fix clang-tidy warnings\" into rvc-dev"
    },
    {
      "commit": "06a730b1fe80592767b45643cd86bf6006091965",
      "tree": "6043dcb5cf4d85adcca26b1ec162faee2b4f6afc",
      "parents": [
        "b744fafc831e1a13cc5e054aa4812281c3c5c7fc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 13:28:31 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 13:28:31 2020 -0700"
      },
      "message": "AudioClient: Fix clang-tidy warnings\n\nTest: atest AudioTrackTest\nTest: atest AudioRecordTest\nBug: 153658358\nChange-Id: Id24db96188a777336f41d74d4fbdfd90147ee8bc\n"
    },
    {
      "commit": "542e88e97382c75b18523732644d83335fcbb0af",
      "tree": "01f131b7babb9168621f4c75703aaef0c6d650b6",
      "parents": [
        "7f25366432229bda3ca392e7ad1823889f582daf",
        "0428fecb64613ba9f94d5d82c95337ddadd18c55"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 09 00:17:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 09 00:17:09 2020 +0000"
      },
      "message": "Merge \"Move AudioSystem errorCallback call out from gLock\" into rvc-dev am: 0428fecb64\n\nChange-Id: I747fa4ab6512c9e6b64ba1246cd657742a09ae1d\n"
    },
    {
      "commit": "69330d4c9c96a4770d2ac3b06298f3345bb76cd4",
      "tree": "bd3ad71318e33aaea9a6ca5222ada1962d0a7fd6",
      "parents": [
        "95ec1b8ea487abbf4ef50d53c227338f559e9599"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Apr 08 19:29:50 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Apr 08 19:29:50 2020 +0000"
      },
      "message": "Move AudioSystem errorCallback call out from gLock\n\nSince the error callback ends up calling into Java,\nthere is a potential for a deadlock with Java code\nthat takes AudioSystem.class lock and calls into\nnative code that takes gLock in its own turn.\n\nBug: 152819012\nTest: use audio on a phone, also\n      killing native audioserver while watching YT,\n      also while making cellular calls\nChange-Id: Ib288ba96ae2f7b5ab36c1b0a1db4adde487d6a49\n"
    },
    {
      "commit": "c82ad4078a7c01e2579402efe35464df7ad98c68",
      "tree": "f565a16bbaf03e2ea6610e1a43fb3a86432a2736",
      "parents": [
        "5ea37ca1f0f8de9112dc420b95f36fb4dd4e0d95",
        "5120edaad25acb60218d81bde9a1e7b79ac3f143"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Apr 01 23:08:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 01 23:08:21 2020 +0000"
      },
      "message": "Expose capture state listener in AudioSystem am: 5120edaad2\n\nChange-Id: Ice5d6d6fcbaec165195d32850693070ec86ff7ae\n"
    },
    {
      "commit": "5ea37ca1f0f8de9112dc420b95f36fb4dd4e0d95",
      "tree": "28da86b1eaf3947986ffb102daa735edd51e9454",
      "parents": [
        "d60c0b9ab1854531d14af39ee62aa316b1cb86af",
        "85093d5efc28216f8e091f5163092b2a800f8773"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Apr 01 23:08:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 01 23:08:19 2020 +0000"
      },
      "message": "Invert how sound trigger capture is notified am: 85093d5efc\n\nChange-Id: I228b5b736deb257d5c76260ad4b0c0b0196e51c5\n"
    },
    {
      "commit": "d60c0b9ab1854531d14af39ee62aa316b1cb86af",
      "tree": "6cf19c423afc260ae0e46579dea432c5b39c60f5",
      "parents": [
        "5ebf19ac4bfb7206e798d752ee8a4544c61d5c02",
        "987d12c425ba681fb93af150ccb537eac8c683fa"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Apr 01 23:08:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 01 23:08:18 2020 +0000"
      },
      "message": "Introduce CaptureStateNotifier am: 987d12c425\n\nChange-Id: Icf279b6a03447cd67b121ca7ab3eba4b8611260c\n"
    },
    {
      "commit": "5120edaad25acb60218d81bde9a1e7b79ac3f143",
      "tree": "1afdcd0dbd3e35f0ef9ac5cc7853f421570e39eb",
      "parents": [
        "85093d5efc28216f8e091f5163092b2a800f8773"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Mar 26 09:41:15 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Apr 01 09:59:56 2020 -0700"
      },
      "message": "Expose capture state listener in AudioSystem\n\nThis is a client-side wrapper around the respective feature of APS.\n\nBug: 146157104\nTest: Manual verification of proper behavior when starting/stopping\n      recording, killing of audio server, by examination of the logs.\nMerged-In: I9b56c431f69e77683151de19830ec6f45741dd6f\nChange-Id: I1f5279c4a4b18e0a7862d3b103d383ac3de4c9a0\n"
    },
    {
      "commit": "85093d5efc28216f8e091f5163092b2a800f8773",
      "tree": "eaab1d0d25dd312af33eee8d6b062e2c19437efe",
      "parents": [
        "987d12c425ba681fb93af150ccb537eac8c683fa"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Mar 26 09:41:15 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Apr 01 09:59:50 2020 -0700"
      },
      "message": "Invert how sound trigger capture is notified\n\nPreviously, audio policy client would call an method on the sound\ntrigger middleware service. This has been replaced by the sound\ntrigger service registering a callback, in order to avoid a cyclic\ndependency between the services.\n\nBug: 146157104\nMerged-In: I876461a7650d337d6dd05fbe80efaf08f8ef20dd\nChange-Id: Ia8f674d7dd50f6dcdd6595bcbadec2f25fdb3561\n"
    },
    {
      "commit": "987d12c425ba681fb93af150ccb537eac8c683fa",
      "tree": "c4eb387678f39425bd49a219cce9981c8ea46720",
      "parents": [
        "f698ff2d177d62a714d452ce63430606738a4190"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Tue Mar 24 17:35:44 2020 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Apr 01 09:59:43 2020 -0700"
      },
      "message": "Introduce CaptureStateNotifier\n\nThis is a helper class for notifying a client of capture\nstate changes.\n\nBug: 146157104\nTest: Compiles (further testing as part of the topic).\nMerged-In: Ie27bc404805d319a6969290a6369d59fb68c1f38\nChange-Id: I2902468c4692ba68e4bc9be0e5038d5505da7154\n"
    },
    {
      "commit": "7efe2b8832b0e9a0cd4c07b9caa4a8a7a27b550c",
      "tree": "806bed1d3c479a2e28bab68da6b01696f57f516f",
      "parents": [
        "1cfbd0a8a1083af1a7afeb19b2bdc0d757d9daf5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Mar 31 10:24:42 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Mar 31 14:23:09 2020 -0700"
      },
      "message": "AudioRecord: Add retrograde detection to timestamps\n\nTest: atest AudioRecordTest\nTest: camera record stop/start with debug log\nBug: 147198344\nChange-Id: Idd7a0bbd1938073b7b7751595b15e20e54ea3373\n"
    },
    {
      "commit": "ad379ebe15dc385c9192ef40e018c129913c6a34",
      "tree": "fc86b229992a2c03353289a52d9e1d9c14b77cda",
      "parents": [
        "8d483277892288edc230f526588f5a033ac245d8",
        "e2074d7b4f23d8736e77750ce5ab59d61c1bb350"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 31 00:25:43 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 31 00:25:43 2020 +0000"
      },
      "message": "Merge \"Allow DEFAULT_INPUT_METHOD to capture audio during RTT call\" into rvc-dev am: e2074d7b4f\n\nChange-Id: I1c408587fe21cfcb894ab88f51394a489e82fa53\n"
    },
    {
      "commit": "a623a1350d58a0648d6f57829887b04c04ba6782",
      "tree": "bac00f33a30c4f426120836cee511de1bef9d881",
      "parents": [
        "0bf91a9596eba0c4ea2217506370f0f21655e740"
      ],
      "author": {
        "name": "Kohsuke Yatoh",
        "email": "kyatoh@google.com",
        "time": "Tue Mar 24 20:10:26 2020 -0700"
      },
      "committer": {
        "name": "Kohsuke Yatoh",
        "email": "kyatoh@google.com",
        "time": "Mon Mar 30 21:44:46 2020 +0000"
      },
      "message": "Allow DEFAULT_INPUT_METHOD to capture audio during RTT call\n\nThe UID of the current InputMethodService (DEFAULT_INPUT_METHOD) is\npushed from AudioService to AudioPolicyService via AudioSystem.\nAllow capture audio if:\n- the UID is the current InputMethodService\u0027s UID,\n- AND a RTT call is active,\n- AND the source is AUDIO_SOURCE_VOICE_RECOGNITION.\n\nBug: 147037345\nTest: use voice input with Gboard 9.1.4 during a simulated RTT call.\nChange-Id: Ib32ec25e962833eddd0320742e177e3c1e0e5c05\n"
    },
    {
      "commit": "963b02f7f4530ac5960a023059010b319699af94",
      "tree": "8f07fa006ac200552885b495c8ac62829909754c",
      "parents": [
        "800c4f39af6cabf29ca77d02dc8c2321d934101a",
        "fc2cea02189535383e8d9e840a79758691705290"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 24 17:24:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 24 17:24:49 2020 +0000"
      },
      "message": "Merge \"libaudioclient: Fix error handling in AudioEffect::set\" am: fc2cea0218\n\nChange-Id: I8a1e2bbb235a2efbe132acf51895a5087903d4d7\n"
    },
    {
      "commit": "8674674126097f9599db083c742676d81a6a2ad1",
      "tree": "437f8a6894e56c8ba7afea96a8bf02a9ae1db8d0",
      "parents": [
        "e31fe9b76c4a44bbb2bd59ad0fd5c07991f30dce",
        "bb044fc8c8513928155a4a0fdcde95262b81e7b1"
      ],
      "author": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Tue Mar 24 16:36:54 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 24 16:36:54 2020 +0000"
      },
      "message": "Merge \"Revert \"Allow call audio access for default dialer application\"\" into rvc-dev am: bb044fc8c8\n\nChange-Id: I54b6c6371b0a1170905519b9e43f9960d9783cb3\n"
    },
    {
      "commit": "bb044fc8c8513928155a4a0fdcde95262b81e7b1",
      "tree": "70ac310867b561ae1a2e9df2aa6b57164f926059",
      "parents": [
        "abd6e9d8cf31aa8db0f6fcd6ac23eb2f32df2216",
        "57a3769fb12dc8b2df457e0919850bd976716706"
      ],
      "author": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Tue Mar 24 16:22:37 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 16:22:37 2020 +0000"
      },
      "message": "Merge \"Revert \"Allow call audio access for default dialer application\"\" into rvc-dev"
    },
    {
      "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": "98389e3492501d1d7e10c8cf34b264d94cc2755d",
      "tree": "f0ed2efddb65b26ca06d87674a47e41da3d7a005",
      "parents": [
        "bc0f22e33fa5adc5a8873489a5270ba93f94b5a1"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Mar 23 11:44:33 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 24 08:53:33 2020 -0700"
      },
      "message": "libaudioclient: Fix error handling in AudioEffect::set\n\nZero-initialize effect UUID string recipient arrays\nto prevent logging random data.\n\nBug: 152189317\nTest: m\nChange-Id: I70e6cd509d7c4d1ce1cbd3a250b1371d2d5af4a7\nMerged-In: I70e6cd509d7c4d1ce1cbd3a250b1371d2d5af4a7\n"
    },
    {
      "commit": "e31fe9b76c4a44bbb2bd59ad0fd5c07991f30dce",
      "tree": "e99af00c2b92031ce4e21254f042333bf223dc81",
      "parents": [
        "3bdd6d9987643b7bf67de4e0a11e461415e68177",
        "abd6e9d8cf31aa8db0f6fcd6ac23eb2f32df2216"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 24 02:09:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 24 02:09:19 2020 +0000"
      },
      "message": "libaudioclient: Fix error handling in AudioEffect::set am: abd6e9d8cf\n\nChange-Id: Ic3b5ca00066c14dbd7abc974f92759607d9eed2d\n"
    },
    {
      "commit": "abd6e9d8cf31aa8db0f6fcd6ac23eb2f32df2216",
      "tree": "e7c5b02e80b915aab10a1c6283681fae710d6160",
      "parents": [
        "3006a83565b6863f247bf634faa929b84608026e"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Mar 23 22:25:56 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Mar 23 22:25:56 2020 +0000"
      },
      "message": "libaudioclient: Fix error handling in AudioEffect::set\n\nZero-initialize effect UUID string recipient arrays\nto prevent logging random data.\n\nBug: 152189317\nTest: m\nChange-Id: I70e6cd509d7c4d1ce1cbd3a250b1371d2d5af4a7\n"
    },
    {
      "commit": "d6bd406abdd7937658abf33bc8684c464e8bc413",
      "tree": "2f7aea62c56b5f878979dccba2b08a6c9c1ca817",
      "parents": [
        "f68213608f7246ff271436c36e6c19ddbc627679",
        "f57740fc311c80bc7e62fde8b03b4f8f4d34ccda"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 19 17:59:43 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 19 17:59:43 2020 +0000"
      },
      "message": "Merge \"audioflinger: add effect creation probe mode\" into rvc-dev am: f57740fc31\n\nChange-Id: I6e34e17dea07037bf25bb8f1febad68bf9a0eca6\n"
    },
    {
      "commit": "e8a73f354db18424238649a15ddb65cf1d13bd64",
      "tree": "eeb52861b12a00e5fe290dae1db3ca043199ebcc",
      "parents": [
        "32a4b317efd8beaa42cceec2c5ffb59c1320113e",
        "91ca21961c884176dbb10df0232a2155ea034b76"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Mar 19 10:10:35 2020 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Mar 19 10:10:35 2020 -0700"
      },
      "message": "DO NOT MERGE - Merge qt-qpr1-dev-plus-aosp@6304901 into stage-aosp-master\n\nBug: 151763422\nChange-Id: I771c3c0d86070c2a6e5f263818a6231291f28d56\n"
    },
    {
      "commit": "9242b79e17e527e6c6f476d5912dfe23823725dd",
      "tree": "eabd1f254a1e522b0f7aecc3b29d011948668a4c",
      "parents": [
        "cc0dec6cc29a21e353d06d9b07dab3ad0527cc8d",
        "48e98cf8dbd9fa212a0e129822929dc40e6c3898"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 18 17:13:04 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 18 17:13:04 2020 +0000"
      },
      "message": "Merge \"Fix race condition in AudioTrack::releaseBuffer()\""
    },
    {
      "commit": "cc0dec6cc29a21e353d06d9b07dab3ad0527cc8d",
      "tree": "aba1fe5bb78c0770eda8ae9f9656976342238463",
      "parents": [
        "8e2689864fa4e6a4632437a5daa3d3163bd95df8",
        "f7d6ba94b17aa44f2c4ebbfcd73b667e583b2202"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Mar 17 21:31:56 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 17 21:31:56 2020 +0000"
      },
      "message": "Merge \"Fix race condition in AudioRecord::releaseBuffer()\""
    },
    {
      "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"
    }
  ],
  "next": "db51e1f159df4cec37032b436ae6bce746c402c7"
}
