)]}'
{
  "log": [
    {
      "commit": "0828b06e0a0c9cf581a666fb585849f65dc45da0",
      "tree": "5127c24618118170c2d00b16e7606261cff7fdba",
      "parents": [
        "6f2779da0fa543fe3021d58fe33515fadc3505f6",
        "b415c733781f745cb939dee3a2e4d217cfe21500"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Feb 21 09:24:55 2019 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Feb 21 09:24:55 2019 -0800"
      },
      "message": "DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master\n\nBug: 120848293\nChange-Id: Ice2afeec46376d01d345a74a95d941fde2771b68\n"
    },
    {
      "commit": "d98913f7b54e9f7a622325d6544789cccf72eebe",
      "tree": "decb3ea5a382eacb9da0ed762c5236d8a47a2c7f",
      "parents": [
        "436d9e9d91adead6f62c1f1fb0b88808414d92ec",
        "bf430563f889db13dbd463dcea92c79b40ec82e9"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 13:11:13 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 13 13:11:13 2019 -0800"
      },
      "message": "Merge \"NuPlayer2: Call video flush on audio teardown\"\nam: bf430563f8\n\nChange-Id: I7c83aed564ac4bb5b4e4a006958ceb87d198a32d\n"
    },
    {
      "commit": "bf430563f889db13dbd463dcea92c79b40ec82e9",
      "tree": "62b80cf250aeb38ef10cee2dd53203eef01ad8c1",
      "parents": [
        "d0939173441f0ff2efcfea44de6924ef18454e6c",
        "8bd4d3946b0308da0fa457ac5ceb6dccb591d78b"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 20:52:26 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 20:52:26 2019 +0000"
      },
      "message": "Merge \"NuPlayer2: Call video flush on audio teardown\""
    },
    {
      "commit": "8bd4d3946b0308da0fa457ac5ceb6dccb591d78b",
      "tree": "ff59d867724608353a6e18466f76286efbf738cf",
      "parents": [
        "eca08fb8619db79e7e47b0dba9f8f5f9e961dfef"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 10:38:06 2019 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 10:38:06 2019 -0800"
      },
      "message": "NuPlayer2: Call video flush on audio teardown\n\nwhen audio tear down happens, audio gets flushed and seek is issued.\nIf video is not flushed before seek, previous video buffers will be\nrendered and leads to A/V sync issue. Hence call video flush.\n\nBug: 70919418\nTest: MediaPlayer2Test\nChange-Id: I66b6f8e024f29e797a89e68d52c819cddbf37016\n"
    },
    {
      "commit": "716f64f54cfef823e8b996427d4c52c9348db5cb",
      "tree": "dd7492506b355a86ac67aedfb7894be9cf98000d",
      "parents": [
        "e08a1f04f3d98d479325bd6ddf91ceaad1c03d1a",
        "f4935e88d1b38756033727c6a70d1530532636b7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 12 20:54:40 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 20:54:40 2019 -0800"
      },
      "message": "Merge \"Fix bugs regarding clamping of numFrames variable.\"\nam: f4935e88d1\n\nChange-Id: Ibac7f239c1c60deae4b17e2ce5d422576c6112a8\n"
    },
    {
      "commit": "82b657f45c39cc22adc13b1fcb16c42ec9228336",
      "tree": "6c2d49631fa56bcc18992980b90cbff3499bb1cb",
      "parents": [
        "bceab46baa96f4b0f77707ec7e1f08c083f6fd14"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 12 18:11:36 2019 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 12 18:15:00 2019 -0800"
      },
      "message": "Fix bugs regarding clamping of numFrames variable.\n\nthere is a clamping value in getDurationUsIfPlayedAtSampleRate function\nnumFrames parameter is uint32_t type. when return value, cast uint32_t to int32_t.\nthat make clamp value of numFrames\nTest: compiles\nBug: 123665692\n\nChange-Id: I12e35df3030659bc10b3e86ed9d1712be6b62a88\n"
    },
    {
      "commit": "d4ece817f96685f89892d9e0305096be6208c451",
      "tree": "3b04caa49b5006fcf4b1986f701e3e0ad013d463",
      "parents": [
        "723be42fdbbbfe0e50c044952496acb313b2a7a6",
        "b2521645be978f16844aff42222b363ef9d62930"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 09 21:12:22 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 09 21:12:22 2019 -0800"
      },
      "message": "Merge \"NuPlayer2Renderer: support 8/16 bit and float PCM types\" am: d19b646398\nam: b2521645be\n\nChange-Id: Iefe37b747371593f193fcdc37afe4acf269410ef\n"
    },
    {
      "commit": "b2521645be978f16844aff42222b363ef9d62930",
      "tree": "2a141039dfa407cd89ee3f92cc8d9079c024f0b4",
      "parents": [
        "f7f5ab992415e8b62e3a63c054072cfcff04758a",
        "d19b646398356eb6c883246562c291e344a7203b"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 09 21:00:45 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 09 21:00:45 2019 -0800"
      },
      "message": "Merge \"NuPlayer2Renderer: support 8/16 bit and float PCM types\"\nam: d19b646398\n\nChange-Id: I06eb5ea1be91af3c56644f440018bfe4041f91c6\n"
    },
    {
      "commit": "d19b646398356eb6c883246562c291e344a7203b",
      "tree": "c5cf71c436bde0db710469212f9ff8a797ead149",
      "parents": [
        "bccd73e209ca599c9e585ae23b62e30df094f1af",
        "4a16e2ae916cad2f070c85a0052be938377c33ce"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 10 04:39:46 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 10 04:39:46 2019 +0000"
      },
      "message": "Merge \"NuPlayer2Renderer: support 8/16 bit and float PCM types\""
    },
    {
      "commit": "4a16e2ae916cad2f070c85a0052be938377c33ce",
      "tree": "b6072395cf870bfbb1baba83ef58448be332dfcc",
      "parents": [
        "c6b48fe6272db5d3ca910598565c2b48b547ce7f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jan 04 15:26:48 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 09 23:48:12 2019 +0000"
      },
      "message": "NuPlayer2Renderer: support 8/16 bit and float PCM types\n\nTest: cts\nBug: 120749869\nChange-Id: I95f9865e7cea00e57f3faebeefd5cd095736201d\nMerged-In: I95f9865e7cea00e57f3faebeefd5cd095736201d\n"
    },
    {
      "commit": "58dc71df204a9b222d252e0cc1dfbe5ed4ba9a90",
      "tree": "fd6bf8eeae532e0246a81379414c31757ce28de7",
      "parents": [
        "261822541bc23754c4ebe784895230bb3c0e752a",
        "362db1aded3ba358e831a4de4d1ed8d8eaed6b7b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 08 15:59:15 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 08 15:59:15 2019 -0800"
      },
      "message": "Merge \"NuPlayerRenderer: handle fractional audio data before EOS\" am: 18c84ba4ec\nam: 362db1aded\n\nChange-Id: Ie616a6129ae619b8a375572dd8050c203bcb7f44\n"
    },
    {
      "commit": "362db1aded3ba358e831a4de4d1ed8d8eaed6b7b",
      "tree": "7e93bcf16ef486605d8fb1493068e62f698e0e52",
      "parents": [
        "d80c35a12d68c1f4c11477eeb32f84f0e49d640d",
        "18c84ba4ec155b58bdfa397b3fa93fb2b7bda284"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 08 15:55:04 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 08 15:55:04 2019 -0800"
      },
      "message": "Merge \"NuPlayerRenderer: handle fractional audio data before EOS\"\nam: 18c84ba4ec\n\nChange-Id: I025ac75e18bfb29e1104154659a1c83176740086\n"
    },
    {
      "commit": "353c3d3663e88a205925f98da5257d025de6ea43",
      "tree": "38c1821f7cab561bd7995a1d873c94d23b7bb5c7",
      "parents": [
        "c041f3043a72f17908d740175d0a00a8098df5b7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jan 04 12:44:38 2019 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 08 10:58:02 2019 -0800"
      },
      "message": "NuPlayerRenderer: handle fractional audio data before EOS\n\nWhen audio reaches EOS and MediaClock has not started, use video\ntimestamp to start MediaClock.\nTest: MediaPlayer sends MEDIA_PLAYBACK_COMPLETE\nBug: 122052445\n\nChange-Id: Ia37643b8d5260cda0e7cde22dea883804511cff6\n(cherry picked from commit 1225b9329367ab30587983c78f343734c33af4d4)\n"
    },
    {
      "commit": "92466dd60772c38e563ec42b6b06ef5185d68396",
      "tree": "afb475ba5c923b6ab35354b896c04f84640deb3e",
      "parents": [
        "b21b5ab7c6f9925c8b63d79cefcfbd2d633868d2",
        "18343452006468a83457b9623b082f64fb479169"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 13 05:45:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 05:45:21 2018 +0000"
      },
      "message": "Merge \"DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master\""
    },
    {
      "commit": "e6c208f5c4a08f5ea47910ce6a4a5ae009182e8b",
      "tree": "f34805f6202f5de15cae3fabddb7c4daa16c9c33",
      "parents": [
        "d06f3a304f2fd0fced9e09fee58a7b8b295ef750",
        "981c2e32683ff06edd88157a9fd59c04b332e158"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 16:58:49 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 11 16:58:49 2018 -0800"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings in libmediaplayer2.\" am: b13d332cf6\nam: 981c2e3268\n\nChange-Id: I010d8afaa33dbeb4b0428cfbf91a848eeb926887\n"
    },
    {
      "commit": "981c2e32683ff06edd88157a9fd59c04b332e158",
      "tree": "206aca452a4e1aa530d7c6ab3845a2aecb88ef6d",
      "parents": [
        "e544aba6cbef0be475c4235a658cd8dd32614a26",
        "b13d332cf65b52a212462e9309f4b3b76d624684"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 16:23:10 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 11 16:23:10 2018 -0800"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings in libmediaplayer2.\"\nam: b13d332cf6\n\nChange-Id: Ie0f6cd6db03e2afb460672410636d3fe503f3727\n"
    },
    {
      "commit": "18343452006468a83457b9623b082f64fb479169",
      "tree": "1999a7d544c9bd5b1b4c09a536f0199fd93f1805",
      "parents": [
        "c6b48fe6272db5d3ca910598565c2b48b547ce7f",
        "0cf77658fa992cef0247484ba6b43526a9d2d571"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 13:59:12 2018 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 13:59:12 2018 -0800"
      },
      "message": "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master\n\nBug: 120502534\nChange-Id: Ifdd73b6dfcf3791fb8dae2b1796a34bb56aea190\n"
    },
    {
      "commit": "d42529d5cc9b5949fd3ec449876d44142c6506b1",
      "tree": "c7c9ce218ac87294bb0a29ee3ec2c26e893b967e",
      "parents": [
        "14c577fac81b8fdcc75e4bf9243f16bd624ba58b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 13:53:10 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 13:53:10 2018 -0800"
      },
      "message": "Fix cert-dcl16-c clang-tidy warnings in libmediaplayer2.\n\nBug: 120614316\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,cert-dcl16-c\nChange-Id: Iac1ca7c7dc6e20624714e1f279036dd3cf0f9821\n"
    },
    {
      "commit": "bffb47d61fcea60a900c98f37632c93ec1a5b2d6",
      "tree": "d5f2fa0af37d15514e0662d283a9271ca7b8d033",
      "parents": [
        "25427e247dc56d8bd2aad46bc628c696fc47c1a3",
        "0cf77658fa992cef0247484ba6b43526a9d2d571"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Dec 10 10:04:56 2018 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 20:26:00 2018 +0000"
      },
      "message": "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into stage-aosp-master\n\nBug: 120502534\nChange-Id: I674b89442ad4fb75081fb5b8fdbb8ea89be97c5c\n"
    },
    {
      "commit": "6671ea8a46da5cbeaba2da4c623353441758cf50",
      "tree": "028c90a937c4b8e8681bd7648c89faff1b325597",
      "parents": [
        "6ff493b2fe11e3ced040c16724f35c76a3e740a1",
        "b89b976d77807ba33edeafc9976cdf7b462adcaf"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 17:00:56 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 06 17:00:56 2018 -0800"
      },
      "message": "Merge \"Remove CFI diagnostics.\" am: 64ac8c6301\nam: b89b976d77\n\nChange-Id: I0f2c332719da81447afb695c124d7b6c6c16b80d\n"
    },
    {
      "commit": "b89b976d77807ba33edeafc9976cdf7b462adcaf",
      "tree": "9a6f5b07dc7952f817c384e5335b40f4a91118e5",
      "parents": [
        "ddb6b5e7543b1a8c7ba91113fffa8de0bd1fa4ee",
        "64ac8c6301d0e809d2fc0935dbf16bf318b4940d"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 16:26:25 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 06 16:26:25 2018 -0800"
      },
      "message": "Merge \"Remove CFI diagnostics.\"\nam: 64ac8c6301\n\nChange-Id: I1b53ec592c27efb662a6f6204b7346cf8fe0cd80\n"
    },
    {
      "commit": "db19f572b941e62ffd688f2198da122977c55a28",
      "tree": "3713ab1298069be97a599b88c5cae6ef0900bee8",
      "parents": [
        "8c545704ea199e13c23f47cd8f4067bcdc25071f"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 10:33:28 2018 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 10:53:33 2018 -0800"
      },
      "message": "Remove CFI diagnostics.\n\nRemove diagnostics mode from CFI across the board. This should reduce\nperformance overhead and also allows the minimal runtime to work when\nother ubsan sanitizers are enabled. CFI stack dumps should include a\ncfi related function, so it should be apparent when a crash is CFI-related.\n\nBug: 117417735\nTest: make -j\nChange-Id: Id2cb6cb64425c4c89c031d93156fb1a20be5fa7b\n"
    },
    {
      "commit": "e72cb45e3a13e4f6175e53e672ffcb2995c78841",
      "tree": "e66b61cf1549b851fe1efbf63b03a13fd96ccffe",
      "parents": [
        "34056aea2f45149dcbcda09940a8733f83101303"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 30 11:44:59 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 30 14:18:49 2018 -0700"
      },
      "message": "Fix implicit-fallthrough warnings. DO NOT MERGE.\n\nThese changes are not needed in goog/master.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: I02d5cdaacecf06994f6c26328533eccf511009bb\n(cherry picked from commit 03ef7ffc93e07f59bb5a329b57a9b2006b39af0d)\nExempt-From-Owner-Approval: do not block on new warnings\n"
    },
    {
      "commit": "5106743a12cd1c93a41ddbc392e6d75535fe1967",
      "tree": "5a9efd5ea2a6a6235ffdeec523e299c8a6767da4",
      "parents": [
        "e1a209a6a99048f50fcce8e47088c211801ef4bf",
        "03ef7ffc93e07f59bb5a329b57a9b2006b39af0d"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 23 16:38:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 16:38:32 2018 +0000"
      },
      "message": "Merge \"Fix implicit-fallthrough warnings. DO NOT MERGE.\""
    },
    {
      "commit": "6fde7ab8ebb7b2e8b8c5db291ce56bb95ad0d1e5",
      "tree": "4bdaf25ed182efe235f9164a2588dea611bcf26a",
      "parents": [
        "efd99ec863f5a69f20dfacea3f6f4835962c5362"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 10:25:48 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 10:25:48 2018 -0700"
      },
      "message": "Allow implicit-fallthrough warnings locally. DO NOT MERGE.\n\nIt will be a global error by default.\nThis change is not needed for goog/master.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: Ia716882a2796bdb2222067499906b04b15d661d8\nExempt-From-Owner-Approval: do not block on new warnings\n"
    },
    {
      "commit": "03ef7ffc93e07f59bb5a329b57a9b2006b39af0d",
      "tree": "75de1b8b5350807e9dbcbd00eae0636ba1486167",
      "parents": [
        "31215a03a3bf554a5e85b21d8e531674bdeac409"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 19 15:30:09 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 19 15:30:09 2018 -0700"
      },
      "message": "Fix implicit-fallthrough warnings. DO NOT MERGE.\n\nThese changes are not needed in goog/master.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: I02d5cdaacecf06994f6c26328533eccf511009bb\n"
    },
    {
      "commit": "ec94086752cb0b6cf29abcad841d6e8c69f77f74",
      "tree": "f96bf31b3dfe9729cb4f164235091fd1b8aeae0b",
      "parents": [
        "7b8cad4e2458ecfa2e8dc8ddd5fbc8cf44346713",
        "baa7ec9b3e310ddc77d0d4e79d1f30b67d013ad7"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Oct 03 15:45:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 03 15:45:12 2018 -0700"
      },
      "message": "Merge \"nuplayer2: Fix two use-after-frees\" am: b6eac609bc\nam: baa7ec9b3e\n\nChange-Id: Idf13fe90334462de5f30b04f25b1e0a7c1dc8709\n"
    },
    {
      "commit": "23256e444364ca08407833f475393a151d825d79",
      "tree": "def85757935db4627154cb98a4f84985d3118e00",
      "parents": [
        "21d312e7187ca9d7399f0ec6cae189cc1c5651c9"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Oct 03 11:18:34 2018 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Oct 03 19:02:10 2018 +0000"
      },
      "message": "nuplayer2: Fix two use-after-frees\n\n- std::ostringstream::c_str returns a string by value, so we can\u0027t\n  immediately call c_str() on it and assign that to a variable.\n- DrmUUID::arrayToHex returns a String8 by value. Similar \"can\u0027t just\n  call string() and assign that to a variable\".\n\nBoth caught by our static analyzer.\n\nBug: None\nTest: Ran the analyzer again\n\nChange-Id: Ia9e0b2b00ee5150225dd487f3611a3893946fa4b\n"
    },
    {
      "commit": "3bc9597fda7cc1031e0e10296a7ccb5037732d25",
      "tree": "eebc7de682c7a94a7de7eae16d98b572a2484ab5",
      "parents": [
        "fd9ed407e0986dabd2c74958462d466fec14446b",
        "4eabdc123701200b91ca48602458ad254e3b0703"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 13 17:58:16 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 13 17:58:16 2018 -0700"
      },
      "message": "Merge \"Suppress implicit-fallthrough warnings in nuplayer*.\" am: daba8f4f19\nam: 4eabdc1237\n\nChange-Id: I814792ed988e4dfdb077ff121ccf360bd779e593\n"
    },
    {
      "commit": "c89566d5ec0b348693a354242b8fd8308f5d3b7a",
      "tree": "c238ca06e220cf2054315e7384c3e09f31c65d48",
      "parents": [
        "e91c38936da30ecee4784425f4731fb4fc3e3534"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 13 14:22:06 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 13 14:22:06 2018 -0700"
      },
      "message": "Suppress implicit-fallthrough warnings in nuplayer*.\n\nAdd FALLTHROUGH_INTENDED for clang compiler.\n\nBug: 112564944\nTest: build with global -Wimplicit-fallthrough.\nChange-Id: I5b7ab7abb46884b363e13284382eddf7a256a3e2\n"
    },
    {
      "commit": "083263937bfb1623adf6015da7ca3cdc258e0352",
      "tree": "d54a8f6abca0694cfbee1f3564eee63160fcf235",
      "parents": [
        "efe34a570d91b826b009d40e44c2e470dd180ace"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Tue Aug 07 18:01:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Mon Sep 10 23:19:46 2018 +0000"
      },
      "message": "NuPlayer2CCDecoder: Add bound check before memcpy\n\nTest: none\nBug: 111874331\nChange-Id: I6764802e8e8afd7e970ee433741f73a9b3d366dd\n(cherry picked from commit 71920217d6017a5112ecd73abc4e68c16d680458)\n(cherry picked from commit e96c64a0d21d1ab2c9ba9726766fd8432462888a)\n"
    },
    {
      "commit": "8c927dfd46e5d7952e036cb8360c9e583d79d694",
      "tree": "3a59eda1afe3fb0e93b666f8bcd7e7c6bd894935",
      "parents": [
        "f4942d7989993b8d82010dd1047a4c68d625b324",
        "e2062af59cc21ab42a6db554463b5b4b6ed9509a"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Wed Sep 05 21:57:15 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 05 21:57:15 2018 -0700"
      },
      "message": "Merge \"NuPlayer2CCDecoder: Add bound check before memcpy\" into pi-dev\nam: e2062af59c\n\nChange-Id: I7d0b0d3725426f968952642ab85aaf74cf05b218\n"
    },
    {
      "commit": "e96c64a0d21d1ab2c9ba9726766fd8432462888a",
      "tree": "e8d29805f7296814bf500389d37c5999b91187a2",
      "parents": [
        "11e0589b4dea913f66668ea483dd52eed3d3869b"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Tue Aug 07 18:01:50 2018 -0700"
      },
      "committer": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Mon Aug 20 20:26:35 2018 +0000"
      },
      "message": "NuPlayer2CCDecoder: Add bound check before memcpy\n\nTest: none\nBug: 111874331\nChange-Id: I6764802e8e8afd7e970ee433741f73a9b3d366dd\n(cherry picked from commit 71920217d6017a5112ecd73abc4e68c16d680458)\n"
    },
    {
      "commit": "41cd823562cb58642eb2fe0d19328259227766c4",
      "tree": "7a5c1160d00bd913f8507da52523e0b80b08b448",
      "parents": [
        "8add485d4b07deb5c84feb594c688be514a491c7"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed May 09 00:16:42 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed May 09 07:33:23 2018 +0000"
      },
      "message": "Remove unused `tags` property from Android.bp files\n\nThe tags property is (and has always been) unused by Soong. The property has\nbeen defined as a list of strings, and the `androidmk` converted any\nLOCAL_MODULE_TAGS entries over to it, but we\u0027ve never done anything with it.\n\nIn preparation for removing the definition from Soong, I\u0027m removing it from all\nAndroid.bp files in the tree.\n\nSince this has never done anything, this is a no-op, but if you really did want\nthe Android.mk behavior, the proper way to define a module to be installed in\nuserdebug / eng builds is to use PRODUCT_PACKAGES_DEBUG or PRODUCT_PACKAGES_ENG\nin the appropriate product makefile.\n\nChange-Id: I4a6a26cd7e139c19f63e02d6e1e7a2617c55b72d\nExempt-From-Owner-Approval: global no-op build change\nTest: remove `tags` from Soong, see errors go away.\n"
    },
    {
      "commit": "334adf0ea8a9a5f6e26168864d4fd73a5c9417eb",
      "tree": "87c8fa867b66325b0fc3487ddd699b560cfc5a87",
      "parents": [
        "1c57a0e6e0953c2bb192fca2ec6c6700ccbd0b1d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Mar 23 14:08:23 2018 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Mar 23 14:08:23 2018 -0700"
      },
      "message": "mediaplayer2: remove redundant line\n\nTest: MediaPlayer2 plays\nBug: 76144391\nChange-Id: I32bf5e5f0938516821316fd57fe74e96406bc416\n"
    },
    {
      "commit": "0cd95065c5d293f0d6e53cd75e44d20106dd2e6e",
      "tree": "a6f501e0ab021946977d8d395ed254e9f36e9283",
      "parents": [
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sun Jan 21 17:41:16 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 05 20:56:57 2018 -0800"
      },
      "message": "nuplayer2: port GenericSource2 to NDK APIs\n\nBug: 63934228\nChange-Id: I8bddacf5ce9eb8f22f3d4a945e0a7db1b52628d3\n"
    },
    {
      "commit": "d83d4f4a43616f38217591ba2d3f10d77fd4e748",
      "tree": "8c4c462635c15290a3436b01dc2614caade4ff84",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Feb 24 19:02:46 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 05 20:36:13 2018 +0000"
      },
      "message": "NdkMediaExtractor: per-sample format metadata API\n\nBug: 63934228\nTest: MediaPlayer2Test\nChange-Id: I8ac081ba91152b1bb2e7bb61bf6977f90bcb8e3c\n"
    },
    {
      "commit": "98787a7a85f58af4c684d368bb235bcc0c6cfbce",
      "tree": "54255371be9cb8b53655fd4eebe34c67f74970ff",
      "parents": [
        "f11edb6f6a103a23a50d0ec4b214fdd36aa5f139"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Mar 02 14:33:06 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Mar 02 15:22:29 2018 -0800"
      },
      "message": "MediaPlayer2: add getMediaPlayer2State\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I1a5290de44e0ba78fa6adc055ffdd18a4f259f15\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": "4c96b75c87bc3f8dd2da7f76b08a81333b43ce22",
      "tree": "f0e8dfb12a8edcb837c59cc793467c7762b13ac3",
      "parents": [
        "54c28999afa7834a8dbc6079a2707598a37db56f",
        "3d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 26 22:12:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 22:12:54 2018 +0000"
      },
      "message": "Merge \"Remove RefBase from the extractor API\""
    },
    {
      "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": "800fe37160c77c2da1dc78ed4e76047a42ea061a",
      "tree": "cc783bfb30ee748f5d409368f46b67bdb312ffa0",
      "parents": [
        "bb4bbb08398548e29e6804c5cc674b340830f719"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 20 15:00:45 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 22 10:24:40 2018 -0800"
      },
      "message": "MediaPlayer2: use long type for media time.\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I85cca6c24c116b2f53079cd081a1f5172af3a099\n"
    },
    {
      "commit": "ec044b069f6d1d8c274a182c9bc0d89fd7d6ff0d",
      "tree": "92d2eef586e12a694e20d95c4debada8df9b3616",
      "parents": [
        "542906964badda8312c03464035dcb12698b0e95"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Feb 19 12:41:23 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 20 10:17:47 2018 -0800"
      },
      "message": "MediaPlayer2: remove MediaPlayer2Engine\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I2459082bf6bbe2384ed94901b1f8f28559345888\n"
    },
    {
      "commit": "542906964badda8312c03464035dcb12698b0e95",
      "tree": "243bfb7bb3b3eb7b59bc8367b366877f5429b217",
      "parents": [
        "332adf69b9cee8c261b321337b0b8efd57a69018",
        "57aeffd55c2acff5a0f82771cea1f72639a110d7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 17:06:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 17:06:18 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: initial code for playlist support\""
    },
    {
      "commit": "57aeffd55c2acff5a0f82771cea1f72639a110d7",
      "tree": "246817cc6257d86b72eac6499b7fe42022c5e373",
      "parents": [
        "be3708cf048dd6351d1ce9a62771cba29d5f3cd2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 15 16:01:14 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 15 16:59:29 2018 -0800"
      },
      "message": "MediaPlayer2: initial code for playlist support\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: If63c97e225759108a30bb58ab0870569e0878ade\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": "6d486024172abfc1c016b32fd42dd67aeb4e79c8",
      "tree": "2daa998ddac317b37825af27f72f4cddf7c08560",
      "parents": [
        "e4767e3911d3e31c31ab558819a9e8960dbbbdd6",
        "42a6decdd6c173a36e51c19d44849e6654eb60f9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 11:25:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 11:25:32 2018 +0000"
      },
      "message": "Merge \"JAudioTrack: Add offload mode support\""
    },
    {
      "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": "083e9098e6bb6dce2d1eed3412a836484a5a17ec",
      "tree": "3bc2d6f19c6a1e5c3eb3a2c95d9ec10e7d6626b2",
      "parents": [
        "d8d4ef440fe25095d34e535e591edd8fa1457307"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Feb 12 11:46:04 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Feb 12 11:46:04 2018 -0800"
      },
      "message": "MediaPlayer2: seekTo does not change state.\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I13ec7225277b2f53535274828eb9d06ccd77db0c\n"
    },
    {
      "commit": "d0e0b1a1262c80e71fa2a1bb0f4880389b1e985b",
      "tree": "ee6b015139a87ea9046e93d392e132ac0bf62837",
      "parents": [
        "913f986aec4dc5c2eee4879746e9ffdc7af7637b",
        "d2bb1bd1fb916dc487ff930cd8c1ec618b49573e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 02:31:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 10 02:31:46 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: hook up srcId.\""
    },
    {
      "commit": "d2bb1bd1fb916dc487ff930cd8c1ec618b49573e",
      "tree": "0fea0d78d88f2f04de24b324ce2a21c0124b9975",
      "parents": [
        "72bf2a09b4f7f4d5af75f1bd85c8364e624113fe"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 08 09:47:37 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 09 13:55:53 2018 -0800"
      },
      "message": "MediaPlayer2: hook up srcId.\n\nTest: MediaPlayer2 plays.\nBug: 63934228\nChange-Id: I0dd8b345d89034600e1c0fb3f58e4d92990c0054\n"
    },
    {
      "commit": "42a6decdd6c173a36e51c19d44849e6654eb60f9",
      "tree": "9ef1cd40d4ef78405ad4511c62ecabe19a76f4dc",
      "parents": [
        "04696f702ad0a4bdc59a4bbe47663a497b6128c8"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Jan 22 19:26:47 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Feb 09 22:01:19 2018 +0900"
      },
      "message": "JAudioTrack: Add offload mode support\n\nAlso, this CL adds below methods to JAudioTrack:\n\n1) getAudioSessionId\n\n2) setOutputDevice\n  - However, it uses a hidden method of AudioManager.\n    (See MediaPlayer2Impl.java)\n\n3) getFlags\n  - Method body is incomplete.\n  - It needs a way to check whether the audio track is direct,\n    or whether the HW supports A/V sync.\n\n4) getTimestamp(ExtendedTimestamp *timestamp)\n  - Method body is empty.\n  - It needs appropriate Java method to call.\n  - This is a different method from previously added method\n    getTimestamp(AudioTimestamp\u0026 timestamp).\n\n5) pendingDuration\n  - Method body is incomplete.\n  - It depends on above getTimestamp method.\n\n6) add/removeAudioDeviceCallback\n  - Method body is empty.\n  - It needs appropriate Java method to call.\n  - Cannot use Java AudioTrack.addOnRoutingChangedListener(), since the\n    callback onAudioRoutingChanged(AudioRouting) does not provide the\n    audio_io_handle_t which the native AudioDeviceCallback needs.\n\nBug: 70363744\nTest: Builds successfully\nChange-Id: I50455280812546d97f2c3e6425d17c0483476af1\n"
    },
    {
      "commit": "7e193a143f52180abfc9c1c9c82f7c70f6ae5f74",
      "tree": "3fe13b073bc77b37f042bf69731f3e2210c5fd72",
      "parents": [
        "bffc6464eeff376fdc46c81f57d34d48652a8a6b",
        "72bf2a09b4f7f4d5af75f1bd85c8364e624113fe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 08 19:32:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 08 19:32:27 2018 +0000"
      },
      "message": "Merge \"NuPlayer2: add srcId for source.\""
    },
    {
      "commit": "72bf2a09b4f7f4d5af75f1bd85c8364e624113fe",
      "tree": "0954de08245da4970b6f2aa309d11f6b17c6a3be",
      "parents": [
        "003fdb5b76ccc537d4ab7ef19c8a2e3be19b594c"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 06 15:29:23 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 08 09:52:26 2018 -0800"
      },
      "message": "NuPlayer2: add srcId for source.\n\nAlso add prepareNextDataSource for playlist.\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I7386b60019323b36632f3b3275c4513433ee6e2e\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": "003fdb5b76ccc537d4ab7ef19c8a2e3be19b594c",
      "tree": "f8b91e11eb14f74a07619a541d6c11291c55c4fd",
      "parents": [
        "3372721111f8793d04f50e9ae0401205f9411113"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 06 14:44:32 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 06 14:44:32 2018 -0800"
      },
      "message": "MediaPlayer2: uid is always valid.\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I4c9fefe1cdb04f0f7fa82cf08f382c12f6bf5b0b\n"
    },
    {
      "commit": "51b6956bc8e09eb2237a10a401baebb35096e6ab",
      "tree": "dfec915d73c7795b3b115037555c2160ebe69c72",
      "parents": [
        "65fdcf74e09717b6e67fa90ff78af45f2c9414cc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Feb 05 16:17:13 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Feb 05 16:22:13 2018 -0800"
      },
      "message": "MediaPlayer2: move MediaPlayer2 native code to libmediaplayer2\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: Ibec6d15524510a4d8618d1f684456c6c24b79828\n"
    }
  ]
}
