)]}'
{
  "log": [
    {
      "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": "c2c0aabfef24cbf48cdf6755f8627386971abdd3",
      "tree": "9ae9ca31e811a59e6530f362f6bac9f324a30209",
      "parents": [
        "4c96b75c87bc3f8dd2da7f76b08a81333b43ce22",
        "6969da62b068aff2aee650d57590532f8fc8de69"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 26 23:30:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 23:30:00 2018 +0000"
      },
      "message": "Merge \"Revert \"Remove IDataSource dependency from DataSource.\"\""
    },
    {
      "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": "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": "46b5c79e2f02b946a58e8c501f7930d439d42771",
      "tree": "a2a633ffbd585a1b53914015fbcce5b88835e337",
      "parents": [
        "8e2a5d7cfd333a4ac25f93e60f6adbbb2376a2c8",
        "1d93634705b6c30b66178395d7b76c70f8ed91a3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 15 22:47:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 22:47:05 2018 +0000"
      },
      "message": "Merge \"Remove unused code DataSource::getVector() again.\""
    },
    {
      "commit": "1d93634705b6c30b66178395d7b76c70f8ed91a3",
      "tree": "44d1a66f9c60ed42142680ff499bb0f5ecec9e4a",
      "parents": [
        "405b3c70ccf6c6671fbbe72557a8493e4e0f6097"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Feb 15 10:36:26 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Feb 15 10:36:26 2018 -0800"
      },
      "message": "Remove unused code DataSource::getVector() again.\n\nThis was removed by Ief477906 but resurected when introducing\nDataSourceBase. Seems that git didn\u0027t do a good job on rebase.\n\nTest: build.\n\nChange-Id: If3f0102b3fcf06cdf99b34471e87258eba9d1018\n"
    },
    {
      "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": "22e668af6c810f711f156b68747f21e74ee6f010",
      "tree": "65d40a0272a8172dea5a0a52fda049f7ba30d22c",
      "parents": [
        "6d486024172abfc1c016b32fd42dd67aeb4e79c8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 13 13:02:19 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 13 13:02:19 2018 -0800"
      },
      "message": "Make MetaData::findXXX methods const\n\nTest: build\nChange-Id: Ica9f9772bfea11e11dc6b2a3e9a5a3a2bd8f8fdb\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": "6969da62b068aff2aee650d57590532f8fc8de69",
      "tree": "129cd94c2c16f00fa845abd2b12892acab0cdb84",
      "parents": [
        "405b3c70ccf6c6671fbbe72557a8493e4e0f6097"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 12 20:55:14 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 12 23:26:00 2018 -0800"
      },
      "message": "Revert \"Remove IDataSource dependency from DataSource.\"\n\nThis reverts commit 514674257ef6954a7479ac93a26a07061f54462d.\n\nThe original change Iaba6d9be is no longer needed since we\nseparated out DataSourceBase from DataSource. Now, DataSource\nmay have a method relying on a class from libmedia, IDataSource.\n\nTest: checked the correct wrapping path with \u0027dumpsys media.extractor\u0027\nBug: 72869975\n\nChange-Id: Ib0d5ca863fa70a4a96f97b3377c209e1f288f443\n"
    },
    {
      "commit": "e65b694a101ae6dd0386f48ac3cc9548c8991242",
      "tree": "13557cb304449a8dfa1f523f3412f98109d3eceb",
      "parents": [
        "dc71b3ccd7326d78632215fe96e7c135381447e9",
        "4d0c0a8942de184f07fdd6c918c6355e5771bdff"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 04:51:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 04:51:14 2018 +0000"
      },
      "message": "Merge \"Hide classes from system library in MediaBufferGroup.h\""
    },
    {
      "commit": "4d0c0a8942de184f07fdd6c918c6355e5771bdff",
      "tree": "4812df077ec39fdbfe26937377c8c8258bc598ca",
      "parents": [
        "d8d4ef440fe25095d34e535e591edd8fa1457307"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 24 17:37:43 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 12 15:27:28 2018 -0800"
      },
      "message": "Hide classes from system library in MediaBufferGroup.h\n\nTest: build.\nBug: 67908542\nChange-Id: Icf0e3d634c3ab4e1350c9960655eaaca37029b34\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": "78f00edc6376657e8931a45a80abf36f2f6ac841",
      "tree": "3760c91796fc4cf03898bec9846baa0a29e992ce",
      "parents": [
        "2eff8dbb28293a2e66c298f1abb3f366e5ca8f5e"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 31 14:45:43 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 31 14:45:43 2018 -0800"
      },
      "message": "Remove unused code DataSource::getVector()\n\nThis was introduced in Id207f369, but the only use case removed in\nI953bea9f. This changes removes usage of Vector from the DataSource\ninterface.\n\nTest: build.\nBug: 67908556\nChange-Id: Ief4779062331fc5a06ce1eac848e25c06fbba657\n"
    },
    {
      "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": "42e497d687c8e9ec61601987894c9033dcbf62d6",
      "tree": "24104d0005e90cf45b5f63aa18198a0ad29fd5d0",
      "parents": [
        "fc70138c8841ef5479580ba5efd35b30229db9a2"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 30 06:12:32 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 30 06:12:32 2018 -0800"
      },
      "message": "Fix asan builds.\n\n-adding missing include statements\n\nTest: make -j50 PRODUCT-sailfish_asan_coverage-userdebug dist showcommands tests userdataimag\nBug: 72683744\nChange-Id: I7f958c2c81d38699d2d1cc893d1dfbb46d32de7f\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": "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": "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": "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": "ab7429b4cec5e619f0ed77d13363da4167212874",
      "tree": "0422b04eca116f462e5b29345934cbd8a0bec9d3",
      "parents": [
        "1c838c481692c45b96786dcdd520296b73a71809",
        "74065036f03cb9f96acb43c6e4f105ec91132395"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 23 19:17:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 19:17:44 2018 +0000"
      },
      "message": "Merge \"Remove unnecessary includes and forward declarations\""
    },
    {
      "commit": "74065036f03cb9f96acb43c6e4f105ec91132395",
      "tree": "d7d742dd47b2ec50224f37dc35899f62c93ab0b5",
      "parents": [
        "da60340a9e5ce64270f1106239b736296f280df4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 23 08:16:29 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 23 08:16:29 2018 -0800"
      },
      "message": "Remove unnecessary includes and forward declarations\n\nBug: 67908544\nTest: build\nChange-Id: I824625940ba562571b16ed21e351ee17807d7d30\n"
    },
    {
      "commit": "4049f13fb3d1c588d3e4dc518ede15d45dca4c9e",
      "tree": "3f0566fb3f3f9cb441e3b466f95341c600c9c1ef",
      "parents": [
        "205266aacc675dfb7a7f9f985c4ca973163cb59e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 22 10:37:31 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 22 18:48:46 2018 -0800"
      },
      "message": "MediaPlayer2: build static libs for some components\n\nTest: compiles\nBug: 63934228\nChange-Id: I1791b40a67c87ea3146825767699e5022444e433\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": "307f6056aea8f2ec98e7451742e307d2fc7acb35",
      "tree": "0294f9425f56017a241eeeaba4ea540e396473e5",
      "parents": [
        "3d2c309be468a0a66fad3a6dd35525bf059a35ac"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Nov 22 11:53:48 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Dec 19 14:17:12 2017 +0900"
      },
      "message": "Remove unused MediaSource::setBuffers\n\nOriginally added with Ie03b285265099db, but the use case was gone with\nOMXCodec.\n\nTest: make checkbuild\nBug: 67908542\nChange-Id: I6c4953126ab80f876a6dca258e112bb2eaee440d\n"
    },
    {
      "commit": "3d2c309be468a0a66fad3a6dd35525bf059a35ac",
      "tree": "613287a4e6e96da0b81744012c8687fc7b6629f9",
      "parents": [
        "bfe745ef567329ab42e2533dce6c213a26c707b4",
        "2efe43d3a8fa1dcc6d1253baafb09b3d6e71329a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 19 04:57:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 19 04:57:21 2017 +0000"
      },
      "message": "Merge \"Remove unused methods in Media(Source|Buffer)\""
    },
    {
      "commit": "92541a351d8c5ca6aa0c1b3b0d40023ff2385645",
      "tree": "9157ede04bbea53d2c6b64558034be82d6d01714",
      "parents": [
        "2a8dbc7611d3861d696c167ebdced50158bbebe1"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Dec 15 15:26:14 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Dec 15 17:37:54 2017 -0800"
      },
      "message": "Remove unused code DataSource::getDrmInfo\n\nThe method in question was added in I4b9ef19 with DRMExtractor.\nThe only use case of getDrmInfo(), in DRMExtractor, has been removed\nwith I4dd3f07ca.\n\nTest: build. post commit media cts test.\nBug: 65851881\nChange-Id: Ieb4d9d36c74efcfbfe690bcd09e1cd7e08ee3f1a\n"
    },
    {
      "commit": "514674257ef6954a7479ac93a26a07061f54462d",
      "tree": "f39d7a94eb112b03d0229f50c35cb71cf22d5f4d",
      "parents": [
        "bc3ebbfa92364d635fa879b901ef83070820e8c0"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Dec 08 06:07:16 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Dec 13 15:26:05 2017 -0800"
      },
      "message": "Remove IDataSource dependency from DataSource.\n\nThe logic for requesting file data source to media extractor service\nmoved to MediaExtractorFactory from GenericSource.\n\nBug: 65851881, Bug: 63934228\nTest: MediaCts post commit tests\nChange-Id: Iaba6d9bec560f0cd8a826f47d74bf491a34c83e9\n"
    },
    {
      "commit": "2efe43d3a8fa1dcc6d1253baafb09b3d6e71329a",
      "tree": "cd206c37f5da95f78bc53a844c66f158ffb8ea02",
      "parents": [
        "720e24cfe430e1719c5defb9a1f41a6b63b02eaf"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Nov 22 11:34:19 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Nov 22 11:34:19 2017 -0800"
      },
      "message": "Remove unused methods in Media(Source|Buffer)\n\nTest: make checkbuild\nBug: 67908542\nChange-Id: I56346f75a8c5f87b7090c02e6248fedcd5a19cf9\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": "04ce1be860b40e18ca7f5fdf64ecb82567d7fe24",
      "tree": "60c606452428abd11bddc224d064c69fba9b0ca7",
      "parents": [
        "f129a5fc047379c70b3479f899f793ade4303862"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 16 16:59:51 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 10:58:40 2017 -0700"
      },
      "message": "Clean move of files to keep the git history\n\nTest: No. This is just intrim change. Build will be fixed by\n      the following change.\nBug: 65851881\n\nChange-Id: I8285b3b79eeaf76fadc2242c71e999434f467c12\n"
    }
  ]
}
