)]}'
{
  "log": [
    {
      "commit": "27b3ce4922f55fcc79a56f8f9890a67957aafc12",
      "tree": "ff6606fbf8e2b608ded244a8cacb96386491ebb8",
      "parents": [
        "10d8d07820da98660012e45ceeab308e3b6f03b5",
        "96fa7ff5c44bc2abbc824c3b300dd53f7189f60c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 07 22:44:59 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 22:44:59 2018 +0000"
      },
      "message": "heif: use width and height for decoder -- DO NOT MERGE am: 49d4aa0a74  -s ours\nam: 96fa7ff5c4\n\nChange-Id: I4cb96709a4c25e12881a9341aa60e66ccadef9ee\n"
    },
    {
      "commit": "96fa7ff5c44bc2abbc824c3b300dd53f7189f60c",
      "tree": "2f5f2c13eac4655152265a5bdcff6fc92f6d91ab",
      "parents": [
        "cda259fbfd8e64cde11251d6a8dea89c907789db",
        "49d4aa0a7407ea6632c4a3441c7a4d922d003ea5"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 07 22:24:11 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 22:24:11 2018 +0000"
      },
      "message": "heif: use width and height for decoder -- DO NOT MERGE\nam: 49d4aa0a74  -s ours\n\nChange-Id: I2355b6c68f04912fcbc39a15ceeb68ce8a7c8550\n"
    },
    {
      "commit": "10d8d07820da98660012e45ceeab308e3b6f03b5",
      "tree": "ff6606fbf8e2b608ded244a8cacb96386491ebb8",
      "parents": [
        "d632dcd969777b1c816e53f630c14a25829b4a9a",
        "cda259fbfd8e64cde11251d6a8dea89c907789db"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Mar 07 13:10:27 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 13:10:27 2018 +0000"
      },
      "message": "Merge \"Camera: Don\u0027t hold locks during shared output dequeue\" into pi-dev\nam: cda259fbfd\n\nChange-Id: I346fbd3af08613dccdebc18899d3b505461695b3\n"
    },
    {
      "commit": "cda259fbfd8e64cde11251d6a8dea89c907789db",
      "tree": "2f5f2c13eac4655152265a5bdcff6fc92f6d91ab",
      "parents": [
        "c83a248be36a565aa9a8d65cf27a464428bb6851",
        "703e4995c6c034626b9262fd16a82ae58f686b90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 13:03:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 13:03:37 2018 +0000"
      },
      "message": "Merge \"Camera: Don\u0027t hold locks during shared output dequeue\" into pi-dev"
    },
    {
      "commit": "d632dcd969777b1c816e53f630c14a25829b4a9a",
      "tree": "d6388508e154f3c0ed08985f08cd838abad1c451",
      "parents": [
        "200aad99e859d156bc510b5900040813408f232c",
        "c83a248be36a565aa9a8d65cf27a464428bb6851"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Mar 07 12:52:36 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 12:52:36 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Implement setAllowedCommands()\" into pi-dev\nam: c83a248be3\n\nChange-Id: Icd827b0089472f6cc9519603f4c8b46839f4700d\n"
    },
    {
      "commit": "c83a248be36a565aa9a8d65cf27a464428bb6851",
      "tree": "7dc572a1daf33b310d8d56d148635aa5da319f2d",
      "parents": [
        "44da223a0d322b58e53ae65d58c4b7151879cb70",
        "e0e207174080d93a97b5c0ab84dcf84dd47c730c"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Mar 07 12:42:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 12:42:27 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Implement setAllowedCommands()\" into pi-dev"
    },
    {
      "commit": "200aad99e859d156bc510b5900040813408f232c",
      "tree": "8e7dfe3b0fd5e9d24aebdd0dab9378b62ff06c48",
      "parents": [
        "8ee260d7a311c5f28b4eb915354cb7e78454f48d",
        "44da223a0d322b58e53ae65d58c4b7151879cb70"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 11:40:10 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 11:40:10 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Fix random NPE in MediaBrowser2Test\" into pi-dev\nam: 44da223a0d\n\nChange-Id: Ia1293025663ffa2a5fc70a51a5ee214461364a1a\n"
    },
    {
      "commit": "44da223a0d322b58e53ae65d58c4b7151879cb70",
      "tree": "bbdf6d8d6aab1e7da6324d839025b2813e2ac702",
      "parents": [
        "873deb0c896a42ba2e82844b611c85eeebc852b8",
        "0e9c2d441fb790e580c3885205778f01f4fccf4f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 11:23:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 11:23:29 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Fix random NPE in MediaBrowser2Test\" into pi-dev"
    },
    {
      "commit": "e0e207174080d93a97b5c0ab84dcf84dd47c730c",
      "tree": "8879a2d343636aaa8a31f54af87ffb942bc1ec91",
      "parents": [
        "873deb0c896a42ba2e82844b611c85eeebc852b8"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Mar 06 13:57:07 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Mar 07 19:29:01 2018 +0900"
      },
      "message": "MediaSession2: Implement setAllowedCommands()\n\nBug: 73148658\nTest: Passed MediaSession2Test and PermissionTest\nChange-Id: Id151dd5de601186e2ab51ff0a9e6ce67a95921c1\n"
    },
    {
      "commit": "8ee260d7a311c5f28b4eb915354cb7e78454f48d",
      "tree": "e531973b644703486a48babe067763bab4999e5a",
      "parents": [
        "ef201fb504f89b11ebb14ac0b651231a0d635ce7",
        "873deb0c896a42ba2e82844b611c85eeebc852b8"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 08:06:54 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 08:06:54 2018 +0000"
      },
      "message": "Remove MediaPlaylistController, add MediaPlaylistAgent\nam: 873deb0c89\n\nChange-Id: Ic0da90c5018b71cb832ae483b5a3ba372ff8f91e\n"
    },
    {
      "commit": "ef201fb504f89b11ebb14ac0b651231a0d635ce7",
      "tree": "c8ae29d043d04f51b999bad5576d4b3a016b659a",
      "parents": [
        "5e6a4c2380fd0ea15383fd0c3d19da7bb6e18804",
        "ee19f10ecc303d6c02edbbb5b0632f7b92f3d22d"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 08:06:40 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 08:06:40 2018 +0000"
      },
      "message": "MediaSession2: Add onDataSourceMissingHelper\nam: ee19f10ecc\n\nChange-Id: Ifc99d3d38aef8c923f170be8fbc487c12cb22338\n"
    },
    {
      "commit": "873deb0c896a42ba2e82844b611c85eeebc852b8",
      "tree": "e8a26f1b7de30ff934bbdde658217851e2763a86",
      "parents": [
        "ee19f10ecc303d6c02edbbb5b0632f7b92f3d22d"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 14:58:54 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 16:54:49 2018 +0900"
      },
      "message": "Remove MediaPlaylistController, add MediaPlaylistAgent\n\nBug: 64098437\nTest: build\nChange-Id: I6382634e5d3e02e1bae36d9eb02dd1a859ffc072\n"
    },
    {
      "commit": "ee19f10ecc303d6c02edbbb5b0632f7b92f3d22d",
      "tree": "64680beb1ee4308fa818cec1d89a4f59e14f9c02",
      "parents": [
        "20e21fd7110d016ef1a8bd01e0c9e092bf9ef193"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 15:43:25 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 16:40:21 2018 +0900"
      },
      "message": "MediaSession2: Add onDataSourceMissingHelper\n\nThis allows a developer to create DataSourceDesc when the item is about\nto be played. Typical example of the usages are,\n\n    1. For a playlist consists of FileDescriptors, its developer may not\n        want to open all files when MediaSession2.setPlaylist() is\n        called.\n    2. A controller has called setPlaylist(), addPlaylistItem(), or\n        replacePlaylistItem(). Controller cannot know the\n        DataSourceDesc, and only the session developer can know about\n        it.\n\nBug: 64098437\nTest: Run MediaComponents test\nChange-Id: Ic109408f838405f5aec94dfba94c47ca97bc65c5\n"
    },
    {
      "commit": "5e6a4c2380fd0ea15383fd0c3d19da7bb6e18804",
      "tree": "ec93ead4b9d0d28f185c5184fa2989d6b0c23b02",
      "parents": [
        "2d3a1514d92f6e605a66b252e7426eeef1fedd8a",
        "20e21fd7110d016ef1a8bd01e0c9e092bf9ef193"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Mar 07 03:47:50 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 03:47:50 2018 +0000"
      },
      "message": "Merge changes from topic \"audio-hal-v4-pi-dev\" into pi-dev\nam: 20e21fd711\n\nChange-Id: I4634d7daf302479f4701ca90a23fdf3656bff506\n"
    },
    {
      "commit": "2d3a1514d92f6e605a66b252e7426eeef1fedd8a",
      "tree": "15ae956f8b5562a999b593da465efb407fb13c08",
      "parents": [
        "6e41f65717afe350fc9863df84d4af0bb160f4fb",
        "51e076a8fc69d4275cabc3e6d54eab44d590280d"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Mar 07 03:47:12 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 03:47:12 2018 +0000"
      },
      "message": "Audio V4: Update namespace and version of 4.0 shim\nam: 51e076a8fc\n\nChange-Id: I0d151244b3ee4499d8374b0c7e9bf0c59b759ac7\n"
    },
    {
      "commit": "6e41f65717afe350fc9863df84d4af0bb160f4fb",
      "tree": "e54d24c7aa4173493eef464d52a1f7596f9f45e1",
      "parents": [
        "dbbb235b1d7836a3b0a8671558a0aa69b8476367",
        "4bcd67fbb4eca3654ea929742bdf6ccc7c70daec"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Mar 07 03:45:23 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 03:45:23 2018 +0000"
      },
      "message": "Audio V4: Copy 2.0 audiohal to 4.0\nam: 4bcd67fbb4\n\nChange-Id: Ie57fffefacf64ffd4f331a9572b2dd678baa88a9\n"
    },
    {
      "commit": "dbbb235b1d7836a3b0a8671558a0aa69b8476367",
      "tree": "930c271227524645212a3483a2ec24f1d8f01c10",
      "parents": [
        "60ae24907d0d5f4a06e9a457f44dac3ec7e28d2c",
        "174e1094a41828111c86793232d9492ab8e29395"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Mar 07 03:44:40 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 03:44:40 2018 +0000"
      },
      "message": "Audio V4: *CNT and *MAX are no longer part of the enum\nam: 174e1094a4\n\nChange-Id: I05084a10c5ab3f96c05d79b7d5078143bb67a830\n"
    },
    {
      "commit": "20e21fd7110d016ef1a8bd01e0c9e092bf9ef193",
      "tree": "eda489f5b74933e9b174bf200c3d8f966805823b",
      "parents": [
        "23c7448e0da051a8edcbcd8ccda90cabd4dae20b",
        "b9cfbf1fdcfcf3e09f894c8dbf32ce915489a3e2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 03:23:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 03:23:51 2018 +0000"
      },
      "message": "Merge changes from topic \"audio-hal-v4-pi-dev\" into pi-dev\n\n* changes:\n  Audio V4: Introduce 4.0 shim to HIDL\n  Audio V4: Update namespace and version of 4.0 shim\n  Audio V4: Copy 2.0 audiohal to 4.0\n  Audio V4: *CNT and *MAX are no longer part of the enum\n"
    },
    {
      "commit": "60ae24907d0d5f4a06e9a457f44dac3ec7e28d2c",
      "tree": "73139abd290d9627f459acb41a0beeaae3eba662",
      "parents": [
        "2c993777a9fcb59d2c92b1fc46e3cc76ca2cfeeb",
        "23c7448e0da051a8edcbcd8ccda90cabd4dae20b"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Mar 07 02:48:45 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 02:48:45 2018 +0000"
      },
      "message": "Merge \"Remove duplicated libdl from shared_libs\" into pi-dev\nam: 23c7448e0d\n\nChange-Id: I7cef29267afe76c178b6e1f5c5fd8803d5e31f10\n"
    },
    {
      "commit": "23c7448e0da051a8edcbcd8ccda90cabd4dae20b",
      "tree": "08f06834b0edabfb09b292563c9cc43bdb15b11b",
      "parents": [
        "18b0f4bfc652f02815fd390919bb4a2ae59f508b",
        "ac17bd8b2a2fcbc413ba8244f43a06893cac6692"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Mar 07 02:24:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 02:24:35 2018 +0000"
      },
      "message": "Merge \"Remove duplicated libdl from shared_libs\" into pi-dev"
    },
    {
      "commit": "2c993777a9fcb59d2c92b1fc46e3cc76ca2cfeeb",
      "tree": "73139abd290d9627f459acb41a0beeaae3eba662",
      "parents": [
        "ac75b045ada6812cbf9c2452c4011760e2649daf",
        "7c5acee387e114f12fc103214f8911ec7e9e3e39"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Mar 07 01:24:30 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 01:24:30 2018 +0000"
      },
      "message": "Merge \"Remove duplicated libdl from shared_libs\" am: 05fa245462\nam: 7c5acee387\n\nChange-Id: Id17ae1d19e22f9baf070a4919fabcaf4b28afc83\n"
    },
    {
      "commit": "ac75b045ada6812cbf9c2452c4011760e2649daf",
      "tree": "e328cd315c867e65e8b64a63ca95fc71b40c8fe7",
      "parents": [
        "04c8cb77ae0402450fabcca2c144469ccf37c382",
        "f52dc31562bf59e107edaf9b18d49c4d22abef85"
      ],
      "author": {
        "name": "Ryszard Grzesica",
        "email": "ryszard.grzesica@sonymobile.com",
        "time": "Wed Mar 07 01:23:51 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 01:23:51 2018 +0000"
      },
      "message": "Merge \"Add check preventing div0 issue\" am: 1777155106\nam: f52dc31562\n\nChange-Id: I2680737acc0f3166f90a1f5d1f190d9f726b3d29\n"
    },
    {
      "commit": "04c8cb77ae0402450fabcca2c144469ccf37c382",
      "tree": "ccc04cf7fc2a6729bf3e5fa3361b45c2d4d0eafc",
      "parents": [
        "7ef7f2fb7c3cd9893593288642e369d0892bd5d5",
        "18b0f4bfc652f02815fd390919bb4a2ae59f508b"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 01:22:05 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 01:22:05 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Add MediaPlaylistController.PlaylistEventCallback\" into pi-dev\nam: 18b0f4bfc6\n\nChange-Id: I2cd6bdff5765e26dacd37476a644398a9643375e\n"
    },
    {
      "commit": "7c5acee387e114f12fc103214f8911ec7e9e3e39",
      "tree": "e481968961ee8d8c22c7acb53d0d217e865bf4e4",
      "parents": [
        "f52dc31562bf59e107edaf9b18d49c4d22abef85",
        "05fa245462238847528cd18e04aa77f85b0491a4"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Mar 07 01:19:48 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 01:19:48 2018 +0000"
      },
      "message": "Merge \"Remove duplicated libdl from shared_libs\"\nam: 05fa245462\n\nChange-Id: I7412c3038c0837bcb662fff31672c8b1b0d90e52\n"
    },
    {
      "commit": "f52dc31562bf59e107edaf9b18d49c4d22abef85",
      "tree": "25d005f6a8808ef812864089ac386f7e7e702da0",
      "parents": [
        "af64986cb7545dfdaba71bc651e02577a7341080",
        "17771551063fccded1ce2dfa402e9e884d50a788"
      ],
      "author": {
        "name": "Ryszard Grzesica",
        "email": "ryszard.grzesica@sonymobile.com",
        "time": "Wed Mar 07 01:19:11 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 01:19:11 2018 +0000"
      },
      "message": "Merge \"Add check preventing div0 issue\"\nam: 1777155106\n\nChange-Id: I43ae194696efe663530e32f41233d9843ca04ff1\n"
    },
    {
      "commit": "05fa245462238847528cd18e04aa77f85b0491a4",
      "tree": "e481968961ee8d8c22c7acb53d0d217e865bf4e4",
      "parents": [
        "17771551063fccded1ce2dfa402e9e884d50a788",
        "ff690f6cfa3717cf21e2394ed995e4ea911fafdf"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Mar 07 01:14:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 07 01:14:24 2018 +0000"
      },
      "message": "Merge \"Remove duplicated libdl from shared_libs\""
    },
    {
      "commit": "17771551063fccded1ce2dfa402e9e884d50a788",
      "tree": "25d005f6a8808ef812864089ac386f7e7e702da0",
      "parents": [
        "402bedf4033ef2c9d00a01a7792f4b0b10c263c5",
        "c8d18263d4d9a8e1648fc472093ce0cc50a651b7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 00:58:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 07 00:58:40 2018 +0000"
      },
      "message": "Merge \"Add check preventing div0 issue\""
    },
    {
      "commit": "7ef7f2fb7c3cd9893593288642e369d0892bd5d5",
      "tree": "55528c2d23c1b2fbbc82506abd51355498e95246",
      "parents": [
        "d27836d324f2703a149dc42b59ab6d0d51d7ba1e",
        "b9332a43b873c95958a390a5ce5a3e65b831a5bf"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 00:17:17 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 00:17:17 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Ask server whether a controller is trusted\" into pi-dev\nam: b9332a43b8\n\nChange-Id: I2933c572f9960dc1d39c7608c99914d79a06acff\n"
    },
    {
      "commit": "18b0f4bfc652f02815fd390919bb4a2ae59f508b",
      "tree": "f62e3bdad2d0a506bc8dffcb5137b3f2428108c6",
      "parents": [
        "b9332a43b873c95958a390a5ce5a3e65b831a5bf",
        "1d753af5c56bd8ba413a77ea1f80d33fe5f92407"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 00:02:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 00:02:09 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Add MediaPlaylistController.PlaylistEventCallback\" into pi-dev"
    },
    {
      "commit": "b9332a43b873c95958a390a5ce5a3e65b831a5bf",
      "tree": "f0e72bb1deffaad656c2a779a2be6ed3d3a296df",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d",
        "2476e0419c86bb08850e0525a79204fc6d22ce1e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 23:06:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 23:06:18 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Ask server whether a controller is trusted\" into pi-dev"
    },
    {
      "commit": "d27836d324f2703a149dc42b59ab6d0d51d7ba1e",
      "tree": "4c1f37a1c7f8379b123be0c30383f7207adb33a7",
      "parents": [
        "dcaeb27238f0c5818eefa576ccad6d638ebc5f1d",
        "af64986cb7545dfdaba71bc651e02577a7341080"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 06 21:50:31 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 21:50:31 2018 +0000"
      },
      "message": "Merge \"Camera: add missing stdint header\" am: 402bedf403\nam: af64986cb7\n\nChange-Id: I8e71e977fda657bb4600db305ba938cfc3d10de3\n"
    },
    {
      "commit": "af64986cb7545dfdaba71bc651e02577a7341080",
      "tree": "c00ba501bf8bcd4ac6423968a01862b07c06ee22",
      "parents": [
        "a49a1bf9bdeada97fb3c41f54e735b0f6c46f620",
        "402bedf4033ef2c9d00a01a7792f4b0b10c263c5"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 06 21:45:55 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 21:45:55 2018 +0000"
      },
      "message": "Merge \"Camera: add missing stdint header\"\nam: 402bedf403\n\nChange-Id: Iad363ffc224e00d5c8bb69025db93968c815aa38\n"
    },
    {
      "commit": "402bedf4033ef2c9d00a01a7792f4b0b10c263c5",
      "tree": "c00ba501bf8bcd4ac6423968a01862b07c06ee22",
      "parents": [
        "f140201ff115c4bb0ca3c64a0e33874681d2c434",
        "7842b647ec6fc8f0df88cff7f5e7e51d8110d3eb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 21:30:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 06 21:30:51 2018 +0000"
      },
      "message": "Merge \"Camera: add missing stdint header\""
    },
    {
      "commit": "51e076a8fc69d4275cabc3e6d54eab44d590280d",
      "tree": "14552fd00b86764988015f3208a517d7ab60dc52",
      "parents": [
        "4bcd67fbb4eca3654ea929742bdf6ccc7c70daec"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Feb 28 14:36:53 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: Update namespace and version of 4.0 shim\n\nPut the shim in a V4_0 namespace to comply with the ODR.\nMake the include guard unique.\nSplit from the error prone interface adaptation change for safer review.\n\nPatch generated with:\nsed -i \u0027s/V2_0/V4_0/g\u0027 *\nsed -i \"/include.*2.0/s/2\\.0/4.0/\" *\nsed -i \u0027/namespace android *{/anamespace V4_0 {\u0027 *\nsed -Ei \u0027s/(ifndef|define|endif)(.*)_H/\\1\\2_4_0_H/\u0027 *\nsed -Ei \u0027s#}(.*)namespace android$#}\\1namespace V4_0\\n\\0#\u0027 *\n\nBug: 38184704\nTest: Compile\nChange-Id: I7d3aa46b3dfec664cbeea8a6b946456b8e8f06e3\nMerged-In: I7d3aa46b3dfec664cbeea8a6b946456b8e8f06e3\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "4bcd67fbb4eca3654ea929742bdf6ccc7c70daec",
      "tree": "0f75367d70828f4caca61ad0404300631e891f91",
      "parents": [
        "174e1094a41828111c86793232d9492ab8e29395"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Feb 28 14:33:38 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: Copy 2.0 audiohal to 4.0\n\nFor easier review of the changes, first copy 2.0 to 4.0, the changes\nare made in the following patch.\n\nBug: 38184704\nTest: compile\nChange-Id: I5bf16e5f8e7b61cc13e86c06b899ec4e6624a961\nMerged-In: I5bf16e5f8e7b61cc13e86c06b899ec4e6624a961\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "174e1094a41828111c86793232d9492ab8e29395",
      "tree": "5953220a17f0194dc236c61a720a155db6401bb4",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 23 15:14:50 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: *CNT and *MAX are no longer part of the enum\n\naudio.h used to have *_CNT and *_MAX values in its enum\nmostly for enum iteration.\n\nThis was not compatible with Treble as it denied any enum\ninheritance.\n\n*_CNT and *_MAX are now implemented with macro that can\nbe updated and are not part of the API.\n\nBug: 38184704\nTest: Compile\nChange-Id: I3921fdf3435ba114ca77a4595ba8fc97a5e0438d\nMerged-In: I3921fdf3435ba114ca77a4595ba8fc97a5e0438d\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "b9cfbf1fdcfcf3e09f894c8dbf32ce915489a3e2",
      "tree": "3ee86d4f8aebd548528dc07cab6a59c828833a6b",
      "parents": [
        "51e076a8fc69d4275cabc3e6d54eab44d590280d"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 23 19:11:06 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: Introduce 4.0 shim to HIDL\n\nThe difference between the 2.0 and the 4.0 is very small\nby design and most of the modification have been made in a\nretro compatible way\nThe intent is to be able to merge the two implementation\nbut it could not be done in this patch due to time constrains.\n\nBug: 38184704\nTest: compile\nChange-Id: I4738928313b7fd1f6332c0f22bb802d4fba41d82\nMerged-In: I4738928313b7fd1f6332c0f22bb802d4fba41d82\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "7842b647ec6fc8f0df88cff7f5e7e51d8110d3eb",
      "tree": "e282f2ceb61e3f89983c30f513dd1e17a85d863a",
      "parents": [
        "853996e7b28fcb8707a15f70eb9c3cadd47943f0"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 06 10:41:19 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 06 10:41:19 2018 -0800"
      },
      "message": "Camera: add missing stdint header\n\nBug: 73019835\nChange-Id: I33c23c5e2848286def3c1fdd874970bdbdb56f75\n"
    },
    {
      "commit": "703e4995c6c034626b9262fd16a82ae58f686b90",
      "tree": "9beb3497544c2a09c5a3b4d929d5ffdc7a1fbeed",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 27 11:42:09 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 06 11:21:01 2018 +0000"
      },
      "message": "Camera: Don\u0027t hold locks during shared output dequeue\n\nBlocking dequeue calls for async output surfaces seem to be\npossible. Refactor the code so that stream splitter doesn\u0027t\nhold any locks during output surface dequeue calls triggered\nby buffer released callbacks.\n\nBug: 73953239\nTest: Camera CTS\nChange-Id: Ia2166de73d2b8de7ef4157e81c87f53c8a264c0c\n"
    },
    {
      "commit": "0e9c2d441fb790e580c3885205778f01f4fccf4f",
      "tree": "b1190386b9e6693cc096a20d355649ea5f903a84",
      "parents": [
        "149eb6afa90f56697bcd1f14868191d1428a54b5"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 19:49:07 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 19:49:07 2018 +0900"
      },
      "message": "MediaSession2: Fix random NPE in MediaBrowser2Test\n\nMediaSessionService#getSession() may be null until the\nMediaSessionService#onCreate(), and its session callback can be called\nbefore that. (e.g. System service can try connecting to the session\nin another thread)\n\nDon\u0027t use MediaSessionService#getSession() when it\u0027s unclear whether\nthe MediaSessionService#onCreate() is finished.\n\nBug: 74177171\nTest: Run MediaComponents test 10 times\nChange-Id: I86ded320d4adc88a610749d23e116c833e207b17\n"
    },
    {
      "commit": "ff690f6cfa3717cf21e2394ed995e4ea911fafdf",
      "tree": "953c2a67ec750dc4b57decd0f112cdce1f1a7b54",
      "parents": [
        "f140201ff115c4bb0ca3c64a0e33874681d2c434"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 14:05:16 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 18:36:40 2018 +0800"
      },
      "message": "Remove duplicated libdl from shared_libs\n\nTest: Pixel 2017 builds and boots.  Media works.\nChange-Id: Ifb78ab4f7018db3cdb8f64b9dbe79d26150a573b\n"
    },
    {
      "commit": "dcaeb27238f0c5818eefa576ccad6d638ebc5f1d",
      "tree": "b0d44dbbcfd4459cc65c59b67b34ddda4d2d7ff4",
      "parents": [
        "a1a471b57d9aac2f22f7d9092b9b45b30454c147",
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Mar 06 09:35:02 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 09:35:02 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Update Builder\" into pi-dev\nam: 9f0cfbc8e9\n\nChange-Id: I50502ac10103abe0aa1f30f5b1d5fcf9d96a2e33\n"
    },
    {
      "commit": "a1a471b57d9aac2f22f7d9092b9b45b30454c147",
      "tree": "a28f02e958bb8fb8a9d7dd31d383fcfa548929d4",
      "parents": [
        "34f28c03620845bba51669d6340e74b36bfa9ce3",
        "7c1236a0348c5a4af53e99ad0cd78664cf0b743f"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Mar 06 09:01:05 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 09:01:05 2018 +0000"
      },
      "message": "Merge \"VideoView2: Move MediaControlView2\u0027s hidden constants\" into pi-dev\nam: 7c1236a034\n\nChange-Id: I27afc59cc2129702bb9ea6fc1c89d41897291ef0\n"
    },
    {
      "commit": "34f28c03620845bba51669d6340e74b36bfa9ce3",
      "tree": "a6f501e0ab021946977d8d395ed254e9f36e9283",
      "parents": [
        "e3b5f83ff1c6c7bffaa0b639cb0cda2d1ed96c0d",
        "0cd95065c5d293f0d6e53cd75e44d20106dd2e6e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 06 09:00:03 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 09:00:03 2018 +0000"
      },
      "message": "nuplayer2: port GenericSource2 to NDK APIs\nam: 0cd95065c5\n\nChange-Id: Iabd2ebac710c642baa4aa109de3374aa35875c01\n"
    },
    {
      "commit": "e3b5f83ff1c6c7bffaa0b639cb0cda2d1ed96c0d",
      "tree": "87139d5e94e1b83b96077e3209072ce20e94c581",
      "parents": [
        "965f551cfd1fec390fcd4ba949f2657842166122",
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Tue Mar 06 08:59:43 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 08:59:43 2018 +0000"
      },
      "message": "Merge \"Enable pooled C2BlockPool\" into pi-dev\nam: bb32f8706f\n\nChange-Id: I89828f6636470e00ac034198aee724f10b7dabe9\n"
    },
    {
      "commit": "9f0cfbc8e914c414b227fd174e4f205ecf95353d",
      "tree": "b0d44dbbcfd4459cc65c59b67b34ddda4d2d7ff4",
      "parents": [
        "7c1236a0348c5a4af53e99ad0cd78664cf0b743f",
        "e5a7b36ee3da0e49efb0216027dfe1e8049eadc1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 08:59:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 08:59:13 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Update Builder\" into pi-dev"
    },
    {
      "commit": "965f551cfd1fec390fcd4ba949f2657842166122",
      "tree": "749fbc47b0d5ea1ba5ceae4f526b710c474cd049",
      "parents": [
        "16c3d81d2bb0693a9f9ee023af5afff0a3a9d1d3",
        "23409227017bb4cfc7c84efa2d95ce1bb90b2956"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Mar 06 08:52:35 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 08:52:35 2018 +0000"
      },
      "message": "Merge \"codec2: handle multiple maps in linear block\" into pi-dev\nam: 2340922701\n\nChange-Id: I5939e279128520a159f147eebe799eb15dc53c17\n"
    },
    {
      "commit": "7c1236a0348c5a4af53e99ad0cd78664cf0b743f",
      "tree": "a28f02e958bb8fb8a9d7dd31d383fcfa548929d4",
      "parents": [
        "0cd95065c5d293f0d6e53cd75e44d20106dd2e6e",
        "e3aa65d131bbbb0ff48fd1f00a3fdd8614d24c04"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 07:55:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 07:55:14 2018 +0000"
      },
      "message": "Merge \"VideoView2: Move MediaControlView2\u0027s hidden constants\" into pi-dev"
    },
    {
      "commit": "e5a7b36ee3da0e49efb0216027dfe1e8049eadc1",
      "tree": "ec7abda8d5648cbaa356cb939938ab09fb5ae957",
      "parents": [
        "149eb6afa90f56697bcd1f14868191d1428a54b5"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Mar 06 15:37:24 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Mar 06 15:56:44 2018 +0900"
      },
      "message": "MediaSession2: Update Builder\n\nThis CL updates following APIs of session builder:\n - setPlayer\n - setPlaylistController\n - setVolumeController\n\nBug: 74093082\nTest: runtest-MediaComponents\nChange-Id: I55d76400a6e18427955d4b5f9d5451007633e40c\n"
    },
    {
      "commit": "1d753af5c56bd8ba413a77ea1f80d33fe5f92407",
      "tree": "7d4dac80997bd8dcf5b779ddfcba42bcf0712fb4",
      "parents": [
        "149eb6afa90f56697bcd1f14868191d1428a54b5"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Mar 05 16:09:27 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 15:28:46 2018 +0900"
      },
      "message": "MediaSession2: Add MediaPlaylistController.PlaylistEventCallback\n\nThis includes following changes per offline discussion\n  - Add MediaPlaylistController.PlaylistEventCallback\n  - Add following APIs to the MediaPlaylistController\n    * registerPlaylistControllerCallback() /\n      unregisterPlaylistControllerCallback()\n    * getRepeatMode() / setRepeatMode()\n    * getShuffleMode() / setShuffleMode()\n    * setPlaylist() with metadata\n    * setPlaylistMetadata() / getPlaylistMetadata()\n  - Add following APIs to the SessionCallback\n    * onMediaPrepared()\n    * onPlayerStateChanged()\n    * onBufferingStateChanged()\n  - Remove following methods from ControllerCallback\n    * onPlaylistChanged()\n\nBug: 64098437\nBug: 74157064\nTest: passed MediaComponentTest\nChange-Id: I5ad12a9a5d6a7d9e23a577dca8ea26fbacb8f259\n"
    },
    {
      "commit": "e3aa65d131bbbb0ff48fd1f00a3fdd8614d24c04",
      "tree": "4373e83e85d59d7fecf19ae4251214acbeca36d9",
      "parents": [
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Mar 05 13:40:29 2018 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Tue Mar 06 15:16:09 2018 +0900"
      },
      "message": "VideoView2: Move MediaControlView2\u0027s hidden constants\n\nBug: 74173212\nTest: VideoViewTest app\nChange-Id: I7038130e91f48b7d9b4e70d08221f6397e4e3317\n(cherry picked from commit 1afda1905dffbc9833779b80a01de0b113346ba8)\n"
    },
    {
      "commit": "ac17bd8b2a2fcbc413ba8244f43a06893cac6692",
      "tree": "3dd9d3dca951f4b2e3e89aedb906d53855907d08",
      "parents": [
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 14:05:16 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 14:05:16 2018 +0800"
      },
      "message": "Remove duplicated libdl from shared_libs\n\nTest: Pixel 2017 builds and boots.  Media works.\nChange-Id: Ifb78ab4f7018db3cdb8f64b9dbe79d26150a573b\n"
    },
    {
      "commit": "2476e0419c86bb08850e0525a79204fc6d22ce1e",
      "tree": "bc607ed786e0c80f98677c032be36fbe82d91e3c",
      "parents": [
        "149eb6afa90f56697bcd1f14868191d1428a54b5"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Mar 05 17:53:28 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 14:14:13 2018 +0900"
      },
      "message": "MediaSession2: Ask server whether a controller is trusted\n\nBug: 73150040\nTest: Run all MediaComponents tests once\nChange-Id: Ice3db9baeaf4c1cd258ae380c3f1f9e92bade291\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": "bb32f8706f7c7b15c9d1822e9514494864883bd0",
      "tree": "87139d5e94e1b83b96077e3209072ce20e94c581",
      "parents": [
        "23409227017bb4cfc7c84efa2d95ce1bb90b2956",
        "e321f352f94729a80826550b1c082ec2510dbd5c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 02:04:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 02:04:23 2018 +0000"
      },
      "message": "Merge \"Enable pooled C2BlockPool\" into pi-dev"
    },
    {
      "commit": "23409227017bb4cfc7c84efa2d95ce1bb90b2956",
      "tree": "749fbc47b0d5ea1ba5ceae4f526b710c474cd049",
      "parents": [
        "149eb6afa90f56697bcd1f14868191d1428a54b5",
        "8725795c486f4f15ea50a0331262a765b436a5e7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 01:58:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 01:58:46 2018 +0000"
      },
      "message": "Merge \"codec2: handle multiple maps in linear block\" into pi-dev"
    },
    {
      "commit": "16c3d81d2bb0693a9f9ee023af5afff0a3a9d1d3",
      "tree": "c7f958ba37a26a36ff79eabf4a3ddbc1c21e07ef",
      "parents": [
        "9312a75f2b63f6449d9960bcc0a31a7a630fbc6d",
        "149eb6afa90f56697bcd1f14868191d1428a54b5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 06 00:40:14 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 00:40:14 2018 +0000"
      },
      "message": "Merge \"NdkMediaExtractor: per-sample format metadata API\" into pi-dev\nam: 149eb6afa9\n\nChange-Id: I285b432e8d09b2fc58e1882cb49323c0c76214fa\n"
    },
    {
      "commit": "9312a75f2b63f6449d9960bcc0a31a7a630fbc6d",
      "tree": "0d7cce2a82c78d215ae7c7cd8aac1148ad8c81a2",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb",
        "ad9c7e47d26bbeb2f3be96b3ad6988a6023a1021"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 06 00:27:34 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 00:27:34 2018 +0000"
      },
      "message": "Revert \"audioflinger: Remove \"exiting\u003d1\" parameter\"\nam: ad9c7e47d2\n\nChange-Id: I2b6f5dd705ba3ed75bd1749918fc4f69dc7be85e\n"
    },
    {
      "commit": "149eb6afa90f56697bcd1f14868191d1428a54b5",
      "tree": "c7f958ba37a26a36ff79eabf4a3ddbc1c21e07ef",
      "parents": [
        "ad9c7e47d26bbeb2f3be96b3ad6988a6023a1021",
        "d83d4f4a43616f38217591ba2d3f10d77fd4e748"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 05 23:12:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 23:12:37 2018 +0000"
      },
      "message": "Merge \"NdkMediaExtractor: per-sample format metadata API\" into pi-dev"
    },
    {
      "commit": "8725795c486f4f15ea50a0331262a765b436a5e7",
      "tree": "26640f5afc9d3f0d13bd7668503e7615ee7bfa41",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Mar 05 14:25:42 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Mar 05 14:25:42 2018 -0800"
      },
      "message": "codec2: handle multiple maps in linear block\n\nTest: codec2_test\nChange-Id: I4a6b8855b48216105308d856d5206e31fb372313\n"
    },
    {
      "commit": "49d4aa0a7407ea6632c4a3441c7a4d922d003ea5",
      "tree": "a1d959911a1dc2e0996b0c48ef22b73389b5ca9d",
      "parents": [
        "291daf4507228aeecfd0f07c5fabf373ed84bf27"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Feb 27 12:43:06 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Mar 05 14:06:41 2018 -0800"
      },
      "message": "heif: use width and height for decoder -- DO NOT MERGE\n\nThe display dimensions from MPEG4Extractor is applied on top\nof width and height for scaling, it\u0027s not for cropping. For\nbitmap uses we have to use width and height, the frame from\nmedia server is not scaled.\n\nThis required porting over some fixes from master to fix the\ndisplay size vs. image size reporting, otherwise images with\ngrids may show a black border at the bottom or right.\n\nbug: 73172046\nTest: test app in bug; open folders with heif files in Photos\nand Downloads; CTS MediaMetadataRetrieverTest.\nChange-Id: I3d7f1492d08d48876836ccc05b6eb4de0d0c0f9a\n"
    },
    {
      "commit": "ad9c7e47d26bbeb2f3be96b3ad6988a6023a1021",
      "tree": "0d7cce2a82c78d215ae7c7cd8aac1148ad8c81a2",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Mar 05 12:25:58 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Mar 05 20:39:11 2018 +0000"
      },
      "message": "Revert \"audioflinger: Remove \"exiting\u003d1\" parameter\"\n\nThis reverts commit e2bc208f05ed430a18a9078799b6b6d56e3d6dda.\n\nBug: 74142786\nTest: with Android Auto head unit simulator\n\nChange-Id: I9f96da7ba67b3ed774c9b9bdab7cee390d3f0ca2\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": "e321f352f94729a80826550b1c082ec2510dbd5c",
      "tree": "4e0e8e4b9fbae2c30021fae66d8255f05fcf9f92",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Tue Feb 13 09:42:52 2018 -0800"
      },
      "committer": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Mon Mar 05 19:24:43 2018 +0000"
      },
      "message": "Enable pooled C2BlockPool\n\nC2PooledBlockPool supports allocate \u0026 recycle blocks.\nCurrently C2PooledBlockPool supports C2LinearAllocation only.\n\nTest: setprop debug.stagefright.ccodec yes\nTest: stagefright -S -N c2.google.avc.decoder /sdcard/a.mp4\nTest: stagefright -ao -N c2.google.aac.decoder /sdcard/a.mp4\nTest: audioloop -N c2.google.aac.encoder -M audio/mp4a-latm\nTest: screenrecord --codec-name c2.google.avc.encoder /sdcard/record.mp4\n\nBug: 72651719\nChange-Id: I3948afecf492ef62860c9e8f18fc9243ddca78bd\n"
    },
    {
      "commit": "b95a5989190a427a7ea092dc18741af524009bdb",
      "tree": "efcfacaa1fc3845955dc7b90b0383203041f9095",
      "parents": [
        "911aa0fa2b497a13199f023618044d93cf6d2ebc",
        "98fdf3583d3bfd1178ef1e0102e3de6d2b1dd2bc"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Mar 05 05:44:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 05:44:41 2018 +0000"
      },
      "message": "Merge \"MediaController2: Ensure NonNull for parameters of public methods\""
    },
    {
      "commit": "911aa0fa2b497a13199f023618044d93cf6d2ebc",
      "tree": "61b765a0cf475f14839dc346cc04a95624ac7c3d",
      "parents": [
        "adab3c90df0b7c55cee87df4613aafc250be0d88",
        "1a3ee2f72f9e49e84a978392e428542ad95e589f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 05 05:42:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 05:42:24 2018 +0000"
      },
      "message": "Merge \"MediaControlView2: Add Additional UX for Settings\""
    },
    {
      "commit": "1a3ee2f72f9e49e84a978392e428542ad95e589f",
      "tree": "c0f1cf59e1a619d24064fb22a2d86648990ad647",
      "parents": [
        "f8cdcb8311f14f8df081f4ac1fffe50e6c6decf8"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Wed Feb 21 19:55:58 2018 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Mon Mar 05 13:23:12 2018 +0900"
      },
      "message": "MediaControlView2: Add Additional UX for Settings\n\nThis CL adds additional UX for Settings, adding a second ListView to\nshow the view for choosing CC, audio track, video quality, and\nplayback speed.\n\nAlso, this CL allows video \u0026 audio track information to be\nsent to MediaControlView2 from VideoView2.\n\nBug: 73703113\nTest: manually\nChange-Id: Ic5f7223b2688fe7a11e0ef46fc3aec0bb900f5ac\n"
    },
    {
      "commit": "98fdf3583d3bfd1178ef1e0102e3de6d2b1dd2bc",
      "tree": "4d23de9530003f0ea11b0fc2f4b8922beff106d8",
      "parents": [
        "adab3c90df0b7c55cee87df4613aafc250be0d88"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Feb 28 17:26:26 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Mar 05 11:40:55 2018 +0900"
      },
      "message": "MediaController2: Ensure NonNull for parameters of public methods\n\nBug: 73863865\nTest: Passed MediaBrowser2Test\nChange-Id: I38287881502c70d12da414b574b49d80834d8e43\n"
    },
    {
      "commit": "adab3c90df0b7c55cee87df4613aafc250be0d88",
      "tree": "02ff208d2ecf45fa5a6d839c5ad7f8392d140587",
      "parents": [
        "bcc63b1434f2d8d2dee9e921151bf27485669ab6"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 14:11:53 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sun Mar 04 19:17:34 2018 +0900"
      },
      "message": "MediaSession2: Clean up TODOs under frameworks/base/media\n\nThis CL includes following changes\n  - Remove outdated TODOs\n  - Added buganizer issue if the remaining work take more than 5m\n\nTest: Run MediaComponents tests\nChange-Id: Ie8a005ee74a2959abc6844471f314559b1cfcf49\n"
    },
    {
      "commit": "bcc63b1434f2d8d2dee9e921151bf27485669ab6",
      "tree": "6891834b69b4211c4d1b387b561feba43e6ea3d7",
      "parents": [
        "936aced80442062afe07ac58ac14bc6141ad00c0",
        "c067179b6a402fc0c284cfae886058a6738e9b20"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 03:55:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 03:55:37 2018 +0000"
      },
      "message": "Merge \"Camera: fix supported FPS string\""
    },
    {
      "commit": "936aced80442062afe07ac58ac14bc6141ad00c0",
      "tree": "2d706625bea718383032e1dfa73e664852fcad65",
      "parents": [
        "b7c8c8875fb5fcb6d4d395ccd15fc22266ffd4cc",
        "98787a7a85f58af4c684d368bb235bcc0c6cfbce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 03:14:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 03:14:38 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: add getMediaPlayer2State\""
    },
    {
      "commit": "b7c8c8875fb5fcb6d4d395ccd15fc22266ffd4cc",
      "tree": "5ebfe28726dd916affb5cce754d8b4542d33e983",
      "parents": [
        "b4af9b8ff5bd4efd054e879305a95353bf59bd67",
        "0fd28115e485cfe9202c1eec777a6cc17663651a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 02:03:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 02:03:05 2018 +0000"
      },
      "message": "Merge changes Ic7fd2787,If97579fd\n\n* changes:\n  Camera: notify AE trigger ID change\n  Camera: fix camera ID in flashlight control\n"
    },
    {
      "commit": "b4af9b8ff5bd4efd054e879305a95353bf59bd67",
      "tree": "1290f19606dd574537395d27982b42efe195cbb6",
      "parents": [
        "67adf53cb5344acee6a589be7f551cf8fdc93bd7",
        "68dd6b17d2b542f0108ce259ccd53fc6ec9ac7d0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 01:33:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 01:33:14 2018 +0000"
      },
      "message": "Merge \"Camera: Clarify AF_REGIONS behavior in capture_result\""
    },
    {
      "commit": "67adf53cb5344acee6a589be7f551cf8fdc93bd7",
      "tree": "2cc561f812a135be36bcd90395cd9ec0745a547a",
      "parents": [
        "417b528deb0cdbb54f801888bed2622a77e6d169",
        "2d059936882d8d6b8f73dedd4f9a043bdd36405a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 00:58:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 00:58:20 2018 +0000"
      },
      "message": "Merge \"audiopolicymanager: prevent MMAP stream collisions\""
    },
    {
      "commit": "417b528deb0cdbb54f801888bed2622a77e6d169",
      "tree": "78e91980bdadf1102e8a9ae76a3c6dad8c7fb43a",
      "parents": [
        "c9685f39f807c64176ad8ea4db5bae0369817b86",
        "d3d75358db7e3fe87805f1d91aa53abe1b0c2e92"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 00:54:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 00:54:31 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Add caller to the callback methods\""
    },
    {
      "commit": "c9685f39f807c64176ad8ea4db5bae0369817b86",
      "tree": "3dcd9304882ee8aab31192a11656678b2f6cec76",
      "parents": [
        "18c5a769d57b3420b899db1b9e29e244da8f4093",
        "7c6737146601f04dc3f3dbc6359dc4f08ecf5904"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sat Mar 03 00:41:17 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 03 00:41:17 2018 +0000"
      },
      "message": "Merge \"Remove unreachable condition\" am: f140201ff1 am: a49a1bf9bd\nam: 7c67371466\n\nChange-Id: I79f1c1457244c708d06124453a111d33a0460029\n"
    },
    {
      "commit": "7c6737146601f04dc3f3dbc6359dc4f08ecf5904",
      "tree": "e0d658c3d00a9fcc45f184c66fa237a2fd61ff88",
      "parents": [
        "db959740904eba27582feee48234463f3553b199",
        "a49a1bf9bdeada97fb3c41f54e735b0f6c46f620"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sat Mar 03 00:26:11 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 03 00:26:11 2018 +0000"
      },
      "message": "Merge \"Remove unreachable condition\" am: f140201ff1\nam: a49a1bf9bd\n\nChange-Id: I305a2c6cd22966c0c2918596aa5fd9c585101345\n"
    },
    {
      "commit": "a49a1bf9bdeada97fb3c41f54e735b0f6c46f620",
      "tree": "4839a961e35479374078edb02d832e2938df2f4c",
      "parents": [
        "072aaa2e39765fd5cfdfa4237b9099c313e0d126",
        "f140201ff115c4bb0ca3c64a0e33874681d2c434"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sat Mar 03 00:00:06 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 03 00:00:06 2018 +0000"
      },
      "message": "Merge \"Remove unreachable condition\"\nam: f140201ff1\n\nChange-Id: Ie7918fff22a37ea72ab59f5573790b2ed977aaee\n"
    },
    {
      "commit": "18c5a769d57b3420b899db1b9e29e244da8f4093",
      "tree": "c553a531d065eb16d5b0296ebc1df65e4e858e85",
      "parents": [
        "cdf22ce8143ac4cc84c890eec49b213fc1db7231",
        "598c981ff4282327555558a83472f86d9d9ceebf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 23:58:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 23:58:14 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Add reset() to the MediaPlayerBase\""
    },
    {
      "commit": "c067179b6a402fc0c284cfae886058a6738e9b20",
      "tree": "8f661848279b9ee8bb7f6a833f493c7a4123f530",
      "parents": [
        "0fd28115e485cfe9202c1eec777a6cc17663651a"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 02 15:50:48 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 02 15:50:48 2018 -0800"
      },
      "message": "Camera: fix supported FPS string\n\nTest: CameraTest.java\nBug: 72261912\nChange-Id: I0737b7411ad52159477ba5d931607067d567128e\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": "2d059936882d8d6b8f73dedd4f9a043bdd36405a",
      "tree": "fe78b96ace7cb7d76048ce76457ef478bef42461",
      "parents": [
        "cdf22ce8143ac4cc84c890eec49b213fc1db7231"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 15 15:55:11 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Mar 02 22:48:45 2018 +0000"
      },
      "message": "audiopolicymanager: prevent MMAP stream collisions\n\nAn allocation of a second MMAP stream with a different\nrate or channel count could collide with an existing MMAP\nstream and cause it to fail.\n\nBug: 73369112\nTest: test_interference.cpp\nChange-Id: I8318ba897dd4999dd747d40a77b6850525616998\n"
    },
    {
      "commit": "cdf22ce8143ac4cc84c890eec49b213fc1db7231",
      "tree": "33b8a94720707c403429aee06d4a4c0490e46b6a",
      "parents": [
        "cb9be9770df37243450ced00daf8b909bb78df6a",
        "4e98efa3b18ba1d72d28358da86f9beb5596588d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 22:46:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 22:46:46 2018 +0000"
      },
      "message": "Merge \"aaudio_loopback: general cleanup, use dlsym\""
    },
    {
      "commit": "cb9be9770df37243450ced00daf8b909bb78df6a",
      "tree": "0058aee4e4b9ec63a0fa3ff6842e475a2b67b080",
      "parents": [
        "b62c79b1d35ef69f7392464f104b53ef6f9967b0",
        "bee893b4364f59da221f7918a559cb99177595bf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 21:09:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 21:09:20 2018 +0000"
      },
      "message": "Merge \"Remove dependency between bufferpool and codec2\""
    },
    {
      "commit": "4e98efa3b18ba1d72d28358da86f9beb5596588d",
      "tree": "8c0abcfc7d2140381bb312630ae7ef9a607319eb",
      "parents": [
        "fc74d65b875e254b61d5c01569da31909af2cd3c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Feb 05 18:41:55 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Mar 02 12:41:36 2018 -0800"
      },
      "message": "aaudio_loopback: general cleanup, use dlsym\n\nCleanup printing.\nUse dlsym so this can run on O.\n\nTest: aaudio_loopback -tl -pl -n2\nChange-Id: I77b931e59cced32b0cc23076f9b156d082e6bf0b\n"
    },
    {
      "commit": "b62c79b1d35ef69f7392464f104b53ef6f9967b0",
      "tree": "4e4835fc680200a896f04fbfe525061021693346",
      "parents": [
        "3859e62d88d3abd8ed5679e56c6e73804ff3c9a4",
        "41f19d8e9471945b358c9ae1dffda60f195d9f5b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 19:23:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 19:23:14 2018 +0000"
      },
      "message": "Merge \"aaudio: convert mono output to stereo\""
    },
    {
      "commit": "f140201ff115c4bb0ca3c64a0e33874681d2c434",
      "tree": "4839a961e35479374078edb02d832e2938df2f4c",
      "parents": [
        "853996e7b28fcb8707a15f70eb9c3cadd47943f0",
        "e5b052ea1209bf0ced35e82a0096bf799011499e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 19:15:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 19:15:05 2018 +0000"
      },
      "message": "Merge \"Remove unreachable condition\""
    },
    {
      "commit": "bee893b4364f59da221f7918a559cb99177595bf",
      "tree": "2d10ff142f7b14d05a6b45f75d014fa1f33a039e",
      "parents": [
        "b184c494bef0dd67d715732c27e059a46e723161"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Wed Feb 28 22:32:52 2018 -0800"
      },
      "committer": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Fri Mar 02 10:17:48 2018 -0800"
      },
      "message": "Remove dependency between bufferpool and codec2\n\nAllocator wrapper class is added in order to remove dependency between\nbufferpool and codec2 component.\n\nChange-Id: I526103b7c60b05c50ac2843d9c9f65badeb2cdd4\n"
    },
    {
      "commit": "3859e62d88d3abd8ed5679e56c6e73804ff3c9a4",
      "tree": "db44a84f3fc1f267140d4804ac8144739df31acc",
      "parents": [
        "7a8977a853343f2f21522c2501de846b2a416bc1",
        "ba467eed41a4363d91dfa08ed58bd2ae785f3435"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 15:57:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 15:57:40 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Complete [add|remove]OnSessionTokensChangedListener\"\"\""
    },
    {
      "commit": "7a8977a853343f2f21522c2501de846b2a416bc1",
      "tree": "c5bbcf2f9c0608b72cda45650db0bc770e51a08a",
      "parents": [
        "cb3b84b517492879d442cc76765c88807154b8da",
        "7168e94514820a026764e5dcfc9b53653c0f07c7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 15:23:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 15:23:55 2018 +0000"
      },
      "message": "Merge \"Add Codec2 client interfaces for the framework\""
    },
    {
      "commit": "7168e94514820a026764e5dcfc9b53653c0f07c7",
      "tree": "f1b4a8db86f1e266275dc0c63a4369bd203deca1",
      "parents": [
        "818473f7f6e01ef8469ff562b190f899ae1fab17"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Feb 28 02:01:59 2018 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Mar 02 07:23:20 2018 -0800"
      },
      "message": "Add Codec2 client interfaces for the framework\n\nTest: Builds\n\nBug: 31973802\nBug: 64121714\nChange-Id: I6d53773ca793b885d55cd00a7c494eace0019546\n"
    },
    {
      "commit": "d3d75358db7e3fe87805f1d91aa53abe1b0c2e92",
      "tree": "2678f39d8754fd9ddc46a93eb7fe4b7ff4ccaf59",
      "parents": [
        "cb3b84b517492879d442cc76765c88807154b8da"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 19:24:56 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 23:39:36 2018 +0900"
      },
      "message": "MediaSession2: Add caller to the callback methods\n\nThis is to follow MediaPlayer2 and MediaPlayerBase\u0027s API style.\n\nBug: 64098437\nTest: make update-api\nChange-Id: Id73558634087712d2d01284d0c944d9590d693cf\n"
    },
    {
      "commit": "cb3b84b517492879d442cc76765c88807154b8da",
      "tree": "6ff1c575ca9d82e97a1f3dd826dea78a03df38d5",
      "parents": [
        "818473f7f6e01ef8469ff562b190f899ae1fab17",
        "483261f98e9eeb6191d42873970a2ae9709ac1fc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 14:05:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 14:05:20 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Reject calls from a Controller that haven\u0027t allowed\""
    },
    {
      "commit": "818473f7f6e01ef8469ff562b190f899ae1fab17",
      "tree": "30f092ac186d27b5ae94ee6804cd6627b75ade17",
      "parents": [
        "0706cb6c427513b6f762cf45b1f715cf0602269b",
        "7cda0f098a62cc0297d63f9c9dfa6b5345c7fbf9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 09:42:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 09:42:31 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Avoid binding from system service if able\""
    },
    {
      "commit": "598c981ff4282327555558a83472f86d9d9ceebf",
      "tree": "daa2249bf7f846387bd150b964f5f4543567a2ea",
      "parents": [
        "0706cb6c427513b6f762cf45b1f715cf0602269b"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 17:52:35 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 17:52:35 2018 +0900"
      },
      "message": "MediaSession2: Add reset() to the MediaPlayerBase\n\nThis would be used in response to\n  - MediaController2#play()\n  - KEYCODE_MEDIA_STOP\n\nBug: 64098437\nTest: passed MediaComponentTest\nChange-Id: I5c0d93bb3f7bff7939bdf90e3a3ec54aaf4e6cea\n"
    },
    {
      "commit": "0706cb6c427513b6f762cf45b1f715cf0602269b",
      "tree": "be8090aa7bf5002d90273c81fcf1312efbe14904",
      "parents": [
        "7c9123d1bc697dc0496374908281b7a76914574a",
        "70bc195988e97be10006df4faf2eff1f443c79e1"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Mar 02 08:22:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 08:22:21 2018 +0000"
      },
      "message": "Merge \"Move MediaItem2 Builder to updatable\""
    },
    {
      "commit": "7cda0f098a62cc0297d63f9c9dfa6b5345c7fbf9",
      "tree": "cf8b492da85c86325cc3160a777467faeb44362b",
      "parents": [
        "006b7eebe4c86eba7a67471d99b061b6b76177f5"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Feb 28 22:07:08 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 17:12:26 2018 +0900"
      },
      "message": "MediaSession2: Avoid binding from system service if able\n\nMediaController2 had bounded to session service whenever it\u0027s created.\nIt was to increase binding counter for a session service to keep it\nrunning while any controller exists, but it doesn\u0027t make sense for the\nsystem service which creates controllers only to monitor changes in a\nsession.\n\nAvoid binding from system service if able.\n\nBug: 73872399\nTest: Run all MediaComponents tests\nChange-Id: I16c81d67771e3716b646c8a48df5411bb4cf0527\n"
    },
    {
      "commit": "483261f98e9eeb6191d42873970a2ae9709ac1fc",
      "tree": "99a2d0f62c747d4bc2259be5e04a5adc13e7a18d",
      "parents": [
        "62abf5a3ec693c1c8d853e56b4e253798d09fb58"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 20 11:45:12 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 16:28:28 2018 +0900"
      },
      "message": "MediaSession2: Reject calls from a Controller that haven\u0027t allowed\n\nThis CL prevent session from accepting unwanted commands.\n\nRemaining work is for controller to not sending command to prevent\nunnecessary binder calls. Note that we need protection logic from the\nsession because an evil app may make fake binder interface and call any\nAPI.\n\nBug: 72618604\nTest: Run MediaComponentsTest\nChange-Id: I08401e99eb03b83b3b41321dca860c10990d78c4\n"
    },
    {
      "commit": "7c9123d1bc697dc0496374908281b7a76914574a",
      "tree": "5cfe914cb04a18b9bb9564595c15519e3deeab52",
      "parents": [
        "baea52472c0e8b1dd2f63b2c39539fd477552abd",
        "a1d39ba72fd92df6b447939b1bbede5c56df17e6"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:46:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 04:46:55 2018 +0000"
      },
      "message": "Merge \"Revert \"NdkMediaExtractor: per-sample format metadata API\"\""
    },
    {
      "commit": "a1d39ba72fd92df6b447939b1bbede5c56df17e6",
      "tree": "54fff7206b48bd7123929128a4fc1e2b1d0a44d4",
      "parents": [
        "062ffd042fcbd237f445d499bc8ea8c5baf61d98"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:33:02 2018 +0000"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:33:02 2018 +0000"
      },
      "message": "Revert \"NdkMediaExtractor: per-sample format metadata API\"\n\nThis reverts commit 062ffd042fcbd237f445d499bc8ea8c5baf61d98.\n\nBug: 63934228\nBug: 74089496\n\nReason for revert: original change bypassed presubmit, causing mediaextractor crash, \n\nChange-Id: Iac4c49659dfa7415908d60da98a2285c583a1196\n"
    }
  ],
  "next": "baea52472c0e8b1dd2f63b2c39539fd477552abd"
}
