)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "48d4fff79246d1a988b5538f9f9db5fc57746f9c",
      "tree": "d99f749d9a2b8f30b7df8f298c4ac860430d7e04",
      "parents": [
        "c273196c8ee5c71792b97e1164016a1f3400e685",
        "00c5c05d2041978b67394a27bbd64f2ea623c1df"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 18 04:24:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 04:24:12 2018 +0000"
      },
      "message": "Merge \"Use hidl memory from allocator in CAS\""
    },
    {
      "commit": "8a05b94e8bac22bda3e89aede3d9bf1932f68b9c",
      "tree": "ba15de673ed31af21b5f64a0940d020554f8086c",
      "parents": [
        "4f20844fd9137a1691f59b598e52cd9ada0753d2",
        "0b490550b864b8b39a4a72c2544f33f2af03d91c"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Dec 17 22:24:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 17 22:24:17 2018 +0000"
      },
      "message": "Merge changes from topic \"metadata-trackfix\"\n\n* changes:\n  MPEG4Extractor: Read out the Metadata track correctly.\n  MPEG4Writer: Fix the bug in MPEG4 metadata track.\n"
    },
    {
      "commit": "00c5c05d2041978b67394a27bbd64f2ea623c1df",
      "tree": "ead563c9877e54cf69d46c84e5ef0d66a1a5a2e1",
      "parents": [
        "d00c4607a5f7d25dfe925a20a1fc5fd7cfcee67a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 17 14:15:58 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 17 14:23:18 2018 -0800"
      },
      "message": "Use hidl memory from allocator in CAS\n\nMpeg2ts extractor has a depedency on libbinder for\nIMemory, but it doesn\u0027t actually use IMemory other\nthan using it to construct the hidl memory.\n\nMake mediaextractor use hidl memory allocated by\nhidl allocator, instead of constructing hidl memory\nfrom IMemory.\n\nbug: 112766913\nbug: 111407253\ntest: CTS MediaDrmClearkeyTest#testClearKeyPlaybackMpeg2ts\n\nChange-Id: I39e131718ea41f9cb23177c28213ddf7b7741338\n"
    },
    {
      "commit": "e92a5c7d3b0face0059566118e68d19c95284f39",
      "tree": "2001e358d8195313a65d4e7c682b6a11ae3f96ed",
      "parents": [
        "706e8765fb5809e6814f156981de45675e88fbad"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 13 09:52:38 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 13 15:46:05 2018 -0800"
      },
      "message": "Convert OggExtractor to V3 format\n\nand move it to the media APEX.\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Ia6b6edc42f8bb374d4cc07888fb0f45030ca462f\n"
    },
    {
      "commit": "707c1468b52b683753cf5d29811d67eb42a6a8ee",
      "tree": "70b65d4ff93d5e7b2c007bf9640d508bab4f12fb",
      "parents": [
        "156082a18c9186359d2a6bf434d76c338c8db43f"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Dec 05 15:21:35 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Dec 12 17:12:49 2018 -0800"
      },
      "message": "Plumbing to recognize AV1 content\n\nRecognize AV1 content in various container formats, so we can extract\nand pass to the AV1 codec.\n\nBug: 111936705\nTest: playback of AV1 videos\nChange-Id: I8a5523741481586b3569006236bd1fc92869ee76\n"
    },
    {
      "commit": "0b490550b864b8b39a4a72c2544f33f2af03d91c",
      "tree": "b628eac66dd7646ba8aaddb3c26b87158107f053",
      "parents": [
        "6d34bed943d38b87d0644b2e77c8dea3d5854623"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Dec 04 18:21:32 2018 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Dec 12 16:43:42 2018 -0800"
      },
      "message": "MPEG4Extractor: Read out the Metadata track correctly.\n\nThe metadata track before API29 is not compliant with the standard. This\nCL adds the support for reading out the mime_format correctly from compliant\nand non-compliant metadata track.\n\nBug:  117950811\nTest: CTS test.\nChange-Id: I9a7033549962711b625f5a008a22930691ab3e5e\n"
    },
    {
      "commit": "1d1da3d5be8eddef6311e2f825d58ca3ee5d0421",
      "tree": "82d97728916a1d88d52c2642b89328da183d9962",
      "parents": [
        "ee39a7f0b500d318971f056d03048d85a6917b00"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 13:07:45 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 13:58:44 2018 -0800"
      },
      "message": "Convert MatroskaExtractor to V3 format\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: I16e1fa8296c5780165d8a434f7fbe7236036d02d\n"
    },
    {
      "commit": "ee39a7f0b500d318971f056d03048d85a6917b00",
      "tree": "1126a77f032f8f8e8503db4ffaa5b124d39027c0",
      "parents": [
        "32f45bfc862d6d2f6588e74d31d08b27377fe99a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 08:14:42 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 11:23:00 2018 -0800"
      },
      "message": "Convert MPEG4Extractor to V3 format\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Ic59ebc1b8093a2fd33485550625bb6083cff54d7\n"
    },
    {
      "commit": "32f45bfc862d6d2f6588e74d31d08b27377fe99a",
      "tree": "2a35c235bcb8afcf352e349984702f4715d7f440",
      "parents": [
        "59c920b7d817e4484c68ac4cdfb0c96d41380ff8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 09:02:47 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 09:18:16 2018 -0800"
      },
      "message": "Remove MediaBuffer::clone and other dead code.\n\nChange I570374f936e434b214e9cd55e2a72f12ebeafad2 removed some dead code,\nbut in turn created more dead code. Remove that too.\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: I4ac01935c03257857456d8e460f98f6d4f7eb430\n"
    },
    {
      "commit": "63a9ec6bd5b163196787bb2424ef87637345516c",
      "tree": "a6c152599241d194bdeb4b22de9198e2737663eb",
      "parents": [
        "f1a3910d33e57958e42f62f4fc95107b43d32af4",
        "fd8212e7ce78001c11ef12b3d52470cdcfd587d9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 05:53:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 05:53:40 2018 +0000"
      },
      "message": "Merge \"Fix double free\""
    },
    {
      "commit": "9014dce62259a59439dbd7512e852a70a9fbd71b",
      "tree": "cae5f9bb5c94bf1cf9c1ebbe13052c4546f13f4d",
      "parents": [
        "c94b0f806352d9384eeb92c2e4d7173851ccc573",
        "5e65a6ad370c34b42e85007af0934afbd00bf57f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 04:28:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 04:28:04 2018 +0000"
      },
      "message": "Merge \"Add haptic metadata for Ogg file.\""
    },
    {
      "commit": "5e65a6ad370c34b42e85007af0934afbd00bf57f",
      "tree": "df2d5dc69db7a4fc8828c6b934db14f4c1fa6ffd",
      "parents": [
        "6b6a0f05248fc646d42f09cb891d8b6fda19426e"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Nov 02 14:25:45 2018 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Dec 11 18:25:56 2018 -0800"
      },
      "message": "Add haptic metadata for Ogg file.\n\nAdd a key \"haptic\" in Ogg file metadata, which indicating the haptic\nchannel count of the Ogg file. When it is present as a valid number,\nOggExtractor will set haptic channel mask accordingly to support haptic\nplayback via audio. This is part of haptic playback support.\n\nBug: 111454766\nTest: Manually test\nChange-Id: I9f9ba22358b7c538382f23f24143057970f6d7ad\n"
    },
    {
      "commit": "fd8212e7ce78001c11ef12b3d52470cdcfd587d9",
      "tree": "cbe65d8ad757aa5b4bf0b8d715140c5154ceccb6",
      "parents": [
        "88bd26d835247ea061c1b261bddb0d3c50abc9df"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 11 14:58:30 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 11 14:58:30 2018 -0800"
      },
      "message": "Fix double free\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: I1515771b8f86d0865085df5d3803aa6cb61201f4\n"
    },
    {
      "commit": "7ce82e7ccf47ec5ea00a85a15665eb51edd9b258",
      "tree": "c5f64e4625f55289294f05da08430cc18067751e",
      "parents": [
        "af242df7565a8f132b53d75d517052f9689e947f",
        "070f41ead172f0944351906ae8073fff01e854c9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 11 13:31:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 13:31:22 2018 +0000"
      },
      "message": "Merge \"Update AC-4 support in MPEG-4 extractor\""
    },
    {
      "commit": "620084c71e2bbaeb43860d15e116f0be63fbf3b6",
      "tree": "67ab0b67fe6e0e55f0b2a90b69da4a17e0650324",
      "parents": [
        "6c5157eaa8682ee60db576c49fcf56a3d61174f0"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Dec 10 19:46:45 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Dec 10 19:47:59 2018 -0800"
      },
      "message": "Remove libmediaextractor from FlacExtractor\n\nTest: build\nBug: 111407253\nChange-Id: Iefb22fe3c26702bce5cea81c546290fb5f532b61\n"
    },
    {
      "commit": "88bd26d835247ea061c1b261bddb0d3c50abc9df",
      "tree": "0d00a6f766510c43043b06fac1eb9e3369115093",
      "parents": [
        "0b6db2c97404943d7b5628eee50e58fd92e51054"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Dec 10 10:54:20 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Dec 10 10:54:20 2018 -0800"
      },
      "message": "Convert FLAC Extractor to V3 format\n\nBug: 111407253\nTest: manual, CTS\n\nChange-Id: Ie3c4ae68a04c950ebc62aca60b502536a05169ca\n"
    },
    {
      "commit": "8c928088feadc57b40ff08d048e1c1e289b1b654",
      "tree": "1567fb4e1fd05a478135954d41f38d50f73f34b7",
      "parents": [
        "fd7fa089178267bf6cabd691b674f87364f589bd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 07 16:05:22 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 07 16:59:58 2018 -0800"
      },
      "message": "Convert AAC, AMR and Midi Extractors to V3 format\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Id2168fa3dffb070538592fe2c28c285b1a2bf081\n"
    },
    {
      "commit": "60bfbd7bd10417da75d6e507211f651b14bb1861",
      "tree": "e988fa01c2fa68187b6447d0f92309019994ec77",
      "parents": [
        "07567d630dbda88b9a25a439a5936e507d1caeca"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 07 11:55:33 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 07 11:55:33 2018 -0800"
      },
      "message": "Convert MP3Extractor to V3 format\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Id3a70df7512d45f8d37b125f1eb65d23f3bd68f7\n"
    },
    {
      "commit": "07567d630dbda88b9a25a439a5936e507d1caeca",
      "tree": "5a0dbb9804c62be63d69b6da9272e1cf27ce2924",
      "parents": [
        "fb88fcd6fedec63fc370e74902ccc57eef6b4e69",
        "0e043b67ee430bc807971a5ffb29c653501ce99c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 07 15:22:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 15:22:52 2018 +0000"
      },
      "message": "Merge \"C-ify MediaBuffer\""
    },
    {
      "commit": "df7d3e08762a077ec6d5c909129472100c9a6649",
      "tree": "c5b6e36454a1d838d7ac56fb52c1a7cc5754cff8",
      "parents": [
        "0209452544dfd347de2ddb4e8cfaf89f51bc039c",
        "6671ea8a46da5cbeaba2da4c623353441758cf50"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 17:16:25 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 06 17:16:25 2018 -0800"
      },
      "message": "Merge \"Remove CFI diagnostics.\" am: 64ac8c6301 am: b89b976d77\nam: 6671ea8a46\n\nChange-Id: I4de33cfd8451cceab9ca234d884522e6e9489b08\n"
    },
    {
      "commit": "3989f64995b4a5ff4da651dcc8207f41bcdffc1e",
      "tree": "c7fd29e1a0e489c99b4dea349d2d5b749c4e88fe",
      "parents": [
        "4c88a45c54e551f2d30751f4bc5be73ee8234fd0",
        "6a746a4dc73c8acdce39442bbc1dd26dbd739587"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 06 22:55:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 06 22:55:02 2018 +0000"
      },
      "message": "Merge \"FLACExtractor: Fix 24-bit compressed to 16-bit raw handling\""
    },
    {
      "commit": "64ac8c6301d0e809d2fc0935dbf16bf318b4940d",
      "tree": "c958f05b965093b757957764df687f863316a700",
      "parents": [
        "b4ce717ae52de8ed9b03947fe21f437428f45084",
        "db19f572b941e62ffd688f2198da122977c55a28"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 20:57:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 06 20:57:49 2018 +0000"
      },
      "message": "Merge \"Remove CFI diagnostics.\""
    },
    {
      "commit": "db19f572b941e62ffd688f2198da122977c55a28",
      "tree": "3713ab1298069be97a599b88c5cae6ef0900bee8",
      "parents": [
        "8c545704ea199e13c23f47cd8f4067bcdc25071f"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 10:33:28 2018 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 10:53:33 2018 -0800"
      },
      "message": "Remove CFI diagnostics.\n\nRemove diagnostics mode from CFI across the board. This should reduce\nperformance overhead and also allows the minimal runtime to work when\nother ubsan sanitizers are enabled. CFI stack dumps should include a\ncfi related function, so it should be apparent when a crash is CFI-related.\n\nBug: 117417735\nTest: make -j\nChange-Id: Id2cb6cb64425c4c89c031d93156fb1a20be5fa7b\n"
    },
    {
      "commit": "0e043b67ee430bc807971a5ffb29c653501ce99c",
      "tree": "d48612310795acb3478370ae141a63274b06f8b8",
      "parents": [
        "b6670e3dbe3ca63d6766ae45de809ea97590d817"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 14 11:26:05 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 06 10:10:06 2018 -0800"
      },
      "message": "C-ify MediaBuffer\n\nBug: 111407253\nTest: CTS, manual\nChange-Id: Id20094f23d9d0dc0ec23127bbedc62c6e29944bd\n"
    },
    {
      "commit": "070f41ead172f0944351906ae8073fff01e854c9",
      "tree": "6144895b0d588747e2395aa8aefe1284860e6c4d",
      "parents": [
        "b079c02b1fa4f1b5c5b6334b93af584797b4454f"
      ],
      "author": {
        "name": "Previr Rangroo",
        "email": "prang@dolby.com",
        "time": "Thu Nov 22 18:33:57 2018 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 06 09:26:49 2018 -0800"
      },
      "message": "Update AC-4 support in MPEG-4 extractor\n\n- Add support for AC-4 Immersive Stereo (IMS)\n  which has presentation version as 2.\n- Update AC-4 specific box size for AC4 IMS\n\nBug: 119312182\nTest: compile\nChange-Id: I988e1721265985d1036984efad1ca2ab549ac6c6\n"
    },
    {
      "commit": "6a746a4dc73c8acdce39442bbc1dd26dbd739587",
      "tree": "81519c6f4ca936aa2a91c3e3a734437530b827eb",
      "parents": [
        "f4a342abd2959904caa18b5a0671e8107581ff24"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 05 14:07:04 2018 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 05 15:48:25 2018 -0800"
      },
      "message": "FLACExtractor: Fix 24-bit compressed to 16-bit raw handling\n\nTest: Instrumented test with 24 bit FLAC files.\nBug: 120562758\nChange-Id: I64e90148869e1318f9123f23753e36316f6f473d\n"
    }
  ],
  "next": "0d4c354adb905523e47a6e53680de22d4529a327"
}
