)]}'
{
  "log": [
    {
      "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": "de15b8c160c720c48b93796016801e7ae0b6bd2d",
      "tree": "49044f23ead7f0dca058f477f5b1365a16a6e144",
      "parents": [
        "a2544c5431224995ade19611642d2b534939fb14"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 30 16:35:56 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Feb 07 11:55:19 2018 -0800"
      },
      "message": "link media.metrics native strings to api-controlled java strings\n\nadd comments to native media.metrics code pointing to how they\nare (and aren\u0027t) to be kept in synch with their java counterparts\nthat are part of the public API (and therefore pretty much fixed).\n\nBug: 72492234\nTest: compilation\nChange-Id: Ic096545a5cdfb2160c6b66438d345d8e625384b9\n"
    },
    {
      "commit": "92d23b433bd770c22c2d4a30b573602f5565de1b",
      "tree": "e2ff902f2be5d131e8a1cd4af09868d3a5af2794",
      "parents": [
        "3923b1b71628e668f9b11ed4891ed2840dd331cd"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 29 12:10:30 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 29 14:38:27 2018 -0800"
      },
      "message": "Remove finalized concept from media.metrics\n\nthe \u0027finalized\u0027 concept didn\u0027t pan out -- remove references to it.\nSimplifies the code flow.\nAlso purged some uses of generateSessionID().\n\nBug: 71874686\nTest: logcat/dumpsys\nChange-Id: I39e48526a5696158d8195f47154881ca6ecda266\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": "0b466551491988f38394a66135cee19ab13b8479",
      "tree": "69a17f0d4e73bcde917452c2f4c34ccf5e7262f3",
      "parents": [
        "0726a4e4086dc6b6c44b90a775a8ded96cc80c31",
        "15d02f84351eaca14099bde11cfbf6f124bea71f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 20 02:06:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 20 02:06:37 2017 +0000"
      },
      "message": "Merge \"Define constants in IStreamListener in MediaKeys.h\""
    },
    {
      "commit": "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": "15d02f84351eaca14099bde11cfbf6f124bea71f",
      "tree": "0d867f26034186e29b8271391ad6a1baf3516fdb",
      "parents": [
        "2a8dbc7611d3861d696c167ebdced50158bbebe1"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Dec 14 16:32:18 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Dec 19 01:26:18 2017 +0000"
      },
      "message": "Define constants in IStreamListener in MediaKeys.h\n\nCurrently, constants in IStreamSource are being used in ATSParser while\nthey are separate entities. This defines those constants in MediaKeys.h\nso that ATSParser can be used without depending on IStreamSource.\n\nThis removes libmedia dependency from libmpeg2extractor.\n\nTest: build.\nBug: 67908537\nChange-Id: I503a4cdb530825b1932463efae999d120b839e56\n"
    },
    {
      "commit": "51f4c87119e8c09396411f32cc82db3fd62e19e7",
      "tree": "ce6a1df2e5da46a76d0f02670f68fb94adfbf16c",
      "parents": [
        "2a8dbc7611d3861d696c167ebdced50158bbebe1"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Dec 15 12:27:56 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Dec 15 14:58:18 2017 -0800"
      },
      "message": "nuplayer/2 emit state name, not number\n\naugment both nuplayer and nuplayer2 so that the state information\nthey emit to media metrics for error exits is symbolic, not numeric.\n\nBug: 70525617\nTest: manual\nChange-Id: Ie43266cd75810ff4ea6e00f32a1666dc9a5a37dc\n"
    },
    {
      "commit": "586073e21ba7711d52f763006b7e6cdec012dc5c",
      "tree": "e2e758912259a0246d9c4bea222130fa6efdf93a",
      "parents": [
        "599660ea6a581eda4b2f62caf7b086814f2b2ba3",
        "c6e9f6ebdf3b784b2c6b8daaccacd4ec833ec4f5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 14 21:52:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 14 21:52:26 2017 +0000"
      },
      "message": "Merge \"Count all nuplayer frames\""
    },
    {
      "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": "c6e9f6ebdf3b784b2c6b8daaccacd4ec833ec4f5",
      "tree": "215d281d5e3cc64bee02f61067cebb191b432b82",
      "parents": [
        "44804b4c684b4b870cf0df1e7ace11a152eeec19"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Dec 07 16:57:36 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Dec 07 16:57:36 2017 -0800"
      },
      "message": "Count all nuplayer frames\n\nnuplayer counts frames: both total and dropped. One path during\nintentional skipping counted those frames as dropped, but not as\npart of the total. This moves the accumulation of total frames up\nto a point where it will also include these intentionally\nskipped/dropped frames.\n\nBug: 70297008\nTest: manual\n"
    },
    {
      "commit": "58e0f7a3b65d4e107e32e7d15a1af6410446fcf5",
      "tree": "68c89afea8470166d95093c2dde9ecf78b34211e",
      "parents": [
        "6b0e0f0299748dad99dfb5f65c7203bef1abb757"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Nov 21 10:59:38 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Nov 21 10:59:38 2017 -0800"
      },
      "message": "Track rebuffering time in nuplayer\n\ntrack the time the player spends rebuffering content so that it\ncan be logged through media.metrics for later analysis. records\ntime rebuffering, number of rebuffering events, and whether player\nwas rebuffering at exit time (e.g. did user get impatient and quit)\n\nBug: 69616719\nTest: playback on deliberately lossy network\n"
    },
    {
      "commit": "e0ce8445a111156fcbf8cb77f928a38d0abc8ac3",
      "tree": "4ea405e9db24b766b562467cfa379089ab742699",
      "parents": [
        "7c66f8e5b4347d7597c2ecba9a3c391ff8c81660",
        "c899fc0738e738fe8bce5c1949cdc93da27c44de"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 16 18:49:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 16 18:49:25 2017 +0000"
      },
      "message": "Merge \"GenericSource: perform seekTo on own looper\""
    },
    {
      "commit": "c899fc0738e738fe8bce5c1949cdc93da27c44de",
      "tree": "927ed9be1f3851932476e23d3fcfc8753db8156b",
      "parents": [
        "a4fa4760fa417473324e009b3f4117a2d539c486"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 15 17:28:53 2017 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 15 18:04:29 2017 -0800"
      },
      "message": "GenericSource: perform seekTo on own looper\n\nTest: pass Media continuous CTS tests\nBug: 69328257\nBug: 66952371\nChange-Id: Ia02abbf7a19a01cb6d6051ef9f2461679852dd56\n"
    },
    {
      "commit": "68f1d2842541f043ca318b01690a7cdb41b1df78",
      "tree": "1f9ff368cbfa15e7da447b66322b23a3289e7446",
      "parents": [
        "a4fa4760fa417473324e009b3f4117a2d539c486",
        "0d98c1809f2f763be0b68ffb1daff916d5ed0bb2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 14 21:10:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 14 21:10:24 2017 +0000"
      },
      "message": "Merge \"Improve tracking of \u0027playing time\u0027 metrics\""
    },
    {
      "commit": "9bb3803a80a680ea7a3bc11e07b8a89ccddee003",
      "tree": "1ad46a98f44bd2c487678c05825c374cca92b338",
      "parents": [
        "63ca96305e389e4504ab8d89111dc8719d00161f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Mar 23 18:00:38 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sun Nov 12 14:32:02 2017 -0800"
      },
      "message": "BufferingSettings: simplify buffering control.\n\nNow only 2 marks, initialMarkMs and resumPlaybackMarkMs, remain.\nTest: pass cts tests\nBug: 36280094\nChange-Id: I03c8e2a0db9f7e845f57e76f51874cd8715a48d4\n"
    },
    {
      "commit": "67744bd64a12d95f30925724f490074e63f81d7e",
      "tree": "e6a29a8896509cca9aa2920a01dd98d304b4df31",
      "parents": [
        "dd97f52b3969ee8d6fb611e045ada26037e44e27"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Nov 10 11:27:04 2017 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Nov 10 11:27:04 2017 -0800"
      },
      "message": "GenericSource: release mLock when operation might take long time.\n\nThis allows disconnect() to be done quickly in order to not block\nreset() in mediaplayer.\nTest: pass android.media.cts.MediaPlayerFlakyNetworkTest\nBug: 68954085\n\nChange-Id: I3ebfef66098066f2169d9946c417fe530cc1fa1b\n"
    },
    {
      "commit": "0d98c1809f2f763be0b68ffb1daff916d5ed0bb2",
      "tree": "155f499e5c019f931eb9bd90f25fad3132a4cd07",
      "parents": [
        "dd97f52b3969ee8d6fb611e045ada26037e44e27"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Nov 09 13:42:42 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Nov 09 13:42:42 2017 -0800"
      },
      "message": "Improve tracking of \u0027playing time\u0027 metrics\n\nSome field records sometimes showed non-zero frames played, but zero\nplayback time; a combination that should not be possible. Tracked to\nalternate exit conditions that didn\u0027t go through the existing \u0027update\nthe stat here\u0027.  Now managing time at some other identified possible\npaths for playback exit.\n\nBug: 68273679\nTest: manual video playback\nChange-Id: I196120c49ec92d2e30d53a6e9eed9c60f1b8f2a7\n"
    },
    {
      "commit": "542a81af9f403de1b94be896d943c4891e600217",
      "tree": "9b67d4972afe3d808b0e12a9bd889fd8c68a303b",
      "parents": [
        "c56f27b269800c1e8441908c3d564c63e0257f56"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 16 10:31:29 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 23 10:45:21 2017 -0700"
      },
      "message": "GenericSource: enable autonomous buffering\n\nAlso fix possible racing conditions. Now buffering control is time based\nonly.\nTest: media post submit tests passed\nBug: 66952371\nChange-Id: Ia115787511b2f3e612167a61c8df3a9a2b2d9abf\n"
    },
    {
      "commit": "08a5a3a473354c965c32190f8b68549d19e08912",
      "tree": "ae35414f1dc918ce7249295bbb6f009a67159de5",
      "parents": [
        "eeff0cf82433a151b59e87d695b2189e7ff0858d",
        "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 17 22:11:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 17 22:11:54 2017 +0000"
      },
      "message": "Merge changes from topic \"remove-dep\"\n\n* changes:\n  Remove libmedia and libstagefright dependency from extractors\n  Clean move of files to keep the git history\n  Sort shared libs in Android.bp for extractors\n"
    },
    {
      "commit": "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3",
      "tree": "4a3b6fb269ae76af3c0567cc1d57780c17bd2c30",
      "parents": [
        "04ce1be860b40e18ca7f5fdf64ecb82567d7fe24"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 10 00:07:09 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 13:43:59 2017 -0700"
      },
      "message": "Remove libmedia and libstagefright dependency from extractors\n\n- MediaSource, DataSource and MediaExtractor are moved to\n  libmediaextractor so that they can be used by extractor\n  implementations without depending on libmedia and libstagefright.\n- XXXFactory classes has been added in order not to expose CreateXXX\n  methods in libmediaextractor.\n- avc_utils is moved to libstagefright_foundation since most of\n  extractor implementations are relying on that.\n\nTest: build + post submit media CTS tests\nBug: 65851881\nChange-Id: I7d5cf18dd25abc10478ac3f6e7d1828ad023e3fb\n"
    },
    {
      "commit": "dc293e342677c8e61ff79f49f117f8e69bb2b863",
      "tree": "9fd24e45236e7c6f1e5912cd9bd0e4ed70425677",
      "parents": [
        "92b01549f05ab42c1bc5e1f11aa13d5cf95b7817"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 16 18:29:37 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 16 18:29:37 2017 -0700"
      },
      "message": "NuPlayerRenderer: update max media time when audio EOS is reached.\n\nThis allows the just scheduled video frame to be rendered when its timestamp\nis larger than max audio media time.\nTest: media post-submit tests passed\nBug: 67854291\nBug: 65204641\n\nChange-Id: Iadee5690b8895b1d9be3fdefcafe3535837d12e8\n"
    },
    {
      "commit": "b7798a01d4b68bf2406907bb58f29b48dece8214",
      "tree": "b0b34ca04c0d22b24ac4dddf7a8f31aae333a800",
      "parents": [
        "284aa3014feb77fc89143caa00fc8f31c1300f0f"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Oct 09 23:21:44 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Oct 12 17:14:51 2017 -0700"
      },
      "message": "Remove OMX dependency from MediaPlayerService\n\nAlso, convert Android.mk files to Android.bp.\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts \\\n-m CtsMediaTestCases \\\n-t android.media.cts.MediaPlayerTest\n\nBug: 67652488\nChange-Id: I7172d1a2513826a5dafbe51245af11d863f50585\n"
    },
    {
      "commit": "607612858f3afad1ade51a098aafa2a41523b5f7",
      "tree": "351d21ec35304967695c01b845369c117759f144",
      "parents": [
        "3dced075597b6457cbec377f4e0dabb81f6e5724"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 09 11:16:48 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 11 08:58:10 2017 -0700"
      },
      "message": "Move UXX_AT families to libstagefright_foundation\n\nByte handling utilities moved to libstagefright_foundation so that\nthey can be used in extractors without depending on libstagefright.\n\nTest: build\nBug: 65851881\nChange-Id: If72d8befadf3e63a93396f08efac0d6e3f4e273e\n"
    },
    {
      "commit": "3dced075597b6457cbec377f4e0dabb81f6e5724",
      "tree": "dd2c8e49dcda780a5d1366e8e49a8f0639bbdeef",
      "parents": [
        "df36af1052a82c6961839918f7ba9d109bec6831"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 09 08:55:22 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 11 08:58:10 2017 -0700"
      },
      "message": "Move AWakeLock from foundation to libmediaplayerservice\n\nThis removes libpowermanager dependency from libstagefright_foundation.\nAWakeLock is being used only in libmediaplayerservice.\n\nTest: build\nBug: 65851881\nChange-Id: I1a34210f66fd4fdc30b7aa6467b642fd99b71731\n"
    },
    {
      "commit": "17648f365e5914fa772bbfebaf9f5c6a37ddfb99",
      "tree": "78ec7a8b4e8e2a8cb3f3eac566d783ae25596c48",
      "parents": [
        "75e61dba572b8d9d4b4e7f720c107ebf10519438"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Sep 19 13:16:30 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Sep 27 11:45:25 2017 -0700"
      },
      "message": "NuPlayerRenderer: use timer for video rendering\n\nMediaClock: timer can be adjusted by system time offset\nTest: plays many media files\nBug: 65204641\nChange-Id: Icd73a06d9b2fe720224ed951db94136f399d82f8\n"
    },
    {
      "commit": "1fb35b71b044adb6d8cfd3a740b94e211f28dabe",
      "tree": "5de6e2dd4e56eafd74e6fc22051e870eea59c6d4",
      "parents": [
        "dddb4326c090fa8ea37168d861eb11cd3a66e0c9"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Sep 25 16:08:13 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Sep 25 16:30:20 2017 -0700"
      },
      "message": "NuPlayerRenderer: work around some racing condition in audio track\n\nTest: no more super long delay when seeking/pausing/resuming\nBug: 66917327\nChange-Id: Ic43ef543984f299d6ea7197c9e55d76518474c8a\n"
    },
    {
      "commit": "dddb4326c090fa8ea37168d861eb11cd3a66e0c9",
      "tree": "ac7473cadcb70f130c14ceb9a476fc40d0b41cee",
      "parents": [
        "1841755b4507a8a132895f2e2d214fa759ae7b22",
        "52c2851b30588df1aba00766c37ffde86a3345bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 15 20:15:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 15 20:15:36 2017 +0000"
      },
      "message": "Merge \"MediaPlayer: add notifyAt at native side\""
    },
    {
      "commit": "bc3da580439715e67876ff213a5c58b9b61d8dd8",
      "tree": "0b24a2fb0da572064f64c8a0c0d7d88272c6e022",
      "parents": [
        "7374d0182a525acb5dfe86f7dc7181c382502667",
        "992c559859e518056d5e8546dc978fab13fb180e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 14 23:48:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 14 23:48:23 2017 +0000"
      },
      "message": "Merge \"GenericSource: fix sending time for text data\""
    },
    {
      "commit": "992c559859e518056d5e8546dc978fab13fb180e",
      "tree": "b68c672964cf313959ed06e3926ab9be393a23d2",
      "parents": [
        "014df71ed78023d99ca72578f7866cabbc1e6601"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Sep 01 14:20:23 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Sep 14 12:57:39 2017 -0700"
      },
      "message": "GenericSource: fix sending time for text data\n\nTest: text data was sent at correct time when playback rate is not 1.0\nBug: 65204641\nChange-Id: I72ea818f52ca35f3a13bb0d62a5f20bb7f5db087\n"
    },
    {
      "commit": "52c2851b30588df1aba00766c37ffde86a3345bc",
      "tree": "9ff98868cdbc27ab5cfd19f7cf8cae155b7cd6c4",
      "parents": [
        "014df71ed78023d99ca72578f7866cabbc1e6601"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Sep 13 18:17:51 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Sep 13 18:20:53 2017 -0700"
      },
      "message": "MediaPlayer: add notifyAt at native side\n\nTest: media time is correct when playback rate is not 1.0\nBug: 65204641\nChange-Id: Ie9f67e3cb37267cfd364c9a9b9f674232b68ef27\n"
    },
    {
      "commit": "e247023e785e581349d8fb926c4a1bed239b623c",
      "tree": "850157e9f268725e25dd0e1b98dfd729e61e0e76",
      "parents": [
        "fdf4151313d35e0ef504955ae738550b6ffd338b",
        "0fbd5badd563360827c81b9096381096e9eadf9c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 06 16:26:55 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 06 16:26:55 2017 +0000"
      },
      "message": "Merge \"AudioTrack: Limit timestamp time lag after start\" into oc-mr1-dev am: cea54cf940\nam: 0fbd5badd5\n\nChange-Id: I910d96c6901bad81987191ea2485435a6fcf8a7f\n"
    },
    {
      "commit": "ffa3695a012d22c6c81cf311232c5c84c06f9219",
      "tree": "9efbe30bf98b6a75977fe842083808e8b9d69806",
      "parents": [
        "90153cae7ffd321338f90678a80abd62fb56e877"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Aug 17 10:41:51 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 05 17:02:15 2017 -0700"
      },
      "message": "AudioTrack: Limit timestamp time lag after start\n\nTest: Photos with long pause and resume\nBug: 63614330\nBug: 63976584\nChange-Id: I81ac650c821600fee507c72c3b0c1be60f5e7ab6\n"
    },
    {
      "commit": "7b6f67d18a4a4e94fddb836de1176b609968643a",
      "tree": "84d2d048574eb7de82c7c85e60bd90dcb8d42a36",
      "parents": [
        "f24d95960d85c891fc40db6f1e9644385efb4eb3"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Aug 24 17:20:29 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Sep 05 14:53:52 2017 -0700"
      },
      "message": "MediaClock: add timer\n\nTest: compiles\nBug: 65204641\nChange-Id: Id80a41481255a8f8a9adce40cf10f629f996c6aa\n"
    },
    {
      "commit": "fb70e75da021eca82378d4ded6589d3a86672e96",
      "tree": "0d5fe47dbae3f8b5b05007ad6ecc39f7e1fcd7eb",
      "parents": [
        "0b8529fbacaa35634ac24bb62c5890cddcb623b6",
        "baf9bda6a488248063ec7a5384a41e157ff69e05"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Sep 01 23:23:31 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 01 23:23:31 2017 +0000"
      },
      "message": "Merge \"track pkgname/version in media.metrics\" into oc-mr1-dev am: dbedf0ab12\nam: baf9bda6a4\n\nChange-Id: Ibd812b72b8f3383097ee5eb8bb556dbbab8865a9\n"
    },
    {
      "commit": "c9b7057b6229b6364631918a915266c3aaa1c961",
      "tree": "df0b85a9e1f9adef41b51570e4985b572e948607",
      "parents": [
        "7b40873793fa1f788677a3844b56ccee4b888a0a",
        "0a68f66af2ce55a7110cd901c7e91365abf60cea"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 31 23:00:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 31 23:00:12 2017 +0000"
      },
      "message": "Merge \"NuPlayer: make MediaClock a player-wide resource.\""
    },
    {
      "commit": "f65f421540d8d1e2aad17b86368405b83cb40a26",
      "tree": "6dce1fc64f88803e89369fe6d893c5700251b6f1",
      "parents": [
        "aba0e98b085cc613003bf42dbfe1ad0a3bb2348e"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Aug 31 11:41:19 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Aug 31 11:41:19 2017 -0700"
      },
      "message": "track pkgname/version in media.metrics\n\nEnhances the media.metrics subsystem to track the pkg name \u0026 version\nso analysis can move from \"error rate has climbed\" to \"error rate has\nclimbed within app X\".\n\nChanges include fields to hold package name/version, the dump protocol\nto emit those fields to upload, and better management of metrics data on\ndevice (time and quantity).\n\nBug: 65027506\nTest: review output of dumpsys media.metrics\nChange-Id: Ia55b859d903835c84f7d43883f959dc1cdefb081\n"
    },
    {
      "commit": "0a68f66af2ce55a7110cd901c7e91365abf60cea",
      "tree": "abebc6928f972bc2d57d11b8f4d665a700589c36",
      "parents": [
        "52f34c8988bdaeccb715e36eec66ad2183f6158b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 30 18:01:26 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 30 18:01:26 2017 -0700"
      },
      "message": "NuPlayer: make MediaClock a player-wide resource.\n\nTest: compiles\nBug: 65204641\nChange-Id: I7e58abd508b29c222cdb9fd2e60563cf5735a444\n"
    },
    {
      "commit": "aec8d82dbd9b80eab3df62e200b47ba91cc94d42",
      "tree": "00d70b4bd838ed1a48665319d0d24ec2bd54d08a",
      "parents": [
        "52f34c8988bdaeccb715e36eec66ad2183f6158b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Aug 25 15:27:57 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Aug 28 09:55:28 2017 -0700"
      },
      "message": "NuPlayer: fix out of range seeking in audio\n\nAlso allow media time to move forward when switching from a/v to video\nonly.\nTest: media time is correct when playing and seeking\nBug: 63397228\n\nChange-Id: I14317bb4f3daa210e7b0323ef2d4daf5e298d91c\n"
    },
    {
      "commit": "b407c3f337aae77fadf7f5442a5332a1619cf5c6",
      "tree": "be88e2404789ed7b604d13c677067be82c9efe09",
      "parents": [
        "5d6246b67b96ffff8baa393a03e136badd81d823",
        "215a490e267d75ba130fdbc865c631f2088db331"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 09 21:11:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 09 21:11:05 2017 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: check mCodec before dereferencing\" into oc-mr1-dev am: 298346c387\nam: 215a490e26\n\nChange-Id: I9806ff82c5bd94e7629d2f1950f721d740a5bf58\n"
    },
    {
      "commit": "298346c387e49ddaff94a7270b3791c0d40780fe",
      "tree": "7b2879c6582ab0cb8feb00eb93f7db939c4c4d12",
      "parents": [
        "e88fd530455d39e4c770870c74c1198820f62bfe",
        "fcd878748dc54cfc633562ced3fd6844477939c6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 09 20:41:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 09 20:41:27 2017 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: check mCodec before dereferencing\" into oc-mr1-dev"
    },
    {
      "commit": "fcd878748dc54cfc633562ced3fd6844477939c6",
      "tree": "43e7ea92164ea57de42144e21871a3647be32379",
      "parents": [
        "2eddd660f9140d50f4e49e7981580dee2356ff54"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jul 28 15:50:04 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Aug 08 13:02:03 2017 -0700"
      },
      "message": "NuPlayerDecoder: check mCodec before dereferencing\n\nTest: decoder does not crash when configure failed.\nBug: 25165051\nChange-Id: I0f8fae44cca0938ad8ff862c9b5b3b2c8ad396a2\n"
    },
    {
      "commit": "d3dcd248994aa922de9f129f5e6b39bc2d26018a",
      "tree": "2f86b449543e2ac4d0d42765da96a3eade966e0b",
      "parents": [
        "5a76cab253271ee647022eaae85980a777c67970",
        "c7170f20a5f1ce9b29a8719f717d3ae72ab331b9"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Aug 01 03:06:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 01 03:06:07 2017 +0000"
      },
      "message": "Merge \"GenericSource: reset timed text/subtitle after seek\" into oc-dr1-dev am: 87b901caa1 am: 93d85e7929\nam: c7170f20a5\n\nChange-Id: I638507d1b2e2466b9ae58236d4df939609b1a1a3\n"
    },
    {
      "commit": "c7170f20a5f1ce9b29a8719f717d3ae72ab331b9",
      "tree": "ebcf2d5928078fbd3b79081b86790204b2c9853f",
      "parents": [
        "3b6654815fa29bbb9487b13a5f3f66267cbbb831",
        "93d85e7929ce290983984faf1b245d06c1b13a06"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Aug 01 02:44:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 01 02:44:01 2017 +0000"
      },
      "message": "Merge \"GenericSource: reset timed text/subtitle after seek\" into oc-dr1-dev am: 87b901caa1\nam: 93d85e7929\n\nChange-Id: I1106b56d1868b2895b8829235f95d953991b0549\n"
    },
    {
      "commit": "4af61ddad5cb18b08fa4faa956468363e30f3b1c",
      "tree": "657d75e9ccb34099f943dc95e3cc61261233d361",
      "parents": [
        "b313c5c751d695e27a5eb0b8491b34bf2e2f8682",
        "87b901caa18f2e5e5a39023fb682eb09d4d832fe"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Aug 01 02:41:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 01 02:41:01 2017 +0000"
      },
      "message": "Merge \"GenericSource: reset timed text/subtitle after seek\" into oc-dr1-dev\nam: 87b901caa1\n\nChange-Id: I643afacd79bd58c7acf1873db0cd1b01f09089b9\n"
    },
    {
      "commit": "4029672a3533597ea2a7aaa7b17a45674bc70e85",
      "tree": "2b70e4599f19e2ea7cbbd553274610f3a8b928a2",
      "parents": [
        "b2bae26bf4f537973fcfe4cc620044de3044b525"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Jul 31 16:44:39 2017 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Jul 31 17:31:24 2017 -0700"
      },
      "message": "GenericSource: reset timed text/subtitle after seek\n\nBug: 62071488\nTest: MediaPlayerTest#testSeekWithTimedText\nChange-Id: I789c22d186a601d57b4d5ad0d7945590714796a3\n"
    },
    {
      "commit": "28e6c5fc5683e34c9c008a13246e69f0431833df",
      "tree": "1cac9fa44485726e5aaaf7309430f72926976c1f",
      "parents": [
        "0fbeb4d09d2b65004d3a7f9828e114cdd7666386",
        "89dc2fe68646a16ee21a02ce2b6610bbf3262ade"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jul 26 22:02:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 26 22:02:49 2017 +0000"
      },
      "message": "Merge \"GenericSource: still feed audio decoder when paused.\""
    },
    {
      "commit": "89dc2fe68646a16ee21a02ce2b6610bbf3262ade",
      "tree": "ffa128381fbd2a1e12523553165e990f94fbcfba",
      "parents": [
        "f34e3f272d9ca267b73188ec7cb6c40ef27682ec"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 11:00:40 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 11:00:40 2017 -0700"
      },
      "message": "GenericSource: still feed audio decoder when paused.\n\nTest: audio decoder stops polling source\nBug: 63412809\nChange-Id: I53c98920ea850defae88b2e12be6b05d6d90c32c\n"
    },
    {
      "commit": "599e95afa2c717caea823c3fd330eaaebf54880c",
      "tree": "629cdebdaa29c2bb115524a1913cc554a4ab0de6",
      "parents": [
        "2ca3dd3338d861ad844306c6efdbc57510671dfe",
        "d214a56215f01f2d4f4ac17cc842a1d63e146126"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 20:57:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 14 20:57:05 2017 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: allow video to continue when audio ends\""
    },
    {
      "commit": "f86731d6a5d7392bb600123af2843687f6aa9c2e",
      "tree": "9ecdc3a984e9d93b5186c0a1d9f7dc9ecb7b2e9d",
      "parents": [
        "f34e3f272d9ca267b73188ec7cb6c40ef27682ec"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 11 17:24:34 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 11 17:24:34 2017 -0700"
      },
      "message": "NuPlayer: fix track error notification\n\nAudio/video decoder could have been shut down due to error. When the\ncounter track has error, it should take this into consideration.\nTest: MediaPlayer sends out corrent error notification.\nBug: 63116575\n\nChange-Id: Ie31d4e6d9b2bc6715d657a4c8e2dc7c1368257b1\n"
    },
    {
      "commit": "d214a56215f01f2d4f4ac17cc842a1d63e146126",
      "tree": "5a1efbf660952ba998b2d7a14cf2499ee2c30082",
      "parents": [
        "f34e3f272d9ca267b73188ec7cb6c40ef27682ec"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jul 10 13:20:55 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jul 10 13:20:55 2017 -0700"
      },
      "message": "NuPlayerRenderer: allow video to continue when audio ends\n\nTest: video can continue when audio ends\nBug: 63397228\nChange-Id: Iebd79006b7205ddd4d616a803fe0e5f492cbc866\n"
    },
    {
      "commit": "ddd11adcd9e44b0536d9eeb758b0672eec0439dc",
      "tree": "667d8bb98ca3f4a951e845d7038b0bfe291050a1",
      "parents": [
        "96521b2b71efb194315277a520cb06e4ade7187a"
      ],
      "author": {
        "name": "Santhosh Behara",
        "email": "santhoshbehara@codeaurora.org",
        "time": "Tue Jun 13 15:01:35 2017 +0530"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jun 23 14:19:55 2017 -0700"
      },
      "message": "media: Change the location of dumping stats\n\nThe latest photos apk calls the setVideoSurfaceTexture\nwith a null bufferProducer. Hence the surface is set as\nNULL.\nDue to this, the video decoder is shutdown before the\nsurface is set. Hence the stats are lost. Thus when the\napp calls reset after surface is set, the stats are not\nprinted.\n\nTest: see dump stats\nCRs-Fixed: 2063273\n\nBug: 62897827\n\nAuthor: anubhavp@codeaurora.org\n\nChange-Id: Iafc09c50840960be4a20e55b34d5d31ba6a2da49\n(cherry picked from commit 563acd6f5a0bfc0174aee61a9ec04916fc227f14)\n"
    },
    {
      "commit": "360abaf9d7045bb125e0df414e82af1ef89681d0",
      "tree": "75c1764562c54d7f46d2255c1e82e05496f20e09",
      "parents": [
        "88e94d3c1e3644d1c36b9e9c2f161cfe891ce4e1",
        "8631fd7b270e99ebee6ba056f4edd38e6bd4f93f"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Mon Jun 05 18:53:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 05 18:53:29 2017 +0000"
      },
      "message": "Merge \"Modular DRM for MediaPlayer: L3 playback fails at OMX mmap; preparDrm preparing\" into oc-dev\nam: 8631fd7b27\n\nChange-Id: I88c8b84a400df2ed20e4e2017309634d8a725af4\n"
    },
    {
      "commit": "8631fd7b270e99ebee6ba056f4edd38e6bd4f93f",
      "tree": "dba08a8301476a0be1c971b9975f019216a74fcf",
      "parents": [
        "1d32e9f8e5ba52d69c6319270c8a63a995d2c4f2",
        "838be3907fc58eab119d7093a3d73be7267bd4d2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 05 18:44:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 05 18:44:50 2017 +0000"
      },
      "message": "Merge \"Modular DRM for MediaPlayer: L3 playback fails at OMX mmap; preparDrm preparing\" into oc-dev"
    },
    {
      "commit": "838be3907fc58eab119d7093a3d73be7267bd4d2",
      "tree": "a669b7f03ce3ca7799aa7311240a49d0846c6755",
      "parents": [
        "0375da69b221b05c3e44c49b1ad2f3b93a6bf2f9"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Tue May 23 14:14:24 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Jun 01 12:21:03 2017 -0700"
      },
      "message": "Modular DRM for MediaPlayer: L3 playback fails at OMX mmap; preparDrm preparing\n\nBug: 34559906\nBug: 38390836\nBug: 38039230\nBug: 62194380\n\nTest: GTS Tests\nChange-Id: I51e2479f745a4c3e271628abdd79efcb97368ec2\n"
    },
    {
      "commit": "0094fd70678b901b8ffd92bc4a15c272f9ce28f0",
      "tree": "beab53f4d02fd0fb583ebdaf651d3dc2aafbd7e8",
      "parents": [
        "d2b26cd85d54b5258bfd0296313c07e80bee1957"
      ],
      "author": {
        "name": "YOUNG HO CHA",
        "email": "ganadist@gmail.com",
        "time": "Thu May 25 23:16:51 2017 +0900"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 26 21:49:52 2017 +0000"
      },
      "message": "Android.mk: remove $TOP in LOCAL_C_INCLUDES\n\nTest: make systemimage\n\nChange-Id: I5f83786afe3f2c65819b127b041cb74fc4c989ac\nMerged-In: I5f83786afe3f2c65819b127b041cb74fc4c989ac\nSigned-off-by: YOUNG HO CHA \u003cganadist@gmail.com\u003e\n(cherry picked from commit 2ee7aab4a39139a86a24ca14f718eb20a1b355db)\n"
    },
    {
      "commit": "8eed27bece03299d70d7a1acbc77236a192e7fe5",
      "tree": "779b88bb86216339da43e3670d53a45fb145a303",
      "parents": [
        "67618464bab2ef84786ac40ca846d23eca50b0bc",
        "b7b6818b7397eb44b3d43175afdd9a4fd71f2cd4"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed May 24 19:20:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 19:20:08 2017 +0000"
      },
      "message": "Merge \"Modular DRM for MediaPlayer/Fixing legacy frame drop at NuPlayerDecoder\" into oc-dev\nam: b7b6818b73\n\nChange-Id: I601ddcab5011a7fd56b74df51ec5ac459f6ccb53\n"
    },
    {
      "commit": "62dec9555ec832b1a8c63c70e4df745aa8635488",
      "tree": "94de207630ccca1a5d147f18cca4cbd31fab5ab3",
      "parents": [
        "0556a2363ff5eb49bd35dc47f2d34cc2042de052"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu May 18 10:45:27 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Tue May 23 17:43:47 2017 -0700"
      },
      "message": "Modular DRM for MediaPlayer/Fixing legacy frame drop at NuPlayerDecoder\n\nBug: 34559906\nBug: 38039230\nBug: 38430289\nTest: GTS/CTS Tests\nChange-Id: I68dca5f8bae4f9f7866cfaaa6aba97c80dcd8ffb\n"
    },
    {
      "commit": "b69caa46e844d5131b3f97f4485c3293cdf9ebde",
      "tree": "45dd316437dc0650436d483448528a9caada78de",
      "parents": [
        "41e635dcce18df7af6d5d14804bbac028bde6648",
        "a666b6980027946c2dfeb8a3529c8e791fc279a4"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Tue May 16 16:17:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 16 16:17:17 2017 +0000"
      },
      "message": "Merge \"Modular DRM for MediaPlayer/Race at stop/releaseDrm\" into oc-dev\nam: a666b69800\n\nChange-Id: I9a7d62c2e199bc33dd0677d54647d4d9be02893a\n"
    },
    {
      "commit": "355e8473df4a5b197f0cf136edfbede586416067",
      "tree": "f861410f2a1713975b0849d06f0036e0fdbdec29",
      "parents": [
        "d004c157bac96c4a180604bf304e0dbdb8bc11b5"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Fri May 12 10:33:16 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Mon May 15 18:36:20 2017 -0700"
      },
      "message": "Modular DRM for MediaPlayer/Race at stop/releaseDrm\n\nBug: 34559906\nBug: 37960096\nTest: GTS LLAMA_H264_XX_V0_SYNC (1000 rounds)\nChange-Id: I8576fb9dadf8922c2a54f2ea9e199d2e07c1820e\n"
    },
    {
      "commit": "c97b068fbda412605497c56498be1e47ff6f955d",
      "tree": "5fe08ce8229aa46cec0176258c5470cad1e5072a",
      "parents": [
        "8f4b21a004761e8ac066e2e17dfd47d2189402fe",
        "feb0d87f693abd8fd2fa7ebfcdf7d91f0b95c131"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sat May 13 01:37:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat May 13 01:37:21 2017 +0000"
      },
      "message": "Merge \"Suppress empty media.metrics records from nuplayer\" into oc-dev\nam: feb0d87f69\n\nChange-Id: I92792befd7909fc873114c69b10ae832ed0bb31e\n"
    },
    {
      "commit": "feb0d87f693abd8fd2fa7ebfcdf7d91f0b95c131",
      "tree": "25a0b212ba20065aa47b5257550e7aefeae58434",
      "parents": [
        "8467c128d7edfc16a93e2606bbae5188f067d2d5",
        "3991809be9c81daec6293f5a099a6ce040090aed"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat May 13 01:31:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 13 01:31:03 2017 +0000"
      },
      "message": "Merge \"Suppress empty media.metrics records from nuplayer\" into oc-dev"
    },
    {
      "commit": "3991809be9c81daec6293f5a099a6ce040090aed",
      "tree": "3aa084ae3a63d44d0fa359a62552fddba029ee86",
      "parents": [
        "24fd2f7d2900797b1300d6bc89d28bd94a31c3cb"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri May 12 16:22:05 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri May 12 16:22:05 2017 -0700"
      },
      "message": "Suppress empty media.metrics records from nuplayer\n\ntweaks the mechanism (a count) we use to suppress nuplayer records\nfor media.metrics to reflect recent changes that included datasource\ninformation.\n\nThis stops spurious records that pollute / degrade the uploaded\nmetrics data.\n\nBug: 38270725\nTest: examine output from: dumpsys media.metrics\n"
    },
    {
      "commit": "5a7ae5ecbadc465588f495cf35f1cf4c3b2b1b9d",
      "tree": "e922775b11357a97570857555c6cd10643d5241b",
      "parents": [
        "746e4da9fef85b962d945cb353e7c8ba888c64ed",
        "b81da0bd69fb703585f5601b9e712068fff6b4e9"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed May 10 02:15:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 10 02:15:47 2017 +0000"
      },
      "message": "Merge \"nuplayer: Do not notify EOS when paused\" into oc-dev\nam: b81da0bd69\n\nChange-Id: I6ca6e018d63cd171e38ef34a49da1f217f54fded\n"
    },
    {
      "commit": "b81da0bd69fb703585f5601b9e712068fff6b4e9",
      "tree": "e119cad1ba260969fa06dcb6e24588b0cb7b466b",
      "parents": [
        "b622f93984da567396b79af08bde231b61dd3169",
        "62d4e07eb5f99bd469f92897e47f5598abef99d3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 10 01:57:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 10 01:57:14 2017 +0000"
      },
      "message": "Merge \"nuplayer: Do not notify EOS when paused\" into oc-dev"
    },
    {
      "commit": "62d4e07eb5f99bd469f92897e47f5598abef99d3",
      "tree": "5e1162ee3e1122881f41d59e1e32351bd4702ef5",
      "parents": [
        "02cccfd9e790ba8758aba2b4f2a600a7d8fd1566"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Jun 13 11:23:22 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue May 09 22:25:32 2017 +0000"
      },
      "message": "nuplayer: Do not notify EOS when paused\n\nPlayback switches to next clip if a paused clip is seeked to EOS.\nThis happens as onDrainAudioQueue is allowed to fill buffer\nwhen paused. During drain, EOS is notified even during paused state\nand playback switches to next clip.\n\nAvoid notifying EOS when paused.\n\nauthored-by: Chaithanya Krishna Bacharaju \u003cchaithan@codeaurora.org\u003e\nTest: run mediaplayer\nBug: 38022556\nChange-Id: I8261219615f4ce726e03d02b0cb3e71889a711d0\n(cherry picked from commit b99e3649f468015f5156e71d02b11c2e2c236c58)\n"
    },
    {
      "commit": "59067134546c1bf70041fb4a1364d4bf623e4f4b",
      "tree": "4ad33b1a4d62c4332722a6049cbc725da7f712bd",
      "parents": [
        "2f321453982c00e1adf21faf86536c7aa53c469b",
        "36c68885f945ac85129b5b22e989c7dea1ce8727"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 03 01:59:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 03 01:59:17 2017 +0000"
      },
      "message": "Merge changes I155f9f77,Ibb1aa07a,If460a6ef,Ifabff1c2 am: 87f0897426 am: f8e4180ac2\nam: 36c68885f9\n\nChange-Id: Ie32c25b4887461dece19e28b0115784a5afc456e\n"
    },
    {
      "commit": "0bdcf66bf30dfe60b44ea2d69bc846cca33fc3f3",
      "tree": "b2cf28124cfdb348875ce7e0b173f71595d8ea85",
      "parents": [
        "f6014a1ceee2e2c71f6603048eebc346a261e87a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 16:15:51 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 15:08:48 2017 -0700"
      },
      "message": "Fix trivial warnings hidden by -isystem\n\nFix the trivial warnings that are hidden by the use of -isystem to\ninclude frameworks/av and caught by -Werror.\n\nTest: m -j checkbuild\nBug: 31751828\nChange-Id: I155f9f772ce0a84b364313814cb7cf528b9de4eb\nMerged-In: I155f9f772ce0a84b364313814cb7cf528b9de4eb\n(cherry picked from commit b8c35f94470d1518e2def0582aaec4e038c92af0)\n"
    },
    {
      "commit": "e941bda6971fa8a5dbfafc0a80ed528ac70e763f",
      "tree": "562b988a6860879c62cb9f3e62f66ac3365fb15c",
      "parents": [
        "af68d9aa9ae3e0c6c5df490ae63a5655dd1e2974",
        "76e360332d7e0e4c0c132bf712c14f5a8ee2a217"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 01 20:36:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 01 20:36:43 2017 +0000"
      },
      "message": "Merge \"GenericSource: close unused file descriptor\" into oc-dev\nam: 76e360332d\n\nChange-Id: Iee6c29c26709b8dee43551e553cddd3d9ee225b8\n"
    },
    {
      "commit": "76e360332d7e0e4c0c132bf712c14f5a8ee2a217",
      "tree": "9eddbd0c3c34595aa2dc83cf2d217fc11ff6daa8",
      "parents": [
        "0e69c9e25152b08a188ef254065e044594eba896",
        "116687f5c0bd31d8c890d3456213e0391b8cbf87"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 01 20:30:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 01 20:30:26 2017 +0000"
      },
      "message": "Merge \"GenericSource: close unused file descriptor\" into oc-dev"
    },
    {
      "commit": "116687f5c0bd31d8c890d3456213e0391b8cbf87",
      "tree": "5d5deeab6610b3d76b20bbe0da6007d6981666bd",
      "parents": [
        "abbb67724e5600c17450ed148fb2c214c5aac9ee"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 01 09:51:40 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 01 11:26:00 2017 -0700"
      },
      "message": "GenericSource: close unused file descriptor\n\nTest: dumpsys media.player with photos, ringtone\nBug: 37792834\nChange-Id: I04e0f05ea642e3bfe5e6af12bfabea69838716b4\n"
    },
    {
      "commit": "7e83db7830f34f9aa55d46a2d8dc2a8ee7e2dc2e",
      "tree": "eec71ccdd111e64218862d067cdef4e1c8b0b445",
      "parents": [
        "a9a09d6e34fe61c467863a2f5b9c21381f7e081f",
        "64f9ce291f2a8e8b89ba1682660299312148c1de"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Sat Apr 29 00:50:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 29 00:50:21 2017 +0000"
      },
      "message": "Merge \"Reporting the player\u0027s data source type in media analytics\" into oc-dev\nam: 64f9ce291f\n\nChange-Id: I9d31c3005249461f63bddc88597cce939d6739d6\n"
    },
    {
      "commit": "64f9ce291f2a8e8b89ba1682660299312148c1de",
      "tree": "19aae08c806f3d0417724257c5b8501914f1d98d",
      "parents": [
        "a01a7ff652eb163984f1ba9aacba5b8e9e0e44a9",
        "ff63de757653579d751665bc3611571fbcacf53d"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Sat Apr 29 00:45:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 29 00:45:48 2017 +0000"
      },
      "message": "Merge \"Reporting the player\u0027s data source type in media analytics\" into oc-dev"
    },
    {
      "commit": "8dbc1205446e09f43a00b2d88c15d2cd93a0b998",
      "tree": "c29cf31d4b09f5b8c1ceef87ac0410e0eb87b337",
      "parents": [
        "75d76012b684eaa56e90280f69b23fc2d8294636"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 12:33:20 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 22:06:51 2017 +0000"
      },
      "message": "LOCAL_CLANG :\u003d true is now the default\n\nTest: verify that build has no failures\nChange-Id: Ib249b276c6295e55eb54fa37b6d15486415dfbed\nMerged-In: Ib249b276c6295e55eb54fa37b6d15486415dfbed\n(cherry picked from commit 5f5ee1110dd85001b43db7637a97474acfe8d681)\n"
    },
    {
      "commit": "ff63de757653579d751665bc3611571fbcacf53d",
      "tree": "a7abce0f9f1994088f057fcff666fb97282d6272",
      "parents": [
        "89b67d60548f8989412aa9cb6ad8a5f287ce303b"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Apr 26 15:10:42 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Fri Apr 28 11:15:27 2017 -0700"
      },
      "message": "Reporting the player\u0027s data source type in media analytics\n\nBug:  37720861\nTest: metrics dumpsys\nChange-Id: I44eb7049f10aa4f89c9e7b0de6b47d169129d15d\n"
    },
    {
      "commit": "d241b656d565bfbb37c2cbb84730b2bf3b25b158",
      "tree": "70007d12fb1e3575187fdfa3c9b47b386a6aa5e8",
      "parents": [
        "77bfcd38b78efd919e898a1165f1b99e34b6d7d7",
        "a28ec4a3f8357224b59fc44b6c91751fc1d8451c"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Apr 27 13:48:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 27 13:48:58 2017 +0000"
      },
      "message": "Merge \"Modular DRM for MediaPlayer/Removing mimes report\" into oc-dev\nam: a28ec4a3f8\n\nChange-Id: I711f66f381452b18149276b9c798eb6ad9e35916\n"
    },
    {
      "commit": "a28ec4a3f8357224b59fc44b6c91751fc1d8451c",
      "tree": "84d60767098680a458f1f20c585e5f6a5c6f46fc",
      "parents": [
        "4271c82efd7c59f6e75e09fa748769bad4cfeee2",
        "dd4ce1877814d6fb005e89021272feb3ccfb81d0"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Apr 27 13:42:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 27 13:42:18 2017 +0000"
      },
      "message": "Merge \"Modular DRM for MediaPlayer/Removing mimes report\" into oc-dev"
    },
    {
      "commit": "dd4ce1877814d6fb005e89021272feb3ccfb81d0",
      "tree": "c881295cd82baf8c3d1f2d7045f833c8ab3cb1ae",
      "parents": [
        "5551797eb2d813ef01e23eb93fd680bc1e0dd886"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Apr 20 15:25:39 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Apr 26 21:58:23 2017 +0000"
      },
      "message": "Modular DRM for MediaPlayer/Removing mimes report\n\nBug: 34559906\nTest: GTS Tests\nChange-Id: I6877b9ac4ffd36f0ed476c3b4bbb0770da5abaf6\n"
    },
    {
      "commit": "05cb9fdce7924b7a5f118f0bc724caee4280df88",
      "tree": "b986794fa5df6f9d46bfff4370ef908dc1a56caf",
      "parents": [
        "e58485dc912bfea2f3084f50f53e40513eb52fbe",
        "087f3af6ceee8fe61a27901c7c910218664265c0"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 25 00:28:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 25 00:28:50 2017 +0000"
      },
      "message": "Merge \"MediaPlayer: enable more logs for extractor failure.\" into oc-dev\nam: 087f3af6ce\n\nChange-Id: I755add48326ae77a02708db2a941d3e23defeb70\n"
    },
    {
      "commit": "087f3af6ceee8fe61a27901c7c910218664265c0",
      "tree": "002b6eec341890f17136b300397be1b8147b0037",
      "parents": [
        "68d06eae7fdee42da33a0ef7bce3585f155067d6",
        "161dc698c7604cfd73310e96503179581822943b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 25 00:24:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 25 00:24:01 2017 +0000"
      },
      "message": "Merge \"MediaPlayer: enable more logs for extractor failure.\" into oc-dev"
    },
    {
      "commit": "161dc698c7604cfd73310e96503179581822943b",
      "tree": "2acd2a9acd1a46917046266ba7146237384ea152",
      "parents": [
        "b6ed37ed0e1176c3458294abae0ea1b11c30d44f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 20 16:40:06 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Apr 24 15:25:00 2017 -0700"
      },
      "message": "MediaPlayer: enable more logs for extractor failure.\n\nTest: compiles\nBug: 37273297\nChange-Id: I53c6393e0c306c64ec4aa81c45e5ff6e8de233d8\n"
    },
    {
      "commit": "2fbf24446ef97345a49fbd3063c4210685ec22c9",
      "tree": "31d39d3490eaab887114a1976a9b5455328f5025",
      "parents": [
        "e0ca8fcf0bb527ff9c6c53ba5412a4b113118305",
        "c84e294c4b1cea79d8194898000881fc96c9a8c8"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Apr 21 23:03:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 21 23:03:59 2017 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: check mCodec before dereferencing it.\" into oc-dev\nam: c84e294c4b\n\nChange-Id: I390ed5b4173d27213e44cea410e2584844609804\n"
    },
    {
      "commit": "37ff0e6639e90ca49d4f0386a76c09437b459efd",
      "tree": "a40d9d2f79dd9e3822335741afb8470efec038fc",
      "parents": [
        "b6ed37ed0e1176c3458294abae0ea1b11c30d44f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Apr 21 11:24:45 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Apr 21 11:24:45 2017 -0700"
      },
      "message": "NuPlayerDecoder: check mCodec before dereferencing it.\n\nTest: media cts tests\nBug: 37538141\nChange-Id: Ib95fd4786242d6742f3bdc7aab28f79d43e8da81\n"
    },
    {
      "commit": "4ca485f784820adf5ee8def70d782780e067c7dc",
      "tree": "3ebe11cd268107beec2e950415d98617d72ba236",
      "parents": [
        "6d97f7160291efa8482dac5f2dc83927492ab786"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Wed Apr 19 00:21:34 2017 -0700"
      },
      "committer": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Apr 20 13:50:53 2017 +0000"
      },
      "message": "Enable CFI for static media codec libraries.\n\nThis CL enables CFI for the following components:\n  - media/libstagefright/codecs/aacenc/\n  - media/libstagefright/codecs/m4v_h263/dec/\n  - media/libstagefright/codecs/m4v_h263/enc/\n  - media/libstagefright/codecs/mp3dec/\n  - media/libmediaplayerservice/nuplayer/\n  - media/libstagefright/rtsp/\n\nIn most cases, these changes enable CFI for static libraries that are\nincluded in CFI enabled components.\n\nBug: 30227045\nTest: ENABLE_CFI\u003dtrue m -j40\nTest: Media CTS tests pass.\nChange-Id: I976f5e5629a2c083dd24919ffe33a82967915ecd\n(cherry picked from commit 040dc275896f3aa8e31a8bc5504ca35779c43eed)\n"
    },
    {
      "commit": "649e2490a7d1d0041f69311d16a5eed8c0d4dab2",
      "tree": "fd26178bb52e65071faf2c1e267307a9f4fdde56",
      "parents": [
        "630ab33edb9167173c8e43ea3bddbe801e98adea",
        "f4b7240b9d7095545d1ee1a772edacdeec1f6610"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Apr 12 17:32:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 12 17:32:17 2017 +0000"
      },
      "message": "Merge \"NuPlayer: fix notification when one track is not played.\" into oc-dev\nam: f4b7240b9d\n\nChange-Id: I243b2e54e5103c44a5d940d37c08eccbc9274245\n"
    },
    {
      "commit": "2f6d8c555f235181ef954757aea9f2badbcdfa3c",
      "tree": "dabd6a47f6887b12790be06a221ce7eaf31b554a",
      "parents": [
        "dab5aae9390dccda539c2c805904440bc1e41e9e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 11 09:50:31 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 11 09:50:31 2017 -0700"
      },
      "message": "NuPlayer: fix notification when one track is not played.\n\nOne track is not played because it has no sink component.\nTest: pass failed cts test\nBug: 37216899\nBug: 24761723\n\nChange-Id: I669d59d6c193794da8973b9dd58bc8eac0b51996\n"
    },
    {
      "commit": "8265f2b5cccbea6db3f5b84182bf95ee513e4f0b",
      "tree": "7529f5e5900b50da091df9aab391ffeef65f1c24",
      "parents": [
        "460947a1c4a243a60ea730f3c0ed8349e0e96e97",
        "1b8ecbb25f142904e6da47171738b55b6be69e78"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sat Apr 08 00:32:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 08 00:32:51 2017 +0000"
      },
      "message": "Merge \"NuPlayer: notify client of playback error of individual track.\" into oc-dev\nam: 1b8ecbb25f\n\nChange-Id: Ic443d8791e81d4cda007d7c0f72c341c4c346efe\n"
    },
    {
      "commit": "1b8ecbb25f142904e6da47171738b55b6be69e78",
      "tree": "3ed030c10e95991f0ab3edb865e68e0b55e83b3b",
      "parents": [
        "98ace5dd8c4644e86af2c9b533c6d249fa0ff24b",
        "686e8e57299151127c4ae30daf84a21cd947bf65"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 08 00:24:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 08 00:24:12 2017 +0000"
      },
      "message": "Merge \"NuPlayer: notify client of playback error of individual track.\" into oc-dev"
    },
    {
      "commit": "686e8e57299151127c4ae30daf84a21cd947bf65",
      "tree": "8b83bac2735593ddcf6ff21b3c19bfcdde74c88b",
      "parents": [
        "34bc4d97cf78920b4b38983767ef8b725424e1dd"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Apr 03 14:08:01 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Apr 05 13:20:33 2017 -0700"
      },
      "message": "NuPlayer: notify client of playback error of individual track.\n\nTest: mediaplayer doesn\u0027t send error notify to client when only one\ntrack has error.\nBug: 24761723\nChange-Id: Ie956f2c29483ac722a75bea86d649ce6d934a43d\n"
    },
    {
      "commit": "3e06f3fd584e94c1d36edc22e7d96401c753348d",
      "tree": "93e65bd6ea7a3d60bd8768d8393e79a5dc407ae6",
      "parents": [
        "b0e4789e6682241de5939cfccbc466d515ef8d2b",
        "fe3471f63bfcd829ecd33c8633f6f3b2ef57ad7c"
      ],
      "author": {
        "name": "Dhananjay Kumar",
        "email": "dhakumar@codeaurora.org",
        "time": "Tue Apr 04 23:12:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 04 23:12:04 2017 +0000"
      },
      "message": "Merge \"NuPlayer : send the correct streaming info while opening audio sink\" into oc-dev\nam: fe3471f63b\n\nChange-Id: I30fcfc85d8f3106f1e58212e272d2d6a182ca850\n"
    },
    {
      "commit": "fe3471f63bfcd829ecd33c8633f6f3b2ef57ad7c",
      "tree": "64b8211b343e7f2b182847bef2af99c79f110e73",
      "parents": [
        "e786547c7ebc199ba84dfcd3601fbbb666d9fa61",
        "c387f2b719a1a26c8306f77d79cc9a6f26b36813"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 23:06:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 23:06:23 2017 +0000"
      },
      "message": "Merge \"NuPlayer : send the correct streaming info while opening audio sink\" into oc-dev"
    },
    {
      "commit": "c387f2b719a1a26c8306f77d79cc9a6f26b36813",
      "tree": "e4c2e37b3345678d92b0f7208367a596910f0241",
      "parents": [
        "34bc4d97cf78920b4b38983767ef8b725424e1dd"
      ],
      "author": {
        "name": "Dhananjay Kumar",
        "email": "dhakumar@codeaurora.org",
        "time": "Thu Aug 06 10:43:16 2015 +0530"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 04 10:29:40 2017 -0700"
      },
      "message": "NuPlayer : send the correct streaming info while opening audio sink\n\n -For any offload playback NuPlayerRenderer always open the audio sink\n  with isStreaming info as true.\n -Pass the streaming info to the NuPlayerRenderer while opening audio\n  sink\nTest: cts tests\nBug:36051644\nAuthor: Preetam Singh Ranawat \u003capranawat@codeaurora.org\u003e\nChange-Id: I249e6769ef4587917a13b0225d049a3923544d16\n(cherry picked from commit b2444b392d0d5de4118d37a24f4351f9de5c215d)\n"
    },
    {
      "commit": "05d698d9500891bab7f2468568da1fdb54715101",
      "tree": "c0164b851f57cfd16606af38ac77924f92f5fc8e",
      "parents": [
        "6d875c51f233a8947a33a683945a6d738e71d0c6",
        "80158939f9ce31676d6520ff97dc3af4a9760a7f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 04 16:25:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 04 16:25:52 2017 +0000"
      },
      "message": "Merge \"NuPlayer: Use deep buffer AudioTrack for video playback\" into oc-dev\nam: 80158939f9\n\nChange-Id: Ica687a11fa6d7e01fec158bee7df7024b7ff7492\n"
    },
    {
      "commit": "71c8e5c9565af4745cfd7ff0e327da1a27d77bf7",
      "tree": "f5101967183477b764ef1236022e8049bc9d547a",
      "parents": [
        "58a220fe06957cf7f0325cc9509947f1602e2986"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 03 15:50:27 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 03 16:18:19 2017 -0700"
      },
      "message": "NuPlayer: Use deep buffer AudioTrack for video playback\n\nThis reduces power requirements and increases robustness against\naudio glitches.\n\nTest: Photos\nBug: 36867565\nChange-Id: I200728cfc1bfd01301441c8759816415abe58d48\n"
    },
    {
      "commit": "f097f6f4757e5f8fd795a0042ffa66d05c4bbd16",
      "tree": "9c11c3d8a17838dabbf1249dba3a2ffe7471e15f",
      "parents": [
        "990edc2f166d7380a09227fb37445ec5434ee97e",
        "1cbe62c82a8bfdb18a5bb79de57252dbd378445c"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sun Apr 02 01:06:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Apr 02 01:06:10 2017 +0000"
      },
      "message": "NuPlayer: handle source error correctly.\nam: 1cbe62c82a\n\nChange-Id: I652f4c7c2748d4b9587d6209411c2cdc3c8df094\n"
    },
    {
      "commit": "1cbe62c82a8bfdb18a5bb79de57252dbd378445c",
      "tree": "13379a463ac11808ee9084d2760d5c37542bbf69",
      "parents": [
        "32efa2fd44f9ac834771663cd9fe2fcc5f5ec2f8"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Mar 30 17:57:02 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sun Apr 02 01:02:00 2017 +0000"
      },
      "message": "NuPlayer: handle source error correctly.\n\nTest: source error is sent to app.\nBug: 35025627\nChange-Id: I668bab0de20cf24def028a6a467efceaed54af2b\n(cherry picked from commit 231fd353518502e3a05021473ae60e7addd9a46c)\n"
    },
    {
      "commit": "990edc2f166d7380a09227fb37445ec5434ee97e",
      "tree": "bb9533c1b477cf2e0657b5be718a8e23efa5cc9a",
      "parents": [
        "509850e7eb518884c2fbde9b0244d4bd0be62d73",
        "32efa2fd44f9ac834771663cd9fe2fcc5f5ec2f8"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sat Apr 01 00:20:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 01 00:20:52 2017 +0000"
      },
      "message": "Merge \"Nuplayer logging empty records to media.metrics\" into oc-dev\nam: 32efa2fd44\n\nChange-Id: I3546502201086644c02080b029dfcf223761753a\n"
    }
  ],
  "next": "32efa2fd44f9ac834771663cd9fe2fcc5f5ec2f8"
}
