)]}'
{
  "log": [
    {
      "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\""
    },
    {
      "commit": "98c7d02d74d86280adbb4178a01f87b9d358b6de",
      "tree": "2cfac22eb12d04cb4c76b127eb05b73e903edf20",
      "parents": [
        "257831123e2553de2f6b7cf43c4afa451ae4fc33"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Thu Jan 10 15:56:07 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 13 10:10:28 2019 -0800"
      },
      "message": "Cannot play mp4 file which contains ac-3\n\nProblem: ac-3 bit stream identification parse error\nSolution: skip audio track if ac-3 is not correct\n\nBug: 122746530\nTest: Play the video file whose ac-3 is not correct\nand check if it can skip audio and only play video\ntrack\n\nChange-Id: I402781a9d7057fd24666652b015d25cc11efa7bd\n"
    },
    {
      "commit": "3d1f734702f5053d5a69b3f797e9d902742c43ff",
      "tree": "419842ab23a966cc762719798bfcf8ba0b8f50c7",
      "parents": [
        "a13e83c2915e594f29f92033886b8565b91e511f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 12 15:06:55 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 13 18:07:25 2019 +0000"
      },
      "message": "Add opus extension\n\nBug: 37054258\nTest: build\nChange-Id: I5a9f99b78f31ded8f5c8d56d3d05feb072f003f2\n"
    },
    {
      "commit": "610ae69f4d609954ee8a948f0b13864eb77052bf",
      "tree": "b41871c78840fda60d06a19b77ea19bda94ef9ed",
      "parents": [
        "257831123e2553de2f6b7cf43c4afa451ae4fc33"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Thu Jan 10 16:42:06 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 12 14:07:41 2019 -0800"
      },
      "message": "Cannot play mp4 file because of abnormal nal length\n\nProblem: some mp4 file has abnormal nal size and cannot\nbe played.\n\nSolution: ignore when nal size is abnormal\n\nBug: 122749422\nTest: Play a file which has abnormal nal size and check\nif it can ignore abnormal ones and play normally after\nabnormal frames\n\nChange-Id: Ic0a53d20ea7e395ab610b8d4895dd3c64ab68106\n"
    },
    {
      "commit": "257831123e2553de2f6b7cf43c4afa451ae4fc33",
      "tree": "118d70e95b315da7b87d07ca7f340f4795b35adf",
      "parents": [
        "54d6842002b1cd877e9df69adf30be8119356c80",
        "b2a805cdaa1bdd3f47397b05df1984207ba1ee14"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 12 21:57:58 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 21:57:58 2019 +0000"
      },
      "message": "Merge \"Keep AOT type to support AAC offload feature\""
    },
    {
      "commit": "54d6842002b1cd877e9df69adf30be8119356c80",
      "tree": "75d5ce31d7768557d383b179ee3d81b7078c89d6",
      "parents": [
        "78199b7961f104ad0dff92d2c2b668d576291ece",
        "93f18799932651e863b359a8eafa469a4379a455"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Feb 12 20:27:53 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 20:27:53 2019 +0000"
      },
      "message": "Merge \"Adding CSD support for AV1 in MP4 container\""
    },
    {
      "commit": "b2a805cdaa1bdd3f47397b05df1984207ba1ee14",
      "tree": "4d32c1376e359c091843d83bcd3dd8dd024cc078",
      "parents": [
        "2334e00184aea8b124789a04b92dc2180dbc7df7"
      ],
      "author": {
        "name": "Yuxiu Zhang",
        "email": "yuxiu.zhang@mediatek.com",
        "time": "Fri Oct 12 10:38:15 2018 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 11 20:27:35 2019 +0000"
      },
      "message": "Keep AOT type to support AAC offload feature\n\nTo support AAC offload feature, AACExtractor needs to parse profile\nand send to HAL.\nTherefore, AACExtractor needs to keep AOT type into mMeta, and\nthen AOSP default common flow will pass AOT type to HAL.\n\nBug: 123041584\nTest: build pass in Android Qt and verified AAC offload feature\nin Android Pie\n\nChange-Id: Ie954546835c682cd32b5885af92dc715414cd8ea\n"
    },
    {
      "commit": "5bb4c0ab86880f322cc2ce59b673d83b5e7a02e4",
      "tree": "f327de8c340d786acace0e671a176b27c7587e53",
      "parents": [
        "1342d0740e9a7accd48a7c28725ca61ded231ee1"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Feb 11 11:09:34 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Feb 11 11:09:34 2019 -0800"
      },
      "message": "improve performance of oggextractor::findNextPage()\n\ninstead of \"test, advance 1, test\", look at the 4 bytes that we\nused in the test to see the soonest our test could possibly succeed\n(e.g. where do we find the right leading character) and advance that\nfar instead of just 1.\n\nBug: 124238340\nTest: manual\n"
    },
    {
      "commit": "7134799369f37e8663ba67c9849c56af0838d8a1",
      "tree": "211559d20d97ad51aa002ee8113b646ee8a3d91f",
      "parents": [
        "186f4ac0f006de84d940a460bb44ee0e325fd1eb"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Wed Jan 30 18:36:20 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 08 12:12:23 2019 -0800"
      },
      "message": "MPEG4Extractor supports more file extensions\n\nAdd \"3ga\",\"qt\" to extensions[]\n\nBug: 123651180\nTest: test mp4 file with extension \"3ga\" or \"qt\",\nand check if file can be played\n\nChange-Id: Ia1d265594af11ebb65918b80ed92e45d1ad487a4\n"
    },
    {
      "commit": "e3b1dd20f5127e8ec44f2980585cc8f78192be5b",
      "tree": "cb4ec0607649bd37368214c4d62371ea69522eaa",
      "parents": [
        "0dd741827750e4163fb618e817b51088badb65ad"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 22 15:39:07 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 07 17:37:14 2019 +0000"
      },
      "message": "Replace FOURC(\u0027a\u0027, \u0027b\u0027, \u0027c\u0027, \u0027d\u0027) with FOURCC(\"abcd\")\n\nTest: compare disassembly before/after\n\nChange-Id: I8f9c75d19f2dcd0f0f31a082c0e98cd7eb6655a4\nMerged-In: I8f9c75d19f2dcd0f0f31a082c0e98cd7eb6655a4\n"
    },
    {
      "commit": "6a69e1149f8e1eee75d392dbe5314c13a429b8d5",
      "tree": "10ec891e06713d96424534aa77271dfa358b33c0",
      "parents": [
        "5479d73c13ca68fc2a386b62b7f6298cca25ff56"
      ],
      "author": {
        "name": "Shengbao Xu",
        "email": "shengbao.xu@mediatek.com",
        "time": "Thu Jan 31 17:45:35 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 05 14:53:53 2019 -0800"
      },
      "message": "Add mp2 container and codec support\n\nAOSP doesn\u0027t support audio mp2 file, so mp2 audio file\nwith file extension .mp2 cannot be identified as an audio.\n\n1. Add mp2 extension to mp3extractor.cpp and cannot use\nmp2extractor as demuxer for mp2 file\n2. Add MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II to Acodec.cpp when\nconfigure omx component params; then audio channel and\nsamplerate can be configured correctly when init omx component\n\nBug: 123730913\nTest: play mp2 file\nChange-Id: I42d7cbc578f801df13f249ff41442f1ebf0e5180\n"
    },
    {
      "commit": "93f18799932651e863b359a8eafa469a4379a455",
      "tree": "afd3091b0efbd0a9e8a2c25391bf6eb13e8b03ad",
      "parents": [
        "4de30395dd18a267b30a461f2869f512750c5a53"
      ],
      "author": {
        "name": "Roma Kaul",
        "email": "roma.kaul@ittiam.com",
        "time": "Wed Dec 05 21:22:04 2018 +0530"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Feb 05 13:47:36 2019 -0800"
      },
      "message": "Adding CSD support for AV1 in MP4 container\n\nTest: stagefright -S -N c2.android.av1.decoder /sdcard/av1.mp4\nBug: 123404784\nChange-Id: I69f8faa55853dac6d295e39508dbc1cee9865660\n"
    },
    {
      "commit": "5a49f40a70302ac1ffc54e0d96db2bec17546fe1",
      "tree": "d6e8bd96d86f1dd8bf71ef02fe42607d91828858",
      "parents": [
        "0038f1336c62e9d3798bac42ebd5cedc04a5259f",
        "866f0f05d15f62bdf3621eab41433f3ff9f63d7b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 02 02:22:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 02 02:22:48 2019 +0000"
      },
      "message": "Merge \"Wait for iref box if the heic file has Exif data\""
    },
    {
      "commit": "866f0f05d15f62bdf3621eab41433f3ff9f63d7b",
      "tree": "e9e30e004363f3165f99a591cb4487b536170b99",
      "parents": [
        "0684bf1ac795c8a112cdc168004cdf0bad6a6647"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Feb 01 14:19:37 2019 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Feb 01 14:22:36 2019 -0800"
      },
      "message": "Wait for iref box if the heic file has Exif data\n\nWhen exif items are present, iref box must be present to\nassociate exif with image items.\n\nbug: 123094535\ntest: use ExifInterface on files without grid, should be\n      able to extract exif if available.\n\nChange-Id: Ia0728cdeefe28318a4ca03193ad93c3b64d78f7a\n"
    },
    {
      "commit": "612be7ff334b6c2c1051bd6dbb4088922af0336e",
      "tree": "12a396e518c448702cc443fea086a493b484c2ea",
      "parents": [
        "850847df034369c54da382ef43693349cdfb3c97",
        "175e9917274a457225f64abd3d46f8dc89b9dc08"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 01 21:18:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 01 21:18:24 2019 +0000"
      },
      "message": "Merge \"Add libstagefright_mpeg2extractor\""
    },
    {
      "commit": "175e9917274a457225f64abd3d46f8dc89b9dc08",
      "tree": "cc30f5ba87d9ff10e204d20f151bc559929c2f67",
      "parents": [
        "642f662a0dba2732cacf05774758723f09aa188e"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 31 18:33:24 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Feb 01 10:49:12 2019 -0800"
      },
      "message": "Add libstagefright_mpeg2extractor\n\nTest: build\nChange-Id: I17b08ed8fe30c592e40ac848c587bbb1c140d35f\n"
    },
    {
      "commit": "08dd071c4a5f63ffe8ff0511a0068423d5bac090",
      "tree": "e274649ae507656f25a49465c7a974e18a5ff775",
      "parents": [
        "4b7f683cf9fbaa2b427f03bd067ee2588906ac44"
      ],
      "author": {
        "name": "Yuxiu Zhang",
        "email": "yuxiu.zhang@mediatek.com",
        "time": "Fri Jan 18 19:13:40 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jan 30 14:30:48 2019 -0800"
      },
      "message": "FLAC: resize raw decoder\u0027s buffer according to flac max buffer size\n\nProblem:\nSome flac can not be played because insufficient raw decoder\u0027s buffer\nsize. Raw component\u0027s input and output buffer size are both 64K.\nBut FLACExtractor\u0027s output(decoded pcm) buffer size may be greater\nthan 64K.\n\nSolution:\nFLACExtractor pass the max buffer size to ACodec and resize raw\ncomponent\u0027s input and output buffer size if possible.\n\nBug: 122969286\nTest: play flac audio which buffer size is greater than 64K normally\nChange-Id: Ic046d27926bdec35e3944aec2bd6718f197d42c1\n"
    },
    {
      "commit": "c87073d685eff98c0ed2d30139165eaecbf8ff13",
      "tree": "9afdba17c0d22f93806e84b2b66c469b9a7a7db4",
      "parents": [
        "9c3e0dac4f3916e09204fdfbd092eccdbaf2ca65"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Fri Jan 18 15:02:32 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 29 15:02:16 2019 -0800"
      },
      "message": "Cannot play mov file with samr box\n\nProblem: Cannot play mov file which has stsd-\u003ewave-\u003esamr.\n\nSolution: delete the judge condition\n\"chunk_type \u003d\u003d FOURCC(\u0027m\u0027,\u0027p\u0027,\u00274\u0027,\u0027a\u0027)\" to make other\naudio type can play, not only mp4a can be played.\n\nBug: 123166627\nTest: test with the file which has stsd-\u003ewave-\u003esamr and\ncheck if it can be played normally.\n\nChange-Id: I7816230af39d99b3f73085db04b8bd7acccd3a19\n"
    },
    {
      "commit": "9c3e0dac4f3916e09204fdfbd092eccdbaf2ca65",
      "tree": "155af839837646d3500fb58892884531b41fc006",
      "parents": [
        "1439ac2a601c469f142d0a01ecae4b9223c3fd73"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Fri Jan 18 14:38:58 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 29 12:44:10 2019 -0800"
      },
      "message": "Cannot play mp4 file whose sawb box has sub box stts\n\nProblem: Android cannot play some special mp4 files which\nhave sawb box and sawb box has stts subbox.\n\nSolution: Bypass the sub stts box to make file play\n\nBug: 123057213\nTest: test with the file whose sawb box has subbox stts and\ncheck if it can be played normally\n\nChange-Id: I7d27c7377914ac659e086bd3ad6286e3146aa6e9\n"
    },
    {
      "commit": "1439ac2a601c469f142d0a01ecae4b9223c3fd73",
      "tree": "8c01e52c02865f19384f3a219e50b4fdbf544663",
      "parents": [
        "5136492129b3ce1e6a31a353f386cdc854377d49"
      ],
      "author": {
        "name": "mtk08122",
        "email": "shan.an@mediatek.com",
        "time": "Mon Jan 14 11:00:10 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 29 08:25:12 2019 -0800"
      },
      "message": "Return first data packet when seek to begin\n\nProblem: When play an ogg file and seek to begin, the packet\nwhich send to vorbis decoder might be not integral and it\nwould cause noise issue.\n\nSolution: Return first data packet when seek to begin.\n\nBug: 122921499\nTest: Play ogg file and then seek to begin\nChange-Id: Idb89913262ff21add86b1eae75f72a1e390632e9\n"
    },
    {
      "commit": "7c182f9f00f0a84562a38467340b362a612068bc",
      "tree": "ffb28301a6380bbd3ee4b011286ce2ef67b48f7d",
      "parents": [
        "2d951098fde1760d70e4763e6b157d9000892bb8"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Thu Jan 10 16:11:51 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 28 10:54:36 2019 -0800"
      },
      "message": "Cannot play 3gp file which esds box is over 256 bytes\n\nThe size of chunk box \"esds\" is over 256 bytes, which is\nAndroid default maximum size. There is much rubbish data\nin esds box except valid data. MPEG4Extractor uses\nuint8_t buffer[256] to handle esds box buffer, but sometimes\nit is not enough, so it returns error and cannot play.\n\nSolution: remove size check code and let malloc to prevent\ntoo large size.\n\nBug: 122746531\nTest: Play a video file whose esds size is over 256 bytes\nand check if it can play normally\n\nChange-Id: I2384bf8fc54e3f0c3a7d1351896bb408560b6490\n"
    },
    {
      "commit": "2d951098fde1760d70e4763e6b157d9000892bb8",
      "tree": "6e6b723921355164d63ef6125990d5e138eb211a",
      "parents": [
        "e7d8a7101b6ad97b84f7286d4433f3d34c00538f"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Thu Jan 10 14:47:10 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 28 10:08:36 2019 -0800"
      },
      "message": "Sample index in stsc is bigger than samplecount in stsz\n\nWhen sample index in stsc is bigger than samplecount in stsz,\nit returns error and video playing stops. Solution is to\nalign samplecount in stsz.\n\nBug: 122746529\nTest: Play the file whose sample index in stsc box is bigger\nthan samplecount in stsz box and check if it can play normally\n\nChange-Id: I2f09d6d17ff6bd04df076d744a25094c12524f19\n"
    },
    {
      "commit": "e7d8a7101b6ad97b84f7286d4433f3d34c00538f",
      "tree": "72b3e129e231a96417a9f0358cff6bf295889aae",
      "parents": [
        "00174ae636c4160df106f44e3edfc32270cf513c"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Fri Jan 11 23:10:32 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 28 10:08:36 2019 -0800"
      },
      "message": "Make mp4 file support mp3 audio\n\nThere are many mp4 files with mp3 audio in real world.\nWe need to be able to play these mp4 files.\n\nBug: 122710842\nTest: Play a mp4 file with mp3 audio and check if there\nis sound\n\nChange-Id: Ide6ed2fbe65039bb96eea5de3d650bb6981b578b\n"
    },
    {
      "commit": "9a218f048891ed3a541c2cb7fe35771dfa591fac",
      "tree": "01315490461a5cd986daa34250f69b59a19e9d3e",
      "parents": [
        "9bbc3b145b7a217840e4bd1b34b65b58fc8ca5bc",
        "f37a9661c9ef30e23f06c3fa980849bfe335846f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 25 20:43:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 25 20:43:10 2019 +0000"
      },
      "message": "Merge \"Cannot play mp4 file with major brand \u0027wmf\u0027\""
    },
    {
      "commit": "9bbc3b145b7a217840e4bd1b34b65b58fc8ca5bc",
      "tree": "16725f01d6433ccce6fa8a5f46f7f328f6a70bf8",
      "parents": [
        "5b723961c9456aa46ea3315bbcc80a3f6d0acc70",
        "72500a1dfe55141ee92eac5259aebf2667a0da92"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jan 25 18:35:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 25 18:35:34 2019 +0000"
      },
      "message": "Merge \"Allow muxer to write exif with APP1\""
    },
    {
      "commit": "f37a9661c9ef30e23f06c3fa980849bfe335846f",
      "tree": "66bf3542c9520370ab9e58ed35e0fe32e9e45520",
      "parents": [
        "50b7ff208ff31b00c6e95478edb633eb7a193cb6"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Fri Jan 18 14:26:47 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 25 09:45:35 2019 -0800"
      },
      "message": "Cannot play mp4 file with major brand \u0027wmf\u0027\n\nProblem: Major brand \u0027wmf\u0027 is not in compatible array, so mp4\nfile with major brand \u0027wmf\u0027 is not recognized as mp4.\n\nSolution: add \u0027wmf\u0027 to compatible array\n\nBug: 123051965\nTest: play mp4 file whose ftyp major brand is \u0027wmf\u0027 and check\nif it can be played normally\n\nChange-Id: I9ff1411c01aa89d5bc35d85f6bc2ee07d37545e3\n"
    },
    {
      "commit": "69f6f29fc30d43ce614b653e66941ffb4d334fea",
      "tree": "9040abdfa7f156ab58a58c712ed2f803f1de7dd8",
      "parents": [
        "6f4aa5c6dda203551ab814c64362e6c8a1d72eeb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 24 09:47:07 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 24 21:17:37 2019 +0000"
      },
      "message": "Fix issue with previous CL to use 64-bit sample times\n\nBug: 122746532\nTest: manual\nChange-Id: I52070ac126baa1fbea33cf7d3566a91306ed6514\n"
    },
    {
      "commit": "6f4aa5c6dda203551ab814c64362e6c8a1d72eeb",
      "tree": "3d696588374f84bd69b34e131e9bf708e39bfdf2",
      "parents": [
        "076b6e711abf0e73c33d3e3df162f7bd7ae41a14",
        "51087de7b6058d09fc2ed72ba935b93e544cc684"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 24 18:14:56 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 18:14:56 2019 +0000"
      },
      "message": "Merge \"Replace FOURC(\u0027a\u0027, \u0027b\u0027, \u0027c\u0027, \u0027d\u0027) with FOURCC(\"abcd\")\""
    },
    {
      "commit": "3eb2373841c4440521e66363c40d488edf73253d",
      "tree": "8dff1515f99c55879c08fb7e9cd4f785841e6c57",
      "parents": [
        "371f9575ef0a7ff675b5781bfce3d07a3693b64b",
        "12de2b95de10c905c0982869b0243f9916560438"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 24 16:12:35 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 16:12:35 2019 +0000"
      },
      "message": "Merge \"mp4 extractor: Too big sample timestamp can lead to overflow Exception.\""
    },
    {
      "commit": "51087de7b6058d09fc2ed72ba935b93e544cc684",
      "tree": "cfdd48542af1ddeece45abfa22f084221d2c2e6c",
      "parents": [
        "8c461da11788c07b2a5f81f07f10ce4987035178"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 22 15:39:07 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 24 07:50:32 2019 -0800"
      },
      "message": "Replace FOURC(\u0027a\u0027, \u0027b\u0027, \u0027c\u0027, \u0027d\u0027) with FOURCC(\"abcd\")\n\nTest: compare disassembly before/after\n\nChange-Id: I8f9c75d19f2dcd0f0f31a082c0e98cd7eb6655a4\n"
    },
    {
      "commit": "12de2b95de10c905c0982869b0243f9916560438",
      "tree": "823a89cd24a44bc08e8c6d371d87001f46d85498",
      "parents": [
        "8c461da11788c07b2a5f81f07f10ce4987035178"
      ],
      "author": {
        "name": "wuhuang",
        "email": "wuhuang@huawei.com",
        "time": "Fri Jan 18 17:14:03 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jan 23 07:26:00 2019 -0800"
      },
      "message": "mp4 extractor: Too big sample timestamp can lead to overflow Exception.\n\nseekTo in the video track will query the timestamp, PTS of the sample according to the seekTo time. The PTS value greater than UNIT_32_Max can cause the uint_32 overflow during the calculation.\n\nTest: To test the videoes that the PTS value is greater than UNIT_32_Max, find out the relative overflows in the logs.\nChange-Id: I796e3abcd7d0aad1614c07119a3012fc641266d8\n"
    },
    {
      "commit": "701768e80731da3df0edac97fb8fc442ffbbd33f",
      "tree": "5a5dc71c9935cc6da6a7861e977d4de295c95bb9",
      "parents": [
        "c6e0d60734b4a8a8a16fe931fb8d1f52829f5be4",
        "2ad4439c968eaaa704c658202607669ffc43c2ef"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 22 22:52:56 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 22 22:52:56 2019 +0000"
      },
      "message": "Merge \"cas: fix crash with partially scrambled audio content\""
    },
    {
      "commit": "2ad4439c968eaaa704c658202607669ffc43c2ef",
      "tree": "6f9033839f0b40c3425b210755993589ea0770f6",
      "parents": [
        "6ead2c3454f38dac2724a877aa2b57d94877611a"
      ],
      "author": {
        "name": "Rob McConnell",
        "email": "robertwm@broadcom.com",
        "time": "Tue Jan 22 12:22:57 2019 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jan 22 13:35:02 2019 -0800"
      },
      "message": "cas: fix crash with partially scrambled audio content\n\nThis patch addresses a situation when MPEG-2 TS level\nscrambled audio/video content has some of the audio\ncontent scrambled.  This can cause the MPEG-2 TS\nextractor to crash due to it trying to perform an\n\"out-of-bound\" index operation in to the sync points\nkeyed vector.\n\nThe sequence of events to cause this crash are as\nfollows:\n\n1) The MPEG-2 TS extractor is first initialised and\n   begins to search through the content until it finds\n   both audio and video scrambled ES.  In the test\n   stream, the video ES is found before the audio so\n   the \"mSourceImpls\" Vector contains video as the\n   first entry and then audio.\n\n2) The client application makes a call to set mediacas.\n   This makes another call to the \"init()\" method which\n   in turn causes the extractor to continue to parses\n   the scrambled A/V content.  With the particular test\n   stream the audio has predominantly unscrambled PES\n   packets and the audio format is readily detected as\n   \"unscrambled\" along with a sync event.  This causes\n   the \"mSyncPoints\" keyed vector to have its first\n   entry set for the audio track.\n\n3) When the call to \"addSyncPoint_l()\" is made this\n   method iterates over the \"mSourceImpls\" vector until\n   it finds a match with the event.  In this case it\n   finds the audio sync event at the second index\n   position.\n\n4) The code makes the assumption that the indexing in\n   to \"mSourceImpls\" and \"mSyncPoints\" are both tied\n   to the same source (i.e. the same track).  This is\n   not the case as \"mSourceImpls[1]\" contains the\n   audio source but \"mSyncPoints[0]\" contains the\n   audio sync event.\n\n5) When \"addSyncPoint_l()\" tries to index in to\n   \"mSyncPoints[1]\", we receive a crash due to an\n   \"out-of-bound\" index operation.\n\nThe patch ensures that the \"mSourceImpls\" and \"mSyncPoints\"\nindexing are identical for the different sources (tracks).\nThis prevents an \"out-of-bound\" index access to occur.\n\nbug: 123013446\ntest:\natest android.media.cts.MediaDrmClearkeyTest#testClearKeyPlaybackMpeg2ts\natest android.media.cts.MediaDrmClearkeyTest#testPlaybackMpeg2ts\n\nChange-Id: I75f5b24eb6a958796add737677f28178243095a4\nSigned-off-by: Rob McConnell \u003crobert.mcconnell@broadcom.com\u003e\n"
    },
    {
      "commit": "b3fc6efa771223c0d9bd8bbc83054452afc6cfbc",
      "tree": "c01c7167db118dc91363fe690fbcd415bfaab0ea",
      "parents": [
        "8c461da11788c07b2a5f81f07f10ce4987035178"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 22 11:41:55 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 22 11:41:55 2019 -0800"
      },
      "message": "Fail gracefully instead of CHECKing\n\nBug: 122894106\nTest: manual\nChange-Id: Ia3c40815bfb8dd64eeb8cbeb082c601a2015877b\n"
    },
    {
      "commit": "72500a1dfe55141ee92eac5259aebf2667a0da92",
      "tree": "6f56d66b32f5b20477c5ffb5871bd7a5ed06086f",
      "parents": [
        "6ead2c3454f38dac2724a877aa2b57d94877611a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jan 11 18:05:12 2019 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jan 22 11:39:57 2019 -0800"
      },
      "message": "Allow muxer to write exif with APP1\n\nAlso contains misc fixes around exif reading/writing.\n\nbug: 123094535\ntest: verify locally that ExifInterface retrieves the\n      exif data at correct offset; HeifWriter accepts\n      exif data starting with \u0027Exif\u0027+APP1 marker.\n\nChange-Id: I526641724caaea68d2b6f1075d9aa30d9a74b973\n"
    },
    {
      "commit": "594564c4d847d3fe02e6d5efba5228901addd6f9",
      "tree": "adeb5d9eff2873f88812d71309c9521c6d957542",
      "parents": [
        "30a9b983fbe83f8f31369e470f55d670c4e69687",
        "b06fb9faae0530a5b15d721878a6e07d56cfb987"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 18 19:08:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 19:08:44 2019 +0000"
      },
      "message": "Merge \"Cannot play back mov file which contains udta atom\""
    }
  ],
  "next": "b06fb9faae0530a5b15d721878a6e07d56cfb987"
}
