)]}'
{
  "log": [
    {
      "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": "98b8a370059a1e142f3eed4bafdcc9b1e0b230fd",
      "tree": "340456833b1a73302035a762363d10a3713a386c",
      "parents": [
        "b035849c7818c868386fa2f3b65ab5bfb4b1a31a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jul 08 17:27:37 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jul 08 17:29:21 2020 -0700"
      },
      "message": "transcoding: post progress update to client\n\nbug: 160277443\nbug: 154733526\ntest: unit tests\nChange-Id: I04cd198d5fb1e83b1d256e4968fb3685c16b7a55\n"
    },
    {
      "commit": "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": "790e9425594823ec9e8da1ef2302d74a0bc92798",
      "tree": "056658591a74d5cc8b8efdaf82ccd578bd2794ca",
      "parents": [
        "ecaad4a3d15bd54e7faa16d7c867c71145d0bac1",
        "42a971b20b5c3fbc3a2e93ba8edd89e9bd90a21c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 06 20:52:21 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 20:52:21 2020 +0000"
      },
      "message": "Merge \"Transcoder: Preserve source track duration.\""
    },
    {
      "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": "352f9804fdc37c2974e3e03fb0ad94b4c86d0f8d",
      "tree": "d843d92c16ed68bfec7bfc554e78d60d4cfc4a84",
      "parents": [
        "10816453deadf911f4e1067f18ebaf060e8372b4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 26 14:25:37 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 26 14:27:28 2020 -0700"
      },
      "message": "transcoding: push_asset only for new or modified asset files\n\nbug: 154734285\nChange-Id: Id1bca5293055da6ae59361060f39eb0895093d50\n"
    },
    {
      "commit": "b5f48c9814d94b71c11681cee277eea4d55ae737",
      "tree": "2ad68b31f82f02dd26cbb67be26a46e83dcb1c6e",
      "parents": [
        "9267056e7f9a8ac99506c52c9827f33c9d376b08",
        "0bd737449d762d9dde72917228934f0912fce388"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 25 23:50:39 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 23:50:39 2020 +0000"
      },
      "message": "Merge \"transcoding: Adding TranscodingJobStats for benchmarking.\""
    },
    {
      "commit": "0bd737449d762d9dde72917228934f0912fce388",
      "tree": "c3b9422067064bc5c0c8d92e45cfd411ad63e919",
      "parents": [
        "95b79805055c4383a52bcad9a4564ee64f22a559"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed Jun 24 12:57:09 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Jun 25 14:30:09 2020 -0700"
      },
      "message": "transcoding: Adding TranscodingJobStats for benchmarking.\n\nBug: 145628554\nBug: 154734285\nBug: 154734456\n\nTest: Unit test\n\nChange-Id: I0e51094953a89e9dc6f0e13b7e4202cbd7ba80e7\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": "34915b1b78d8b125657c64d15f77fc424859f704",
      "tree": "9343282f3dab8d1c3cfc3691c64efb538aaf6ad4",
      "parents": [
        "2ef2b43408ea383308e7631b5112bd1221211f97"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Jun 18 09:36:39 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Jun 18 09:36:39 2020 -0700"
      },
      "message": "transcoding: Make TranscodingTestConfig to be nullable.\n\nBug: 145628554\nBug: 154734285\nTest: Unit test\nChange-Id: I93b5f6a34ad02d82f154d3ae07ed0516b1780db2\n"
    },
    {
      "commit": "2ef2b43408ea383308e7631b5112bd1221211f97",
      "tree": "da708297f9725533fa7b815e8bc6dcce51a40584",
      "parents": [
        "8129d4eedf8d509a42bc9831f9009c450978da7d"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jun 15 18:33:11 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed Jun 17 13:57:42 2020 -0700"
      },
      "message": "transcoding: Add more test assets for testing.\n\nAlso move the test file used by transocder to another folder in order\nto be reused by both transcoding service and transcoder for testing.\n\nBug: 145628554\nBug: 154734285\nTest: Unit test\n\nChange-Id: I61e16ab5deba70da71f4d23fc87157be2f3b3bca\n"
    },
    {
      "commit": "664692765fd0fdb1977a096dddeb340c48b0cf76",
      "tree": "d3c840f5b310786d9b5ed53e2e3c25fdc48d1cf7",
      "parents": [
        "425f5edba6ba21783ede6440e65e3fd97df52a23"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 04 16:51:55 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 15 11:37:51 2020 -0700"
      },
      "message": "transcoding: hooking up real transcoder in service\n\nbug: 154734285\ntest: unit testing.\n\nChange-Id: Id7de72f86cac75f634276395d4b4be359f44dbc2\n"
    },
    {
      "commit": "de60f064ae0fbcf59ad2c00656eb9b82408d278b",
      "tree": "aad6970bd667c84f8bfb7a0fc689617a74e8ebfb",
      "parents": [
        "9da2cbf1f9f46f9688513a6671be42ce5dea16d0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 11 17:05:10 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 11 18:13:37 2020 -0700"
      },
      "message": "transcoding: use actual callback in SimulatedTranscoder\n\nbug: 154734285\ntest: unit testing\n\nChange-Id: I39f17e95e9cc9ea73a60828b00a3c79ccf11dbf2\n"
    },
    {
      "commit": "eac85997241ed9d1e8e18ec07674526cf9693fdf",
      "tree": "d3a02458cbc38ee6519d58841d19ac2fff1fdb44",
      "parents": [
        "a838681e8d6afb2c849ccc87e428257f85d262c7",
        "308e91f504bfca90e9a6d17b9779203fc3a4a93b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 11 01:47:19 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 01:47:19 2020 +0000"
      },
      "message": "Merge \"Transcoder: change src/dst to fd\""
    },
    {
      "commit": "308e91f504bfca90e9a6d17b9779203fc3a4a93b",
      "tree": "522682fa41f3ac1e787d3add8da158c17bb1f24d",
      "parents": [
        "19253093cffe6eedf4811870f9929936268c97fd"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 10 15:27:56 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 10 17:17:56 2020 -0700"
      },
      "message": "Transcoder: change src/dst to fd\n\nMediaTranscoder takes fd as input from upper level service.\n\nAlso, leave file delete to client, since service side can\u0027t do file\ncreate/delete. File opening is done by a callback into the app;\nit seems delete should just handled by app side itself.\n\nMinor refactor to reduce header pollution when included.\n\nbug: 154734285\nbug: 156003955, 152091443, 155918341\ntest: transcoder unit tests.\n\nChange-Id: I4eb8a7d9fea2ccb479f09888353ac4e65bac16f8\n"
    },
    {
      "commit": "ffa1fec7a017e267383d6da6afbab256465b20b2",
      "tree": "84985ce67dbc7fa021f5f845a11235324c962091",
      "parents": [
        "c6be7e44a12890b3a8fc0467413725239713af7f",
        "a9ffd59dfc4527733fe22262ef4c44608c95fba8"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Jun 10 21:25:36 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 21:25:36 2020 +0000"
      },
      "message": "Merge \"transcoding: Add more test configs for SimulatedTranscoder\""
    },
    {
      "commit": "c6be7e44a12890b3a8fc0467413725239713af7f",
      "tree": "3b59a3141ca711c677fa59a8e56924107c6733a7",
      "parents": [
        "b25ceccfd08f976257a6c62444a7ad9274f97923",
        "96471b8372067e05cf7ab60a90f6c8b7ea9b0c2a"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Jun 10 21:25:36 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 21:25:36 2020 +0000"
      },
      "message": "Merge \"transcoding: Add start/pause/resume event update to interface.\""
    },
    {
      "commit": "9087f77364182454401442c6ef1107e6a66e6c45",
      "tree": "7f530fd66cac69df16a641234f21f180b8ef80f4",
      "parents": [
        "19253093cffe6eedf4811870f9929936268c97fd"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 10 11:58:40 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 10 19:03:32 2020 +0000"
      },
      "message": "transcoding: fix typo on job request\n\nbug: 154734285\ntest: unit testing with later test versions that uses\nthe actual request.\n\nChange-Id: Ie4ec58b7296ba414f9fbd47f0634b38a0e2e09fc\n"
    },
    {
      "commit": "a9ffd59dfc4527733fe22262ef4c44608c95fba8",
      "tree": "fd8c081c7aa24719d2fcca9449581923969a3237",
      "parents": [
        "dc24554a64946147d683a21f111f53413879e2c6"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Jun 05 10:38:02 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Tue Jun 09 17:52:31 2020 -0700"
      },
      "message": "transcoding: Add more test configs for SimulatedTranscoder\n\nBug: 154734285\nBug: 145628554\nTest: Unit test.\nChange-Id: Id9d77e2d53c2dc582cc7034f158b5ab9eedcf586\n"
    },
    {
      "commit": "96471b8372067e05cf7ab60a90f6c8b7ea9b0c2a",
      "tree": "8ad84503ba94372fa5b800a672160ae53331e26d",
      "parents": [
        "d4f4d87cb82a1ff9fd3629d7cb8a4d88a567b203"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jun 08 11:12:46 2020 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Jun 09 23:26:24 2020 +0000"
      },
      "message": "transcoding: Add start/pause/resume event update to interface.\n\nThis will also help for testing from java service and the benchmarking\nlater as we need to capture all the job event and log the timing.\n\nBug: 145628554\nBug: 154734285\nTest: Unit test\nChange-Id: If4f2016de08c8e25e67b50548241f1182f3dcb93\n"
    },
    {
      "commit": "19253093cffe6eedf4811870f9929936268c97fd",
      "tree": "02455be6c71ae704bf4dd1ee3ec037e79e5c1748",
      "parents": [
        "3b587c7e9126d7df1e1a2fb7ce8a37f19944524d"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jun 01 09:10:49 2020 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Jun 04 19:08:04 2020 +0000"
      },
      "message": "transcoding: Add openFileDescriptor to ITranscodingClientCallback.\n\nThis is used to open the file when transcoding service really\nstarts to process the job.\n\nBug: 145628554\nTest: Build\n\nChange-Id: I2d33e349052a1c14f0b3c99017a653666c52fb49\n"
    },
    {
      "commit": "3bf34c215be78d0a3d297f798f0e891bafc03ce2",
      "tree": "9b46fa3fd68ef2a9c2e4c44d43fc0350b734194a",
      "parents": [
        "9a612023b3255ca28c0c6efb8fe7f6f4dfe42ab3",
        "cab39d81e06bf72991435ef2042e8436819f1999"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 03 23:09:09 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 23:09:09 2020 +0000"
      },
      "message": "Merge \"Transcoder: Added MediaTranscoder and unit test.\""
    },
    {
      "commit": "cab39d81e06bf72991435ef2042e8436819f1999",
      "tree": "4f20f19bd3b54c0d083f08d9142110e3054af09b",
      "parents": [
        "63b7e570a5ee9d48b886c4c18306bb26d5f2a107"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu May 14 16:32:21 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 03 14:25:12 2020 -0700"
      },
      "message": "Transcoder: Added MediaTranscoder and unit test.\n\nMediaTranscoder is the API for the native transcoding library.\n\nTest: Unit tests.\nBug: 156003955, 152091443, 155918341\nChange-Id: I24b52d174db0faecea8f331ef6d8a3dc4e473c4e\n"
    },
    {
      "commit": "22d6ae8543d85ef4d0d997f7e872d92a771e64a4",
      "tree": "892ad07588086fd4b28383a75c3f5b0830da9ae9",
      "parents": [
        "ab4b39d9c8cd4231e1df90961b1d798c0c6c7303"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed May 27 11:05:55 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed May 27 14:40:31 2020 -0700"
      },
      "message": "transcoding: Add TranscodingTestConfig for testing.\n\nTranscodingTestConfig will have passThrough and processingDelayMs\nthat are used to signal the transcoding service to bypass\nmediatranscoder for testing purpose.\n\nBug: 145628554\nTest: atest MediaTranscodeManagerTest\n\nChange-Id: Iac6a61ebda50f1a4b30e0d17022169aa9c6c06f2\n"
    },
    {
      "commit": "72d105f876312a6a7a0886963c461a56c16d6383",
      "tree": "90b7e8670ce9815df8f2b2b2b31c9f5388c79abc",
      "parents": [
        "63b7e570a5ee9d48b886c4c18306bb26d5f2a107"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu May 21 10:48:55 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Tue May 26 16:05:35 2020 -0700"
      },
      "message": "Transcoding: Change to use string path instead of fd.\n\nBug: 145628554\nTest: unit test\n\nChange-Id: I321ecf75e770b4500fc3015a5d161e3b48ea5678\n"
    },
    {
      "commit": "81331c59cd9d155d40aefb744cfba21574d2b2c4",
      "tree": "597d29db937ee7012f9c841852cc620e1ee0619d",
      "parents": [
        "eb1effd451a6d86e152400ef4112db9f076d6edd",
        "a85df7fdf8fae10ecad165d6427e36ae269a0136"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat May 16 02:17:07 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 16 02:17:07 2020 +0000"
      },
      "message": "Merge \"Transcoder: Added MediaSampleWriter and unit tests.\""
    },
    {
      "commit": "a85df7fdf8fae10ecad165d6427e36ae269a0136",
      "tree": "b1b7ec214e4f62fda0eddc4a1dbf7abbfded74ef",
      "parents": [
        "c6221dbed39f3a1270329f808ae417bdda9aaf8b"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Feb 20 16:32:04 2020 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri May 15 17:42:25 2020 -0700"
      },
      "message": "Transcoder: Added MediaSampleWriter and unit tests.\n\nMediaSampleWriter pulls samples from its input sample queues,\nin time interleaved order, and adds them to its muxer.\n\nTest: Unit test (build_and_run_all_unit_tests.sh).\nBug: 156004594\nChange-Id: I7f0085e9ef6ec50dca7d30c6a86709b961056d1b\n"
    },
    {
      "commit": "b6f39b34f1ee7db0568def687237e692d0877f4f",
      "tree": "d5fa73a6d7aa226917dcc871167cc054f01a4399",
      "parents": [
        "34fe84b37bdd9fc244c809d6aaad6ca873e8dd92"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Tue May 12 14:44:14 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri May 15 13:15:57 2020 -0700"
      },
      "message": "Transcoding: Add new AIDL structure TranscodingVideoTrackFormat.\n\nThis is needed for client to specify the video format in request\nand also letting the service to notify the client of the final format.\n\nCurrently TranscodingVideoFormat is implemented as structure parcelable,\nbut it will be replaced with PersistableBundle later on.\n\nBug: 145628554\nTest: build and flash\n\nChange-Id: I32fcc7a54a2307288a2a03a0b910be30a945dd2b\n"
    },
    {
      "commit": "934f89fa73a3797651302fd2621f216f0b22de91",
      "tree": "fc5f942d18ebe0071d98089b1d6539fece3267d0",
      "parents": [
        "700f2c68fd244b53aaac11ab61c99dc327e83575",
        "00feca22622dca19cf5c1deb942255a98ec15280"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat May 09 00:07:43 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 09 00:07:43 2020 +0000"
      },
      "message": "Merge \"transcoding: separate pause\u0026stop on transcoder\u003c-\u003escheduler interface\""
    },
    {
      "commit": "00feca22622dca19cf5c1deb942255a98ec15280",
      "tree": "660d320674a8314dc9c3c84d34e3c790bbcffb45",
      "parents": [
        "15c192adcbd4502559f87e57cfc9b245071b8349"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri May 08 15:02:06 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri May 08 15:17:30 2020 -0700"
      },
      "message": "transcoding: separate pause\u0026stop on transcoder\u003c-\u003escheduler interface\n\nSeparate stop from pause, and use stop when a job is being cancelled.\nThis tells the transcoder to discard the job and all states for it.\nAlso send the original request to the transcoder start.\n\nbug: 154734285\nbug: 145233472\ntest: unit tests\nChange-Id: I112c08b909f3432dfd4b4803c0786a1ea01deea6\n"
    },
    {
      "commit": "4f418cfbfed5227669d23967d435301261d0fe8f",
      "tree": "4d9514cd20302749f04650a69b35e906e0d69289",
      "parents": [
        "aa98ee318a4626d55b08ba3eaf59f482f10476eb",
        "15c192adcbd4502559f87e57cfc9b245071b8349"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 07 23:21:38 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 07 23:21:38 2020 +0000"
      },
      "message": "Merge \"transcoding: remove realtime jobs when a client is removed\""
    },
    {
      "commit": "767e31701f265deb459a1036f1af356ba4d076d1",
      "tree": "08690fb6bc9e56f85ff1cfe973e31772f51c69ac",
      "parents": [
        "35cb7a6e9b6903a8e078479d5ed6a8972e7415e6",
        "c6221dbed39f3a1270329f808ae417bdda9aaf8b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 07 02:28:42 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 07 02:28:42 2020 +0000"
      },
      "message": "Merge \"Transcoder: Added PassthroughTrackTranscoder and unit tests.\""
    },
    {
      "commit": "8aa16eab297102e611e71a097004d0e5d4014bda",
      "tree": "8b2a67ccbb571ebe08b28a7c9b51d118062595ef",
      "parents": [
        "814331eece39113b074f1b1bd1bd4d50ab67b2ff",
        "3fa408f83dda44f768ed7e53dc34b5ea78bb41a1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 06 23:07:43 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 06 23:07:43 2020 +0000"
      },
      "message": "Merge \"transcoding: fixes for binder died handling\""
    },
    {
      "commit": "c6221dbed39f3a1270329f808ae417bdda9aaf8b",
      "tree": "54b6ffb35118063461dcf59c838f570ac50fb6a1",
      "parents": [
        "da6850898bbd65edc388cc4f1d536f5d3a6ecc86"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Mar 18 14:46:22 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed May 06 16:04:38 2020 -0700"
      },
      "message": "Transcoder: Added PassthroughTrackTranscoder and unit tests.\n\nPassthroughTrackTranscoder is a MediaTrackTranscoder implementation for passthrough mode.\nIt manages an internal buffer pool to reuse buffers.\nThis commit also ensures that it is safe to hold on to dequeued MediaSamples\nafter the MediaTrackTranscoder is released.\n\nTest: Unit test.\nBug: 152091443\nChange-Id: I876957647c5fee0557caf465227ff42cdb0eceee\n"
    },
    {
      "commit": "15c192adcbd4502559f87e57cfc9b245071b8349",
      "tree": "1f2796cc2456bda9572d534b71187d7772f9381d",
      "parents": [
        "3fa408f83dda44f768ed7e53dc34b5ea78bb41a1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue May 05 16:24:00 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 06 14:09:48 2020 -0700"
      },
      "message": "transcoding: remove realtime jobs when a client is removed\n\nAlso disallow usage of the client after unregister.\n\nbug: 154734285\ntest: unit testing\nChange-Id: Ib5d54a897c7e56d42d27645fa55ab6f21f435b5e\n"
    },
    {
      "commit": "3fa408f83dda44f768ed7e53dc34b5ea78bb41a1",
      "tree": "7e79793ff7ab68f006759417ff44ea5dbb157cca",
      "parents": [
        "df797540fde34d6cb552d7b7787e96f6c6c995f4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 30 11:04:28 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 06 10:51:05 2020 -0700"
      },
      "message": "transcoding: fixes for binder died handling\n\nChange client id type to uintptr_t counter, instead of\ncasting binder to int64_t.\n\nSave all shared_ptrs of clients in global registry.\n\nbug: 154734285\nbug: 145233472\n\ntest: transcoding unit tests; manually plant crash\nin test client and check binderDied handling in log.\nChange-Id: If6523a1c6b7ce797a2201462399174e9cf0a3c71\n\nChange-Id: I6b312c0f28a345285e27b738c37baee2bccae755\n"
    },
    {
      "commit": "799ba4f00cc8614dc4c59ec8e721247fa89ae931",
      "tree": "cc9dabcbaf54aa14557d088ff6065156e7224648",
      "parents": [
        "93d9bac9bf0685f1ee21ec9de183cf862a8376a2"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Tue May 05 17:04:15 2020 -0700"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Tue May 05 17:04:15 2020 -0700"
      },
      "message": "isUidActiveOrForeground will be reverted\n\nin ag/11369230 Go back to call isUidActive.\n\nBug: NA.\nTest: NA.\nChange-Id: I4f1a0e8cbf0b6ed3857e03347624e3970cb22da9\n"
    },
    {
      "commit": "7522218910507c4e0861661bd37dd06bda65a4b5",
      "tree": "29b0d409276e1e403a047702b1d127d25f1a8499",
      "parents": [
        "88aba17963a63a58c3fea20a357b6fde62c347d6"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 29 14:43:42 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat May 02 15:52:13 2020 +0000"
      },
      "message": "transcoding: add SimulatedTranscoder to test service\n\n- Add SimulatedTranscoder (which is an upgraded version of\n  DummyTranscoder) to allow more testing of the service.\n\n- Add unit test that launches dummy test apps from shell\n  to simulate uid policy change.\n\nbug: 154734285\nbug: 145233472\ntest: unit tests\n\nChange-Id: Ic169757d64ad8da7eebd0e1febdcbfb467fe81f4\n"
    },
    {
      "commit": "88aba17963a63a58c3fea20a357b6fde62c347d6",
      "tree": "4309885b47686d93a582963c15a53e05567182a2",
      "parents": [
        "e6a1a0494cc05e948a28c3ebe6f0a519ac5837a6",
        "f6f372ad3ac9dcce5205c31e10ca325e979b8531"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat May 02 09:00:01 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 02 09:00:01 2020 +0000"
      },
      "message": "Merge \"TranscodingService: Enable java generation for transcoding aidl\""
    },
    {
      "commit": "acb3350ef7d22f53a73137217830546424175a0c",
      "tree": "5a2fdfd0d63ea25b9d1d29ffa655a5a0f794082f",
      "parents": [
        "596e7fde3b16e68f9dc94a9fd092029f87b0f052"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 20 11:04:48 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat May 02 02:15:11 2020 +0000"
      },
      "message": "transcoding: add uid state based scheduling policy\n\nbug: 145233472\nbug: 154734285\n\ntest: unit tests\n\nChange-Id: I9e8038252c2be834eb4e2fb2945396572d37b036\n"
    },
    {
      "commit": "f6f372ad3ac9dcce5205c31e10ca325e979b8531",
      "tree": "0ddb1790364c8b9d1c1ae515af2b1d436884f2ea",
      "parents": [
        "88a2477568d2d2203a6b74fdaa838ff8eeac75d9"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri May 01 16:21:39 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri May 01 16:21:39 2020 -0700"
      },
      "message": "TranscodingService: Enable java generation for transcoding aidl\n\nThis is used for the Java api to talk to service directly.\n\nBug: 145628554\nTest: Build\nChange-Id: Ifb4e4c44de8dbe3844660627385dd337d3ccb22a\n"
    },
    {
      "commit": "da34ac29ae22565c1be7266fe9d9feb455aebb1e",
      "tree": "f427a4ea8f7206f5276329f9fb6fc77f6765ddeb",
      "parents": [
        "c0575919e3371af55e993820cc306b986a98a3f8",
        "0da327aa9b6b564a9633024439d587daac4eadff"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 01 14:08:35 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 14:08:35 2020 +0000"
      },
      "message": "Merge \"Transcoder: Added MediaTrackTranscoder and VideoTrackTranscoder\""
    },
    {
      "commit": "0da327aa9b6b564a9633024439d587daac4eadff",
      "tree": "214e375106f5df7c62e8b3d7a26af9fd1cbfa352",
      "parents": [
        "b975440ff66db6b01c9aa100e78ea811c5f9a4bb"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Jan 31 16:22:18 2020 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Thu Apr 30 16:52:52 2020 -0700"
      },
      "message": "Transcoder: Added MediaTrackTranscoder and VideoTrackTranscoder\n\nA track transcoder transcodes samples from a single track of a media file.\nMediaTrackTranscoder is the base class for all track transcoder, and\nVideoTrackTranscoder is a concrete implementation for video tracks.\n\nTest: Unit test.\nBug: 152091443\nChange-Id: I7980a3cda40229004b6bca5212d3e903f19a3017\n"
    },
    {
      "commit": "20f2aa6bd6556427d8e7a5b27ced5538106fe404",
      "tree": "dcd4131c27cd65638d8544b6c5b69675a8205611",
      "parents": [
        "920acdde9af9c71b94a3480af91112c8a49dc07d",
        "7ae4e2fa40fbf6035ab15952a3412031aa477798"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 21:39:57 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 29 21:39:57 2020 +0000"
      },
      "message": "Merge \"transcoding: use uid instead of pid for scheduling\""
    },
    {
      "commit": "7ae4e2fa40fbf6035ab15952a3412031aa477798",
      "tree": "8a7acb8da489b094941e57ac408c809d3209132b",
      "parents": [
        "4187c8951b6ec3611720c2f0c2f2ce8da14d9087"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 17 15:24:34 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 29 12:03:09 2020 -0700"
      },
      "message": "transcoding: use uid instead of pid for scheduling\n\nThis change replaces pid usage with uid, there is no functional\nchange other than that.\n\nbug: 154734285\nbug: 145233472\ntest: unit tests\n\nChange-Id: I2000a84486a561a393211cb0b098e456c2173227\n"
    },
    {
      "commit": "cb9198eddf4b3571cbee71c14938d2b9fa0f69b2",
      "tree": "229b672bbb9f75df7ea64713aa3ebd9ab4cfe62b",
      "parents": [
        "2f09c72a625eb0fefd0dc2d255f913cf39d621ff"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Apr 01 13:38:09 2020 -0700"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Apr 22 15:01:34 2020 -0700"
      },
      "message": "Transcoder: Add MediaSampleQueue and unit tests.\n\nMediaSampleQueue asynchronously connects producers and consumers of compressed media samples.\nMediaSampleQueue will be used to hold output samples from each TrackTranscoder.\nMediaSampleQueue will be extended to optionally limit the number of (or cost of) samples it can\nhold before blocking the producer.\n\nTest: MediaSampleQueueTests\nBug: 152091443\nChange-Id: I8e78ea3c3848934078126220adaa91fb033b2088\n"
    },
    {
      "commit": "865f909bea63732260bdb4cd54892a1a6f228cad",
      "tree": "a6637c7297f0200adf123b95d7adeec126a38938",
      "parents": [
        "ae6fd9629d5812b2408c9875b7bba06c8941c754",
        "08b38d01b7ad88c3197c6010a71d483c0e74547e"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Apr 22 00:13:49 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 22 00:13:49 2020 +0000"
      },
      "message": "Merge \"MediaTranscodingService: Add some missing build flags to Android.bp\""
    },
    {
      "commit": "41114639940b7281327d57b7c806c3bca692f62a",
      "tree": "56cd5c4e7f6592809dc5faf1fb7784d2136ded8a",
      "parents": [
        "5d2eace937aa207e812f1534ad3fa2a55ea502ec",
        "c6710d3504d91499c5662972b33fb74908e39966"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 20 06:30:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 20 06:30:35 2020 +0000"
      },
      "message": "Merge \"Mark some aidl_interface modules as unstable\" into rvc-dev am: ccc44f3f72 am: 82ca57d7fa am: 98fd9ab1d6 am: c6710d3504\n\nChange-Id: I6a62ec0442c159e0f18a622c7ae17219faf5ac86\n"
    },
    {
      "commit": "08b38d01b7ad88c3197c6010a71d483c0e74547e",
      "tree": "8ccbff470ca9ed279a2af0238cde4c0b412bda80",
      "parents": [
        "6709a937953cf92b73fb057ec9e4e0616ab3e6c5"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Apr 17 14:29:33 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Apr 17 18:08:28 2020 -0700"
      },
      "message": "MediaTranscodingService: Add some missing build flags to Android.bp\n\nThe build flag uncover some locking are missed and this CL also fixes\nthem.\n\nBug: 145233472\nTest: Unit test\nChange-Id: Ide999b95f064adf14967cc2e36331524e83426d2\n"
    },
    {
      "commit": "6709a937953cf92b73fb057ec9e4e0616ab3e6c5",
      "tree": "e69a37d36968779f85faae9af2c8594b12bf34b0",
      "parents": [
        "813e7c42256e6f67013a2357e9335b708ba17290"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Apr 16 18:22:00 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Apr 16 18:22:00 2020 -0700"
      },
      "message": "MediaTranscoding: Add libmediatranscoder to the service.\n\nOtherwise, the library will not get build by default.\n\nBug: 145233472\nTest: Build and run.\nChange-Id: Ia13aebad4678cc6a6a0004c0bd70cb820dcf35de\n"
    },
    {
      "commit": "478df7e3aa8435a70ca564dafe6a133e0bd938b1",
      "tree": "a593c42a4fc8b096a0c332fe4cf64a6f0f0e5f3f",
      "parents": [
        "182b06a0c4733501e9187a6095ff5be76f1a8908"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Jan 29 15:34:24 2020 -0800"
      },
      "committer": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Wed Apr 15 14:41:39 2020 -0700"
      },
      "message": "Added MediaSampleReader interface and an NDK based implementation.\n\nMediaSampleReader is an interface for reading media samples from\nmultiple tracks independently from each other. Each track maintains\nits own time state and reading from other tracks does not effect that.\n\nTest: Unit test.\nBug: 152091443\nChange-Id: Ib8c965df5d2a47fc6218ceb80b40d0687fb3b531\n"
    },
    {
      "commit": "6d58e4b1ae638222e6f228ab07f9709199778476",
      "tree": "b6002604f68ea5a258c3600cfc392fee38f0a017",
      "parents": [
        "b134bafea46c8a08fea30f2c534f9844039b937b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 31 09:41:10 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 15 12:42:10 2020 -0700"
      },
      "message": "transcoding: add job scheduler and unit tests\n\nbug: 145233472\n\nChange-Id: Id0244ff553e9fa963ccc7623cc6198dfd9db2564\n"
    },
    {
      "commit": "4a0d396b7a847ee1dc4a40fe4f4094858573910b",
      "tree": "178f4962814f28e6fb6fb049f148abb39c669669",
      "parents": [
        "5275ce9b5e7c27d5b037fd00250ef6fc609d7e6e"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Sat Apr 11 10:59:24 2020 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Apr 13 18:21:26 2020 +0000"
      },
      "message": "libmediatranscoding: Update OWNERS file.\n\nBug: 145233472\nTest: None as just change OWNERS\nChange-Id: Ia4adac3b71c8fef0aed85cf64c59246a9ef0259d\n"
    },
    {
      "commit": "5275ce9b5e7c27d5b037fd00250ef6fc609d7e6e",
      "tree": "5474a90bc8f3705cf6adfbdb265969e69330b61a",
      "parents": [
        "2d9868ba0f03efaa1a0171bdc411bbeea9275ce5",
        "181f2ec8fe377c8efe77f8cf0422750d10e945bd"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Apr 13 17:50:43 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 13 17:50:43 2020 +0000"
      },
      "message": "Merge \"Fix the clang-format error in libmediatranscoding directory\""
    },
    {
      "commit": "181f2ec8fe377c8efe77f8cf0422750d10e945bd",
      "tree": "784c3453b0712cd0e50ed9d5e5336e4540a4bd94",
      "parents": [
        "24bfbe2607d171fc9d4b30df6759e3575ffc8307"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Sat Apr 11 10:24:31 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Apr 13 09:57:56 2020 -0700"
      },
      "message": "Fix the clang-format error in libmediatranscoding directory\n\nBug: 145233472\nTest: None as just change format style\nChange-Id: I221bdea94fef9ecc345056be6acbf4e617361197\n"
    },
    {
      "commit": "1f2151fea3e51fd0925e60088347aeea1b4d90aa",
      "tree": "00e1f2787f19e9c60d791c0a9b5ecb4cb35c40d7",
      "parents": [
        "433ccf7dca6db9ffd774cd10d539ccf9d62e3f46"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 13 12:52:14 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 13 12:52:14 2020 +0900"
      },
      "message": "Mark some aidl_interface modules as unstable\n\nWith b/152655547, all aidl_interface modules are considered as stable\nunless it is explicitly with \"unstable: true\". This change marks the\naidl_interface that are not used across updatable module bounraries\nas unstable, so that the build system does not run the API\ndumping/checking on them.\n\nBug: 152655547\nTest: m\nChange-Id: I5597f7d3fa0e2196dbfcf7ab9a33c71c15a33806\n"
    },
    {
      "commit": "8e06263e23b0f44d3a8e2970548a600e6bde3560",
      "tree": "025ed1f839fc6751fc0015dfbdf689a896effb78",
      "parents": [
        "5e76a930b0a7147c0dbd32f0fc1e9cd35baaf705"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 31 10:56:37 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 31 15:52:47 2020 -0700"
      },
      "message": "transcoding: separate client interface from service\n\nRefactor AIDL to separate client interface from service.\n\nUse client listener binder as unique id for client, as multiple\nclients could exist for the same pid.\n\nMisc unit testing changes.\n\nbug: 145233472\ntest: mediatranscodingservice_test, TranscodingClientManager_tests\nChange-Id: I8d9522da23163375df8df7822d0f6ae270cff1b4\n"
    },
    {
      "commit": "93fb84c8d59eb3db95dd90bc34573b7c6c5b5b67",
      "tree": "70974bb096619c7f741f3ce49a52c25873219482",
      "parents": [
        "cb3bd4065ccc7fd6a1613a45f708b5b9f612c61a"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Feb 03 18:19:39 2020 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Sat Feb 08 17:47:19 2020 +0000"
      },
      "message": "MediaTranscodingService: Add AdjustableMaxPriorityQueue.\n\nAdjustableMaxPriorityQueue is a custom max priority queue that helps managing jobs for MediaTranscodingService.\n\nAdjustableMaxPriorityQueue is a wrapper template around the STL\u0027s *_heap() functions.\n- Internally, it uses a std::vector\u003cT\u003e to store elements in a heap order.\n- Support adjusting item\u0027s priority while maintaining the heap property.\n- Support removing any item in the heap while maintaining the heap property.\n- AdjustableMaxPriorityQueue needs T::operator\u003c() at instantiation time\n\nBug: 145233472\nTest: Unit test.\n\nChange-Id: Ic43eee817877dfbf8b38919ce03d40d8763c493c\n"
    },
    {
      "commit": "5172cabc2ecf0dc6e15539eccae3b35d6aed3de8",
      "tree": "f8c25e3fd2da94c300cbbd63a417497d18f23fb0",
      "parents": [
        "3f4a68a09dfd87b6e5a40f67278e27c957c818a1"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Jan 31 12:40:28 2020 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Sat Feb 01 00:54:27 2020 +0000"
      },
      "message": "MediaTranscodingService: Simplify TranscodingClientManager.\n\nChange the singleton to return reference instead of sp\u003c\u003e;\n\nBug: 145233472\nTest: Unit test.\nChange-Id: Ie5b8631ec9e917d80805f63c77618e24720f53bc\n"
    },
    {
      "commit": "9c04b8d17071731b919563c129919dd070f8075c",
      "tree": "e82f6739c53cb900a6cd02ea77b8ccdfd946c47b",
      "parents": [
        "91fe789336d2c9ff772651bfa654604d5d241fd2"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Wed Jan 22 10:03:21 2020 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Jan 31 21:37:04 2020 +0000"
      },
      "message": "MediaTranscodingService: Implement service\u0027s add/remove client APIs.\n\nBug: 145233472\nTest: Unit test.\n\nChange-Id: Ice22f86942bf3838c80b100c71af46ff6e217744\n"
    },
    {
      "commit": "26587cbbaad5057e43f6648293fbe5a546fc809c",
      "tree": "a4a1046b12602a68dfe6aa28d122bcd1a2b79cc5",
      "parents": [
        "48c365e01796f391604560421d66ca175937243a"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Jan 16 10:36:08 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jan 27 13:16:26 2020 -0800"
      },
      "message": "MediaTranscoding: Add TranscodingClientManager.\n\nTranscodingClientManager manages all the clients for\nMediaTranscodingService.\n\nBug: 145233472\nTest: Unit test.\nChange-Id: I29243eeb6dcc0271c9edc8cc28e1b9b2bf6b3912\n"
    },
    {
      "commit": "48c365e01796f391604560421d66ca175937243a",
      "tree": "145cd57d916d3725e50bdf740290722d62966687",
      "parents": [
        "a93e29dc1ad37d4e6810fdecff221dc69e7135ab"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jan 13 16:33:42 2020 -0800"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jan 13 18:06:28 2020 -0800"
      },
      "message": "MediaTranscodingService: Rework Service\u0027s AIDL.\n\n1) Include parcel in Parcelable\u0027s name.\n2) Add TranscodingJobPriority.\n3) Change registerClient API to include pid, uid and packageName.\n\nBug:145233472\nTest: Build and run.\n\nChange-Id: Ide40e6de8fb1b6f01bbae4577ef3b14d6136b577\n"
    },
    {
      "commit": "06069a56a9550b10871fbcda1e57917a0c4173bd",
      "tree": "76cc50d2534d1636f75a3fa5b254d4a3680d504a",
      "parents": [
        "d2572133b15cafb9f670e96f93edd4d6c3fb96a6"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Nov 26 15:28:36 2019 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Dec 04 15:43:53 2019 -0800"
      },
      "message": "MediaTranscodingService: Add AIDL interface for MediaTranscodingService.\n\nThere are a lot of TODOs now in the code and they will be addressed\nin the next few CLs. .\n\nBug: 145233472\nTest: Build and Compile\n\nChange-Id: I27d96b18ebca6f07bc24e4124fb48b0e79d387d2\n"
    }
  ]
}
