)]}'
{
  "log": [
    {
      "commit": "009f261025d175a692c7525273755cf9d94c2347",
      "tree": "2651ac7e11a6ad0129c5357f7e643790e106c846",
      "parents": [
        "3b7f469b1ead2428a50bf4049e32b7a81fb2b7f6",
        "e83ac21bf2cf1c58d56bba030b0d05f6c15328cd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 08 10:25:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 10:25:17 2018 -0700"
      },
      "message": "Merge \"AudioMixer: Always do prepareForReformat() in setChannelMasks()\" into pi-dev\nam: e83ac21bf2\n\nChange-Id: If0d24de9fef3e6eaa47c3e59225dfc97f339daf7\n"
    },
    {
      "commit": "e83ac21bf2cf1c58d56bba030b0d05f6c15328cd",
      "tree": "36f559a4646404d92cc9ac8bf088735b88a81e4c",
      "parents": [
        "84e84a5dd3b6d9ee4cf032e8d6206c70969b7107",
        "1a0ecc383391e02a46be7bd4e9ec682e839b79e5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 08 17:15:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 17:15:36 2018 +0000"
      },
      "message": "Merge \"AudioMixer: Always do prepareForReformat() in setChannelMasks()\" into pi-dev"
    },
    {
      "commit": "3b7f469b1ead2428a50bf4049e32b7a81fb2b7f6",
      "tree": "210e40b23a608b6862988f838364434bdd6508cb",
      "parents": [
        "00838b0bc08a3eee51c458a8e560d36985973ef5",
        "84e84a5dd3b6d9ee4cf032e8d6206c70969b7107"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 07 11:14:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 07 11:14:24 2018 -0700"
      },
      "message": "collect more media metrics around audio\nam: 84e84a5dd3\n\nChange-Id: I3403aa6ec0f4bfd53a7ec80c8c45d28267797763\n"
    },
    {
      "commit": "84e84a5dd3b6d9ee4cf032e8d6206c70969b7107",
      "tree": "49fd8e4e911d62ac8be44ae91fdaf35902a234d9",
      "parents": [
        "527da4c9d30c977c0105a288b20a77f0f9e8d0d3"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu May 03 18:45:07 2018 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 07 16:32:02 2018 +0000"
      },
      "message": "collect more media metrics around audio\n\nnew fields in the media metrics \u0027audiorecord\u0027 record for more detail\nlength of time recorded, error conditions\nadd new media metrics type \u0027audiopolicy\u0027 that describes attempts to get\nmicrophone access -- success, failure on contention, what type of access\nwas requested, and (important for the contention) which programs are\ndoing the requesting and holding of the microphones.\n\nwhitelist the \u0027audiopolicy\u0027 metrics type with the  media.metrics service.\n\nBug: 78595399\nTest: concurrent/serial recordings, dumpsys media.metrics\nChange-Id: Ia17860940d4c329b0215b4cf97c6dacacb6a8e32\n"
    },
    {
      "commit": "1a0ecc383391e02a46be7bd4e9ec682e839b79e5",
      "tree": "51cd658083d107fa15ddf2664067516a5e4ac6f5",
      "parents": [
        "527da4c9d30c977c0105a288b20a77f0f9e8d0d3"
      ],
      "author": {
        "name": "Yung Ti Su",
        "email": "andysu@google.com",
        "time": "Mon May 07 11:09:15 2018 +0800"
      },
      "committer": {
        "name": "Yung Ti Su",
        "email": "andysu@google.com",
        "time": "Mon May 07 16:41:16 2018 +0800"
      },
      "message": "AudioMixer: Always do prepareForReformat() in setChannelMasks()\n\n    Always prepareForReformat() when channelmask has changed,\n    no matter needing a downmix or not.\n    Since ReformatBufferProvider would need to reset when\n    channelmask has changed.\n    Test: self-tested more then 50 times when a voice call ended\n          and there is an incoming Skype/LINE ringtone.\n    Bug: 78199280\n\nTest: bug is fixed.\nChange-Id: I08c74b00fcbaf8aacef7b1d1c1e840cae347accb\nSigned-off-by: Yung Ti Su \u003candysu@google.com\u003e\n"
    },
    {
      "commit": "00838b0bc08a3eee51c458a8e560d36985973ef5",
      "tree": "edd822743d552ae68983df1b7cb7b09ccabc92a0",
      "parents": [
        "36c7c8db9cef428c0760dd1baaea568a067b71db",
        "527da4c9d30c977c0105a288b20a77f0f9e8d0d3"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 04 13:52:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 04 13:52:50 2018 -0700"
      },
      "message": "Codec 2.0: finalize component names\nam: 527da4c9d3\n\nChange-Id: Ide4ce01479a99e3d12cd7e7f416c7a9a75ca0446\n"
    },
    {
      "commit": "527da4c9d30c977c0105a288b20a77f0f9e8d0d3",
      "tree": "b9237004e00bba81725383be1077a7887c02bdb2",
      "parents": [
        "0c1f9148ed187a9c3819374050c5ea319b059439"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 04 10:36:48 2018 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 04 10:36:48 2018 -0700"
      },
      "message": "Codec 2.0: finalize component names\n\nBug: 64121714\nTest: screenrecord, playback\nChange-Id: I477555aae5b1d0f840317034b346cb1eab5b6841\n"
    },
    {
      "commit": "36c7c8db9cef428c0760dd1baaea568a067b71db",
      "tree": "d9c4cf8193224f0ea1fb30ab0d5de3e161ddb53f",
      "parents": [
        "7987b622ebc366d83848f5fba1259907496afcb2",
        "0c1f9148ed187a9c3819374050c5ea319b059439"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Thu May 03 17:21:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 03 17:21:20 2018 -0700"
      },
      "message": "Merge \"Add necessary include statements to Omx.h\" into pi-dev\nam: 0c1f9148ed\n\nChange-Id: I845ae018fc168e4a7f470cc8868cb7d4a0ed3f1e\n"
    },
    {
      "commit": "7987b622ebc366d83848f5fba1259907496afcb2",
      "tree": "75bebfbf1897207dd7282774902ce6a60af605ea",
      "parents": [
        "bcf2a100b0d4e1071a2d67be98d32171c7414673",
        "ae5a524bd9c25d0ae22dbb98b66af41ebfc3347e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 03 17:14:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 03 17:14:37 2018 -0700"
      },
      "message": "Merge \"PipeReader: Do not flush on overrun.\" into pi-dev\nam: ae5a524bd9\n\nChange-Id: I9c583ad84af7d5583a98c6d73bc2134ea9640460\n"
    },
    {
      "commit": "0c1f9148ed187a9c3819374050c5ea319b059439",
      "tree": "4ab43bb86c7cd49f0fe306576e7d2691a5e343ee",
      "parents": [
        "ae5a524bd9c25d0ae22dbb98b66af41ebfc3347e",
        "b4f3d13ec2ba9e258f157dcf9a1e47e7d5bab7d6"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Fri May 04 00:05:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 04 00:05:24 2018 +0000"
      },
      "message": "Merge \"Add necessary include statements to Omx.h\" into pi-dev"
    },
    {
      "commit": "ae5a524bd9c25d0ae22dbb98b66af41ebfc3347e",
      "tree": "e343a7a4560f0cf14b3a2af2d56dea2203464a22",
      "parents": [
        "9c5f5b7589ab6c4790aa7aab00d00215de11ca56",
        "e089a50f144c5a43c47111c70f3c17835dbd6a99"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 03 23:59:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 03 23:59:16 2018 +0000"
      },
      "message": "Merge \"PipeReader: Do not flush on overrun.\" into pi-dev"
    },
    {
      "commit": "bcf2a100b0d4e1071a2d67be98d32171c7414673",
      "tree": "4a2d5b7e5694ba7a5e3e25abbf2ad70ccf2f4397",
      "parents": [
        "a67354ef2aa3c31c6fb31d5ad9426a1c57149578",
        "9c5f5b7589ab6c4790aa7aab00d00215de11ca56"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Thu May 03 15:57:40 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 03 15:57:40 2018 -0700"
      },
      "message": "Merge \"Prepare code to allow image decoder to be reused\" into pi-dev\nam: 9c5f5b7589\n\nChange-Id: Idb22b5633bc2f9d0dad0fbe809c8e6bd5cdec459\n"
    },
    {
      "commit": "f49d8f7b8c5f77016e9ba848219966890c9810a8",
      "tree": "7d1e93b291b1dc863d1a82eb3e313fe0f84077ad",
      "parents": [
        "8d1c940af4afef9c066e5924fed495ba8136ae34"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 02 12:31:57 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu May 03 12:55:12 2018 -0700"
      },
      "message": "Prepare code to allow image decoder to be reused\n\nThis change refactors ImageDecoder to prepare it for reuse\nfor multi-slice decoding. There is no functional change.\n\nbug: 78475896\n\nTest: CTS MediaMetadataRetrieverTest;\nManual test of HEIF image decoding and thumbnail extraction.\n\nChange-Id: I8c16042020c7db3d3714d22322e6304ea4192e33\n"
    },
    {
      "commit": "a67354ef2aa3c31c6fb31d5ad9426a1c57149578",
      "tree": "7efbbc53ade917e2e29a8c7a5b8ed3962dcb0455",
      "parents": [
        "b4dc74ccde9739553bace8744e4df97c67df30f7",
        "11f6d2be142196a6e902841472722637071d21a8"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu May 03 12:33:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 03 12:33:29 2018 -0700"
      },
      "message": "Merge \"fix position go backward after resume\" am: 334e5dff47\nam: 11f6d2be14\n\nChange-Id: Ifdfcee88bde5fdfba7e93173d1add68abcfdfebb\n"
    },
    {
      "commit": "334e5dff4751eb77ade396f4c32404ca2b2892b3",
      "tree": "de93ad2065ec7e05c042d5efae39d843c62305fb",
      "parents": [
        "2178e2c8103cb29cb77cf6b92dc216d6b9d538e7",
        "db13135caa6eafd6217efb8d73e7c01f4a3e8576"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu May 03 19:21:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 03 19:21:59 2018 +0000"
      },
      "message": "Merge \"fix position go backward after resume\""
    },
    {
      "commit": "b4f3d13ec2ba9e258f157dcf9a1e47e7d5bab7d6",
      "tree": "1316db9a7b8362fa5aab1f74da196099ca699d05",
      "parents": [
        "4ac3f08fe01117070ea379ae34e8b5f8bb4d7226"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu May 03 02:31:52 2018 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu May 03 04:16:15 2018 -0700"
      },
      "message": "Add necessary include statements to Omx.h\n\nWithout this CL, C2SoftwareCodecServiceRegistrant fails to build.\n\nTest: Builds\n\nBug: 64121714\nBug: 79183493\nChange-Id: I369a7d1acbfd14c72ee670e61079111958e04a93\n"
    },
    {
      "commit": "416eeabc3d81fd5aa212859b80760125af904a4d",
      "tree": "2768fd46fb16027cdc721fd315b0587d50675d17",
      "parents": [
        "cfb8571844dfb29c2b2ba205b335c253e14912d2",
        "3e69b248ef8805b888ea1ec76f3bab773db05589"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 10:38:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 10:38:42 2018 -0700"
      },
      "message": "Merge \"Fix ndk findId\" into pi-dev\nam: 3e69b248ef\n\nChange-Id: I04eaa5808c5c1372d7d92fe1b4ada4391fbd4499\n"
    },
    {
      "commit": "e089a50f144c5a43c47111c70f3c17835dbd6a99",
      "tree": "766c1525c394cc9746fe1a8d617256390bc9bd2d",
      "parents": [
        "0f59472e584f9962a7ef390d1dba90ca2c0ad8be"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 02 09:40:46 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 02 09:42:30 2018 -0700"
      },
      "message": "PipeReader: Do not flush on overrun.\n\nNo longer needed as RecordThread overrun handling has improved.\n\nTest: Directed test, see bug.\nBug: 79145022\nChange-Id: Iee72da1f628639632e030218fb717400a1cc1bd8\n"
    },
    {
      "commit": "c5f013fb5d0557a9188f8d09b13eca970a31790f",
      "tree": "120f7c5b4844a09d5589c8ab342e336cc0271d1a",
      "parents": [
        "e641294b59e2a0792d894139d739228f182409b4"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 05 10:28:27 2017 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue May 01 18:22:13 2018 +0000"
      },
      "message": "Fix ndk findId\n\n|findId| should search by |id| value, rather than\noriginal memory address\n\nbug:35227555\nChange-Id: I53257d0fa833f61258a26b7e905879eeceab6b26\n"
    },
    {
      "commit": "f4326116945b1d7a2717eb8b2a8a7cb8f31257c7",
      "tree": "cbf24dd79fc6b060477aa6f69da51c3b058ada45",
      "parents": [
        "fc84c3e6b35ec814553a192cb7f674d4c8d224ba",
        "e1f145ae31d1ddaf9266e64659ce021a7e1e84eb"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 30 17:23:05 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 30 17:23:05 2018 -0700"
      },
      "message": "Merge \"AAC decoder: add support for xHE \u0026 DRC effect type\" into pi-dev\nam: e1f145ae31\n\nChange-Id: I03ef0842140562534ab9b2d4dca4cee5498e3759\n"
    },
    {
      "commit": "e1f145ae31d1ddaf9266e64659ce021a7e1e84eb",
      "tree": "aa63ea46d5b0f56de6f359f60906784b26b5915b",
      "parents": [
        "a1dee6e35a5f71653f14679b12dc46a05f49d06b",
        "b5d268eb3a68147bc562ddb74e471dbd345c5830"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 01 00:08:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 01 00:08:29 2018 +0000"
      },
      "message": "Merge \"AAC decoder: add support for xHE \u0026 DRC effect type\" into pi-dev"
    },
    {
      "commit": "b5d268eb3a68147bc562ddb74e471dbd345c5830",
      "tree": "c78e075e962d92214912191b9b3b0a30c1899532",
      "parents": [
        "d549c0835ab7fc3c06f0e43b9daa3c8994440e5d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Mar 26 15:26:18 2018 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 30 15:50:34 2018 -0700"
      },
      "message": "AAC decoder: add support for xHE \u0026 DRC effect type\n\nBug: 71430241\nTest: CTS DecoderTest and DecoderTestAacDrc\nChange-Id: I4d0b2948772fbbe6a22f2d5e436d795ac2bb45f3\n"
    },
    {
      "commit": "fc84c3e6b35ec814553a192cb7f674d4c8d224ba",
      "tree": "8ebb91646433542f0c0fb6a583ffb0b3050ebf09",
      "parents": [
        "93d1408000bfd13e1b1ec2fca2f233101e232538",
        "a1dee6e35a5f71653f14679b12dc46a05f49d06b"
      ],
      "author": {
        "name": "Sam Hasinoff",
        "email": "hasinoff@google.com",
        "time": "Mon Apr 30 14:04:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 30 14:04:12 2018 -0700"
      },
      "message": "Fix definition of Bayer phase to match DNG SDK\nam: a1dee6e35a\n\nChange-Id: I0374e84e9d372efe0fe613c221594127f4447528\n"
    },
    {
      "commit": "a1dee6e35a5f71653f14679b12dc46a05f49d06b",
      "tree": "d1134e9dbe5974b4ac066aadca56f6f98a08125d",
      "parents": [
        "58a1c16fa813d34fe45241014742f33aa93f2a3e"
      ],
      "author": {
        "name": "Sam Hasinoff",
        "email": "hasinoff@google.com",
        "time": "Thu Apr 19 13:08:16 2018 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 30 20:25:37 2018 +0000"
      },
      "message": "Fix definition of Bayer phase to match DNG SDK\n\nNote that the Adobe DNG 1.4 spec for Bayer phase (defined for the\nFixBadPixelsConstant and FixBadPixelsList opcodes) is incorrect. It\u0027s\ninconsistent with the DNG SDK (cf. dng_negative::SetBayerMosaic and\ndng_opcode_FixBadPixelsList::IsGreen), and Adobe confirms that the\nspec should be updated to match the SDK.\n\nTest: build\nBug: 78294972\nChange-Id: Ie60fb3370b80ed30c8c05505dcfdc873746e244a\n"
    },
    {
      "commit": "93d1408000bfd13e1b1ec2fca2f233101e232538",
      "tree": "92dd38c8cbabb799a7d64fe63ff1f0639c3806d2",
      "parents": [
        "49393cdced5bedeb7b1c74d58eeea4f50e708e2a",
        "58a1c16fa813d34fe45241014742f33aa93f2a3e"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Mon Apr 30 13:25:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 30 13:25:28 2018 -0700"
      },
      "message": "Merge \"Add missing extensions, fix scan of bad media files.\" into pi-dev\nam: 58a1c16fa8\n\nChange-Id: I70ac10adc9af410c9c3d73488dd92831c7aac373\n"
    },
    {
      "commit": "58a1c16fa813d34fe45241014742f33aa93f2a3e",
      "tree": "7389fd78e59716f2a849d2540d905ae3b221a73e",
      "parents": [
        "0926bb0100b5df3439c49777952d48ce53dd9137",
        "2ae1f524a630b413c5724c42105cc504c60d3ba2"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Mon Apr 30 20:16:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 30 20:16:44 2018 +0000"
      },
      "message": "Merge \"Add missing extensions, fix scan of bad media files.\" into pi-dev"
    },
    {
      "commit": "49393cdced5bedeb7b1c74d58eeea4f50e708e2a",
      "tree": "c8e276aae3dc9614b85f5b2fc912b98e40c0c72d",
      "parents": [
        "fd3ac44e7de0cd303ad12530378d4dfaf23e3526",
        "0926bb0100b5df3439c49777952d48ce53dd9137"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Mon Apr 30 11:46:16 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 30 11:46:16 2018 -0700"
      },
      "message": "Merge \"aaudio: fix loopback test, track magnitude drift\" into pi-dev\nam: 0926bb0100\n\nChange-Id: I14fbdbf33b8d3c8d6143450edf72768c0b411158\n"
    },
    {
      "commit": "0926bb0100b5df3439c49777952d48ce53dd9137",
      "tree": "cbf2348465d00a1435ae72fb185ddf82f5ec8a6b",
      "parents": [
        "e5a37268101a2c9d8019938f4e5ac9eec2e52fca",
        "74ce5e8273a1c3f6ea14ab087f66f7d32ad106d7"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Mon Apr 30 18:26:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 30 18:26:45 2018 +0000"
      },
      "message": "Merge \"aaudio: fix loopback test, track magnitude drift\" into pi-dev"
    },
    {
      "commit": "74ce5e8273a1c3f6ea14ab087f66f7d32ad106d7",
      "tree": "06c122440410717114d405889db529f5c2b35ce6",
      "parents": [
        "6f4512914d90430bf135de221897887638c79f25"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 26 16:01:28 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 30 10:06:53 2018 -0700"
      },
      "message": "aaudio: fix loopback test, track magnitude drift\n\nLoopback test was still reporting some glitches.\nThese were false alarms due to:\n  * starting input before output causing an overflow\n  * not waiting for the input to reach equilibrium with the output\n  * detecting slow drift in magnitude as a glitch\n\nI changed the logic for setting up a test\nand track slow changes in magnitude.\nNow the rare glitch seems to be a real glitch.\n\nBug: 78139448\nTest: this is a test\nChange-Id: Id16d7dc59c0f2e040fe1dfb0337e9ed987d4fd02\n"
    },
    {
      "commit": "ad33f439ee2946eae0d72221d2ac08600d95410b",
      "tree": "26156b75a094808b7c9efff37506b425ca489b4b",
      "parents": [
        "c55ede9dab97eba7ebd573f475864aa58cc4f493",
        "036e93aa100246e7089fcd7b800e400fb122275c"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Apr 27 17:50:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 27 17:50:45 2018 -0700"
      },
      "message": "Merge \"NdkMediaExtractor: remove `disconnect` from NDK headers\" into pi-dev\nam: 036e93aa10\n\nChange-Id: I6d32a7e9385379a8ea356be600972a1c70b344e6\n"
    },
    {
      "commit": "036e93aa100246e7089fcd7b800e400fb122275c",
      "tree": "077cae906ddb8f4cd8b900cd4078e58d125675f9",
      "parents": [
        "1f0cbeddf430e24d943892381600262ae3ce542e",
        "3fd320dac30e103a47bdbcf1897deac3d08f99e9"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Apr 28 00:40:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 28 00:40:28 2018 +0000"
      },
      "message": "Merge \"NdkMediaExtractor: remove `disconnect` from NDK headers\" into pi-dev"
    },
    {
      "commit": "90aae0de4b3630948160587431da0784d9472856",
      "tree": "e6470f0eec670bcaea5ef4215e045143f146489d",
      "parents": [
        "acf958d20cd8101e8cd3d359d7826b4233ead065",
        "e44ca3765fca8d82f7dcf884c53acddb6704dd20"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 27 15:51:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 27 15:51:29 2018 -0700"
      },
      "message": "Merge \"Tuning of buffer dequeue code to reduce stalls\" into pi-dev\nam: e44ca3765f\n\nChange-Id: I9a476ed69476aca8da4fdfdc89166ce98e9892bc\n"
    },
    {
      "commit": "e44ca3765fca8d82f7dcf884c53acddb6704dd20",
      "tree": "cb8adfd52c1d2d825ef2ae88fc9800aa085e7716",
      "parents": [
        "c3d554d42f637a9076473b070b30ba3e8229189c",
        "c666687f67d1d00beb88c63f90cefc708cbe8500"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 27 22:37:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 22:37:47 2018 +0000"
      },
      "message": "Merge \"Tuning of buffer dequeue code to reduce stalls\" into pi-dev"
    },
    {
      "commit": "3fd320dac30e103a47bdbcf1897deac3d08f99e9",
      "tree": "88073126277312b68ec8726b7fc61e4c7cc59397",
      "parents": [
        "64da22285776f07a775afd45f9fc36cea1aa05e3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Apr 26 16:21:29 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Apr 27 22:26:21 2018 +0000"
      },
      "message": "NdkMediaExtractor: remove `disconnect` from NDK headers\n\nBug: 63934228\nChange-Id: I74f0564bb75dffb934931d0e5f1d34b17916f2b8\n"
    },
    {
      "commit": "2ae1f524a630b413c5724c42105cc504c60d3ba2",
      "tree": "9a179d717ee9816a3d03ffee8b890e4d78523ac0",
      "parents": [
        "c3d554d42f637a9076473b070b30ba3e8229189c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 11 09:24:54 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 27 21:40:14 2018 +0000"
      },
      "message": "Add missing extensions, fix scan of bad media files.\n\nUpdate extensions list in StagefrightMediaScanner.\nMark files that fail to scan as non-media files.\n\nBug: 31900187\nBug: 32045229\nBug: 77656952\nBug: 78682917\nChange-Id: I78f21b044f3a038d6e78dbe9f461f650650afe8b\n(cherry picked from commit 9abe5ee514114a58728eed08253f8d08bd90b959)\n"
    },
    {
      "commit": "acf958d20cd8101e8cd3d359d7826b4233ead065",
      "tree": "677541625962b505b7840dd4353c572ff1a97418",
      "parents": [
        "3c6b0df2665718fc4316975b45c3425ee5269dc9",
        "c3d554d42f637a9076473b070b30ba3e8229189c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 27 12:33:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 27 12:33:55 2018 -0700"
      },
      "message": "Merge \"aaudio: use fmin and fmax to block Nan\" into pi-dev\nam: c3d554d42f\n\nChange-Id: I191521882c7573265ecc24450a4b616ab96ffe6a\n"
    },
    {
      "commit": "c3d554d42f637a9076473b070b30ba3e8229189c",
      "tree": "69f9db4642e0c7d05394e0854713dcbed626d0c8",
      "parents": [
        "c0910fe8adbcb5162f0b003bbb379b9ffc496f94",
        "51f07177574ec2afd19b4390ab64ff8014489a9b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 27 19:26:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 19:26:38 2018 +0000"
      },
      "message": "Merge \"aaudio: use fmin and fmax to block Nan\" into pi-dev"
    },
    {
      "commit": "3c6b0df2665718fc4316975b45c3425ee5269dc9",
      "tree": "65797f20af105a9194ccfd4067ba27f5d47c0b45",
      "parents": [
        "e8abcc0807e03bc162899e84ebbb33b4dd8df837",
        "c0910fe8adbcb5162f0b003bbb379b9ffc496f94"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Fri Apr 27 11:52:15 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 27 11:52:15 2018 -0700"
      },
      "message": "Merge \"Remove misleading diagnostic\" into pi-dev\nam: c0910fe8ad\n\nChange-Id: I0075f58faf4951fb7ef85cfe1e6395eb3370aae8\n"
    },
    {
      "commit": "c0910fe8adbcb5162f0b003bbb379b9ffc496f94",
      "tree": "684adb494a66f9088a05b29f63864f439b061feb",
      "parents": [
        "aa60151aa7ee97c37a5f9371b70cf979693ec1ec",
        "b2fe60bd83a0935cf30b3ee92329c29c24dec894"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Fri Apr 27 18:26:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 18:26:36 2018 +0000"
      },
      "message": "Merge \"Remove misleading diagnostic\" into pi-dev"
    },
    {
      "commit": "51f07177574ec2afd19b4390ab64ff8014489a9b",
      "tree": "00df16640bc767122fd6c27808c45b91523b77b0",
      "parents": [
        "6f4512914d90430bf135de221897887638c79f25"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 27 10:18:03 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 27 10:18:03 2018 -0700"
      },
      "message": "aaudio: use fmin and fmax to block Nan\n\nThis prevents NaN from creating noise that does not respond to\nVolume changes.\n\nBug: 69224661\nTest: adb shell aaudio_loopback -c2 -C2 -tm -m2 -s20 -Pl -pl\nChange-Id: I8604f5af42cbf5637f7ea4e975f53db990cdf9de\n"
    },
    {
      "commit": "b5f065d825f5deda1d2674a5e5cfc927f9473559",
      "tree": "c38aea3260a85007fdaa0b42d60be49908258c50",
      "parents": [
        "44e26df4f5f5d8d94913e3bc88af6b5618748f14",
        "aa60151aa7ee97c37a5f9371b70cf979693ec1ec"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Apr 26 18:35:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 18:35:32 2018 -0700"
      },
      "message": "Merge \"MatroskaExtractor: handle parse error.\" into pi-dev\nam: aa60151aa7\n\nChange-Id: Ibd2a951787c66d0d1f73d931c1650012f1298544\n"
    },
    {
      "commit": "aa60151aa7ee97c37a5f9371b70cf979693ec1ec",
      "tree": "1278a3535f398590a1ea5cc71ba91a1471ecfec8",
      "parents": [
        "a591fc4cde5eac46030d9d494c15056e5dd4299c",
        "918ddcc97b5679ba2afd0bfeb6f79be111ad6166"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 27 01:24:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 01:24:55 2018 +0000"
      },
      "message": "Merge \"MatroskaExtractor: handle parse error.\" into pi-dev"
    },
    {
      "commit": "b2fe60bd83a0935cf30b3ee92329c29c24dec894",
      "tree": "6e7e8dfa6c52bf58463951e178ce73a3f65e5f5d",
      "parents": [
        "b0d44131e93e0190351ac50ea7a3fe76da168557"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Apr 26 16:46:50 2018 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Apr 26 16:46:50 2018 -0700"
      },
      "message": "Remove misleading diagnostic\n\nRemove a noisy diagnostic that improperly implied an error condition.\n\nBug: 64022743\nTest: video playback w/o diagnostic\nChange-Id: I8fe7ae36c67550dccbdf0312f3a01adf10536db1\n"
    },
    {
      "commit": "918ddcc97b5679ba2afd0bfeb6f79be111ad6166",
      "tree": "6d1b74fc40698d17c52618faa722d7ea4d38d2c4",
      "parents": [
        "b0d44131e93e0190351ac50ea7a3fe76da168557"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Apr 26 13:59:10 2018 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Apr 26 22:59:04 2018 +0000"
      },
      "message": "MatroskaExtractor: handle parse error.\n\nThis change makes MatroskaExtractor return EOS when it faces\nparse error in the middle of extracting.\n\nTest: manually hardcoded parse error and tested if playback\nends gracefully with Photos app.\nTest: pass post submit CTS.\nBug: 73654561\n\nChange-Id: I7f51580114de1304348e4d3305153ce6c3a2f13a\n"
    },
    {
      "commit": "44e26df4f5f5d8d94913e3bc88af6b5618748f14",
      "tree": "f37f3747942e230f8fdb63681d5df249ec455fb3",
      "parents": [
        "8309dbdd00678915d123c9e40536759ac2b7b088",
        "a591fc4cde5eac46030d9d494c15056e5dd4299c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 26 15:17:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 15:17:19 2018 -0700"
      },
      "message": "Merge \"audioserver: return binder call permission error in reply\" into pi-dev\nam: a591fc4cde\n\nChange-Id: I01c57fe943a6e85b371b618f952db0ddb53ff559\n"
    },
    {
      "commit": "a591fc4cde5eac46030d9d494c15056e5dd4299c",
      "tree": "7702e4d7f09d70f9b99f15b78eea8153c209994c",
      "parents": [
        "4fe8cfba169b4cc5e5eb4440c6e5bd74c8be502d",
        "ef92bff8d2e8f6ec9a526fdb4fcfead0146a10f3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 26 21:32:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 21:32:08 2018 +0000"
      },
      "message": "Merge \"audioserver: return binder call permission error in reply\" into pi-dev"
    },
    {
      "commit": "173ede0bb1d2b1ab7fb47f7e6474d91cc95d76d1",
      "tree": "3a0abb383e160a5635c5f435057336748d07270c",
      "parents": [
        "e9108d0f23dfb59f59da8a55db8c91f2bdc3297f",
        "b0d44131e93e0190351ac50ea7a3fe76da168557"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 13:09:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 13:09:22 2018 -0700"
      },
      "message": "Merge \"Remove one redundant frame copy in MetadataRetriever\" into pi-dev\nam: b0d44131e9\n\nChange-Id: Ieea9eff4d94c5acb6d4c51b19633eafb60544bc2\n"
    },
    {
      "commit": "b0d44131e93e0190351ac50ea7a3fe76da168557",
      "tree": "c369f4f9b21c0484edad8ca591a31b5ceee0546c",
      "parents": [
        "90033d19134e13de6b7829db496925676c9d4d72",
        "3f4e6ddcf05aa1a286bc3963b5a9f53bf30b4327"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 19:50:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 19:50:42 2018 +0000"
      },
      "message": "Merge \"Remove one redundant frame copy in MetadataRetriever\" into pi-dev"
    },
    {
      "commit": "c666687f67d1d00beb88c63f90cefc708cbe8500",
      "tree": "695ac83e026a22e1e89734e623d0d4014b79c68f",
      "parents": [
        "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 20 14:25:30 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 12:47:38 2018 -0700"
      },
      "message": "Tuning of buffer dequeue code to reduce stalls\n\nQueue as many inputs as possible without blocking, then\nblock on output. Also change the blocking time to 10ms\nbut allow a little more retries.\n\nFinally, assign a non-zero pts to the image samples to\nsuppress warnings from MediaCodec about 0 pts.\n\nbug: 78475896\n\nChange-Id: I57c4096a93bc5de0a413968224843a69df667df8\n"
    },
    {
      "commit": "3f4e6ddcf05aa1a286bc3963b5a9f53bf30b4327",
      "tree": "afb38add9c3818f5039a7d1b21fe65bd2b3e53a3",
      "parents": [
        "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 24 16:12:57 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 11:58:49 2018 -0700"
      },
      "message": "Remove one redundant frame copy in MetadataRetriever\n\nWhen extracting bitmaps, MediaMetadataRetriever does a copy from\nStagefrightMetadataRetriever\u0027s VideoFrame to IMemory. We could\njust allocate IMemory directly and return that to the client.\n\nbug: 78475896\nChange-Id: Ibe07e7d2c68f031261470308476089c2fa9298ea\n"
    },
    {
      "commit": "ef92bff8d2e8f6ec9a526fdb4fcfead0146a10f3",
      "tree": "85d8dac27ec4d7fd456743485085c6ff319b6676",
      "parents": [
        "64da22285776f07a775afd45f9fc36cea1aa05e3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 26 10:44:50 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 26 10:59:56 2018 -0700"
      },
      "message": "audioserver: return binder call permission error in reply\n\nWhen a transaction to IAudioFlinger or IAudioPolicyService is detected\nfrom an unauthorized source, return the INVALID_OPERATION status in\nreply Parcel and not as transaction status.\n\nAlso removed check on SET_RINGER_MODE as it is not implemented on client\nside and allow SET_MODE from system AIDs instead of just audioserver.\n\nBug: 78615605\nTest: manual audio smoke tests.\nChange-Id: Ia4fdfc22f049da69aaa9d45075e1c502eecf4521\n"
    },
    {
      "commit": "f854156ae82ba41965a3129df7fc1912fd36da5f",
      "tree": "9f361e68a10cee52c797ed67addc7f6f8b14a9b0",
      "parents": [
        "515fe146d9dca6c363c2b8a248e065dc16dfbfab",
        "354a89b3960894e0c73384648f3722c9e2a65d4c"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Apr 25 22:40:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 25 22:40:34 2018 -0700"
      },
      "message": "Merge \"media: Do not reset mHasMoovBox when switch recording output.\" into pi-dev\nam: 354a89b396\n\nChange-Id: I1bc4dd686c5c513ecd55807fc06b07b268305f95\n"
    },
    {
      "commit": "354a89b3960894e0c73384648f3722c9e2a65d4c",
      "tree": "be499d97fa3547e39d590527555b059030839842",
      "parents": [
        "2db457b39ec52961118359e94e141ceff7eb7c4e",
        "2504ce46a75c86bb1f8ed6f839dd30e2ec7b400a"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Apr 26 05:33:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 05:33:09 2018 +0000"
      },
      "message": "Merge \"media: Do not reset mHasMoovBox when switch recording output.\" into pi-dev"
    },
    {
      "commit": "515fe146d9dca6c363c2b8a248e065dc16dfbfab",
      "tree": "b1494fef648abbe6d87fb0f64859c01e75dfb6a7",
      "parents": [
        "38ca1a3c28ea441bc9f48595f843b46a3da9ebd7",
        "2db457b39ec52961118359e94e141ceff7eb7c4e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 25 19:15:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 25 19:15:12 2018 -0700"
      },
      "message": "Merge \"audio policy service: fix audioserver port cb upon APS crash\" into pi-dev\nam: 2db457b39e\n\nChange-Id: Ib856872a87206c42ccd60745e904ec92db6a5f68\n"
    },
    {
      "commit": "2db457b39ec52961118359e94e141ceff7eb7c4e",
      "tree": "5d73124129a708b39606e69a12077d24a20c2992",
      "parents": [
        "d549c0835ab7fc3c06f0e43b9daa3c8994440e5d",
        "2443760584e8e9798b65b297f1636953c287e5d8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 26 02:05:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 02:05:25 2018 +0000"
      },
      "message": "Merge \"audio policy service: fix audioserver port cb upon APS crash\" into pi-dev"
    },
    {
      "commit": "38ca1a3c28ea441bc9f48595f843b46a3da9ebd7",
      "tree": "bbda65805389e68bbe1bbc0d4d42e40ea3e44884",
      "parents": [
        "36c3a8577e5d75c08a0b89a8f47a992f53790ff1",
        "d549c0835ab7fc3c06f0e43b9daa3c8994440e5d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 25 17:26:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 25 17:26:50 2018 -0700"
      },
      "message": "Merge \"Allow customized registration of codec services\" into pi-dev\nam: d549c0835a\n\nChange-Id: Ie6135acf7a458caac941863499ce9b0b22f9a7ba\n"
    },
    {
      "commit": "2443760584e8e9798b65b297f1636953c287e5d8",
      "tree": "c817c62a176f0f290b88530f6febf3d9e985f3fe",
      "parents": [
        "64da22285776f07a775afd45f9fc36cea1aa05e3"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Apr 23 15:08:59 2018 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 25 17:25:08 2018 -0700"
      },
      "message": "audio policy service: fix audioserver port cb upon APS crash\n\nIn case of an audioserver crash, clients that registered AudioPort\ncb are no more notified of Port and Patch update (only Service Died\ncontinues to work).\nThe AudioPolicyService client shall upon registration set again the\ncb flag to continue beeing notified.\n\nAlso clear binder caller identity before registering a client to\naudio flinger and audio policy services to avoid registering the\nwrong client when get_audio_flinger() or get_audio_policy_service()\nis called while executing a binder call.\n\nBug: 78506562\nTest: launch a test app registering to Port Callback. Check upon\nsetDeviceConnectionState and createAudioPatch that cb are called.\nKill the audio server, and check cb continue to be called.\n\nChange-Id: If1e803f59cb02fba84b6259e9da2d7031235d9c2\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "d549c0835ab7fc3c06f0e43b9daa3c8994440e5d",
      "tree": "40c2432d2ab2df0223fb6edc4b6be92748335df1",
      "parents": [
        "b1b7ba010ed14b52400c0b8ed59dc225ce71eee2",
        "a66243a7d65c6152e4f0c3e0ac6ba3470c73a6a2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 26 00:17:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 00:17:22 2018 +0000"
      },
      "message": "Merge \"Allow customized registration of codec services\" into pi-dev"
    },
    {
      "commit": "36c3a8577e5d75c08a0b89a8f47a992f53790ff1",
      "tree": "d4b930af13617fe3da4e47fcbe0acc326c3c80fc",
      "parents": [
        "240fcb2d20c8fffaed6d38ec3a8bbe6cdc300d98",
        "b1b7ba010ed14b52400c0b8ed59dc225ce71eee2"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Apr 25 16:18:18 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 25 16:18:18 2018 -0700"
      },
      "message": "Merge \"httplive: accept data url cipher keys\" into pi-dev\nam: b1b7ba010e\n\nChange-Id: I0eb715bacbd5e5c5588782b057d3f8047688cc24\n"
    },
    {
      "commit": "b1b7ba010ed14b52400c0b8ed59dc225ce71eee2",
      "tree": "2cedb972af43ee06c9e535b548a55550935a7e36",
      "parents": [
        "3617795ed912785c796821c07936817e8d07a9de",
        "55a0b4ddb3cadb574d9f888fe11f02025c53aa75"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Apr 25 23:10:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 25 23:10:56 2018 +0000"
      },
      "message": "Merge \"httplive: accept data url cipher keys\" into pi-dev"
    },
    {
      "commit": "240fcb2d20c8fffaed6d38ec3a8bbe6cdc300d98",
      "tree": "a6e4fa1ab6fd6f47587fda02b363978dfd3c223b",
      "parents": [
        "c8fb44d89e7199a3ad359958e8a768040ebdb3b9",
        "3617795ed912785c796821c07936817e8d07a9de"
      ],
      "author": {
        "name": "andysu",
        "email": "andysu@android.com",
        "time": "Wed Apr 25 14:23:33 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 25 14:23:33 2018 -0700"
      },
      "message": "NuPlayerRenderer: cancelAudioOffloadPauseTimeout() when onDisableOffloadAudio().\nam: 3617795ed9\n\nChange-Id: I23a0b6f373aaee23e7ceb07e428856016c8b3e8f\n"
    },
    {
      "commit": "2504ce46a75c86bb1f8ed6f839dd30e2ec7b400a",
      "tree": "bbde58ae203f0378219467e328fe105c2ec32f25",
      "parents": [
        "030cb3b698958d5b291598b96463b450888e1a27"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Apr 25 14:01:21 2018 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Apr 25 14:01:21 2018 -0700"
      },
      "message": "media: Do not reset mHasMoovBox when switch recording output.\n\nBug: 70705486\nTest: Record video to exceed maximum filesize and playback the split videos.\nChange-Id: I641a7788b93575530a50aa4dc9ec2fdd9ed0acbb\n"
    },
    {
      "commit": "3617795ed912785c796821c07936817e8d07a9de",
      "tree": "0baad5269cdc197ac07ace10449ce22f2e779307",
      "parents": [
        "6f4512914d90430bf135de221897887638c79f25"
      ],
      "author": {
        "name": "andysu",
        "email": "andysu@android.com",
        "time": "Fri Apr 20 15:17:13 2018 +0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Apr 25 12:31:59 2018 -0700"
      },
      "message": "NuPlayerRenderer: cancelAudioOffloadPauseTimeout() when onDisableOffloadAudio().\n\n    This fix is for an offload track if paused and invalidated.\n    when an offload track is paused, it would startAudioOffloadPauseTimeout().\n    But if the offload track is invalidated and fall back to non offload mode,\n    the timeout would not stop, and will tear down the track after timeout.\n    Test: self-tested more then 50 times when fall back to non offload happens.\n    Bug: 77182500\n\nTest: bug is fixed.\nChange-Id: I424fc96e6a5811afacd362409b472c2493c4bb71\nSigned-off-by: andysu \u003candysu@android.com\u003e\n"
    },
    {
      "commit": "c8fb44d89e7199a3ad359958e8a768040ebdb3b9",
      "tree": "791dba657ed5bb61486cb66623cb72ac512b8056",
      "parents": [
        "bd37a2d6e16ae3f406a41a4683330a775362c0ce",
        "6f4512914d90430bf135de221897887638c79f25"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 25 08:04:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 25 08:04:25 2018 -0700"
      },
      "message": "Merge \"aaudio: add unit test for FIFO\" into pi-dev\nam: 6f4512914d\n\nChange-Id: I6c005479c31150cd35f819c2d9a73ef9b62956e4\n"
    },
    {
      "commit": "6f4512914d90430bf135de221897887638c79f25",
      "tree": "162b3ed03eeca5527f25f5032d0c6e53871707a1",
      "parents": [
        "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28",
        "217a14ff1b359762eea5619c12669a68e4db4672"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 25 14:54:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 25 14:54:49 2018 +0000"
      },
      "message": "Merge \"aaudio: add unit test for FIFO\" into pi-dev"
    },
    {
      "commit": "a66243a7d65c6152e4f0c3e0ac6ba3470c73a6a2",
      "tree": "9c2c2b90ccdeff518971f07af89c31228b8e5d5c",
      "parents": [
        "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 18 01:38:29 2018 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 25 04:21:59 2018 -0700"
      },
      "message": "Allow customized registration of codec services\n\nTest: adb bugreport\n\nBug: 78206546\nChange-Id: Id42d57b8b647570e68de228de856a39b2755862d\n"
    },
    {
      "commit": "db13135caa6eafd6217efb8d73e7c01f4a3e8576",
      "tree": "f8d0fd90ae177f1bd7bf4bbc7c6a0e580e483bbe",
      "parents": [
        "05fa245462238847528cd18e04aa77f85b0491a4"
      ],
      "author": {
        "name": "zengjing",
        "email": "zengjing@xiaomi.com",
        "time": "Mon Mar 19 17:23:49 2018 +0800"
      },
      "committer": {
        "name": "zengjing",
        "email": "zengjing@xiaomi.com",
        "time": "Wed Apr 25 11:21:51 2018 +0800"
      },
      "message": "fix position go backward after resume\n\nWhen audio played with MediaPlayer without offloaded, if we pause the player,\nthen call start. It may be occured that the position get from getCurrentPosition\nincrease first, and then decrease after a while. We found that, when call\ngetCurrentPosition after start() was called, mAudioSink-\u003egetPlayedOutDurationUs\nretrun 0, and MediaClock was update with mAudioFirstAnchorTimeMediaUs. In this case,\naudiosink has not start to play actually, but the pts will be caculated refered to\nmAudioFirstAnchorTimeMediaUs. After audiosink start successfully, onNewAudioMediaTime\nwill be called, which will call updateAnchor to set pts. As a result, the position get\nby calling getCurrentPosition get descreased, which will be observed from our UI.\nReturn mAudioFirstAnchorTimeMediaUs without updateAnchor before valid value obtain from\ngetPlayedOutDurationUs will fix this issue.\n\nTest: NA\n\nChange-Id: I94b644e5f31c66e1b720c7f60ed8d656842f6285\nSigned-off-by: zengjing \u003czengjing@xiaomi.com\u003e\n"
    },
    {
      "commit": "7f5d96554cc7c86e7246eec87a712be2aed9bb35",
      "tree": "f77ae33f2792a53811a60ad67af5d087078fa439",
      "parents": [
        "111eedda18bd436a13efcb2be39e6ec88a3a4505",
        "ac9d979583c4a10c2ebcf9649d773edf7acce723"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 24 15:54:30 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 24 15:54:30 2018 -0700"
      },
      "message": "aaudio example: fix loopback test\nam: ac9d979583\n\nChange-Id: I681c331ab5543ec3683f6a568fab630fe0918673\n"
    },
    {
      "commit": "111eedda18bd436a13efcb2be39e6ec88a3a4505",
      "tree": "3f87d2580c0cc8dce5201be4cb30c9cf3c707559",
      "parents": [
        "a3b6b741f9acf7fecdbb3e210da0eb742a549ed8",
        "e4fbad4654f0af583bb5f0eb4b7300e3e96eaacf"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Apr 24 11:06:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 24 11:06:09 2018 -0700"
      },
      "message": "Merge \"stagefright: null-terminate vendor OMX string extensions\" into pi-dev\nam: e4fbad4654\n\nChange-Id: Ib303db1700ec624c48e5cca095bf38cce22b743d\n"
    },
    {
      "commit": "ac9d979583c4a10c2ebcf9649d773edf7acce723",
      "tree": "58547ec377102b7b009c96dfc064c15aecfcaff8",
      "parents": [
        "e4fbad4654f0af583bb5f0eb4b7300e3e96eaacf"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 12 10:51:41 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 24 17:52:48 2018 +0000"
      },
      "message": "aaudio example: fix loopback test\n\nSupport both I16 and FLOAT format.\nSilence output at beginning when skipping buffers. Was sometimes spewing noise.\nPrint more information when it fails so we can debug the failure.\nFix getting framesPerBurst from wrong stream.\nTrack when read gets too few frames.\n\nBug: 38268031\nBug: 78139448\nTest: this is a test\nChange-Id: If562856ab2eac607a8bb15da1cc587ae631f7a1d\n"
    },
    {
      "commit": "e4fbad4654f0af583bb5f0eb4b7300e3e96eaacf",
      "tree": "66bd8136fb2b3de4a40ca45a9999b12bdeee7e96",
      "parents": [
        "64da22285776f07a775afd45f9fc36cea1aa05e3",
        "69f360e8f1517abfc298a3d6c7252c72269dc6c6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 24 17:50:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 17:50:16 2018 +0000"
      },
      "message": "Merge \"stagefright: null-terminate vendor OMX string extensions\" into pi-dev"
    },
    {
      "commit": "217a14ff1b359762eea5619c12669a68e4db4672",
      "tree": "6d003021aaeb53508e5c7fd897fdd331e6f6766e",
      "parents": [
        "64da22285776f07a775afd45f9fc36cea1aa05e3"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 23 10:33:06 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 24 09:11:56 2018 -0700"
      },
      "message": "aaudio: add unit test for FIFO\n\nWrite data, read it back and verify.\nTry to trigger wrap-around conditions.\n\nBug: 78139448\nTest: this is a test\nChange-Id: I4247fcf57a25c97c6ab8ce9671d0f61556ecef6a\n"
    },
    {
      "commit": "55a0b4ddb3cadb574d9f888fe11f02025c53aa75",
      "tree": "150f2cd2a31305a87060c9520e52af2aa13c9299",
      "parents": [
        "1deee1056103f26ae42dc0a84daaf13ea6b0948e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Apr 23 13:33:04 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Apr 23 18:36:34 2018 -0700"
      },
      "message": "httplive: accept data url cipher keys\n\nBug: 78367172\nTest: StreamingMediaPlayerTest#testHlsSampleAes_bbb_unmuxed_1500k\nChange-Id: I3c32ec71fe4102170abc4417912cbe6c2ed56d44\n"
    },
    {
      "commit": "632a86bbaf67e6e2eca52b59c508fd29abeebe67",
      "tree": "79eb6743ffd8739630f595eae2be4b9ea5167017",
      "parents": [
        "e33ec01eedb4be317fe6714603eee736426d8795",
        "1deee1056103f26ae42dc0a84daaf13ea6b0948e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Apr 23 14:38:05 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 14:38:05 2018 -0700"
      },
      "message": "Merge \"MatroskaExtractor: support Subsample Encryption\" into pi-dev\nam: 1deee10561\n\nChange-Id: I0eedcb383a1bb6ca0421d8eeb7650b5a9661088b\n"
    },
    {
      "commit": "1deee1056103f26ae42dc0a84daaf13ea6b0948e",
      "tree": "4b084a815e92103f23dc449c1a1f557720467231",
      "parents": [
        "7676c94b6fa0c504b526daf13472de486308c274",
        "a2c4181b9cc30703b0471831e2e5fa03253b5690"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Apr 23 21:27:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 21:27:54 2018 +0000"
      },
      "message": "Merge \"MatroskaExtractor: support Subsample Encryption\" into pi-dev"
    },
    {
      "commit": "e33ec01eedb4be317fe6714603eee736426d8795",
      "tree": "5938b8bf8e12ce7cab861deafbeb3e8e27b1a8cb",
      "parents": [
        "6ce9608907bdefa6471b09a59984727d2a89f3a1",
        "7676c94b6fa0c504b526daf13472de486308c274"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 23 14:08:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 14:08:17 2018 -0700"
      },
      "message": "Merge \"aaudio: fix FIFO wrapround frame counts\" into pi-dev\nam: 7676c94b6f\n\nChange-Id: I462441fe6665791fb2d30899bd52c6762e4c860c\n"
    },
    {
      "commit": "7676c94b6fa0c504b526daf13472de486308c274",
      "tree": "929c8018855cd230a15c4c6c68792171bd3e8510",
      "parents": [
        "13c2b9b5b69fc045525193b441b6901d73a4b252",
        "f7da0b9c64194650d0876eff26e853a3c01cce6f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 23 21:00:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 21:00:03 2018 +0000"
      },
      "message": "Merge \"aaudio: fix FIFO wrapround frame counts\" into pi-dev"
    },
    {
      "commit": "69f360e8f1517abfc298a3d6c7252c72269dc6c6",
      "tree": "256b49917b166b5ab82452ec277a54fc247cb48e",
      "parents": [
        "13c2b9b5b69fc045525193b441b6901d73a4b252"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Apr 23 13:50:17 2018 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Apr 23 13:52:28 2018 -0700"
      },
      "message": "stagefright: null-terminate vendor OMX string extensions\n\nBug: 78233809\nChange-Id: I3a14d96a1b4582da162fc37be4bf5dd6f5fe30bd\n"
    },
    {
      "commit": "6ce9608907bdefa6471b09a59984727d2a89f3a1",
      "tree": "275102e6acd691d1c21ed02cea76883b7b9e0dd1",
      "parents": [
        "14034530fe3c2824ff0db7cbc49cc31efd841780",
        "13c2b9b5b69fc045525193b441b6901d73a4b252"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 23 13:06:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 13:06:37 2018 -0700"
      },
      "message": "Merge \"Guard against crash due to null surface\" into pi-dev\nam: 13c2b9b5b6\n\nChange-Id: I368bf057381d8bbcc6e8491dc158aff25401a4df\n"
    },
    {
      "commit": "14034530fe3c2824ff0db7cbc49cc31efd841780",
      "tree": "af688ff48a81b53a582fd9a660b5a99d59b72c19",
      "parents": [
        "7cb401a37c14336ef2c6a3c2dcfed2b81bd15a1d",
        "691358ac9cd6859382807dfd44e820fe5cc97c51"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 23 13:05:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 13:05:26 2018 -0700"
      },
      "message": "Merge \"Don\u0027t CHECK for unknown fourcc\" into pi-dev\nam: 691358ac9c\n\nChange-Id: Ia2376a29138ba31a0787dcbb855b975be60e626f\n"
    },
    {
      "commit": "13c2b9b5b69fc045525193b441b6901d73a4b252",
      "tree": "0841fd67abf6c94023aec0e212d1780d016bea40",
      "parents": [
        "691358ac9cd6859382807dfd44e820fe5cc97c51",
        "c1cddb57983c7b97284c61cf340c6b9a45d9a5fd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 23 19:58:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 19:58:47 2018 +0000"
      },
      "message": "Merge \"Guard against crash due to null surface\" into pi-dev"
    },
    {
      "commit": "691358ac9cd6859382807dfd44e820fe5cc97c51",
      "tree": "61c1d71d8ef7a6313f1b86e90917e97c322f22d8",
      "parents": [
        "7b56f7cc71f957f52f79df63f1cf234905d36f65",
        "6225516c8512741fe659ede6eeae37806c35314c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 23 19:57:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 19:57:56 2018 +0000"
      },
      "message": "Merge \"Don\u0027t CHECK for unknown fourcc\" into pi-dev"
    },
    {
      "commit": "f7da0b9c64194650d0876eff26e853a3c01cce6f",
      "tree": "c8fc1d3f3da69f169165e9a4ffdd665b7c63e90a",
      "parents": [
        "7b56f7cc71f957f52f79df63f1cf234905d36f65"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 20 17:24:38 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 23 19:42:36 2018 +0000"
      },
      "message": "aaudio: fix FIFO wrapround frame counts\n\nThe number of frames in the second part was incorrect\nwhen it wrapped past the end of the FIFO.\n\nBug: 78139448\nTest: adb shell aaudio_loopback -c2 -C2 -tm -m2 -Pl -pn\nChange-Id: Ib6a22f30f0ee5321444c6d6137d9488943c34f3d\n"
    },
    {
      "commit": "7cb401a37c14336ef2c6a3c2dcfed2b81bd15a1d",
      "tree": "9fd38b64e26429a41362cf239e3da7b6cf720782",
      "parents": [
        "d57b580b869a2e85bb36098af5626c24c7888c45",
        "7b56f7cc71f957f52f79df63f1cf234905d36f65"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 23 12:19:11 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 12:19:11 2018 -0700"
      },
      "message": "Merge \"AudioTrackShared: Fix wrap condition for stop limit\" into pi-dev\nam: 7b56f7cc71\n\nChange-Id: I572e044a6be584c48a1e5cc7734f5db1595f42b5\n"
    },
    {
      "commit": "7b56f7cc71f957f52f79df63f1cf234905d36f65",
      "tree": "6791ac6db463e2e299d71439dcc94a63f2de7a45",
      "parents": [
        "bad588e975b093823fd79d657e9e1a90a187fbcf",
        "54274035905ef52c7eb88309aec5e5b8f25be471"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 23 18:34:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 18:34:43 2018 +0000"
      },
      "message": "Merge \"AudioTrackShared: Fix wrap condition for stop limit\" into pi-dev"
    },
    {
      "commit": "b3358a7f9b36f15314d8ffcfcb5107598c8b8cc6",
      "tree": "8830c2f4cc67193df67ed5ace215189b89812d20",
      "parents": [
        "f4f01aafa5d45d2c5b1acb80bba9fcaa64e70e61",
        "1ec43c9c3e6a486cd2d1438f158eea1a27bb6007"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Apr 21 11:40:21 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Apr 21 11:40:21 2018 +0900"
      },
      "message": "resolve merge conflicts of 1ec43c9c3e6a486cd2d1438f158eea1a27bb6007 to pi-dev-plus-aosp\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ia022f34c839539aab4a18ca331f22165d1abfaff\n"
    },
    {
      "commit": "c1cddb57983c7b97284c61cf340c6b9a45d9a5fd",
      "tree": "7368be41ef46f2f35ac0e39edf910d0cdabba485",
      "parents": [
        "85d2e91d3cb2faaf42338df28d34c1cc1bc968bd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 19 11:03:01 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 20 14:53:05 2018 -0700"
      },
      "message": "Guard against crash due to null surface\n\nBug: 77874529\nTest: record video, mini CTS\nChange-Id: I57c7eabb807196a55bd44948853edc9083529e18\n"
    },
    {
      "commit": "a2c4181b9cc30703b0471831e2e5fa03253b5690",
      "tree": "a832dde0a0a9e629037673f626c180fc4922b394",
      "parents": [
        "150b9846f846165344910b9211739cdb3054ccf4"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Apr 19 15:32:55 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Apr 20 14:21:44 2018 -0700"
      },
      "message": "MatroskaExtractor: support Subsample Encryption\n\nDetails described in following link:\nhttps://www.webmproject.org/docs/webm-encryption/#46-subsample-encrypted-block-format\n\nBug: 72661378\nTest: yt_playback_diagnostics\nChange-Id: I95507eea7d35c1338d9256701e40b5272df80990\n"
    },
    {
      "commit": "dab03e4f5ea2985c8fa82f893eef765647384fdf",
      "tree": "9759aa7bed5b3012781129a99cbff86d430fe458",
      "parents": [
        "5a17cf8d6cf2bff974965d87e3ac5f6a05b3c666",
        "b26ad05fb72a37048fcb88bbdf011044d34755fa"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Fri Apr 20 17:20:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 17:20:15 2018 +0000"
      },
      "message": "Merge \"media: Add taklee to owners group\" into pi-dev-plus-aosp"
    },
    {
      "commit": "54274035905ef52c7eb88309aec5e5b8f25be471",
      "tree": "d2b51edba9e46feebaf6cb145c5a3f112b79afb5",
      "parents": [
        "6b6f4313aae039f2d73664816e45834e65f79bf5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 19 18:16:44 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 20 09:53:33 2018 -0700"
      },
      "message": "AudioTrackShared: Fix wrap condition for stop limit\n\nTest: Photos video playback and repeat accessing info\nBug: 68747620\nChange-Id: I8c4afa44c0a0a7f689fbc8797ee815e8ae960979\n"
    },
    {
      "commit": "b7d75dd1106af8d0b1c1d82826b317d88598a963",
      "tree": "30a37b9766eb885601960cf24a44e726c74b0577",
      "parents": [
        "c3273952dd7d89b92eec72e04e688df7bbc192a8",
        "56aad0ab6a23bfa750a3542f6bdcd21b70f082ac"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 19 11:18:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 19 11:18:12 2018 -0700"
      },
      "message": "Merge \"Request cpuset change for 1080p HDR using soft decoder\" into pi-dev\nam: 56aad0ab6a\n\nChange-Id: I032c163bbbbcb7b304d7a840b194a86f3b757fad\n"
    },
    {
      "commit": "56aad0ab6a23bfa750a3542f6bdcd21b70f082ac",
      "tree": "850a1497330c4aca17eb69ac6d4c751e00d156ba",
      "parents": [
        "975ac84ea80330f83cd79189a31f6f8eb6fa6593",
        "79d2b28f3a04d7914bb932a65d87117c0c7c11cf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 17:40:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 17:40:39 2018 +0000"
      },
      "message": "Merge \"Request cpuset change for 1080p HDR using soft decoder\" into pi-dev"
    },
    {
      "commit": "c3273952dd7d89b92eec72e04e688df7bbc192a8",
      "tree": "8b14c58a5aa9d8ab44d655f9287091cc520bfb0e",
      "parents": [
        "9321acfedc2fa6a298b6bd01d8a5a2f3a7c02373",
        "975ac84ea80330f83cd79189a31f6f8eb6fa6593"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 18 17:56:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 18 17:56:35 2018 -0700"
      },
      "message": "Merge \"aaudio: teardown stream based on a port handle\" into pi-dev\nam: 975ac84ea8\n\nChange-Id: I00672eba58fdf27b43fc7b658031859898a9cadd\n"
    },
    {
      "commit": "975ac84ea80330f83cd79189a31f6f8eb6fa6593",
      "tree": "afbc1fae335460110b78c7b1e1b04e05921682d5",
      "parents": [
        "6b6f4313aae039f2d73664816e45834e65f79bf5",
        "bbd5286e99bbacf9907e2ecf1f7181db17ee6e46"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 00:25:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 00:25:48 2018 +0000"
      },
      "message": "Merge \"aaudio: teardown stream based on a port handle\" into pi-dev"
    },
    {
      "commit": "79d2b28f3a04d7914bb932a65d87117c0c7c11cf",
      "tree": "386c0e23123c52191f3c098351898cd6a0bdb4bf",
      "parents": [
        "1cdd674121096020f7f17c216940a14aa58ff31e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 17 14:14:31 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 18 13:46:03 2018 -0700"
      },
      "message": "Request cpuset change for 1080p HDR using soft decoder\n\nKeep track of cpuset change requests in ResourceManagerService,\nand request changing of cpuset via SchedulingPolicyService.\n\nBug: 72841545\n\nTest:\n\n1)Using modified Youtube/Exoplayer (that uses softMediaCodec\nto decode VP9 profile2), manually verify the following:\n\n- media.codec is put into top-app cpuset playing VP9 1080p HDR\n- media.codec is put back into foreground after done\n- media.codec stays in foreground cpuset playing other content\n- kill the app process, verify media.codec is put back to\n  foreground until new instances request top-app\n- kill mediaserver process, verify media.codec is put back to\n  foreground until new instances request top-app\n- kill media.codec process, starting playback again, verify new\n  media.codec\u0027s cpuset can be changed correctly\n- kill system_server process (using \u0027adb shell stop \u0026\u0026\n  adb shell start\u0027), verify media.codec is put back to\n  foreground. Restart playback and verify the cpuset can be\n  changed correctly.\n\n2) CTS post submit tests\n\nChange-Id: Iba50ede1c08b695821fe4f56dbfc5694eab54e7b\n"
    },
    {
      "commit": "bbd5286e99bbacf9907e2ecf1f7181db17ee6e46",
      "tree": "b523037660dffe33c9aa1d8cb65938b934f16000",
      "parents": [
        "f255369091d48ba7475ee4aae840a8a9c7a15f07"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 13 11:37:42 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 18 10:18:49 2018 -0700"
      },
      "message": "aaudio: teardown stream based on a port handle\n\nNeeded for silencing specific input streams.\nPass AAudioService reference into AAudioServiceEndpointMMAP.\nUse it to find a specific stream by PortHandle then\nstop it and disconnect it.\n\nBug: 72134552\nTest: b/72134552#comment10\nChange-Id: Ibdf242f834c83b47c967c3cc634ed1083b019d4a\n"
    },
    {
      "commit": "0478ef866b9afa136c3dc91e913dae13c609eb76",
      "tree": "55d7186d1177fafdee5f5a7de3ffbee69db77b67",
      "parents": [
        "91a45a421b3598e3519a3d459957959e94b4d3c1"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 09 12:13:06 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 18 11:46:51 2018 +0900"
      },
      "message": "Mark libmedia_omx and libstagefright_foundation as double_loadable\n\nThese two are explicitly marked as double_loadable since they are one of the\ndependencies of the LLNDK library libnativewindow (libmediandk)\nand at the same time the lib themselves are marked as VNDK. Such libs can be\ndouble loaded inside a vendor process.\n\nNote: even without this change, the library is already capable of being\ndouble loaded due to the dependency graph around it. This change is to\nmake it explicit so that double loading of a library is carefully\ntracked and signed-off by the owner of the lib.\n\nBug: 77155589\nTest: m -j\nMerged-In: I38e3ff4a76930a99a04f3dbc53a2dcfea18de8f3\nChange-Id: I38e3ff4a76930a99a04f3dbc53a2dcfea18de8f3\n(cherry picked from commit fcd1537dcd1e974ec9b204cc4ce3ab4a8aec09b1)\n"
    },
    {
      "commit": "6225516c8512741fe659ede6eeae37806c35314c",
      "tree": "3a7d303a647c71314410122c0c2e80a3975fc3a3",
      "parents": [
        "85d2e91d3cb2faaf42338df28d34c1cc1bc968bd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 17 14:03:59 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 17 14:03:59 2018 -0700"
      },
      "message": "Don\u0027t CHECK for unknown fourcc\n\nBug: 69924180\nTest: manual\nChange-Id: I47c8e16dbe3ba5ec9ee44de6901c4916d9e79773\n"
    },
    {
      "commit": "d46187d29a7d3f8d78425f8623bca87482edabab",
      "tree": "11b1c1523fbebf05b15bbc91aa465d81b3ce29ef",
      "parents": [
        "bc9c56ab7b2834154f03063dc2301e4875b83606",
        "9d7ffe4f7e3ac10f7b1e19c453d91b4735808e05"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Tue Apr 17 13:50:33 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 17 13:50:33 2018 -0700"
      },
      "message": "Merge \"Add retry mechanism to AudioRecord::restoreRecord_l().\" into pi-dev\nam: 9d7ffe4f7e\n\nChange-Id: I3129a836a9dd74b29e42d62e8f6afc921334ba43\n"
    },
    {
      "commit": "bc9c56ab7b2834154f03063dc2301e4875b83606",
      "tree": "88f789b05a9d6c64da2bab183e345c99cf619f77",
      "parents": [
        "34e456842d7445feeb12f609c96c1c88223d2103",
        "7579f05ef402defbc3f311d4cebde70e9af10b59"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 17 13:25:03 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 17 13:25:03 2018 -0700"
      },
      "message": "Merge \"Link statically with libutils and libstagefright_foundation\" into pi-dev\nam: 7579f05ef4\n\nChange-Id: I85816e69479b1abb9325ae81a7af445a1cc6a86d\n"
    }
  ],
  "next": "34e456842d7445feeb12f609c96c1c88223d2103"
}
