)]}'
{
  "log": [
    {
      "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": "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": "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": "4c6398b1f8f0525c9ff9a53484b3b9b601bca35b",
      "tree": "1a005a8d0c95f765ecb6eb5de4ae5386fedc2c35",
      "parents": [
        "faf18c58baf4db501c9707a30fd811a4c9386a26"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 07 17:43:19 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 07 18:32:09 2017 -0700"
      },
      "message": "stagefright: explicitly release extractor in StagefrightMetadataRetriever\n\nExtractor dtor on media.extractor side happens asynchronously with the\ndtor of StagefrightMetadataRetriever. If the extractor calls back into\nthe DataSource after mediaserver side released the reference to it, the\nbinder transaction could get stuck.\n\nAdding an explicity release() and call it before StagefrightMetadataRetriever\ncontinues to destruct the DataSource. Only implement it for MPEG4Extractor\nto avoid impacting other extractors at this stage.\n\nAlso adding some code to aggressively release the extractor and data\nsource in HeifDecoderImpl to free up memory.\n\nbug: 65463215\n\nChange-Id: I84c442a1e010dd37a976af5453a353e43f672e22\n"
    },
    {
      "commit": "3f3ffab372ea65f5d658166aee1f6bff0faf78d6",
      "tree": "f2894c1311c3eff6dfccdc170e71c848c448544e",
      "parents": [
        "2cb58cb4949f8870bca99ced39f4f81351ab52e1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 23 13:51:59 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 25 11:43:02 2017 -0700"
      },
      "message": "heif: cache the entire stream if possible to support seek\n\nAlso, reuse decoding result if decode is called again. Currently\ndecode only retrieves primary picture, so there is no point to\ngo to metadata retriever again.\n\nBug: 64077740\n\nChange-Id: I9243de396957f4d717c386bbaa8692494d624998\n"
    },
    {
      "commit": "ee079fe295c41f89c2ac6316e99ee10847fb78fd",
      "tree": "f47db0216a4ad8895a55d29c729f6200c16bf0b9",
      "parents": [
        "80225208cc32bc97f3765e387f0bb983ca07aa8b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 23 13:51:17 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 23 13:51:17 2017 -0700"
      },
      "message": "heif: fix decoding of image size different from full tiled area\n\nBug: 64077740\n\nChange-Id: I57ee7e1bc05e320be723d224b9328526543cad25\n"
    },
    {
      "commit": "ea280cb32091e46f3cb5ec68f2c7200913b43168",
      "tree": "64d7a7bd6778e18ca13a4ead069deaecb2241527",
      "parents": [
        "b51ca280e6aaace44ec1d80837439b825c6fce82"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 02 11:10:10 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 14 12:06:00 2017 -0700"
      },
      "message": "heif: adding libheif to be used by skia heif codec\n\n- define platform-independent HeifDecoder interface to be used by\n  skia to decode heif\n\n- add android implementation of HeifDecoder utilizing media framework\n  MediaMetadataRetriever.\n\nbug: 64077740\nChange-Id: I87d803a16c117ab081adbd7c88c1bdb3c4318d66\n"
    }
  ]
}
