)]}'
{
  "log": [
    {
      "commit": "269acb4c605fc60a59fc9b935b51cfd5dbb496fe",
      "tree": "14c3f916e4a6f55c4241d1295eb402164b549126",
      "parents": [
        "6fea7f005c004bae852c66b148f14adfc60ff872"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 23 16:53:22 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 23 16:53:22 2021 +0200"
      },
      "message": "audio: add command to purge permission cache\n\nAdd a media_audio_policy service command and helper function\nin ServiceUtilities to purge permission cache.\n\nThis permists to restore the use of permission cache for\nCAPTURE_AUDIO_HOTWORD permission while still  allowing CTS tests to\nadopt shell permission.\n\nBug: 185972521\nTest: atest AudioRecordSharedAudioTest\nChange-Id: Ib8963053d6d7734e474174f572762abe1a4be13b\n"
    },
    {
      "commit": "2742709aa316ee114c6591e978e4abd6788e6a09",
      "tree": "54ef16a8abe43a166c103cddf5f5d5433151805f",
      "parents": [
        "b5f5cc5daab7f12235e320b7a469ddc70e517187",
        "ec376dcd36947485b1400a828f320507dba974b8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 21 17:03:30 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 21 17:03:30 2021 +0000"
      },
      "message": "Merge \"AudioRecord: Allow to share capture history.\" into sc-dev"
    },
    {
      "commit": "ec376dcd36947485b1400a828f320507dba974b8",
      "tree": "7ffca65d77e519d0e629497d73ec5a586752ab32",
      "parents": [
        "c8a1676adf1f7fee3c542a1e568a5fc4920dfba4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 08 20:41:22 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 21 12:13:57 2021 +0200"
      },
      "message": "AudioRecord: Allow to share capture history.\n\nAdd the possibility for privileged applications to\nshare part of their audio capture history with another app.\n\nBug: 183705547\nTest: regression on capture use cases\n\nChange-Id: I2b6547eee1dcd840e06090f42f40beafa3facb46\n"
    },
    {
      "commit": "5d6ea8f363ccd73ee6c4b83c6e6132245c175b39",
      "tree": "4cd72a3a8cf05d23e2507e2d65b4f751cb93fb3e",
      "parents": [
        "e64e5c3a85ee0ed50fccc7f6c2c7eb6fa9a5ef0f"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 13 01:02:53 2021 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 19 23:41:58 2021 +0000"
      },
      "message": "reflect libbinder-\u003elibpermission: appops\n\nSince libbinder is used in many places, lightening it up (vtables in\nthese classes contribute to private dirty memory).\n\nBug: 183654927\nTest: boot\nChange-Id: I07f61bf4d60856b009f2847245d49b91c42ea4dc\n"
    },
    {
      "commit": "48500fe6a5c96456fc605ec43fffd0d146a0108c",
      "tree": "f96e28470058f6b726e48d508e362766a47bd394",
      "parents": [
        "57ad83312dcbb2df832b7b728b17ceed8c3eccb8",
        "a1204833e945a66d60be3d78f4d833be822dd919"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Sat Apr 03 01:20:24 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Apr 03 01:20:24 2021 +0000"
      },
      "message": "Merge \"libbinder - split out I?ProcessInfoService\" am: 9575a04165 am: 2e0f85065a am: a1204833e9\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1662931\n\nChange-Id: Iecb896eee14ae361ddfec151bafef948b14d5b26\n"
    },
    {
      "commit": "a1204833e945a66d60be3d78f4d833be822dd919",
      "tree": "dbd0bd9be25e3f10f3f65993f6411f7036d6fbff",
      "parents": [
        "5747c1fea5848efe26bf94da89f1ae391b793283",
        "2e0f85065a07399d7d1618c8e38993d6a7adb311"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Sat Apr 03 00:35:06 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Apr 03 00:35:06 2021 +0000"
      },
      "message": "Merge \"libbinder - split out I?ProcessInfoService\" am: 9575a04165 am: 2e0f85065a\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1662931\n\nChange-Id: Iba14f475a0bfc7d8bc1abe97d1d0aea77799e6e4\n"
    },
    {
      "commit": "886d7327a3b5a9f3e0c4002e5c3f8c05e2556bf0",
      "tree": "fe406500435ebd6129d17ee0aaa45a13adb9e7d1",
      "parents": [
        "45b37541207b69424704e104ed13afd52d3aebbb"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 02 04:19:45 2021 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 02 16:54:14 2021 +0000"
      },
      "message": "libbinder - split out I?ProcessInfoService\n\nFuture considerations: once all these interfaces are moved, I\u0027ll file\nbugs to have corresponding teams convert them to AIDL.\n\nBug: 183654927\nTest: boot\nChange-Id: I110034ca0336628efaa80e77929a2314847c36bb\n"
    },
    {
      "commit": "ad52d7f26868f4eb1b3749a7d80ae7cbb4b8e32e",
      "tree": "78ac13d04f609e4b27a6351001f28c7c06d0cddc",
      "parents": [
        "ebc0b2698d9680fe1647a9d9b0e9080447c3cbeb",
        "117a03a4bda1abbf7ce746ff0c4a88be0575d0df"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Apr 01 20:17:42 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 01 20:17:42 2021 +0000"
      },
      "message": "Merge \"Refactor for moved batterystats AIDL.\" am: ed53c41264 am: 60d845e976 am: 117a03a4bd\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1660623\n\nChange-Id: I2cf32b72fe3009fe781a54241fd3623225949ac2\n"
    },
    {
      "commit": "117a03a4bda1abbf7ce746ff0c4a88be0575d0df",
      "tree": "21554819551abc844906088401784f2c66bc6b0b",
      "parents": [
        "3aee54092a9669d9e517720ac47d2e2169170bee",
        "60d845e97666b2224c64a329803878abf4b89b78"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Apr 01 19:32:31 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 01 19:32:31 2021 +0000"
      },
      "message": "Merge \"Refactor for moved batterystats AIDL.\" am: ed53c41264 am: 60d845e976\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1660623\n\nChange-Id: I025bc990f12395df8c7eab2932e5ebf313aa8363\n"
    },
    {
      "commit": "369600088e13ec9e931996c93006a35553af4f4a",
      "tree": "053790289b53ec2e096a6e7f03792e6701f6dba6",
      "parents": [
        "a926d95e91253053c36c7079ae5d6694362c998e"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Apr 01 00:08:45 2021 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Apr 01 01:04:08 2021 +0000"
      },
      "message": "Refactor for moved batterystats AIDL.\n\nMoving this out of libbinder saves 4KB in 44 processes (on cuttlefish) \u003d\n176KB of private dirty memory (that is, this takes libbinder from 84 to\n80 KB of private dirty memory). This also adds the cost of a new library\nin two processes.\n\nBug: 183654927\nTest: boot\nChange-Id: I37644388ac7a7807198f5fcfae4186ec418eb862\n"
    },
    {
      "commit": "bda4575c36ad11b0870ccdb50dcb3a04573d6782",
      "tree": "9e5e3ed6228395c814e390c464e09b3d5922cf29",
      "parents": [
        "6d988df316533c7e189b266ad01e66356b6992d1"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Jul 17 16:41:18 2020 -0700"
      },
      "committer": {
        "name": "Nate Myren",
        "email": "ntmyren@google.com",
        "time": "Thu Mar 11 08:35:04 2021 -0800"
      },
      "message": "Add attributionTag to audio-recordings\n\n... by replacing packageName/uid/pid by the Identity class.\n\nThis allows us to track which parts of the app trigger audio-recordings.\n90% of the code is just sending around the additional parameters.\n\nThis adds it for the Java and native API.\n\nTest: atest CtsAppOpsTestCases\n            CtsNativeMediaAAudioTestCases\nFixes: 160150145\nChange-Id: Ibd7b884f7fcd4668a4e27f997e59cfc3217a9e89\n"
    },
    {
      "commit": "6d988df316533c7e189b266ad01e66356b6992d1",
      "tree": "e3e61d20c88fe77aa1cfd0fb4c92dcbc8db51eb3",
      "parents": [
        "a2631db38efdb2f7674e44f12eed00ca3d11ca26",
        "48cbba93072c2907401053844110e12e4c98ebf5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 09 10:50:29 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 09 10:50:29 2021 +0000"
      },
      "message": "Merge \"mediautils : TimeCheck: fix OOB access\" into rvc-qpr-dev am: fe4cb2de15 am: 48cbba9307\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13773950\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ida29ba3dc0dc3771d03822335d250d9e242ef9ef\n"
    },
    {
      "commit": "48cbba93072c2907401053844110e12e4c98ebf5",
      "tree": "d3659ef1770edd792a1859ae214e9fb58bc726fe",
      "parents": [
        "c0d6981294c455ca2184696822fd76b24088060d",
        "fe4cb2de15d6e3b679e7f22fbce5237ab6bf1565"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 09 10:26:36 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 09 10:26:36 2021 +0000"
      },
      "message": "Merge \"mediautils : TimeCheck: fix OOB access\" into rvc-qpr-dev am: fe4cb2de15\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13773950\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I71127c7a566e4a495152142d5b3bd2812a6981dd\n"
    },
    {
      "commit": "1ad278b5d67e00ecaade3d2680102ea05041af43",
      "tree": "959f005606f7bd13755d97177700e9417c8a506e",
      "parents": [
        "5faae759e2b6ec8c3018022078d924a8d376bb06"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 05 18:09:01 2021 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Mar 07 17:58:16 2021 +0100"
      },
      "message": "mediautils : TimeCheck: fix OOB access\n\nFix OOB access when reading from audioHalPids\nin TimeCheck::accessAudioHalPids()\n\nBug: 175894436\nTest: make\nChange-Id: I436523e4909051f83fc916effbe2710d2d962168\n"
    },
    {
      "commit": "56786ac1035b158c23c150884d2d6415f9fbd1ea",
      "tree": "309e190927e12f9076359905ea5e2258f25700a1",
      "parents": [
        "445b895828747b82170610a75598a0615025918c"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 15:24:36 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 15:24:36 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  apex/testing/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.bp\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/plugin/Android.bp\n  media/codec2/hidl/plugin/samples/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/fuzzer/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/hapticgenerator/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.bp\n  media/libheif/Android.bp\n  media/libmedia/Android.bp\n  media/libmedia/tests/codeclist/Android.bp\n  media/libmedia/tests/mediaplayer/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/libmediatranscoding/transcoder/Android.bp\n  media/libmediatranscoding/transcoder/benchmark/Android.bp\n  media/libmediatranscoding/transcoder/tests/Android.bp\n  media/libmediatranscoding/transcoder/tests/fuzzer/Android.bp\n  media/libnbaio/Android.bp\n  media/libnblog/Android.bp\n  media/libshmem/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/renderfright/Android.bp\n  media/libstagefright/renderfright/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/MtpFfsHandleTest/Android.bp\n  media/mtp/tests/MtpFuzzer/Android.bp\n  media/mtp/tests/PosixAsyncIOTest/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  media/utils/tests/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/config/tests/Android.bp\n  services/audiopolicy/engine/config/tests/resources/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/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/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/fuzzer/Android.bp\n  services/audiopolicy/fuzzer/resources/Android.bp\n  services/audiopolicy/managerdefault/Android.bp\n  services/audiopolicy/service/Android.bp\n  services/audiopolicy/tests/Android.bp\n  services/audiopolicy/tests/resources/Android.bp\n  services/camera/libcameraservice/Android.bp\n  services/camera/libcameraservice/fuzzer/Android.bp\n  services/camera/libcameraservice/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/mediatranscoding/tests/TranscodingUidPolicyTestApp/Android.bp\n  services/minijail/Android.bp\n  services/oboeservice/Android.bp\n  services/tuner/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  camera/Android.bp\n  camera/ndk/Android.bp\n  media/ndk/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\nChange-Id: I4e4ecdbb43c90f5c3cd8e5ccec51b39fa0b5ae9b\n"
    },
    {
      "commit": "5739fff71185219a5dcc56a12620948164287608",
      "tree": "8f123bc9e9ad5d3ebc0aee78a2ed7bb3b1dbc07b",
      "parents": [
        "5530dd3df904c1b22ee4098bec1b801c379b8d4f"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 11:40:14 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 11:45:35 2021 -0800"
      },
      "message": "Revert \"[LSC] Add LOCAL_LICENSE_KINDS to frameworks/av\"\n\nThis reverts commit 3908e7be0b90e95ffb1f0e3db9274b2cbef57728.\n\nThis reverts commit c837504ed5b9c708896bb97b1ef9225c376816a7.\n\nThis reverts commit 948e6aace91d16acfaa97763c7228029a1c2afe0.\n\nChange-Id: Ib53daa5debdae7062155add5a70a5b3d5fcd1050\n"
    },
    {
      "commit": "3908e7be0b90e95ffb1f0e3db9274b2cbef57728",
      "tree": "25f80f465f44835875bad4819ece00be424aacee",
      "parents": [
        "2ba29909861b3600881468bb5ae9b25f5f30a20e"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 23 14:27:06 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 23 14:27:06 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/av\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  media/audioserver/Android.bp\n  media/codec2/hidl/plugin/Android.bp\n  media/codec2/hidl/plugin/samples/Android.bp\n  media/libaudioclient/fuzzer/Android.bp\n  media/libeffects/hapticgenerator/Android.bp\n  media/libeffects/visualizer/Android.bp\n  media/libmediatranscoding/transcoder/Android.bp\n  media/libmediatranscoding/transcoder/benchmark/Android.bp\n  media/libmediatranscoding/transcoder/tests/Android.bp\n  media/libmediatranscoding/transcoder/tests/fuzzer/Android.bp\n  media/libshmem/Android.bp\n  media/libstagefright/renderfright/Android.bp\n  media/libstagefright/renderfright/tests/Android.bp\n  media/mtp/tests/MtpFuzzer/Android.bp\n  media/mtp/tests/PosixAsyncIOTest/Android.bp\n  media/utils/tests/Android.bp\n  services/audiopolicy/engine/config/tests/Android.bp\n  services/audiopolicy/engine/config/tests/resources/Android.bp\n  services/audiopolicy/fuzzer/Android.bp\n  services/audiopolicy/fuzzer/resources/Android.bp\n  services/audiopolicy/service/Android.bp\n  services/mediatranscoding/tests/TranscodingUidPolicyTestApp/Android.bp\n  services/tuner/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I3813238d175c97c8a083c737b28fe7c016506c22\n"
    },
    {
      "commit": "c837504ed5b9c708896bb97b1ef9225c376816a7",
      "tree": "4b86c06c7fd70680e0482475807ca8f19f00502b",
      "parents": [
        "6d858b5665aeea773ce10d81fd875a80fdb09b85"
      ],
      "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": "Wed Feb 17 12:43:41 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: I8360756b326b891b56629127091540310851c941\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": "638f45b72ba2201ab66addc5e15f3f2d0bd7f8d1",
      "tree": "dc2ca1b340a361303617db5dbe88a07183c06370",
      "parents": [
        "b3bd0a0713d6ca192dce7be6ebfb4deb07648150"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 18 20:02:56 2021 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 19 10:14:49 2021 -0800"
      },
      "message": "StreamHalHidl: Use atomic_wp and make pointers const\n\nAvoid concurrency issues with modification of wp.\n\nTest: basic audio\nBug: 177278988\nChange-Id: I5b968a1dad24e1d6c18260884d35c3170661da01\n"
    },
    {
      "commit": "328d6774ba2a3526a437532832df5781812d123b",
      "tree": "163affc905b0b54b4c009022361add1fcf7e36c8",
      "parents": [
        "d8888d48f512f894182848f3d7076b8c6a68fa95"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 12 12:32:21 2021 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 15 14:31:06 2021 -0800"
      },
      "message": "Effects: Add atomic_wp\u003cT\u003e, update setThread.\n\natomic_wp\u003cT\u003e is used to allow concurrent read and write to the wp\u003c\u003e.\nWe use this to fix EffectCallback::setThread to resolve multithreaded\naccess to the wp\u003cT\u003e.\n\nNote that setThread is used for EffectChain migration between\nPlaybackThreads; we also need to refine higher level transactional\nlocking to ensure enable/disable of effect is done consistently\nduring migration.\n\nTest: basic audio works\nTest: atest media_synchronization_tests\nTest: AudioEffectTest AudioPreProcessingTest BassBoostTest\nTest: EnvReverbTest EqualizerTest LoudnessEnhancerTest\nTest: PresetReverbTest VirtualizerTest VisualizerTest\nBug: 161341295\nChange-Id: If80ee4373859c832d6fd10fec0385d69064f50c6\n"
    },
    {
      "commit": "f03b71f14571c8e849542cfd38433277c995134a",
      "tree": "32f25d31fc2e906f71aa3bdc0a1daae314382a88",
      "parents": [
        "0ebd2ed4cb778839d27b8019c1a5714179adac56",
        "f2c1f513471705a4533771d21c5393e2bc847fff"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 28 18:19:04 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Dec 28 18:19:04 2020 +0000"
      },
      "message": "Merge \"Fix allowing playback capture for packages with shared UID\" am: 210af50813 am: 2595b965f3 am: f2c1f51347\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1533313\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ibbb2fbc8416da37f5dbe9228a3a86fa06578bbe6\n"
    },
    {
      "commit": "703ec2682aa5eb367ea836ba16af37150f1873ea",
      "tree": "03b2edeb101d7f110d25ef2cd470617ea422f4bb",
      "parents": [
        "712366758bcc7858d4b1454c4f87bf091abab0d7"
      ],
      "author": {
        "name": "Oreste Salerno",
        "email": "oreste.salerno@tomtom.com",
        "time": "Thu Dec 17 16:38:38 2020 +0100"
      },
      "committer": {
        "name": "Oreste Salerno",
        "email": "oreste.salerno@tomtom.com",
        "time": "Tue Dec 22 10:40:57 2020 +0100"
      },
      "message": "Fix allowing playback capture for packages with shared UID\n\nUse getPackagesForUid in place of getNamesForUids to retrieve the\nlist of packages for a certain UID.\nIn case of shared UIDs, getNamesForUids does not return the list\nof packages belonging to the UID, but just a single item in the\nform \"shared:\u003csharedUserId\u003e\", which causes isAudioPlaybackCaptureAllowed\nto always return false.\n\nChange-Id: I0da61945e17d013c3c7a5633f231dbfb8f06b248\n"
    },
    {
      "commit": "f12daa4ec147c9ecca68afb9f85480781d769846",
      "tree": "317139f096611e149941aa91bbcb5f11f2419ada",
      "parents": [
        "b27255e84e2ddc5e951739d2238afd6314cf179a",
        "b742992506c1875c29c88498dec555bd7a2b8542"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Thu Dec 17 01:12:08 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 17 01:12:08 2020 +0000"
      },
      "message": "Merge \"Updating MediaRecorderClient to use CAPTURE_TUNER_AUDIO_INPUT\""
    },
    {
      "commit": "b742992506c1875c29c88498dec555bd7a2b8542",
      "tree": "873b858af21122fa6cd301978188d02f19459611",
      "parents": [
        "9b95dd2f7e88bd1ddaf5b765ffe7845cabe6edbc"
      ],
      "author": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Fri Dec 11 13:59:18 2020 -0800"
      },
      "committer": {
        "name": "Hayden Gomes",
        "email": "haydengomes@google.com",
        "time": "Wed Dec 16 12:01:50 2020 -0800"
      },
      "message": "Updating MediaRecorderClient to use CAPTURE_TUNER_AUDIO_INPUT\n\nUpdating recording FM_TUNER to use CAPTURE_TUNER_AUDIO_INPUT\nin addition to CAPTURE_MEDIA_OUTPUT.\n\nBug: 165921316\nTest: atest AudioServiceHostTest#testRadioTunerRecord\nChange-Id: I3e41cab65154835296f9e0d965f9bba4598050d1\n"
    },
    {
      "commit": "e69cada3e096a21b69768e921dd60241238c6b9a",
      "tree": "bc0d785b192aee94d63f96cf0dd6d4cdf516e1f7",
      "parents": [
        "5dc9ad75a27c19ec5450c57ba08d7e04494b704b"
      ],
      "author": {
        "name": "Nate Myren",
        "email": "ntmyren@google.com",
        "time": "Thu Dec 10 10:00:36 2020 -0800"
      },
      "committer": {
        "name": "Nate Myren",
        "email": "ntmyren@google.com",
        "time": "Mon Dec 14 13:01:52 2020 -0800"
      },
      "message": "attribute REMOTE_SUBMIX recording to RECORD_AUDIO_OUTPUT\n\nREMOTE_SUBMIX audioRecords do not use the microphone, so attribute their\nusage to RECORD_AUDIO_OUTPUT, instead of RECORD_AUDIO\n\nTest: manual\nFixes: 173797503\nChange-Id: Ibc5d09a6b2a90211781076f70516c03ed024cc42\n"
    },
    {
      "commit": "bf85d8bc814e661b16b24968a0b16544f4d6329f",
      "tree": "5f1c038d4fb1ac909508c71d458bef7703dfa578",
      "parents": [
        "5834bf6ebe9265c938b2cbb2c1cee1ad3a819a5c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Aug 20 17:19:57 2020 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Dec 09 20:35:39 2020 +0000"
      },
      "message": "Attribute SOURCE_HOTWORD to OP_RECORD_AUDIO_HOTWORD.\n\nWhenever we startRecording / finishRecording with a source\nof SOURCE_HOTWORD, attribute them to OP_RECORD_AUDIO_HOTWORD\ninstead of OP_RECORD_AUDIO. In either case, OP_RECORD_AUDIO\nis checked before the recording commences. Note that we also\ncheck that all recordings with SOURCE_HOTWORD are initiated\nby a uid that holds the privileged CAPTURE_AUDIO_HOTWORD\npermission.\n\nNote that this change will be superseded in the future once\nwe have stronger guarantees around hotword handling.\n\nBug: 162547999\nTest: manual with dumpsys appops on AGSA\n\n(cherry picked from commit d127644025c5820e39a2908a249691284b4447d6)\n\nMerged-In: I70e0b652c357597770a18a5a385d62668a69059a\nChange-Id: I5ba43828efb0654ec2c1f04fb9737d48a8c4f0bf\n"
    },
    {
      "commit": "70ff2371153fa253fa7b674de1d73f2666f76152",
      "tree": "4373418248763a513521bfbec44c250eaa43c61d",
      "parents": [
        "9b95dd2f7e88bd1ddaf5b765ffe7845cabe6edbc"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 07 22:18:49 2020 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 08 16:47:27 2020 +0000"
      },
      "message": "Provide more info about AppOps checking\n\nAdd information about the package and the returned mode\nto help investigating denials.\n\nBug: 174792335\nTest: m\nChange-Id: Ibf8cac99688ee268893bf00f2cff8675e6cbcf67\n"
    },
    {
      "commit": "29582de4e2db24a71ebfca211cb18055a197ba6a",
      "tree": "e92fe50aa972578aa725cf332faba14d48a7e0c8",
      "parents": [
        "802793489675990aa90a446ecceaffbc4e081120"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Dec 02 22:45:45 2020 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Dec 02 22:45:45 2020 -0800"
      },
      "message": "DO NOT MERGE - Chase API change of startRecording and finishRecording.\n\nBug: 162547999\nChange-Id: I4fa265054be2cb5855fcbd0ae9ad5a5d36aab508\n"
    },
    {
      "commit": "97d367b26286afca53b2c47d643792ea5d18f361",
      "tree": "bf4d4dbbf2e1571aedddb0c1578b9ee25deee6d0",
      "parents": [
        "2526250c329d30b4456d99e9dd9be46633da4f7e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 16 12:53:14 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 22 19:29:13 2020 -0700"
      },
      "message": "Allow native process to set procinfo in ResourceManager\n\nAnd set the override in transcoding service to allow\nResourceManager to reclaim from it.\n\nbug: 168307955\ntest: mediatranscodingservice unit tests;\nResourceManager unit tests;\nCTS ResourceManagerTest; manually verify that binderDied\nevents are handled correctly.\n\nChange-Id: I3193a0e29c1efbaf641e8c6b391241233d9cc404\n"
    },
    {
      "commit": "88f8f94606933ec389ea50b07f5394622750819e",
      "tree": "03de782f4f7e84193c84ee6dcb8e8f5462e94f60",
      "parents": [
        "181438e955bac2e0137d991c468f583bdf3de153",
        "d127644025c5820e39a2908a249691284b4447d6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Sep 11 13:09:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 11 13:09:19 2020 +0000"
      },
      "message": "DO NOT MERGE Attribute SOURCE_HOTWORD to OP_RECORD_AUDIO_HOTWORD. am: d127644025\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/12468978\n\nChange-Id: I3253b81c324ae91762a54533a2c1708c80026e8e\n"
    },
    {
      "commit": "d127644025c5820e39a2908a249691284b4447d6",
      "tree": "e249c7f931d01a69f44f0d42ef99617ed7cc58bc",
      "parents": [
        "0b3f254028404b4772e02f9d1cdfcefba0e264b4"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Aug 20 17:19:57 2020 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 28 16:44:58 2020 +0100"
      },
      "message": "DO NOT MERGE Attribute SOURCE_HOTWORD to OP_RECORD_AUDIO_HOTWORD.\n\nWhenever we startRecording / finishRecording with a source\nof SOURCE_HOTWORD, attribute them to OP_RECORD_AUDIO_HOTWORD\ninstead of OP_RECORD_AUDIO. In either case, OP_RECORD_AUDIO\nis checked before the recording commences. Note that we also\ncheck that all recordings with SOURCE_HOTWORD are initiated\nby a uid that holds the privileged CAPTURE_AUDIO_HOTWORD\npermission.\n\nNote that this change will be superseded in the future once\nwe have stronger guarantees around hotword handling.\n\nBug: 162547999\nTest: manual with dumpsys appops on AGSA\n\nChange-Id: I70e0b652c357597770a18a5a385d62668a69059a\n"
    },
    {
      "commit": "2a9274cd2c815d9992527f7b8a4c1d75cc372057",
      "tree": "bde10f8015bbee45ba8d139117e8350abb0946c4",
      "parents": [
        "7c9913d5d5a35242a617ccb82ba4659e777ee007",
        "fa47739ebe4049c51f01b5e86ab40204cf1a27fd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 03:07:41 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 03:07:41 2020 +0000"
      },
      "message": "Merge \"Update language to comply with Android\u0027s inclusive language guidance\" am: 97937ef8f2 am: fa47739ebe\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1385922\n\nChange-Id: I387370424b74c3414cad6796bdf311577c47fe91\n"
    },
    {
      "commit": "a2f59b339b498d38224cb807782f0b59d4378e91",
      "tree": "ec12fb4788066f863a47993818845bdcce08711d",
      "parents": [
        "1fc724e954b4b0384ae12b095424214754c15d94"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 03 16:37:24 2020 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Aug 04 00:13:45 2020 +0000"
      },
      "message": "Update language to comply with Android\u0027s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for reference\n\nBug: 161896447\nTest: N/A\nChange-Id: I7cc02d672a35025650a515247d268693b8bc2dc5\n"
    },
    {
      "commit": "62aac8cfc66a5e17b76a713becb15db28e89485c",
      "tree": "38e772a427ffb02a4cea117882ba89854b7a07a1",
      "parents": [
        "7997351bc447cbbff9dc255faf62bc89c1c180c6",
        "c8a03008cefb151dab89011c9af4bc6144feda1b"
      ],
      "author": {
        "name": "Hamzeh Zawawy",
        "email": "hamzeh@google.com",
        "time": "Mon Jul 06 18:03:27 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jul 06 18:03:27 2020 +0000"
      },
      "message": "Merge \"Adds fuzzers for libmediautils\" am: bbc7944b76 am: c8a03008ce\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1329371\n\nChange-Id: Ic135b0bd2bd742b51f44978e2d0e2939cba3b6f0\n"
    },
    {
      "commit": "c247e4ae8743979f3e4e8679460b24704ffbdda7",
      "tree": "2747f0be56a0037b9b9f2dfb6dae7511f8ce9d60",
      "parents": [
        "dbb9895007a7ecee6e2cc62705b24ba08b09932d"
      ],
      "author": {
        "name": "Dylan Katz",
        "email": "dylan.katz@leviathansecurity.com",
        "time": "Wed Jun 10 16:21:39 2020 -0700"
      },
      "committer": {
        "name": "Dylan Katz",
        "email": "dylan.katz@leviathansecurity.com",
        "time": "Thu Jul 02 10:20:03 2020 -0700"
      },
      "message": "Adds fuzzers for libmediautils\n\nThis change adds fuzzers for a few classes in libmediautils.\n\nTest: Ran on Pixel 3a device for a short period. Estimated coverage is 2.94%.\nSigned-off-by: Dylan Katz \u003cdylan.katz@leviathansecurity.com\u003e\nChange-Id: I147122092659206800d92c4ebd373f692ea1bdb3\n"
    },
    {
      "commit": "e9eb03e9db8f66c711e2824e0f96d1fdc8f727b5",
      "tree": "77671b8d041a66b35884657fc4e05c5e5214787a",
      "parents": [
        "95ec1b8ea487abbf4ef50d53c227338f559e9599"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 04 14:08:23 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 06 09:48:59 2020 -0700"
      },
      "message": "MediaUtils: Move MemoryLeakTrackUtil.h to the proper library.\n\nTest: dumpsys sanity check of mediaserver, audioflinger, drmmanager\nBug: 149850236\nChange-Id: I7a3694444de0f940beacb699bc6f07ebb6a7cc7d\n"
    },
    {
      "commit": "16fd2c626dd7eed1f62881fd24dbe9064852b7d5",
      "tree": "ee8175bf42aafab6c6e7b9dea3bb8f6477b9821f",
      "parents": [
        "8e733cadf982104e33eacabd066e159eb14911d1"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 26 13:07:31 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Apr 01 09:20:02 2020 -0700"
      },
      "message": "TimeCheck: fix use of uninitialized variable\n\nVariable \u0027tag\u0027 in TimeCheck::TimeCheckThread::threadLoop\nmay end up being used w/o prior initialization.\nFound by clang-tidy.\n\nBug: 152526318\nTest: m\nChange-Id: Ifc1efbee39007ea9cfba8083edbfdb763eafb8dc\nMerged-In: Ifc1efbee39007ea9cfba8083edbfdb763eafb8dc\n"
    },
    {
      "commit": "d7e0dd45243735bed789589ca767485ce3fc4e7b",
      "tree": "4ad113977dd16b064452aafdc74db03b99214e7c",
      "parents": [
        "36696ba9a249d629c4827fda442352b396a11056"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 27 16:42:34 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 30 10:03:22 2020 -0700"
      },
      "message": "MediaMetrics: Move LimitProcessMemory to libmediautils\n\nEliminates the need for libmedia in media.metrics, cutting\nRSS nearly in half.\n\nTest: adb shell showmap \u0027$(pgrep -f media.metrics)\u0027\nTest: adb shell showmap \u0027$(pgrep -f media.extractor)\u0027\nBug: 152256321\nChange-Id: Id8aae66de84e712915888422b7372fd2b880570d\n"
    },
    {
      "commit": "72ee01deddaecbfb8766b3acdc60cc04f1bad24e",
      "tree": "831f8c8545fd20db5ae664168b19269d9fedb979",
      "parents": [
        "379d687ba8c831cedf406d95309c4e7a6f66639d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 26 13:07:31 2020 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 26 14:48:33 2020 -0700"
      },
      "message": "TimeCheck: fix use of uninitialized variable\n\nVariable \u0027tag\u0027 in TimeCheck::TimeCheckThread::threadLoop\nmay end up being used w/o prior initialization.\nFound by clang-tidy.\n\nBug: 152526318\nTest: m\nChange-Id: Ifc1efbee39007ea9cfba8083edbfdb763eafb8dc\n"
    },
    {
      "commit": "57a3769fb12dc8b2df457e0919850bd976716706",
      "tree": "f170ceb064b6be5d9443af5f2f95ac55c612c270",
      "parents": [
        "3006a83565b6863f247bf634faa929b84608026e"
      ],
      "author": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Mon Mar 23 17:27:25 2020 -0700"
      },
      "committer": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Tue Mar 24 16:20:36 2020 +0000"
      },
      "message": "Revert \"Allow call audio access for default dialer application\"\n\nThis reverts commit ac26cf749f457e12a3d8d7456bbcd58a3e028d69.\n\nReason for revert: Feature has been postponed\nBug: 151761909\n\nChange-Id: I90a977a23c5b97ddf95976cf2c4d517165f8e8c2\n"
    },
    {
      "commit": "ac26cf749f457e12a3d8d7456bbcd58a3e028d69",
      "tree": "0d3ba6751d1bee73ac1d6bf5c50771a2bfede68f",
      "parents": [
        "0f97ee5a52d697e31e9c6dc3c9e7aa941168b571"
      ],
      "author": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Mon Jan 06 14:43:38 2020 -0800"
      },
      "committer": {
        "name": "Ricardo Correa",
        "email": "rgcorrea@google.com",
        "time": "Tue Feb 18 22:54:20 2020 +0000"
      },
      "message": "Allow call audio access for default dialer application\n\nThe access to call audio (record and play) will be granted only to the app associated with Dialer role, who also includes a new system permission.\n\nTest: Compilation and manual tests\nBug: 135197853\n\nChange-Id: I65ca823c235d4d3420630837427103783ad1d1b0\n"
    },
    {
      "commit": "dbf0a2ee3492723913e898b6aa23e314056c8b86",
      "tree": "67d67ec62f95862b44aef7bc885a9840681671d1",
      "parents": [
        "0bc6f60e1f036380bd48d022631e6561b90f210c"
      ],
      "author": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Thu Jan 16 23:09:25 2020 +0200"
      },
      "committer": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Wed Jan 22 21:47:01 2020 +0000"
      },
      "message": "Add support for USAGE_VOICE_COMMUNICATION playback capture\n\nAllow audio playback capture for the USAGE_VOICE_COMMUNICATION usage\nonly for priveliged apps that are granted with  the CAPTURE_VOICE_COMMUNICATION_OUTPUT\npermission.\n\nTest: atest android.media.cts.AudioPlaybackCaptureTest\nTest: Manually\nBug: 124653474\nChange-Id: Ib568ca590ea534837c396536f5e31cf60a5caf52\n"
    },
    {
      "commit": "a20c4e9c9239d751d688d9a9fe5d92a8c613dd13",
      "tree": "9d5ccc5886dbf0cede2c4b63265f51f8f77eb283",
      "parents": [
        "e5f01a7d5edd517c3a52ca11e6908aead47ba916"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 15:55:51 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 10 11:11:27 2020 -0800"
      },
      "message": "AudioFlinger: add audio session for device effects\n\nAdd specific audio session ID for effects applied to a\nparticular audio device.\nDevice specific effects will be attached to a particular audio sink or\nsource device identified by its unique audio port ID and will all use\nthis same session ID.\nOnly one session of this type exists on a given playback or record\nthread.\nAll effects in this session apply to the same device ID and are created/released\nwhen the routing (audio patch) of this thread output or input stream is updated.\n\nBug: 136294538\nTest: make\n\nChange-Id: I4e3a55ed1244b918429dd9e217b6efecc1ec6449\nMerged-In: I4e3a55ed1244b918429dd9e217b6efecc1ec6449\n"
    },
    {
      "commit": "e6a65ac41bc5f974ac92887c44e4e1d21b3e190e",
      "tree": "11aa94c56ff91487272a113813a0ecbc76a9e182",
      "parents": [
        "ee32ea4296d160a15f221aabe83bea50c32ac612"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 08 16:56:17 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 09 11:21:23 2020 -0800"
      },
      "message": "ServiceUtilities:UidInfo: Fix accepted uid names\n\nAvoid looking up installer for \"android.\" packages,\nwhich increases boot time.\n\nTest: atest google/perf/boottime/boottime-test\nBug: 147386133\nChange-Id: I8e7461d85dd5d5cba9c77f10d35e138407a550a1\n"
    },
    {
      "commit": "a85efab79edd376e328559b3e2b45504a1a99f32",
      "tree": "9490b54b787f065aeae73acc1c3b32ba7fecdde7",
      "parents": [
        "370e94071d88ff787c26bdf49982d828ce484115"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 23 11:41:29 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 03 19:23:59 2020 -0800"
      },
      "message": "MediaMetrics: Move package name from uid to service utilities\n\nAllows sharing class with AudioFlinger.\n\nBug: 129355845\nBug: 138583596\nTest: atest mediametrics_tests\nTest: adb shell dumpsys media.metrics\nChange-Id: I6654dc9456dcd7c93821a8d83dd75d96b658f254\n"
    },
    {
      "commit": "79673cfb78356afb4bb531d5f6fe115ab41930cc",
      "tree": "82f9a497a3221f4043e4af36f19abd4ee00fbb96",
      "parents": [
        "c1a82b91f050f4b496b2d373046cb4c9fc32c8eb"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Sep 20 21:45:01 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 20 15:58:46 2019 +0000"
      },
      "message": "Implement DrmSessionManager w mediaresourcemanager\n\nBug: 134787536\nTest: DrmSessionManagerTest\nTest: DrmSessionManager_test\nTest: ResourceManagerService_test\nChange-Id: Iab9f4f681c83f46b043cefc8633bb3e513a8e75a\nMerged-In: Iab9f4f681c83f46b043cefc8633bb3e513a8e75a\n"
    },
    {
      "commit": "3f75a5bc38894cb6635837c49247c3fa50ed6c47",
      "tree": "a6a256606f82ae742012ec1532ef22009ab0ab25",
      "parents": [
        "602e1ae3a3d4e2ffe158dacfd268547d94a06b38"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 15:55:51 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 06 17:22:42 2019 -0800"
      },
      "message": "AudioFlinger: add audio session for device effects\n\nAdd specific audio session ID for effects applied to a\nparticular audio device.\nDevice specific effects will be attached to a particular audio sink or\nsource device identified by its unique audio port ID and will all use\nthis same session ID.\nOnly one session of this type exists on a given playback or record\nthread.\nAll effects in this session apply to the same device ID and are created/released\nwhen the routing (audio patch) of this thread output or input stream is updated.\n\nBug: 136294538\nTest: make\n\nChange-Id: I4e3a55ed1244b918429dd9e217b6efecc1ec6449\n"
    },
    {
      "commit": "b680e955f474a2f81ed35383da67209bcbdd7d10",
      "tree": "8fd48d3bca98f5cc5d96415255711817fc209553",
      "parents": [
        "9e1e25dd418773ad5e574441962dcc771d3ec2a3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 15:40:33 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Dec 05 13:00:07 2019 -0800"
      },
      "message": "media utils: dump audio HAL service before restarting audioserver\n\nAdd request to create tombstones of audio HAL servers before restarting\naudioserver process when the watchdog triggers.\n\nAdd audio device factory HAL interface API to retrieve HAL process pids when\npossible (on debug builds).\n\nAdd AudioFlinger service API to set audio HAL process pids from\nJAVA AudioService.\n\nBug: 141528385\nTest: Force watchdog and verify tombstone creation\nChange-Id: I68c1e8fb4db23e5952ad0c93d7d0b9d121b8ec18\nMerged-In: I68c1e8fb4db23e5952ad0c93d7d0b9d121b8ec18\n"
    },
    {
      "commit": "9e1e25dd418773ad5e574441962dcc771d3ec2a3",
      "tree": "a5733110e72d8e41d70a3b819458e2ceaa50f890",
      "parents": [
        "74cfcdf8237a455f8b8ec8e1b2a08fe777cf7512"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 14 18:47:34 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Dec 05 12:57:39 2019 -0800"
      },
      "message": "media utils: fix UAF in TimeCheckThread\n\nRead log tag from request list under lock\nto avoid use after free.\n\nBug: 142142406\nTest: make\nChange-Id: If4adab8c15a319dc84b7003adf3ac59a3980f075\nMerged-In: If4adab8c15a319dc84b7003adf3ac59a3980f075\n"
    },
    {
      "commit": "fdd512ab3eaeee9bfb12a5e9c6f4dfe18ff2f2cf",
      "tree": "dfcee29b05a8c5b6c8bbc6d204b8b11c5704daec",
      "parents": [
        "88468e169aa02aec147006aa8de1e5468e253f4e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Nov 22 11:03:14 2019 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 27 17:04:06 2019 -0800"
      },
      "message": "convert ResourceManager usage in MediaCodec to ndk aidl\n\nbug: 142396029\ntest: ResourceManagerService_test, DrmSessionManager_test,\nCTS ResourceManagerTest, manual test battery stats and cpuset\n\nChange-Id: I77f5de54a83b17d906798659e1b3281c90cde92c\n"
    },
    {
      "commit": "f1a584a44cd2fb35a1817438db4342ee8bd6825e",
      "tree": "1216162819d470bcbedf3958b25e91b58739e6a3",
      "parents": [
        "a24e36ccd5da2ec0c3f435c20862ce83b3a5151d",
        "42896a0774caae74ea8c982417ecbefb21913bc8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 11 23:24:02 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 11 23:24:02 2019 +0000"
      },
      "message": "Merge \"media utils: dump audio HAL service before restarting audioserver\""
    },
    {
      "commit": "8a1095a9f240b4ac69e8aa47954a3ceb1bd38e16",
      "tree": "5e498499c94c3fa171a75e8daa55f949b4ea04ce",
      "parents": [
        "484d6119d3ca9140d415dc1841d4c0c500d76a20"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 08 14:44:16 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 08 17:56:01 2019 -0800"
      },
      "message": "audio policy: fix playback permission checks\n\nAlign playback permission checks implementation in getOutputforAttr() on\ncapture checks in getInputForAttr(): use an \"output type\" returned by\naudio policy manager and check permission accordingly.\n- Do not modify but reject request to play to call uplink when permission\nis denied.\n- Add missing permission check for injection to remote submix.\n- Clarify permission check for record from remote submix by using the\nuid/pid of client explicitly.\n\nBug:\nTest: CTS test for AudioTrack and AudioREcord.\nTest: GTS tests for dynamic policies and playback capture\nChange-Id: Ic0eb3b9921a491e97c58fa8f637583059a54b3a2\n"
    },
    {
      "commit": "42896a0774caae74ea8c982417ecbefb21913bc8",
      "tree": "6e352631b91856d118f052b8c180085837e4f07a",
      "parents": [
        "484d6119d3ca9140d415dc1841d4c0c500d76a20"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 15:40:33 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 08 15:26:09 2019 -0800"
      },
      "message": "media utils: dump audio HAL service before restarting audioserver\n\nAdd request to create tombstones of audio HAL servers before restarting\naudioserver process when the watchdog triggers.\n\nAdd audio device factory HAL interface API to retrieve HAL process pids when\npossible (on debug builds).\n\nAdd AudioFlinger service API to set audio HAL process pids from\nJAVA AudioService.\n\nBug: 141528385\nTest: Force watchdog and verify tombstone creation\nChange-Id: I68c1e8fb4db23e5952ad0c93d7d0b9d121b8ec18\n"
    },
    {
      "commit": "6fcb941084faecce31909f1c50ee1ba442244f8b",
      "tree": "d8904b383fd5d7e01c3c966c1c57c44266dbad18",
      "parents": [
        "22cd27bcc50b17ebb5104400cece4c34f1729930",
        "c499a089250910118da5a292794d0dc1c9053171"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Oct 30 14:30:59 2019 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Oct 30 14:30:59 2019 -0700"
      },
      "message": "DO NOT MERGE - qt-qpr1-dev-plus-aosp-without-vendor@5915889 into stage-aosp-master\n\nBug: 142003500\nChange-Id: I0de886061b2d75f9c37e8edbd4e7e08225d0186b\n"
    },
    {
      "commit": "7480dcc47c1e96a7692a6c7301ac93c875a9e90b",
      "tree": "8e9728f448f16698cf0485f3d42857503b761ce2",
      "parents": [
        "d82222ee2ffb430e0874e7912771c8d40b57797a",
        "58a0dd832177e58a53fc428ab3e9ab86156b576d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 29 15:48:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 29 15:48:55 2019 +0000"
      },
      "message": "Merge \"Audio policy: modify permission needed to capture from source FM_TUNER\""
    },
    {
      "commit": "77819b82784e4a0a9ef4ccea7618c886f175817e",
      "tree": "ed83084e698b6494774dc0cd5b9cfe4815d899f3",
      "parents": [
        "57cf28f79c1d24ed259bcd8ca6227bb06952c24c",
        "00900336c1e2a67fb852758f9790fbf8050c19c5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 25 13:30:40 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 25 13:30:40 2019 -0700"
      },
      "message": "Merge \"Remove more header symlinks\" am: a2bc7eada8 am: ec565c575d am: ef6bd3e3a5\nam: 00900336c1\n\nChange-Id: I1ee034dda7407c84110b8fa92a38a427d58203b5\n"
    },
    {
      "commit": "00900336c1e2a67fb852758f9790fbf8050c19c5",
      "tree": "a167916c84b94f459ab90da4de6dbedb6b61886b",
      "parents": [
        "5eb34a7418444ccff82e763579134060e7421bcd",
        "ef6bd3e3a5afac7a6ed12c0d3b1a9190407a3fe5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 25 13:20:40 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 25 13:20:40 2019 -0700"
      },
      "message": "Merge \"Remove more header symlinks\" am: a2bc7eada8 am: ec565c575d\nam: ef6bd3e3a5\n\nChange-Id: Id54aa3ba3a1702aa4f8bcbecf01b94d3cefaf1d7\n"
    },
    {
      "commit": "58a0dd832177e58a53fc428ab3e9ab86156b576d",
      "tree": "d4db6d477b38b251b9a1a14031791daa4cf2cebe",
      "parents": [
        "9f03917ce011e4c860306d42c3f3cc70d2061190"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 24 12:42:17 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 25 09:35:47 2019 -0700"
      },
      "message": "Audio policy: modify permission needed to capture from source FM_TUNER\n\nCapturing from source AUDIO_SOURCE_FM_TUNER is possible only via @SystemApi\non one end and does not capture from an actual on the other end.\nAccordingly, do not check android.permission.RECORD_AUDIO anymore but\ncheck privileged permission android.permission.CAPTURE_AUDIO_OUTPUT instead.\nAlso bypass App Ops OP_RECORD_AUDIO check which is applicable only to capture from\nmicrophones.\n\nAlso fix audio recording permission check in MediaRecordClient to use\nrecordingAllowed() from ServiceUtilities\n\nBug: 135717621\nTest: CTS tests for AudioRecord\nChange-Id: Ibb1d72f018d2e3ceee195338f2e262183eee2a23\n"
    },
    {
      "commit": "6b2859450f91f1cdd8b3ca2435df4dd37907cd8a",
      "tree": "4accc947ac99fa7246f5f7fc54f35b3c960636b1",
      "parents": [
        "35f148bc5a1cb1efffd9aee0223a06720a303329"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 21 14:52:30 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 24 21:25:53 2019 +0000"
      },
      "message": "Remove more header symlinks\n\nTest: build\nBug: 143245419\nChange-Id: I9bb03d54c7792625b73602f2d3721e29f8f929be\n"
    },
    {
      "commit": "5b9f07a21bfa0d8f3e44a6e64d877c944bb4429f",
      "tree": "fcdda2273ad84f8f20e3e8e0f48897341e6a04df",
      "parents": [
        "935876110cb820240fcc7ad4a3ada0c1e8cb18e3",
        "c3af31b8f1a7bac5d3e3c953702c8faec3cd55e3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 16 23:29:23 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 16 23:29:23 2019 +0000"
      },
      "message": "Merge \"Implement DrmSessionManager w mediaresourcemanager\""
    },
    {
      "commit": "9b9b3de144ce3a145b01a01424b706f69c6d7ed6",
      "tree": "a40f282f44a7679405e6b90f092b9e4f3df36ed6",
      "parents": [
        "d373b0efa176f1639a860d688d0dcca3460acdb5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 14 18:47:34 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 14 18:47:34 2019 -0700"
      },
      "message": "media utils: fix UAF in TimeCheckThread\n\nRead log tag from request list under lock\nto avoid use after free.\n\nBug: 142142406\nTest: make\nChange-Id: If4adab8c15a319dc84b7003adf3ac59a3980f075\n"
    },
    {
      "commit": "c3af31b8f1a7bac5d3e3c953702c8faec3cd55e3",
      "tree": "30533ca112d60914f2c23acda83394275b97ea25",
      "parents": [
        "32706253ce90531c94b5f2af7caacb443eb09d8c"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Sep 20 21:45:01 2019 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Oct 04 22:05:40 2019 -0700"
      },
      "message": "Implement DrmSessionManager w mediaresourcemanager\n\nBug: 134787536\nTest: DrmSessionManagerTest\nTest: DrmSessionManager_test\nTest: ResourceManagerService_test\nChange-Id: Iab9f4f681c83f46b043cefc8633bb3e513a8e75a\n"
    },
    {
      "commit": "21bbf7d12f74ada28f5b73f3a5bded613df8c609",
      "tree": "49d9e063daf683dc44aadd75efb2a3f9aa637af4",
      "parents": [
        "1167ff999c6a7451e7a328242b3148947cc918ee",
        "0360e714b86ceb1764f888389780d8bee7eec700"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 15:20:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 27 15:20:59 2019 -0700"
      },
      "message": "Merge \"Remove symlinks from include dir\" am: 5158f491c6 am: 5582a7360a\nam: 0360e714b8\n\nChange-Id: I74d8495c913ad46396294390b49e9828653fab99\n"
    },
    {
      "commit": "3230ed8235a39adef82d7c3873e6a87007799ff8",
      "tree": "158042769963aa698a8fbd240d2abfc352220c3d",
      "parents": [
        "6dc75fb0cde69661a1d2d915c1520b251ebdfbbb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 26 11:20:54 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 12:12:46 2019 -0700"
      },
      "message": "Remove symlinks from include dir\n\nTest: build\n\nChange-Id: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\nMerged-In: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\n"
    },
    {
      "commit": "cf90b4931734e42c6092318991f213b76d7e849e",
      "tree": "3c0c685cb75bbdc37172d24113f6c0dbcbf3dfb4",
      "parents": [
        "d2dc18b063c548d9646dd1127fea97ccebdba079"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 26 11:20:54 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 09:02:30 2019 -0700"
      },
      "message": "Remove symlinks from include dir\n\nTest: build\n\nChange-Id: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\n"
    },
    {
      "commit": "2637fac8a81469830f3798694be0a8337a7a492e",
      "tree": "003c18dcc18d042b0d37549562f4130fc9610134",
      "parents": [
        "000dfb678285585d47dc4294ced2eaf694fdbb10",
        "99a94746c9a2f0fc2bb6f7086aa8b586a58e0a49"
      ],
      "author": {
        "name": "Jeffrey Carlyle",
        "email": "jcarlyle@google.com",
        "time": "Wed Sep 18 11:31:12 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 18 11:31:12 2019 -0700"
      },
      "message": "Merge \"ServiceUtilities: don\u0027t do RECORD_AUDIO check for system server\" into qt-qpr1-dev am: 804b87d1f8\nam: 99a94746c9\n\nChange-Id: Ib02c62391b92d1b2f85801f65d006ef8c02ef10d\n"
    },
    {
      "commit": "99a94746c9a2f0fc2bb6f7086aa8b586a58e0a49",
      "tree": "3c364bd4371711ac744c49d6cea8b86f13b15c94",
      "parents": [
        "72da56ed189ec5a6656ad0d4dc4b8621f0604163",
        "804b87d1f80df7b5fbe77e59100c375be1542db7"
      ],
      "author": {
        "name": "Jeffrey Carlyle",
        "email": "jcarlyle@google.com",
        "time": "Wed Sep 18 11:26:11 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 18 11:26:11 2019 -0700"
      },
      "message": "Merge \"ServiceUtilities: don\u0027t do RECORD_AUDIO check for system server\" into qt-qpr1-dev\nam: 804b87d1f8\n\nChange-Id: I2b0828faf0e54ce58465edd5c97c564ee829168f\n"
    },
    {
      "commit": "62cc92bb3801f1181403c78b4f942874050bb874",
      "tree": "5b026f29b960d0ac13cfe7cc2c0fac38891230ab",
      "parents": [
        "1f1b954261e8821a7bf03c25abfd127dcc1f4844"
      ],
      "author": {
        "name": "Jeffrey Carlyle",
        "email": "jcarlyle@google.com",
        "time": "Tue Sep 17 11:15:15 2019 -0700"
      },
      "committer": {
        "name": "Jeffrey Carlyle",
        "email": "jcarlyle@google.com",
        "time": "Wed Sep 18 03:30:30 2019 +0000"
      },
      "message": "ServiceUtilities: don\u0027t do RECORD_AUDIO check for system server\n\nOnly one system server seems to exist across multiple-users; however,\nwhen the primary user is backgrounded, system server loses its\nRECORD_AUDIO permission.  Through a number of steps this prevents the\nsecondary user from starting any services that use the SoundTrigger HAL;\nspecifically, this was found because it prevents Oslo from functioning\nwhen a secondary user is active.\n\nBug: 139839188\nTest: Oslo use cases pass\nChange-Id: Ia0dd5fd3b6992cb18279b81146b35ed040771245\nSigned-off-by: Jeffrey Carlyle \u003cjcarlyle@google.com\u003e\n"
    },
    {
      "commit": "51eb2f447a3239ef818975bd4d594889a8cb502e",
      "tree": "7b56d77bd39bcbb6ebfc51a36421a02ce337c13b",
      "parents": [
        "34438bed76b81d20a401ae6094e46077d83b9850",
        "7dd39723b34c8378fc5eabb4d4ccacf32f55ffe2"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Tue Sep 17 15:05:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 15:05:44 2019 +0000"
      },
      "message": "Merge \"Improve visibility of IMemory security risks\""
    },
    {
      "commit": "9d2e008603bfe9dd46098dd4e58ad551078b9d8e",
      "tree": "b0b68436882064d04591dd55f7963f2ea00cceab",
      "parents": [
        "47f98f62a9db5b3650df14184963b5b299bb4e3a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 11 19:08:13 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Sep 16 12:34:43 2019 -0700"
      },
      "message": "Use bionic platform headers.\n\nBug: 130763340\n\nTest: Builds.\nChange-Id: I8cabd441431cd357bf2842bb40809db5a3ad171e\nMerged-In: I8cabd441431cd357bf2842bb40809db5a3ad171e\n(cherry picked from commit 7a3180d3c87bc91561e0a61ff5bc662ea6a1e627)\n"
    },
    {
      "commit": "7dd39723b34c8378fc5eabb4d4ccacf32f55ffe2",
      "tree": "222de47bcb84931d714d250fe51d3249771edc18",
      "parents": [
        "61d4a093f4b4041b145fbd7a3ab5ec04679f87d9"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Sep 05 15:14:30 2019 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 13 10:59:51 2019 -0700"
      },
      "message": "Improve visibility of IMemory security risks\n\nThis change renames the IMemory raw pointer accessors to\nunsecure*() to make it apparent to coders and code reviewers\nthat the returned buffer may potentially be shared with\nuntrusted processes, who may, after the fact, attempt to\nread and/or modify the contents. This may lead to hard to\nfind security bugs and hopefully the rename makes it harder\nto forget.\n\nThe change also attempts to fix all the callsites to make\neverything build correctly, but in the processes, wherever the\ncallsite code was not obviously secure, I added a TODO requesting\nthe owners to either document why it\u0027s secure or to change the\ncode. Apologies in advance to the owners if there are some false\npositives here - I don\u0027t have enough context to reason about all\nthe different callsites.\n\nTest: Completely syntactic change. Made sure code still builds.\nChange-Id: I5fb99aa797c488406083178a6b05355d98710d3b\n"
    },
    {
      "commit": "7a3180d3c87bc91561e0a61ff5bc662ea6a1e627",
      "tree": "045f5594e9197d9f7515407c47bbcb566065aa9d",
      "parents": [
        "b646c8721fc60df3abe7a49c726a1f2ac223a3e6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 11 19:08:13 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 11 19:08:13 2019 -0700"
      },
      "message": "Use bionic platform headers.\n\nBug: 130763340\n\nTest: Builds.\nChange-Id: I8cabd441431cd357bf2842bb40809db5a3ad171e\n"
    },
    {
      "commit": "8021f69cc8f235eb36246a21f1118f0557e21f85",
      "tree": "8facbabdc5b9fd923adf8e27fd7430281d60de54",
      "parents": [
        "dc8ee518f7a35d0c9d8f9fadfd887d97d8e527ff"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 30 08:48:19 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 01 18:18:10 2019 +0000"
      },
      "message": "Remove product_is_iot.\n\nTest: treehugger\nExempt-From-Owner-Approval: cherrypick\nChange-Id: I0a29825c8e9fe082c0dd2bee60cfc04665678fcd\n(cherry picked from commit 917bb01c6bb02060a01f804431dd503f9b256d30)\n"
    },
    {
      "commit": "917bb01c6bb02060a01f804431dd503f9b256d30",
      "tree": "7e438ad26a58f5ab102c27230ea92bdc56424384",
      "parents": [
        "d19c592b134be35ac4f75cda5ccad0367ca8db86"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 30 08:48:19 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 30 15:49:07 2019 +0000"
      },
      "message": "Remove product_is_iot.\n\nTest: treehugger\nChange-Id: I0a29825c8e9fe082c0dd2bee60cfc04665678fcd\n"
    },
    {
      "commit": "cdc2f7cb3480f528d79966044013cea47296deb9",
      "tree": "4deef1c8ff0b99122c8497464282c281af855a5d",
      "parents": [
        "1c23036f6c55e4f38653b330bbebd05fd8fcba17",
        "e81a326d90dfce1249917b796f69b48fe1c59971"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 11 18:31:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 11 18:31:59 2019 -0700"
      },
      "message": "Merge \"audioservice: add RTT mode observer\" into qt-dev\nam: e81a326d90\n\nChange-Id: I9490f8b940629a09cf62cd5211c4f626e2d4079c\n"
    },
    {
      "commit": "6ede98f9b3e3e1988f401d79b625ead653027ccc",
      "tree": "2306e3b551752f70ec01a6d8ed87824743c2ef81",
      "parents": [
        "e0092766d214720c1fd22b8c08ccc7ceeaf4a700"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 11 14:50:30 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 11 14:55:25 2019 -0700"
      },
      "message": "audioservice: add RTT mode observer\n\nEnable audio capture by the Assistant when RTT is ON during a call\nsimilarly to when an accessibility service is in the foreground.\n\nAlso remove log when permission checked for hotword\nand audio output capture fail as those checks are now done\nsystematically.\n\nAlso do not check permission to bypass interruption policy if\nbypass flags are not set.\n\nBug: 132976361\nTest: use voice input during a call with RTT enabled.\nChange-Id: Iff45b0816dac889262ec29ea115f74dea4dc6b6d\n"
    },
    {
      "commit": "d8e3af08e643a0923f96ceb3e8b64ce63148aab7",
      "tree": "31afda0efc3ae11919f66aeb6357b334251535c9",
      "parents": [
        "6e89801b62e3df72b91c34ccb96cd75e71e6b054"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 17 13:28:13 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 17 15:38:56 2019 -0700"
      },
      "message": "Replace unused dependency on libmemunreachable\n\nlibmediautils was accidentally getting backtrace_string through\nlibmemunreachable.  Remove the dependency, which is causing problems\nfor making libmemunreachable vendor_available, and use\nlibc_malloc_debug_backtrace instead.\n\nBug: 132302484\nTest: m libmediautils\nChange-Id: Ide83ce43027f28d548a76c607a84bab6604213cf\n"
    },
    {
      "commit": "429844193f7149f3b642f1f260a7f20398eb3778",
      "tree": "96fc240567b6c528242f4a88582b587e7ba09c48",
      "parents": [
        "459e59820f8914a10c1d015fb4fa09b723cacaca"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 09 17:57:03 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 10 15:38:12 2019 -0700"
      },
      "message": "audio policy: add permission check for privileged attributes flags\n\nAdd check for privileged permission if attributes\nflags BYPASS_INTERRUPTION_POLICY or BYPASS_MUTE are set.\n\nBug: 131873101\nTest: Manual smoke tests for audio playback.\nTest: Emergency cell broadcast in\nChange-Id: I073cf669f606f0d081ff5c8d19f39b5e12efe297\n"
    },
    {
      "commit": "a90adf0a05c7582227493cc90dcaa917a6f1a445",
      "tree": "ef004bc777b3d7d6110229f4a799b50c2057d2e6",
      "parents": [
        "8263e3519b6801f019e471efe4a6045b7046e4d3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 17 13:26:15 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 19 11:16:40 2019 -0700"
      },
      "message": "Move to android_mallopt for malloc debug calls.\n\nBug: 130028357\n\nTest: Enable backtrace for mediaserver, run dumpsys media.player -m\nChange-Id: I75adddfc5048f732ee7ec27c17192efd5857af38\nMerged-In: I75adddfc5048f732ee7ec27c17192efd5857af38\n(cherry picked from commit bd0195ecacaa5381278d8f96b51af36631dc0cd9)\n"
    },
    {
      "commit": "68e0df70cdd57dbe32f11b5de50dd83c6492d075",
      "tree": "487ed1ea1849844493c436ccde9d432724fd652f",
      "parents": [
        "63dc6cf50582fa13702c59f43155f6c18312178b"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Mar 18 17:55:35 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Apr 02 17:31:42 2019 -0700"
      },
      "message": "Use package name, pid, uid to check permission of capturing hotword.\n\nPackage name will be cached in ModuleClient when attaching a client. It\nwill be used when querying permission of capturing hotword.\n\nTest: test with logging.\nBug: 74078996\nBug: 122721589\nChange-Id: Icd2911f5d331d243c9eb5d58003ce5525c70c81e\n"
    },
    {
      "commit": "36b17553b2c3aad4d8f600edd2e82f9a583ee05a",
      "tree": "b07a90eaf6bcba6f06fd56ab3976d1c71c7fd712",
      "parents": [
        "791d3370830b8e22b8bbaf41c3de900de48d2be3"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Mar 07 18:48:07 2019 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Mar 22 17:21:30 2019 -0700"
      },
      "message": "Introduce a system APC with its corresponding opt-out\n\nFor system application with the new permission CAPTURE_MEDIA_OUTPUT, or\nCAPTURE_AUDIO_OUTPUT, allow to capture the audio of playing apps that\nallow it.\n\nTest: adb shell audiorecorder --target /data/file1.raw\nTest: atest android.media.cts.AudioPlaybackCaptureTest\nBug: 111453086\nChange-Id: I5bfca51e48992234508897c595a076d066db26b2\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "8be94978a3ec70d8dd621c9b5548f27ddd41ad7a",
      "tree": "0247595dfce3b8cb46e6e94e6cdb6303c0e92d7a",
      "parents": [
        "be20185b2f93e429aa4f69fa4caa3ac9cac2ecc3"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 22 13:26:25 2019 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Feb 27 16:24:55 2019 -0800"
      },
      "message": "Check for app manifest opt-out from playback capture\n\nQuery the package manager to check if the app has not opt-out of its\nplayback being captured.\n\nTest: adb shell audiorecorder   --target /data/file1.raw \u0026\n      adb shell am start -a android.intent.action.VIEW -d file:///system/media/audio/ringtones/Lollipop.ogg -t audio/ogg\n      adb dumpsys media.audio_policy # check playback is not recorded\n      # change media player manifest to allowPlaybackCapture\u003dtrue\n      adb dumpsys media.audio_policy # check playback is recorded\n      kill %1\n      adb pull /data/file1.raw \u0026\u0026 sox -r 48000 -e signed -b 16 -c 2 file1.raw file.wav\u0026\u0026 audacity file.wav\n      # check silence then sound\n\nBug: 111453086\nChange-Id: Id6fb7d0e10c02b0473bcbc0786e8360536996f48\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "5c5c8a11e8efc9f08eba73f830f5205a8f5ad055",
      "tree": "a377258d6a024a67be0feb4382c1907a5e0a5fec",
      "parents": [
        "bb6d61d78d2a488dd36de7c8cd0c7038732ddd1f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 15 17:36:00 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 15 17:36:00 2019 -0800"
      },
      "message": "audio: use proper app ops API to check capture audio permission\n\nUse AppOpsManager.checkOp() instead of AppOpsManager.noteOp() to verify\ncapture audio permission when creating an AudioRecord client.\nThis avoid false triggering of mic use UI indication if capture is not\nactually active.\n\nTest: verify main audio capture use cases\nChange-Id: I38c7429bf2c8cdeaba907c868b94e39b69626c55\n"
    },
    {
      "commit": "37d73d1502db31e3542f1ce4de5c7cbed8d1e174",
      "tree": "979cc26d7ee3343a662bc742587c1617a8390e68",
      "parents": [
        "a308287ea13cbab40ad6892be20b1253b83c0e36"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 12:49:09 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 15:18:12 2018 -0800"
      },
      "message": "Remove unused libraries from various media libraries\n\nTest: build\nChange-Id: I3bfb70a6ed3fe8f0e1683d456156517f8b992a33\n"
    },
    {
      "commit": "32b4f494fb4c032a8c9e8f3b8c9ed1d7ccd8ef22",
      "tree": "be0513d33052df294b4bf98f466e789c47377494",
      "parents": [
        "6fdd7d07da60c4c846e4a0a5af900982f65ac551"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 14 18:38:21 2018 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 21 12:06:27 2018 -0800"
      },
      "message": "libmediautils: move AImageReader_getHGBPFromHandle from libmediandk.\n\nThis allows us to remove camerserver\u0027s dependency on libmediandk,\nthereby reducing its vss increase (brought about due to many of\nlibmediandk\u0027s dependencies, which cameraserver does not need)\n\nBug: 119582723\n\nTest: mm -j64\nTest: showmap \u003cpid of cameraserver\u003e vss before change: 50628\nTest: showmap \u003cpid of cameraserver\u003e vss after change: 31256\nTest: AImageReaderWindowHandleTest\n\nChange-Id: I8dec6430adda538cb293cdd0d087b9ae1767b900\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "433722eeb72ab11bb945664fa939cf7ef737af6d",
      "tree": "194eab009f7fad2010a5baa3c82b1a497d4543e3",
      "parents": [
        "5c00d01c85430178d19f6266f1bc5c94a29853c1"
      ],
      "author": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Tue Apr 24 14:25:22 2018 -0700"
      },
      "committer": {
        "name": "Ari Hausman-Cohen",
        "email": "arihc@google.com",
        "time": "Thu Aug 02 11:34:36 2018 -0700"
      },
      "message": "Add dynamic stream default effects\n\nAllows runtime modification of what effects should be default\nattached to streams of different types/usages. The core functionality\nwas already in the AudioPolicyEffects system, this allows\nthe dynamic modification of the lists.\n\nBug: 78527120\nTest: Builds, manually tested an app adding a stream effect,\ntested both media on the specified stream and on a different stream.\nAlso tested by Android Things integration tests.\nChange-Id: Ie0426b17ff7daece58b8c85d72fbef620844325b\n"
    },
    {
      "commit": "39b09b52e313e89c3493927b379d2e256bf04bd9",
      "tree": "04e64f327c09b0d3344884d59c35ff520c751e3e",
      "parents": [
        "cd56a1c2a0adcd21aad3a64c761aa3562d915be1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 29 12:24:40 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 10 09:02:26 2018 -0700"
      },
      "message": "audioserver: log system event for binder timeouts\n\nAdd event logging in case of audioserver watchdog to help\ncollect statistics.\n\nTest: make. Simulate watchdog and check events in logcat.\n\nChange-Id: I4716852c77d56703ad5f3dfc2500f598a2b80a12\n"
    },
    {
      "commit": "9b11c026344077dab9591bb8b9afdf3e7bd93eb1",
      "tree": "44bd2406c5d45c730437b4003535983df4d404f9",
      "parents": [
        "7e19897b405318df20eccb1d697a8ecccd70fbc7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 06 19:19:22 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 07 16:50:45 2018 -0700"
      },
      "message": "sound trigger: more checks on IMemory received from client\n\nAdd a verification on actual size of the fd backing up the IMemory\nrecevied for sound model or recognition config.\n\nFix similar problem for AudioTrack shared buffer.\n\nBug: 78596657\nTest: run POC. OK Google regression.\nChange-Id: I7cb02785f8ba46c437c7fcaa5b821f4b7e3240a0\n"
    },
    {
      "commit": "4ef19fa450e8b523741a22fabee8f62691abec37",
      "tree": "5d0eaaf73cebe029d1d8dd935d5c6fddb12ee70f",
      "parents": [
        "ab7ef300b74904bce6c5c810d9e5679abfa582e6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 15 19:35:29 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 17 18:11:55 2018 -0700"
      },
      "message": "Update audio permission checking\n\nChange captureAudioOutputAllowed to check client pid.\n\nCheck calling uid with AID_AUDIOSERVER instead of calling pid with\nown pid. This is consistent, and works if AudioFlinger and\nAudioPolicyManager exist as different processes.\n\nRemove getpid_cached since getpid() is very fast. This removes\nany initialization issues.\n\nReplace getuid() with AID_AUDIOSERVER to remove ambiguity of\nmultiple native audio services for multiple users. Only\none exists regardless of users.\n\nDo not use multiuser UID checks for certain native services\nthat do not spawn for multiple users to prevent accidently exposure.\n\nMove permission checks to use ServiceUtilities for control and\nconsistency.\n\nRename isTrustedCallingUid to isAudioServerOrMediaServerUid\nso that permission check is explicitly known to caller.\n\nUpdate MediaLogService to use ServiceUtilities.\n\nTest: Basic sanity\nTest: AudioTrackTest, AudioRecordTest, SoundPool, SoundTrigger\nBug: 79485140\nChange-Id: Ib8ccb36929a9b4806c01626f32fa023a046d6020\n"
    },
    {
      "commit": "ab7ef300b74904bce6c5c810d9e5679abfa582e6",
      "tree": "dadb05ba8da176c046139ca43c3fae48a14191c3",
      "parents": [
        "1f2bfd3ac9d61982acb348d2c78f95c7d4b0bf05"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 15 19:35:29 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 16 18:49:09 2018 -0700"
      },
      "message": "Move ServiceUtilities from audioflinger to libmediautils\n\nTest: Play Music, Play Movies, Camera, Photos\nBug: 79485140\nChange-Id: Ib8382547828e386024145c416321d24e4af182db\n"
    },
    {
      "commit": "79d2b28f3a04d7914bb932a65d87117c0c7c11cf",
      "tree": "386c0e23123c52191f3c098351898cd6a0bdb4bf",
      "parents": [
        "1cdd674121096020f7f17c216940a14aa58ff31e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 17 14:14:31 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 18 13:46:03 2018 -0700"
      },
      "message": "Request cpuset change for 1080p HDR using soft decoder\n\nKeep track of cpuset change requests in ResourceManagerService,\nand request changing of cpuset via SchedulingPolicyService.\n\nBug: 72841545\n\nTest:\n\n1)Using modified Youtube/Exoplayer (that uses softMediaCodec\nto decode VP9 profile2), manually verify the following:\n\n- media.codec is put into top-app cpuset playing VP9 1080p HDR\n- media.codec is put back into foreground after done\n- media.codec stays in foreground cpuset playing other content\n- kill the app process, verify media.codec is put back to\n  foreground until new instances request top-app\n- kill mediaserver process, verify media.codec is put back to\n  foreground until new instances request top-app\n- kill media.codec process, starting playback again, verify new\n  media.codec\u0027s cpuset can be changed correctly\n- kill system_server process (using \u0027adb shell stop \u0026\u0026\n  adb shell start\u0027), verify media.codec is put back to\n  foreground. Restart playback and verify the cpuset can be\n  changed correctly.\n\n2) CTS post submit tests\n\nChange-Id: Iba50ede1c08b695821fe4f56dbfc5694eab54e7b\n"
    },
    {
      "commit": "4049f13fb3d1c588d3e4dc518ede15d45dca4c9e",
      "tree": "3f0566fb3f3f9cb441e3b466f95341c600c9c1ef",
      "parents": [
        "205266aacc675dfb7a7f9f985c4ca973163cb59e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 22 10:37:31 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 22 18:48:46 2018 -0800"
      },
      "message": "MediaPlayer2: build static libs for some components\n\nTest: compiles\nBug: 63934228\nChange-Id: I1791b40a67c87ea3146825767699e5022444e433\n"
    },
    {
      "commit": "021c8bc0db0a8934881f99ce4926eb9e0f169f6a",
      "tree": "96beb207bbd52294243a35b2e8933f71f0e7f740",
      "parents": [
        "2ef26a0d04b9cc6cebbda733056e4ac09f738c61"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 13 14:38:49 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 13 14:40:19 2017 -0800"
      },
      "message": "Remove unnecessary links\n\nTest: build\nChange-Id: I5b7c37648df8043795bad9b0544ecf77a5148b69\n"
    },
    {
      "commit": "8499f13735227aab50b4bc859a1ea6f02166e912",
      "tree": "25f47c647364a40db2ece3d0e06496e0f0e42a16",
      "parents": [
        "08455b8df21e586c88d9f66eff71f0d26230192e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 04 08:08:45 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 08 08:13:11 2017 -0700"
      },
      "message": "Update OWNERS to be more specific\n\nStill to do ... media/OWNERS\n\nTest: Gerrit works as expected\nChange-Id: I2645175569b579764d0298641287e56bfabeab9f\n"
    },
    {
      "commit": "22ee46008d6fb8eb4cbe8aa62acf3899e5da3a92",
      "tree": "fe3f2cca2af2e9ce612523b31b379e42cd74ed3e",
      "parents": [
        "ef0b6b64144b6e062bbb445a6df73c365b66646d"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 07 10:44:52 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 07 16:59:44 2017 -0700"
      },
      "message": "libmediautils: mk -\u003e bp\n\nTest: module built and works with scheduleservice\nBug: 29251823\nChange-Id: I0dc38288b66f03919dbb9ab8abcc76dec19b0b30\n"
    },
    {
      "commit": "83f042776b131b149f803fff6ab184ae2c4d98cd",
      "tree": "d3c78a3313c94799261a927c84cddc7c0ebdd398",
      "parents": [
        "ba05ff122c080be9fafe1f8112052cacfcd2b6fe"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Feb 07 10:45:09 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Feb 09 15:51:36 2017 -0800"
      },
      "message": "audioflinger: Adjust priority of hal threads\n\nHALs are prohibited from using framework binder, and there is\nno equivalent scheduling policy service in hwbinder. Thus, in order\nto match priorities of FastCapture / Mixer threads with their\ncounterparts in the HAL, it is needed to request the priority boost\nfrom audioflinger on behalf of the HAL.\n\nTest done to verify the priority was correctly set.\n\nBug: 34131400\nChange-Id: If8b6b031c0fcba771fae901a5b8e7da89b3a1570\nTest: check priority match between audioflinger\u0027s and hal\u0027s threads\n"
    },
    {
      "commit": "9c8086fa924e8b570fa66c3ef3bce0ec24a16031",
      "tree": "a54e6095684f7a247ce54ea791f6d7230c7ff81d",
      "parents": [
        "e158da59b3b525cf271968bec3967414b21159fa",
        "1afd0983fdca07cd55df8dca1fa05b55c45063f4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 10 00:27:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 10 00:27:35 2016 +0000"
      },
      "message": "Merge \"MediaPlayer: Use uid_t for uids\""
    },
    {
      "commit": "1afd0983fdca07cd55df8dca1fa05b55c45063f4",
      "tree": "8b18742499e87de49231f89af89aa7a2e8d48364",
      "parents": [
        "1f12a8ad958344c50733b948628ffa06db9c5bc6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 08 16:13:44 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 08 16:44:22 2016 -0800"
      },
      "message": "MediaPlayer: Use uid_t for uids\n\nTest: Power manager shows correct uids\nBug: 32713790\nChange-Id: Iddf8de5705319ec17c68787efc11e342779660c5\n"
    },
    {
      "commit": "75571e4bc76bd2defd4309c7154120840396329d",
      "tree": "6011d30e202e4e6c03fdeffda65a9ad98ff2c131",
      "parents": [
        "300379ab01ec4c5f9f538284dbb1e49ad012de29"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 16:34:52 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 16:34:52 2016 -0800"
      },
      "message": "Clean up mediadrm dependencies\n\nMove various things around so mediadrmserver doesn\u0027t need\nlibstagefright and libmedia\n\nTest: build/boot\nChange-Id: I48b713cd679b992cb6ad1262c20394a9892d7027\n"
    }
  ],
  "next": "538ec5e04f389cba637b030757be317fcb8677a8"
}
