)]}'
{
  "log": [
    {
      "commit": "5dcf85aa7666bf7efb5472e49c14c97c7b1bcefc",
      "tree": "d79d9f3603a571b14fdd5e7de9811ee14826331f",
      "parents": [
        "1e91e0ea18e4c267b54ae2e14c8c9f0a013188a7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 11 09:49:02 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 11 10:57:13 2018 -0700"
      },
      "message": "Use media_status_t instead of status_t in extractor interface\n\nBug: 111407253\nTest: CTS\n\nChange-Id: Iabf0e033f553a398b70bdf616261fbdabc6f71f8\n"
    },
    {
      "commit": "1b4c18d7b3a89cdba517409d505b021e9344d38b",
      "tree": "de3135a094223680d0ec900b087ee9d9d171583e",
      "parents": [
        "a7ecaf0dbf8c0ccf23419bd406dc2b8b3360937e",
        "fdcf28cbc7e2ba6318798888719cd407bd7f6620"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 10 19:49:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 10 19:49:51 2018 +0000"
      },
      "message": "Merge \"Remove kKeyNalLengthSize\""
    },
    {
      "commit": "b4e880abdcde87ff89937f4f8de819af0cfe371f",
      "tree": "4a6b2e0feaee98871d378c0d4040fb37f54ee31a",
      "parents": [
        "4db16c962ff102e3fb722940c039654407e997f2",
        "3db2dccc3a9e9733b5fcd84f93e0f58bda4075b2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 04 17:20:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 04 17:20:34 2018 +0000"
      },
      "message": "Merge \"Remove start() parameter from extractors\""
    },
    {
      "commit": "3db2dccc3a9e9733b5fcd84f93e0f58bda4075b2",
      "tree": "a4dcf4db0c2b59408b92c1ea53c62b0489ea9b7a",
      "parents": [
        "32fddecebdd0ae2c63b930cfb039f41c71739de6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 03 14:09:37 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 04 07:14:27 2018 -0700"
      },
      "message": "Remove start() parameter from extractors\n\nBug: 111407253\nTest: CTS\nChange-Id: I570374f936e434b214e9cd55e2a72f12ebeafad2\n"
    },
    {
      "commit": "3f6576443eba3169ab248525610fb7b341fbbcb0",
      "tree": "fe043e6799b59954f05e70886e39eeb171086bb2",
      "parents": [
        "dd3556092f0a20a0d4dd4646863f00c679c955a8"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Sep 27 12:22:23 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Oct 03 10:54:21 2018 -0700"
      },
      "message": "Update DataSourceBase::getAvailableSize signature\n\nFor more consistency:\n+ Add offset parameter to correspond with readAt\n+ return status_t like getSize.\n\nBug: 109928575\nTest: android.media.cts#StreamingMediaPlayer2Test\nChange-Id: I3f330283ca3b53cba158615650152701113f58df\n"
    },
    {
      "commit": "03244035489de61c4eb09506cb41a1a46a834a49",
      "tree": "6a4a3309af6e97e50181889b67b01991bf9f1ebd",
      "parents": [
        "87653da51febf0b3be01c742c5d2b6728b496ffa"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Oct 02 14:36:32 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Oct 02 16:15:24 2018 -0700"
      },
      "message": "Network DataSources: implement disconnect in close\n\nBug: 109928575\nTest: android.media.cts.NativeDecoderTest#testAMediaDataSourceClose\nChange-Id: I083b85c31e42f7ddd4b2da365557e3d9251f8777\n"
    },
    {
      "commit": "2a3363ad85d82a8dfa89573d0d84898cb8bb8727",
      "tree": "3e9be93220d9925d70e82a416211bdece2d9b341",
      "parents": [
        "f7f463120abca9a0050f3e82b0ebd222410e141b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 13 13:15:30 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 28 16:07:44 2018 -0700"
      },
      "message": "C-ify MediaTrack\n\nAdd C-API replacement for MediaTrack in extractor plugins.\nMove MediaTrack from libmediaextractor.so to libmedia.so\n\nBug: 111407253\nTest: CTS, manual\n\nChange-Id: I3407e903fe41a2d7b7233538808281fce318c27a\n"
    },
    {
      "commit": "ed388ad20b83da6e6a933ee51f4ab9361e7fb298",
      "tree": "c59659f00891eda0177967d67c4532f3e061d176",
      "parents": [
        "b3dac3fd55058ed57c5372206259d6417c6a74d7"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Sep 19 16:12:42 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Sep 19 16:22:09 2018 -0700"
      },
      "message": "NuMediaExtractor: remove NuCachedSource2 reference\n\nBug: 109928575\nChange-Id: I6aceea7ddf68e8fc04ffc7f87e9372307723565d\n"
    },
    {
      "commit": "8551bb0c8141802af0536e58cc8b156b8efea477",
      "tree": "1771340204df1314aebb8afc055bb1a9bdf81975",
      "parents": [
        "61c80f1f4a07886a01abada34beefed9db1bec4b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 14 08:25:08 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 18 07:38:04 2018 -0700"
      },
      "message": "Fix supportsNonblockingRead\n\nThis was accidentally removed in a previous CL.\n\nBug: 111407253\nTest: CTS\nChange-Id: I15ff51625b0a3439ec456e79387296f433445e74\n"
    },
    {
      "commit": "61c80f1f4a07886a01abada34beefed9db1bec4b",
      "tree": "60a8c1ed147bdac6e1e411e77e231e1d352db2f8",
      "parents": [
        "17a4a0feba513a721b23edeb9a915e4ce87b58a8",
        "efa12510317fa8ebbc2f00f1bff45d2805a83e59"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 18 14:31:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 14:31:23 2018 +0000"
      },
      "message": "Merge \"Fix bug in MediaBufferGroup new buffer allocation\""
    },
    {
      "commit": "efa12510317fa8ebbc2f00f1bff45d2805a83e59",
      "tree": "e37f2c94a6661a632e06a49ab21e4a3faaf7d96a",
      "parents": [
        "fd1da15b1b1f05a6b431fd4e33dbb3361e2fc773"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 17 12:18:03 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 17 15:15:42 2018 -0700"
      },
      "message": "Fix bug in MediaBufferGroup new buffer allocation\n\nMediaBufferGroup could allocate buffers of size 0, but this\nwas masked because we pre-allocated many more buffers. Now\nthat we allocate fewer buffers upfront, it\u0027s more likely\nto hit this case.\n\nBug: 29125703\nTest: CTS\n\nChange-Id: Iba666f161be6d7c8bf09e1b48b1fd80750685a57\n"
    },
    {
      "commit": "df72e61be45d4f9dbb3b341c1a42d67ed76ffebd",
      "tree": "1cb2dc01ad245539873910eff52178d12ae815e5",
      "parents": [
        "fc69b8e517b853e62b13a0b38eb1af33573c9a02"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Sat Sep 15 00:32:55 2018 +0000"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Sat Sep 15 00:32:55 2018 +0000"
      },
      "message": "Revert \"Fix supportsNonblockingRead\"\n\nThis reverts commit fc69b8e517b853e62b13a0b38eb1af33573c9a02.\n\nReason for revert: android.media.cts.MediaCodecTest fails\n\nChange-Id: If20c8f95f19fc0c670e1c05820adf3e021c9cc56\n"
    },
    {
      "commit": "fc69b8e517b853e62b13a0b38eb1af33573c9a02",
      "tree": "54fdcd067a88d5f26cadb20b8f69b0d2d129aefa",
      "parents": [
        "c5fee0a8854f5decd3b567d2383cd38f0aada4f4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 14 08:25:08 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 14 15:30:53 2018 +0000"
      },
      "message": "Fix supportsNonblockingRead\n\nThis was accidentally removed in a previous CL\nBug: 111407253\nTest: yes\n\nChange-Id: I9348357d4311bec3cc5540dc3c9e99c9aad92e26\n"
    },
    {
      "commit": "fdcf28cbc7e2ba6318798888719cd407bd7f6620",
      "tree": "592f30ee653fb831407f72847a5d25e22e348084",
      "parents": [
        "10caf0e237e9201e0db92fe05d8872f548187f6a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 31 14:17:05 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 31 14:17:58 2018 -0700"
      },
      "message": "Remove kKeyNalLengthSize\n\nIt was only used internally in MatroskaExtractor, so doesn\u0027t need to\nbe exposed in MetaData.\n\nTest: build\n\nChange-Id: I078f441cd125d161b1cd22557675c7abfb64d7f2\n"
    },
    {
      "commit": "a70beb16195266900997f2f376d2f28017cd45a4",
      "tree": "ba0716f8eb0e1210e663bd48242c2b56deeee401",
      "parents": [
        "9985754cabf9d426bf95e3adfc27cea7fcc86e42"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jul 17 14:10:03 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 23 08:10:30 2018 -0700"
      },
      "message": "Move MediaExtractor back to libstagefright\n\nIt is no longer needed in libmediaextractor, and moving it back\nto libstagefright will avoid a circular dependency later.\n\nBug: 111407253\nTest: build, boot, play some files\n\nChange-Id: I1373a9eedee27998e7733ea23ae1a375e45cc9c3\n"
    },
    {
      "commit": "cec44d0c8dc9703ca87435d95bdcd6ef228784d7",
      "tree": "a8f3ae236978e7201114e765a652632a0286d30e",
      "parents": [
        "0b16447f1cbaab5838477a68b26eeefa18b4e7aa"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sun Jun 17 22:21:09 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 21 10:49:16 2018 -0700"
      },
      "message": "C-ify DataSource\n\nAdd a C API for DataSource/Base, and a helper so extractors\ncan continue using a C++ API.\n\nBug: 111407253\nTest: build, boot, play some files\n\nChange-Id: I1c8b2990e17d18eee53c9abf7ebef2ced0e8b7fd\n"
    },
    {
      "commit": "0b16447f1cbaab5838477a68b26eeefa18b4e7aa",
      "tree": "0f76341e23d59c1337877d2353791b97c12a5480",
      "parents": [
        "05435244e8c93c2fcf9ea6aefdc09854c7798e73"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 30 12:16:56 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 21 10:02:48 2018 -0700"
      },
      "message": "C API for extractor plugins\n\nDefine a C extractor plugin API, along with some helpers\nso extractors can still be implemented in C++ if desired.\n\nBug: 111407253\nTest: build, boot, play some files\n\nChange-Id: Iba947381441769d77929b4235cdb4a4cd5d4f606\n"
    },
    {
      "commit": "ae7f740a793dc5a36a5ee25ec356b869d9b4bd5b",
      "tree": "52ea2f382e440956e3899798f604bf1853104be9",
      "parents": [
        "19283e9de83b5ade80a93b43589ea9a799414290"
      ],
      "author": {
        "name": "zhongli.wang",
        "email": "zhongli.wang@sonymobile.com",
        "time": "Thu Jun 12 14:30:31 2014 +0200"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 17 08:28:16 2018 -0700"
      },
      "message": "Fix no sound with FDR-AX100 recorded 4k video\n\n1.Pcm(twos and sowt) parsing support in MPEG4Extractor\n2.Pcm data reading from SampleTable support\n\nBug: 80501047\nTest: Play XAVC-S Video and check if the audio is heard\n\nChange-Id: I5edc7f1920c80e23dfdb069259d19e28240799b5\n"
    },
    {
      "commit": "0b88e1c5677c8b92dd273a655513465ab1f0163c",
      "tree": "ddb1f571f81f10492e80e9381535aac94aaac639",
      "parents": [
        "7038f71082eba8d1c61a6292014e36361fb25848",
        "94ba99e4c126898eca3e819080b8d5bacd979e3e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed May 30 11:31:04 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 30 11:31:04 2018 -0700"
      },
      "message": "Merge \"MPEG4Extractor: support CryptoInfo for cbc1, cbcs, cens\" into pi-dev am: cc08faac6b\nam: 94ba99e4c1\n\nChange-Id: I4dbf241eadbd40140ecaaf9a6df98ca9d46c446f\n"
    },
    {
      "commit": "cc08faac6b309a1acc9a4eb8c28c3fc9669f8771",
      "tree": "93aaaea5f8caccc51cc93d0b8cbffe32ec6a488f",
      "parents": [
        "7e8214620e57d16a79bec79e5f282ab0ab33459b",
        "7b78bfd448028aeeb642cb35d46cc96b205f24f9"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed May 30 17:43:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 30 17:43:58 2018 +0000"
      },
      "message": "Merge \"MPEG4Extractor: support CryptoInfo for cbc1, cbcs, cens\" into pi-dev"
    },
    {
      "commit": "7b78bfd448028aeeb642cb35d46cc96b205f24f9",
      "tree": "1e81bf4c21707bb57961583a7a8c604bb7f8057b",
      "parents": [
        "5eb9d967e81ace00d96ab50b9264b25560e9df1d"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Apr 26 16:09:33 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri May 25 18:02:47 2018 -0700"
      },
      "message": "MPEG4Extractor: support CryptoInfo for cbc1, cbcs, cens\n\nBug: 31215085\nTest: com.google.android.media.gts.WidevineMp4TempTests\nChange-Id: I0b5d53bfaeaab716e9ff8f79e77170fbf711d070\n"
    },
    {
      "commit": "1f90537e2b6f54b489306b4119c27ca6d5416b31",
      "tree": "02b6e6f84b0dcbb6737d4558ef87377fc6c3dd1e",
      "parents": [
        "acb7d9ddc1955682379ea514082511b9ea44482e",
        "20a67d8659bea70a4d9ed6d1b751ebff66e69eac"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon May 21 11:52:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 21 11:52:28 2018 -0700"
      },
      "message": "Merge \"Write Exif data block for HEIF files\" into pi-dev am: 7bb4333ff2\nam: 20a67d8659\n\nChange-Id: I26d17193f3acf2d6f6781a0c6ba7e3b7a58a2b8e\n"
    },
    {
      "commit": "99745d1c3017e9ac25f8bb2c91cc47bb432d5248",
      "tree": "2117beaf6896b2a63336a656730736eae6c7a344",
      "parents": [
        "bf2e1e8debbe1e91549b2defe2345d1a1876a8df"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue May 15 09:50:52 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri May 18 16:32:51 2018 -0700"
      },
      "message": "Write Exif data block for HEIF files\n\nPass in Exif data block as a muxer data sample on each\nimage track. Add support in MPEG4Writer to write it out.\n\nAllow grid to be used even when there is only 1 tile,\nas some encoders can\u0027t encode very small images, using\ngrid allows them to encode in a supported size then apply\na crop to final size.\n\nAlso be more strict on esitmating the file level meta\nsize, since we now have to also reserve for Exif items.\n\nbug: 79476308\n\nChange-Id: I4b7d3af18cfb55a52f7218d9e7b6ad6f85f34343\n"
    },
    {
      "commit": "b421f6ea33ed85813740c9c60618ed3a82f2c167",
      "tree": "8f6b883fb570f76c90affe8aad0b761b851a127a",
      "parents": [
        "6c6abaaf95d0fd7b416dc5a16badf281f5ec0b58"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon May 07 11:50:21 2018 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon May 07 11:50:21 2018 -0700"
      },
      "message": "Initialize mMetaData correctly, fix ref count\n\nmMetaData was inconsistently initialized to either a MetaData or\nMetaDataBase object. The former resulted in the destruction of\na RefBase object without ever incrementing its reference count.\nThis is normally very brittle, since the accidental creation of\nan sp\u003c\u003e results in duplicate deallocation. Hence we are starting\nto diagnose it. In this case it appears to just add extra overhead.\n\nSince mRefCount can be concurrently accessed, declare it as atomic.\nThis is a minimal fix, which can be improved further. Local and remote\nreference counts are currently still read with inconsistent memory\norders. Since the results appear to only be trusted when they\nguarantee that there is no concurrent access (as they should be),\nmemory_order_relaxed on loads seems sufficient. Generally reference\ncount increments can also be relaxed, while decrements should be\nacq_rel to ensure that all accesses to the object become effective\nbefore deallocation. I believe that\u0027s correct here as well. Since\nI\u0027m unfamiliar with the code, I made only essential changes.\n\nBug: 79265389\n\nTest: Built and booted master.\nChange-Id: I3cb65e9f880588abdb0712890e7a654311577b07\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": "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": "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"
    }
  ]
}
