)]}'
{
  "log": [
    {
      "commit": "e44ca3765fca8d82f7dcf884c53acddb6704dd20",
      "tree": "cb8adfd52c1d2d825ef2ae88fc9800aa085e7716",
      "parents": [
        "c3d554d42f637a9076473b070b30ba3e8229189c",
        "c666687f67d1d00beb88c63f90cefc708cbe8500"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 27 22:37:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 22:37:47 2018 +0000"
      },
      "message": "Merge \"Tuning of buffer dequeue code to reduce stalls\" into pi-dev"
    },
    {
      "commit": "918ddcc97b5679ba2afd0bfeb6f79be111ad6166",
      "tree": "6d1b74fc40698d17c52618faa722d7ea4d38d2c4",
      "parents": [
        "b0d44131e93e0190351ac50ea7a3fe76da168557"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Apr 26 13:59:10 2018 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Apr 26 22:59:04 2018 +0000"
      },
      "message": "MatroskaExtractor: handle parse error.\n\nThis change makes MatroskaExtractor return EOS when it faces\nparse error in the middle of extracting.\n\nTest: manually hardcoded parse error and tested if playback\nends gracefully with Photos app.\nTest: pass post submit CTS.\nBug: 73654561\n\nChange-Id: I7f51580114de1304348e4d3305153ce6c3a2f13a\n"
    },
    {
      "commit": "c666687f67d1d00beb88c63f90cefc708cbe8500",
      "tree": "695ac83e026a22e1e89734e623d0d4014b79c68f",
      "parents": [
        "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 20 14:25:30 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 12:47:38 2018 -0700"
      },
      "message": "Tuning of buffer dequeue code to reduce stalls\n\nQueue as many inputs as possible without blocking, then\nblock on output. Also change the blocking time to 10ms\nbut allow a little more retries.\n\nFinally, assign a non-zero pts to the image samples to\nsuppress warnings from MediaCodec about 0 pts.\n\nbug: 78475896\n\nChange-Id: I57c4096a93bc5de0a413968224843a69df667df8\n"
    },
    {
      "commit": "1deee1056103f26ae42dc0a84daaf13ea6b0948e",
      "tree": "4b084a815e92103f23dc449c1a1f557720467231",
      "parents": [
        "7676c94b6fa0c504b526daf13472de486308c274",
        "a2c4181b9cc30703b0471831e2e5fa03253b5690"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Apr 23 21:27:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 21:27:54 2018 +0000"
      },
      "message": "Merge \"MatroskaExtractor: support Subsample Encryption\" into pi-dev"
    },
    {
      "commit": "691358ac9cd6859382807dfd44e820fe5cc97c51",
      "tree": "61c1d71d8ef7a6313f1b86e90917e97c322f22d8",
      "parents": [
        "7b56f7cc71f957f52f79df63f1cf234905d36f65",
        "6225516c8512741fe659ede6eeae37806c35314c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 23 19:57:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 19:57:56 2018 +0000"
      },
      "message": "Merge \"Don\u0027t CHECK for unknown fourcc\" into pi-dev"
    },
    {
      "commit": "a2c4181b9cc30703b0471831e2e5fa03253b5690",
      "tree": "a832dde0a0a9e629037673f626c180fc4922b394",
      "parents": [
        "150b9846f846165344910b9211739cdb3054ccf4"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Apr 19 15:32:55 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Apr 20 14:21:44 2018 -0700"
      },
      "message": "MatroskaExtractor: support Subsample Encryption\n\nDetails described in following link:\nhttps://www.webmproject.org/docs/webm-encryption/#46-subsample-encrypted-block-format\n\nBug: 72661378\nTest: yt_playback_diagnostics\nChange-Id: I95507eea7d35c1338d9256701e40b5272df80990\n"
    },
    {
      "commit": "6225516c8512741fe659ede6eeae37806c35314c",
      "tree": "3a7d303a647c71314410122c0c2e80a3975fc3a3",
      "parents": [
        "85d2e91d3cb2faaf42338df28d34c1cc1bc968bd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 17 14:03:59 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 17 14:03:59 2018 -0700"
      },
      "message": "Don\u0027t CHECK for unknown fourcc\n\nBug: 69924180\nTest: manual\nChange-Id: I47c8e16dbe3ba5ec9ee44de6901c4916d9e79773\n"
    },
    {
      "commit": "7f3f4c9196cbde179980254e43b543038a00c8be",
      "tree": "98d1447494f93fd209b98f863873e4599757f9bf",
      "parents": [
        "6c23e5b1dfa4a3764555b35e74cff938b56e7f99"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 30 09:35:04 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 16 14:35:08 2018 -0700"
      },
      "message": "Link statically with libutils and libstagefright_foundation\n\nRemoves external dependencies on things like RefBase and Vector, with\nminimal code size increase.\nBug: 67908544\nTest: manual\n\nChange-Id: Iee05844db83fc8e55f63ec1a7a7fa466ac09345c\n"
    },
    {
      "commit": "d5fa357ddff0589d8a331583a56e62712af471be",
      "tree": "64a6fec9e99d8aee6e721d42fd5fc6b2c2b17a3f",
      "parents": [
        "2383098d54b6503875bdf0c6b649fa66f22d79ac"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 09 19:03:10 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 12 00:08:38 2018 +0000"
      },
      "message": "Use heif embedded thumbnail if available\n\nAdd plumbing to retieve the embedded thumbnail from\nMPEG4Extractor/ItemTable.\n\nbug: 74395267\nTest: CTS MediaMetadataRetriever test; manual test of thumbnail\nextraction by browsing new folders containing heif files in\nDownloads app.\nChange-Id: Ic49f6dfa47eddc229b9f4b0e1835d58df1dce9f8\n"
    },
    {
      "commit": "15033bd29308cf8d6a177ed871b5b35eda65e8c0",
      "tree": "5e42d91bc46cad94cedbd8d621c84f2f2559b72f",
      "parents": [
        "fcf9a4c7e2d646154927a53d7a25bef5c4c380d7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 04 11:48:52 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 04 11:54:23 2018 -0700"
      },
      "message": "Fix thumbnail track skipping\n\nThumbnail tracks are identified by \u0027tref\u0027 box with a \u0027thmb\u0027\ntype reference in it. We can\u0027t skip a track as soon as a \u0027tref\u0027\nbox appears, need to actually parse it and look for \u0027thmb\u0027.\n\nbug: 77556099\n\nTest: playback of audio files in bug, playback of image sequence\n      file (bird_burst.heic) with thumbnail reference.\n\nChange-Id: I7d6ec8af218de2f0cba258f8eaaac9b62f9cb020\n"
    },
    {
      "commit": "f334e17df4b8758e65923a17ae154a7bdbc6f07a",
      "tree": "ab14b5022f4c3bb56c0fe6ef02ad059830b2c113",
      "parents": [
        "f247a89ef809d77e0ff34c8bb05e00e4473c1a65",
        "01a7601f753fb80e89202fc0b115e263581fc3f4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 22 17:39:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 17:39:52 2018 +0000"
      },
      "message": "Merge \"heif: report Exif offset and size in file meta\" into pi-dev"
    },
    {
      "commit": "01a7601f753fb80e89202fc0b115e263581fc3f4",
      "tree": "2351bb9131348b385ffbeeca17e8e9f4a1e87650",
      "parents": [
        "7dccfdd8f0752db2717d554d0cf1925c34202639"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 14 18:19:49 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Mar 16 15:50:02 2018 -0700"
      },
      "message": "heif: report Exif offset and size in file meta\n\nbug: 73978990\n\nChange-Id: I64e9b7e4535e7f1560e31f0302eeaf70db323dd7\n"
    },
    {
      "commit": "67d5b91f2fa0b106c038e642225e3b538db2be2e",
      "tree": "3450723f9600a1ddf4af2735423a85d1a5f8d1c9",
      "parents": [
        "3f21345e16b77c49042f5c13ceb62b0c35699561"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 14 18:17:40 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 15 16:00:21 2018 -0700"
      },
      "message": "heif: renaming of grid-{width,height} to tile-{width,height}\n\nSo that it\u0027s not confused with grid dimensions.\n\nbug: 74831433\n\nChange-Id: I29188c6527c2315cbc66157a0a5b68a0d11fecc4\n"
    },
    {
      "commit": "0c9906db23f03fc021ac00ca145043f6222e3d08",
      "tree": "dd0d60e2deeb029b9b53f6cb083d7eba7b6027ed",
      "parents": [
        "c5678c492d97e45b3ff2af44523001046224f704"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 08 12:19:42 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 14 19:58:22 2018 +0000"
      },
      "message": "Remove some ABuffer uses from libmp4extractor\n\nBug: 67908544\nTest: CTS MediaPlayerTest\nChange-Id: Ia32002afb48445ea55be9eb33ebc09bccb5acb5d\n"
    },
    {
      "commit": "a1a005fc01118685c92e723c8dcf7afeffc9d59c",
      "tree": "0182587d13b606180463f8e70fc8914c42720a9e",
      "parents": [
        "9d3824e06b07300a5b20b7d6bf024b3f3b0a177f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Mar 06 12:44:24 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Mar 13 15:36:38 2018 +0000"
      },
      "message": "Remove 6 out of 8 RefBase references from mkv extractor\n\nBug: 67908544\nTest: CTS DecoderTest\nChange-Id: I04b6cda83861e70f1de70abc671dd791327be159\n(cherry picked from commit ba1f0ab5ce8aa3a96578f6fb372d28d56a687aef)\n"
    },
    {
      "commit": "dc9df6a12d848b32fbd041421c663d2014f32403",
      "tree": "db22c1efa2f9a971dba66e242ccdc3b7251d4f4d",
      "parents": [
        "0f70117175f4cbadde84212cbd10fb3261cafd03",
        "46c24cd8224d16124bb00b2cf35ae202d9484687"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 21:07:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 21:07:34 2018 +0000"
      },
      "message": "Merge \"heic content_encoding field is optional\" into pi-dev"
    },
    {
      "commit": "46c24cd8224d16124bb00b2cf35ae202d9484687",
      "tree": "2ca713b85366d94fbeb4e57d6d3bcb80790fa953",
      "parents": [
        "ecff3f95aece364d5b35600c6cfda1b04af52a7c"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 08 13:54:19 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 09 16:51:05 2018 +0000"
      },
      "message": "heic content_encoding field is optional\n\ncomply with the ISO spec that allows for content type fields to\nbe omitted in the mp4 header if they would be otherwise empty.\n\nBug: 74375003\nTest: before/after of PoC\nChange-Id: I522bacf192fee86122f603d6e87506e1a004f3f6\n(cherry picked from commit 237dc91c546cf5e39737812f49460b552a529f7d)\n"
    },
    {
      "commit": "706018544e02251ddd725b9ebc9e6fa827775ae0",
      "tree": "a5a132f55d0c4a28524e9468c53fd0e0f152b92b",
      "parents": [
        "cda259fbfd8e64cde11251d6a8dea89c907789db"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 08 15:23:43 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 08 15:25:48 2018 -0800"
      },
      "message": "fix null terminated string parsing\n\nbug: 63633199\nChange-Id: I443d8799281d22d02e25df844739ef6c376ef9e2\n"
    },
    {
      "commit": "7c9123d1bc697dc0496374908281b7a76914574a",
      "tree": "5cfe914cb04a18b9bb9564595c15519e3deeab52",
      "parents": [
        "baea52472c0e8b1dd2f63b2c39539fd477552abd",
        "a1d39ba72fd92df6b447939b1bbede5c56df17e6"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:46:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 04:46:55 2018 +0000"
      },
      "message": "Merge \"Revert \"NdkMediaExtractor: per-sample format metadata API\"\""
    },
    {
      "commit": "a1d39ba72fd92df6b447939b1bbede5c56df17e6",
      "tree": "54fff7206b48bd7123929128a4fc1e2b1d0a44d4",
      "parents": [
        "062ffd042fcbd237f445d499bc8ea8c5baf61d98"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:33:02 2018 +0000"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:33:02 2018 +0000"
      },
      "message": "Revert \"NdkMediaExtractor: per-sample format metadata API\"\n\nThis reverts commit 062ffd042fcbd237f445d499bc8ea8c5baf61d98.\n\nBug: 63934228\nBug: 74089496\n\nReason for revert: original change bypassed presubmit, causing mediaextractor crash, \n\nChange-Id: Iac4c49659dfa7415908d60da98a2285c583a1196\n"
    },
    {
      "commit": "ca791b98577f2843c9fe8bc7ed28aadf02fb255c",
      "tree": "b95cfa1ec40d713a937b0105bb48e38141d5dc82",
      "parents": [
        "b66d56699b899ebc19d662abb0b1a3dbc3736e22",
        "062ffd042fcbd237f445d499bc8ea8c5baf61d98"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 01 23:51:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 23:51:40 2018 +0000"
      },
      "message": "Merge \"NdkMediaExtractor: per-sample format metadata API\""
    },
    {
      "commit": "062ffd042fcbd237f445d499bc8ea8c5baf61d98",
      "tree": "689681687a4f67f44b6532a904718eb984919c25",
      "parents": [
        "006b7eebe4c86eba7a67471d99b061b6b76177f5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Feb 24 19:02:46 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 01 14:11:11 2018 -0800"
      },
      "message": "NdkMediaExtractor: per-sample format metadata API\n\nBug: 63934228\nTest: MediaPlayer2Test\nChange-Id: I3e6dc40d39bcb6d939ef7c555c2373995a9b6ae4\n"
    },
    {
      "commit": "33971ac15c70507d8ce390c015399283e96f921d",
      "tree": "9708c8866af041bcc3be93f72a379dbc00f829a1",
      "parents": [
        "414ef561baf181397ecab5aac0e4a3ce66a9fd96",
        "06223f81c89a55ccc993b990edb14ba46e355862"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 18:41:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 18:41:35 2018 +0000"
      },
      "message": "Merge \"Add missing assignment in AACExtractor.\""
    },
    {
      "commit": "b486b52b2b67961073677d583a02269cbdc9a3fc",
      "tree": "6b56a1661c8e6684113a12a770b1d8e282294df8",
      "parents": [
        "c9e3a6945d67b8ecb7835686a04c2ac6d75f3d5a"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Feb 16 15:46:53 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Feb 27 15:18:32 2018 -0800"
      },
      "message": "Remove system library classes from DataSourceBase\n\nTest: build.\nBug: 67908556\nChange-Id: Ib56b3cd92ecc781fc2c4ff3696e71051ce8e212d\n"
    },
    {
      "commit": "06223f81c89a55ccc993b990edb14ba46e355862",
      "tree": "60a8adfd57ea84b490ecaa4a32ec71431d14f59c",
      "parents": [
        "c9e3a6945d67b8ecb7835686a04c2ac6d75f3d5a"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Feb 27 13:36:55 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Feb 27 13:48:36 2018 -0800"
      },
      "message": "Add missing assignment in AACExtractor.\n\nAn assignment statement was dropped in MetaData refactoring change.\n\nTest: passes MediaPlayerTest#testResumeAtEnd \u0026 testPositionAtEnd\nBug: 73948878\nChange-Id: I9fd835afa24e1cc3c718f186a8b3d18bc1d427f8\n"
    },
    {
      "commit": "4c96b75c87bc3f8dd2da7f76b08a81333b43ce22",
      "tree": "f0e8dfb12a8edcb837c59cc793467c7762b13ac3",
      "parents": [
        "54c28999afa7834a8dbc6079a2707598a37db56f",
        "3d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 26 22:12:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 22:12:54 2018 +0000"
      },
      "message": "Merge \"Remove RefBase from the extractor API\""
    },
    {
      "commit": "25070a9107eff42b412095cb93b8555572d15069",
      "tree": "e82695726e61d9347b4ba66a1d5ab0df569f8cd4",
      "parents": [
        "8562a00e25526bab80e6365880bf6660bb7f9375",
        "58ddee30e6cefde8a8f3d4d4aa55954e16c7bb18"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 23 19:04:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 19:04:11 2018 +0000"
      },
      "message": "Merge \"MediaCas: use HidlMemory to avoid handle leaks\""
    },
    {
      "commit": "3d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0",
      "tree": "4e73f99782f61c1d3d76767b9e03e2aae7ea6130",
      "parents": [
        "13cb23855c3b5242818725262d8822dd4f9be24e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 16 08:24:08 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 23 10:04:34 2018 -0800"
      },
      "message": "Remove RefBase from the extractor API\n\n- Add MetaDataBase base class that MetaData derives from, but which\n  does not derive from RefBase.\n- MediaBuffer::meta_data() now returns a MetaDataBase\u0026 rather than an\n  sp\u003cMetaData\u003e\n- Rename MediaSourceBase to MediaTrack.\n- MediaSource no longer derives from MediaSourceBase (or MediaTrack)\n- MediaTrack::getFormat(), MediaExtractor::getTrackMetaData() and\n  MediaExtractor::getMetaData() all take a MetaDataBase\u0026 parameter that\n  they fill out, rather than returning a MetaData directly (the\n  corresponding methods on MediaSource and RemoteMediaExtractor continue\n  to return MetaData)\n\nBug: 67908544\nTest: CTS MediaPlayerTest, DecoderTest, EncodeDecodeTest, manually record video\n\nChange-Id: Ib531ab309061290be33d40d6100c9a8127e22083\n"
    },
    {
      "commit": "58ddee30e6cefde8a8f3d4d4aa55954e16c7bb18",
      "tree": "cd94f74fff0257914629590f77acaa5d4d89e7de",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Feb 13 17:52:39 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Feb 16 11:06:46 2018 -0800"
      },
      "message": "MediaCas: use HidlMemory to avoid handle leaks\n\nbug: 67710751\ntest: CTS MediaCasTest, ClearKeySystemTest; VTS VtsHalCasV1_0Target\nChange-Id: Iaa0d6ac12095b6cf24a9fbd57c7c641e9fd11404\n"
    },
    {
      "commit": "81be7d85ab3e1a5897be623d040a26d4d9ede207",
      "tree": "1161cef3aa4aca94ac6625369d5adde614cf2359",
      "parents": [
        "46b5c79e2f02b946a58e8c501f7930d439d42771",
        "1889c3edad32995c0cf26ae2248fe7c957b7ec84"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Feb 15 23:07:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 23:07:17 2018 +0000"
      },
      "message": "Merge \"Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.\""
    },
    {
      "commit": "8ff8cab83dacf0263d7675d265c30bc1b8fd5dfd",
      "tree": "f2924f58b9d6a547caef4249feaebfe6ce877197",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 13 13:50:22 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 15 10:12:48 2018 -0800"
      },
      "message": "Remove dead code\n\nRemove code that was unreachable or never called.\n\nTest: build\n\nChange-Id: I82da1a3a046a7fe66bf012aa749d5a2de669d807\n"
    },
    {
      "commit": "1889c3edad32995c0cf26ae2248fe7c957b7ec84",
      "tree": "5a4bd7fec36d039f75d04124b46d6295ac65e200",
      "parents": [
        "405b3c70ccf6c6671fbbe72557a8493e4e0f6097"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Feb 01 13:44:57 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 12 23:59:34 2018 -0800"
      },
      "message": "Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.\n\nMediaBuffer class exposes internal classes, ABuffer and IMemory, which\nwe don\u0027t want to expose to plugins. This change introduces\nMediaBufferBase which does not expose any classes from system library.\n\nTest: build and post-submit media cts tests\nBug: 67908556\nChange-Id: Ic9ee239caf9b84b2b3740e2d533257afa25c8784\n"
    },
    {
      "commit": "17e172b4c3c87ecaa7c87eecc42b4dc47e3e9734",
      "tree": "ebae6775547c0e5378bad9481223182776cb1d99",
      "parents": [
        "d23ab3ae2248781640e9a10659c9ad0a78941acc"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 30 14:47:53 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Feb 02 15:21:22 2018 -0800"
      },
      "message": "Remove String8 and AMessage from extractor plugin interface.\n\n- mime(String8): is dropped from the interface since it was only used\nfor debug message. debug message is replaced with MediaExtractor::name.\n- meta(AMessage): is replaced with an opaque pointer, void *, in addition\nto an additional function pointer to free the object.\n(In MPEG4Extractor case, AMessage with \"meta-data-size\", which was\nintroduced in Id2acdde89, is removed since the use case had been gone\nwith AwesomePlayer.)\n\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg\nCtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\nBug: 67908556\nChange-Id: I242944332bf0ff7dd4ad2106fe8f68e97264010b\n"
    },
    {
      "commit": "d23ab3ae2248781640e9a10659c9ad0a78941acc",
      "tree": "b38de1495ee9e29d826a0222d8590e4e00804df9",
      "parents": [
        "24aabf915e8252ab318d0df6888a0d61a4c7a904"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 29 17:29:21 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Feb 02 14:20:43 2018 -0800"
      },
      "message": "Remove std:vector from MediaExtractor::setMediaCas()\n\nThe layout and implementation of std::vector may be different depending\non the compile environment. Now MediaExtractor uses plain c pointer to\npass the token while framework side, IMediaExtractor, keeps using\nstd:vector.\n\nTest: build\nBug: 67908556\nChange-Id: I9614426e1d3318ee6ead5f8f78d5d0120d8c605d\n"
    },
    {
      "commit": "2a243f08193fe9ff1afe018e9953f01c44ced9de",
      "tree": "80d5f40de50cd826248cfe4265b383677f25d0c0",
      "parents": [
        "58bce947568db8f6dd5e12e6548aff27af26ae96"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 30 08:29:57 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 02 07:52:05 2018 -0800"
      },
      "message": "Remove RefBase from plugin-side DataSource\n\nExtractor plugins now use DataSourceBase, which is not refcounted.\nFramework-side DataSource derives from DataSourceBase and RefBase.\nAlso remove MediaExtractor::release, because it is not needed\nanymore due to the way the extractor/track/datasource lifecycle\nis managed now.\nAlso add source and target pid to CallbackDataSource name, to\nmake the extractor dumpsys more useful.\n\nBug: 67908556\nTest: build, boot, CTS, skia test app for heif\nChange-Id: I6b9cbe903f76b0cf27ba87f4a456f424803efd08\n"
    },
    {
      "commit": "3085dbc1d9e8253cbc7a291c17c7906ec33f8a48",
      "tree": "2c7f15281b7c8816c293a036231c1a92f15669ed",
      "parents": [
        "2eff8dbb28293a2e66c298f1abb3f366e5ca8f5e",
        "af1da8561beda2a8f9959a15808c9b4f404942b3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 31 19:08:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 19:08:09 2018 +0000"
      },
      "message": "Merge \"heif: allow files without valid image sequence track to extract\""
    },
    {
      "commit": "7dc218e17800cc3ac95551e3280820f407adf7b5",
      "tree": "5b1bb688016d28275880b5953617cec84d12fafa",
      "parents": [
        "0f826b3e28c1e917f5ba94af6eb6f2ef87661a15"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 29 08:59:33 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 31 00:08:48 2018 +0000"
      },
      "message": "Move MetaData from foundation to libmediaextractor\n\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg\nChange-Id: I2c5e05f83f039813cb4c862e929315e623d5d7fa\nCtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\nBug: 67908544\n"
    },
    {
      "commit": "cb30d8477cbd16dcef6acee1e07dedfa246e9456",
      "tree": "1d3aa1463ffd4718c13061bcf964e2562ea88c85",
      "parents": [
        "7d880c31d2079299000b036c6ae742dc695a5b19"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 26 15:29:02 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 29 23:33:18 2018 +0000"
      },
      "message": "Remove RefBase from plugin-side MediaSource\n\nExtractor plugins now use MediaSourceBase, which is not refcounted.\nFramework-side MediaSource derives from MediaSourceBase and RefBase.\n\nBug: 67908556\nTest: build, boot\n\nChange-Id: Ie33ca07f0d0ba783a504d7b7bf1a75ca4acdd745\n"
    },
    {
      "commit": "af1da8561beda2a8f9959a15808c9b4f404942b3",
      "tree": "fa0e754a1ab566331eaadd7686df3e6ae9715787",
      "parents": [
        "fd4fb71b83d43e3566215c9b8babe3afc99f0816"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jan 26 10:47:19 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jan 29 15:13:27 2018 -0800"
      },
      "message": "heif: allow files without valid image sequence track to extract\n\nSome heif files advertise \u0027hevc\u0027 brand but don\u0027t have valid\nimage sequence tracks. These are technically non-compliant,\nbut allow the still images to extract as long as some still\nimages are found.\n\nAlso fix a type in the format conversion code.\n\nbug: 72363209\nbug: 63633199\nChange-Id: I5b6c486cdccb06c6d45090967650791eb9b513cf\n"
    },
    {
      "commit": "7d880c31d2079299000b036c6ae742dc695a5b19",
      "tree": "3c2dc81fe8516ad4c738b894bb16a230c404a119",
      "parents": [
        "3923b1b71628e668f9b11ed4891ed2840dd331cd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 25 09:44:36 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 29 22:52:01 2018 +0000"
      },
      "message": "Remove RefBase from MediaExtractor\n\nBug: 67908556\nTest: build, boot\n\nChange-Id: I9cc0f1bdb89c2da52f89a28471d4b86f30500abb\n"
    },
    {
      "commit": "ad698c25848de90c4fb409f3966e93615b711342",
      "tree": "41e35e328b212c2661c7f2717da0f41f16f7a022",
      "parents": [
        "78461efd48abfdddadeeef0856845b3b79afd5d0",
        "49ce671c4efa4c5d038351ca441e34c5afa5241f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 26 21:11:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 21:11:49 2018 +0000"
      },
      "message": "Merge \"Remove unused includes and forward declarations in libmediaextractor/include\""
    },
    {
      "commit": "78461efd48abfdddadeeef0856845b3b79afd5d0",
      "tree": "c2431facb85ab7a105c709cb42b56a49c9ac1b03",
      "parents": [
        "d21fb560b26be64a588ff96979022ae4d52f5d3a",
        "45d54c6ec48761b75f92cee4618c4fbffa6be24a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 26 19:59:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 19:59:32 2018 +0000"
      },
      "message": "Merge \"Explicitly use AnotherPacketSource where possible\""
    },
    {
      "commit": "45d54c6ec48761b75f92cee4618c4fbffa6be24a",
      "tree": "322517e6f3448ef466984b0c2cd56d2a4e79831b",
      "parents": [
        "047b5872d4278ee0426db3ba78d0f3fefabaaabd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 26 10:04:22 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 26 10:11:57 2018 -0800"
      },
      "message": "Explicitly use AnotherPacketSource where possible\n\nInstead of using MediaSource and casting to AnotherPacketSource.\n\nBug: 67908544\nTest: build\nChange-Id: I14f3ff755e74b11e858941662d7965607b8a7976\n"
    },
    {
      "commit": "49ce671c4efa4c5d038351ca441e34c5afa5241f",
      "tree": "f269ef96d9f6dbcb169e29accb4f9f1f54830e3e",
      "parents": [
        "d21fb560b26be64a588ff96979022ae4d52f5d3a"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 24 10:16:25 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 26 08:48:56 2018 -0800"
      },
      "message": "Remove unused includes and forward declarations in libmediaextractor/include\n\nTest: make checkbuild\nBug: 67908556\nChange-Id: If840305af5c043bb8014590eb208cf11c99e61ee\n"
    },
    {
      "commit": "5f07c65af5356a4a95410804ce19fc017d6478f8",
      "tree": "2592e3191b3fab7a62fe4f44068256c790fb175e",
      "parents": [
        "907eec49c50c6b6ec962e69da47ce6eb658624c0",
        "ebb94d179cf2b86b13b794d75aa0c90012298c93"
      ],
      "author": {
        "name": "Zach Riggle",
        "email": "riggle@google.com",
        "time": "Thu Jan 25 22:15:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 22:15:01 2018 +0000"
      },
      "message": "Merge \"Enable building libmp4extractor as a static library for fuzzing\""
    },
    {
      "commit": "ebb94d179cf2b86b13b794d75aa0c90012298c93",
      "tree": "c48dbad7caa80957ed62bceb80653a81f1855111",
      "parents": [
        "7ffa062a68c1b8ec41e79e480a23c01ab0b5d4a2"
      ],
      "author": {
        "name": "Zach Riggle",
        "email": "riggle@google.com",
        "time": "Wed Dec 27 18:29:53 2017 -0600"
      },
      "committer": {
        "name": "Zach Riggle",
        "email": "riggle@google.com",
        "time": "Thu Jan 25 13:09:38 2018 -0600"
      },
      "message": "Enable building libmp4extractor as a static library for fuzzing\n\nSpecifically, for fuzzing we want a statically-linked library and no intsan / ubsan.\n\nChange-Id: Ie1e3121026560bc1c14a6b3eb57387ed369bfc0f\n"
    },
    {
      "commit": "1f2dfe83b5f275c33da2c1e8c5723a3c5a511226",
      "tree": "a93820aeb543725b2f93a97eaa6a2e2ff7022d15",
      "parents": [
        "bd1f998721a5c17623043c415fa2a0bb3e57601f",
        "539272f30f4d62cb416c69f3e09c85d44a9a92a7"
      ],
      "author": {
        "name": "shaohongsheng",
        "email": "shao.hongsheng@zte.com.cn",
        "time": "Tue Jan 23 06:59:11 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 23 06:59:11 2018 +0000"
      },
      "message": "Merge \"SampleIterator: fix sizeof bug in getSampleSizeDirect.\" am: d31b6e37f0 am: 55deee7015\nam: 539272f30f\n\nChange-Id: I3db09a25e9b81e24b67ed6f3c3a29547feba3853\n"
    },
    {
      "commit": "8ff36d7429fae418478162d1d04cd6e10173ad43",
      "tree": "760092b9dc2d380bced275be072ae16f70a7ab11",
      "parents": [
        "f625434197ece050574267895768f5166d229875",
        "8ca24ea1b14430a986e92ab26c0444dc76170833"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Jan 12 21:16:34 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 12 21:16:34 2018 +0000"
      },
      "message": "AACExtractor: check bounds during seek am: 0790581021 am: a896e5b77a am: be8e054c7a am: 42495748d7 am: 86a97a8d1a am: 8ffac892a5 am: 5c2b26a07c am: cd44215f9f am: aec31ed331 am: 33890805cd am: e3e230890f am: f24336a7e4 am: 4074f23f8d\nam: 8ca24ea1b1\n\nChange-Id: I1a24b78f9bfb8a6520b497371f3318b4d0039332\n"
    },
    {
      "commit": "661e6990bf0fc4174f43cea928d80fcdcc623ff6",
      "tree": "5633a6c826cd349dad7e98c8781dfb440fd6bb17",
      "parents": [
        "bf4637b5b8d8086fdfc92e691d470d283ce6e37f"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 05 13:44:10 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 08 09:08:41 2018 -0800"
      },
      "message": "Remove libmediametrics dependency from libmediaextractor\n\n- Removes media metrics related methods in the extractor plugin.\n- Puts metrics related code in one place, RemoteMediaExtractor.\n\nTest: build \u0026 pass android.media.cts.MediaExtractorTest\nBug: 67908556\nChange-Id: I5e06e6b6b5c047a3c68d90479e55f1df9061da45\n"
    },
    {
      "commit": "0b466551491988f38394a66135cee19ab13b8479",
      "tree": "69a17f0d4e73bcde917452c2f4c34ccf5e7262f3",
      "parents": [
        "0726a4e4086dc6b6c44b90a775a8ded96cc80c31",
        "15d02f84351eaca14099bde11cfbf6f124bea71f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 20 02:06:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 20 02:06:37 2017 +0000"
      },
      "message": "Merge \"Define constants in IStreamListener in MediaKeys.h\""
    },
    {
      "commit": "25333a4763d363b403a00b4850743335dc0fe002",
      "tree": "733db52f1a1a585ce8df3c6dd467308e6a68ef9a",
      "parents": [
        "5439fcbb01876f5a3f865c6d32c441f92e02a5aa",
        "73eaa54c8702616df01bfacdfa2496d17119a15f"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Dec 19 22:45:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 19 22:45:04 2017 +0000"
      },
      "message": "Merge \"fix elst calculations\" am: c10a3e93cc am: ee4079a30e\nam: 73eaa54c87\n\nChange-Id: I27c37ebb1ccc25618c5955d2d4db70c314f3a2d2\n"
    },
    {
      "commit": "15d02f84351eaca14099bde11cfbf6f124bea71f",
      "tree": "0d867f26034186e29b8271391ad6a1baf3516fdb",
      "parents": [
        "2a8dbc7611d3861d696c167ebdced50158bbebe1"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Dec 14 16:32:18 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Dec 19 01:26:18 2017 +0000"
      },
      "message": "Define constants in IStreamListener in MediaKeys.h\n\nCurrently, constants in IStreamSource are being used in ATSParser while\nthey are separate entities. This defines those constants in MediaKeys.h\nso that ATSParser can be used without depending on IStreamSource.\n\nThis removes libmedia dependency from libmpeg2extractor.\n\nTest: build.\nBug: 67908537\nChange-Id: I503a4cdb530825b1932463efae999d120b839e56\n"
    },
    {
      "commit": "1c38e58734ebdea6cbbc61e243a6a15818a3f300",
      "tree": "20dbb2614104d270bf9e32b96ef4243167a1d483",
      "parents": [
        "56953624a163173421297e934e1595cd816cf359"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 15 10:15:44 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 15 10:15:44 2017 -0800"
      },
      "message": "mpeg2 extractor no longer needs libstagefright\n\nBug: 65851881\nTest: build\nChange-Id: Ibb0e8f8bbd44ef3db618988665b6e56072f4b799\n"
    },
    {
      "commit": "03bb4d504db6f23400cb820da7c2018066930abb",
      "tree": "d25a8792341d3350eea46c0301f98dc8d829aa36",
      "parents": [
        "021c8bc0db0a8934881f99ce4926eb9e0f169f6a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 14 12:33:27 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 14 20:48:05 2017 +0000"
      },
      "message": "Limit exported symbols\n\nSymbols from static libraries included in dynamic libraries are exported from\nthe dynamic library by default, and the usual \"-Wl,--exclude-libs,ALL\" doesn\u0027t\nwork for 64-bit libraries, so use a version script instead to ensure we only\nexport the necessary symbols.\nThis prevents applications from accessing the libraries outside of the\nprovided API, and reduces total size of extractor libraries by over 20%.\n\nTest: build, run\n\nChange-Id: I0aa1bd5fdc638960e66f59c867731a0aad255896\n"
    },
    {
      "commit": "247767321d6c3b481dd8255091f41d7c0de66975",
      "tree": "41f4ce1dc38066e7305ed9eb5b6156c8a442bfaa",
      "parents": [
        "720e24cfe430e1719c5defb9a1f41a6b63b02eaf"
      ],
      "author": {
        "name": "Jin Xue",
        "email": "jin.xue@intel.com",
        "time": "Wed Nov 08 14:13:46 2017 +0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Nov 22 09:47:29 2017 -0800"
      },
      "message": "Disable detection of MP3 audio contained in MPEG1\n\nMedia files of MPEG1 container should not be detected\nbecause MPEG1 container is not supported\n\nBug: 69278105\nTest: manual - push a MPEG1 file whose audio track is of mp3 format\nChange-Id: Ia6b49bd05e86f0056efa1359d982feaf20e7063d\nSigned-off-by: Jin Xue \u003cjin.xue@intel.com\u003e\n"
    },
    {
      "commit": "fbc97c5266ec4e9fbe98db944f7aa99452299ae8",
      "tree": "99b1eb109a0fafa647ed03a05ec75b89385e7a49",
      "parents": [
        "ef9fc7792d4995da68cb71a3e9f2304e565a016d"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Nov 10 13:49:46 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Nov 21 15:50:34 2017 -0800"
      },
      "message": "heif: add muxer support for adding still images\n\nThis change adds basic support for adding still images to a\nheif container.\n\nbug: 63633199\n\ntest:\nLocally built test app that adds more than one still images\nand video sequences to a heif container. Verified the muxed\nfile can be played by locally built heif viewer app that\nuses MediaExtractor/MediaMetadataRetriever/MediaPlayer apis.\n\nTested media post-submit CTS on Pixel2XL.\n\nChange-Id: I185bbbbed3dbb4e76d64bcf7323ee44a42cc8623\n"
    },
    {
      "commit": "d3e0d861aa68a7ef129fe228595bff734448ebc8",
      "tree": "4bbe13bb4dee4cc5f6059f4f0898f615beac820f",
      "parents": [
        "1e848d329b019e832a03c0e9d0e4eb6796c971c2"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Oct 03 13:17:13 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Oct 30 19:58:30 2017 +0000"
      },
      "message": "heif: fixes for image sequences and dual-function files\n\nAdding support for two new sets of APIs on MediaMetadataRetriever:\n\n- getImageAtIndex() and getPrimaryImage()\n- getFrameAtIndex() and getFramesAtIndex()\n\nOutline of changes:\n\n- Proper indexing of all displayable still images, so that they\n  can be retrieved by getImageAtIndex()\n\n- Exposing still images as \"image/x.android.heic\" tracks in\n  MediaExtractor with necessary descriptive keys (such as \"grid-*\")\n\n- Support to retrieve video frames by absolute index instead\n  of timestamps, as image use cases mostly are interested in\n  getting the images and care less about timing.\n\n- Support to retrieve video frames in batches because retrieving\n  one frame at a time is inefficient.\n\n- Refactor image / frame decoding code into FrameDecoder, and split\n  still image decoding and video sequence decoding into to sub\n  classes to facilite future development.\n\nbug: 63633199\n\ntest:\ncts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\n\nChange-Id: I2fe8519fb6907f315a8b513921fc1cc7f436e28d\n"
    },
    {
      "commit": "85e3d7c5bc7d1a4ceb6543b61a07f35f35c38b40",
      "tree": "4406258c0e6125a4459cb798755e94708d9d152f",
      "parents": [
        "da1ba20cbcb06572e6597c1fe43d826fb8b3d989",
        "efe396f44fd7d347d4c3266760bfee60e7572da8"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Oct 20 16:21:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 20 16:21:59 2017 +0000"
      },
      "message": "Merge \"Include external modules statically in extractor implementations\""
    },
    {
      "commit": "efe396f44fd7d347d4c3266760bfee60e7572da8",
      "tree": "de11c148ca7a8f245e11e864580c7fc99d6df333",
      "parents": [
        "08a5a3a473354c965c32190f8b68549d19e08912"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 17:23:30 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Oct 19 14:00:54 2017 -0700"
      },
      "message": "Include external modules statically in extractor implementations\n\n- Statically include libvorbisidec in OggExtractor\n- Statically include libstagefright_flacdec in MatroskaExtractor\n- Statically include libsonivox in MidiExtractor\n- Include MidiIoWrapper as a static lib in MidiExtractor\n\nTest: build\nBug: 65851881\nBug: 67908539\nChange-Id: I1406f86e7a64fe96a1fdbcaeaa47912dfe34f33a\n"
    },
    {
      "commit": "7f38463ff7b1a719b53a701e2c8f79bfbd393426",
      "tree": "c127ea24c2e1de4ce2a834e572a70f04ca802b42",
      "parents": [
        "5b769acf63bb78197c39f9930133c7f79cfdffd2",
        "ac3e46f054ac5f4f1347ddd380b46911cf240926"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 19 18:02:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 19 18:02:00 2017 +0000"
      },
      "message": "Merge \"Read track language information from Matroska files\" am: 49d0502f1a am: d79a838546 am: f6133b7456\nam: ac3e46f054\n\nChange-Id: Id7a2112ee16e7d0cbd58853daf9fbb47faf8a9aa\n"
    },
    {
      "commit": "2acf1a9e3f4d49304d8353d5dc96ea6499c14144",
      "tree": "29fa0b5577ea3253012b49bcba93936cce19330a",
      "parents": [
        "2631bad1069fd146f6e4cf6556e39fdc9e1a5b17",
        "39674b2ff9eecc7c037a7a471c11ae6fb13b3a12"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 18 22:46:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 18 22:46:27 2017 +0000"
      },
      "message": "Merge \"Fix memory leaks\" into lmp-dev am: 3e913a793c am: 0ae16eb779 am: cf520f4f9e am: 22b4aa34ea am: a4856a624a am: 64fa39c01c am: ffb8750131 am: f2131eb33e am: da750ecced am: 2e88fb1b72 am: 546cc40a5a am: f777cb29a7 am: 5a6520b002 am: 6a79afc410\nam: 39674b2ff9\n\nChange-Id: Idbd912e4c7fdbf0bc45fccbdfd540ee53db29805\n"
    },
    {
      "commit": "1ae39483064d96d72dcf2c00ea906baf323ff434",
      "tree": "046a40a662e3d44fd4b1762b27777d58344c2b71",
      "parents": [
        "493591c1ad323001157b21e52a564e361d15122b",
        "5518a2cd0b5b57901e4cf6fd84cbefd5d613e9ad"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 18 18:21:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 18 18:21:54 2017 +0000"
      },
      "message": "Merge \"stagefright: fix error code return\""
    },
    {
      "commit": "493591c1ad323001157b21e52a564e361d15122b",
      "tree": "abdf1bcac33c3d26a5bf09fa9eb919975d67c23a",
      "parents": [
        "08a5a3a473354c965c32190f8b68549d19e08912",
        "f3615228769c2d35e0696129a9e336819af8d21d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 18 01:06:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 18 01:06:29 2017 +0000"
      },
      "message": "Merge \"Separate out ESDS as a static lib\""
    },
    {
      "commit": "f3615228769c2d35e0696129a9e336819af8d21d",
      "tree": "b8b6e18e9b1c45fbc73aa727d79d3f88d518e9d9",
      "parents": [
        "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 09 09:28:49 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 15:13:55 2017 -0700"
      },
      "message": "Separate out ESDS as a static lib\n\nA static lib, libstagefright_esds, is added so that it can be used\nonly when needed in the extractor implementation.\n\nTest: build\nBug: 65851881\nChange-Id: I06a6d8816f1241eb8b37a997cff8a9d36d237b96\n"
    },
    {
      "commit": "08a5a3a473354c965c32190f8b68549d19e08912",
      "tree": "ae35414f1dc918ce7249295bbb6f009a67159de5",
      "parents": [
        "eeff0cf82433a151b59e87d695b2189e7ff0858d",
        "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 17 22:11:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 17 22:11:54 2017 +0000"
      },
      "message": "Merge changes from topic \"remove-dep\"\n\n* changes:\n  Remove libmedia and libstagefright dependency from extractors\n  Clean move of files to keep the git history\n  Sort shared libs in Android.bp for extractors\n"
    },
    {
      "commit": "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3",
      "tree": "4a3b6fb269ae76af3c0567cc1d57780c17bd2c30",
      "parents": [
        "04ce1be860b40e18ca7f5fdf64ecb82567d7fe24"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 10 00:07:09 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 13:43:59 2017 -0700"
      },
      "message": "Remove libmedia and libstagefright dependency from extractors\n\n- MediaSource, DataSource and MediaExtractor are moved to\n  libmediaextractor so that they can be used by extractor\n  implementations without depending on libmedia and libstagefright.\n- XXXFactory classes has been added in order not to expose CreateXXX\n  methods in libmediaextractor.\n- avc_utils is moved to libstagefright_foundation since most of\n  extractor implementations are relying on that.\n\nTest: build + post submit media CTS tests\nBug: 65851881\nChange-Id: I7d5cf18dd25abc10478ac3f6e7d1828ad023e3fb\n"
    },
    {
      "commit": "e06ec66ecef0086d36bacf20e085982f27b59d92",
      "tree": "5b8b7a07e5f146b796f39218853676e821a9f7ff",
      "parents": [
        "2e3e9c6ee79422e983aa9c0ba38d24ebba399efd",
        "3206e347d1676e13b6f5d5c0af3d89ee43938dcb"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Oct 17 17:03:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 17 17:03:57 2017 +0000"
      },
      "message": "stagefright: MP4Extractor: allow 10% overhead on default sample size am: d7d6df849c\nam: 3206e347d1\n\nChange-Id: Ib8c1ee37e1f47e9dad54628d2654aba12e152601\n"
    },
    {
      "commit": "f129a5fc047379c70b3479f899f793ade4303862",
      "tree": "b4d0cdec659bbea5bc767763b4132117c1dc966b",
      "parents": [
        "92b01549f05ab42c1bc5e1f11aa13d5cf95b7817"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Oct 06 14:59:14 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 16 15:54:52 2017 -0700"
      },
      "message": "Sort shared libs in Android.bp for extractors\n\nTest: build\nChange-Id: I56601466235bb570661e5cf2db5614c434b80c09\n"
    },
    {
      "commit": "92b01549f05ab42c1bc5e1f11aa13d5cf95b7817",
      "tree": "062682c27a7f7daca391f614a926b16732bc82f3",
      "parents": [
        "b06c38687a0ecf8f5662c916e6e98d21d141eb13",
        "27f4a784abb920fc406be222f136eaaee0a6015a"
      ],
      "author": {
        "name": "Masaichi Toki",
        "email": "masaichi.x.toki@sonymobile.com",
        "time": "Sun Oct 15 08:49:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 15 08:49:28 2017 +0000"
      },
      "message": "Merge \"Fix ERROR_MALFORMED return in bool method, BetterSniffMPEG4\" am: 67b97497e5 am: 0ac1279131 am: 6319db1d31\nam: 27f4a784ab\n\nChange-Id: I0f64810dccd1ca380a82edd1e1751a771374cb2b\n"
    },
    {
      "commit": "5518a2cd0b5b57901e4cf6fd84cbefd5d613e9ad",
      "tree": "1d967f85c7d59e2b1250eadeaf797066955fb4ee",
      "parents": [
        "fe0597c0556210d45ea145337827129c55f89507"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 13 18:31:25 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 13 18:38:50 2017 -0700"
      },
      "message": "stagefright: fix error code return\n\nReturn OK only if error is ERROR_UNSUPPORTED which means the\ninfe box is of an unsupported version. Other errors still get\npropagated.i\n\nbug: 67652588\nChange-Id: I841eb4106f29d792f642dc068f6796dca2ff1c5b\n"
    },
    {
      "commit": "ecd0813e91e1fbb1167ec8fd0faa22c1c87af804",
      "tree": "df7fc78f1068d7a4b10ba77a01313e7f5eaff46f",
      "parents": [
        "3d762515b88c266f6be7d8f05c83517960dbc92f"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 05 16:09:29 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 12 11:36:27 2017 -0700"
      },
      "message": "stagefright: renaming some variable in ItemTable\n\nRenamed most \"imageIndex\" to \"itemIndex\". This is a\nrefactoring with no functional change, in preparation\nfor upcoming changes to support image sequence retrieval,\nas the image index will be referring to the index of\ndisplayable images, instead of the index into item table.\n\nbug: 67652588\n\nChange-Id: If7fc51eb90df7e44e635a756f628a6d344155a79\n"
    },
    {
      "commit": "f1cb8fa8d452c7d6a583702338319bcb332317c1",
      "tree": "a82b936d96de51d85c7fae4bb23e7606570344ce",
      "parents": [
        "b45a3c22e6895abfaf29ebb52116f29b39ad71cd",
        "e7a8a637a019d67983bdc858ba5e879431619d5a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 11 18:47:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 11 18:47:34 2017 +0000"
      },
      "message": "Merge \"Move MediaDefs from libmedia to libstagefright_foundation\""
    },
    {
      "commit": "0222d33937b18dd72c581a3d34a0ddf680c05388",
      "tree": "4e4f6e1fd6e1e588886babf3c67339c3398d6509",
      "parents": [
        "ac835db1e69d8e5cdd785a6d1f3f182a827840d8",
        "607612858f3afad1ade51a098aafa2a41523b5f7"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 11 16:02:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 11 16:02:02 2017 +0000"
      },
      "message": "Merge \"Move UXX_AT families to libstagefright_foundation\""
    },
    {
      "commit": "e7a8a637a019d67983bdc858ba5e879431619d5a",
      "tree": "003bb115ddea9d683add0462cb5e74934531ad28",
      "parents": [
        "607612858f3afad1ade51a098aafa2a41523b5f7"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 09 14:52:58 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 11 08:58:10 2017 -0700"
      },
      "message": "Move MediaDefs from libmedia to libstagefright_foundation\n\nThis is needed to remove the libmedia dependency from extractors.\nOther remaining dependencies like IMediaSource::ReadOptions will be\naddressed with a separate change.\n\nTest: build\nBug: 65851881\nChange-Id: I4460e960360db4847a0784732accd0cfe28a9ec0\n"
    },
    {
      "commit": "607612858f3afad1ade51a098aafa2a41523b5f7",
      "tree": "351d21ec35304967695c01b845369c117759f144",
      "parents": [
        "3dced075597b6457cbec377f4e0dabb81f6e5724"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 09 11:16:48 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 11 08:58:10 2017 -0700"
      },
      "message": "Move UXX_AT families to libstagefright_foundation\n\nByte handling utilities moved to libstagefright_foundation so that\nthey can be used in extractors without depending on libstagefright.\n\nTest: build\nBug: 65851881\nChange-Id: If72d8befadf3e63a93396f08efac0d6e3f4e273e\n"
    },
    {
      "commit": "7de1920b41a7c5a6aa466dcd4fffc936193328b1",
      "tree": "bfa232ba35685d6e0aa78433702ce090e4f816e4",
      "parents": [
        "e156e8fff8b6523c82692ac3d75adb1005d36201",
        "c993cdcdac4a3f5e7d0d840e82cddbaf6f7570ab"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 06 05:36:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 06 05:36:11 2017 +0000"
      },
      "message": "Merge \"stagefright: convert heif rotation angle to clockwise\" into oc-mr1-dev am: 94cb791a4c\nam: c993cdcdac\n\nChange-Id: I010a4c26b191335af7a1442d7c11f216a74d2927\n"
    },
    {
      "commit": "75226177f20a176d50e3e53bbb34067cb49112c3",
      "tree": "31d809eeb7e884765c8538bac139be1079e1f1a3",
      "parents": [
        "a098be2bfa75d04c07f5bbf7a3eb991add89f260"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 16 14:10:52 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 03 15:03:19 2017 -0700"
      },
      "message": "Make extractors separate libraries\n\ninstead of being integrated into libstagefright\n\nTest: thoroughly\nChange-Id: I11cdfde6d2daf248c8e0f99237db1c74be260eb0\n"
    }
  ]
}
