)]}'
{
  "log": [
    {
      "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": "bb07853cea158899b0296886b2bac239eaf738dd",
      "tree": "c6361db311687c9f9fa6750698f6466d543ddba9",
      "parents": [
        "be78d20a39da3c48e906710b4e5868d670781066"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 20:14:05 2020 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 09 20:14:05 2020 +0000"
      },
      "message": "mediaresourcemanager: remove AIDL comparison ops\n\nThese are now auto-generated.\n\nThese are now auto-generated, and these were creating ambiguous\nresolution errors.\n\nBug: 175018841\nTest: tests in test mapping\nMerged-In: Iac63f7fc5c6c7152d69071ba5d4ef2daf873ffdb\nChange-Id: I9288dc07ebb49158bd8540672b8dadca1036dde9\n"
    },
    {
      "commit": "271429dbdd93bb824c0f5df107f47bf3cf8e6e25",
      "tree": "c6c96105b21a539c6de819b604dd8ef6402f051b",
      "parents": [
        "e53a2243b289e0d578333c9faf5c17433abd234e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Oct 01 10:12:56 2020 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Oct 02 15:33:51 2020 -0700"
      },
      "message": "MediaCodec: clean up resources pending removal at init\n\nUntil we can track memory usage in ResourceManager, always clean up\nresources pending removal at init so that we can reclaim memory\nand any other resources that are untracked.\n\nBug: 169398817\nTest: atest ResourceManagerService_test\nTest: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\nChange-Id: Ia515443379edb03e68dd2ff5cba07c405aacd433\n"
    },
    {
      "commit": "3257b3657bc3c4baef54aa228ac176bd9036c277",
      "tree": "1a4e6b50aa562d1dbbbb8e6f6eb10fbb2bb73de7",
      "parents": [
        "699960dbd1dd37a9bc3ace4e006c574c57de2409",
        "13de788c0bef4be20bf3de7cf44420c87aed1cbb"
      ],
      "author": {
        "name": "Alistair Delva",
        "email": "adelva@google.com",
        "time": "Tue Jul 07 01:44:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 07 01:44:09 2020 +0000"
      },
      "message": "Merge \"Build 64-bit mediaserver on 64-bit-only\" am: b29806e2f6 am: 13de788c0b\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1327538\n\nChange-Id: I630ba2271348774d2d3f96ebffc2e918b2e2cd18\n"
    },
    {
      "commit": "1ab0b88dd176855fde022b2e27d1a539434f599f",
      "tree": "7d03d5928be56baa5215527aa0fe565bd6cf1b1f",
      "parents": [
        "a4d629d3112cb6d27222eff7a24fc47f39da9539"
      ],
      "author": {
        "name": "Alistair Delva",
        "email": "adelva@google.com",
        "time": "Tue Jun 09 11:47:23 2020 -0700"
      },
      "committer": {
        "name": "Alistair Delva",
        "email": "adelva@google.com",
        "time": "Mon Jul 06 09:53:03 2020 -0700"
      },
      "message": "Build 64-bit mediaserver on 64-bit-only\n\nThis change also updates the mediaresourcemanager tests to be buildable\non both 32-bit and 64-bit, without adding additional libraries to the\nsystem image.\n\nBug: 16890215\nChange-Id: Icf8f1d0b098217d34bf27911a72346124588cc5b\n"
    },
    {
      "commit": "d20e9366519b44218894df3a1e9e05611eef223d",
      "tree": "771e1b1b87be2b89a6697ab51a1405e5ddceeed7",
      "parents": [
        "2578a95a57dd9796b55095dc22b8171dd5da73c3"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Apr 28 10:42:57 2020 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Apr 28 19:30:14 2020 -0700"
      },
      "message": "RELAND: \"stagefright: MediaCodec::releaseAsync()\"\n\nAt async release, set to stub surface to free up the current surface.\n\nBug: 129008570\nTest: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\nTest: manual app test\nChange-Id: I2d90bd37b2be5324199410e1f776afb9cb19d662\n"
    },
    {
      "commit": "0dfdf931b6dc4ee66722d67745ef0dd0133964b3",
      "tree": "b8d3449ab3e3daa2876dc330d225a463e37ffdfb",
      "parents": [
        "96544178efa46936543d099e6ac059eea704af1a"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Mar 09 21:22:44 2020 +0000"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Mar 09 21:27:11 2020 +0000"
      },
      "message": "Revert \"stagefright: MediaCodec::releaseAsync()\"\n\nRevert submission 10446783-mediacodec-lazy-release\n\nReason for revert: back-to-back video playback jitters\nReverted Changes:\nI119945684:stagefright: MediaCodec::releaseAsync()\nIeb4c0b2e1:media: lazy MediaCodec.release()\n\nBug: 150662913\nChange-Id: I5dfbd4a09af5ab29b9a20d58e804ce43993f2088\n"
    },
    {
      "commit": "96544178efa46936543d099e6ac059eea704af1a",
      "tree": "1caef62e95477c9b5bed5c9d2cfc25dea6fd2b1d",
      "parents": [
        "c62ad13ad8da6b31168f0d9f3e5f2a770ed0bbee"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Feb 27 12:44:18 2020 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Feb 27 15:42:29 2020 -0800"
      },
      "message": "stagefright: MediaCodec::releaseAsync()\n\nreleaseAsync() kicks off shutdown sequence but don\u0027t wait for it to\nfinish. Instead, mark itself as pending removal to the resource manager.\n\nBug: 129008570\nTest: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\nTest: ResourceManagerServce_test\nChange-Id: I119945684e4c101c44d64c13913fa01320662fa9\n"
    },
    {
      "commit": "32762929498272f5c4e158f95e0d7e37206919c0",
      "tree": "1d233d524d1065cda2f678b26f2d67e94d349642",
      "parents": [
        "b5c0071bb7a1c6524deb42ac6643d8fae3106248"
      ],
      "author": {
        "name": "Henry Fang",
        "email": "quxiangfang@google.com",
        "time": "Tue Jan 28 18:40:39 2020 -0800"
      },
      "committer": {
        "name": "Henry Fang",
        "email": "quxiangfang@google.com",
        "time": "Wed Feb 05 11:58:49 2020 -0800"
      },
      "message": "Add pid override feature to MediaResourceManager\n\nCurrent MediaResourceManager assume that the calling process actually use the resource.\nIn TV Input Framework, the actually user of the resource is different application.\nTo allow MediaResourceManager to use pid of actual user, we add overridePid method\n\nbug: 139809797\nTest: Manual\nChange-Id: Ia113ca2387dfbcc092eb150d19b4751448e9f27a\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": "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": "181e6950a1ce5b9705c47c4b4e288d978cb7283a",
      "tree": "b92dc19041aec4465161b112f45185cd4598c09a",
      "parents": [
        "318b26e722112462f93df797bf47ca3dabc80048"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 09 13:23:39 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 18 14:55:23 2019 -0700"
      },
      "message": "Convert IResourceManagerService to stable AIDL\n\nConvert with minimal change to the interface itself.\n\nAdd additional test to cover DrmSessionManager\u0027s usage\nof possible negative value field (which is signed now).\n\nbug: 142396029\ntest: ResourceManagerService_test, DrmSessionManager_test,\nCTS ResourceManagerServiceTest;\nManually check battery stats reporting.\n\nChange-Id: I5c537a54efc2663281c96ddbdbd4ee56f23c1adf\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": "dd726805942fdd953509a2038ecb88a18dc63081",
      "tree": "ef3bb5414271091ff45c86c02075a358330ee656",
      "parents": [
        "6c2b3146c6722b7950493d1e11f15ed4c39ef860"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 21 17:24:13 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 23 14:05:30 2019 -0700"
      },
      "message": "Add more testing for ResourceManagerService\n\nRefactor the calls to other system services to an interface\nto allow more testing.\n\nAdd test for callbacks to BatteryStatsService and\nSchedulingPolicyService.\n\nbug: 138381810\nbug: 139440234\ntest: presubmit\nChange-Id: I04408ad5a126e9f4083b5806b228449cb432acf6\n"
    },
    {
      "commit": "599a092e344e00032cfbc56a7395910fc0439453",
      "tree": "f407b0699b42ce4f34e895918d88ba13e205a7fb",
      "parents": [
        "fb092d3b720923efaf0f9d4f4c16c57da6d657ac"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 14 13:15:32 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 21 13:37:15 2019 -0700"
      },
      "message": "Add ResourceManager unit tests to presubmit\n\nbug: 138381810\nbug: 139440234\nChange-Id: Id6a447ca070322b21d1b07457c16a6a5e2a8a1fe\n"
    },
    {
      "commit": "fb092d3b720923efaf0f9d4f4c16c57da6d657ac",
      "tree": "c19f0a91dfe61a1e12a64cd9a2531f8af9872315",
      "parents": [
        "57eeeb00319e8f3c01d547bd0f4b5fc55338326b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 12 09:45:44 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 20 22:55:11 2019 +0000"
      },
      "message": "Add support for combining and remove individual resource\n\n- Fix ResourceManagerSerivce handling of adding same-type\nresource in multiple calls, combine entries with the same\n\u003ctype, subtype\u003e. This is not required in existing usage,\nbug could be required if we allow same type to be added\nincrementally (eg. memory usage).\n\n- Add api for removing some resources. Currently we can\nadd resources in multiple calls, but removeResource always\nremove all resources of that client. We need this to toggle\nbattery stat On/Off based on actual usage of the codec.\n\n- Add unit tests for the above.\n\nbug: 138381810\ntest: ResourceManagerService_test; CTS ResourceManangerTest.\n\nChange-Id: Icdba6c6b4c517755291668c52764169aac3071ea\n"
    },
    {
      "commit": "ee33d64bf82f3781ab826863f69d089d0a7400da",
      "tree": "0627c7b51438b3cbd882400331928646ad11dc5b",
      "parents": [
        "5f55524296edd32a00e848febff99b2849cef015"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 08 14:26:43 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 14 17:13:24 2019 -0700"
      },
      "message": "Report video battery on/off from mediaserver\n\n    We can\u0027t track video stats accurately if it\u0027s reported from\n    app side MediaCodec. If the app dies, video stats get stuck\n    in On state forever. This can be easily triggered by forcefully\n    kill and app that uses MediaCodec from app side (instead of\n    through mediaserver\u0027s Recorder or Player service), eg.\n    launch GoogleCamera app and switch to Video tab, and kill it\n    from adb shell.\n\n    In order to track MediaCodec usage from apps we need to move\n    the battery stats reporting from MediaCodec into ResourceManager.\n\nbug: 138381810\ntest:\n1. test if app uses MediaCodec directly and it dies off, the video\n   off is received: launch GoogleCamera app, swipe to Video tab,\n   \"dumpsys batterystats --history\" and see +video; now adb shell\n   kill GoogleCamera, dumpsys should show -video.\n2. test app that uses MediaCodec through mediaserver: use Chrome\n   (which uses MediaPlayer) to play some website with video, kills\n   Chrome from adb shell, and check -video is received.\n   In anycase it shouldn\u0027t stuck in On state.\n3. ResourceManagerService_test\n\nChange-Id: I164b31681c4e72e8cce02342641dbec14b8df374\n(cherry picked from commit 47db2ff19c3ceb2d3b39ff9315a463984e55dec1)\n"
    },
    {
      "commit": "8b07840b074a41b7da9352352e39b61a3aa90f1a",
      "tree": "9e19094d1a689f7ac291b73287e21b5f7262dd35",
      "parents": [
        "479b735392d6e4b9d7dde9403e732847b670a9f1"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Thu Jan 31 13:23:55 2019 -0800"
      },
      "committer": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Fri Feb 01 11:06:32 2019 -0800"
      },
      "message": "Convert Android.mk file to Android.bp\n\nSee build/soong/README.md for more information.\n\nBug: 122331945\nTest: treehugger\nChange-Id: I9e2402545823bedb3484b3ab962ddc9806f25dac\n"
    },
    {
      "commit": "5f5ee1110dd85001b43db7637a97474acfe8d681",
      "tree": "b9678c6154ad559ceb43989f832a105d11e38296",
      "parents": [
        "c471bc541c7d43a91cc034ca67938b94324bfc56"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 15 16:13:48 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 05 11:42:19 2016 -0700"
      },
      "message": "LOCAL_CLANG :\u003d true is now the default\n\nTest: verify that build has no failures\nChange-Id: Ib249b276c6295e55eb54fa37b6d15486415dfbed\n"
    },
    {
      "commit": "51873d8ccad9b4466f4f7898612b08213782fedb",
      "tree": "80f93622cc59cb898e0c6ec38f507de0d100e4d7",
      "parents": [
        "9831a9b576fb8d58c3e8057086b5263f139cf4b9"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:18:51 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 15:21:44 2016 -0700"
      },
      "message": "Fix clang-tidy warnings in mediaresourcemanager.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I9aac64b379ddb77a9abb4b03a6648f38e2a756ab\n"
    },
    {
      "commit": "ea15fd29af81490311af9e12949b43524c39400e",
      "tree": "8032d0a321119ef03103e76c8504af8619b80d28",
      "parents": [
        "7fa3efa6d7e92a9a2cc5ce780c7db29f1b36a23c"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Mar 03 13:35:05 2016 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Mar 10 17:57:40 2016 +0000"
      },
      "message": "media: changed resource type from String8 to enum.\n\nBug: 27338692\nChange-Id: I0161de084682e2317cba81dc5f55c17d5d478570\n"
    },
    {
      "commit": "d11c43a12917e017d715db88c13e4e7550eb9151",
      "tree": "e3bc323984164c00cb234ae4c911ffc8d0bfe029",
      "parents": [
        "cf1bbf3a12be653b825e230fd2785c14cd9b0192"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Jan 27 16:26:12 2016 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Feb 22 09:53:32 2016 -0800"
      },
      "message": "mediaresourcemanager: verify the input calling pid\n\nBug: 26830615\nChange-Id: I2e9c579b3bdd86a90b08fa161206d32527390bb5\n"
    },
    {
      "commit": "37c8924c508a7c9b8bd3c8ce80fc005070531902",
      "tree": "0ed47e0ceb97bcdf6169e1189f0f555b6c2bd89c",
      "parents": [
        "495151d3f4c5f92f1d162efb32b636521c105df5"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Jul 15 12:23:48 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Jul 17 10:19:21 2015 -0700"
      },
      "message": "mediaresourcemanager: add pid to removeResource method\n\nBug: 22496209\nChange-Id: I73311573e8d1ac15fec668a9ef6e6af7a07a1d30\n"
    },
    {
      "commit": "05d89f1c6452b2fce0b9f1315240f8cace69a88d",
      "tree": "32ceb479a4e3f113bf8a08d564535cb4f09383b0",
      "parents": [
        "dfad5454e0caf46f8732f1415d3b9a76f2a1242e"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Jul 07 16:47:42 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Jul 13 15:18:12 2015 -0700"
      },
      "message": "mediaresourcemanager: handle the case when there\u0027s no client holding resource with the same type\n\nBug: 21171205\nChange-Id: Id4aa6ccc7ee7daba25fd295399235c5b463ccd83\n"
    },
    {
      "commit": "022ed72e650f756288492ac7a10a7b41e0b14f82",
      "tree": "6c07c47b9b3c2d0b68eb9b989a879065a96f15bc",
      "parents": [
        "9ba21b9418d10ddcc39f08901e24fbf43d82b2bc"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon May 11 15:15:09 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon May 11 15:16:54 2015 -0700"
      },
      "message": "mediaresourcemanager: change resource manager service log to use ring buffer.\n\nmove the ring buffer implementation from libcameraservice to media include.\n\nalso add line prefix support to the service log.\n\nBug: 20637674\nChange-Id: Ib6b32f31abe92c42644ef7012f1e3d46220ccfbd\n"
    },
    {
      "commit": "9ba21b9418d10ddcc39f08901e24fbf43d82b2bc",
      "tree": "363f0598085516cf16ddd4ee5df2d1043e2955da",
      "parents": [
        "ba21a9ac7b6b76f85681cfb5e756e947c0ae3b53"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 21 14:23:06 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri May 08 09:51:26 2015 -0700"
      },
      "message": "libstagefright: config resource manager with secure codec co-existing policy.\n\nBug: 19620911\nChange-Id: I0d729782c1622f23e9c37b7a9231e58e3f807470\n"
    },
    {
      "commit": "a8ec8fcf6982ef158daf897faaab3e45285d0bf1",
      "tree": "fe427de81c8f25b5dfd56406a8ed5aa7381a8045",
      "parents": [
        "78d9a2e77e8ee153945d93624b01f0525f979299"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu May 07 13:58:22 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu May 07 14:10:19 2015 -0700"
      },
      "message": "mediaresourcemanager: add ServiceLog to track the calling history for dumpsys.\n\nBug: 20637674\nChange-Id: I9d74d98f8eb729a8681877f86419aa2c979f3b7c\n"
    },
    {
      "commit": "8f9dd872366f54b6260506c75c3d0cc3f9f73f81",
      "tree": "6b20eb7ca59c4c40936e27806f5d76bce005b146",
      "parents": [
        "1ac91ed2c67245ea5052182212463d3f0afe8b5a"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 23 15:24:25 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 23 18:03:30 2015 -0700"
      },
      "message": "mediaresourcemanager: add dumpsys support.\n\nBug: 20233206\nChange-Id: Ic253985e408b05b488e87cd5c50c0d619ac568ef\n"
    },
    {
      "commit": "67e7f543c7f1c4fe4ee1989ceb0aebe44a63b49e",
      "tree": "7de894fc9626b36de6eed70812962380ca217f22",
      "parents": [
        "9e6955a19bf77ebf27b770e910efbe1ebf1ceac0"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Mar 13 10:47:08 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 14 14:16:12 2015 -0700"
      },
      "message": "media: use ResourceManagerService with MediaCodec\n\nBug: 19620911\nChange-Id: I235a97e5195b28645b7834dda0dd77307d93f4a8\n"
    },
    {
      "commit": "231c3d169ad029689f9d688b68179af7e96b8d78",
      "tree": "09dbf8d4dc47f5698c08190f498357b455a396c7",
      "parents": [
        "84b784dd4f340331d36b1be3de05a6c814d9795c"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Mar 11 15:10:32 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Mar 23 17:02:28 2015 -0700"
      },
      "message": "media: add ResourceManagerService\n\nBug: 19620911\nChange-Id: Iea173d310d31781bc50effe3d9bd6553cb5139eb\n"
    }
  ]
}
