)]}'
{
  "log": [
    {
      "commit": "fb6c0dac13c1bb1875f6e4565725ce09bfb3854a",
      "tree": "12d5ee502eceea1c8294a22c8cc88566a3621724",
      "parents": [
        "1ea31cd03a6e292382281925cad2c3d0ed56c20f",
        "c1a464670859ecacf6c84aff855e2686fd18302b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 25 16:32:04 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 16:32:04 2019 +0000"
      },
      "message": "Merge \"MPEG2TSExtractor: support m2ts container\""
    },
    {
      "commit": "c1a464670859ecacf6c84aff855e2686fd18302b",
      "tree": "4e3cb3f888edf07e11f62fd6586c9837db7020df",
      "parents": [
        "aec71caad37dc2691d5711f50b14e4f6d2183ee7"
      ],
      "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": "Wed Apr 24 07:59:53 2019 -0700"
      },
      "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"
    },
    {
      "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\""
    },
    {
      "commit": "b06fb9faae0530a5b15d721878a6e07d56cfb987",
      "tree": "5bb6ca27b60cd200a77cfa875c1ccc4349ee6d84",
      "parents": [
        "0e7fbcb161e2e806ffb2f321cd14e92924463ec2"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Thu Jan 10 15:37:18 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 18 07:46:15 2019 -0800"
      },
      "message": "Cannot play back mov file which contains udta atom\n\nWhen we play back mov file which contains udta atom\nand udta terminates with code x00000000, parsing\nchunk has error. Solution is to pass udta terminated\ncode to play file.\n\nBug: 122749421\nTest: Play the video file whose udta terminates with\nx00000000 and check if it can play normally\n\nChange-Id: Ifd87ffb943d019d10bba1dfd9b0d822d3ba37727\n"
    },
    {
      "commit": "3bc3a5fd22924fad691235a9ce4539715daf48ae",
      "tree": "a23f2df19192a894ebfd13e51554a90ae9e6e1e9",
      "parents": [
        "fcc346f271902fdb6b1b610ee23100b0ecab926c",
        "7cf2914796c6a2c5419b3113508c1a8b7748ed61"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 17 23:47:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 23:47:21 2019 +0000"
      },
      "message": "Merge \"Fix potential integer overflow in MPEG4Extractor\""
    },
    {
      "commit": "be67658177b3ccc8fec702907a6ae56e2dc89ca1",
      "tree": "8575a91e8eeb6b1b1eb79adc208d3a3f357d2f9b",
      "parents": [
        "0691d4e2454e4d5be799cda8a2865d08e86e535a"
      ],
      "author": {
        "name": "Yuxiu Zhang",
        "email": "yuxiu.zhang@mediatek.com",
        "time": "Fri Mar 16 17:12:16 2018 +0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 16 17:57:45 2019 -0800"
      },
      "message": "FLAC: support files which has ID3v2 tag or Last-metadata-block flag is 1\n\nProblem:\n1. Some flac audios cannot be played because they have ID3v2 tag\n2. flac audio which Last-metadata-block flag is 1 cannot be played\n   by default\n\nSolution:\n1. Skip ID3v2 tag, and make these flac audios can be played\n2. Last-metadata-block flag can be 1 according to flac spec.\n   https://xiph.org/flac/format.html#metadata_block_streaminfo\n   It is rational that flac files only have one metadata block\n   (STREAMINFO) before audio frames.\n   So, we should support files which Last-metadata-block is 1.\n\nBug: 122939727\nTest: 1. manually play flac audio with ID3v2 tag\n2. manually play flac audio which Last-metadata-block is 1\n\nChange-Id: Id4928bc3a597176be63130bce9ba25df1978b51d\n"
    },
    {
      "commit": "0691d4e2454e4d5be799cda8a2865d08e86e535a",
      "tree": "1def884603ed9c9dcd7c98c9bc0276301f249fc2",
      "parents": [
        "c657c0dab64de5a8832a7d367e26e0a10ef90c8b",
        "d6c948ca7ff3e69281e7126dd4b9868f128ab935"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 16 19:07:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 16 19:07:31 2019 +0000"
      },
      "message": "Merge \"FLACExtractor: Fix sniffer to allow STREAMINFO only metadata\""
    },
    {
      "commit": "7cf2914796c6a2c5419b3113508c1a8b7748ed61",
      "tree": "2b3a1abada5384a2e3406d8b794f519d717f32e7",
      "parents": [
        "9b248b8791dbfbd9a4ee80ddad9edc94c32e072e"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 11 14:27:51 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 16 10:59:04 2019 -0800"
      },
      "message": "Fix potential integer overflow in MPEG4Extractor\n\nTest: build\nBug: 111792351\nChange-Id: Ib21ce33fb6c473c217f1f2a35e2ce1c81256f22f\n"
    },
    {
      "commit": "d6c948ca7ff3e69281e7126dd4b9868f128ab935",
      "tree": "9e98b46ecb64125e3d4a44be4af438fdbb9a12e6",
      "parents": [
        "d827ceaf59e9683cffbf30701cd8a783918e3a39"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 15 12:25:17 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 15 14:50:07 2019 -0800"
      },
      "message": "FLACExtractor: Fix sniffer to allow STREAMINFO only metadata\n\nTest: MediaExtractorTest#testFlacIdentity (no regression)\nBug: 122902567\nChange-Id: I835af8698fc83fdf06f21afa4c0a42193c9b80ad\n"
    },
    {
      "commit": "36e45afe2f43c64de1724ba9d8f662c1f09f7ee7",
      "tree": "c2d3051f35399d9ca94dc8f1de9326048ff8279d",
      "parents": [
        "d827ceaf59e9683cffbf30701cd8a783918e3a39"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 16:09:24 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 15 11:18:01 2019 -0800"
      },
      "message": "Really fix end-of-stream handling in OggExtractor\n\nBug: 122496376\nBug: 122805825\nTest: CTS, manual\nChange-Id: I486b8c81bb8e21b54d9eb835eb9b25737d8b0102\n"
    },
    {
      "commit": "d827ceaf59e9683cffbf30701cd8a783918e3a39",
      "tree": "9425a35eb9d0f1b9d2ef9e0827726346056c2769",
      "parents": [
        "e2c2b961c4401f5edf88105d779dc112ff99de96",
        "54c88096751d736a4b91d1f3eb0c6e0d5c3470ea"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 15 17:57:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 17:57:26 2019 +0000"
      },
      "message": "Merge \"Remove libmediaextractor\""
    },
    {
      "commit": "f11ef77d2e64da9c558e2b1eaee2353d87d30297",
      "tree": "87d22e6f3d9eec67cca0720409bfa953c03389f9",
      "parents": [
        "2b6834483ea55538b87f840f1f2294d7cc9b6c03",
        "bb243cfc4c0a370fa3abe5e82fb9e725393e0b25"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 15 03:46:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 03:46:42 2019 +0000"
      },
      "message": "Merge \"Revert \"Fix end-of-stream handling in OggExtractor\"\""
    },
    {
      "commit": "bb243cfc4c0a370fa3abe5e82fb9e725393e0b25",
      "tree": "e9c70ae282d60b7cf5e8dab52e8d973771592dc8",
      "parents": [
        "db978bbb76431a78aa7d40241251f12acfc298e7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 23:36:54 2019 +0000"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 23:37:18 2019 +0000"
      },
      "message": "Revert \"Fix end-of-stream handling in OggExtractor\"\n\nThis reverts commit db978bbb76431a78aa7d40241251f12acfc298e7.\n\nReason for revert: Broke some ringtones. See bug 122805825\n\nChange-Id: Idcbc2f6ec320cce17502192977677741bbc1ddc1\n"
    },
    {
      "commit": "54c88096751d736a4b91d1f3eb0c6e0d5c3470ea",
      "tree": "4be4375a8807d2f540eace2bc32cedce62462b85",
      "parents": [
        "cccfb3fe54e4d45a6f02e197765eebfbd5926c34"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 11 14:06:15 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 16:59:13 2019 +0000"
      },
      "message": "Remove libmediaextractor\n\nMove DataSourceBase and MediaSource to libstagefright, and\nMediaBuffer, MediaBufferGroup and MetaData to libstagefright_foundation.\n\nTest: build\n\nChange-Id: I4f0ae01d40a32f4b773a2f74d5f2ae136e375322\n"
    },
    {
      "commit": "83af7a3c9eb82028ff26561e58615cd34ca4ec8c",
      "tree": "804397c9d0d3354d464736ffab3a733a3deb5151",
      "parents": [
        "bf7927a02c7cd721d2001ce5e655377ea104ebd6",
        "48fe519d6a6f981e73a24c905d6f75ba8f632909"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 11 11:13:49 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 11 11:13:49 2019 -0800"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings in media/extractors.\" am: cd4c042fdd am: dc3102d3ed\nam: 48fe519d6a\n\nChange-Id: I34b848bb342d779a2213524998fc48b400b62d41\n"
    },
    {
      "commit": "bf7927a02c7cd721d2001ce5e655377ea104ebd6",
      "tree": "b60417dfb889152179a05f04448218d3f065643f",
      "parents": [
        "fff6fb6d1e43ce4793214f756a285e7ebffe1605",
        "c6148a6ad7c2636aa96fa20024953046e851ef93"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 11 18:58:33 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 11 18:58:33 2019 +0000"
      },
      "message": "Merge \"Send audio-presentation metadata in access units\""
    },
    {
      "commit": "c6148a6ad7c2636aa96fa20024953046e851ef93",
      "tree": "cc36ff4740163cc17c5d6a9e5938204fb55445c5",
      "parents": [
        "ff7397bb08bf9953615d7b3416f4839bc0b1d2ff"
      ],
      "author": {
        "name": "Sampath Shetty",
        "email": "Sampath.Shetty@dolby.com",
        "time": "Tue Dec 18 15:50:43 2018 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jan 11 17:28:01 2019 +0000"
      },
      "message": "Send audio-presentation metadata in access units\n\nAudio presentation metadata is attached to the access units so that\neach media buffer read() retreives it\u0027s associated audio\npresentations information.\n\nBug: 120846068\nTest: atest CtsMediaTestCases:MediaExtractorTest#testGetAudioPresentations\n      repeat 3..5 times\nChange-Id: I47f4d0dd959537fe98aa757bfa762ff02aa86a35\n"
    },
    {
      "commit": "09948322c9c54035039e65ce602e60125e23cb27",
      "tree": "e916d8da0c1e378470567b2fec20cf7b83827cf9",
      "parents": [
        "02430978c1a9530c83d6cc2cdbce2d69d186ee00"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 11 08:17:26 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 11 08:17:26 2019 -0800"
      },
      "message": "Fix crash in MPEG2PSExtractor\n\nBug: 122116060\nTest: CTS\nChange-Id: I28175354ba25800adea0f10620411fdb9a3a093a\n"
    },
    {
      "commit": "02430978c1a9530c83d6cc2cdbce2d69d186ee00",
      "tree": "bf219ba7be8a718b0d86128f6af94b82f71c5418",
      "parents": [
        "b4803b20d1404969126e3e1d219d71830b768289",
        "57822099ae5f887353ff07cb15563a4aac54336c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 10 20:41:12 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 10 20:41:12 2019 +0000"
      },
      "message": "Merge \"Export support types from extractors\""
    },
    {
      "commit": "3ebfbbce6254606eaf90521924b831f0dda050d5",
      "tree": "79d0bd56676bd081e060c057514e2be7b0f07b92",
      "parents": [
        "04cc6db79b3a89542eb1bbb3a705606e376cd58c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 13:49:18 2018 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 10 20:00:46 2019 +0000"
      },
      "message": "Fix cert-dcl16-c clang-tidy warnings in media/extractors.\n\nBug: 120614316\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,cert-dcl16-c\nChange-Id: I5795de7d2eaea0dee94a5db4d35c8a7d341f4100\n"
    },
    {
      "commit": "db978bbb76431a78aa7d40241251f12acfc298e7",
      "tree": "047f3fdb9a1b4dd3aa7507d65de03cc9457c18ae",
      "parents": [
        "35288162c7fcece56f43c1b1862636b02e6c51b0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 10 08:20:36 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 10 10:13:23 2019 -0800"
      },
      "message": "Fix end-of-stream handling in OggExtractor\n\nBug: 122496376\nTest: CTS\nChange-Id: Ied78ce1fbd26e8303cc1772858d31e04765904df\n"
    },
    {
      "commit": "57822099ae5f887353ff07cb15563a4aac54336c",
      "tree": "59204dd1a84bab7c42773957b8c909ddd7dc5482",
      "parents": [
        "435ba2e250da24bed173d4ca7415f5adb5f7846b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 07 14:51:32 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 10 09:01:21 2019 -0800"
      },
      "message": "Export support types from extractors\n\nMake each extractor  plugin export a list of file types it supports,\nso we no longer need to hardcode such a list in the framework.\n\nTest: manual\nChange-Id: I1e41a5d477ea56960ad3e4bc35f5183c03c3fe3a\n"
    },
    {
      "commit": "26ac00d36f525a0299b3cb998590bea7f62f7cdf",
      "tree": "9317eeadd33dc4b3a3097210684572f879354bc8",
      "parents": [
        "52e19d498d28d176c754740b55c025deca70d990",
        "707c1468b52b683753cf5d29811d67eb42a6a8ee"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 05 02:55:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 05 02:55:05 2019 +0000"
      },
      "message": "Merge \"Plumbing to recognize AV1 content\""
    },
    {
      "commit": "b49627770b2f803b2ebc093ebdd927ee86ea7a46",
      "tree": "53cc8bc9e269e70495f30fa755e2544b106691f0",
      "parents": [
        "77ebff9435429e05f720422e511d7e3303897502"
      ],
      "author": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Thu Nov 08 15:59:56 2018 -0800"
      },
      "committer": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Fri Dec 21 17:41:21 2018 -0800"
      },
      "message": "MPEG4Extractor+MPEG4Writer:Bframes+EditlistSupport\n\nEnabled BFrames encoding in ACodec. Added edit list box support\nfor B frames recording use case in Mpeg4Writer. Added edit list\nsupport in MPEG4Extractor for video tracks with B frames and postive\nCTTS entries. Also, fixed issues in the existing edit list support\nfor audio tracks.\n\nBug: 113022200\nBug: 113114128\n\nTest: Recorded video in crosshatch and that played in synch on\n      VLC Player-Linux, QT Player-MAC and test device/crosshatch.\nTest: run cts-dev --module CtsMediaTestCases --compatibility:module-arg\n      CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\n      A few test cases in MediaRecorderTest is failing, but those are\n      failing without any of the code changes in this change list.\n      A few of the test cases in MediaMetadataRetrieverTest are failing.\n      Those cases didn\u0027t account for edit list entry in video file and\n      hence those cases have to be modified.\nTest: Simulated frame drops while B Frames recording, by skipping a few frames\n      while muxing a video file with Bframes using MediaMuxer and manually\n      checked values in CTTS table and also the elst entry in edts box.\nTest: Checked playback of files in bug 113114128.\nTest: Recorded video on crosshatch. Checked playback on Nexus 4 and\n      Nexus 6.\n\nChange-Id: I0cf7b26c0d6180b6bb7ad9924505823a629e55a0\n"
    },
    {
      "commit": "a308287ea13cbab40ad6892be20b1253b83c0e36",
      "tree": "b1dc33b4a8f055820aa26b0d0377cbf1b142affc",
      "parents": [
        "3c3c97ae534870c90f54e8cffc6d7d82ab8ca3da"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 14:36:28 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 11:03:24 2018 -0800"
      },
      "message": "Remove support for non-NDK extractor formats\n\nRemove support for intermediate extractor format versions\nand leave only the \u0027V3\u0027 format, but remove \u0027V3\u0027 from the\nnames of the classes and structs involved, and reset the\nversion number back to 2 (version 1 is the C++ interface\nshipped in P, which is no longer supported).\n\nBug: 111407253\nTest: build\nChange-Id: I702080e6bbfbac265967a93945ee97191d463125\n"
    },
    {
      "commit": "be9768e8eff47385c32bcc7f9c3b82c27058b3cc",
      "tree": "2162cb598328f4d4fc057cf88483613037fb69be",
      "parents": [
        "ff0508b3d64e54829b69170adace3bbea4f6a5b6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 13:10:35 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 13:52:45 2018 -0800"
      },
      "message": "Fix memory leaks\n\nBug: 111407253\nTest: manual, libmemunreachable\nChange-Id: I69ad7b48498346925dd02c10b206035c0ae49305\n"
    },
    {
      "commit": "ff0508b3d64e54829b69170adace3bbea4f6a5b6",
      "tree": "07a6bedb573eccac1664985112fc22b0b7b3d6a1",
      "parents": [
        "48d4fff79246d1a988b5538f9f9db5fc57746f9c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 15:17:58 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 18 12:50:30 2018 -0800"
      },
      "message": "Convert MPEG2 extractor to V3 format\n\nand move it to the media APEX.\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Ibcbdd0e901e9d79b5a857b5d0a65bd6b1ec675a6\n"
    }
  ],
  "next": "48d4fff79246d1a988b5538f9f9db5fc57746f9c"
}
