)]}'
{
  "log": [
    {
      "commit": "456787fa58005dabc19afc91a77e9ac5226a934e",
      "tree": "287664811538d08026460b36d234017a76a1d830",
      "parents": [
        "386c3c152a538b12e19e1bc6dcfe9b3157ec8ed6"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 18 16:47:08 2021 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 24 16:47:30 2021 +0000"
      },
      "message": "transcoding: add test to test watchdog error returned to client\n\nThis change only affects tests.\n\nbug: 169453212\ntest: MediaTranscodingService unit tests.\n\nChange-Id: I657414e93158c0ed3c64c9dff37c682f10ce89a7\n"
    },
    {
      "commit": "457c689a303ab6213600463549e6f570bb403ef4",
      "tree": "8f9e6c54e476057f1d492ed73ede2da3e6d10c06",
      "parents": [
        "c067157b5f341d16ccbb9b5dc6693b03767de864"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Feb 01 15:34:20 2021 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Feb 23 17:47:41 2021 -0800"
      },
      "message": "transcoding: add watchdog to prevent transcoder hang\n\nAdd a watchdog to monitor transcoder progress. Make transcoder\nreport heart beat regularly as long as there is new progress.\nIf heartbeat stops, watchdog will initiate a timeout to\n\n1) Abandon old TranscoderWrapper. We try to shut it down nicely,\nhowever, if it\u0027s really stuck, we\u0027ll have to leave it there.\n2) Instantiate a new TranscoderWrapper with new looper.\n3) Report Watchdog timeout to client.\n\nTests:\n- New unit tests to MediaTranscoder, TranscodingSessionController\nand MediaTranscodingService\u0027s simulated test (for error code reporting).\n- Manually tested that long recording works properly without timeout.\n\nbug: 169453212\nChange-Id: Iae89e49e8e12d6078dc49eef2960efd03e91c431\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": "8677f1f3ea6f83a6561f3fc230e6a1dfd086ccf4",
      "tree": "79cf734514e2eae0b7774a51c33b4c8fe1b90a8a",
      "parents": [
        "cbb06bde46fa0d29607db64a8ed01b84b3b78f12"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jan 21 20:37:35 2021 +0000"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jan 22 10:55:13 2021 -0800"
      },
      "message": "Revert \"Revert \"transcoding: add thermal status listener\"\"\n\nThis reverts commit b253cec66de2986379ef94e1d372123dee1b826f.\n\nReason for revert: reland with fix\n\nChange-Id: Ieab554dc2dc4187e75fc223997387f4875832e52\n"
    },
    {
      "commit": "5c504ee4cb63b1565a5f5653516d1d31c7d87621",
      "tree": "8768ce47cbe02877fcaa18da4a02cba774824552",
      "parents": [
        "03b68517d3e9d75332b6a2a62b276958807831a5"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jan 21 18:53:19 2021 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jan 21 18:58:33 2021 -0800"
      },
      "message": "transcoding: use __ANDROID_API_FUTURE__ in __builtin_available check\n\n__builtin_available 31 fails because we\u0027re not officially 31 yet.\nUse __ANDROID_API_FUTURE__ for now.\n\nbug: 178144708\ntest: builds; transcoding unit tests; manually test transcoding works.\nChange-Id: I4ccf05f3858feb9e22eb294b4443edc830737204\n"
    },
    {
      "commit": "b253cec66de2986379ef94e1d372123dee1b826f",
      "tree": "dc2ca1b340a361303617db5dbe88a07183c06370",
      "parents": [
        "a960d1d94d2ef121d6fab50eeb89bfdae6c2d16a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 21 20:28:04 2021 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 21 20:28:04 2021 +0000"
      },
      "message": "Revert \"transcoding: add thermal status listener\"\n\nThis reverts commit a960d1d94d2ef121d6fab50eeb89bfdae6c2d16a.\n\nReason for revert: broke build due to race condition with automerger\n\nChange-Id: I1e64e54bf1c37a9cf8cddf9128469b0fbf931e8b\n"
    },
    {
      "commit": "a960d1d94d2ef121d6fab50eeb89bfdae6c2d16a",
      "tree": "1f1a310d6737e07968b15518ef24c59c2bd53d05",
      "parents": [
        "bfebb60dbd1041048e4567d412a5f472652eaaec"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 21 17:11:37 2020 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 20 14:43:25 2021 -0800"
      },
      "message": "transcoding: add thermal status listener\n\nRegister thermal status listener with thermal manager, and\npause/resume transcoding activity when thermal status goes\nabove certain threshold (currently set at CRITICAL).\n\nAdd unit tests with mock thermal policy. Also add unit test\nthat exercise the actual transcoding service, but use adb\nshell cmd to fake thermal status change.\n\nbug: 169452730\ntest: unit testing added in the CL; manual testing using\n\"adb shell cmd thermalservice override-status #\" and observe\nthermal throttling logs from transcoding service.\n\nChange-Id: I7d28ed3069bdd73e8984ad138e2edba9c9a2360a\n"
    },
    {
      "commit": "ff99861659e9da5704cdc5d1ea08a9890c393b5e",
      "tree": "486f71d4c5438af622c1ebcfab67060f3930dd94",
      "parents": [
        "ae8ef79571e7844c8fc816808492d6ac6ee1ecf4"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 15 16:01:38 2021 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 15 16:33:05 2021 +0900"
      },
      "message": "Guard __AActivityManager_* APIs with __builtin_available\n\n* AActivityManager_checkPermission\n* AActivityManager_addUidImportanceListener\n* AActivityManager_removeUidImportanceListener\n* AActivityManager_isUidActive\n* AActivityManager_getUidImportance\n\nAbove APIs were added for the API level 31 and beyond. Currently,their\nexistence is not tested before calling them, which can result linkage\nerror at runtime when the code runs on pre-31 platforms.\n\nNow, we have a preferred way of testing the API availability;\n__builtin_available. The calls to the APIs are now guarded with the\nmacro so that they get called only on the platforms they are available.\n\nBug: 150860940\nBug: 134795810\nTest: m\nChange-Id: I442426641a33bcdb341a166e68f300e539fc85d2\n"
    },
    {
      "commit": "a2e3a04895c7cf0438a0661d79a26d7321e27763",
      "tree": "9291591e29be520c0cae4dcaf1c9df4cfa9dfdae",
      "parents": [
        "5dc9ad75a27c19ec5450c57ba08d7e04494b704b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Oct 26 11:58:11 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Dec 11 18:33:21 2020 +0000"
      },
      "message": "transcoding: move transcoding service to apex\n\nAnd conditionally start transcoding service\n\nbug: 159172726\nChange-Id: I13d126f342d4ea944d1e9186b4edcdfe5fb4b0a0\n"
    },
    {
      "commit": "f47a357daac0e85e609ee27abe640b2715ca8c39",
      "tree": "e9ecff8d992ca746140aa2565229a5718c33ae70",
      "parents": [
        "85ca285662e2e170f9ae80d65d16b35f0f9e06bd"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Dec 02 11:35:35 2020 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Dec 02 11:41:53 2020 -0800"
      },
      "message": "transcoding: fix nullptr in TranscodingSessionController test\n\nBug: 173627260\nChange-Id: I8035979763cbe5f3f3146385493668ffbc18300d\n"
    },
    {
      "commit": "bbb4eac1d90fe904d28d31e2c713c5dbab5fa1eb",
      "tree": "f4bfd57d8936c7da36a4673c255a06cfac1c154d",
      "parents": [
        "a71f8a2a9af89d7b25940e52e942f68a668a705a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 18 11:12:06 2020 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Nov 19 13:47:20 2020 -0800"
      },
      "message": "transcoder: plumb uid/pid to transcoder createCodec\n\nInstead of using ResourceManagerService::overrideProcessInfo to\noverride the procinfo of the native MediaTranscodingService,\nuse the newly added AMediaCodec create methods with UID/PID.\nThis will allow the codec instance to be attributed to the\nactual client (for battery reporting as well resource managerment\npurposes), instead of all to media.transcoding.\n\nPlumb uid/pid to transcoder to create the codec with them.\n\nFix up the unit test after the change.\n\nbug: 159172726\ntest: transcoder unit tests.\nChange-Id: Ie7e6fd813ec53f125590665ab3466758a0fd4601\n"
    },
    {
      "commit": "efeabbd992b167c320cbae88bbcbd5b04cabb359",
      "tree": "7dd0e57e0974d0f8ccabca6cf591aa97a0216000",
      "parents": [
        "ddd2c167f5653d452d745d776d2eb8d831f2624b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 18 09:31:58 2020 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Nov 19 10:04:22 2020 -0800"
      },
      "message": "transcoding: use NDK methods for permission and binder\n\n- Change permission checks to use NDK\n- Replace MediaProvider uid check with permission check of\n  MANAGE_EXTERNAL_STORAGE (which is replacing the deprecated\n  WRITE_MEDIA_STORAGE).\n- Use ABinderProcess_* for thread pool.\n\nbug: 159172726\nbug: 171393067\ntest: MediaTranscodingService unit tests; dumpsys to check if\nMediaProvider can still regiserClient successfully.\n\nChange-Id: I4fed7bb23a2d68c92e5cd1aecd5a6ef340dc2b61\n"
    },
    {
      "commit": "cf3f8ee0602fc004e2879a14ad7846f6b6b4db4f",
      "tree": "71f54506f29b4ea3747ee9d57ded6b4317b3ec5a",
      "parents": [
        "210fa979d389daace684411b4381ea362b83d0e2"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 29 18:38:37 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 29 19:01:49 2020 -0700"
      },
      "message": "transcoding: pass package name from client to service\n\nbug: 159172726\n\nChange-Id: I9c35c23f3d6eb5b03092813c891f9cc98a4c6fc8\n"
    },
    {
      "commit": "bc06248c38fb40820d614f81f24a858016c40a28",
      "tree": "f285ff98b372f525fba23a22c7ea6be58f19a180",
      "parents": [
        "29ac42b5105591c64454e06bf81b7b6782e54e81"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 14 16:43:53 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 15 00:35:29 2020 +0000"
      },
      "message": "transcoding: renaming to session controller to avoid confusion\n\nNo functional change.\n\nbug:154733526\n\nChange-Id: I8731a721ab3a6ae2937e1ac24e4f1a2f1e27da85\n"
    },
    {
      "commit": "4fe34f9bd4e6836bfebcd4732c503795e5a0e2de",
      "tree": "54f462eca4212127d98ad67af7e30751371799d4",
      "parents": [
        "358a08446b6657151ad064edf44635e7d021c0af"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Oct 06 15:47:28 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Oct 06 16:04:09 2020 -0700"
      },
      "message": "transcoding: fix client number in unit tests\n\nThe unit test\u0027s client number check will fail with\nMediaProvider registering a client. Relax client\nnumber check after register and remove the check\nafter unregister.\n\nbug: 154733526\ntest: MediaTranscodingService unit tests\nChange-Id: I5dd6e88a8fa55480095ff83123065c71eb7e2e04\n"
    },
    {
      "commit": "ff778699027530dcf8fc9842ac4f10a8ec08cd40",
      "tree": "e464b7ee8705c08d63a03909ff3a58d497bcbf55",
      "parents": [
        "48e2b36fad0759beda38c564eb31efe32131be38"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Oct 02 15:40:56 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Oct 02 20:00:12 2020 -0700"
      },
      "message": "transcoding: Add more information to dumpsys.\n\nShowing all the jobs in queue.\n\nBug: 154733526\nTest: Use snapchat to simuluate multiple transcoding jobs and dumpsys.\nChange-Id: I37aa9d15fe9243598d068eb3aac7ecc2e80d6ccf\n"
    },
    {
      "commit": "3f23e986396cf1e874e79f8b648d9e06bc4a1b91",
      "tree": "11dbf8360f9e0a27635d770f36fe4937bc88253a",
      "parents": [
        "2f0bf51fb362149cfd88d55b93a3a0bb89779e92"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 24 14:03:41 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 24 20:38:40 2020 -0700"
      },
      "message": "transcoding: move uid/pid from client to job\n\nRemove the uid/pid on registerClient, and move uid/pid\nchecking to submitRequest time.\n\nbug: 154733526\ntest: unit testing, builds\n\nChange-Id: Ibf29e326cd80e133b8630df96382c80dd9002548\n"
    },
    {
      "commit": "f907751917092cfcdd5a1f229d01db83236fda40",
      "tree": "e8f261404eff7e1309aa78a4249e23c19e458e58",
      "parents": [
        "b79b20f897835ed7b8d1556c7b444f810ef9b812"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Sep 21 21:02:06 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 23 16:26:13 2020 +0000"
      },
      "message": "Register resource observer and handle resource lost.\n\nbug: 168307955\nbug: 154733526\nChange-Id: I2d5e39ce23bc873dd3bac090e3f7aa1124d0a579\n"
    },
    {
      "commit": "379354cf9497e98f0f1c9a80331246e3f8787eaf",
      "tree": "cc692d3dc5c1807107c94ebd81e332551e71812d",
      "parents": [
        "0d78d202b85633f5ecde9b261895e520dd6c01c8",
        "b65fbaf7e20f1086db1a990c04fb362b8bb8d7cb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 20 16:17:35 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 20 16:17:35 2020 +0000"
      },
      "message": "Merge \"Add follow up TODO from previous CL.\""
    },
    {
      "commit": "a469b649cd6cbe3c8d7f98f114dca42c58966bee",
      "tree": "fb6d6c210e24af1dda3cd352b76d9316ef1e391c",
      "parents": [
        "41ac4ced446869138f74d0e510b6e3b437fa84dd"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jul 17 16:09:18 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jul 17 16:14:30 2020 -0700"
      },
      "message": "Transcoding service: Increase unit test event timeout.\n\nOne of the unit tests failed because events from the service\nwas not delivered on time. This change simply increases the\ntimeout to 400ms.\n\nTest: Unit test.\nBug: 154733526\nChange-Id: If146ddc90473072b87cec80092b4b7fe63a6c5df\n"
    },
    {
      "commit": "b65fbaf7e20f1086db1a990c04fb362b8bb8d7cb",
      "tree": "c3c35267f2501f5ea73f718822319b5d6b6df839",
      "parents": [
        "06fab72084495b5ceeeccb5b1d182fb7761945cd"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jul 17 12:05:48 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jul 17 12:12:07 2020 -0700"
      },
      "message": "Add follow up TODO from previous CL.\n\nBug: 161549994\nTest: Compile (comment change only)\nChange-Id: Idf815d10868061d776c732ffdae06397022fe097\n"
    },
    {
      "commit": "06fab72084495b5ceeeccb5b1d182fb7761945cd",
      "tree": "2a5e3eeaf33b53b224624a2f64c21dffb126acff",
      "parents": [
        "60c555998cb2f154beab9c7115e7c472c7f0e001"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Jul 16 15:53:14 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Jul 16 16:14:49 2020 -0700"
      },
      "message": "Transcoding service: Check client DUMP permission\n\nFixes android.security.cts.ServicePermissionsTest#testDumpProtected test\nby verifying the client\u0027s DUMP permission before dumping internal state.\n\nTest: android.security.cts.ServicePermissionsTest#testDumpProtected\nTest: Transcoding service unit test\nFixes: 161457160\nChange-Id: I26dfe46d8cecb4eedca77d8b4047a526cb875930\n"
    },
    {
      "commit": "98b8a370059a1e142f3eed4bafdcc9b1e0b230fd",
      "tree": "340456833b1a73302035a762363d10a3713a386c",
      "parents": [
        "b035849c7818c868386fa2f3b65ab5bfb4b1a31a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jul 08 17:27:37 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jul 08 17:29:21 2020 -0700"
      },
      "message": "transcoding: post progress update to client\n\nbug: 160277443\nbug: 154733526\ntest: unit tests\nChange-Id: I04cd198d5fb1e83b1d256e4968fb3685c16b7a55\n"
    },
    {
      "commit": "b55c5456228a5961438b39818feb021007f96963",
      "tree": "cfc16c00da8a80268d0765433b28c34f7e984a41",
      "parents": [
        "1ad0395323a38850fd9204ac9891e9b4779445a3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 26 14:32:12 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jul 06 12:00:11 2020 -0700"
      },
      "message": "transcoder: initial version of pause/resume\n\n- Add pause/resume in TranscoderWrapper, save paused state on pause\n  and use it to create new transcoder on resume.\n\nMisc fixes:\n\n- TranscoderWrapper::stop should only cancel transcoder if the stop\n  is for the currently running job. Scheduler could call stop to\n  cancel a job any time.\n- Don\u0027t hold TranscoderWrapper lock when running event runnable. If\n  the runnable calls back into scheduler, and scheduler may call\n  transcoder again and deadlock.\n- Don\u0027t report abort as error if the transcoder is cancelled explicitly.\n- Push decoder/encoder start as msgs, so that they could be skipped too\n  if the job is cancelled shortly after starts.\n\nTests:\nAdd tests for cancel/pause/resume with real transcoder.\n\nbug: 154734285\nbug: 154733948\ntest: unit testing\nChange-Id: I2b7d3da69df53b92ab351db455310799ba0e0e8f\n"
    },
    {
      "commit": "08daa894ba759c9a3c0e31f32768868349a2acfd",
      "tree": "1fef691b7ce99711af77615834f77f0156345463",
      "parents": [
        "dd1549c8af9f160ae157407c705ad65b12a1b68b"
      ],
      "author": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Mon Jun 29 17:35:03 2020 -0700"
      },
      "committer": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Tue Jun 30 01:00:40 2020 +0000"
      },
      "message": "MediaTranscodingService:test script execute permission.\n\nAdded execute permission to the script that runs all tests.\nold mode 100644\nnew mode 100755\n\nTest: Able to execute script to run tests.\n\nChange-Id: I8077237705424ffa36d771350e7f6c33fe9ec534\n"
    },
    {
      "commit": "17495a99327e1bda2ae344b1edb1c1f1dc065aa1",
      "tree": "08fdd3a1ee71ac072ef2141dbc1c9e1dcc4bec63",
      "parents": [
        "08c3a2b67ce3bcb5896c3b3fff6bf5aedf42bf97"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 25 10:39:05 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 25 10:39:57 2020 -0700"
      },
      "message": "transcoding: default to use real transcoder in the service\n\nbug: 154734285\n\ntest: unit testing\nChange-Id: Ib60d5c663abffbcf072be12e20cd836d51d16eb8\n"
    },
    {
      "commit": "aca98010cc2cb48665a4b831d4d8d1e076951c95",
      "tree": "4fad0de701c6c70eed461eae17021021c6fc52f5",
      "parents": [
        "b24d7e5515c9e85e013f959bf60ac9c588692b81"
      ],
      "author": {
        "name": "Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Fri Jun 19 16:38:56 2020 +0800"
      },
      "committer": {
        "name": "Yi-yo Chiang",
        "email": "yochiang@google.com",
        "time": "Fri Jun 19 11:48:05 2020 +0000"
      },
      "message": "mediatranscodingservice_simulated_tests: Fix required dependencies\n\nTARGET module mediatranscodingservice_simulated_tests requires non-existent: :TranscodingUidPolicy_TestAppA\nTARGET module mediatranscodingservice_simulated_tests requires non-existent: :TranscodingUidPolicy_TestAppB\nTARGET module mediatranscodingservice_simulated_tests requires non-existent: :TranscodingUidPolicy_TestAppC\nTARGET module mediatranscodingservice_simulated_tests_32 requires non-existent: :TranscodingUidPolicy_TestAppA\nTARGET module mediatranscodingservice_simulated_tests_32 requires non-existent: :TranscodingUidPolicy_TestAppB\nTARGET module mediatranscodingservice_simulated_tests_32 requires non-existent: :TranscodingUidPolicy_TestAppC\n\nBug: 7456955\nTest: TH\nTest: m mediatranscodingservice_simulated_tests\nTest: frameworks/av/services/mediatranscoding/tests/build_and_run_all_unit_tests.sh\nChange-Id: I4595b97aa803b087f9c99845f10e87573a944da2\n"
    },
    {
      "commit": "34915b1b78d8b125657c64d15f77fc424859f704",
      "tree": "9343282f3dab8d1c3cfc3691c64efb538aaf6ad4",
      "parents": [
        "2ef2b43408ea383308e7631b5112bd1221211f97"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Jun 18 09:36:39 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Jun 18 09:36:39 2020 -0700"
      },
      "message": "transcoding: Make TranscodingTestConfig to be nullable.\n\nBug: 145628554\nBug: 154734285\nTest: Unit test\nChange-Id: I93b5f6a34ad02d82f154d3ae07ed0516b1780db2\n"
    },
    {
      "commit": "2ef2b43408ea383308e7631b5112bd1221211f97",
      "tree": "da708297f9725533fa7b815e8bc6dcce51a40584",
      "parents": [
        "8129d4eedf8d509a42bc9831f9009c450978da7d"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jun 15 18:33:11 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed Jun 17 13:57:42 2020 -0700"
      },
      "message": "transcoding: Add more test assets for testing.\n\nAlso move the test file used by transocder to another folder in order\nto be reused by both transcoding service and transcoder for testing.\n\nBug: 145628554\nBug: 154734285\nTest: Unit test\n\nChange-Id: I61e16ab5deba70da71f4d23fc87157be2f3b3bca\n"
    },
    {
      "commit": "18191a6083bd2d8d9ac20922e66fa695bd6ed1c5",
      "tree": "9c0cd0d57a0d083c60a65dcd2ea06dbbae37b733",
      "parents": [
        "86b5e43a3f0f40b8061c25c7b04569a1dacc71a1",
        "e5c49d54aa5cfad7da80a1dcc893b6bb92abffb9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 15 22:42:31 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 22:42:31 2020 +0000"
      },
      "message": "Merge \"Remove references to libc_scudo.\""
    },
    {
      "commit": "e5c49d54aa5cfad7da80a1dcc893b6bb92abffb9",
      "tree": "36e43087a8a542164b5f41e871b968175159ec4d",
      "parents": [
        "b55b1586cfc913ddb9f63e00d9a0f87cb2ce35c2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 08 16:29:08 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 15 13:04:43 2020 -0700"
      },
      "message": "Remove references to libc_scudo.\n\nAs scudo is now the default native allocator, there is no need to\nkeep this library around.\n\nTest: Builds and walleye boots.\nChange-Id: I98e37eea78198223be6c4434891a8261d6d74e39\n"
    },
    {
      "commit": "664692765fd0fdb1977a096dddeb340c48b0cf76",
      "tree": "d3c840f5b310786d9b5ed53e2e3c25fdc48d1cf7",
      "parents": [
        "425f5edba6ba21783ede6440e65e3fd97df52a23"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 04 16:51:55 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 15 11:37:51 2020 -0700"
      },
      "message": "transcoding: hooking up real transcoder in service\n\nbug: 154734285\ntest: unit testing.\n\nChange-Id: Id7de72f86cac75f634276395d4b4be359f44dbc2\n"
    },
    {
      "commit": "de60f064ae0fbcf59ad2c00656eb9b82408d278b",
      "tree": "aad6970bd667c84f8bfb7a0fc689617a74e8ebfb",
      "parents": [
        "9da2cbf1f9f46f9688513a6671be42ce5dea16d0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 11 17:05:10 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 11 18:13:37 2020 -0700"
      },
      "message": "transcoding: use actual callback in SimulatedTranscoder\n\nbug: 154734285\ntest: unit testing\n\nChange-Id: I39f17e95e9cc9ea73a60828b00a3c79ccf11dbf2\n"
    },
    {
      "commit": "dd7aeb4863e9cd124329edf60cdb14dc1e52bb61",
      "tree": "a1d8d0d5f33a91dd28a93d122f46746503371d58",
      "parents": [
        "a838681e8d6afb2c849ccc87e428257f85d262c7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 11 11:11:44 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 11 11:14:42 2020 -0700"
      },
      "message": "transcoding: fix timeout value\n\nag/11816122 tried to changed timeout from 200ms-\u003e1000ms, but\nset it to 10000ms instead, causing test expecting no events\nto run for too long.\n\nBug: 145628554\nBug: 154734285\nChange-Id: I980705f6af876d0945fedd216355b05627d34e9e\n"
    },
    {
      "commit": "ffa1fec7a017e267383d6da6afbab256465b20b2",
      "tree": "84985ce67dbc7fa021f5f845a11235324c962091",
      "parents": [
        "c6be7e44a12890b3a8fc0467413725239713af7f",
        "a9ffd59dfc4527733fe22262ef4c44608c95fba8"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Jun 10 21:25:36 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 21:25:36 2020 +0000"
      },
      "message": "Merge \"transcoding: Add more test configs for SimulatedTranscoder\""
    },
    {
      "commit": "c6be7e44a12890b3a8fc0467413725239713af7f",
      "tree": "3b59a3141ca711c677fa59a8e56924107c6733a7",
      "parents": [
        "b25ceccfd08f976257a6c62444a7ad9274f97923",
        "96471b8372067e05cf7ab60a90f6c8b7ea9b0c2a"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Jun 10 21:25:36 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 21:25:36 2020 +0000"
      },
      "message": "Merge \"transcoding: Add start/pause/resume event update to interface.\""
    },
    {
      "commit": "bc703928857dca2b232e114f409a849f45c254db",
      "tree": "f8fa95b71c9c0d4c50a88eb0db487bfa33548d8b",
      "parents": [
        "d4f4d87cb82a1ff9fd3629d7cb8a4d88a567b203"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Tue Jun 09 16:39:55 2020 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Jun 10 17:06:24 2020 +0000"
      },
      "message": "transcoding: Increase test timeout from 20ms-\u003e100ms.\n\nThis is just a work around to fix the test failure on\nsome devices.\n\nBug: 145628554\nBug: 154734285\nTest: Unit test\nChange-Id: I09ea3f29587bbf14e88af28bd59138df75b55b11\n"
    },
    {
      "commit": "a9ffd59dfc4527733fe22262ef4c44608c95fba8",
      "tree": "fd8c081c7aa24719d2fcca9449581923969a3237",
      "parents": [
        "dc24554a64946147d683a21f111f53413879e2c6"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Jun 05 10:38:02 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Tue Jun 09 17:52:31 2020 -0700"
      },
      "message": "transcoding: Add more test configs for SimulatedTranscoder\n\nBug: 154734285\nBug: 145628554\nTest: Unit test.\nChange-Id: Id9d77e2d53c2dc582cc7034f158b5ab9eedcf586\n"
    },
    {
      "commit": "96471b8372067e05cf7ab60a90f6c8b7ea9b0c2a",
      "tree": "8ad84503ba94372fa5b800a672160ae53331e26d",
      "parents": [
        "d4f4d87cb82a1ff9fd3629d7cb8a4d88a567b203"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jun 08 11:12:46 2020 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Jun 09 23:26:24 2020 +0000"
      },
      "message": "transcoding: Add start/pause/resume event update to interface.\n\nThis will also help for testing from java service and the benchmarking\nlater as we need to capture all the job event and log the timing.\n\nBug: 145628554\nBug: 154734285\nTest: Unit test\nChange-Id: If4f2016de08c8e25e67b50548241f1182f3dcb93\n"
    },
    {
      "commit": "66110a2110dfc83fb95b9c41c6eea4acce4522c1",
      "tree": "4a05581a9d0c68e01e0aefb3b0e5a396b23b61f2",
      "parents": [
        "19253093cffe6eedf4811870f9929936268c97fd"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 08 14:29:20 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 08 14:31:03 2020 -0700"
      },
      "message": "transcoding: fix test app install problem\n\nsdk_current now requires android:exported for intents.\n\nbug: 154734285\ntest: MediaTranscodingServiceTest\nChange-Id: I124c95e762479f2716adb31fea08bd14fccf8048\n"
    },
    {
      "commit": "19253093cffe6eedf4811870f9929936268c97fd",
      "tree": "02455be6c71ae704bf4dd1ee3ec037e79e5c1748",
      "parents": [
        "3b587c7e9126d7df1e1a2fb7ce8a37f19944524d"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jun 01 09:10:49 2020 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Jun 04 19:08:04 2020 +0000"
      },
      "message": "transcoding: Add openFileDescriptor to ITranscodingClientCallback.\n\nThis is used to open the file when transcoding service really\nstarts to process the job.\n\nBug: 145628554\nTest: Build\n\nChange-Id: I2d33e349052a1c14f0b3c99017a653666c52fb49\n"
    },
    {
      "commit": "72d105f876312a6a7a0886963c461a56c16d6383",
      "tree": "90b7e8670ce9815df8f2b2b2b31c9f5388c79abc",
      "parents": [
        "63b7e570a5ee9d48b886c4c18306bb26d5f2a107"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu May 21 10:48:55 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Tue May 26 16:05:35 2020 -0700"
      },
      "message": "Transcoding: Change to use string path instead of fd.\n\nBug: 145628554\nTest: unit test\n\nChange-Id: I321ecf75e770b4500fc3015a5d161e3b48ea5678\n"
    },
    {
      "commit": "00feca22622dca19cf5c1deb942255a98ec15280",
      "tree": "660d320674a8314dc9c3c84d34e3c790bbcffb45",
      "parents": [
        "15c192adcbd4502559f87e57cfc9b245071b8349"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri May 08 15:02:06 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri May 08 15:17:30 2020 -0700"
      },
      "message": "transcoding: separate pause\u0026stop on transcoder\u003c-\u003escheduler interface\n\nSeparate stop from pause, and use stop when a job is being cancelled.\nThis tells the transcoder to discard the job and all states for it.\nAlso send the original request to the transcoder start.\n\nbug: 154734285\nbug: 145233472\ntest: unit tests\nChange-Id: I112c08b909f3432dfd4b4803c0786a1ea01deea6\n"
    },
    {
      "commit": "15c192adcbd4502559f87e57cfc9b245071b8349",
      "tree": "1f2796cc2456bda9572d534b71187d7772f9381d",
      "parents": [
        "3fa408f83dda44f768ed7e53dc34b5ea78bb41a1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue May 05 16:24:00 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 06 14:09:48 2020 -0700"
      },
      "message": "transcoding: remove realtime jobs when a client is removed\n\nAlso disallow usage of the client after unregister.\n\nbug: 154734285\ntest: unit testing\nChange-Id: Ib5d54a897c7e56d42d27645fa55ab6f21f435b5e\n"
    },
    {
      "commit": "3fa408f83dda44f768ed7e53dc34b5ea78bb41a1",
      "tree": "7e79793ff7ab68f006759417ff44ea5dbb157cca",
      "parents": [
        "df797540fde34d6cb552d7b7787e96f6c6c995f4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 30 11:04:28 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 06 10:51:05 2020 -0700"
      },
      "message": "transcoding: fixes for binder died handling\n\nChange client id type to uintptr_t counter, instead of\ncasting binder to int64_t.\n\nSave all shared_ptrs of clients in global registry.\n\nbug: 154734285\nbug: 145233472\n\ntest: transcoding unit tests; manually plant crash\nin test client and check binderDied handling in log.\nChange-Id: If6523a1c6b7ce797a2201462399174e9cf0a3c71\n\nChange-Id: I6b312c0f28a345285e27b738c37baee2bccae755\n"
    },
    {
      "commit": "7522218910507c4e0861661bd37dd06bda65a4b5",
      "tree": "29b0d409276e1e403a047702b1d127d25f1a8499",
      "parents": [
        "88aba17963a63a58c3fea20a357b6fde62c347d6"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 29 14:43:42 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat May 02 15:52:13 2020 +0000"
      },
      "message": "transcoding: add SimulatedTranscoder to test service\n\n- Add SimulatedTranscoder (which is an upgraded version of\n  DummyTranscoder) to allow more testing of the service.\n\n- Add unit test that launches dummy test apps from shell\n  to simulate uid policy change.\n\nbug: 154734285\nbug: 145233472\ntest: unit tests\n\nChange-Id: Ic169757d64ad8da7eebd0e1febdcbfb467fe81f4\n"
    },
    {
      "commit": "acb3350ef7d22f53a73137217830546424175a0c",
      "tree": "5a2fdfd0d63ea25b9d1d29ffa655a5a0f794082f",
      "parents": [
        "596e7fde3b16e68f9dc94a9fd092029f87b0f052"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 20 11:04:48 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat May 02 02:15:11 2020 +0000"
      },
      "message": "transcoding: add uid state based scheduling policy\n\nbug: 145233472\nbug: 154734285\n\ntest: unit tests\n\nChange-Id: I9e8038252c2be834eb4e2fb2945396572d37b036\n"
    },
    {
      "commit": "6ec727381cc232ebca219369c8d4e327172f6a68",
      "tree": "9f85b3236700fb071d28dc5ec1d14895a458113b",
      "parents": [
        "fb9156fa6d892f905cdc26baf508069cd328847e"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Thu Apr 30 14:39:39 2020 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri May 01 16:09:04 2020 +0000"
      },
      "message": "Replace direct pid writes with setting task profiles\n\nFor easy transition from SchedTune to UtilClamp, direct access to these\ncgroups should be abstracted by using task profiles. Replace writepid\ncommands with new task_profiles command.\n\nBug: 155419956\nTest: change .rc file and confirm task profile is applied\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\nChange-Id: Id00370b25af973a4b3813a4a1d6ccbd1e555c87f\n"
    },
    {
      "commit": "7ae4e2fa40fbf6035ab15952a3412031aa477798",
      "tree": "8a7acb8da489b094941e57ac408c809d3209132b",
      "parents": [
        "4187c8951b6ec3611720c2f0c2f2ce8da14d9087"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 17 15:24:34 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 29 12:03:09 2020 -0700"
      },
      "message": "transcoding: use uid instead of pid for scheduling\n\nThis change replaces pid usage with uid, there is no functional\nchange other than that.\n\nbug: 154734285\nbug: 145233472\ntest: unit tests\n\nChange-Id: I2000a84486a561a393211cb0b098e456c2173227\n"
    },
    {
      "commit": "182b06a0c4733501e9187a6095ff5be76f1a8908",
      "tree": "d63cb7e9c72ebfc5f6bd13777e5dd660a05cc46e",
      "parents": [
        "6d58e4b1ae638222e6f228ab07f9709199778476"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 09 14:38:05 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 15 13:22:06 2020 -0700"
      },
      "message": "transcoding: instantiate job scheduler with dummy hooks\n\nInstantiate job scheduler with dummy hooks for transcoder\nand procInfo to allow more unit testing.\n\nbug: 145233472\ntest: mediatranscodingservice_tests\nChange-Id: I99754d724164c453623fb00affddefca5c84c26c\n"
    },
    {
      "commit": "8e06263e23b0f44d3a8e2970548a600e6bde3560",
      "tree": "025ed1f839fc6751fc0015dfbdf689a896effb78",
      "parents": [
        "5e76a930b0a7147c0dbd32f0fc1e9cd35baaf705"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 31 10:56:37 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 31 15:52:47 2020 -0700"
      },
      "message": "transcoding: separate client interface from service\n\nRefactor AIDL to separate client interface from service.\n\nUse client listener binder as unique id for client, as multiple\nclients could exist for the same pid.\n\nMisc unit testing changes.\n\nbug: 145233472\ntest: mediatranscodingservice_test, TranscodingClientManager_tests\nChange-Id: I8d9522da23163375df8df7822d0f6ae270cff1b4\n"
    },
    {
      "commit": "5172cabc2ecf0dc6e15539eccae3b35d6aed3de8",
      "tree": "f8c25e3fd2da94c300cbbd63a417497d18f23fb0",
      "parents": [
        "3f4a68a09dfd87b6e5a40f67278e27c957c818a1"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Jan 31 12:40:28 2020 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Sat Feb 01 00:54:27 2020 +0000"
      },
      "message": "MediaTranscodingService: Simplify TranscodingClientManager.\n\nChange the singleton to return reference instead of sp\u003c\u003e;\n\nBug: 145233472\nTest: Unit test.\nChange-Id: Ie5b8631ec9e917d80805f63c77618e24720f53bc\n"
    },
    {
      "commit": "9c04b8d17071731b919563c129919dd070f8075c",
      "tree": "e82f6739c53cb900a6cd02ea77b8ccdfd946c47b",
      "parents": [
        "91fe789336d2c9ff772651bfa654604d5d241fd2"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed Jan 22 10:03:21 2020 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Jan 31 21:37:04 2020 +0000"
      },
      "message": "MediaTranscodingService: Implement service\u0027s add/remove client APIs.\n\nBug: 145233472\nTest: Unit test.\n\nChange-Id: Ice22f86942bf3838c80b100c71af46ff6e217744\n"
    },
    {
      "commit": "48c365e01796f391604560421d66ca175937243a",
      "tree": "145cd57d916d3725e50bdf740290722d62966687",
      "parents": [
        "a93e29dc1ad37d4e6810fdecff221dc69e7135ab"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jan 13 16:33:42 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jan 13 18:06:28 2020 -0800"
      },
      "message": "MediaTranscodingService: Rework Service\u0027s AIDL.\n\n1) Include parcel in Parcelable\u0027s name.\n2) Add TranscodingJobPriority.\n3) Change registerClient API to include pid, uid and packageName.\n\nBug:145233472\nTest: Build and run.\n\nChange-Id: Ide40e6de8fb1b6f01bbae4577ef3b14d6136b577\n"
    },
    {
      "commit": "71b9fb4f3943f7d528bc8079da9717faaf297e7d",
      "tree": "e057aa67638cc52defcbbeeec8603571f973a1f9",
      "parents": [
        "06069a56a9550b10871fbcda1e57917a0c4173bd"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Nov 27 10:33:32 2019 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Dec 04 19:25:11 2019 -0800"
      },
      "message": "MediatranscodingService: Create MediaTranscodingService.\n\n\"adb shell dumpsys -l | grep media\" shows media.transcoding service.\n\nThis CL only adds the skelton to start the service and hook up with the\nlibmediatranscoding librarie now. But it does not do anything yet. The\nimplementation will be added in the next few Cls.\n\nBug:145233472\nTest: Build and run.\n\nChange-Id: I09021b811e5bd935735b0b936c55639496799ae1\n"
    }
  ]
}
