)]}'
{
  "log": [
    {
      "commit": "bc8f53b8c1c220d9ce01526b6e3834f14af98ed5",
      "tree": "0742ac2262f28acb9c827f5ad96fae12f13fb354",
      "parents": [
        "de9a7b5caa3cd8b59630b2bc13e1cb4420618940"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 25 17:01:44 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 25 18:11:38 2018 -0800"
      },
      "message": "Revert \"Revert \"Move MediaBufferXXX from foundation to libmediaextractor\"\"\n\nThis reverts commit 95a8bfab98a73a75eb60ecf2cc8683f4a1f04b35.\nPlus, keeps \u0027virtual\u0027 keyword for ~MediaBuffer which has a child class.\n\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg\nCtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\nBug: 67908542\nChange-Id: Ib94d574d6bbd6245c174dd1c9bcca379015724cc\n"
    },
    {
      "commit": "4b780702948d19caef60617666c69b6d7f64aa29",
      "tree": "a92a9693b7b424dc973c3d541d7739d26aa14a18",
      "parents": [
        "047b5872d4278ee0426db3ba78d0f3fefabaaabd"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 25 11:21:26 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 25 11:34:48 2018 -0800"
      },
      "message": "Revert \"Move MediaBufferXXX from foundation to libmediaextractor\"\n\nThis reverts commit f03606d9034730bea1a394e6803f9ebc36f3d2eb.\n\nTest: build and plays the file attached in the bug.\nBug: 72479511\nChange-Id: Ifdb8225a7140480649cecd52668ac7dcdd489252\n"
    },
    {
      "commit": "f03606d9034730bea1a394e6803f9ebc36f3d2eb",
      "tree": "839c704657518a5442389de9bc7a9c0f719be242",
      "parents": [
        "ae73ce1d0338e0ae3054b9c2458836f6bf4a88fe"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 23 15:38:53 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 23 19:03:54 2018 -0800"
      },
      "message": "Move MediaBufferXXX from foundation to libmediaextractor\n\nRemoved MediaBufferBase in favor of MediaBufferHolder\nwhich contains a MediaBuffer inside. Instead of set/getMediaBufferBase,\nnow it set/finds MediaBufferHolder in ABuffer-\u003emeta().\n\nTest: build. pass MediaPlayerDrmTest and EncodeDecodeTest.\nBug: 67908542\nChange-Id: Icb4f7ac350a7876f5e4596bae8be2a9e95956c2f\n"
    },
    {
      "commit": "ad60a0f6cd9012507f8086fe741236d12d280ef3",
      "tree": "a4d8e4f1e94a881bcdcf53bdd0fa756bf8fcdc55",
      "parents": [
        "93f52337443196a95d183cb8fd8984aa86c41235"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Nov 10 16:18:06 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Nov 11 08:46:59 2016 +0900"
      },
      "message": "stagefright: reuse buffers instead of cloning\n\nIn buffer array mode, the buffer reference is kept in clients of\nMediaCodec, so allocating new buffer for new input/output does not\nwork in that case.\n\nBug: 32577275\nBug: 32579231\nTest: use screenrecord and investigate the output file.\nTest: cts-tradefed run cts-dev -m CtsMediaTestCases -t android.media.cts.EncodeDecodeTest\nChange-Id: I26d89f6b5735094062b8a2027bcab4754576d574\n"
    },
    {
      "commit": "fd44d8e2f2d37184f7add67125657f3fbfb5a085",
      "tree": "d5f5db87a94f6f4d13ba6fe8c1328617271270c1",
      "parents": [
        "1e4d737fcd3129f3b3cf29499f344b42219c6bc7"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Oct 20 23:20:12 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Oct 26 14:59:06 2016 +0900"
      },
      "message": "MediaCodec refactoring part 1-c: buffer ownership\n\n- Buffers are (roughly) owned by themselves.\n- As a corollary, remove output format change related events\nand replace by inspecting formats associated with each buffers.\n\nBug: 32133435\nTest: gts-tradefed run gts -m GtsExoPlayerTestCases\nTest: (manual) Run Play Movies app to play a secure content.\nChange-Id: I6b57da61c2d71acd0d5be4281de823ba1c95b72f\n"
    },
    {
      "commit": "7e34bf5af26f8752d4786d3098740cdf51e2438f",
      "tree": "683b624805503653ebae9f105abde2a8ea86a8fe",
      "parents": [
        "616445eaa07885173767544d3c5a61ad652d1171"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Aug 23 00:09:18 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Sep 30 20:05:18 2016 +0900"
      },
      "message": "MediaCodec refactoring part 1-a: buffers become separate class\n\nMediaCodecBuffer is meant to replace ABuffer and MediaBuffer in\ncommunication between framework components. As the first step, replace\nuse of ABuffer in MediaCodec with MediaCodecBuffer, and adjust related\nclasses accordingly.\n\nMediaCodec.getBuffer() and related APIs now returns MediaCodecBuffers;\nthus change MediaCodec clients to use MediaCodecBuffer accordingly.\n\nTest: manually tested for key use cases (Camera, YouTube and Play Movies)\nChange-Id: Iba7ce131645e75ce5ddbf497fb793ab38b7f245b\n"
    }
  ]
}
