)]}'
{
  "log": [
    {
      "commit": "2e101d1102a6f4c1e51fe89eb177d9e307d7d34e",
      "tree": "0fdc0365c4d5cd177825cef1d29b6e75d8dddd25",
      "parents": [
        "f64a89e91ee1c09b523e42a1a428f660b7a1a52a",
        "8664abd12bf5ee92b6567a3cba4a5b209dafc112"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 20 05:56:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 20 05:56:31 2020 +0000"
      },
      "message": "Merge \"Really fix excessive \u0027trun\u0027 box parsing\" into qt-qpr1-dev am: 01102840bc am: 8664abd12b\n\nChange-Id: Iff1014a2a48de79273c7ad856ed38bf9be7fe8b7\n"
    },
    {
      "commit": "8664abd12bf5ee92b6567a3cba4a5b209dafc112",
      "tree": "27ae0708a7c595a822db51f8f8035fd106cb6363",
      "parents": [
        "3e7ef3c8b29cebf277e01c22a6f8edb396b29205",
        "01102840bc362208e1ec2e8d50e10f460af158f1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 20 05:35:55 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 20 05:35:55 2020 +0000"
      },
      "message": "Merge \"Really fix excessive \u0027trun\u0027 box parsing\" into qt-qpr1-dev am: 01102840bc\n\nChange-Id: I5a90cfbd64c495dd9640b28376e9a917b69d8ff9\n"
    },
    {
      "commit": "7f36d4f56c1761b01d726bd4c6c7bdde1bb971ee",
      "tree": "2d88d55738df39ee6ff613ee4f3d5a2b2a870b8d",
      "parents": [
        "f3d7758ce96b31deacf287915954d422af7d1892",
        "187aabe27c0529cdbc9cf9328dfa9e15eacaeeab"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 06 00:42:50 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 06 00:42:50 2020 +0000"
      },
      "message": "Merge \"ExtractorUnitTest: Add support for random seek in SeekTest\" am: 2ec8ac27df am: 187aabe27c\n\nChange-Id: I5a627c643d15488f43279f90de96a636db38d2f8\n"
    },
    {
      "commit": "2ec8ac27dfd95ce12e208449171d47d358a3ecbe",
      "tree": "94cb71d0bfc6f7bb30a262850f7d432c54ddcade",
      "parents": [
        "43f0d469b52d976cdfc45d761631a35d433c5ec8",
        "e7b947326db5ddf7734a13c7978288a740ef7bb1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 05 22:37:34 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 05 22:37:34 2020 +0000"
      },
      "message": "Merge \"ExtractorUnitTest: Add support for random seek in SeekTest\""
    },
    {
      "commit": "e7b947326db5ddf7734a13c7978288a740ef7bb1",
      "tree": "04b01f6c3d152166806b3590ea76076e0817cc47",
      "parents": [
        "550fef9128badbdd37a7f335d54609f02bc8685a"
      ],
      "author": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Thu Feb 06 18:35:27 2020 +0530"
      },
      "committer": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Wed Feb 26 18:26:25 2020 +0530"
      },
      "message": "ExtractorUnitTest: Add support for random seek in SeekTest\n\nBug: 148948209\n\nTest: ExtractorUnitTest -P /data/local/tmp/extractorRes/\n\nChange-Id: I53c4bf7dd6b734cc68d7c2c122fd9f701f4a17e0\n"
    },
    {
      "commit": "2f081ca5609d0532b0af55bdd6bb9e35879aab4f",
      "tree": "112288edef521cf5683b500db295463d52ab4fc6",
      "parents": [
        "957d4fde5145db4830a5bc1adf434b2b883a4bcb",
        "62a021be5304af1cf44a0fc28f4e1592e14365a9"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 24 20:05:59 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 24 20:05:59 2020 +0000"
      },
      "message": "Merge \"ExtractorUnitTest: Enable midi tests\" am: 8be9a1bb7c am: 62a021be53\n\nChange-Id: I0412b9e1f6074958d33f57ada0d79d13eab8e1ce\n"
    },
    {
      "commit": "62a021be5304af1cf44a0fc28f4e1592e14365a9",
      "tree": "ecc5b96c22627b37eeb3a39241a938279074718f",
      "parents": [
        "d2ecc6916eb1e447f0d5af52b44bdf60f25aa131",
        "8be9a1bb7c0e7efbe22ef3193eb0b22d519e424b"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 24 19:54:47 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 24 19:54:47 2020 +0000"
      },
      "message": "Merge \"ExtractorUnitTest: Enable midi tests\" am: 8be9a1bb7c\n\nChange-Id: I605523bb6dd29a208a1752f9965eceee8a7f3bfe\n"
    },
    {
      "commit": "ead34f15e6cdf988b7bb7a0047e8763652d0e384",
      "tree": "9a367567ccdad4a8062dff972a6103baaac34d5e",
      "parents": [
        "cb52a18fd16e046702d4cdfdfd6050b9e21bacd9"
      ],
      "author": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Tue Feb 04 10:27:54 2020 +0530"
      },
      "committer": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Mon Feb 24 16:14:11 2020 +0530"
      },
      "message": "ExtractorUnitTest: Enable midi tests\n\nAdd midi file for extract tests\nDisable seek test for midi\n\nBug: 145332185\n\nTest: adb shell /data/local/tmp/ExtractorUnitTest -P /data/local/tmp/extractorRes/\n\nChange-Id: I2c910fe29940e0a61b1689595abe8065f260d648\n"
    },
    {
      "commit": "0f9b8b3328ebd4986b2b7907d256ef973fcf7d34",
      "tree": "25e8f60c5d27b65d0321d415ec8416d044736f5c",
      "parents": [
        "58cc8f2c0254f03d66a28ae1cf0809c171d4ac7d"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Apr 23 12:51:51 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Feb 13 21:49:02 2020 +0000"
      },
      "message": "Really fix excessive \u0027trun\u0027 box parsing\n\nmarks video tracks with excessive trun boxes filled with defaults as invalid.\nhandles overflow in the constructed vector of samples.\n\nBug: 124389881\nTest: poc\nChange-Id: If89c912d73340e41fd8ea81d74595a56987c961d\n(cherry picked from commit 6707df1fea60bd7147262f7d7b2f1cece1687004)\n"
    },
    {
      "commit": "ab2774489795f99a1bc97e5be0815fe978ee443c",
      "tree": "a35179a94f8be187d9b6a96956b157221aed1801",
      "parents": [
        "835cd9974815d3377ab28a3d9213a0680f6b4824",
        "7c67c79fff14cf28a19fda1bfb532804759f85fe"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 12 19:30:52 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 12 19:30:52 2020 +0000"
      },
      "message": "Delete an uninitialized object in AACExtractor am: 7c67c79fff\n\nChange-Id: Icf02882dbe993e9ef4aab9b921bc599d1a76f35f\n"
    },
    {
      "commit": "7c67c79fff14cf28a19fda1bfb532804759f85fe",
      "tree": "bda38558518cb9acd455f544cf217d4d7f182d94",
      "parents": [
        "4a677fbb96166a78c38e74f6374a5a3a2ca1ec77"
      ],
      "author": {
        "name": "Chuangjie Xia",
        "email": "chuangjie.xia@mediatek.com",
        "time": "Wed Oct 09 13:55:16 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 11 19:58:47 2020 +0000"
      },
      "message": "Delete an uninitialized object in AACExtractor\n\nDue to some reason, for example bad file, readAt header fails\nin AACExtractor(...) and the variable mMeta is not initialized.\nThen exception happens when to delete mMeta in ~AMRExtractor().\n\nBug: 142630125\nTest: MTBF test and make sure\n      no assertion in AMediaFormat_delete(mMeta) of ~AACExtractor()\nChange-Id: Ie04989f20170391961c8a6d12e1882262be18d7f\n"
    },
    {
      "commit": "d2b3b9e75f5eb32a24264b8cb9e4adce9011100d",
      "tree": "bd15e44220345fbaac15f8bcd1ffa2dc68aad470",
      "parents": [
        "8851e2b817b393aec03afe3dcbd7c5d2c941766d",
        "483a256a4d336ae0203c77ce666972a98755d646"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 10 01:31:53 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 10 01:31:53 2020 +0000"
      },
      "message": "Merge \"ExtractorUnitTest: Added AndroidTest.xml to run test with atest\" am: f44b0fd7b7 am: 483a256a4d\n\nChange-Id: I941e688dabaf12f768ac57d10207dfb051db13f0\n"
    },
    {
      "commit": "483a256a4d336ae0203c77ce666972a98755d646",
      "tree": "2fad0e30181a83b418f4a8bfa1f4d127918c59c4",
      "parents": [
        "acf22cd190ef006fea2cb3cdbf4d0e5fc32d195e",
        "f44b0fd7b7e9266628515c91345cd6233a77faed"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 10 01:13:12 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 10 01:13:12 2020 +0000"
      },
      "message": "Merge \"ExtractorUnitTest: Added AndroidTest.xml to run test with atest\" am: f44b0fd7b7\n\nChange-Id: Ia20c31f637337ce63ef9cee4f58eb6daa77ba7a7\n"
    },
    {
      "commit": "913271d255b47c9f48a0cefd4e4c65bc1c584542",
      "tree": "448981a87e9f3292caba3f4a006f5066f0a9c2f3",
      "parents": [
        "bd592dc6d614b44a6895fd354299454372a39dc5"
      ],
      "author": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Wed Feb 05 19:10:24 2020 +0530"
      },
      "committer": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Fri Feb 07 14:35:11 2020 +0530"
      },
      "message": "ExtractorUnitTest: Added AndroidTest.xml to run test with atest\n\nBug: 144480377\n\nTest: atest ExtractorUnitTest -- --enable-module-dynamic-download\u003dtrue\n\nChange-Id: I0a23d669b26c5706d7ba32a6c9c852a65eb38ac1\n"
    },
    {
      "commit": "057c5d3abaac187169e2e735e768787fadee1bf6",
      "tree": "d3d2dd7a609feaf71dac614f7e3fd17d69e235c1",
      "parents": [
        "4817c71fb1008bc4d57b7f6691868b1fb117a047",
        "fe5cd492bf9895da4def021eb915847dbb9d1c90"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 04 22:58:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 04 22:58:14 2020 +0000"
      },
      "message": "Fix native exception caused by memset 0 to NULL pointer am: fe5cd492bf\n\nChange-Id: Idbcfc51557acb403bcae1bacf68bf2ee85dc77cd\n"
    },
    {
      "commit": "fe5cd492bf9895da4def021eb915847dbb9d1c90",
      "tree": "5ecb5ae67a99e72df55b7b54b4b7636808ee49eb",
      "parents": [
        "4cb250e1017b78bc7c98dd14a3b77f2469a6efbb"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Sun Oct 20 12:10:12 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 03 12:50:53 2020 -0800"
      },
      "message": "Fix native exception caused by memset 0 to NULL pointer\n\nWhen memory is not enough, it will fail to allocate mSampleTimeEntries\nand it will return NULL. So memset will set 0 to address 0x00, and\nexception occurs.\n\nBug: 143057966\nTest: this is a seldom issue and we analyze this exception by callstack\nChange-Id: Ia69884a984c8d38e58b325b4043977e6e196e6a2\n"
    },
    {
      "commit": "9d4836695db752d6c39582c07b87663c1f9dcc93",
      "tree": "984604d5245b2aeb8fe5df54a46c2f3a7afda9a0",
      "parents": [
        "a072553e09f2477e364d11e4b22cf38369c8f411",
        "137568eea25e8dc2be7c9b30dda2220dd7afdd42"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Jan 15 15:57:04 2020 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Jan 15 15:57:04 2020 -0800"
      },
      "message": "DO NOT MERGE - Merge qt-qpr1-dev-plus-aosp-without-vendor (6129114) into stage-aosp-master\n\nBug: 146167222\nChange-Id: Ia15908f1dc4a1937cb1b8025194d1239cc9bd8b3\n"
    },
    {
      "commit": "1228e2ad18067ffe3bfa9b56553a49b225fe2723",
      "tree": "d138fdfd19118b850a784c7cbecf650fdf1278a5",
      "parents": [
        "7f9049faf845e1a734eb554857a6bf9c635dff16",
        "a072553e09f2477e364d11e4b22cf38369c8f411"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jan 15 19:38:28 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jan 15 19:38:28 2020 +0000"
      },
      "message": "Merge \"MediaTesting: Add Extractor Unit Test\" am: dd8a4a8a77 am: a072553e09\n\nChange-Id: Iaf716b09cabd2e8ab9621c59bd777b6fb4dfcb63\n"
    },
    {
      "commit": "5cda2c8d669ba26eaad9499ac42504c8b6da7dbf",
      "tree": "7e66518c780931853baf8a79bbc0bcb3f15395f2",
      "parents": [
        "be7e57f8a3b0d78021622bd3e405f98e60d3e138"
      ],
      "author": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Thu Nov 14 17:35:07 2019 +0530"
      },
      "committer": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Wed Jan 08 04:44:39 2020 +0000"
      },
      "message": "MediaTesting: Add Extractor Unit Test\n\nTest: ExtractorUnitTest -P /data/local/tmp/extractor/\n\nBug: 144480377\n\nChange-Id: I5e098ec8954aed1abb0426be42d49107eaf46a9e\n"
    },
    {
      "commit": "6fe0c28f7a5f0662b1af6eb35bf1eaca1159cd55",
      "tree": "7d3e125c97de25e1f71231d94c975eb731831614",
      "parents": [
        "3feba44bdb4be9c90e63219931ec8e3c05146d7b",
        "1bd0d9ec006704488b5da2cfc921667fe396d98a"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jan 06 18:47:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jan 06 18:47:07 2020 +0000"
      },
      "message": "Merge \"Extractors: Enable building static libraries for all extractors\" am: 0bc430a19a am: 1bd0d9ec00\n\nChange-Id: Ibe575af68bf5b2b75f741cadc23fdb48c6a1b245\n"
    },
    {
      "commit": "be7e57f8a3b0d78021622bd3e405f98e60d3e138",
      "tree": "80bc2baa40bd2bdb8966c3e03c82794f941672a6",
      "parents": [
        "097f05bdfb0d53a4f2aabab1561f5d1e422c3ec0"
      ],
      "author": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Fri Nov 22 10:18:54 2019 +0530"
      },
      "committer": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Mon Dec 16 15:15:01 2019 +0530"
      },
      "message": "Extractors: Enable building static libraries for all extractors\n\nCurrent make files builds only shared libraries for extractors\nEnable building static libraries for MediaTesting\n\nTest: builds\n\nBug: 144965408\n\nChange-Id: I4f05cfed60ac19b21aaeab396895b7b94eedee12\n"
    },
    {
      "commit": "47a9b8fbc6ade66e15699c2775e95fafb1eac3c4",
      "tree": "6a7dbcd588f27bd02d63c766e7c5a2b9c4f42c31",
      "parents": [
        "1d8e707a3c713429d1e21349b2c9dacac07b8591",
        "976672fa32e7318d2ccbbb288710119c70d3791b"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 13 21:33:36 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 13 21:33:36 2019 +0000"
      },
      "message": "Fix out of bounds access am: 976672fa32\n\nChange-Id: I95df222798f99c7bf9ca5a6fb24e2597314e0034\n"
    },
    {
      "commit": "976672fa32e7318d2ccbbb288710119c70d3791b",
      "tree": "3421f6671c05f6da4451c906a2571f96619cf10c",
      "parents": [
        "053fe0f226924f287741de7c45e1bb9a9bff8812"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 04 13:05:11 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 13 18:47:02 2019 +0000"
      },
      "message": "Fix out of bounds access\n\nBug: 141173859\nTest: open crafted file\nChange-Id: I753ab682cfd9b4a17c2e35d325b4f8f0a9a24ee2\n"
    },
    {
      "commit": "8f4b9de6164de44ac1ebc8a81caaa1676ce4effa",
      "tree": "5b322bc172253eed9e630f1757dea8bb25af4f0d",
      "parents": [
        "0b165833388dbfd20379ff18ca5a3c4d93a37016",
        "242a925a113c5098aeaad3c75493b8c424aa05c3"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 10 21:02:53 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 10 21:02:53 2019 +0000"
      },
      "message": "validate width*height doesn\u0027t overflow in image file am: 242a925a11\n\nChange-Id: I8101563da94ce456ac5ca7b5ff3d488bdb53c73d\n"
    },
    {
      "commit": "242a925a113c5098aeaad3c75493b8c424aa05c3",
      "tree": "969403eb82e18a9ae98f44a194e91c77889412b1",
      "parents": [
        "deb974f1d9e41b6e2be800026dc50c1ac4415db4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 09 16:38:39 2019 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Dec 10 11:38:58 2019 -0800"
      },
      "message": "validate width*height doesn\u0027t overflow in image file\n\nwidth*heigh*1.5 is used to derive max input buffer size for codecs.\nThis must not overflow.\n\nbug: 145521781\ntest: run \u0027stagefright -s -t /sdcard/poc.heic\u0027 as in the bug,\nstagefright should still fail, but it shouldn\u0027t crash in\nmediaextractor.\n\nChange-Id: I31ab8e150d348f6637d8212780832045d26991a0\n"
    },
    {
      "commit": "05620f5a140fd65b9d3558cfd2fe7f8320f1f38e",
      "tree": "56c3b492369c0f7eacc35e6801079011ae956205",
      "parents": [
        "f2ecaba1f4b74e65e09d85b18ef2fc0cb3cd9782",
        "502acbeb76e177d0176d2e27df0f54f0cb5128e6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 05 10:49:39 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 05 10:49:39 2019 -0800"
      },
      "message": "Merge changes I8b56e58b,I709db10c,I398f1d86,Ifdc05e6b into qt-aml-media-dev\nam: 502acbeb76\n\nChange-Id: Ie8e9d724dc23811d538700004737187612c2c639\n"
    },
    {
      "commit": "36eacff1a80c02566a84cc4b5156f8c15deb752e",
      "tree": "c2add0ba6c36e47567f3cd7563aa98be1156e254",
      "parents": [
        "77eaee57f0b913401688b4352016c0966dcfde32"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Mon Jun 24 11:12:54 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 31 14:15:56 2019 -0700"
      },
      "message": "Fix native exception occurred when seeking mp4 file\n\nThe sample count of stsz box is not equal to the sample\ncount of stts box. For example, the sample count of stts\nbox is 1502 but the sample count of stsz box is 1503.\n\nBesides, mSampleTimeEntries is not initialized with 0 when\nthe code is built. Therefore, if getSampleTime() function\nis called with index 1502, for example, we use a sample with\nsample count of stsz box to be 1503, the\nmCompositionTime with random value will be used, which\nmight result in a overflow issue.\n\nBug: 136425704\nTest: Seek a mp4 file which causes native exception before\nthis patch, and check if there is no exception\nChange-Id: I8b56e58b5b52e0bbd8e6e92fc0f381006780c3d5\n"
    },
    {
      "commit": "77eaee57f0b913401688b4352016c0966dcfde32",
      "tree": "4c1bd0ce0cd667f6b0053bdd921c4bc84522e255",
      "parents": [
        "833c93ef47f84e38669fcb1e50773519ec7e262e"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Tue Jul 09 09:48:49 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 31 14:15:18 2019 -0700"
      },
      "message": "Fix a noise issue caused by random value of byteOrder\n\nThe value of byteOrder is a random value. If the random\nvalue is 1 and it does not judge whether it gets a big-endian\nkey successfully at the same time, the pcm buffer will be\ntransferred to little-endian, which is not correct and causes\nnoise.\n\nTo fix this problem, we initialize the byteOrder as 0 and\njudge if it gets a big-endian key\n\nBug: 137221067\nTest: play a mp4 file with pcm audio and check if we can play\nit normally\nChange-Id: I709db10ce967909949c13f749869f76b1c6a80bb\n"
    },
    {
      "commit": "833c93ef47f84e38669fcb1e50773519ec7e262e",
      "tree": "968ef6b94a71c80f1ad0ec85e6ba1d0d407e2c1b",
      "parents": [
        "d42aa40c7c9f525e8518760e1e6d91860cd82717"
      ],
      "author": {
        "name": "Chuangjie Xia",
        "email": "chuangjie.xia@mediatek.com",
        "time": "Tue Jul 30 16:41:33 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 31 14:14:35 2019 -0700"
      },
      "message": "Fix exception when delete an uninitialized object\n\nDue to some reason, for example, mediaserver dies, SniffAMR fails and\nthe variable mMeta is not initialized. Then exception happens when\nthe flow deletes mMeta in ~AMRExtractor().\n\nNeed to check whether mMeta is uninitialized before deleting it.\n\nBug: 138694976\nTest: MTBF test\nChange-Id: I398f1d8639a11bf076e51e9d9077a1f2dd89ab52\n"
    },
    {
      "commit": "d42aa40c7c9f525e8518760e1e6d91860cd82717",
      "tree": "925d78b3b402ef72979692b2254e6109c14ad1c7",
      "parents": [
        "9d1cde5604f6704358d5d2eb49a96b54cd29d888"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 08:22:37 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 31 14:13:04 2019 -0700"
      },
      "message": "Fix memory leak in MPEG2PSExtractor\n\nIt wasn\u0027t deleting its tracks and associated buffers.\n\nBug: 141724191\nTest: manual\nChange-Id: Ifdc05e6bf89e4770fd600e82d887921ff03c5b93\n"
    },
    {
      "commit": "6b2859450f91f1cdd8b3ca2435df4dd37907cd8a",
      "tree": "4accc947ac99fa7246f5f7fc54f35b3c960636b1",
      "parents": [
        "35f148bc5a1cb1efffd9aee0223a06720a303329"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 21 14:52:30 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 24 21:25:53 2019 +0000"
      },
      "message": "Remove more header symlinks\n\nTest: build\nBug: 143245419\nChange-Id: I9bb03d54c7792625b73602f2d3721e29f8f929be\n"
    },
    {
      "commit": "10a7553778f7e3ddffdcb1365f8c288459da7a12",
      "tree": "5fb27a389662e29e18cfdb9817cfd304580d6644",
      "parents": [
        "bb3c777e401d10f379835243bfcb2e6b6c678504"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 21 14:02:54 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 10 10:06:53 2019 -0700"
      },
      "message": "Remove unnecessary includes\n\nTest: build\n\nChange-Id: Icf18be5d36a20962870a0d9e6323ab4861e8659a\n"
    },
    {
      "commit": "53f78b65a144bd04f7b007f2a0776658fc4176cc",
      "tree": "3156f6604446132b26261bc163aa241d69f94b57",
      "parents": [
        "9ee56ec1a7ace45b42b65e01fdda98114b5c0833"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 30 13:08:50 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 08 09:41:49 2019 -0700"
      },
      "message": "Clean up libaudioclient includes\n\nTest: build\nChange-Id: I1b2cd96e99564cd3944aa20a36207bd91287f7c8\nMerged-In: I1b2cd96e99564cd3944aa20a36207bd91287f7c8\n"
    },
    {
      "commit": "43bf214df57fc67e5a86a689357edf9e59bebf9c",
      "tree": "3c05b588c50a3ba687391c20f8a99156143245eb",
      "parents": [
        "4f0a23d0dc08aa553389f17ab7e3f89fc6125496"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 08:22:37 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 13:04:30 2019 -0700"
      },
      "message": "Fix memory leak in MPEG2PSExtractor\n\nIt wasn\u0027t deleting its tracks and associated buffers.\n\nBug: 141724191\nTest: manual\nChange-Id: Ifdc05e6bf89e4770fd600e82d887921ff03c5b93\n"
    },
    {
      "commit": "af609f933c95bb7d42939714c6143a0dbf0ee0f8",
      "tree": "ffc78034f12ac9990b23218de3ec0d6e0fec108e",
      "parents": [
        "a43fcd7ed6b1cc8930e2c3d8416b87cb8e9e02e4"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Oct 01 20:16:56 2019 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Oct 01 20:16:56 2019 -0700"
      },
      "message": "Fix comparing int32_t with INT64_MIN\n\nThis is obviously a typo.\n\nFound by Clang tautological-constant-out-of-range-compare warning.\n\nTest: presubmit\nBug: 72331526\nChange-Id: I2cb217282c524bb9fbae899fa5a731b7575e393a\n"
    },
    {
      "commit": "c795e471c1fb2e4fc03cc13ff6d9e3a1e502e3dc",
      "tree": "00ead81ff98ec99245f737e109a3646581275cbf",
      "parents": [
        "dabfdafb81c4b431377ca5b51c0e3a49fef4cb16"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 18 11:06:04 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 18 11:13:08 2019 -0700"
      },
      "message": "Use shared libcrypto\n\nShared libcrypto provides FIPS self tests, use it whenever possible.\n\nBug: 141248879\nTest: m checkbuild\nChange-Id: I811db67a35b321505e50476313384fe51d8154d2\n"
    },
    {
      "commit": "50f9a1320b8dfff8732ca26c73a50b1950f2831e",
      "tree": "7cacdbb552f532b246d85d8a79afa802c5e4d7b7",
      "parents": [
        "8581d92e214f78df21fb789bd5cb9c50a9ca2c4c",
        "a75cd798184169a4effc0f6e454a3a6e7386d4b3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 06 14:51:15 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 06 14:51:15 2019 +0000"
      },
      "message": "Merge \"Cannot play a mov file with alac audio\" into qt-dev"
    },
    {
      "commit": "a75cd798184169a4effc0f6e454a3a6e7386d4b3",
      "tree": "5531077a541d202566406120efbb56b21073679d",
      "parents": [
        "90d1d53862638210d848ddedef2600aae35337d3"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Thu May 30 14:34:57 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 03 20:54:00 2019 +0000"
      },
      "message": "Cannot play a mov file with alac audio\n\nWhen a mov file includes alac audio, the alac codec\ninfo is included under bellow box:\nstsd-\u003ealac-\u003ewave-\u003ealac\n\nThe .mov cannot work with the original code for alac.\nSo we need to handle it by judging if it is a mov file.\n\nBug: 134102659\nTest: Play a mov video with alac audio and check if it\ncan play normally.\n\nChange-Id: Ibadfbd5b4036b220bd6ebf431fd53e4d1a69be8b\n"
    },
    {
      "commit": "d3b761d13563b22de6ad58ad5183a925a022c671",
      "tree": "c3e5718da5d55c159236213253e87c7acd3ff7c8",
      "parents": [
        "35b711dc89f31ab034606a95ce67e3d4629fe38c"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Tue Jan 15 18:41:50 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 03 17:55:09 2019 +0000"
      },
      "message": "Attemp to make mkv\u0027s AAC CSD data if codecprivate is short\n\nSome mkv file\u0027s AAC codecprivate is incomplete, so\nCHECK(codecPrivateSize \u003e\u003d 2) fails and it results in a\nnative exception. Our solution is to make it skip the\ntrack.\n\nBug: 132738230\nTest: Test a mkv file whose AAC codecprivate is short and\ncheck if native exception occurs.\n\nChange-Id: Ia8cdd863df1bd1e7570cc3b509d1d76d52d76be6\n"
    },
    {
      "commit": "98be67ae8950a9805e755e22563fa9bfe9405e90",
      "tree": "789587ee3bcd27fe4dd87a0947ae0c12beebf2d9",
      "parents": [
        "c9992148b495f1a7610c388ae1ccec557d7df547"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Tue May 28 15:49:52 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 31 23:03:02 2019 +0000"
      },
      "message": "Check buffer size after read\n\nEnsure the WAV extractor never outputs a partial sample, which\nwould trigger a CHECK in NuPlayerRenderer:onDrainAudioQueue().\nAlso ensure it never emits a partial frame (e.g. only a left\nsample for a stereo file).\n\nBug: 133824968\nTest: play the corrupted file and there is no NE\nChange-Id: I9143f859c55351e06126e4ad8f33f5752113d7f4\n(cherry picked from commit 8fb6b7e1ff804ddff1a39319575a4c570abd5b3e)\n"
    },
    {
      "commit": "4ae31f36f297d7e3d32c7f30119cb2747443d4cd",
      "tree": "f7505a6bf43c6ecb5a64583eb6ec8b79db4ec7c5",
      "parents": [
        "71cbb9d4e4757033b23a0ba600cba4e279d5c73f"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Thu May 23 14:52:41 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue May 28 11:46:48 2019 -0700"
      },
      "message": "MPEG4Extractor: Overwrite opus version as 1\n\nmp4 Opus Specific box says Version should be 0.\nOpusHead requires this to 1.\n\nMPEG4Extractor now validates that version before\noverwriting it with 1.\n\nBug: 133448278\nTest: Extract an mp4 file with opus track\nTest: Mux the extracted file to ogg\nTest: Extract opus from the muxed ogg file\n\nChange-Id: Iee31eed69ea906b8f34f75f01a4d2c77b3e32077\n"
    },
    {
      "commit": "3aac07ff6b43f32e146ce35a4fad64a5aad6a1eb",
      "tree": "e2508cd5907c3e3c8466bb7347080aa2aff60ab8",
      "parents": [
        "3be0ffbd9d2804e7cfcd425b80c6835d5cc5e7af",
        "ca67e38e7029ed2f6f277fca23210094dcfa3c59"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 22 19:44:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 22 19:44:14 2019 +0000"
      },
      "message": "Merge changes I88f247a2,I7e1daf93 into qt-dev\n\n* changes:\n  MPEG4Extractor: Fix opus CSD size\n  OpusHeader: Fix OOB write in WriteOpusHeaders()\n"
    },
    {
      "commit": "41c42ab9e398b983df013864a739fb14c5d6d94d",
      "tree": "fee49c31af36b39e366df886835bd8285c1bc252",
      "parents": [
        "ded2fd3a3f687b9dce194ecbcc0000d02125776e"
      ],
      "author": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Wed May 15 18:21:37 2019 +0530"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon May 20 11:33:55 2019 -0700"
      },
      "message": "libstagefright: Add support for parsing profile and level from CSD for AV1\n\nAlso set CSD from codecPrivate data in mkv extractor\n\nTest: stagefright /sdcard/av1.mp4\nTest: Manually verified profile present in format string returned by extractor\n\nBug: 132439629\n\nChange-Id: I1683539c3a37c88edd0edcb9f3e073c5ea077372\n"
    },
    {
      "commit": "93cf3dfbf8f3b96dedc4a999ae81d7b7d208d62c",
      "tree": "f003271cf80d0af7b22fa73dc73c95decc3c1158",
      "parents": [
        "efb768921e7566c41b2d01eb0fccdff4d2445445"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Mon May 06 13:53:43 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 16 16:20:02 2019 +0000"
      },
      "message": "Handle mp4 file with abnormal pcm audio playback stuck\n\nWhen we play the mp4 file whose pcm audio\u0027s sample size of stsz box\nis not correct, it will stuck. The root cause is it may take wrong\nbuffer to pcm decoder, and AudioTrack might not be able to play the\ndecoded pcm data and cannot get right timestamp, so video will stuck\nby audio.\n\nBug: 132042434\nTest: test with the mp4 file whose pcm audio sampleSize is abnormal\nand check if the video can be played normally.\nChange-Id: I06c69e43922512f43d996fafcbe8b9c23ce3e7dd\n"
    },
    {
      "commit": "ca67e38e7029ed2f6f277fca23210094dcfa3c59",
      "tree": "038e46dc7e71104d960b9bf249f9c20f26c0764b",
      "parents": [
        "7ec47840797570b34042ba593dc02a39263a978f"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Tue May 14 09:48:28 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed May 15 15:47:50 2019 -0700"
      },
      "message": "MPEG4Extractor: Fix opus CSD size\n\nMPEG4Extractor was signally wrong CSD size for csd-0 in case of opus\nInstead of signally actual CSD size, size of the array used to hold\nthe header was being sent.\n\nBug: 132692852\nTest: Manually verified using AMediaExtractor based test application\nChange-Id: I88f247a24ab09d0a39b32934659705d7bc9d3f7d\n"
    },
    {
      "commit": "00ffd9e0c4cd97529b77248eae5c819a7d3f8a13",
      "tree": "813cb3cfa0f54e57ac124d63096238c398728754",
      "parents": [
        "68f7b18e8edaabf6c6c67b350d3126c11ba590ff",
        "cb7aaf94231fd5d330b949842dac793c527fa339"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sat May 11 04:06:53 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 11 04:06:53 2019 +0000"
      },
      "message": "Merge \"Fix: Send valid frames for Vorbis in MKV\" into qt-dev"
    },
    {
      "commit": "cb7aaf94231fd5d330b949842dac793c527fa339",
      "tree": "edaf2297c11f766427fb7c226f7eb5377ae03b5f",
      "parents": [
        "ef7eaaf8d873e9d832673fd0a8e07371fa47a0a0"
      ],
      "author": {
        "name": "Umang Saini",
        "email": "umang.saini@ittiam.com",
        "time": "Fri May 03 17:12:28 2019 +0530"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri May 10 14:07:23 2019 -0700"
      },
      "message": "Fix: Send valid frames for Vorbis in MKV\n\nBug: 132184674\nTest: atest android.media.cts.DecoderTest#testDecodeOggMkv\nChange-Id: I8e7d74b8f8780b30575195a0c923157a1ce24d16\n"
    },
    {
      "commit": "48aa740fb62459d02b9f23e27205c51d37f971d8",
      "tree": "b3aac7a1c29a5880f801a988b370f14debff93f4",
      "parents": [
        "e905c2f51f94b9832b7b4141b9bf6b9af11c8169",
        "69b6ab33e6883c57523ba2b5f51db61b3005b58f"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu May 09 20:53:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 09 20:53:42 2019 +0000"
      },
      "message": "Merge \"MP4: limit extent_count in iloc box.\" into qt-dev"
    },
    {
      "commit": "e905c2f51f94b9832b7b4141b9bf6b9af11c8169",
      "tree": "bbbe2828a79f7796461952296a8b20207c1e980d",
      "parents": [
        "39659611807c4f979d1c6c8dd4e2c829b3e7846b",
        "714ad81087d53a4bad7a7658d78a04694d6e393b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 09 20:19:56 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 09 20:19:56 2019 +0000"
      },
      "message": "Merge changes from topic \"b129712302\" into qt-dev\n\n* changes:\n  Add Vorbis support in MP4 extractor\n  MPEG4Extractor: read codecDelay from opus header\n"
    },
    {
      "commit": "69b6ab33e6883c57523ba2b5f51db61b3005b58f",
      "tree": "f46d39f01ebf49da0f224323b6592aa1a940bb13",
      "parents": [
        "34a740d5360edd1f0bfd6a13b4d75667f550a512"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed May 08 17:11:39 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed May 08 17:15:17 2019 -0700"
      },
      "message": "MP4: limit extent_count in iloc box.\n\nItemLoc::getLoc() has a CHECK for extents.size() \u003d\u003d 1.\n\nTest: poc \u0026 MediaMetadataRetrieverTest\nBug: 124389881\nChange-Id: Ic45cafb8ce47aea106aabdffeccd031b446579b2\n"
    },
    {
      "commit": "714ad81087d53a4bad7a7658d78a04694d6e393b",
      "tree": "4e46fcfc7784957c4cc8b636353afac87895e22d",
      "parents": [
        "7216cce1a9f3c4cc054840b85fda3cc6a96ecfed"
      ],
      "author": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Tue Apr 23 17:34:55 2019 +0530"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed May 08 13:19:14 2019 -0700"
      },
      "message": "Add Vorbis support in MP4 extractor\n\nTest: stagefright -ao /sdcard/vorbis.mp4\n\nBug: 129712302\n\nChange-Id: I39b0709816a6abc518fb001a82aa297c6ec351e1\n"
    },
    {
      "commit": "7216cce1a9f3c4cc054840b85fda3cc6a96ecfed",
      "tree": "2bb04612d89c038dc6973d927a0bf7f0fc2d7e5c",
      "parents": [
        "ef7eaaf8d873e9d832673fd0a8e07371fa47a0a0"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Mon Apr 29 08:26:46 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed May 08 13:19:11 2019 -0700"
      },
      "message": "MPEG4Extractor: read codecDelay from opus header\n\nInstead of hard coding codecDelay, read it from opus header.\nAlso allow for variable sized opusheader to support multiple channels\n\nBug:129712302\nTest: atest android.media.cts.DecoderTest\nChange-Id: I5e134f688125d275163dfa496acd8133354b5617\n"
    },
    {
      "commit": "eb1b8e4a365a8833ebdaba4975d7b3e610ed709f",
      "tree": "73fa67cc5ba597bdf4a5613c12918453cc16eb4e",
      "parents": [
        "2112c9160ca153717749d4055ae6d8c904d17f8a",
        "8bd93d3cdc95b240f54e95d344887b60bd943791"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri May 03 20:46:04 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 03 20:46:04 2019 +0000"
      },
      "message": "Merge \"Revert \"Install extractors for 1st and 2nd ABIs to the test APEX\"\" into qt-dev"
    },
    {
      "commit": "8bd93d3cdc95b240f54e95d344887b60bd943791",
      "tree": "8a5ef16931d867e1e28c60219f06ff603a476168",
      "parents": [
        "784bfac0b0e32c668aefdae2281e1f1c370c9097"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri May 03 14:58:08 2019 +0000"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri May 03 14:58:08 2019 +0000"
      },
      "message": "Revert \"Install extractors for 1st and 2nd ABIs to the test APEX\"\n\nThis reverts commit 784bfac0b0e32c668aefdae2281e1f1c370c9097.\n\nReason for revert: decided to use device which matches to the test suite.\n\nBug: 131869673, Bug: 125914810\nChange-Id: I5738a5303f3368f63fcd51074ee9b2db7344d518\n"
    },
    {
      "commit": "ab09f6e62122eb6d09a4013cf54de3a2d2805873",
      "tree": "cf0e40d68f490f5307e1e627a1432deb74ffd38e",
      "parents": [
        "93d1b1f3932fbd085ef6eac48ca926c42fa8f26e",
        "784bfac0b0e32c668aefdae2281e1f1c370c9097"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 29 15:26:40 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 29 15:26:40 2019 +0000"
      },
      "message": "Merge \"Install extractors for 1st and 2nd ABIs to the test APEX\" into qt-dev"
    },
    {
      "commit": "f77314d41d13460cbcb4db9001507b8e69f755c4",
      "tree": "10a349f6150847c51cf58ea16aa4af10f0118910",
      "parents": [
        "212ef6cbe0fee15e98c114dac38ebabdf578acb5"
      ],
      "author": {
        "name": "Manisha Jajoo",
        "email": "manisha.jajoo@ittiam.com",
        "time": "Wed Apr 17 17:26:41 2019 +0530"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 26 14:23:28 2019 -0700"
      },
      "message": "Add flac support in MP4 extractor\n\nTest: stagefright -ao flac.mp4\n\nBug: 129712302\n\nChange-Id: I05aad7853a937ff1c13b24058f3406c3d143e9d7\n"
    },
    {
      "commit": "212ef6cbe0fee15e98c114dac38ebabdf578acb5",
      "tree": "1acea38b6e6f70c2a67b4b6ebe090c4c25abb276",
      "parents": [
        "5d50097e73cf043666065da7bd50d659fcfc526b"
      ],
      "author": {
        "name": "Umang Saini",
        "email": "umang.saini@ittiam.com",
        "time": "Wed Apr 17 20:25:07 2019 +0530"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 26 14:23:28 2019 -0700"
      },
      "message": "Add Opus support in MP4 extractor\n\nTest: stagefright -ao /sdcard/opus.mp4\n\nBug: 129712302\n\nChange-Id: I8f7d943e7fa9a7b520974044b458005fab769920\n"
    },
    {
      "commit": "6f471f0c0a19cc2c39ae514baee088e7887fbd37",
      "tree": "12f9daf2fb3c2e1e168405b33f0583bf65313f1d",
      "parents": [
        "5448dc222aa7d9b29a1cb4dc32d3eb07e2e6f60d",
        "e3d0b7f473042d3d85946f6b3530deaf63e4fd02"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 26 15:18:58 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 26 15:18:58 2019 +0000"
      },
      "message": "Merge \"oggextractor: fix duration calculation\" into qt-dev"
    },
    {
      "commit": "e3d0b7f473042d3d85946f6b3530deaf63e4fd02",
      "tree": "c2f429e2be63c05c0feea76db8ccbfd4506631c8",
      "parents": [
        "66ea39290308e4851a5c6fe149e576b7d6249e5f"
      ],
      "author": {
        "name": "Xu",
        "email": "melvin.xu@spreadtrum.com",
        "time": "Wed Feb 13 13:00:10 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 25 21:15:58 2019 +0000"
      },
      "message": "oggextractor: fix duration calculation\n\nBug: 122489262\nTest: CTS, manual\nChange-Id: I1a3f7f7a1ec2dc8bb67ef1d3c15b8a8aae457296\nSigned-off-by: melvin xu melvin.xu@spreadtrum.com\n"
    },
    {
      "commit": "22a123984c7d6d43dbc8dffeb0c59d2e02818415",
      "tree": "ac0ccefa53cce31a380b73b2252372145b4ef2ad",
      "parents": [
        "a66ea4b93b988942828e60a320a469a5a0f3d674"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Fri Jan 18 15:02:33 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 25 16:32:30 2019 +0000"
      },
      "message": "MPEG2TSExtractor: support m2ts container\n\nm2ts is based on the MPEG-2 transport stream container.\nThe standard MPEG2-2 TS 188-byte packet is prefixed with a\n4-byte extra header to a total size of 192 bytes.\n\nThis patch makes MPEG2TSextractor support both\nMPEG-2 transport stream and m2ts.\n\nmts file use the same container as ts file\n\nBug: 123261411\nTest: play m2ts file and check if it\u0027s normal\nChange-Id: I7798a6bf3fcddf064d6bb6e39cd303bf83c3489e\n(cherry picked from commit c1a464670859ecacf6c84aff855e2686fd18302b)\n"
    },
    {
      "commit": "784bfac0b0e32c668aefdae2281e1f1c370c9097",
      "tree": "f68403487088a50b95c337664eeac2ff37cb0163",
      "parents": [
        "e069424fbece0edd7d432d15f0078b6d4d176c1c"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Apr 25 17:42:06 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Apr 25 17:42:06 2019 +0900"
      },
      "message": "Install extractors for 1st and 2nd ABIs to the test APEX\n\nThe test APEX is built with aosp_x86_64 where first ABI is 64-bit.\nBut the test APEX can be installed to 32-bit target like cf_x86_phone.\nThe lack of 32-bit extractor libraries in the 32-bit target can cause\nproblem. So, install both ABIs of the extractor libraries to the test\nAPEX.\n\nBug: 125914810\nTest: choosecombo to aosp_x86_64 and build test_com.android.media\nCheck that the test APEX has both lib and lib64 directories.\n\nChange-Id: Ib073f61838fea0b823c870c8c71b49a7ecc9346e\n"
    },
    {
      "commit": "0682c79f1a65be0af818925f14d9c267fa7e0c8e",
      "tree": "519be86269213003e49f66d5c9bf47a04cc80f18",
      "parents": [
        "ee326db2bbd59b81f1ca5433d9a68b76b2bfe3b4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 23 10:22:14 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 23 21:05:28 2019 +0000"
      },
      "message": "Support arbitrary sampling rate in FLAC\n\nBug: 122491377\nTest: build\nChange-Id: Id7b92480312a8e5dbc214072b7f0e305e27670b0\n"
    },
    {
      "commit": "2f5f0ace276ed69c3a61bb011812cb1bdc3fea40",
      "tree": "ed33d449494d1a8687126b286562dcc67724d07a",
      "parents": [
        "669dda14bd4ae41277a916a7c2e5889fe4dbb17c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 22 15:46:21 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 23 01:09:15 2019 +0000"
      },
      "message": "Don\u0027t read more than the buffer size.\n\nBug: 130593895\nTest: manual\nChange-Id: I54612d14e7cadde1d4a447040dbe9086e970c549\n"
    },
    {
      "commit": "4c7b61e7e26d69133800d4bc4191fa2c34c22926",
      "tree": "a096492d417c44bcdde1356d865a92513ac2c192",
      "parents": [
        "654438952d760d80986270db81d498f1b6e110b4"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Mon Mar 11 19:33:03 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 16 21:57:05 2019 +0000"
      },
      "message": "mkv support more audio codec\n\nmkv support audio codec as bellow:\ncodecID: A_MPEG/L2 (mp2 audio)\ncodecID: A_PCM/INT/LIT and A_PCM/INT/BIG (pcm audio)\ncodecID: A_MS/ACM\nWe can check the supported type in MKVWave2MIME function,\nincluding mp2, mp3, pcm, adpcm.wma\n\nBug: 128470241\nTest: play the files with new supported codecs and check\nif they can be played normally.\n\nChange-Id: Id92303b42ef763d1ce08a3c96265eda69622c79d\n(cherry picked from commit 7f20f58a4b4b38327092954a67ce25dd056d5c82)\n"
    },
    {
      "commit": "210ff1edcb4c68447fd2a08725a60d8dc429cbe3",
      "tree": "7b1bcb4faeca3ccc9d68860a5cda503cb07f37d1",
      "parents": [
        "34e548f91d575296898b39f942f82df89efe412b",
        "6ecd1c5c838f4988f2eadb2e93a3a7b23122374f"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 03 23:25:23 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 23:25:23 2019 +0000"
      },
      "message": "Merge \"mkvCue Entry\u0027s id is wrong\""
    },
    {
      "commit": "6ecd1c5c838f4988f2eadb2e93a3a7b23122374f",
      "tree": "29d1021369d109eac25cc54aa98bbda72b68b739",
      "parents": [
        "ba9a05060f0c0810647f98037dc353fc75e60506"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 03 12:52:01 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 03 20:31:07 2019 +0000"
      },
      "message": "mkvCue Entry\u0027s id is wrong\n\nmkvparser.cc SeekHead::ParseEntry extracts an entry by using:\n(android P) pEntry-\u003eid \u003d readUInt(pReader, pos, len) [yielding 0x0C53BB6B\n(android Q) pEntry-\u003eid \u003d readID(pReader, pos, len) [yielding 0x1C53BB6B\n\nThis updates mkv extractor to accept 0x1C53BB6B (using symbolic value from webmids.h)\n\nBug: 129839777\nTest: play mkv file\nChange-Id: Ida3f0863d59e5b67446e325d186dfe04a00420f2\n"
    },
    {
      "commit": "b02be352c78d9db1c876a114199a9d4259c194e2",
      "tree": "4f108231d2e4565d3ffeb70d24d6c00a0f9dad00",
      "parents": [
        "a1acff23ff51603762cd0fa9f06fa0e74322c558",
        "3d43afe267883d2024d654af11b99264f20bf3d7"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 03 00:11:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 00:11:08 2019 +0000"
      },
      "message": "Merge \"Bound sizes for tx3g atom parsing per track\""
    },
    {
      "commit": "63dc6cf50582fa13702c59f43155f6c18312178b",
      "tree": "7333237bf7ef966510a84721d4252a016c37e07c",
      "parents": [
        "7acce1b21da72e7ffd0309814be8bef125ee23b7",
        "665f8cd61aaca2f0094c5d0a067bba3838ff1c9b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 23:36:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 23:36:44 2019 +0000"
      },
      "message": "Merge \"Sanity checking when parsing \u0027trun\u0027 box.\""
    },
    {
      "commit": "3d43afe267883d2024d654af11b99264f20bf3d7",
      "tree": "7e7ab936610bed2cf36829f8428624d21d6d7797",
      "parents": [
        "5635b7d126c46bb33d80f1518fe75702e4c2e179"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 08 11:14:05 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Apr 02 14:30:40 2019 -0700"
      },
      "message": "Bound sizes for tx3g atom parsing per track\n\nDetect when media contains too much tx3g data, defined as max atom size\neven if spread across multiple tx3g atoms. Also validate that any tx3g\natom has non-zero size.\n\nWhen assembling the possibly many atoms, use a more efficient append/grow in a\nlocal buffer and only attach it to the track meta data when the track is\ncomplete; saves a possible O(n*n) copy/re-copy/re-copy behavior.\n\nBug: 124330204\nTest: poc\nChange-Id: I55ab88a4b650e508c0d49f9bd07284d9ddcf6361\n"
    },
    {
      "commit": "4c682b8d29b42094cbe33bb2aba2e1a13cf4ecf3",
      "tree": "1e465ed02b23258d5e7a04e976ac0d00f2f1986d",
      "parents": [
        "5635b7d126c46bb33d80f1518fe75702e4c2e179"
      ],
      "author": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Mon Apr 01 19:35:52 2019 -0700"
      },
      "committer": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Tue Apr 02 12:13:13 2019 -0700"
      },
      "message": "MPEG4Extractor: Keep CTS values positive\n\nMedia files with zero STTS delta in video track exists, probably malformed files. If the same\nvideo track has edit shift entry to shift(prepone) video frames, then CTS could get negative.\nSince negative CTS values are not meaningful, this CL fixes that by only subtracting the lower\nof CTS and edit shift value from CTS.\n\nBug: 117402420\n\nTest: cts-tradefed run cts-dev -m CtsMediaTestCases --compatibility:module-arg CtsMediaTestCases:\n      include-annotation:android.platform.test.annotations.RequiresDevice\n\nChange-Id: I49657457f90e9bbee5fc8bf45235eeb7b0873ab6\n"
    },
    {
      "commit": "11966872eedd949041dfe0a905794654a3df49cf",
      "tree": "7ad77e435903461790f78282853777f389b7bfd0",
      "parents": [
        "71028253b21dfee4e3908916c4182cd0ea140f11"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Feb 22 17:54:19 2019 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Mar 28 23:54:38 2019 -0700"
      },
      "message": "Remove subdirs from Android.bp\n\nsubdirs is meaningless now.\n\nTest: Builds\n\nBug: 129513796\n\nChange-Id: I60130e38b5924b73c5520d884868dd580f5345bf\n"
    },
    {
      "commit": "665f8cd61aaca2f0094c5d0a067bba3838ff1c9b",
      "tree": "113d4327a6b4aaa5c6d3f7772ea5187728e4dc72",
      "parents": [
        "32ebca3611c530fc0f36225dcb1ca2ec50e8d9f1"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Mar 18 11:03:58 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Mar 25 10:50:57 2019 -0700"
      },
      "message": "Sanity checking when parsing \u0027trun\u0027 box.\n\nCheck for unreasonable sampleCounts, unreasonable sampleDurations,\nespecially when mapped as same duration for all samples.\n\nBug: 124389881\nTest: poc\nChange-Id: Ic1afecc42c1ec5c63b8dee1743ee0e473e82ba8b\n"
    },
    {
      "commit": "b893fcd9978e730c0e00eddce63a08bef727261e",
      "tree": "61cd61d5a723984dbd21d98c97f08efd36233687",
      "parents": [
        "9c29f6b2a3ffffe8802790b40d501c647d0d1012",
        "9b8cba239e2369219e3209bdbd654e3644a37adb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 22 21:44:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 22 21:44:34 2019 +0000"
      },
      "message": "Merge changes Ic983efe6,I6eeb4aa6\n\n* changes:\n  Fix test that checks if metadata is already set\n  Fix multiple-track mkv files\n"
    },
    {
      "commit": "9c29f6b2a3ffffe8802790b40d501c647d0d1012",
      "tree": "f87d4dbf4445cbf77be4d15e11eeff65e0e39ed9",
      "parents": [
        "fc4a18139c183ca39bae44e3bb7e69430347bb68",
        "c47d1d18ceba50936187f7c9dc4246b84d8d147d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 22 21:41:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 22 21:41:30 2019 +0000"
      },
      "message": "Merge \"handle empty NAL when looking for HEVC layerId\""
    },
    {
      "commit": "c47d1d18ceba50936187f7c9dc4246b84d8d147d",
      "tree": "4a9e03f3c2c08f7000d7300133cd2f614b225dda",
      "parents": [
        "b9df1597c794855106dc8225050f5fc2011d07d3"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 22 12:51:04 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 22 12:53:55 2019 -0700"
      },
      "message": "handle empty NAL when looking for HEVC layerId\n\nparseHEVCLayerId() would CHECK() if there was no data, we now return\nthat there was no valid HEVC layer info. This was triggered by changes\nso a bad NAL would be skipped rather than aborting.\n\nBug: 127833120\nBug: 122749422\nTest: re-ran CTS\nChange-Id: I239697f9d1f77995f9ccf5e8c77cfaa01994e326\n"
    },
    {
      "commit": "9b8cba239e2369219e3209bdbd654e3644a37adb",
      "tree": "bba397bcbe636745e5b5bbeeb1f4c199c5bb2c08",
      "parents": [
        "4970a6c944fed7a1763509b7105c83089a923856"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 22 09:33:34 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 22 10:07:25 2019 -0700"
      },
      "message": "Fix test that checks if metadata is already set\n\nBug: 128565395\nTest: manual\nChange-Id: Ic983efe66f70a409ec4ec40eec6d6d3aa8fe540b\n"
    },
    {
      "commit": "4970a6c944fed7a1763509b7105c83089a923856",
      "tree": "fdf43dc4459f00e9636e0156418e0d48715dd912",
      "parents": [
        "61dcc2ce1bd5bec07002c81b87d0d0df65a978d5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 21 14:16:40 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 21 14:16:40 2019 -0700"
      },
      "message": "Fix multiple-track mkv files\n\nStructures stored in Vector might have their destructor called when\nthe Vector needs to be extended, so ensure we handle that correctly.\n\nBug: 128371202\nChange-Id: I6eeb4aa67edaa63e0068f6102457f693f63768bc\n"
    },
    {
      "commit": "9e0ad0278471500b833aa58ccc29b3c542551932",
      "tree": "aa1f30f9f63025a5a5c47388d2310f94617da978",
      "parents": [
        "76e348fc43d7b8bda0362ccbf14bf0eeac09a7c9"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Mar 20 14:42:16 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Mar 20 15:50:13 2019 -0700"
      },
      "message": "Add key for haptic channel count in metadata.\n\nThis key could be useful to query if a file contains haptic channels or\nnot.\n\nTest: test with files (not) containing haptic channels\nBug: 128012181\nChange-Id: I5f0a9ca9fde23ce7d6f48921acc9a1074a6a1601\n"
    },
    {
      "commit": "51c684bdd00fe3f3a23603b95dad597a892085ca",
      "tree": "6117ec293fd16610fa94f0934429cada6d4c45f2",
      "parents": [
        "60c73a445b632cc2e233b1a275efeee7414a41a4",
        "d9b70d53091a6bfdf3abdd288b303ab1a73f95f9"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 19 19:23:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 19 19:23:25 2019 +0000"
      },
      "message": "Merge \"MKV handles MP3 audio whose frame is not complete\""
    },
    {
      "commit": "4579c809566bd682aec2f9351f60d9ddb2dd677f",
      "tree": "9389274f5871b185ca1fbdb8f3f0b09ce1c25f32",
      "parents": [
        "a1c2e689732df6c2bde2aa4e54ed26889a1878b0",
        "d11a5ab1a7e02516a7230ce4b2d0b906cd4d022d"
      ],
      "author": {
        "name": "DanielMo",
        "email": "DanielMo@fih-foxconn.com",
        "time": "Mon Mar 18 14:42:07 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 18 14:42:07 2019 -0700"
      },
      "message": "Merge \"The ozoaudio modification within Mainline media file scope\" am: 5e195df5d7 am: c200193cf7\nam: d11a5ab1a7\n\nChange-Id: I2f08378d2e49897222def74208a42a56248fb1db\n"
    },
    {
      "commit": "d9b70d53091a6bfdf3abdd288b303ab1a73f95f9",
      "tree": "b42a49f9811f91fc7f5b08ba1eb6afd54eee7dac",
      "parents": [
        "e9955729faa3a33483b9739f085856b5b4b451d5"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Mon Jan 28 11:26:11 2019 +0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 18 13:34:36 2019 -0700"
      },
      "message": "MKV handles MP3 audio whose frame is not complete\n\nMP3 frames of some special mkv files are not complete, so the\nframes read by MatroskaSource can\u0027t be played normally.\nMP3 frameSize for these special files is bigger than the buffer\nlength of the frame read by readBlock. Read function can\u0027t get\na complete MP3 frame which will be sent to MP3 decoder.\n\nBug: 123590715\nTest: Test MKV file whose MP3 audio frameSize in MP3 header is\nnot consistent with buffer length and check if MP3 audio can\nbe played normally.\n\nChange-Id: If1deca29fffc50012edb3af63d96ec9e99aa3fba\n"
    },
    {
      "commit": "1465471345b823696cc1cee9fd51cedabf4cc3fd",
      "tree": "55a4aa840ea651ff568bbea35e1b586b44ff5690",
      "parents": [
        "b47f51d8cd06265eee1663b3ce1eab05a56e230f",
        "4c1f95845160320a689d388598a11f2aeb067d78"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 15 05:33:43 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 15 05:33:43 2019 +0000"
      },
      "message": "Merge \"Fix thumbnail hvcc key in ItemTable\""
    },
    {
      "commit": "4c1f95845160320a689d388598a11f2aeb067d78",
      "tree": "5306da35281e7debbf403b5569f0322be7ef670f",
      "parents": [
        "0a2fc30b155c92db29ed483f85c8e92c3c9cf85b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 13 15:15:53 2019 +0900"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 14 14:51:27 2019 -0700"
      },
      "message": "Fix thumbnail hvcc key in ItemTable\n\nIn HEIF files the hvcc for main image and the thumbnail\nare separate. Add AMEDIAFORMAT_KEY_THUMBNAIL_CSD_HEVC for\nthumbnail hvcc, and set it in ItemTable.\n\ntest:\n- thumbnail test from the bug;\n- manual testing of HEIF image decoding of various files;\n- cts MediaMetadataRetriverTest.\n\nbug: 128494513\nChange-Id: I219a86cf362f641d546236dda78e8559ffcfa8aa\n"
    },
    {
      "commit": "caa77efe666dcea0799828627a3887e896de5e16",
      "tree": "3c4731a9095027c22c853cfd21a60e5c5b1f3587",
      "parents": [
        "e6e98e77198a68c812b81159f76de33b632c3d43"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Mar 13 14:13:44 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Mar 13 14:13:44 2019 -0700"
      },
      "message": "Mark WAV extractor for single buffers\n\nChange WAV extractor so it doesn\u0027t try to generate multiple buffers\nto return more per readMultiple() transaction. Working around an\napparent buffer management problem when trying to do more than 1 buffer.\n\nBug: 128249893\nTest: play wav file before/after\n"
    },
    {
      "commit": "348850bed95adbe762ee98bba7bbbbae268c1553",
      "tree": "3b0e02fc74a9d13b3fdc707a6a8368119795f0a9",
      "parents": [
        "fe610f0fa30cf58c448f718c05d53208431baf08"
      ],
      "author": {
        "name": "DanielMo",
        "email": "DanielMo@fih-foxconn.com",
        "time": "Thu Jan 10 15:01:25 2019 +0800"
      },
      "committer": {
        "name": "DanielMo",
        "email": "DanielMo@fih-foxconn.com",
        "time": "Tue Mar 12 10:16:22 2019 +0800"
      },
      "message": "The ozoaudio modification within Mainline media file scope\n\nThe ozoaudio integration mainly adds ozoaudiodec and ozoaudioenc under libstagefright/codecs.\nHowever, it also modifies MPEG4Extractor.cpp, and the file is in Mainline media file scope.\nUpstream the patch for reference.\n\nChange-Id: I98da8e5ffaf7873b20d877520993a11cda07a618\n"
    },
    {
      "commit": "0428b8e5a53c3c37e0f76decc7a8f32854488062",
      "tree": "3620aa91a747ffece2ac3771632d98de976c919c",
      "parents": [
        "2af96e2f8c4c9ab956662ffae017c7176795d22f",
        "6244527af5c55a9887e54bd8cc7e86c8cb6240fd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 09 01:56:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 09 01:56:14 2019 +0000"
      },
      "message": "Merge \"mkv supports more video codec types\""
    },
    {
      "commit": "6244527af5c55a9887e54bd8cc7e86c8cb6240fd",
      "tree": "1a397c208951f3a20fe4f0da6cfa90810de25178",
      "parents": [
        "f8e3c419e9a33a960754980bb62a5f51efc5cdb4"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Sat Jan 26 18:50:29 2019 +0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 08 14:13:17 2019 -0800"
      },
      "message": "mkv supports more video codec types\n\n1. support MPEG2 video codec\n2. support codecs under V_MS/VFW/FOURCC which include H263, AVC, MPEG2,\nMPEG4\n3. handle some codec type with no codec private data\n4. add codec type \"MJPEG, XVID, DIVX, DIVX3\" and support them in\n   matroskaextractor\n\nBug: 123594230\nTest: test with file which has added codec type, and check if the codec\nrelated track can be played normally\n\nChange-Id: I4e0173b80576b1f80bc7a210a8ef029ee3a2af51\n"
    },
    {
      "commit": "16a373e7bc075c98ded6a806ae29200d073edb57",
      "tree": "665572d2436cf6977ad0ad0588a895d4eb02a617",
      "parents": [
        "c60907f00dd4349907d57f35803f3ca1d98f4742"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 07 15:32:47 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 08 08:24:32 2019 -0800"
      },
      "message": "Use double for duration and time calculations\n\nto avoid overflows.\nBug: 126125702\nTest: manual\n\nChange-Id: I3045e8962056ca24d1c27428c0e909d240b76bdb\n"
    },
    {
      "commit": "b70eff200b878224e76ee36e94eb0492c59d03d7",
      "tree": "f8746596be994669f4b4ced23b701f652c844a6d",
      "parents": [
        "9821dd321dafba4a35b8f672b2e247b0bfe2e9f7",
        "4d3e69452332f74a3e6c14381869930fef2e092f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 07 19:33:18 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 19:33:18 2019 +0000"
      },
      "message": "Merge \"Multiple extractors from same client vs clients binder space\""
    },
    {
      "commit": "89eb0c7b6c5bc06cd7e50c3ecb86dce4bd936ea2",
      "tree": "374537159bb31bf5b5e2fdb4d9d0aa8129027faa",
      "parents": [
        "e229cd12aff153d65a7cdb44ef5f1283c17aa976",
        "4d6916a561adb9215c2deabc3600ad4df01c5a07"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 07 17:22:58 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 17:22:58 2019 +0000"
      },
      "message": "Merge \"Fix AC-4 parser bugs according to specification\""
    },
    {
      "commit": "4d3e69452332f74a3e6c14381869930fef2e092f",
      "tree": "0eb2d2930b800569f093bd484ca76e616235693c",
      "parents": [
        "be32a246fc5623c049cf6417ced66dccc741653b"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 07 09:17:48 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 07 09:17:48 2019 -0800"
      },
      "message": "Multiple extractors from same client vs clients binder space\n\nLowered limits for when to use shared buffers vs inline data and how\nmuch total data to allow in a mediasource binder transaction.  Fix typo\nlimiting MediaSource / extractor to only 1 mediabuffer as shared memory.\n\nBug: 115848790\nTest: poc from bug\n"
    },
    {
      "commit": "4d6916a561adb9215c2deabc3600ad4df01c5a07",
      "tree": "ea15d7983603b5dc1d5d441d14c5866e64cace17",
      "parents": [
        "33d6adcebbac541a803a08013db15a84e4b82bcf"
      ],
      "author": {
        "name": "ybai",
        "email": "ybai@dolby.com",
        "time": "Thu Feb 28 14:34:37 2019 +0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Mar 06 15:08:39 2019 -0800"
      },
      "message": "Fix AC-4 parser bugs according to specification\n\npre_virtualized and add_emdf_substreams should locate\nin the same level with single_substream_group checking.\n\nBug: 127685179\nTest: see repro steps\nChange-Id: Ic715b316f2b0d0fc86dfd9db03ba7bf01a1f0a2e\n"
    },
    {
      "commit": "943c94e7fd0ee0246652bf8225d5db8f795dbb43",
      "tree": "0684d1f89d3bb48dfd3d9bcdf2bc5b307954dd42",
      "parents": [
        "f03cb213d22b238cbd0b72ded36048f0549f921f",
        "2641ec2a91e2c78d81e0ee00e94139f23168c0d6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 06 22:55:36 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 06 22:55:36 2019 +0000"
      },
      "message": "Merge \"Handle mkv file without cue point\""
    },
    {
      "commit": "2641ec2a91e2c78d81e0ee00e94139f23168c0d6",
      "tree": "601ad8daad6151354514ca1fc43cbd4c11ffa303",
      "parents": [
        "bb08e4d99b0915f4b25fefeda9c833c96ceb785a"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Mon Jan 14 14:50:56 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 06 13:06:03 2019 -0800"
      },
      "message": "Handle mkv file without cue point\n\nSome mkv or mka files don\u0027t have any cue point, especially mka file\nwhich is transformed from ffmpeg. When user plays such mkv or mka file,\nuser cannot seek to correct position.\n\nTo handle this issue, we ignore cues and load clusters. When we seek\nand find that it has no cue point, we call seekwithoutcue function,\nwhich will find correct position from loaded clusters.\n\nBug: 123150866\nTest: Test with a mkv or mka file without CUES and check if we can\ncan seek to correct position and play normally.\n\nChange-Id: I77cb64ebee6261545ab3eff6a38538d854408b47\n"
    },
    {
      "commit": "e8f70444fb37caae83518e26535191cc681055d1",
      "tree": "9b535920687e7888ae28a7aa7bcd38e278888cd8",
      "parents": [
        "c77bbce4508348f29ef6e94246c4839a6a114eb3",
        "ee3eb46566b21e4b1c762a6f9aec8c64d94f7b0f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 04 15:47:54 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 04 15:47:54 2019 -0800"
      },
      "message": "Merge \"Ignore audio sync sample list\" am: f9ac0e84e2 am: 34dec945e6\nam: ee3eb46566\n\nChange-Id: I97d4f6c2d2eb3dac74626cfd9edc1831b38cee37\n"
    },
    {
      "commit": "9d6fcae912905f6ec16e61270567210d7e5afd76",
      "tree": "1e4a3b76805394b5d67cfcdcd35fb277109e5457",
      "parents": [
        "c48a1bc70c7468ce63822544123bcde727eb8a16"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 01 13:40:57 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 01 13:40:57 2019 -0800"
      },
      "message": "Ignore audio sync sample list\n\nIgnore the sync sample list for audio tracks, since some software\nwrites files with an empty sync sample list, resulting in unseekable\nfiles.\n\nBug: 112442775\nTest: manual\nChange-Id: Ib658463143b7d17845c1eb52bbab27106ae66cb7\n"
    },
    {
      "commit": "9119ddd19ecf1ec69909d19fb4b1f60e8e7fa61c",
      "tree": "ede667c7ec8cb6b7cfe1f5fe8d884a7d1f5c6c7d",
      "parents": [
        "5cca289e013fa627b0ec9b50f6d96c76371572c3"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Mon Jan 28 10:59:48 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 28 13:33:22 2019 -0800"
      },
      "message": "MKV supports MP3 audio whose CodecID is A_MS/ACM\n\nCodecID for MKV MP3 audio is not only A_MPEG/L3, but also\nAMS_ACM. When CodecID is AMS_ACM, we should check format ID and\nthe file is MP3 if format ID is 0x0055. Need to support this\nMP3 type.\n\nBug: 123594233\nTest: Test MKV file whose audio CodecID is AMS_ACM and format\nID is 0x0055, and check if the MP3 audio can be played.\n\nChange-Id: I15129e276b19338dc4f3f09eee6020aca5a5fa8e\n"
    },
    {
      "commit": "495d7b1986720f3716bd47cfd838a20f820a08c5",
      "tree": "c8e0cb2f391d60d77657dfc40e63f18ff8fc6c8f",
      "parents": [
        "05677f7f44a753b756709ddbd7eebdffa34f62f4"
      ],
      "author": {
        "name": "Dean Wheatley",
        "email": "dwhea@dolby.com",
        "time": "Wed Feb 13 07:23:46 2019 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Feb 21 15:51:17 2019 -0800"
      },
      "message": "Fix EAC3 bsid parsing\n\nComply with ETSI TS 102 366 V1.4.1 E.1.3.1.6\n\nBug: 125456292\nTest: see repro steps\nChange-Id: Ieb8414d83e63a3c968409c31e8130ada7238c5d4\n"
    },
    {
      "commit": "6ce01631b8a7710186bef4d2b4872f255613d6eb",
      "tree": "faaf77e4809368e3e49d60a2b4d25e737dc8f86d",
      "parents": [
        "cbfa4c1c9b2dd9976ccb16e39545a7ba6449761a",
        "98c7d02d74d86280adbb4178a01f87b9d358b6de"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 13 23:35:15 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 23:35:15 2019 +0000"
      },
      "message": "Merge \"Cannot play mp4 file which contains ac-3\""
    },
    {
      "commit": "ba76e4f4a6dc67c93307983d41b52c6441c7349e",
      "tree": "9b09af29f10997c7c284117b9cdaa9b80ce01993",
      "parents": [
        "f294a074ce2c79f6abeadaccbd26ae0353c336cf",
        "610ae69f4d609954ee8a948f0b13864eb77052bf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 13 20:59:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 20:59:14 2019 +0000"
      },
      "message": "Merge \"Cannot play mp4 file because of abnormal nal length\""
    }
  ],
  "next": "98c7d02d74d86280adbb4178a01f87b9d358b6de"
}
