)]}'
{
  "log": [
    {
      "commit": "13f103b28db5fc22361e352a8f0b777718716fb1",
      "tree": "712b48153d6d969c5757e441eeb2d4bc5539d963",
      "parents": [
        "54ae7b773e2e1e1f9e373e8d803c39f2295ed2f0"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Mon Nov 04 16:57:17 2019 -0800"
      },
      "committer": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Mon Nov 04 16:57:17 2019 -0800"
      },
      "message": "[frameworks][av] fix -Wimplicit-int-float-conversion\n\nIEEE754 single precision cannot precisely represent\nINT32_MAX/UINT_MAX/RAND_MAX.\n\nIEEE754 double precision cannot precisely represent INT64_MAX.\n\nAs such, implicit conversions from operations with floating point and\nintegral operands may result in a loss of precision.\n\nAccept the imprecision with by making the existing implicit casts\nexplicit.\n\nBug: 139945549\nTest: mm\nChange-Id: Ic66b3d3bbac9e644e27ad8233018f24dfce3209f\nSigned-off-by: Nick Desaulniers \u003cndesaulniers@google.com\u003e\n"
    },
    {
      "commit": "cd8793a325408a5f77aee9bd719d2591fa4a30fd",
      "tree": "7accb34ca7b8b5fd261bde7a5bee21f22cbb8326",
      "parents": [
        "fcb1f7fa5a99a45596230876d5072d8351cac503",
        "e25539a93f04b06361252e2aa8baab534efbc1de"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 23 10:05:18 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 23 10:05:18 2019 -0700"
      },
      "message": "Merge changes from topic \"libdrmframework\" am: 84a53822a1 am: 460618a6d1 am: c317c587d5\nam: e25539a93f\n\nChange-Id: Ib8636ca3d1a5e251de8a4ce3643f0f88dfe85234\n"
    },
    {
      "commit": "84a53822a1a24785dfa5da63e364753423ae8257",
      "tree": "efb0ef18e6a76d6f69dd9c873bc6ec7c9ab5fe18",
      "parents": [
        "80d3d96941be2d110f30e3147c4e4fbbded05730",
        "9c6f790843939700fa18779f14b1df5fa1161024"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 23 16:28:37 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 23 16:28:37 2019 +0000"
      },
      "message": "Merge changes from topic \"libdrmframework\"\n\n* changes:\n  Remove libdrmframework.so dependency from libdatasource.so\n  Make DataSourceFactory singletone\n"
    },
    {
      "commit": "01efa1083b0055c820b3b6cbf31909534b6c36aa",
      "tree": "60047364bc866f007e09380df09fe8c1747aad41",
      "parents": [
        "f81eff4896be5b442bd69b83ff8fc8bfca8dd474",
        "f94b6d6d8118e27213e38c0449159c60cbd74362"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 21 10:08:20 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 21 10:08:20 2019 -0700"
      },
      "message": "Merge \"Move AudioPlayer to test commands\" am: 4426ce8d95 am: 4520fef512 am: 8429516eed\nam: f94b6d6d81\n\nChange-Id: I96ba323a3400613395fd7fb21cb5869256af238c\n"
    },
    {
      "commit": "1edb68c38408d06bf8f97d6884663732b7dbcce2",
      "tree": "87159f2617c58f9cb971ab48c8512d5ad14da2df",
      "parents": [
        "03379fb2cc34c93214082a0ceaf038626117554d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 18 11:12:30 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 18 11:27:49 2019 -0700"
      },
      "message": "Move AudioPlayer to test commands\n\nAudioPlayer was only used by the commandline utilities, so move it\nout of libstagefright.\n\nTest: build, run\nChange-Id: I561cccd323206de7415bd235b72711194080aaea\n"
    },
    {
      "commit": "79b0c24b58af5fbfec814a2a11506ef0f72541c3",
      "tree": "2551d295da89029c75f6a9219a6bc1a3b2980b98",
      "parents": [
        "1f72838954cb3689fb58eef6276553d9a45ff0a8"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Sun Oct 13 08:17:34 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 15 11:00:29 2019 -0700"
      },
      "message": "Make DataSourceFactory singletone\n\nThis is preparation for having a subclass of DataSourceFactory which\nis only used in mediaserver process with OMA (forward-lock) use case.\n\nTest: build\nBug: 142567168\nChange-Id: I2a1ab3d1ae89f657a84376d9a95d4e814b545b4f\n"
    },
    {
      "commit": "a42a62d8633fa6fcabc8129a2c798da860630821",
      "tree": "77e009a25a0a222aba1cabdc276b5bc9da549d04",
      "parents": [
        "342d7bcf44b3edcce763f0417ad0a13b11bde285"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Sep 23 17:48:14 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Oct 11 21:40:26 2019 -0700"
      },
      "message": "libmedia: separate codeclist from libmedia\n\nTest: build.\nBug: 139201422\nChange-Id: I150c3bd04cc68a3b96a8762ba193fc1595ee6da3\nMerged-In: I150c3bd04cc68a3b96a8762ba193fc1595ee6da3\n"
    },
    {
      "commit": "fa8be7d2371d66db6c7838060d5729f6fd9374ef",
      "tree": "aa00504b96299a891446e46c81c6b0d72c9aae02",
      "parents": [
        "58ae37b5b34d6a2bddd46494230a58f5fcc3f5e3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 23 12:15:57 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 09 07:41:58 2019 -0700"
      },
      "message": "Split datasource out of libstagefright\n\ninto libdatasource, which contains:\n  DataSourceFactory\n  (Clear)FileSource\n  (Clear)MediaHTTP\n  DataURISource\n  HTTPBase\n  NuCachedSource2\n\nThis is needed to break a circular dependency in an upcoming CL.\n\nTest: build, boot\n\nChange-Id: I34d9937235c78f18f51b18945342a0743e209577\nMerged-In: I34d9937235c78f18f51b18945342a0743e209577\n"
    },
    {
      "commit": "42057ce1890b2be250b95f56734a47b93c8ad537",
      "tree": "7bfbe8147243430c306546b6a7e5caaa1e94d9cc",
      "parents": [
        "df0b56ba22cc201e535a2efc2245214355b6adf2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 23 12:15:57 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 08 09:30:45 2019 -0700"
      },
      "message": "Split datasource out of libstagefright\n\ninto libdatasource, which contains:\n  DataSourceFactory\n  (Clear)FileSource\n  (Clear)MediaHTTP\n  DataURISource\n  HTTPBase\n  NuCachedSource2\n\nThis is needed to break a circular dependency in an upcoming CL.\n\nTest: build, boot\n\nChange-Id: I34d9937235c78f18f51b18945342a0743e209577\n"
    },
    {
      "commit": "55b259cf5ec16df77b52206e8209f5df2fc214c5",
      "tree": "29989150d2cfb026f11ec5d43edb8116442e7311",
      "parents": [
        "87025d5658d1a3d78c1a634035f7126f0ba8a4f1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 10:21:55 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 01 13:43:37 2019 -0700"
      },
      "message": "Remove libmediadrm symlinks\n\nTest: build\nChange-Id: I53d703b6d34226926437b0207a2b3d51dff6881a\nMerged-In: I53d703b6d34226926437b0207a2b3d51dff6881a\n"
    },
    {
      "commit": "13aa1a4b6630a05fc3e48824b911009ecbb33284",
      "tree": "506fa3026d84685c2621157b9b668155c31ae0ec",
      "parents": [
        "e3cdab3c40cb71284a0e186d7d5a82257e7d34a1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 10:21:55 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 30 14:04:37 2019 -0700"
      },
      "message": "Remove libmediadrm symlinks\n\nTest: build\nChange-Id: I53d703b6d34226926437b0207a2b3d51dff6881a\n"
    },
    {
      "commit": "df7b3d017a5e00afb76e2dfd7bbf9137db6da1d2",
      "tree": "b1bec0e282b0bed7e09c357756f1e34d8196fcee",
      "parents": [
        "29e02d0730993327cc4484dcf023439018347595",
        "23a180b0c2dfd317d55c1abe632aa81461a8856a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 27 23:49:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 27 23:49:05 2019 +0000"
      },
      "message": "Merge \"libmedia: separate codeclist from libmedia\""
    },
    {
      "commit": "3230ed8235a39adef82d7c3873e6a87007799ff8",
      "tree": "158042769963aa698a8fbd240d2abfc352220c3d",
      "parents": [
        "6dc75fb0cde69661a1d2d915c1520b251ebdfbbb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 26 11:20:54 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 12:12:46 2019 -0700"
      },
      "message": "Remove symlinks from include dir\n\nTest: build\n\nChange-Id: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\nMerged-In: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\n"
    },
    {
      "commit": "824cb8f898008538eabfc26e31e081b2f84be0e7",
      "tree": "1bb7ac07cd5f15d168d6013267a0c03f2df2b288",
      "parents": [
        "3b93ca583af5296df1b4d45e4d16b5fba82205d2",
        "cf90b4931734e42c6092318991f213b76d7e849e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 18:13:29 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 27 18:13:29 2019 +0000"
      },
      "message": "Merge \"Remove symlinks from include dir\""
    },
    {
      "commit": "cf90b4931734e42c6092318991f213b76d7e849e",
      "tree": "3c0c685cb75bbdc37172d24113f6c0dbcbf3dfb4",
      "parents": [
        "d2dc18b063c548d9646dd1127fea97ccebdba079"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 26 11:20:54 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 09:02:30 2019 -0700"
      },
      "message": "Remove symlinks from include dir\n\nTest: build\n\nChange-Id: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\n"
    },
    {
      "commit": "23a180b0c2dfd317d55c1abe632aa81461a8856a",
      "tree": "c6547ba9a18fdbf766b6d8a753216489677e6728",
      "parents": [
        "3b93ca583af5296df1b4d45e4d16b5fba82205d2"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Sep 23 17:48:14 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Sep 26 15:50:30 2019 -0700"
      },
      "message": "libmedia: separate codeclist from libmedia\n\nTest: build.\nBug: 139201422\nChange-Id: I150c3bd04cc68a3b96a8762ba193fc1595ee6da3\n"
    },
    {
      "commit": "8dfda2b2757f17348c679fc2281899e87f972f51",
      "tree": "03c10db813cd1849be8f1f364a58bd4865ac10e1",
      "parents": [
        "d2dc18b063c548d9646dd1127fea97ccebdba079",
        "a7ccb190c5065b2f16773cb27ffa0ecfa773f1c6"
      ],
      "author": {
        "name": "Huihong Luo",
        "email": "huisinro@google.com",
        "time": "Wed Sep 25 15:41:37 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 15:41:37 2019 +0000"
      },
      "message": "Merge \"Add support to record external displays\""
    },
    {
      "commit": "7dd39723b34c8378fc5eabb4d4ccacf32f55ffe2",
      "tree": "222de47bcb84931d714d250fe51d3249771edc18",
      "parents": [
        "61d4a093f4b4041b145fbd7a3ab5ec04679f87d9"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Sep 05 15:14:30 2019 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 13 10:59:51 2019 -0700"
      },
      "message": "Improve visibility of IMemory security risks\n\nThis change renames the IMemory raw pointer accessors to\nunsecure*() to make it apparent to coders and code reviewers\nthat the returned buffer may potentially be shared with\nuntrusted processes, who may, after the fact, attempt to\nread and/or modify the contents. This may lead to hard to\nfind security bugs and hopefully the rename makes it harder\nto forget.\n\nThe change also attempts to fix all the callsites to make\neverything build correctly, but in the processes, wherever the\ncallsite code was not obviously secure, I added a TODO requesting\nthe owners to either document why it\u0027s secure or to change the\ncode. Apologies in advance to the owners if there are some false\npositives here - I don\u0027t have enough context to reason about all\nthe different callsites.\n\nTest: Completely syntactic change. Made sure code still builds.\nChange-Id: I5fb99aa797c488406083178a6b05355d98710d3b\n"
    },
    {
      "commit": "a7ccb190c5065b2f16773cb27ffa0ecfa773f1c6",
      "tree": "a24417f833c02c4d4b94e2ebc1855ca987e1ffec",
      "parents": [
        "a4be0c37e92faf1579b05077d7e3cbef8b93db78"
      ],
      "author": {
        "name": "Huihong Luo",
        "email": "huisinro@google.com",
        "time": "Thu Sep 05 11:53:52 2019 -0700"
      },
      "committer": {
        "name": "Huihong Luo",
        "email": "huisinro@google.com",
        "time": "Wed Sep 11 10:19:15 2019 -0700"
      },
      "message": "Add support to record external displays\n\nAdd an option --display-id to specify a pyhsical display id to record, bump version to 1.3. If we can not find the physical display from the id, error message will be printed out.\nThis CL depends on: ag/9366012\n\nBug: 136165419\nTest: screenrecord --display-id 1 /data/local/tmp/test.mp4\nChange-Id: I3b90d43024191d1e15563284836dc093862192e1\n"
    },
    {
      "commit": "1dd33eacee80d6934dd541eb4703f17e18d97c55",
      "tree": "a0fa7ed830978c53e04127b27cf03632d7ed69d3",
      "parents": [
        "e1de3d1ab2ea52b18716673e549fac209aedb2b7",
        "e9239dbe79ebaa93dda6d734cc80230736a17918"
      ],
      "author": {
        "name": "Kodi Obika",
        "email": "kodiobika@google.com",
        "time": "Tue Aug 20 18:57:32 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 20 18:57:32 2019 -0700"
      },
      "message": "Merge \"Added trace event to screenrecord\"\nam: e9239dbe79\n\nChange-Id: I786445ef718d73192ff9c94ab4482232154a1b85\n"
    },
    {
      "commit": "1f14e9f4747ddcf8820c81eedff5e592683e8ce0",
      "tree": "4b70c0e342f77e72c3a58e3c0b16af5b8bbea6b6",
      "parents": [
        "90982f280089e6956e82a66bdea79b23373092fb"
      ],
      "author": {
        "name": "Kodi Obika",
        "email": "kodiobika@google.com",
        "time": "Tue Aug 06 10:27:09 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 21 01:01:34 2019 +0000"
      },
      "message": "Added trace event to screenrecord\n\nBug: 135278534\nTest: Run Perfetto with \"screen recording\" enabled and execute\na query for the \"first_frame\" slice\nExempt-From-Owner-Approval: cherry-pick\n\n(cherry-picked from commit c840c0bfee6aa9be4e05e957e8d1ee8d9e330f75)\nMerged-In: I20abf7300e8c46b6e6dc52096db699e95c93297d\nChange-Id: I20abf7300e8c46b6e6dc52096db699e95c93297d\n"
    },
    {
      "commit": "c840c0bfee6aa9be4e05e957e8d1ee8d9e330f75",
      "tree": "cdd1bee23894235f558960c19f7c9bf9c22ee23f",
      "parents": [
        "096daf42eb9ffbd77b5fc08167e0dcf5c2e6302f"
      ],
      "author": {
        "name": "Kodi Obika",
        "email": "kodiobika@google.com",
        "time": "Tue Aug 06 10:27:09 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 13 16:20:57 2019 -0700"
      },
      "message": "Added trace event to screenrecord\n\nBug: 135278534\nTest: Run Perfetto with \"screen recording\" enabled and execute\na query for the \"first_frame\" slice\n\nMergedIn: Ifb984bfb0cdf48c61352e2923de42ce0ca06ace7\nChange-Id: I20abf7300e8c46b6e6dc52096db699e95c93297d\n"
    },
    {
      "commit": "ed84e713b3b84aa189459c2412e65a4be257bc89",
      "tree": "a39c5673e605639b3a5e9582dc256b6a2138a55a",
      "parents": [
        "06b462e6bac4cf5c96ce1c606d2d0cfaf17a3922",
        "ff5c81c647c4c7d7e44544175506d4b11d561efd"
      ],
      "author": {
        "name": "Adam Pardyl",
        "email": "apardyl@google.com",
        "time": "Thu Jul 18 09:12:49 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 18 09:12:49 2019 +0000"
      },
      "message": "Merge \"Add Winscope sync metadata to screen recording\""
    },
    {
      "commit": "ab33ac980af00a6e340d0766bfc91a7576d57db0",
      "tree": "652340843a6a6e3bd6647b7092d8c67925a4f1ea",
      "parents": [
        "24225f9ba085f07aa9727bb3c7f373e873d51a8e"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jul 12 10:27:45 2019 -0700"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Jul 18 04:02:11 2019 +0000"
      },
      "message": "Renderscript: rename .rs extension to .rscript\n\nReserve .rs extension for Rust.\n\nBug: 137365032\nTest: make checkbuild\nTest: cd frameworks/compile/slang/tests\n    ./slang_tests.py\nTest: atest CtsRenderscriptTestCases\nTest: CtsRsCppTestCases\n\nExempt-From-Owner-Approval: Clean CP\nChange-Id: I33010b5604d8140f3a50845c16daff743504c8d0\nMerged-In: I33010b5604d8140f3a50845c16daff743504c8d0\n(cherry picked from commit fafc72bd8ba6602c609c5109d2ec0ea318f14131)\n(cherry picked from commit 86fdb97cbb82464b0d021f16d7ad8752bf4b2767)\n"
    },
    {
      "commit": "737f6748fc37950e9095ede64249521ca5d9afd8",
      "tree": "019fddf7f41323d0306cef9824e1651051e66e07",
      "parents": [
        "4c76131a07107e12df9344366b3ac8a0035e1cb6"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jul 12 10:27:45 2019 -0700"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Jul 17 21:33:29 2019 +0000"
      },
      "message": "Renderscript: rename .rs extension to .rscript\n\nReserve .rs extension for Rust.\n\nBug: 137365032\nTest: make checkbuild\nTest: cd frameworks/compile/slang/tests\n    ./slang_tests.py\nTest: atest CtsRenderscriptTestCases\nTest: CtsRsCppTestCases\n\nChange-Id: I33010b5604d8140f3a50845c16daff743504c8d0\nMerged-In: I33010b5604d8140f3a50845c16daff743504c8d0\n"
    },
    {
      "commit": "ff5c81c647c4c7d7e44544175506d4b11d561efd",
      "tree": "88c7465f581138db9816a6dab9cc3208be748300",
      "parents": [
        "8cfe8f7b0d7d2e7f71714fb4a400d828b445ff06"
      ],
      "author": {
        "name": "Adam Pardyl",
        "email": "apardyl@google.com",
        "time": "Tue Jul 16 11:58:08 2019 +0200"
      },
      "committer": {
        "name": "Adam Pardyl",
        "email": "apardyl@google.com",
        "time": "Wed Jul 17 15:39:50 2019 +0200"
      },
      "message": "Add Winscope sync metadata to screen recording\n\nWinscope tool requires frame presentation time relative to\nandroid::elapsedRealtimeNano to synchronise video with SurfaceFlinger\nand WindowManager traces. The metadata is stored as a separate data\ntrack in the MPEG-4 container.\n\nDesign doc: http://go/winscope-video-sync\n\nTest: adb shell screenrecord /sdcard/test.mp4 --time-limit 5\nBug:\nChange-Id: I4536956efe8c62a0586b55bab1db6bdf368d4348\n"
    },
    {
      "commit": "fafc72bd8ba6602c609c5109d2ec0ea318f14131",
      "tree": "e302407d6c959c3b7332266a51f1273c13b0683b",
      "parents": [
        "41560413e5d562c2825afdf7567845c1a8e833a1"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jul 12 10:27:45 2019 -0700"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Jul 15 09:23:02 2019 -0700"
      },
      "message": "Renderscript: rename .rs extension to .rscript\n\nReserve .rs extension for Rust.\n\nBug: 137365032\nTest: make checkbuild\nTest: cd frameworks/compile/slang/tests\n    ./slang_tests.py\nTest: atest CtsRenderscriptTestCases\nTest: CtsRsCppTestCases\n\nChange-Id: I33010b5604d8140f3a50845c16daff743504c8d0\n"
    },
    {
      "commit": "3f722145f77d74b9917f0fd5327b040cbf72324b",
      "tree": "943be0d9c7516f1bf17755ea961b6f9d018fe983",
      "parents": [
        "f4c490615161ddf3f7eda4bde59ae89cff35e28e",
        "31a472facd09964642bff5325e7626cdc65255a7"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed May 29 11:14:52 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 29 11:14:52 2019 -0700"
      },
      "message": "Merge \"Remove references to non-existant directories\" am: e8a9a230ac\nam: 31a472facd\n\nChange-Id: I5b5bf9685ae2936ee28a5df3d212f7e383dd8281\n"
    },
    {
      "commit": "3c9d6986abd9f07a6fb0d83862e71825e24c8fa7",
      "tree": "0763f114498b9ea3c89fb6441510ea1631c61912",
      "parents": [
        "a117e055af56b716b1403ea6de0f860cb740f65c"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue May 28 14:09:01 2019 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue May 28 14:09:01 2019 -0700"
      },
      "message": "Remove references to non-existant directories\n\nexternal/jpeg and frameworks/av/services/radio do not exist.\n\nTest: treehugger\nChange-Id: Ie7529f767bd97ef28d73e4dff03d2f1f74ab8bd3\n"
    },
    {
      "commit": "15a5130330371594d669dbbe1fee0e23b1f50224",
      "tree": "92f1ab133a5bb227f7ae80c47ffb09674dd2bcd5",
      "parents": [
        "1f2f5058f7b920ff63c974d0fc1e1b4eb5a0c702"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Mar 12 10:59:41 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Mar 27 13:03:14 2019 -0700"
      },
      "message": "screenrecord: add bframes option\n\nTest: screenrecord --codec-name OMX.google.h264.encoder --bframes 1 /sdcard/a.mp4\nChange-Id: I6ae9310fb5ef644138af0becb7428f4a2c6393fe\n"
    },
    {
      "commit": "fa28812e6d483c5705709000af6cb5e692332a7f",
      "tree": "af4a254699d2eb2ac23de3049ab9afdc321b61e2",
      "parents": [
        "7b6fe4db7e6c5d4ef189c954e716250dea303054",
        "8a1f50678d5556ffcf05be818f364de8792e9c47"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Wed Feb 06 22:46:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 22:46:09 2019 +0000"
      },
      "message": "Merge \"cmds: Use getInternalDisplayToken API\""
    },
    {
      "commit": "caac4484db371ceee0ace2a944e0286af051c02b",
      "tree": "75e61dd6c282522ecdb734ff08078397b9b1a7f2",
      "parents": [
        "0a6f296509b6e439c545cbf9db836f8c7393d565",
        "536426c32ff0ad5bc3fb78293af8cf0bf6918752"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 07:18:26 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 01 07:18:26 2019 -0800"
      },
      "message": "Merge \"Convert three media binaries to Android.bp\" am: 479b735392 am: 812f306ff8\nam: 536426c32f\n\nChange-Id: Ib0b891a695d613a8593b9619b908880895f16ef4\n"
    },
    {
      "commit": "33de46e8f32aaf803bc4e2c0efebc15660d7045e",
      "tree": "1d096aa210da1bdb42a23a46e77f2a8ea346b80c",
      "parents": [
        "1128b3fa1a8c3859e517d141c8f289ec4e35ef91"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 11:17:57 2019 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 11:40:58 2019 +0000"
      },
      "message": "Convert three media binaries to Android.bp\n\nThis converts mediaserver, mediametrics and screenrecord and the\nlibraries they depend on to Android.bp\n\nSee build/soong/README.md for more information.\n\nBug: 122331945\nBug: 80410283\nTest: boot blueline\nTest: youtube\nTest: screenrecord\nChange-Id: I132b8b4f7965449df68fb1544034a7241c594a63\n"
    },
    {
      "commit": "8a1f50678d5556ffcf05be818f364de8792e9c47",
      "tree": "0c64168138d40c1758742ce5f3c800458daa3b61",
      "parents": [
        "0ac26a451483ddea3be4fafe620b8fa01669149b"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Jan 25 03:12:01 2019 -0800"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Sun Jan 27 09:33:37 2019 -0800"
      },
      "message": "cmds: Use getInternalDisplayToken API\n\nBug: 116025192\nTest: screenrecord still works\nChange-Id: Ic7ad1d78ac8aa810bad8901fe1e71582168b8c4c\n"
    },
    {
      "commit": "60d429c4236cb2e8ae66253d592d97276bb16fbc",
      "tree": "8a42bf7c387e9bcd6edd5adc160346128fd4974d",
      "parents": [
        "8d4bdfd7e52f92d0e3eda23fec5081191bbf9a7b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 10 14:08:19 2018 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jan 15 16:00:37 2019 -0800"
      },
      "message": "cmd/stagefright: print more debug info for codecs\n\nReplace -p (profiles) with -i (info)\n\nBug: 119631295\nChange-Id: I37f208aad9c9d4698d77e30d9278148134e94372\n"
    },
    {
      "commit": "54c88096751d736a4b91d1f3eb0c6e0d5c3470ea",
      "tree": "4be4375a8807d2f540eace2bc32cedce62462b85",
      "parents": [
        "cccfb3fe54e4d45a6f02e197765eebfbd5926c34"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 11 14:06:15 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 16:59:13 2019 +0000"
      },
      "message": "Remove libmediaextractor\n\nMove DataSourceBase and MediaSource to libstagefright, and\nMediaBuffer, MediaBufferGroup and MetaData to libstagefright_foundation.\n\nTest: build\n\nChange-Id: I4f0ae01d40a32f4b773a2f74d5f2ae136e375322\n"
    },
    {
      "commit": "26ac00d36f525a0299b3cb998590bea7f62f7cdf",
      "tree": "9317eeadd33dc4b3a3097210684572f879354bc8",
      "parents": [
        "52e19d498d28d176c754740b55c025deca70d990",
        "707c1468b52b683753cf5d29811d67eb42a6a8ee"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 05 02:55:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 05 02:55:05 2019 +0000"
      },
      "message": "Merge \"Plumbing to recognize AV1 content\""
    },
    {
      "commit": "df182ecb151032564aa9e86c0220743f5fc2197b",
      "tree": "c6581128424cf26bb7e583f5fde26070854d401d",
      "parents": [
        "100288c4732c7bc4225b6b66e8c9bd9383af71fb",
        "36824249a0ef8ef6f7ef6f6db77e8409c2fa964e"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 04 23:19:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 23:19:48 2019 +0000"
      },
      "message": "Merge \"Verify non-null format when starting AudioPlayer\""
    },
    {
      "commit": "dd44e3c5f2d199589c040a422b3e343c796bd362",
      "tree": "89b2ef6b476d9f12a11fbbe882df58d1964f966e",
      "parents": [
        "341dd3bb36c4ceb77c80b8e8db9f0e1d647dc9ce",
        "7dac08bb5b0750188e4cc5ffcf6330c1351cd759"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 13 15:49:41 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 13 15:49:41 2018 -0800"
      },
      "message": "Merge \"Remove CFI diagnostics.\" am: ebd8c69ac5 am: 9267f7a253\nam: 7dac08bb5b\n\nChange-Id: I67ac542950e6f2b8a65909b6f5c46ad52430f51c\n"
    },
    {
      "commit": "ebd8c69ac531cfcb6aa05a96e8cba604008bd6f0",
      "tree": "5d5aa19dc9e38553f7455273d1642d3831b87af4",
      "parents": [
        "92466dd60772c38e563ec42b6b06ef5185d68396",
        "eac728757e36ff908dcd17a589dacbe7e44a2f9e"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 13 20:43:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 20:43:46 2018 +0000"
      },
      "message": "Merge \"Remove CFI diagnostics.\""
    },
    {
      "commit": "707c1468b52b683753cf5d29811d67eb42a6a8ee",
      "tree": "70b65d4ff93d5e7b2c007bf9640d508bab4f12fb",
      "parents": [
        "156082a18c9186359d2a6bf434d76c338c8db43f"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Dec 05 15:21:35 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Dec 12 17:12:49 2018 -0800"
      },
      "message": "Plumbing to recognize AV1 content\n\nRecognize AV1 content in various container formats, so we can extract\nand pass to the AV1 codec.\n\nBug: 111936705\nTest: playback of AV1 videos\nChange-Id: I8a5523741481586b3569006236bd1fc92869ee76\n"
    },
    {
      "commit": "18343452006468a83457b9623b082f64fb479169",
      "tree": "1999a7d544c9bd5b1b4c09a536f0199fd93f1805",
      "parents": [
        "c6b48fe6272db5d3ca910598565c2b48b547ce7f",
        "0cf77658fa992cef0247484ba6b43526a9d2d571"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 13:59:12 2018 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 13:59:12 2018 -0800"
      },
      "message": "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master\n\nBug: 120502534\nChange-Id: Ifdd73b6dfcf3791fb8dae2b1796a34bb56aea190\n"
    },
    {
      "commit": "eac728757e36ff908dcd17a589dacbe7e44a2f9e",
      "tree": "787484029dce47d0816a3bf60ccce2b1938609ff",
      "parents": [
        "8c545704ea199e13c23f47cd8f4067bcdc25071f"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 12:25:49 2018 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 12:25:49 2018 -0800"
      },
      "message": "Remove CFI diagnostics.\n\nRemove diagnostics mode from CFI across the board. This should reduce\nperformance overhead and also allows the minimal runtime to work when\nother ubsan sanitizers are enabled. CFI stack dumps should include a\nCFI related function, so it should be apparent when a crash is\nCFI-related.\n\nBug: 117417735\nTest: make -j\nChange-Id: Ie697f83b4894230ac90a4de447dccbc006c9c5a6\n"
    },
    {
      "commit": "476bf5170173d1081649d4da397b7c68dffd5fbf",
      "tree": "1584e964ee2ff967ed42af2e867fd7bc71d57cd6",
      "parents": [
        "a1270b044b4cc3447cb5b47af55a21638599475c"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Nov 21 16:49:07 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Nov 26 11:34:01 2018 -0800"
      },
      "message": "stagefright cmd: add HEVC mime type\n\nTest: m stagefright\nChange-Id: I9830005b56a9b1fc6396df5caebb14008ea72810\nMerged-In: I9830005b56a9b1fc6396df5caebb14008ea72810\n"
    },
    {
      "commit": "1b848c068aab4d7f0ee74b76afe879d511e72229",
      "tree": "ee5d8ca153f664bd39a67bc0352e0807371d9d54",
      "parents": [
        "2cb14b89bdf0a53e7e1e51fa8fbd94e4dc9d20c3"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Nov 21 16:49:07 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Nov 26 11:32:03 2018 -0800"
      },
      "message": "stagefright cmd: add HEVC mime type\n\nTest: m stagefright\nChange-Id: I9830005b56a9b1fc6396df5caebb14008ea72810\n"
    },
    {
      "commit": "36824249a0ef8ef6f7ef6f6db77e8409c2fa964e",
      "tree": "972e7e1c3a2a334393c055a1986c9208844f60bd",
      "parents": [
        "69c9844bed34c367224d5f6219e8410664b2119b"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Nov 05 10:29:55 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Nov 05 11:08:00 2018 -0800"
      },
      "message": "Verify non-null format when starting AudioPlayer\n\ncheck getFormat() return before dereferencing the pointer.  Also fix\nstagefright test harness to check AudioPlayer::start() return value\n\nBug: 118620871\nTest: poc\nChange-Id: I5864d3a12c77141109d6cbbbe1a688ae88456202\n"
    },
    {
      "commit": "9e103e1ded8907d48209c1004fab81e502c5a120",
      "tree": "6f495eaeece6649aa49694576c5b2d8a4452a66b",
      "parents": [
        "88217d0adfc695eadc41a246631d54eb90d2098a"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Mon Oct 22 12:34:35 2018 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Oct 24 13:37:53 2018 -0700"
      },
      "message": "screenrecord: Disambiguate ALooper\n\nDisambiguate ::ALooper (NDK) from android::ALooper (AV framework).\nFixes compile errors when a header causes ::ALooper to be included.\n\nTest: Builds\nChange-Id: I63c4dd8483f9bc91c4b22e05b9a86637c5f9e549\n"
    },
    {
      "commit": "df57b2a45badcb45597a46b5e9996c817273a084",
      "tree": "6def01c230a6700d7d64d460ed84ce151751659b",
      "parents": [
        "14636a5d9311a5b31274c6da8094e5fbbdccee13",
        "6579b7c23bc70f624a281b602ab032181afdb3b9"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Oct 16 16:28:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 16:28:29 2018 -0700"
      },
      "message": "Merge \"screenrecord: remove using namespace android\" am: 3d5054746e am: 387b0b64c2\nam: 6579b7c23b\n\nChange-Id: I6346d5945697b05b9bea8c50096669169fc5011e\n"
    },
    {
      "commit": "6579b7c23bc70f624a281b602ab032181afdb3b9",
      "tree": "ec8fe52a4faa3341645e323afa9b388f73e3ecd6",
      "parents": [
        "ab81ae6c42c7605020be60f9387154a0e9b1906a",
        "387b0b64c245d66b55ac33db4b551b612bdda4ed"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Oct 16 16:15:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 16:15:54 2018 -0700"
      },
      "message": "Merge \"screenrecord: remove using namespace android\" am: 3d5054746e\nam: 387b0b64c2\n\nChange-Id: I7938039dce96ec7275518c8c878f588f94d72a4c\n"
    },
    {
      "commit": "3d5054746e5bae84105ab4132419602e65c620c8",
      "tree": "209a8915a3197650b9734197a679dec12d563411",
      "parents": [
        "f5b1d442c7e2bf4de3ba0378af29585a5adcdc93",
        "c076297e45db6c1dbdccb98a59b27001d478a7d7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 16 22:42:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 16 22:42:58 2018 +0000"
      },
      "message": "Merge \"screenrecord: remove using namespace android\""
    },
    {
      "commit": "87653da51febf0b3be01c742c5d2b6728b496ffa",
      "tree": "27df5d3d9cc3b23e65f3fd917e75e30c8dca1f89",
      "parents": [
        "f441367a5fde9d08788797c4daccd717ce1a7609",
        "35b30994727e48988274c6623c921a88634376cd"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 17:15:30 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 17:15:30 2018 -0700"
      },
      "message": "Merge \"Suppress implicit-fallthrough warnings in stagefright.\" am: 70f03120d7 am: fd38163d8b\nam: 35b3099472\n\nChange-Id: Ib35c96989eb80b612e2cd7a6a8798ed6db393ced\n"
    },
    {
      "commit": "35b30994727e48988274c6623c921a88634376cd",
      "tree": "c0357763600ff733acb8a3a485b78392685e4f71",
      "parents": [
        "c55c3de6e2af7d283130118688f68a856245b852",
        "fd38163d8b1d1e2a2c7d8a696ed8ad4d2899ab16"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 16:10:03 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 16:10:03 2018 -0700"
      },
      "message": "Merge \"Suppress implicit-fallthrough warnings in stagefright.\" am: 70f03120d7\nam: fd38163d8b\n\nChange-Id: I0b2482ce7ac9fa7132837d811c264e62dbbfc0d6\n"
    },
    {
      "commit": "7994454b6f3fb6b19905062af9ed8ddfbebbe65b",
      "tree": "d05a5d8ba8aa8bcf1d64bac65c40d2440633ddfc",
      "parents": [
        "3d514b76343437a6277a777e20ff13a15b0c8f1b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 13 13:46:20 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 20:33:12 2018 +0000"
      },
      "message": "Suppress implicit-fallthrough warnings in stagefright.\n\nAdd FALLTHROUGH_INTENDED for clang compiler.\n\nBug: 112564944\nTest: build with global -Wimplicit-fallthrough.\nChange-Id: Ifba4afb0d332fc7d8f57486d09b7b8e6b763293c\n"
    },
    {
      "commit": "c076297e45db6c1dbdccb98a59b27001d478a7d7",
      "tree": "6705bb61556a12d10d40f93985f2b9dfb70a3fa2",
      "parents": [
        "f001740a65799b66ae5bf46e55a4a8f5fe58f641"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Sep 25 23:40:06 2018 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Sep 25 23:40:06 2018 -0700"
      },
      "message": "screenrecord: remove using namespace android\n\nTest: m screenrecord\nChange-Id: I236897b619f77bad3445df0f908be22724bf62b6\n"
    },
    {
      "commit": "b1040c5f1a18b1f77775ffbb2810b2450c2950bc",
      "tree": "5810b4e90b0ccf6f926eb539b7f7d4edd32067a0",
      "parents": [
        "84b25f1fb9f0c42a4bbda0538c8527e89cd3b79d"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Thu Aug 23 17:02:04 2018 -0700"
      },
      "committer": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Thu Aug 23 17:13:47 2018 -0700"
      },
      "message": "Let screenrecord to use viewport in DisplayInfo\n\nBug: b/113041831\nTest: adb shell screenrecord in all screen rotation and DPIs\nChange-Id: Ic6bbc233bfbc502b6272c5b4ee991282b055bc77\n"
    },
    {
      "commit": "8d34df7a69bde39404503afa1e247368458c9371",
      "tree": "122afa1d2633cee8b5537962e08947e3780013ba",
      "parents": [
        "a11eb695cac183c629cab536d101e6667343992b",
        "a70beb16195266900997f2f376d2f28017cd45a4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 23 16:10:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 23 16:10:35 2018 +0000"
      },
      "message": "Merge \"Move MediaExtractor back to libstagefright\""
    },
    {
      "commit": "a70beb16195266900997f2f376d2f28017cd45a4",
      "tree": "ba0716f8eb0e1210e663bd48242c2b56deeee401",
      "parents": [
        "9985754cabf9d426bf95e3adfc27cea7fcc86e42"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jul 17 14:10:03 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 23 08:10:30 2018 -0700"
      },
      "message": "Move MediaExtractor back to libstagefright\n\nIt is no longer needed in libmediaextractor, and moving it back\nto libstagefright will avoid a circular dependency later.\n\nBug: 111407253\nTest: build, boot, play some files\n\nChange-Id: I1373a9eedee27998e7733ea23ae1a375e45cc9c3\n"
    },
    {
      "commit": "685dd472a9880631e97bd5f88d278da8cd9710e8",
      "tree": "4ec7eeab1709c01bdc895b2c6652b24f6f750968",
      "parents": [
        "05435244e8c93c2fcf9ea6aefdc09854c7798e73"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Tue Aug 21 15:13:36 2018 -0700"
      },
      "committer": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Tue Aug 21 17:43:22 2018 -0700"
      },
      "message": "Get screenrecord to exclude black cutout\n\nBug: b/112869712\nTest: adb shell screenrecord\nChange-Id: I69b497b81cfca93a8ad9ed46f25cdbb5dda81a89\n"
    },
    {
      "commit": "5d2ca663c2144548f4236060732fe07eec6a0273",
      "tree": "95b6d4d66b3ede7d3d987ae483e2b518b6168bbf",
      "parents": [
        "3e49917579411b540b770d0edf3987944fb443da"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Tue Aug 21 15:13:36 2018 -0700"
      },
      "committer": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Tue Aug 21 17:40:20 2018 -0700"
      },
      "message": "Get screenrecord to exclude black cutout\n\nBug: b/112869712\nTest: adb shell screenrecord\nChange-Id: I69b497b81cfca93a8ad9ed46f25cdbb5dda81a89\nMerged-In: I69b497b81cfca93a8ad9ed46f25cdbb5dda81a89\n"
    },
    {
      "commit": "68e6fe1fef7c638805afdbe7f95b2f505ebe50ba",
      "tree": "3b727fcb6998c3e066a4634cad16f92ae6f2d626",
      "parents": [
        "7f1732ee0d2c0571f8a00cd6ccbaa74cf8dd260c"
      ],
      "author": {
        "name": "Previr Rangroo",
        "email": "prang@dolby.com",
        "time": "Thu Nov 30 20:02:13 2017 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Aug 02 12:15:23 2018 -0700"
      },
      "message": "Add EAC3 support to MediaExtractor\n\nReport EAC3 mime, sample-rate and channel count\nfor MPEG4 and TS.\n\nThis commit supersedes the commit on  p-fs-release  branch.\nhttps://partner-android-review.googlesource.com/c/platform/frameworks/av/+/1057810\n\nChange-Id: I9e14d821b5e78a03028bc52d8ee838c23859e9e9\nSigned-off-by: Previr Rangroo \u003cprang@dolby.com\u003e\n"
    },
    {
      "commit": "4a6dea91426d9a5d8c3be8acd8d6d450a8478d6f",
      "tree": "b79640e107eb14a13646ba3226e4b70f8f551d9c",
      "parents": [
        "febb45a8e25add67c44b24a7d69dd575f58e7867"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 13 10:32:44 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 13 10:32:44 2018 -0700"
      },
      "message": "Support verbose mode for regular decoding\n\nChange-Id: I90ed292e7879a78491e2f62b7ee92906496e8fc7\n"
    },
    {
      "commit": "7fa505e059904323cde05b903b0eeab763162323",
      "tree": "39992c11ab4b00b1638a66c0b6c79284fec8626f",
      "parents": [
        "80182df39aedd2cd2b589e289e9196f524b9436d",
        "7e6ac73f9cc1d78760f73fee2c55d0a3a3a19881"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 10 19:54:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 10 19:54:51 2018 +0000"
      },
      "message": "Merge \"stagefright: Add AC4 support in MediaExtractor for MP4/TS\""
    },
    {
      "commit": "fffc153839e9a7fc6ac222849ec89dc64d121397",
      "tree": "92e6368af258ad06133929744907a9efd49e995b",
      "parents": [
        "c22b754fa944017c5d4c5ca58a077fdf89842947"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 25 15:23:31 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 25 22:41:33 2018 +0000"
      },
      "message": "Add verbose option to stagefright command\n\nCurrently this prints out the format of each buffer being read from\nthe input during \u0027dump\u0027 operation.\n\nChange-Id: I44e59b96bfb07181d03903dab30c1b65f5eb6fcd\n"
    },
    {
      "commit": "ecd3616e7bcf083825b8fabc9e32224c1768776d",
      "tree": "4efa37e3fe6974d5b4ca383279fdde221ec1a968",
      "parents": [
        "a0d382085046ed3b3bea256fbe13051528596418"
      ],
      "author": {
        "name": "Umang Saini",
        "email": "umang.saini@ittiam.com",
        "time": "Fri Mar 30 16:43:26 2018 +0530"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jun 19 10:54:37 2018 -0700"
      },
      "message": "codec2: add support for webm and 3gpp output format\n\nTest: setprop debug.stagefright.ccodec yes\nTest: screenrecord --mime-type video/x-vnd.on2.vp8 --codec-name c2.google.vp8.encoder --output-format webm /sdcard/record.webm\nTest: screenrecord --mime-type video/x-vnd.on2.vp9 --codec-name c2.google.vp9.encoder --output-format webm /sdcard/record.webm\nTest: screenrecord --size 176x144 --mime-type video/3gpp --codec-name c2.google.h263.encoder  --output-format 3gpp /sdcard/record.3gpp\nChange-Id: I2c017a231a0f76a03aff0758c57441275c7bd6d5\n"
    },
    {
      "commit": "a6c74249698e891cad02e9ba1ca577760537da65",
      "tree": "9b537504303251deac186b2fcc8482f76271eb01",
      "parents": [
        "7e7131e9d5352d5320324dd2d1312d2cb71006ce",
        "2b008376098a2b48ed579ccb1cba4d8659c47791"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri May 25 09:53:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 25 09:53:36 2018 -0700"
      },
      "message": "Merge \"screenrecord: ignore SIGPIPE\" into pi-dev am: 9c2b764df6\nam: 2b00837609\n\nChange-Id: Ia00ae07562e34c29cccaf67727cea6693f6968bf\n"
    },
    {
      "commit": "e21db1a878294b7a620a9b99931131d7dc0f6614",
      "tree": "a937f64f5f8c80db19d26509f8c3a3a326365eb5",
      "parents": [
        "dddee5810b848bc7090e7e687cbedcd7beafeb18"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed May 23 20:46:51 2018 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu May 24 11:09:01 2018 -0700"
      },
      "message": "screenrecord: ignore SIGPIPE\n\nBug: 74441592\nTest: screenrecord --verbose /sdcard/record.mp4\nChange-Id: Icabfc8d8cb3c1541d3727545687bec6ac5404deb\n"
    },
    {
      "commit": "f4b5b3a9bfe50e7d44272a81b91b2eabf8b579da",
      "tree": "c734763835b14bcc47575dab3e0759ec0386b479",
      "parents": [
        "5c3c29e53490558a8e538044921daa263df22414",
        "173ede0bb1d2b1ab7fb47f7e6474d91cc95d76d1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 13:17:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 13:17:01 2018 -0700"
      },
      "message": "Merge \"Remove one redundant frame copy in MetadataRetriever\" into pi-dev am: b0d44131e9\nam: 173ede0bb1\n\nChange-Id: I67458f38c9e1f798d662c7faf37f54e6ae84ea2a\n"
    },
    {
      "commit": "3f4e6ddcf05aa1a286bc3963b5a9f53bf30b4327",
      "tree": "afb38add9c3818f5039a7d1b21fe65bd2b3e53a3",
      "parents": [
        "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 24 16:12:57 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 11:58:49 2018 -0700"
      },
      "message": "Remove one redundant frame copy in MetadataRetriever\n\nWhen extracting bitmaps, MediaMetadataRetriever does a copy from\nStagefrightMetadataRetriever\u0027s VideoFrame to IMemory. We could\njust allocate IMemory directly and return that to the client.\n\nbug: 78475896\nChange-Id: Ibe07e7d2c68f031261470308476089c2fa9298ea\n"
    },
    {
      "commit": "7e6ac73f9cc1d78760f73fee2c55d0a3a3a19881",
      "tree": "a383debaed6ad42e44db54de83745f81885b5cbe",
      "parents": [
        "238692c12e512f367d3cf99bfc3f5405ca56d0c4"
      ],
      "author": {
        "name": "Previr Rangroo",
        "email": "prang@dolby.com",
        "time": "Mon Nov 13 20:20:20 2017 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Apr 11 22:03:51 2018 +0000"
      },
      "message": "stagefright: Add AC4 support in MediaExtractor for MP4/TS\n\n* Add AC4 mime type\n\n* Add AC-4 support to TS extractor\n** Extract PES private data and AC4 descriptor.\n** Dequeue and parse AC-4 access unit and sync frame\n** Validate AC4 elementary stream header and parse sampling rate.\n\n*  Add AC-4 support to MPEG4Extractor\n** Parse AC-4 sample entry in MP4 and set AC-4 MIME\n** Add AC-4 sync header to MPEG4 encapsulated AC-4 raw frame\n\n*  Add AC4 DSI Parser\n** In order to populate the AudioPresentation objects we need to\n   extract the AC4 presentation information from the dsi that is\n   written to the MPEG4 file during muxing.\n\nChange-Id: If84c24ca475cabf3e0d2bdf3e4850aeeb185a0de\nSigned-off-by: Previr Rangroo \u003cprang@dolby.com\u003e\n"
    },
    {
      "commit": "d3ac20b4257530c74878e514e948eec74c96db24",
      "tree": "ff5a09343ace35c24ade22c2fee1d0e6b9e30dfa",
      "parents": [
        "f4b7851d822339d3c796b046a3eeff07de542dc7"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Apr 06 13:31:01 2018 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Apr 06 13:31:01 2018 -0700"
      },
      "message": "stagefright: Move NULL check\n\nWe switch our NULL check to before we dereference \u0027buffer\u0027 for\nthe range_length().  This allows a debug build with a bad state\nto have things caught via CHECK instead of a crash.\n\nTest: Treehugger\nChange-Id: Iae3a6a9e90ec91962dc0e9bebcac075cf1d7d4c1\n"
    },
    {
      "commit": "3d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0",
      "tree": "4e73f99782f61c1d3d76767b9e03e2aae7ea6130",
      "parents": [
        "13cb23855c3b5242818725262d8822dd4f9be24e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 16 08:24:08 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 23 10:04:34 2018 -0800"
      },
      "message": "Remove RefBase from the extractor API\n\n- Add MetaDataBase base class that MetaData derives from, but which\n  does not derive from RefBase.\n- MediaBuffer::meta_data() now returns a MetaDataBase\u0026 rather than an\n  sp\u003cMetaData\u003e\n- Rename MediaSourceBase to MediaTrack.\n- MediaSource no longer derives from MediaSourceBase (or MediaTrack)\n- MediaTrack::getFormat(), MediaExtractor::getTrackMetaData() and\n  MediaExtractor::getMetaData() all take a MetaDataBase\u0026 parameter that\n  they fill out, rather than returning a MetaData directly (the\n  corresponding methods on MediaSource and RemoteMediaExtractor continue\n  to return MetaData)\n\nBug: 67908544\nTest: CTS MediaPlayerTest, DecoderTest, EncodeDecodeTest, manually record video\n\nChange-Id: Ib531ab309061290be33d40d6100c9a8127e22083\n"
    },
    {
      "commit": "1889c3edad32995c0cf26ae2248fe7c957b7ec84",
      "tree": "5a4bd7fec36d039f75d04124b46d6295ac65e200",
      "parents": [
        "405b3c70ccf6c6671fbbe72557a8493e4e0f6097"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Feb 01 13:44:57 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 12 23:59:34 2018 -0800"
      },
      "message": "Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.\n\nMediaBuffer class exposes internal classes, ABuffer and IMemory, which\nwe don\u0027t want to expose to plugins. This change introduces\nMediaBufferBase which does not expose any classes from system library.\n\nTest: build and post-submit media cts tests\nBug: 67908556\nChange-Id: Ic9ee239caf9b84b2b3740e2d533257afa25c8784\n"
    },
    {
      "commit": "dc31017ea51ee7ba0db2068f82305eb86e2967a2",
      "tree": "074f4820862e6407c5b839848bd6e06083547ecb",
      "parents": [
        "0fa28dcc1198d14b6bf34fb673c5603d225bcba5"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Jan 30 16:51:07 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Feb 06 14:17:12 2018 -0800"
      },
      "message": "CCodec: Episode VI --- Set Persistent Surface\n\n- Implement CCodec::setInputSurface().\n- Introduce InputSurfaceWrapper to handle both IInputSurface and\n  IGraphicBufferProducer.\n- Create C2OMXNode to wrap codec 2.0 component in IOMXNode, so that\n  it can be used in IGraphicBufferPrdoucer::configure().\n\nTest: setprop debug.stagefright.ccodec yes\nTest: screenrecord --codec-name c2.google.avc.encoder /sdcard/record.mp4\nTest: screenrecord --persistent-surface --codec-name c2.google.avc.encoder /sdcard/record.mp4\nChange-Id: I7ea9f150ae06996f03a78645d6e748d265b975df\n"
    },
    {
      "commit": "7dc218e17800cc3ac95551e3280820f407adf7b5",
      "tree": "5b1bb688016d28275880b5953617cec84d12fafa",
      "parents": [
        "0f826b3e28c1e917f5ba94af6eb6f2ef87661a15"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 29 08:59:33 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 31 00:08:48 2018 +0000"
      },
      "message": "Move MetaData from foundation to libmediaextractor\n\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg\nChange-Id: I2c5e05f83f039813cb4c862e929315e623d5d7fa\nCtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\nBug: 67908544\n"
    },
    {
      "commit": "3184abdd4f164cbc66221818db1243399d20cfa0",
      "tree": "4af874cf9d773107cf87323d33d895a4e23b96c0",
      "parents": [
        "c0f23e945006996262cb263b5b719587964df353"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Jan 22 19:30:38 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jan 24 12:40:58 2018 -0800"
      },
      "message": "CCodec: Episode III --- Video Encoding\n\n- Implement createInputSurface()\n- Handle RGB format in C2AllocatorGralloc\n- Define picture type mask and handle it\n- Process onWorkDone_nb() callbacks in a separate thread\n- Add an unofficial option to take component name directly in screenrecord\n- Force array mode for allocation latency; to be removed once proper\n  buffer pool is in place.\n\nTest: setprop debug.stagefright.ccodec yes\nTest: stagefright -S -N c2.google.avc.decoder /sdcard/a.mp4\nChange-Id: Iba225350e2eb2a1e6f4d45a02628d0f7ba188df3\n"
    },
    {
      "commit": "ab7429b4cec5e619f0ed77d13363da4167212874",
      "tree": "0422b04eca116f462e5b29345934cbd8a0bec9d3",
      "parents": [
        "1c838c481692c45b96786dcdd520296b73a71809",
        "74065036f03cb9f96acb43c6e4f105ec91132395"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 23 19:17:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 19:17:44 2018 +0000"
      },
      "message": "Merge \"Remove unnecessary includes and forward declarations\""
    },
    {
      "commit": "74065036f03cb9f96acb43c6e4f105ec91132395",
      "tree": "d7d742dd47b2ec50224f37dc35899f62c93ab0b5",
      "parents": [
        "da60340a9e5ce64270f1106239b736296f280df4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 23 08:16:29 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 23 08:16:29 2018 -0800"
      },
      "message": "Remove unnecessary includes and forward declarations\n\nBug: 67908544\nTest: build\nChange-Id: I824625940ba562571b16ed21e351ee17807d7d30\n"
    },
    {
      "commit": "20db1647e6062631e93f8040a352950b5960dd8e",
      "tree": "87f5c8ab18390ddbf1670f63d8a29a29d4517929",
      "parents": [
        "2917aa469abba347a1ab1e6fa766d62721182788"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Jan 09 16:24:44 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Jan 19 22:26:46 2018 +0000"
      },
      "message": "codec2: add C2SoftAacEnc\n\nTest: setprop debug.stagefright.ccodec true\nTest: audioloop -N c2.google.aac.encoder -M audio/mp4a-latm\nChange-Id: I1e2df1c4d435d0e6b8f9f1d4caecf883e03bd515\n"
    },
    {
      "commit": "96310bd5caa54a4ced01d3fca684a8f89799fefd",
      "tree": "7168bf81428d866e7105c97391b83137fabf0d74",
      "parents": [
        "9321dc866ea81a90e765c06fe20adec7e163338a"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Dec 12 08:35:15 2017 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jan 10 11:32:27 2018 -0800"
      },
      "message": "CCodec: Episode II --- Prepare For Audio\n\n- Get components from C2ComponentStore\n- Determine type of the stream from C2ComponentInterface\n- Change Codec 2.0 prefix from \"codec2.\" to \"c2.\"\n- Define csd info and handle it\n- Change codec name override flag for stagefright command-line tool\n  from \"-O\" to \"-N\"\n\nTest: setprop debug.stagefright.ccodec true\nTest: stagefright -S -N c2.google.avc.decoder /data/local/tmp/a.mp4\nChange-Id: Id9d60fd086ddcb751e5d8f658ef81bd629c0f4a1\n"
    },
    {
      "commit": "4f87426e12f5f12e0724519e77f8237a6b2d5dac",
      "tree": "04c1d771e5c4f1619fb176e696efb0f3c52b5041",
      "parents": [
        "cc25a713d9c3ea87299324d0f44864e78710020e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Sep 13 10:25:13 2017 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Nov 29 16:48:31 2017 -0800"
      },
      "message": "CCodec: Episode I --- Barely Decoding Video\n\n- Implement CCodec and CCodecBufferChannel: video decoder only\n- Modify stagefright command line tool to take component name\n- Fix C2SoftAvcDec around EOS and flush\n\nBug: 69376489\nTest: setprop debug.stagefright.ccodec true\nTest: stagefright -S -O codec2.google.avc_decoder /data/local/tmp/a.mp4\nChange-Id: I36d5f476099b5c055c0be0244e99bdf9dd28441e\n"
    },
    {
      "commit": "e7b894297aebc24939ddfa632ea3dd2d405d9f93",
      "tree": "9ecbc48782ee462413281ecdf7f5b6b276e96eee",
      "parents": [
        "068fe16a1b8f511046ba787f33605c0ac64f1ab5"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Nov 16 19:33:39 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Nov 16 23:32:11 2017 -0800"
      },
      "message": "Remove dependency on non-Treble OMX\n\nThis essentially reverts commit ba40190c5e8d9bfe5b814984c6861809fea064bd,\nwhich was made originally for b/69110957.\n\nThe change in addition to reverting is the reordering of calls in\nmain_codecservice.cpp. This CL makes the call to SetUpMinijail() come\nbefore the call to ProcessState::self()-\u003estartThreadPool().\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: make vts -j123 \u0026\u0026 vts-tradefed run commandAndExit vts \\\n--skip-all-system-status-check \\\n--skip-preconditions -m VtsHalMediaOmxV1_0Host \\\n-l INFO\n\nBug: 67990472\nChange-Id: Ic62acf3ae1aa3f9249e5c3ce542fb4f95689704e\n"
    },
    {
      "commit": "ba40190c5e8d9bfe5b814984c6861809fea064bd",
      "tree": "f935c1e123522e1624163278a8b8564c71c9a394",
      "parents": [
        "77a5b891eb2c64246c82d695aac40c5312f0ff3e"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Nov 16 15:38:46 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Nov 16 23:57:36 2017 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Remove unused modules made for non-Treble OMX\"\"\"\n\nThis reverts commit 620e4667dc41e17e365615fda4507fa9f7267ca0, which was\nmade originally for b/67990472.\n\nBug: 69110957\n"
    },
    {
      "commit": "25a0160e3dfa126266cbe5d8e05c003798276a70",
      "tree": "7ac92c9e53ad197b928304ab34c9371a77468ce4",
      "parents": [
        "94d28be1805800764701225fcae696aa11dab93e",
        "620e4667dc41e17e365615fda4507fa9f7267ca0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 09 01:16:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 09 01:16:14 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Remove unused modules made for non-Treble OMX\"\"\""
    },
    {
      "commit": "8568cb93fc862312923b514b7f4052b9e67bd8ad",
      "tree": "b177247be333681954856c885b396bdfde3fb694",
      "parents": [
        "248c9ee9de29ec6177c39921492661edaee06382"
      ],
      "author": {
        "name": "Jae Shin",
        "email": "jaeshin@google.com",
        "time": "Mon Oct 30 11:13:36 2017 +0900"
      },
      "committer": {
        "name": "Jae Shin",
        "email": "jaeshin@google.com",
        "time": "Tue Nov 07 02:54:04 2017 +0000"
      },
      "message": "Remove libmedia_omx_defaults from libmedia\n\nlibmedia_omx_defaults includes source files and this default was\nused in both libmedia.so and libmedia_omx.so. This is an issue because\nlibmedia_omx and libmedia are both loaded in the framework process\nthrough dependency chains such as libstagefright -\u003e\nlibstagefright_omx_utils -\u003e libmedia_omx.\n\nTo fix the issue, libmedia_omx_defaults is removed from libmedia and\nlibmedia now depends on libmedia_omx. Other modules/libs that originally\ndepended on libmedia and need access to libmedia_omx_defaults\u0027 source\nfiles, now depend on libmedia_omx as well.\n\nBug: 67871061\nTest: mma -j and boot test\nChange-Id: I93a10df1fed3c7cea93b580d00f33ba749d80e95\n"
    },
    {
      "commit": "620e4667dc41e17e365615fda4507fa9f7267ca0",
      "tree": "bbeb8927781dba36cea9dd200e9be4f4279ef55e",
      "parents": [
        "ef9fc7792d4995da68cb71a3e9f2304e565a016d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Oct 27 00:12:47 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Oct 31 17:15:15 2017 -0700"
      },
      "message": "Revert \"Revert \"Remove unused modules made for non-Treble OMX\"\"\n\nThis reverts commit 85e88d9b45d4a9b0b012f81ac068d216f588caac.\n\nAlso, this fixes the crash that would happen on devices that do not have\nfull Treble enabled.\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: make vts -j123 \u0026\u0026 vts-tradefed run commandAndExit vts \\\n--skip-all-system-status-check \\\n--skip-preconditions -m VtsHalMediaOmxV1_0Host \\\n-l INFO\n\nBug: 68340092\nBug: 67990472\nChange-Id: I6d96cecb8eaa8691c4c0f15fe0c8e60d0c74b440\n"
    },
    {
      "commit": "85e88d9b45d4a9b0b012f81ac068d216f588caac",
      "tree": "1eb2868ab206357f4707667eb5def5106bbc04d4",
      "parents": [
        "442459bca04f95ef2acd34e3de01f55bd5ede132"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 26 16:16:55 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 26 16:17:25 2017 -0700"
      },
      "message": "Revert \"Remove unused modules made for non-Treble OMX\"\n\nThis reverts commit 37c79ffe2fa52a1eaa4db74b5e15c6d41646efbf\n\nBug: 68340092\nTest: revert\nChange-Id: If7736b745f981105bed4ffda2e63691d8862d259\n"
    },
    {
      "commit": "37c79ffe2fa52a1eaa4db74b5e15c6d41646efbf",
      "tree": "47f71622b0928c1c9b2ded9e739b4fb06913662c",
      "parents": [
        "7f5b7818ff6e6bd973c510a1f41dd8c308f51db1"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Oct 21 05:31:38 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Oct 24 16:13:38 2017 -0700"
      },
      "message": "Remove unused modules made for non-Treble OMX\n\nAll devices should use Treble with OMX hals now.\n\nThis CL removes\n1. Non-Treble implementations of OMX and OMXStore\n2. MediaCodecService\n3. All dependencies on sysprop system.persist.treble_omx\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: make vts -j123 \u0026\u0026 vts-tradefed run commandAndExit vts \\\n--skip-all-system-status-check \\\n--skip-preconditions -m VtsHalMediaOmxV1_0Host \\\n-l INFO\n\nBug: 67990472\nChange-Id: I245ecf89d30d532f232e05e362e1cea76f5c37de\n"
    },
    {
      "commit": "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3",
      "tree": "4a3b6fb269ae76af3c0567cc1d57780c17bd2c30",
      "parents": [
        "04ce1be860b40e18ca7f5fdf64ecb82567d7fe24"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 10 00:07:09 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 13:43:59 2017 -0700"
      },
      "message": "Remove libmedia and libstagefright dependency from extractors\n\n- MediaSource, DataSource and MediaExtractor are moved to\n  libmediaextractor so that they can be used by extractor\n  implementations without depending on libmedia and libstagefright.\n- XXXFactory classes has been added in order not to expose CreateXXX\n  methods in libmediaextractor.\n- avc_utils is moved to libstagefright_foundation since most of\n  extractor implementations are relying on that.\n\nTest: build + post submit media CTS tests\nBug: 65851881\nChange-Id: I7d5cf18dd25abc10478ac3f6e7d1828ad023e3fb\n"
    },
    {
      "commit": "116c7922f7d595fe0ad9d8a6a313ee206c0117f5",
      "tree": "3012665abc303919ff447a5695f712653b7155eb",
      "parents": [
        "7de1920b41a7c5a6aa466dcd4fffc936193328b1"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Thu Aug 31 15:58:36 2017 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Oct 11 16:00:14 2017 -0700"
      },
      "message": "Track libgui changes\n\nNew SurfaceFlinger API.\n\nTest: Boots\nChange-Id: Icdc53535664fef32ebc937eb2283e96abdefbbc1\n"
    },
    {
      "commit": "8632180c6c3c8ccfe1048c89f848804fb16586c5",
      "tree": "69fcf9f0bc0c245527282f82bf242de4f6a5ec43",
      "parents": [
        "75e61dba572b8d9d4b4e7f720c107ebf10519438",
        "ad68fbe8def82eecb2bac4da853930574e174ef5"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue Sep 26 17:33:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 17:33:32 2017 +0000"
      },
      "message": "Revert \"Make stagefright command available for STS tests.\" am: 4197479539 am: 8dc2a5fdfb am: af93be238f am: 35c28bb88f am: c2b8b3f072 am: 0e4a89e436 am: fbf55f744a am: 830f9a813f\nam: ad68fbe8de\n\nChange-Id: I896ddbe12e065485f13bcc210d1699b9320a975c\n"
    },
    {
      "commit": "ad68fbe8def82eecb2bac4da853930574e174ef5",
      "tree": "4b6bb0c70d79bf013a67cb5fd832493b2bb10434",
      "parents": [
        "2a49d3737412ad62600d71d0c8095bc8c2175345",
        "830f9a813f830ff6568cecf004257340bccef692"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue Sep 26 17:31:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 17:31:32 2017 +0000"
      },
      "message": "Revert \"Make stagefright command available for STS tests.\" am: 4197479539 am: 8dc2a5fdfb am: af93be238f am: 35c28bb88f am: c2b8b3f072 am: 0e4a89e436 am: fbf55f744a\nam: 830f9a813f\n\nChange-Id: Ia4037c659036fa76ce5076981fcc04010a014421\n"
    },
    {
      "commit": "830f9a813f830ff6568cecf004257340bccef692",
      "tree": "04d748289fe0636e299126346dd350d87ee3a13e",
      "parents": [
        "abfe8a64bce4eaeb0f6428cd0c8faf64c279aeb5",
        "fbf55f744a717cb239275eea43bf0343f55aacb6"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue Sep 26 17:29:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 17:29:01 2017 +0000"
      },
      "message": "Revert \"Make stagefright command available for STS tests.\" am: 4197479539 am: 8dc2a5fdfb am: af93be238f am: 35c28bb88f am: c2b8b3f072 am: 0e4a89e436\nam: fbf55f744a\n\nChange-Id: I8e652b5f9933f46d7bb32d138ea975c8e4ac1010\n"
    },
    {
      "commit": "fbf55f744a717cb239275eea43bf0343f55aacb6",
      "tree": "98e36586f95b4c193d3e269c86f1303d433aed0f",
      "parents": [
        "f35ee5186c62d4086d39c4233a2535149ffb7e33",
        "0e4a89e436be1fc249f3d16e63af4d60c62c815d"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue Sep 26 17:27:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 17:27:00 2017 +0000"
      },
      "message": "Revert \"Make stagefright command available for STS tests.\" am: 4197479539 am: 8dc2a5fdfb am: af93be238f am: 35c28bb88f am: c2b8b3f072\nam: 0e4a89e436\n\nChange-Id: I57e3b1d15ffd012e2346fc394d4a701b49ef0754\n"
    },
    {
      "commit": "0e4a89e436be1fc249f3d16e63af4d60c62c815d",
      "tree": "34f6484abb85cfc9b4eed000c1812f1f63be5fdb",
      "parents": [
        "9ab0a4da8540efc952b50dacd69cc43376032337",
        "c2b8b3f072b80e0d8006a2fbcf33c6f15ef7f811"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue Sep 26 17:24:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 17:24:32 2017 +0000"
      },
      "message": "Revert \"Make stagefright command available for STS tests.\" am: 4197479539 am: 8dc2a5fdfb am: af93be238f am: 35c28bb88f\nam: c2b8b3f072\n\nChange-Id: I90cce4197d2537e4821607c9948f07086e51f070\n"
    },
    {
      "commit": "8dc2a5fdfb05be6f5add3ff30eda761ca8d178b3",
      "tree": "b84f31d38b3b1bcd6c696d84fe4e69432eb1b88e",
      "parents": [
        "ef136ff97e79998d4ab7f534de7058866193fb56",
        "41974795396dfb03eda1f5654464e8f738769102"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue Sep 26 17:15:31 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 17:15:31 2017 +0000"
      },
      "message": "Revert \"Make stagefright command available for STS tests.\"\nam: 4197479539\n\nChange-Id: I3fd20c38c33720d6e0824022976fb2db21eb6419\n"
    },
    {
      "commit": "41974795396dfb03eda1f5654464e8f738769102",
      "tree": "a8ce799f1021eb779efb39a108603402d85c38d8",
      "parents": [
        "e286ff463b46ca987562adc9b24d49f1ee191b92"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue Sep 26 17:02:21 2017 +0000"
      },
      "committer": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue Sep 26 17:02:21 2017 +0000"
      },
      "message": "Revert \"Make stagefright command available for STS tests.\"\n\nBug: 66943976\nThis reverts commit e286ff463b46ca987562adc9b24d49f1ee191b92.\n\nChange-Id: I9704307962d86e82baf0215b60fadeaa1cc470df\n"
    },
    {
      "commit": "a4252e456b49b6b1e4e66f6c682008744cd27c95",
      "tree": "157b68f46d0b32b7da8a19c8d2a4e21ad73485c8",
      "parents": [
        "ad764cd0e198a0ede404c53e2da5fd38ecb1e049",
        "1c5189089a56a41609bf1711bf865aa7b89c1858"
      ],
      "author": {
        "name": "Andres Celis",
        "email": "celisa@google.com",
        "time": "Mon Sep 25 22:50:20 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 25 22:50:20 2017 +0000"
      },
      "message": "Make stagefright command available for STS tests. am: e286ff463b am: ef136ff97e am: 80a9c17582 am: 15052a13c1 am: c29da42e23 am: 9ab0a4da85 am: f35ee5186c am: acc2d29e13\nam: 1c5189089a\n\nChange-Id: If83a54b0e84f48b2ba07eb55585197289ae2eddc\n"
    },
    {
      "commit": "1c5189089a56a41609bf1711bf865aa7b89c1858",
      "tree": "1f7acad5f9b9dc55febc0b12f3c182e712d76e0b",
      "parents": [
        "f79de9a284e5685dadc668b04132457bdb1bda05",
        "acc2d29e13d75dbc5cb953adcae1ce340f54a511"
      ],
      "author": {
        "name": "Andres Celis",
        "email": "celisa@google.com",
        "time": "Mon Sep 25 22:43:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 25 22:43:49 2017 +0000"
      },
      "message": "Make stagefright command available for STS tests. am: e286ff463b am: ef136ff97e am: 80a9c17582 am: 15052a13c1 am: c29da42e23 am: 9ab0a4da85 am: f35ee5186c\nam: acc2d29e13\n\nChange-Id: Ia7d1506ef5627401620c298073ea8a91ba505e47\n"
    },
    {
      "commit": "acc2d29e13d75dbc5cb953adcae1ce340f54a511",
      "tree": "77842c3cff7ca8902c983753f801709d5aab600f",
      "parents": [
        "498f828eb0b122247773f41baedaec327fbea7ac",
        "f35ee5186c62d4086d39c4233a2535149ffb7e33"
      ],
      "author": {
        "name": "Andres Celis",
        "email": "celisa@google.com",
        "time": "Mon Sep 25 22:41:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 25 22:41:52 2017 +0000"
      },
      "message": "Make stagefright command available for STS tests. am: e286ff463b am: ef136ff97e am: 80a9c17582 am: 15052a13c1 am: c29da42e23 am: 9ab0a4da85\nam: f35ee5186c\n\nChange-Id: Ib96d4c84f9d8381c483274e636706e20869a650e\n"
    },
    {
      "commit": "f35ee5186c62d4086d39c4233a2535149ffb7e33",
      "tree": "f25d90933822462689b6182570a4769e0f13fe18",
      "parents": [
        "472235afda536ae308d7515fc9a8aefc06341fd7",
        "9ab0a4da8540efc952b50dacd69cc43376032337"
      ],
      "author": {
        "name": "Andres Celis",
        "email": "celisa@google.com",
        "time": "Mon Sep 25 22:39:23 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 25 22:39:23 2017 +0000"
      },
      "message": "Make stagefright command available for STS tests. am: e286ff463b am: ef136ff97e am: 80a9c17582 am: 15052a13c1 am: c29da42e23\nam: 9ab0a4da85\n\nChange-Id: I8f774a856e7137bb0d46548611bd0cb4732c88fd\n"
    }
  ],
  "next": "9ab0a4da8540efc952b50dacd69cc43376032337"
}
