)]}'
{
  "log": [
    {
      "commit": "d2bef93081f3b449ee971efe2442dcfd02a36287",
      "tree": "7bd58a9aa74749095f0aa6d8d602e52d59362cc8",
      "parents": [
        "1cbc22c674d4d7ab4d634227e98c1f7358b245f9"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Mar 23 21:55:33 2021 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Mar 24 11:23:55 2021 -0700"
      },
      "message": "Transcoder: Send more granular heartbeats on transcoder start up.\n\nThe transcoder watchdog timer starts when a request is sent to\nthe transcoder. But configuring and starting the transcoder may\ndelay the first heartbeat under high load. This CL mitigates this\nin three ways:\n- Send heartbeat during transcoder configuration.\n- Send heartbeat when track produce output formats during start.\n- Count samples written to the muxer from all track as progress.\n\nFixes: 183388518\nTest: Transcoding unit tests.\nChange-Id: I0fe935b33bc0601a0671e6ba39e1e3f528d1132b\n"
    },
    {
      "commit": "b4faeb5bfd6d5cff8bbd793df968df5e504b3ea5",
      "tree": "c2cb327bcea853753d82f5d797c6904f28c5f873",
      "parents": [
        "8b92ac8c49c6cb33bc54bbc9813562007936867c",
        "a676a9a14bf605ae8e5225839959764ee9fe37f9"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Mar 17 03:35:53 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 17 03:35:53 2021 +0000"
      },
      "message": "Merge \"Transcoder: Don\u0027t preserve profile/level when switching codec.\" into sc-dev"
    },
    {
      "commit": "a676a9a14bf605ae8e5225839959764ee9fe37f9",
      "tree": "efe42c3254ffe793b864d2f5bf31c05e5f3b375f",
      "parents": [
        "52df71c29847ea0b080f9fededda9d3f45e3c1c6"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Mar 15 18:22:43 2021 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Mar 16 12:57:13 2021 -0700"
      },
      "message": "Transcoder: Don\u0027t preserve profile/level when switching codec.\n\nAvoid configuring encoder with source file\u0027s profile and level\nif the codec type itself will change. Instead leave the default\nunspecified. The caller can still set profile/level when\nconfiguring the transcoder.\n\nBug: 182576621\nTest: Transcoder unit tests.\nChange-Id: I469a7a397ebf3e2eade6a48d95851656157578b7\n"
    },
    {
      "commit": "51b94f9ed27915ac2fe25a3023a5559752eda081",
      "tree": "669dee83e5ebdc730427166faeedcf4979bf64cb",
      "parents": [
        "587f54969fc20525d8f62e0cab4b83ffa9467b94",
        "52df71c29847ea0b080f9fededda9d3f45e3c1c6"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Mar 12 21:44:35 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 12 21:44:35 2021 +0000"
      },
      "message": "Merge \"Transcoder: Add HDR -\u003e SDR unit test using sample plugin.\" into sc-dev"
    },
    {
      "commit": "52df71c29847ea0b080f9fededda9d3f45e3c1c6",
      "tree": "64cff4466198bbf9910b71de363c24aa79bdcc14",
      "parents": [
        "fd945ef4c3225b0f6877cf06b0bb5e43a6036dfe"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Mar 08 13:01:11 2021 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Mar 12 10:24:19 2021 -0800"
      },
      "message": "Transcoder: Add HDR -\u003e SDR unit test using sample plugin.\n\nThis commits adds a unit test that force enables loading\nsample HDR plugin loading and tries to transcode and HDR10\nvideo. If the codec supports the conversion the test checks\nthat the transcoded video is SDR. If the codec does not\nsupport the conversion the test checks that transcoding\nreturns unsupported.\n\nBug: 180011717\nTest: atest HdrTranscodeTests\nChange-Id: I9cb26589d320744670b619faa4b35ce5c0541e91\n"
    },
    {
      "commit": "ad4003ca2981dd4f7273c475e52ddbf3ad0bed67",
      "tree": "0e899a217a51eab6f46ba8bd05f35fef34159a21",
      "parents": [
        "b168a4267ba888ae2154e87b6710f4f9d37f51ae",
        "fd945ef4c3225b0f6877cf06b0bb5e43a6036dfe"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Mar 10 01:01:58 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 10 01:01:58 2021 +0000"
      },
      "message": "Merge \"Transcoder: Create a transcoder command line tool.\" into sc-dev"
    },
    {
      "commit": "fd945ef4c3225b0f6877cf06b0bb5e43a6036dfe",
      "tree": "4473710d9cef979afd2501ffe1b64599c10eddb0",
      "parents": [
        "6f62b40c2ee9f8b9affefbe48092575d56db05f2"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Mar 08 21:19:07 2021 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Mar 09 10:05:08 2021 -0800"
      },
      "message": "Transcoder: Create a transcoder command line tool.\n\nAdded a command line tool for transcoding videos\nusing the native MediaTranscoder.\n\nFixes: 182229384\nTest: Transcoding using the tool.\nChange-Id: I98948e39c10a3ccd55d37875d5f9f90063db6fff\n"
    },
    {
      "commit": "87d199cf2bf15e655a60b9c59e354cd85d45d0d5",
      "tree": "d3d7df11cf5c52641dc5814c3c18efb2054e89a0",
      "parents": [
        "b2d4b7b00eda590b0b96a5109137126d1f81a19b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Mar 01 19:02:18 2021 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Mar 08 20:37:39 2021 +0000"
      },
      "message": "transcoding: drop transcoding request for bad actors\n\nDrop requests for a uid if it submits more than X back-to-back requests\nthat lasted longer than Y seconds.\n\nbug: 177631807\ntest: new and existing unit tests; CTS MediaTranscodeManagerTest;\nManual testing Yelp app (with shortened thresholds)\n\nChange-Id: I88287be62190ee5bc815dedb2a62c54ed3c41824\n"
    },
    {
      "commit": "a99f404ae8ca63b71daa8e61d10cce91441e9879",
      "tree": "5a155a761edf77103bcb9ac32f253084021b485d",
      "parents": [
        "563214057132837b3968e86f0442f66063942e5b"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Feb 25 15:49:43 2021 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Mar 05 21:52:29 2021 +0000"
      },
      "message": "Transcoding: Log transcoder level metrics.\n\n- Add transcoder-level metric logging through west world,\nto monitor performance and failures.\n\n- Add new unit tests for TranscodingLogger class.\n\nBug: 179274112\nTest: New and existing unit tests.\nChange-Id: Ie8d9bc589c714a7b8be8f4f298c4fa75a81a6e56\n"
    },
    {
      "commit": "56786ac1035b158c23c150884d2d6415f9fbd1ea",
      "tree": "309e190927e12f9076359905ea5e2258f25700a1",
      "parents": [
        "445b895828747b82170610a75598a0615025918c"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 15:24:36 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 15:24:36 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/av\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  apex/Android.bp\n  apex/testing/Android.bp\n  camera/cameraserver/Android.bp\n  camera/tests/Android.mk\n  cmds/screenrecord/Android.bp\n  cmds/stagefright/Android.mk\n  drm/common/Android.bp\n  drm/drmserver/Android.bp\n  drm/libdrmframework/Android.bp\n  drm/libdrmframework/plugins/common/util/Android.bp\n  drm/libdrmframework/plugins/forward-lock/FwdLockEngine/Android.bp\n  drm/libdrmframework/plugins/forward-lock/internal-format/common/Android.bp\n  drm/libdrmframework/plugins/forward-lock/internal-format/converter/Android.bp\n  drm/libdrmframework/plugins/forward-lock/internal-format/decoder/Android.bp\n  drm/libdrmframework/plugins/passthru/Android.bp\n  drm/libmediadrm/Android.bp\n  drm/libmediadrm/fuzzer/Android.bp\n  drm/libmediadrm/protos/Android.bp\n  drm/libmediadrm/tests/Android.bp\n  drm/mediacas/plugins/clearkey/Android.bp\n  drm/mediacas/plugins/clearkey/tests/Android.bp\n  drm/mediacas/plugins/mock/Android.bp\n  drm/mediadrm/plugins/clearkey/common/Android.bp\n  drm/mediadrm/plugins/clearkey/default/Android.bp\n  drm/mediadrm/plugins/clearkey/default/tests/Android.bp\n  drm/mediadrm/plugins/mock/Android.bp\n  media/audioserver/Android.bp\n  media/bufferpool/1.0/Android.bp\n  media/bufferpool/1.0/vts/Android.bp\n  media/bufferpool/2.0/Android.bp\n  media/bufferpool/2.0/tests/Android.bp\n  media/codec2/components/aac/Android.bp\n  media/codec2/components/amr_nb_wb/Android.bp\n  media/codec2/components/aom/Android.bp\n  media/codec2/components/avc/Android.bp\n  media/codec2/components/base/Android.bp\n  media/codec2/components/cmds/Android.bp\n  media/codec2/components/flac/Android.bp\n  media/codec2/components/g711/Android.bp\n  media/codec2/components/gav1/Android.bp\n  media/codec2/components/gsm/Android.bp\n  media/codec2/components/hevc/Android.bp\n  media/codec2/components/mp3/Android.bp\n  media/codec2/components/mpeg2/Android.bp\n  media/codec2/components/mpeg4_h263/Android.bp\n  media/codec2/components/opus/Android.bp\n  media/codec2/components/raw/Android.bp\n  media/codec2/components/vorbis/Android.bp\n  media/codec2/components/vpx/Android.bp\n  media/codec2/components/xaac/Android.bp\n  media/codec2/core/Android.bp\n  media/codec2/faultinjection/Android.bp\n  media/codec2/fuzzer/Android.bp\n  media/codec2/hidl/1.0/utils/Android.bp\n  media/codec2/hidl/1.0/vts/functional/Android.bp\n  media/codec2/hidl/1.0/vts/functional/audio/Android.bp\n  media/codec2/hidl/1.0/vts/functional/common/Android.bp\n  media/codec2/hidl/1.0/vts/functional/component/Android.bp\n  media/codec2/hidl/1.0/vts/functional/master/Android.bp\n  media/codec2/hidl/1.0/vts/functional/video/Android.bp\n  media/codec2/hidl/1.1/utils/Android.bp\n  media/codec2/hidl/client/Android.bp\n  media/codec2/hidl/plugin/Android.bp\n  media/codec2/hidl/plugin/samples/Android.bp\n  media/codec2/hidl/services/Android.bp\n  media/codec2/sfplugin/Android.bp\n  media/codec2/sfplugin/tests/Android.bp\n  media/codec2/sfplugin/utils/Android.bp\n  media/codec2/tests/Android.bp\n  media/codec2/vndk/Android.bp\n  media/codecs/amrnb/common/Android.bp\n  media/codecs/amrnb/enc/fuzzer/Android.bp\n  media/codecs/amrnb/fuzzer/Android.bp\n  media/codecs/amrwb/dec/fuzzer/Android.bp\n  media/codecs/amrwb/enc/Android.bp\n  media/codecs/amrwb/enc/SampleCode/Android.bp\n  media/codecs/amrwb/enc/fuzzer/Android.bp\n  media/codecs/amrwb/enc/test/Android.bp\n  media/codecs/g711/decoder/Android.bp\n  media/codecs/g711/fuzzer/Android.bp\n  media/codecs/m4v_h263/dec/Android.bp\n  media/codecs/m4v_h263/dec/test/Android.bp\n  media/codecs/m4v_h263/fuzzer/Android.bp\n  media/codecs/mp3dec/fuzzer/Android.bp\n  media/extractors/Android.bp\n  media/extractors/aac/Android.bp\n  media/extractors/amr/Android.bp\n  media/extractors/flac/Android.bp\n  media/extractors/fuzzers/Android.bp\n  media/extractors/midi/Android.bp\n  media/extractors/mkv/Android.bp\n  media/extractors/mp3/Android.bp\n  media/extractors/mp4/Android.bp\n  media/extractors/mpeg2/Android.bp\n  media/extractors/ogg/Android.bp\n  media/extractors/tests/Android.bp\n  media/extractors/wav/Android.bp\n  media/img_utils/Android.bp\n  media/libaaudio/Android.bp\n  media/libaaudio/examples/Android.bp\n  media/libaaudio/examples/input_monitor/Android.bp\n  media/libaaudio/examples/loopback/Android.bp\n  media/libaaudio/examples/write_sine/Android.bp\n  media/libaaudio/src/Android.bp\n  media/libaaudio/tests/Android.bp\n  media/libaudioclient/Android.bp\n  media/libaudioclient/fuzzer/Android.bp\n  media/libaudioclient/tests/Android.bp\n  media/libaudiofoundation/Android.bp\n  media/libaudiofoundation/tests/Android.bp\n  media/libaudiohal/Android.bp\n  media/libaudiohal/impl/Android.bp\n  media/libaudioprocessing/Android.bp\n  media/libaudioprocessing/audio-resampler/Android.bp\n  media/libaudioprocessing/tests/Android.bp\n  media/libaudioprocessing/tests/fuzzer/Android.bp\n  media/libcpustats/Android.bp\n  media/libdatasource/Android.bp\n  media/libeffects/config/Android.bp\n  media/libeffects/downmix/Android.bp\n  media/libeffects/downmix/tests/Android.bp\n  media/libeffects/dynamicsproc/Android.bp\n  media/libeffects/factory/Android.bp\n  media/libeffects/hapticgenerator/Android.bp\n  media/libeffects/loudness/Android.bp\n  media/libeffects/lvm/benchmarks/Android.bp\n  media/libeffects/lvm/lib/Android.bp\n  media/libeffects/lvm/tests/Android.bp\n  media/libeffects/lvm/wrapper/Android.bp\n  media/libeffects/preprocessing/Android.bp\n  media/libeffects/preprocessing/benchmarks/Android.bp\n  media/libeffects/preprocessing/tests/Android.bp\n  media/libeffects/proxy/Android.bp\n  media/libeffects/visualizer/Android.bp\n  media/libheif/Android.bp\n  media/libmedia/Android.bp\n  media/libmedia/tests/codeclist/Android.bp\n  media/libmedia/tests/mediaplayer/Android.bp\n  media/libmedia/xsd/Android.bp\n  media/libmedia/xsd/vts/Android.bp\n  media/libmediahelper/Android.bp\n  media/libmediahelper/tests/Android.bp\n  media/libmediametrics/Android.bp\n  media/libmediaplayerservice/Android.bp\n  media/libmediaplayerservice/datasource/Android.bp\n  media/libmediaplayerservice/nuplayer/Android.bp\n  media/libmediaplayerservice/tests/Android.bp\n  media/libmediaplayerservice/tests/stagefrightRecorder/Android.bp\n  media/libmediatranscoding/Android.bp\n  media/libmediatranscoding/tests/Android.bp\n  media/libmediatranscoding/transcoder/Android.bp\n  media/libmediatranscoding/transcoder/benchmark/Android.bp\n  media/libmediatranscoding/transcoder/tests/Android.bp\n  media/libmediatranscoding/transcoder/tests/fuzzer/Android.bp\n  media/libnbaio/Android.bp\n  media/libnblog/Android.bp\n  media/libshmem/Android.bp\n  media/libstagefright/Android.bp\n  media/libstagefright/bqhelper/Android.bp\n  media/libstagefright/bqhelper/tests/Android.bp\n  media/libstagefright/codecs/aacdec/Android.bp\n  media/libstagefright/codecs/aacenc/Android.bp\n  media/libstagefright/codecs/amrnb/dec/Android.bp\n  media/libstagefright/codecs/amrnb/enc/Android.bp\n  media/libstagefright/codecs/amrwbenc/Android.bp\n  media/libstagefright/codecs/avcdec/Android.bp\n  media/libstagefright/codecs/avcenc/Android.bp\n  media/libstagefright/codecs/common/Android.bp\n  media/libstagefright/codecs/flac/dec/Android.bp\n  media/libstagefright/codecs/flac/enc/Android.bp\n  media/libstagefright/codecs/g711/dec/Android.bp\n  media/libstagefright/codecs/gsm/dec/Android.bp\n  media/libstagefright/codecs/hevcdec/Android.bp\n  media/libstagefright/codecs/m4v_h263/dec/Android.bp\n  media/libstagefright/codecs/m4v_h263/enc/Android.bp\n  media/libstagefright/codecs/mp3dec/Android.bp\n  media/libstagefright/codecs/mpeg2dec/Android.bp\n  media/libstagefright/codecs/on2/dec/Android.bp\n  media/libstagefright/codecs/on2/enc/Android.bp\n  media/libstagefright/codecs/opus/dec/Android.bp\n  media/libstagefright/codecs/raw/Android.bp\n  media/libstagefright/codecs/vorbis/dec/Android.bp\n  media/libstagefright/codecs/xaacdec/Android.bp\n  media/libstagefright/colorconversion/Android.bp\n  media/libstagefright/data/Android.bp\n  media/libstagefright/filters/Android.bp\n  media/libstagefright/flac/dec/Android.bp\n  media/libstagefright/flac/dec/test/Android.bp\n  media/libstagefright/foundation/Android.bp\n  media/libstagefright/foundation/tests/AVCUtils/Android.bp\n  media/libstagefright/foundation/tests/Android.bp\n  media/libstagefright/foundation/tests/OpusHeader/Android.bp\n  media/libstagefright/foundation/tests/colorutils/Android.bp\n  media/libstagefright/http/Android.bp\n  media/libstagefright/httplive/Android.bp\n  media/libstagefright/id3/Android.bp\n  media/libstagefright/id3/test/Android.bp\n  media/libstagefright/mpeg2ts/Android.bp\n  media/libstagefright/mpeg2ts/test/Android.bp\n  media/libstagefright/omx/Android.bp\n  media/libstagefright/omx/tests/Android.bp\n  media/libstagefright/renderfright/Android.bp\n  media/libstagefright/renderfright/tests/Android.bp\n  media/libstagefright/rtsp/Android.bp\n  media/libstagefright/tests/Android.bp\n  media/libstagefright/tests/ESDS/Android.bp\n  media/libstagefright/tests/HEVC/Android.bp\n  media/libstagefright/tests/extractorFactory/Android.bp\n  media/libstagefright/tests/fuzzers/Android.bp\n  media/libstagefright/tests/mediacodec/Android.bp\n  media/libstagefright/tests/metadatautils/Android.bp\n  media/libstagefright/tests/writer/Android.bp\n  media/libstagefright/timedtext/Android.bp\n  media/libstagefright/timedtext/test/Android.bp\n  media/libstagefright/webm/Android.bp\n  media/libstagefright/webm/tests/Android.bp\n  media/libstagefright/writer_fuzzers/Android.bp\n  media/libstagefright/xmlparser/Android.bp\n  media/libstagefright/xmlparser/test/Android.bp\n  media/libstagefright/xmlparser/vts/Android.bp\n  media/libwatchdog/Android.bp\n  media/mediaserver/Android.bp\n  media/mtp/Android.bp\n  media/mtp/tests/MtpFfsHandleTest/Android.bp\n  media/mtp/tests/MtpFuzzer/Android.bp\n  media/mtp/tests/PosixAsyncIOTest/Android.bp\n  media/tests/benchmark/Android.bp\n  media/tests/benchmark/MediaBenchmarkTest/Android.bp\n  media/tests/benchmark/MediaBenchmarkTest/src/main/cpp/Android.bp\n  media/tests/benchmark/src/native/common/Android.bp\n  media/tests/benchmark/src/native/decoder/Android.bp\n  media/tests/benchmark/src/native/encoder/Android.bp\n  media/tests/benchmark/src/native/extractor/Android.bp\n  media/tests/benchmark/src/native/muxer/Android.bp\n  media/tests/benchmark/tests/Android.bp\n  media/utils/Android.bp\n  media/utils/fuzzers/Android.bp\n  media/utils/tests/Android.bp\n  services/audioflinger/Android.bp\n  services/audiopolicy/Android.bp\n  services/audiopolicy/common/Android.bp\n  services/audiopolicy/common/managerdefinitions/Android.bp\n  services/audiopolicy/config/Android.bp\n  services/audiopolicy/engine/common/Android.bp\n  services/audiopolicy/engine/config/Android.bp\n  services/audiopolicy/engine/config/tests/Android.bp\n  services/audiopolicy/engine/config/tests/resources/Android.bp\n  services/audiopolicy/engine/interface/Android.bp\n  services/audiopolicy/engineconfigurable/Android.bp\n  services/audiopolicy/engineconfigurable/config/Android.bp\n  services/audiopolicy/engineconfigurable/config/example/automotive/Android.bp\n  services/audiopolicy/engineconfigurable/config/example/caremu/Android.bp\n  services/audiopolicy/engineconfigurable/config/example/phone/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/Car/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/CarEmu/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/Phone/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/SettingsNoInput/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/examples/SettingsNoOutput/Android.bp\n  services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.bp\n  services/audiopolicy/engineconfigurable/tools/Android.bp\n  services/audiopolicy/engineconfigurable/wrapper/Android.bp\n  services/audiopolicy/enginedefault/Android.bp\n  services/audiopolicy/enginedefault/config/example/Android.bp\n  services/audiopolicy/fuzzer/Android.bp\n  services/audiopolicy/fuzzer/resources/Android.bp\n  services/audiopolicy/managerdefault/Android.bp\n  services/audiopolicy/service/Android.bp\n  services/audiopolicy/tests/Android.bp\n  services/audiopolicy/tests/resources/Android.bp\n  services/camera/libcameraservice/Android.bp\n  services/camera/libcameraservice/fuzzer/Android.bp\n  services/camera/libcameraservice/libcameraservice_fuzzer/Android.bp\n  services/camera/libcameraservice/tests/Android.mk\n  services/mediacodec/Android.bp\n  services/mediacodec/registrant/Android.bp\n  services/mediaextractor/Android.bp\n  services/medialog/Android.bp\n  services/medialog/fuzzer/Android.bp\n  services/mediametrics/Android.bp\n  services/mediametrics/benchmarks/Android.bp\n  services/mediametrics/fuzzer/Android.bp\n  services/mediametrics/tests/Android.bp\n  services/mediaresourcemanager/Android.bp\n  services/mediaresourcemanager/fuzzer/Android.bp\n  services/mediaresourcemanager/test/Android.bp\n  services/mediatranscoding/Android.bp\n  services/mediatranscoding/tests/Android.bp\n  services/mediatranscoding/tests/TranscodingUidPolicyTestApp/Android.bp\n  services/minijail/Android.bp\n  services/oboeservice/Android.bp\n  services/tuner/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  media/codecs/amrnb/dec/Android.bp\n  media/codecs/amrnb/dec/test/Android.bp\n  media/codecs/amrnb/enc/Android.bp\n  media/codecs/amrnb/enc/test/Android.bp\n  media/codecs/amrwb/dec/Android.bp\n  media/codecs/amrwb/dec/test/Android.bp\n  media/codecs/m4v_h263/enc/Android.bp\n  media/codecs/m4v_h263/enc/test/Android.bp\n  media/codecs/mp3dec/Android.bp\n  media/codecs/mp3dec/test/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS\n    legacy_by_exception_only\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\n    SPDX-license-identifier-Unicode-DFS\nto:\n  camera/Android.bp\n  camera/ndk/Android.bp\n  media/ndk/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 legacy_by_exception_only\nto:\n  drm/mediadrm/plugins/clearkey/hidl/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I4e4ecdbb43c90f5c3cd8e5ccec51b39fa0b5ae9b\n"
    },
    {
      "commit": "5739fff71185219a5dcc56a12620948164287608",
      "tree": "8f123bc9e9ad5d3ebc0aee78a2ed7bb3b1dbc07b",
      "parents": [
        "5530dd3df904c1b22ee4098bec1b801c379b8d4f"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 11:40:14 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 11:45:35 2021 -0800"
      },
      "message": "Revert \"[LSC] Add LOCAL_LICENSE_KINDS to frameworks/av\"\n\nThis reverts commit 3908e7be0b90e95ffb1f0e3db9274b2cbef57728.\n\nThis reverts commit c837504ed5b9c708896bb97b1ef9225c376816a7.\n\nThis reverts commit 948e6aace91d16acfaa97763c7228029a1c2afe0.\n\nChange-Id: Ib53daa5debdae7062155add5a70a5b3d5fcd1050\n"
    },
    {
      "commit": "99de5032252e13cac4f04e0c0cd432bc9cf7c388",
      "tree": "4ab73f0a04faaf5532950ebdfc28c51309c57da8",
      "parents": [
        "0bb7c35822bb8efa344b54b46066cbc2f8a644b5",
        "3908e7be0b90e95ffb1f0e3db9274b2cbef57728"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Wed Feb 24 20:30:16 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 20:30:16 2021 +0000"
      },
      "message": "Merge \"[LSC] Add LOCAL_LICENSE_KINDS to frameworks/av\" into sc-dev"
    },
    {
      "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": "3908e7be0b90e95ffb1f0e3db9274b2cbef57728",
      "tree": "25f80f465f44835875bad4819ece00be424aacee",
      "parents": [
        "2ba29909861b3600881468bb5ae9b25f5f30a20e"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 23 14:27:06 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 23 14:27:06 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/av\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  media/audioserver/Android.bp\n  media/codec2/hidl/plugin/Android.bp\n  media/codec2/hidl/plugin/samples/Android.bp\n  media/libaudioclient/fuzzer/Android.bp\n  media/libeffects/hapticgenerator/Android.bp\n  media/libeffects/visualizer/Android.bp\n  media/libmediatranscoding/transcoder/Android.bp\n  media/libmediatranscoding/transcoder/benchmark/Android.bp\n  media/libmediatranscoding/transcoder/tests/Android.bp\n  media/libmediatranscoding/transcoder/tests/fuzzer/Android.bp\n  media/libshmem/Android.bp\n  media/libstagefright/renderfright/Android.bp\n  media/libstagefright/renderfright/tests/Android.bp\n  media/mtp/tests/MtpFuzzer/Android.bp\n  media/mtp/tests/PosixAsyncIOTest/Android.bp\n  media/utils/tests/Android.bp\n  services/audiopolicy/engine/config/tests/Android.bp\n  services/audiopolicy/engine/config/tests/resources/Android.bp\n  services/audiopolicy/fuzzer/Android.bp\n  services/audiopolicy/fuzzer/resources/Android.bp\n  services/audiopolicy/service/Android.bp\n  services/mediatranscoding/tests/TranscodingUidPolicyTestApp/Android.bp\n  services/tuner/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I3813238d175c97c8a083c737b28fe7c016506c22\n"
    },
    {
      "commit": "7398f05d34c3e0a7a0eb484a0d12f79db4bdd3ce",
      "tree": "42cdb4d2545543fa6b695f1ee6825f419297866f",
      "parents": [
        "31a60210dd85d240028352af86a99dff3b5182a8",
        "6da1c549066d771a7bf3f73dd61061af6dc4a5ec"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 16 16:41:37 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 16 16:41:37 2021 +0000"
      },
      "message": "Merge \"Transcoder: MediaSampleReader sometimes drops last sample.\" into sc-dev"
    },
    {
      "commit": "6da1c549066d771a7bf3f73dd61061af6dc4a5ec",
      "tree": "5fe7a12c5fdee989d727855845fbc2774c13c0a2",
      "parents": [
        "82aff67588f6c1fc701f8bd36d8e3c57d21886d3"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Feb 11 21:17:17 2021 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Feb 11 21:28:41 2021 -0800"
      },
      "message": "Transcoder: MediaSampleReader sometimes drops last sample.\n\nA bug caused MSR to drop the last sample in the file if that\nwas the only sample left to read and another track advanced past\nit to make the extractor reach EOS. When the extractor reached EOS\nMSR did not update it\u0027s position so when the first track came to read\nthe last sample it looked like the extractor was already positioned\non top of it.\n\nFixes: 180051221\nTest: MediaSampleReaderNDKTests.TestLastSampleBeforeEOS + all unit tests\nChange-Id: I7298dc8dcdafb93830cec2a446f68f7a8c878e19\n"
    },
    {
      "commit": "9cc7fcadb2b8d1bbf422f7d19261100bcea8c817",
      "tree": "24061c09f37aa2c0c5f7b44349cc33e2cd8416bf",
      "parents": [
        "26e1639d0fec6736000dd66112ee4b2ab0d35ed3",
        "f46415456a728aa21e2d6e7467e19d296006a8bc"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Feb 09 17:09:36 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 17:09:36 2021 +0000"
      },
      "message": "Merge \"Transcoder: Adopt MediaCodec HDR-\u003eSDR conversion\" into sc-dev"
    },
    {
      "commit": "f46415456a728aa21e2d6e7467e19d296006a8bc",
      "tree": "0e1a18f57af4af0e511d35292f055385a5f3f613",
      "parents": [
        "82aff67588f6c1fc701f8bd36d8e3c57d21886d3"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Feb 04 15:12:26 2021 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Feb 08 15:28:13 2021 -0800"
      },
      "message": "Transcoder: Adopt MediaCodec HDR-\u003eSDR conversion\n\nRequest MediaCodec to convert all HDR content to SDR.\nReturn an error if the conversion is not supported.\n\nBug: 178106748\nTest: Unit tests\nChange-Id: I2fe79170398d46ddc4fa6d4c81472a13046d5f47\n"
    },
    {
      "commit": "82e14781dc884fceda2ef5294f9d1b5411a2b70a",
      "tree": "504cea8369daddc6f1c71bbf32b5588fa48d876c",
      "parents": [
        "bfb1949f08035061ffc88ef03794c0d66d89c31c"
      ],
      "author": {
        "name": "Naveen Kumar Ponnusamy",
        "email": "naveenkumar.p@ittiam.com",
        "time": "Wed Dec 16 10:50:43 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Feb 01 18:07:16 2021 -0800"
      },
      "message": "transcoder: Extend benchmark configurations\n\nExtended native MediaTranscoderBenchmark with more\ncodecs, bitrates resolutions, frame rates and audio\ninclude/exclude transcoding configurations.\n\nBug: 177383910\nTest:./MediaTranscoderBenchmark --benchmark_filter\u003dBM_1920x1080\nTest:./MediaTranscoderBenchmark --benchmark_filter\u003dBM_1280x720\nTest:./MediaTranscoderBenchmark --benchmark_filter\u003dBM_1080x1920\nTest:./MediaTranscoderBenchmark --benchmark_filter\u003dBM_720x1280\nTest:./MediaTranscoderBenchmark --benchmark_filter\u003dBM_3840x2160\n\nChange-Id: Ib7505e333ef2b26cad0d1dfeef8d18603d4e9706\n"
    },
    {
      "commit": "e3e3b242a6575a704dbc2c155c8e9e41146d7616",
      "tree": "896877204c2a40e4564a52a65193301a172638d6",
      "parents": [
        "35d3c5446761b1fbac76ae6228e4eecab4578ce7",
        "4aef0de9fce259739530695fa9553ceb295a1dbd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 30 03:56:13 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 30 03:56:13 2021 +0000"
      },
      "message": "Merge \"Transcoder: Default benchmark to AVC output.\" into sc-dev"
    },
    {
      "commit": "4aef0de9fce259739530695fa9553ceb295a1dbd",
      "tree": "76a5c4b38434f2a30ba99485e6c086327c44e3e0",
      "parents": [
        "82aff67588f6c1fc701f8bd36d8e3c57d21886d3"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jan 29 17:58:55 2021 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jan 29 17:58:55 2021 -0800"
      },
      "message": "Transcoder: Default benchmark to AVC output.\n\nAlso fixes an issue where floating point operating-rate got\noverwritten.\n\nFixes: 178876290\nTest: Running benchmark, verifying output.\nChange-Id: Icc4e7adf139c5d99238b955925bf1ec5ce185f7f\n"
    },
    {
      "commit": "f5249049e972d11b28dca55d97bab95da40f3400",
      "tree": "654f707ab6fe7b759227cb4f8d5844ec6fd152dc",
      "parents": [
        "82aff67588f6c1fc701f8bd36d8e3c57d21886d3"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Jan 28 22:24:10 2021 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Jan 28 22:24:10 2021 -0800"
      },
      "message": "Transcoder: Increase unit test timeout\n\nMediaTranscoderTests have been flaky on CuttleFish\nand it looks like it is due to tests timing out.\nThis CL increases the unit test\u0027s timeout to 10m.\n\nBug: 178655729\nTest: Build + verifying presubmit\nChange-Id: Id2ea98a1c35763bcad877a68b477c815d443e554\n"
    },
    {
      "commit": "473524150d9eb33720205f221033025df0930551",
      "tree": "84d1897d21e6b03228afad3725b1fc7de711a993",
      "parents": [
        "cbb06bde46fa0d29607db64a8ed01b84b3b78f12"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Dec 16 12:21:26 2020 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Jan 26 09:35:01 2021 -0800"
      },
      "message": "Transcoder: Detect input/output frame count mismatch due to codec error\n\nWhen setting operating rate for 4K videos the encoder will\nsilently drop frames but produce an EOS.\nThis commits adds a check after encoder EOS that logs a\nwarning if the number of output frames from the encoder is different\nfrom the number of input frames to the decoder and throws an error\nif no output frames are produced.\n\nBug: 175406816\nTest: 4K unit test from ag/13237959\nChange-Id: Ib58e26296160e9e4748d7562dca1034372e440ea\n"
    },
    {
      "commit": "26ddfc5929467be4fd290ce0f6f9e2321b17f2a8",
      "tree": "9cb4f8a1c43bea8bcddd5ddee3e452eb06b38fa9",
      "parents": [
        "5c504ee4cb63b1565a5f5653516d1d31c7d87621"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 22 16:26:40 2021 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 22 16:26:40 2021 +0900"
      },
      "message": "transcoding: use builtin_available macro instead of __ANDROID_APEX__\n\nThis is a follow-up of Id0c23d90b69de3cd5ddfd73de6ebcf7154cb2b1d.\nThe uses of the Android S APIs are correctly with __builtin_available\nguard.\n\nBug: 177365934\nTest: m\nChange-Id: Ib70e7c5128449c3e1abe1df79ca20e22bd7af781\n"
    },
    {
      "commit": "91ea1f4ce9c388a0097cb8ad3596815e1fa4af96",
      "tree": "04bf23f1dd0f5d823c2544a2b718094c99bef8c4",
      "parents": [
        "b3bd0a0713d6ca192dce7be6ebfb4deb07648150"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Dec 16 11:35:27 2020 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Jan 20 09:44:37 2021 -0800"
      },
      "message": "Transcoder: Add 4K transcoder unit test\n\nBug: 175406816\nTest: Added unit test\nChange-Id: I3e79bc0eac1dc2e9edf4096ad91f23699e527e6c\n"
    },
    {
      "commit": "e88c67ffba15979719ef7ce786030a14c6b9dcaf",
      "tree": "74130e3f8362307ced6e3e24b866df82e17303ef",
      "parents": [
        "ba11103331afa37fc559176c4ae316a9570d9393"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Jan 13 10:29:32 2021 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Jan 13 10:29:32 2021 +0900"
      },
      "message": "Don\u0027t use SDK 31 APIs on APEX\n\nFor now, the check is don statically using __ANDROID_APEX__ macro. Soon,\nit will be changed to a runtime check using __builtin_available.\n\nBug: 177365934\nTest: m\nChange-Id: Id0c23d90b69de3cd5ddfd73de6ebcf7154cb2b1d\n"
    },
    {
      "commit": "7af30a382ed1fbb8d1ab605442d8fb24db1cb0d0",
      "tree": "407e6d928aea707be4a66dd1c552d819fb07dcdb",
      "parents": [
        "8c21d774e25eb8de288497c3170b836cacdd14a0",
        "2d074bad1ee8f06236fdc1eb89911f10c9c57ef3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 05 23:10:00 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 05 23:10:00 2021 +0000"
      },
      "message": "Merge changes from topic \"benchmark\"\n\n* changes:\n  transcoder: Add startThreadPool to benchmark\n  transcoder: Mark benchmark frame rate iteration invariant\n  transcoder: Move create callback into benchmark state loop\n"
    },
    {
      "commit": "2d074bad1ee8f06236fdc1eb89911f10c9c57ef3",
      "tree": "a1a0511b7c10d2103e6b0f0c72db981acb828e0d",
      "parents": [
        "0dbe871906ed5200d96dca35547d1ec52dd74076"
      ],
      "author": {
        "name": "Naveen Kumar Ponnusamy",
        "email": "naveenkumar.p@ittiam.com",
        "time": "Thu Dec 17 17:13:45 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed Dec 23 16:55:50 2020 -0800"
      },
      "message": "transcoder: Add startThreadPool to benchmark\n\nAdding ProcessState startThreadPool fixes a\nhang, related to Extractor, seen for running\nbenchmark for many assets or multiple\niterations.\n\nBug: 175889103\nTest: ./MediaTranscoderBenchmark\n--benchmark_filter\u003dBM_TranscodeVideoPassthrough\n--benchmark_min_time\u003d60\n\nChange-Id: Ib4f1bbf131b4e97b0cf3391747dc5541f5f8fcd9\n"
    },
    {
      "commit": "0dbe871906ed5200d96dca35547d1ec52dd74076",
      "tree": "8cd6b3f8514a396531ed71541aa5a2a0d6e0f566",
      "parents": [
        "78d362a46d36397a16875bc252dfd21faaf5b2be"
      ],
      "author": {
        "name": "Naveen Kumar Ponnusamy",
        "email": "naveenkumar.p@ittiam.com",
        "time": "Wed Dec 16 23:31:38 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed Dec 23 16:52:48 2020 -0800"
      },
      "message": "transcoder: Mark benchmark frame rate iteration invariant\n\nMark the video frame rate counter as\nkIsIterationInvariantRate so that correct value\nis reported even when the benchmark\niterates.\n\nBug: 175889103\nTest: ./MediaTranscoderBenchmark\n\nChange-Id: If924d12c38f41f483bd9223ce9557568fec3de99\n"
    },
    {
      "commit": "78d362a46d36397a16875bc252dfd21faaf5b2be",
      "tree": "b50e1f4a45a39416579cd6de7405bc7e3764d4c6",
      "parents": [
        "bf4b9ee019ea3e51a54b095e25269e90c46a3bfd"
      ],
      "author": {
        "name": "Naveen Kumar Ponnusamy",
        "email": "naveenkumar.p@ittiam.com",
        "time": "Wed Dec 16 18:10:47 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed Dec 23 16:47:22 2020 -0800"
      },
      "message": "transcoder: Move create callback into benchmark state loop\n\nWhen the google benchmark iterator loop executes\nmore than once, using the same callback results\nin abort. This is reproducible when the transcoding\noperation is of the order of 100s of milliseconds\nand so the benchmark attempts to run more\niterations. To fix the issue, moved creating\ncallback into benchmark state loop.\n\nBug: 175889103\nTest: ./MediaTranscoderBenchmark\n\nChange-Id: I20a435a93ed8ccb3c8fd3d27053b20b54d9d6e26\n"
    },
    {
      "commit": "c173fc97a1b0d09e57df4557a34de858556d7c8a",
      "tree": "be3656d94fbec6b6cf9c4a093f4be217e9da4acb",
      "parents": [
        "4b441c1e8e99b459563339039962e11292a1e289",
        "cbcde34b1456473645ae18b5c5e88c240b5cdde6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 23 22:22:14 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 23 22:22:14 2020 +0000"
      },
      "message": "Merge \"Added media_transcoder_fuzzer\""
    },
    {
      "commit": "cbcde34b1456473645ae18b5c5e88c240b5cdde6",
      "tree": "bfc413ac99b322973fb4cad1187ac393aa042277",
      "parents": [
        "bf4b9ee019ea3e51a54b095e25269e90c46a3bfd"
      ],
      "author": {
        "name": "Ayushi Khopkar",
        "email": "ayushi.khopkar@ittiam.com",
        "time": "Thu Nov 26 22:13:17 2020 +0530"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed Dec 23 12:18:41 2020 -0800"
      },
      "message": "Added media_transcoder_fuzzer\n\nTest: ./media_transcoder_fuzzer\nBug: 171467811\n\nChange-Id: Ic2958c55176a7614bd020490e84154e80778f70f\n"
    },
    {
      "commit": "60e5a2561522185386ba901e72836bdd26ac0525",
      "tree": "1820597dcb42fb6b703cbce26b81beb36dfe48aa",
      "parents": [
        "9c7bdc21e082683a6e54211181662ff11b296b79",
        "a2e3a04895c7cf0438a0661d79a26d7321e27763"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Dec 23 03:28:02 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 23 03:28:02 2020 +0000"
      },
      "message": "Merge \"transcoding: move transcoding service to apex\""
    },
    {
      "commit": "504394a06c1991dabd8c4601d7f923dc45d4190d",
      "tree": "70486b4225008fb9956ed20b918677d25a1608ec",
      "parents": [
        "204fafe47572aa3362658aebaf84f9c860b64bcf"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Dec 16 11:10:10 2020 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Dec 16 11:15:05 2020 -0800"
      },
      "message": "Transcoder: Don\u0027t set operating rate for 4K\n\n4K is failing on some devices due to operating rate.\n\nBug: 175406816\nTest: Unit test\nChange-Id: I9b518ad34fed1a8c5ba8aa86a37099f1aada1f60\n"
    },
    {
      "commit": "204fafe47572aa3362658aebaf84f9c860b64bcf",
      "tree": "8a355d18ca04120f36bd6385282121beb4aaf41e",
      "parents": [
        "dd62aaa1e022cde0a76b1dc5b1fd28a8b09df959",
        "bcb9ec1abfd03da58d968e62e2051a28ce214619"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Dec 16 04:29:19 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 16 04:29:19 2020 +0000"
      },
      "message": "Merge \"transcoding: Add default operating rate support for 720P/1080P/4K.\""
    },
    {
      "commit": "34888673a01ecb7334941808fa0f78a62d9e8f78",
      "tree": "2462d009fb188f4757a3aedc10cefc5d4086e69f",
      "parents": [
        "5fca50079e1c42b61b569da47382595407e7ee07",
        "af4a321534e9cd3c74101f6cad221e15c52c3515"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Dec 16 01:11:13 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 16 01:11:13 2020 +0000"
      },
      "message": "Merge \"Transcoder: Fix codec config error with single frame video\""
    },
    {
      "commit": "bcb9ec1abfd03da58d968e62e2051a28ce214619",
      "tree": "f0406f4e2753d75162da86b8b561b8599b80e2f8",
      "parents": [
        "615fd22a66fdfaf4a55d0a239d5f300eed9653bc"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Dec 14 22:16:09 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Tue Dec 15 15:39:36 2020 -0800"
      },
      "message": "transcoding: Add default operating rate support for 720P/1080P/4K.\n\nBug: 175406816\nTest: atest -t CtsMediaTranscodingTestCases:MediaTranscodeManagerTest\nChange-Id: I23a39cbb3fcfc93178e99118b146c0ae32cec695\n"
    },
    {
      "commit": "af4a321534e9cd3c74101f6cad221e15c52c3515",
      "tree": "c6537dbe6e145884ba53cd452b1abe5edd52147b",
      "parents": [
        "0c01f3d16290ba5bdd18bbe34e5a8e4aaf8dc0fe"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Dec 15 08:18:25 2020 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Dec 15 08:22:39 2020 -0800"
      },
      "message": "Transcoder: Fix codec config error with single frame video\n\nAdd default frame rate config in order to successfully\nconfigure the encoder when frame rate information is\nmissing, such as for single-frame videos.\n\nBug: 175641397\nTest: Unit tests\nChange-Id: I2bab3534d5de5df41e5309049cb8e1249cf955d1\n"
    },
    {
      "commit": "0d93f0bafb40e619e35fcea312eb2b06d62fdcc7",
      "tree": "ea2c946bbfe86a117fde9ebd220b8bbb45e67d5a",
      "parents": [
        "1500df4a331bc4afc7628743b75b3c2dc22cbafb"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Dec 11 18:51:16 2020 +0000"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Sun Dec 13 12:05:08 2020 -0800"
      },
      "message": "Revert \"Revert \"transcoding: Use the maximum operating rate from property.\"\"\n\nThis reverts commit 83bd1970de8c5759ae6598434a5c9d2f3011e8e4.\n\nReason for revert: Fix the issue in original commit.\n\nChange-Id: I89403734c6a3e8f00dcb3acda707f1904cfc69a0\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": "5998a63a10bfd79a5e060f9669c40e45752a9e59",
      "tree": "532f1583ec3f30d22bafe2c9123ab2a75024371b",
      "parents": [
        "a189a294816bef86357cd4ee23116282a82f3615",
        "83bd1970de8c5759ae6598434a5c9d2f3011e8e4"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Dec 11 06:33:29 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 11 06:33:29 2020 +0000"
      },
      "message": "Merge \"Revert \"transcoding: Use the maximum operating rate from property.\"\""
    },
    {
      "commit": "83bd1970de8c5759ae6598434a5c9d2f3011e8e4",
      "tree": "99a923f26710d7254bf4bb5b6c0b6ba0947e3c28",
      "parents": [
        "561bb0574feb781b1af2acff83233fa3fca903ff"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Dec 11 06:31:30 2020 +0000"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Dec 11 06:31:30 2020 +0000"
      },
      "message": "Revert \"transcoding: Use the maximum operating rate from property.\"\n\nThis reverts commit 561bb0574feb781b1af2acff83233fa3fca903ff.\n\nReason for revert: breaking the build on  cf_x86_tv-userdebug\n\nChange-Id: I60d7c1d728b98521378e23eb2b2b4041f9dc619e\n"
    },
    {
      "commit": "a189a294816bef86357cd4ee23116282a82f3615",
      "tree": "e5c381210fc21c6b41ba78eeaed9d04205cfde84",
      "parents": [
        "ede2277556ca089dba3aef9fbcc8ca94a8f725fa",
        "561bb0574feb781b1af2acff83233fa3fca903ff"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Dec 11 05:11:05 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 11 05:11:05 2020 +0000"
      },
      "message": "Merge \"transcoding: Use the maximum operating rate from property.\""
    },
    {
      "commit": "60cb6ae9382302c4cc66b969d895ecde4a3e96e5",
      "tree": "6769bc67ea398d21c32be4756dc10e6866f8297f",
      "parents": [
        "d86f3f7919ece8408f74b48a208facf97de9471c",
        "8b8e700fdb46fef5b71c35eabc4dc0b25e2a562d"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Dec 11 00:07:53 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 11 00:07:53 2020 +0000"
      },
      "message": "Merge \"transcoder: Add support to log benchmark params\""
    },
    {
      "commit": "561bb0574feb781b1af2acff83233fa3fca903ff",
      "tree": "5981e3196f96e79da82180022e84e7acd375eca1",
      "parents": [
        "ef0f08175d339e61b2c26b51b4f6caf73200280c"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Dec 10 12:44:37 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Dec 10 12:46:07 2020 -0800"
      },
      "message": "transcoding: Use the maximum operating rate from property.\n\nBug: 175231451\nTest: atest  CtsMediaTranscodingTestCases:MediaTranscodeManagerTest\nChange-Id: Ic9a7d219cfafef977dd122c552048e6d914ff776\n"
    },
    {
      "commit": "8b8e700fdb46fef5b71c35eabc4dc0b25e2a562d",
      "tree": "79ed21afc12fc7395645606e5ef1738037fd1891",
      "parents": [
        "92bb814c54d20f0b407a29403d41646df32a246b"
      ],
      "author": {
        "name": "Naveen Kumar Ponnusamy",
        "email": "naveenkumar.p@ittiam.com",
        "time": "Wed Dec 02 12:01:32 2020 +0530"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Dec 07 18:17:23 2020 -0800"
      },
      "message": "transcoder: Add support to log benchmark params\n\nIf --benchmark_out is set, log transcoding benchmark\nparams using a custom benchmark file reporter.\n\nTest: MediaTranscoderBenchmark --benchmark_out\u003dLog.csv\n\nChange-Id: I6820ad9241dba1aea0dd96f8c0b51bc6fc1319c7\n"
    },
    {
      "commit": "d74f9fd173b3c783dcb7d7e0574e6a6cb6ae3bdb",
      "tree": "a9f9b029740c547a1d98d70efa11789cc296f548",
      "parents": [
        "13bae590541afefe93c993dabcdb2a76a0a27560"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Wed Dec 02 16:08:31 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Dec 07 13:25:46 2020 -0800"
      },
      "message": "transcoder benchmarks: Use static libmediatranscoder\n\nUsing static libmediatranscoder makes it easy to run the\nbenchmark tests without a need to push libmediatranscoder.so\nto the device\n\nBug: 173627260\nTest: atest MediaTrackTranscoderBenchmark \\\n      -- --enable-module-dynamic-download\u003dtrue\nTest: atest MediaTranscoderBenchmark \\\n      -- --enable-module-dynamic-download\u003dtrue\nTest: atest MediaSampleReaderBenchmark \\\n      -- --enable-module-dynamic-download\u003dtrue\n\nChange-Id: Iacad35d17a24c1a41160604b13d3f836bfce1a57\n"
    },
    {
      "commit": "13bae590541afefe93c993dabcdb2a76a0a27560",
      "tree": "da05440661ecda00ef387e7a086e00c7ee81f49a",
      "parents": [
        "92bb814c54d20f0b407a29403d41646df32a246b"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Wed Dec 02 14:27:31 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Dec 07 11:47:30 2020 -0800"
      },
      "message": "Enable atest for mediatranscoder benchmarks\n\nBug: 173627260\nTest: push libmediatranscoder.so to /system/lib64 (if required)\nTest: atest MediaTrackTranscoderBenchmark \\\n      -- --enable-module-dynamic-download\u003dtrue\nTest: atest MediaTranscoderBenchmark \\\n      -- --enable-module-dynamic-download\u003dtrue\nTest: atest MediaSampleReaderBenchmark \\\n      -- --enable-module-dynamic-download\u003dtrue\n\nChange-Id: I048876ecc884f534d5aeee1c173dcc4cfe838dae\n"
    },
    {
      "commit": "5e883d137fc9a23dd8336d32a6bf18eb3f2c43a2",
      "tree": "411eb6ddfa8bf950906ca23fb255510aee07394e",
      "parents": [
        "8010632c38ae275c1e546bcfc1596d8e43d50b30",
        "24ba921866595c390ae928b81101c1c23ade4a08"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 02 21:52:40 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 02 21:52:40 2020 +0000"
      },
      "message": "Merge \"Transcoder: Relax the bitrate file size thresholds for cuttlefish\""
    },
    {
      "commit": "24ba921866595c390ae928b81101c1c23ade4a08",
      "tree": "2fddc75be289ad9c98ba3422603e584408ad59a8",
      "parents": [
        "f674100ba8a40ff989573d5826fe645a6c8894a0"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Dec 02 11:46:39 2020 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Dec 02 11:51:55 2020 -0800"
      },
      "message": "Transcoder: Relax the bitrate file size thresholds for cuttlefish\n\nBug: 174678558\nTest: Ran transcoder unit test\nChange-Id: I72ae7f6f26fb984ee81e1003e782d4decc538275\n"
    },
    {
      "commit": "bdcc54fef83b4b583620f221483230844c88219b",
      "tree": "689b1fc76339d9e0027c9acdc48b14729ea5ca55",
      "parents": [
        "de08f90f609bd2438c09a5d05e05c590ec23584f",
        "0c01f3d16290ba5bdd18bbe34e5a8e4aaf8dc0fe"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Dec 02 17:05:31 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 02 17:05:31 2020 +0000"
      },
      "message": "Merge \"Transcoder: Fix error with short clips\""
    },
    {
      "commit": "071b9da42c477e2e44d9d7cd1169b4c5721d1be7",
      "tree": "2745fd1e3cf8ab630be1e34fb7f087471cb8cd7b",
      "parents": [
        "633d2ed262e54304574fe7d3e3204dd8888dd080",
        "fdb3e3399e5a2d6f4a91ef272125b7e0bc792d1d"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Dec 02 10:17:35 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 02 10:17:35 2020 +0000"
      },
      "message": "Merge \"Transcoder: Add support for pausing transcoding on a sync frame.\""
    },
    {
      "commit": "0c01f3d16290ba5bdd18bbe34e5a8e4aaf8dc0fe",
      "tree": "30d33f2ed9723c4d149fd243c5479eb9f68b9469",
      "parents": [
        "fdb3e3399e5a2d6f4a91ef272125b7e0bc792d1d"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Dec 01 09:29:50 2020 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Dec 02 01:59:42 2020 -0800"
      },
      "message": "Transcoder: Fix error with short clips\n\n- Fixes a bug in the sample reader where an error was incorrectly\nreported if one track reached EOS right before switching to\nsequential access.\n- Adds more sample reader tests for different combinations of\nsample access patterns and access modes.\n\nBug: 153453392\nFixes: 173643110\nTest: Unit test (MediaSampleReaderNDKTests)\nChange-Id: I3b683c5d8eb18a5b57d419ce113e08b40363ba9e\n"
    },
    {
      "commit": "af7f8be663180f4082c5f27ef07677e8fad853a4",
      "tree": "16e53a45972a6ab3f1ef7e595a2db93e3c71a1f5",
      "parents": [
        "7c1a5353dae19cf4f34a3fdfdfce0191b9b35a2d",
        "84d4018de229ff53c1fce3ae049ab1187fab920d"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Dec 01 18:08:15 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 01 18:08:15 2020 +0000"
      },
      "message": "Merge changes from topic \"TranscodingAtest\"\n\n* changes:\n  libmediatranscoder: Android.bp updates\n  libmediatranscoding: Run tests with atest\n  libmediatranscoding: Reorganize test assets\n"
    },
    {
      "commit": "84d4018de229ff53c1fce3ae049ab1187fab920d",
      "tree": "bd6c568c0463fd4cc5bce0906940574437426fc5",
      "parents": [
        "8c92258c24e10fd51ef4e66489a372be8a039fb3"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Thu Nov 19 05:32:30 2020 +0530"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Nov 30 17:25:29 2020 -0800"
      },
      "message": "libmediatranscoder: Android.bp updates\n\n- Build libmediatranscoder as both shared and static libraries\n- Use libmediatranscoder static library in unit tests\n- Disable address sanitizer in tests\n- Do not use address sanitizer enabled library in tests\n\nInstead of enabling address sanitizer in Android.bp, better approach\nis to test on devices flashed with hwasan images where all modules\nare built with hwaddress sanitizer.\n\nBug: 173627260\nTest: atest MediaTrackTranscoderTests\n\nChange-Id: Id06ce520012485579c2be60348a2b38637fa7327\n"
    },
    {
      "commit": "8c92258c24e10fd51ef4e66489a372be8a039fb3",
      "tree": "02e83c97c1f6c5b03d4fab8cfb4812b1b19ab624",
      "parents": [
        "c580def3a6dc638cd545767d00fe2093c50be171"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Wed Nov 18 11:21:06 2020 +0530"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Nov 30 17:25:23 2020 -0800"
      },
      "message": "libmediatranscoding: Run tests with atest\n\nUpdated AndroidTestTemplate.xml to push test binaries to /data/local/tmp/\nTranscoder tests can now be run with atest\n\nBug: 173627260\nTest: Disable address sanitizer in libmediatranscoder\nTest: push libmediatranscoder.so to /system/lib64\nTest: atest MediaTrackTranscoderTests\nTest: atest MediaTranscoderTests\nTest: atest MediaSampleQueueTests\n\nChange-Id: I803e7ddc89ff73fd36cbe9e85b46753a84f6be1d\n"
    },
    {
      "commit": "c580def3a6dc638cd545767d00fe2093c50be171",
      "tree": "5fc9bfa43990c0f7a0dfe54e8d22730ced5bae36",
      "parents": [
        "e723140182bfecd63b2dc54fa938625ffdac61be"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Wed Nov 18 10:34:30 2020 +0530"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Nov 30 17:25:13 2020 -0800"
      },
      "message": "libmediatranscoding: Reorganize test assets\n\nMove test_assets filegroup to correct Android.bp\n\nMove test files in assets to a subfolder as needed in\nAndroidTestTemplate.xml\n\nBug: 173627260\nTest: Builds\n\nChange-Id: I1e32081a069c4c1b25aa200dcdb165c0feb07b8a\n"
    },
    {
      "commit": "fdb3e3399e5a2d6f4a91ef272125b7e0bc792d1d",
      "tree": "f5beb45ec337e25b5349622be4c72b58edb5ca12",
      "parents": [
        "f674100ba8a40ff989573d5826fe645a6c8894a0"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Sep 18 17:11:41 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Nov 23 14:17:04 2020 -0800"
      },
      "message": "Transcoder: Add support for pausing transcoding on a sync frame.\n\n- Added support for stopping transcoders on a sync frame.\n- Refactored MediaTrackTranscoders and MediaSampleWriter to stop()\nasynchronously.\n- Fixed callback and error handling logic in MediaTranscoder.\n- Added tests for pause and stopping on sync frame.\n\nBug: 162886306\nTest: Unit tests.\n\nChange-Id: If689a10dfee198c674c4c13b865a7c56a901e075\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": "5f5c07b599ebc067ef04fe565c8567542127af2d",
      "tree": "1f732e1dc9ce9c8c2fe5da0df0a5ded0799700dc",
      "parents": [
        "7fe9ab77464bb96f3d568356a758b11850f7ad06",
        "a7aa2f6732d2d643292703d33d25c8d04849d53e"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Nov 02 19:07:45 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 02 19:07:45 2020 +0000"
      },
      "message": "Merge \"Transcoder: Add 720p benchmark\""
    },
    {
      "commit": "a7aa2f6732d2d643292703d33d25c8d04849d53e",
      "tree": "b4278b3e05bb83fab850897560b70c145257e8a3",
      "parents": [
        "7a127b2a0db7bcc773a0b24b12640253a565445e"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Oct 29 13:19:35 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Oct 29 13:19:35 2020 -0700"
      },
      "message": "Transcoder: Add 720p benchmark\n\nTest: Benchmark\nChange-Id: Ifec8ba2c3773bac8df41a916c424da5f443e2674\n"
    },
    {
      "commit": "e4e088fc674ebce0b3887b4d3cb416798d7df4cc",
      "tree": "3e2f0428a575ca48c5f87b3cdf104e9f98cdacce",
      "parents": [
        "28b27204a3658bb37afb0294df7265d725dbf62b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 21 19:10:42 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 23 16:46:46 2020 +0000"
      },
      "message": "transcoder: remove libbinder usage\n\nbug: 159172726\ntest: transcoder unit tests and MediaTranscodingService unit tests.\n\nChange-Id: Ida859f529b46c4e97d9eeaa217e1ee60cd46b527\n"
    },
    {
      "commit": "72fedd60172bdcd8f2b1fd60fe60e3b70506deae",
      "tree": "51160c6f1c752f742fed4ee4b993ea0ea9c4ffcf",
      "parents": [
        "e73500522f16b4884df70adc03e3f7d4216b9d1e",
        "7a127b2a0db7bcc773a0b24b12640253a565445e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 16 16:44:49 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 16 16:44:49 2020 +0000"
      },
      "message": "Merge \"Transcoder: Add default codec operating rate.\""
    },
    {
      "commit": "7a127b2a0db7bcc773a0b24b12640253a565445e",
      "tree": "948c970084fd668ab7dc93a3a9944bb77bcc21ba",
      "parents": [
        "d98ea3b04b60d5b77b2c905ae051902c08e38863"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Oct 15 16:23:54 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Oct 15 21:12:53 2020 -0700"
      },
      "message": "Transcoder: Add default codec operating rate.\n\nFixes: 170998108\nTest: Unit tests and benchmark.\nChange-Id: I0a73a71c50efa1fc6cf2b25b5ffdab6e973ad03d\n"
    },
    {
      "commit": "e8b83357575007aec72f303fbb00f39b8820d943",
      "tree": "4d5006edd5f641c0a125c93f5c043d735b3bd4b5",
      "parents": [
        "0f02473f927e0f6e3707c4a42b420123cd85876b",
        "d98ea3b04b60d5b77b2c905ae051902c08e38863"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 15 19:56:33 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 15 19:56:33 2020 +0000"
      },
      "message": "Merge \"Transcoder: Fix oob read in benchmark test\""
    },
    {
      "commit": "d98ea3b04b60d5b77b2c905ae051902c08e38863",
      "tree": "dad02388e7755a2e2c56ff2697622c0856e02912",
      "parents": [
        "82a6a29675c8709f608cb12fb1cb11a28512eec0"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Oct 15 09:27:18 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Oct 15 09:27:18 2020 -0700"
      },
      "message": "Transcoder: Fix oob read in benchmark test\n\nFixes: 170961014\nTest: Running benchmark under asan\nChange-Id: I5eddcabb3a393ed6c646fb974034b3cb56e75dd1\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": "82a6a29675c8709f608cb12fb1cb11a28512eec0",
      "tree": "42add7b073c809a157a8adf82ebe54afc83c580e",
      "parents": [
        "6bf46534dbffb9060f40c3251c33537a4c0e918f"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Oct 09 11:19:29 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Oct 13 12:56:42 2020 -0700"
      },
      "message": "Transcoder: Make it easier to benchmark operating rates.\n\nFixes: 170322594\nTest: Benchmark\n\nChange-Id: I2cb016bec3803f609cbba61f0455bf727d93811a\n"
    },
    {
      "commit": "6bf46534dbffb9060f40c3251c33537a4c0e918f",
      "tree": "ba203bc5906d246ff28778516c48e42dbd70af70",
      "parents": [
        "8a96cfc8c79e2adc839f399fb416df9c95e490fe"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Oct 07 11:58:02 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Oct 07 11:58:02 2020 -0700"
      },
      "message": "Transcoder: Benchmark HEVC-\u003eAVC and max operating rate\n\nTest HEVC and max operating rate on both media trasncoder\nand track transcoder level.\n\nFixes: 170322594\nTest: Run benchmark\nChange-Id: I4bb79ea0199a1172b89b5f2a5c73af29e6f83cad\n"
    },
    {
      "commit": "8a96cfc8c79e2adc839f399fb416df9c95e490fe",
      "tree": "5c6e235cc6199356ceb72e1efd12d54edf3f2f48",
      "parents": [
        "ad3888714bc75acd1355e4f24003a7af11cd4a05"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Sep 29 12:31:15 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Oct 05 11:13:51 2020 -0700"
      },
      "message": "Transcoder: Add TrackTranscoder benchmarking.\n\nAdds a benchmarking test that can run TrackTranscoders\nwithout getting samples directly from an extractor and\nwithout writing the transcoded samples to a muxer.\n\nTest: Running the benchmark.\nFixes: 152091444\n\nChange-Id: Ia723f96b9033b1ec9b4502a1242e154bcdbfe9f5\n"
    },
    {
      "commit": "ad3888714bc75acd1355e4f24003a7af11cd4a05",
      "tree": "b2bcd9c70f6df87b4ae5e445865bf88d062da22b",
      "parents": [
        "289079f0b59ddb814aae9f5091ba2c28393b1221",
        "16d772b309082beac7d958d3084a63b49c6916c1"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Sep 30 23:12:45 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 30 23:12:45 2020 +0000"
      },
      "message": "Merge \"Transcoder: Allow setting operating rate and priority on both encoder and decoder\""
    },
    {
      "commit": "16d772b309082beac7d958d3084a63b49c6916c1",
      "tree": "75eadcd9f7534bd631e9954cc1ae8099e657be5a",
      "parents": [
        "93cf913073d94f6e00bdf95196067cfd996daeef"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Sep 29 19:21:11 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Sep 30 12:02:53 2020 -0700"
      },
      "message": "Transcoder: Allow setting operating rate and priority on both encoder and decoder\n\nPlumb through operating rate and priority to both codecs when\nconfiguring the video track transcoder.\n\nFixes: 169719271\nTest: Unit test, manually verifying the settings and benchmarking.\nChange-Id: I229eaaf0ae0d5002e2eec52eb83a6bb92694b1d2\n"
    },
    {
      "commit": "9fe700a819ad17c2ec98d1e8fcc26affd986e708",
      "tree": "53e6579e65c0e02e9746f158a06ffb027db4594b",
      "parents": [
        "8d18e91402b2afa7c4ce05ac665351f959dfe834",
        "93cf913073d94f6e00bdf95196067cfd996daeef"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 26 01:28:23 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 26 01:28:23 2020 +0000"
      },
      "message": "Merge \"Transcoder: Fixed codec leaks on cancel.\""
    },
    {
      "commit": "93cf913073d94f6e00bdf95196067cfd996daeef",
      "tree": "5fb2c3e3038a8eb9bb91f10298aeb5dcdcfca39c",
      "parents": [
        "c31d2491af85218c29845840c46ff3fa5df6b1bc"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Sep 24 12:12:48 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Sep 25 16:15:55 2020 -0700"
      },
      "message": "Transcoder: Fixed codec leaks on cancel.\n\nWhen transcoding was cancelled, the VideoTrackTranscoder\nheld strong references to itself through its internal\ncodec handler work queue.\nThis commit clears the work queue and blocks new messages\nfrom being stored on cancel.\n\nTest: Unit test and address sanitizer.\nFixes: 168522198\nChange-Id: I9c3a4469378a91a492c6872bafc6d494dadf2853\n"
    },
    {
      "commit": "a23394f6f3982afe61e79f3cbb55c008fb5908ab",
      "tree": "e75bb18dd89737fc8210a931380b36321d74f120",
      "parents": [
        "3f23e986396cf1e874e79f8b648d9e06bc4a1b91",
        "c31d2491af85218c29845840c46ff3fa5df6b1bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 25 19:41:06 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 25 19:41:06 2020 +0000"
      },
      "message": "Merge \"Transcoder: Refactor sample writer to not block clients.\""
    },
    {
      "commit": "c31d2491af85218c29845840c46ff3fa5df6b1bc",
      "tree": "1d1ea539b80a54486f32a73c6f6fc56376f2a23d",
      "parents": [
        "6233fed6f67703460d4bd0b025bacc03513f1284"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Sep 23 12:30:00 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Sep 25 10:58:15 2020 -0700"
      },
      "message": "Transcoder: Refactor sample writer to not block clients.\n\nThis commit fixes an issue with hangs in the transcoder\nby not letting samples from all tracks go directly to the\nbacking muxer. This relies on tracks being synchronized by\nthe sample reader and that the muxer buffers and interleaves\nsamples internally.\n\nTest: Transcoder unit tests.\nFixes: 165374867\nChange-Id: I99d2dbfa4eb094b7364848a1a8aa3d3d8742140d\n"
    },
    {
      "commit": "c8c88cc61a3ea4d6353cfa6d1471b9827b99c47d",
      "tree": "c1a9d4dca2d3d024d93e4d6feee406b2d017e460",
      "parents": [
        "ffebb80bd127ecebfc4af02fe481d048d0c9a29c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 17 12:50:49 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 17 19:54:20 2020 +0000"
      },
      "message": "transcoder: fix error returned failed configure\n\nThis caused transcoder to continue even after configure failed,\nand the actual error code was lost.\n\nbug: 168307955\nbug: 154733526\nChange-Id: I30f32fe090600d23e40c440ac99e01a6b396e23f\n"
    },
    {
      "commit": "6233fed6f67703460d4bd0b025bacc03513f1284",
      "tree": "abee276ae4e2063782144adfc36c96a37576cafd",
      "parents": [
        "615364792b6fe07869c685e4bccbf7837e1ba97b"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Aug 13 15:15:14 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Aug 25 16:47:59 2020 -0700"
      },
      "message": "Transcoder: Improve AV transcoding speed by enforcing sequential sample access.\n\nMediaSampleReader was bottlenecking the transcoding pipeline due to\nnon-sequential sample access. This commit adds an option to the sample\nreader to enforce sequential sample access by blocking reads until\nthe underlying extractor advances to that specific track.\nFollow-up: b/165374867 Make MediaSampleWriter robust against buffering track transcoders\n\nFixes: 160268606\nTest: Transcoder unit tests, and benchmark tests.\nChange-Id: Id2a363d06df927ea3e547462c52803594e0511e1\n"
    },
    {
      "commit": "6c103703672d22ce0b2af3a07eacfa49c2dfab70",
      "tree": "975db2b83b9f686d63bfc955320965c92b6919ef",
      "parents": [
        "687a009e40ff39f2d53a01fa3a2d8bbe3e28b4de"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Aug 11 15:13:13 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Aug 12 11:06:15 2020 -0700"
      },
      "message": "Transcoder: Add a MediaSampleReader benchmark test.\n\nTest non-sequential sample access as well as sequential\nvideo only access.\n\nTest: Ran the benchmark.\nBug: 160268606\nBug: 152091444\nChange-Id: I6407c8011e85e2b5050450f76f24289009995d1e\n"
    },
    {
      "commit": "687a009e40ff39f2d53a01fa3a2d8bbe3e28b4de",
      "tree": "7dc972e1116706103b69bdba2e26218fc85d4441",
      "parents": [
        "262eb70e0e3772ccfad17805191d81ee36f6ffeb",
        "800793f3495649b415b6e04f87dc4bda1b00978b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 04 22:28:29 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 22:28:29 2020 +0000"
      },
      "message": "Merge \"Transcoder: Preserve source track\u0027s bitrate by default.\""
    },
    {
      "commit": "800793f3495649b415b6e04f87dc4bda1b00978b",
      "tree": "106b5fd76e26da397ad22bca4067dd5b5a7ac110",
      "parents": [
        "41ac4ced446869138f74d0e510b6e3b437fa84dd"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jul 31 16:16:38 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Aug 04 13:10:00 2020 -0700"
      },
      "message": "Transcoder: Preserve source track\u0027s bitrate by default.\n\nWhen no bitrate is passed in the transcoder now preserves the\nsource track\u0027s bitrate. If the bitrate is not available as metadata\nthe transcoder will sample the source track and estimate the bitrate.\n\nFixes: 160648740\nTest: Unit tests.\nChange-Id: I4e0284128aaa1116f5b61d908b52582b2ed3d7e4\n"
    },
    {
      "commit": "5d0c89bb526220f66bfa1ba3c7b5d7568606d469",
      "tree": "84f7c4a53fd8b8afec7f0107bd9efab8260564f8",
      "parents": [
        "30433515c8ad3ce8bf04ddd30181f9e912542083",
        "935918944c7487358475975e1e11e4e47fad36cf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 04 16:33:33 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 16:33:33 2020 +0000"
      },
      "message": "Merge \"Transcoder: Adopt MediaCodec\u0027s ALLOW_FRAME_DROP key\""
    },
    {
      "commit": "935918944c7487358475975e1e11e4e47fad36cf",
      "tree": "026dcbb3da7279a67633a561d85cf904fb83e7e2",
      "parents": [
        "b09aac27a243546e6ccf11596e66c56d07327af1"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Aug 03 18:56:55 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Aug 03 18:58:48 2020 -0700"
      },
      "message": "Transcoder: Adopt MediaCodec\u0027s ALLOW_FRAME_DROP key\n\nPrevent decoder from overwriting unconsumed frames by\nsetting ALLOW_FRAME_DROP to 0.\n\nFixes: 162792307\nTest: Unit test.\nChange-Id: Id3e71b054dd1c31343b7d1b77d2ab002dc5edde1\n"
    },
    {
      "commit": "7aa2e4a543372575ed23deb5feee285895757cf4",
      "tree": "20d4750a2012340e908c3a5bd543f2a9e06a7634",
      "parents": [
        "cf2253cb0948200309e81facc1a673926e555a17",
        "443f16c42aebfe9fe94a782889c8b78fea8e5c94"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 30 22:19:29 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 30 22:19:29 2020 +0000"
      },
      "message": "Merge \"Remove non-inclusive language from the transcoder.\""
    },
    {
      "commit": "443f16c42aebfe9fe94a782889c8b78fea8e5c94",
      "tree": "447a718c39425488955af1c05da1ef3347ca1c79",
      "parents": [
        "41ac4ced446869138f74d0e510b6e3b437fa84dd"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Jul 30 13:13:21 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Jul 30 13:13:21 2020 -0700"
      },
      "message": "Remove non-inclusive language from the transcoder.\n\nFixes: 162529149\nTest: Unit test.\nChange-Id: I401e018851473d4189bab6ae3a76d8d0502dca21\n"
    },
    {
      "commit": "b09aac27a243546e6ccf11596e66c56d07327af1",
      "tree": "79cfe87cd672d1b2ed680a276c43bef2dcdf9954",
      "parents": [
        "8f0b876fc10fecd817aa1f6a69646d9ce049e26a"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Jul 29 11:56:53 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Jul 30 12:54:16 2020 -0700"
      },
      "message": "Transcoder: Improve video transcoding with audio passthrough performance\n\nMediaSampleWriter was stalling the video transcoding when processing\nchunks of audio samples at a time. Since the underlying muxer\nbuffers ~1 sec worth of data and interleaves tracks anyway the\nsample writer now prioritizes pulling samples from the track that is\nfarthest behind while making sure the tracks are kept reasonably\nin sync, i.e. max ~1 second divergence.\n\nThis change also raises the priority of the video transcoding thread\nsince that will be the bottleneck when audio is pased through.\n\nTest: Unit tests\nFixes: 160268606\nChange-Id: I004583b2a31a57882ea543072be321f9f1347508\n"
    },
    {
      "commit": "8f0b876fc10fecd817aa1f6a69646d9ce049e26a",
      "tree": "acb566958c6f37f5bf656f881d2ad6c205f07299",
      "parents": [
        "41ac4ced446869138f74d0e510b6e3b437fa84dd"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Jul 23 17:12:45 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jul 24 16:41:15 2020 -0700"
      },
      "message": "Transcoder: Add initial high level benchmark test.\n\nBug: 160268606\nBug: 152091444\nTest: Verified accuracy by comparing against MediaTranscodingManager.java\nChange-Id: Ide514c86e0d9e50b96c7ef0ee1b88a4e30814684\n"
    },
    {
      "commit": "16a5521e05c6988ea58fb2f6ad4b71b47c78ead3",
      "tree": "0d384815cd7360f36e9a29c28e636c1c6a8fd8d6",
      "parents": [
        "60c555998cb2f154beab9c7115e7c472c7f0e001"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Jul 14 15:59:58 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Jul 15 16:47:16 2020 -0700"
      },
      "message": "Transcoder: Fix crash in PassthroughTrackTranscoder\n\nBug: 160916699\nTest: PassthroughTrackTranscoder unit tests running with address sanitizer\nChange-Id: I2522f1eb2d5ed34ca3e6b43a81692334a82cea20\n"
    },
    {
      "commit": "cb7e4189cde70020917a928e6843154d1ad5edbe",
      "tree": "5d9cbd5440ec2b7388176e48861c28ea1050f28b",
      "parents": [
        "be1c43872cfa0d28d0ce62354946a95da0eac0c3",
        "e4716f23a95e1ce35e71b9b850b2cd3d2c0f20d5"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Jul 14 18:34:55 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 14 18:34:55 2020 +0000"
      },
      "message": "Merge \"Transcoder: Fix video track transcoding crash.\""
    },
    {
      "commit": "e4716f23a95e1ce35e71b9b850b2cd3d2c0f20d5",
      "tree": "c8ff2109361341bb1ac5c6809bb4f5231391e0de",
      "parents": [
        "daec9b4d36d1fb06811097117bfd673677bf5de1"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jul 10 16:07:57 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Jul 13 19:49:19 2020 -0700"
      },
      "message": "Transcoder: Fix video track transcoding crash.\n\nThe VideoTrackTranscoder had a bug where the encoder could\noutlive the transcoder object, because the encoder owns the\noutput buffers. This caused a crash when the encoder sent async\ncallbacks to the transcoder after it had been released. This fix\ngives the encoder a weak reference to the transcoder and gives\noutstanding buffers a strong reference to the encoder.\n\nFixes: 160711746\nTest: Transcoder unit tests (build_and_run_all_unit_tests.sh).\nTest: New unit test to trigger the crash before the fix.\nChange-Id: I8141591399b6cff642d2d322809d3254adbefaaf\n"
    },
    {
      "commit": "e2cdd1f534e024dfba9adb93d7d5654f9777ebdf",
      "tree": "f836bb327f332dcd6e8b05970d37ef427fffe552",
      "parents": [
        "daec9b4d36d1fb06811097117bfd673677bf5de1"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Tue Jul 07 17:29:26 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Jul 08 12:07:52 2020 -0700"
      },
      "message": "Transcoder: Add support for progress updates.\n\nProgress updates are delivered as long as any track\nin the file has a valid duration.\n\nFixes: 160277443\nTest: MediaSampleWriter and MediaTranscoder unit tests.\nChange-Id: I52bbf55cfd2445b98dfc4d9c9ae09bcf7de86a86\n"
    },
    {
      "commit": "f1ec7e488ed43c7236da740b49d244eb5c1c08f0",
      "tree": "4cd28f85da044a44d4882d4799f2028043f8a9db",
      "parents": [
        "790e9425594823ec9e8da1ef2302d74a0bc92798",
        "b55c5456228a5961438b39818feb021007f96963"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 06 20:59:49 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 20:59:49 2020 +0000"
      },
      "message": "Merge \"transcoder: initial version of pause/resume\""
    },
    {
      "commit": "42a971b20b5c3fbc3a2e93ba8edd89e9bd90a21c",
      "tree": "38dca47ec75a4d67fa21e9b9b06ac52c573944f4",
      "parents": [
        "10816453deadf911f4e1067f18ebaf060e8372b4"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Jul 01 16:41:11 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Jul 06 12:51:04 2020 -0700"
      },
      "message": "Transcoder: Preserve source track duration.\n\nPreserve the source track\u0027s duration by sending an\nEOS sample with the appropriate PTS to the muxer.\nModified MediaSampleWriterTests to verify the extra\nEOS sample.\n\nBug: 159732935\nTest: MediaTranscoder and MediaSampleWriter unit tests.\nChange-Id: I6792eff8932db126e8734e5d3d6fe8aee2ffb4a1\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": "d6e4aec66184c1a7a78767113e2bf92df133dbfa",
      "tree": "0c48c3346ac574df068db7f9cc3f7c743b1e7432",
      "parents": [
        "1f16f12b608be724ede9c98de15af4e972532e80"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 22 14:13:07 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 22 15:58:25 2020 -0700"
      },
      "message": "transcoder: fix rotation handling\n\nTransfer rotation degree from source format to track format\nfor MediaSampleWriter, and setOrietationHint on the muxer.\nDuring transcoding using encoder/decoder, clear the rotation\ndegree so that the codec is guaranted to operate non-rotated.\n\nbug: 154734285\nbug: 159649977\nbug: 152091443\n\ntest: unit testing (updated test with rotation)\n\nChange-Id: I7e829ef777b1954d894411e8591a5e31ff36e275\n"
    },
    {
      "commit": "5855ee55158a87b133cb67c086f0530875baa2e8",
      "tree": "65d9d489cae63ee9fe8744788937bd97ea8b7fbe",
      "parents": [
        "f6388bd50e743eeeb56bd3f45a9e69bd14b62c1f"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 22 11:41:25 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 22 14:13:34 2020 -0700"
      },
      "message": "transcoder: add hevc-\u003eavc unit test and verify formats.\n\nbug: 154734285\nbug: 152091443\ntests: unit testing.\nChange-Id: If755df8e05e5e211b69869c7e0d8299138ff230c\n"
    },
    {
      "commit": "7f5f4281f960549b9fe7298d25f7163c1910c73c",
      "tree": "b184a127cedbb04bfb3ec9e7f5a73d404c27ba6b",
      "parents": [
        "63b79602739d2fb1d83947a0715f505ab0890ba2",
        "a2cc86bf8bd112fe07c190a4d774e70f50b6f0e0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 18 19:32:05 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 19:32:05 2020 +0000"
      },
      "message": "Merge \"transcoder: wait for actual encoder output format to start writer\""
    },
    {
      "commit": "a2cc86bf8bd112fe07c190a4d774e70f50b6f0e0",
      "tree": "eb7b876b7371a52f85c1757093635c0f2619f84b",
      "parents": [
        "425f5edba6ba21783ede6440e65e3fd97df52a23"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 17 16:56:49 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 18 11:09:38 2020 -0700"
      },
      "message": "transcoder: wait for actual encoder output format to start writer\n\nbug: 154734285\nbug: 158240484\n\ntest: unit tests. In particular:\n\nrun MediaTranscoderTests and MediaTranscodingServiceRealTests, and\ncheck the output files. Should play with proper aspect ratio on\nhost and device.\n\nChange-Id: I8254fd8bd42678a414cab5fb0f61c4ba56d6c114\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": "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"
    }
  ],
  "next": "308e91f504bfca90e9a6d17b9779203fc3a4a93b"
}
