)]}'
{
  "log": [
    {
      "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": "cf3f8ee0602fc004e2879a14ad7846f6b6b4db4f",
      "tree": "71f54506f29b4ea3747ee9d57ded6b4317b3ec5a",
      "parents": [
        "210fa979d389daace684411b4381ea362b83d0e2"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 29 18:38:37 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 29 19:01:49 2020 -0700"
      },
      "message": "transcoding: pass package name from client to service\n\nbug: 159172726\n\nChange-Id: I9c35c23f3d6eb5b03092813c891f9cc98a4c6fc8\n"
    },
    {
      "commit": "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": "28b27204a3658bb37afb0294df7265d725dbf62b",
      "tree": "ac260cf28ad0ced5770b1066ce7eb7332b29da03",
      "parents": [
        "11b45e9f0a31783c7fa1d28281a489dfe47a9982",
        "3fea286f711f8e81afe7e85fe44d55e09cd6a9ea"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 21 18:46:40 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 21 18:46:40 2020 +0000"
      },
      "message": "Merge \"Add more package names for MediaProvider\""
    },
    {
      "commit": "3fea286f711f8e81afe7e85fe44d55e09cd6a9ea",
      "tree": "7b004f776aa3efddc0bf535cf4536f8f664281d4",
      "parents": [
        "5c75d0b7f9cf84438ff65d4865a29cb32bf1a051"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 21 08:46:03 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 21 16:40:19 2020 +0000"
      },
      "message": "Add more package names for MediaProvider\n\nbug: 171393067\nChange-Id: I201de3c7a9e0e6a9a8c3620b519d069764ec73a0\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": "45912d92c289e477590806a10296cd90b809a311",
      "tree": "13d6500b96e08e6c60f28470f2b8f17d57edf805",
      "parents": [
        "e3bca196dbe931f0d7c26394c6224784224da459",
        "82a6a29675c8709f608cb12fb1cb11a28512eec0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 13 23:19:04 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 13 23:19:04 2020 +0000"
      },
      "message": "Merge \"Transcoder: Make it easier to benchmark operating rates.\""
    },
    {
      "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": "f2f31ace25837d47e896301642ac14d324964ec2",
      "tree": "cfe21e18145cb94e6fe9f8b3ef65395d78901c9f",
      "parents": [
        "6f8fac2e669e6b23908366ce0561cc7064068096",
        "6bf46534dbffb9060f40c3251c33537a4c0e918f"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Fri Oct 09 17:43:52 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 09 17:43:52 2020 +0000"
      },
      "message": "Merge \"Transcoder: Benchmark HEVC-\u003eAVC and max operating rate\""
    },
    {
      "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": "c37bdfeb8001229d266b8e453749b273edb008b2",
      "tree": "9196733568ae64a87e598205d29668e1dd4b9290",
      "parents": [
        "f8701c40e95ec237919884629f0497c0bb504c04"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Oct 06 13:54:09 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 07 00:25:08 2020 +0000"
      },
      "message": "transcoding: trust MediaProvider to set uid for jobs\n\nbug: 154733526\ntest: manually check that MediaProvider uid is obtained\nsuccessfully, and isTrustedCallingUid() is true\n\nChange-Id: I5577adcfc1acdac343ec3d98a1e33a9fc2fe36d6\n"
    },
    {
      "commit": "f8701c40e95ec237919884629f0497c0bb504c04",
      "tree": "c4bc85f578094d57ae4d791d92d74f172da894ad",
      "parents": [
        "358a08446b6657151ad064edf44635e7d021c0af",
        "0579c6f315bd703becd0bf9a92c754163474e368"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 07 00:13:24 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 07 00:13:24 2020 +0000"
      },
      "message": "Merge \"transcoding: add more dumps for jobs\""
    },
    {
      "commit": "0d91c9b17bc8cc9cff6057f59b667da42462f850",
      "tree": "fd130977940af13f353ea77796e6d2a287339d7f",
      "parents": [
        "66c8b0988bf02c218bc4fe6c0d81e4bed743c57b",
        "8a96cfc8c79e2adc839f399fb416df9c95e490fe"
      ],
      "author": {
        "name": "Linus Nilsson",
        "email": "lnilsson@google.com",
        "time": "Mon Oct 05 21:27:13 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 05 21:27:13 2020 +0000"
      },
      "message": "Merge \"Transcoder: Add TrackTranscoder benchmarking.\""
    },
    {
      "commit": "0579c6f315bd703becd0bf9a92c754163474e368",
      "tree": "d93cd2a853a090083f9054c9cad0a6cfef7b266c",
      "parents": [
        "66c8b0988bf02c218bc4fe6c0d81e4bed743c57b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Oct 05 12:03:34 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Oct 05 12:05:20 2020 -0700"
      },
      "message": "transcoding: add more dumps for jobs\n\nbug: 154733526\ntest: run the following to monitor transcoding status:\n\nwatch -n 1 adb shell dumpsys media.transcoding\n\nChange-Id: I167bae9adcff2f80b26aefb520b4ab6d493e3f9d\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": "66c8b0988bf02c218bc4fe6c0d81e4bed743c57b",
      "tree": "014f35f3fb3087a0b99f159b1b293aaf6f5e2f73",
      "parents": [
        "0e9cbface6089e2f05ac9aa1489d8c3cf93b127a",
        "ff778699027530dcf8fc9842ac4f10a8ec08cd40"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 03 04:24:45 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 03 04:24:45 2020 +0000"
      },
      "message": "Merge \"transcoding: Add more information to dumpsys.\""
    },
    {
      "commit": "ff778699027530dcf8fc9842ac4f10a8ec08cd40",
      "tree": "e464b7ee8705c08d63a03909ff3a58d497bcbf55",
      "parents": [
        "48e2b36fad0759beda38c564eb31efe32131be38"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Oct 02 15:40:56 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Oct 02 20:00:12 2020 -0700"
      },
      "message": "transcoding: Add more information to dumpsys.\n\nShowing all the jobs in queue.\n\nBug: 154733526\nTest: Use snapchat to simuluate multiple transcoding jobs and dumpsys.\nChange-Id: I37aa9d15fe9243598d068eb3aac7ecc2e80d6ccf\n"
    },
    {
      "commit": "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": "3f23e986396cf1e874e79f8b648d9e06bc4a1b91",
      "tree": "11dbf8360f9e0a27635d770f36fe4937bc88253a",
      "parents": [
        "2f0bf51fb362149cfd88d55b93a3a0bb89779e92"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 24 14:03:41 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 24 20:38:40 2020 -0700"
      },
      "message": "transcoding: move uid/pid from client to job\n\nRemove the uid/pid on registerClient, and move uid/pid\nchecking to submitRequest time.\n\nbug: 154733526\ntest: unit testing, builds\n\nChange-Id: Ibf29e326cd80e133b8630df96382c80dd9002548\n"
    },
    {
      "commit": "f907751917092cfcdd5a1f229d01db83236fda40",
      "tree": "e8f261404eff7e1309aa78a4249e23c19e458e58",
      "parents": [
        "b79b20f897835ed7b8d1556c7b444f810ef9b812"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Sep 21 21:02:06 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 23 16:26:13 2020 +0000"
      },
      "message": "Register resource observer and handle resource lost.\n\nbug: 168307955\nbug: 154733526\nChange-Id: I2d5e39ce23bc873dd3bac090e3f7aa1124d0a579\n"
    },
    {
      "commit": "b79b20f897835ed7b8d1556c7b444f810ef9b812",
      "tree": "2d0ad39bd0fd1fc38a4ac65b9e31c4e421d5edf6",
      "parents": [
        "86f50786e4ca2b1bf967bbce81c4f930789cc0fb",
        "97d367b26286afca53b2c47d643792ea5d18f361"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 23 05:45:57 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 05:45:57 2020 +0000"
      },
      "message": "Merge \"Allow native process to set procinfo in ResourceManager\""
    },
    {
      "commit": "97d367b26286afca53b2c47d643792ea5d18f361",
      "tree": "bf4d4dbbf2e1571aedddb0c1578b9ee25deee6d0",
      "parents": [
        "2526250c329d30b4456d99e9dd9be46633da4f7e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 16 12:53:14 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 22 19:29:13 2020 -0700"
      },
      "message": "Allow native process to set procinfo in ResourceManager\n\nAnd set the override in transcoding service to allow\nResourceManager to reclaim from it.\n\nbug: 168307955\ntest: mediatranscodingservice unit tests;\nResourceManager unit tests;\nCTS ResourceManagerTest; manually verify that binderDied\nevents are handled correctly.\n\nChange-Id: I3193a0e29c1efbaf641e8c6b391241233d9cc404\n"
    },
    {
      "commit": "86f50786e4ca2b1bf967bbce81c4f930789cc0fb",
      "tree": "b81f04a0b3273f789165db1bc0e41065d7e700ea",
      "parents": [
        "9cef5082e349a5c46aa2dad6f3e0c09262b84358",
        "37a586d707f930cbc5e8cc37fee429501816612a"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Sep 23 00:19:00 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 00:19:00 2020 +0000"
      },
      "message": "Merge \"transcoding: Add forClientUid in TranscodingRequest.\""
    },
    {
      "commit": "37a586d707f930cbc5e8cc37fee429501816612a",
      "tree": "aaaebc1639dd63f0524e37704ca4bd6c869480ea",
      "parents": [
        "c7f2011ccbaede45c36119caff71928ef423ff2e"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Fri Sep 18 22:25:02 2020 -0700"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Sep 21 22:21:40 2020 -0700"
      },
      "message": "transcoding: Add forClientUid in TranscodingRequest.\n\nThis is used to let MediaProvider could specify the request is\non behalf of which client.\n\nBug: 154733526\nTest: Unit test.\nChange-Id: Icb47a7b659c94eb1ae9be571f5c258283e8e8b4c\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": "65e60e2b37f1ed9279afe7a8a290f83b98be3fbe",
      "tree": "a8caa9f12a9adbb073c54e3899c98dbc5af9f363",
      "parents": [
        "10a7efe0387b11acc57cf6cea3f2ae594b1d8907"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Tue Sep 08 14:22:47 2020 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Sep 11 18:00:01 2020 +0000"
      },
      "message": "transcoding: Add operating rate in aidl interface to boost speed.\n\nBoost the decoder and encoder to maximum operating rate.\n\nBug: 167735283\nTest: None as just AIDL interface.\n\nChange-Id: If4989fdc39086a7f741548d99f561f445d894862\n"
    },
    {
      "commit": "0627dbff3eacb079fa86f387338a2808f768139e",
      "tree": "04536a47dcd4d1af62c5f9b3124ac9dc92bede5d",
      "parents": [
        "7636217f0531c64424c81f60f733b40295d8cddc"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Tue Aug 25 13:53:56 2020 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Aug 26 04:13:24 2020 +0000"
      },
      "message": "transcoding: Rework AIDL files to expose to frameworks/base\n\nBug: 160260102\nTest: Unit test\nChange-Id: Ib2050becaf89b8e4db5867bc601dedeb4eb8ebd2\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": "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"
    }
  ],
  "next": "865f909bea63732260bdb4cd54892a1a6f228cad"
}
