)]}'
{
  "log": [
    {
      "commit": "b4dc74ccde9739553bace8744e4df97c67df30f7",
      "tree": "3ec36055c3941b7c0386cd39f27884493f5aff6e",
      "parents": [
        "af36b9ae284973f107befab6656d93ab4fba733d",
        "70376b122742c515ff6c546f2bd8b3bfaac172cd"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 19:13:46 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 19:13:46 2018 -0700"
      },
      "message": "Merge \"Restrict setting silenced in RecordTrack.\" into pi-dev\nam: 70376b1227\n\nChange-Id: I158012e95a1c19b60afef2143514296fa3ab332c\n"
    },
    {
      "commit": "70376b122742c515ff6c546f2bd8b3bfaac172cd",
      "tree": "5709bf11cb39f5c0d26f7505e03b9786031fde6f",
      "parents": [
        "4ac3f08fe01117070ea379ae34e8b5f8bb4d7226",
        "9378eb9634d07010bebf8a2d4bda84320ec80e57"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Thu May 03 02:04:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 03 02:04:57 2018 +0000"
      },
      "message": "Merge \"Restrict setting silenced in RecordTrack.\" into pi-dev"
    },
    {
      "commit": "af36b9ae284973f107befab6656d93ab4fba733d",
      "tree": "257586345affe3ab469d5851389b398856a71f5a",
      "parents": [
        "3419ce130b19b14744294f86b434deeb4f63f52b",
        "4ac3f08fe01117070ea379ae34e8b5f8bb4d7226"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 02 17:40:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 17:40:13 2018 -0700"
      },
      "message": "Merge \"RecordThread: Adjust sleep time to pipe frames free.\" into pi-dev\nam: 4ac3f08fe0\n\nChange-Id: Ic04feab8c6386d882400b3dd3d338195f9706dec\n"
    },
    {
      "commit": "4ac3f08fe01117070ea379ae34e8b5f8bb4d7226",
      "tree": "d37b3f983585c870c7b5ff3b2d3b895a6a54783b",
      "parents": [
        "8d1c940af4afef9c066e5924fed495ba8136ae34",
        "7a3dc6bd4795a1b254d1ceef959da2b4d6ef8ba4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 03 00:28:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 03 00:28:13 2018 +0000"
      },
      "message": "Merge \"RecordThread: Adjust sleep time to pipe frames free.\" into pi-dev"
    },
    {
      "commit": "9378eb9634d07010bebf8a2d4bda84320ec80e57",
      "tree": "9d9dd22652b7860882e3155a6d218042d55cd3f6",
      "parents": [
        "6f4512914d90430bf135de221897887638c79f25"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed May 02 15:26:35 2018 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed May 02 17:13:07 2018 -0700"
      },
      "message": "Restrict setting silenced in RecordTrack.\n\nWhen initializing, always set mSilenced as false. Never set silenced for\npatch track.\n\nBug: 77193174\nTest: make phone call with usb headset multiple times.\nChange-Id: I93f4646cc6d88749c602bdd0003afc48f7dec36f\n"
    },
    {
      "commit": "3419ce130b19b14744294f86b434deeb4f63f52b",
      "tree": "e400c03456f2f070c44f34fe47c0aed81c8bfe9f",
      "parents": [
        "416eeabc3d81fd5aa212859b80760125af904a4d",
        "8d1c940af4afef9c066e5924fed495ba8136ae34"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 13:57:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 13:57:45 2018 -0700"
      },
      "message": "Merge \"Camera: fix frame capture trace pair\" into pi-dev\nam: 8d1c940af4\n\nChange-Id: Iffa7958a0c94dfb476569590c8f8e141884a30e1\n"
    },
    {
      "commit": "8d1c940af4afef9c066e5924fed495ba8136ae34",
      "tree": "e94300effede657e2e80ab3dd095d3436eb43e91",
      "parents": [
        "3e69b248ef8805b888ea1ec76f3bab773db05589",
        "885691cefdf8f11da3396f60ada0fa35964fab41"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 20:42:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 20:42:09 2018 +0000"
      },
      "message": "Merge \"Camera: fix frame capture trace pair\" into pi-dev"
    },
    {
      "commit": "7a3dc6bd4795a1b254d1ceef959da2b4d6ef8ba4",
      "tree": "bba043f16dedc7f82531ffc8c5cf1a5351036df7",
      "parents": [
        "0f59472e584f9962a7ef390d1dba90ca2c0ad8be"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 01 16:39:51 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 02 10:38:37 2018 -0700"
      },
      "message": "RecordThread: Adjust sleep time to pipe frames free.\n\nThis fixes FastCapture pipe overrun for normal AudioRecord clients.\n\nTest: instrumented CTS AudioRecord, Photos record.\nBug: 71330194\nBug: 77281929\nChange-Id: I186017aec8d0acb3aefe9e4eb378b71b32f8ad59\n"
    },
    {
      "commit": "cfb8571844dfb29c2b2ba205b335c253e14912d2",
      "tree": "c131bc27140af9ee472f85907a28e3b3f9f65abd",
      "parents": [
        "3d2206df82c35bd612674f89eace16e4bfd0c26b",
        "1267e887bd9d38e2785b601e872a26acf0ec17f9"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Tue May 01 18:23:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 01 18:23:02 2018 -0700"
      },
      "message": "Merge \"aaudio: use weak pointer to prevent UAF\" into pi-dev\nam: 1267e887bd\n\nChange-Id: I49c94142873652dc30ac6c4999508016216f1ce3\n"
    },
    {
      "commit": "1267e887bd9d38e2785b601e872a26acf0ec17f9",
      "tree": "7a08e8098c8fc51ce46c2967c9449986f9a33fa2",
      "parents": [
        "e641294b59e2a0792d894139d739228f182409b4",
        "6e2770ef771b7a3042d606c37f9c3af8a933439b"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 01:14:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 01:14:12 2018 +0000"
      },
      "message": "Merge \"aaudio: use weak pointer to prevent UAF\" into pi-dev"
    },
    {
      "commit": "885691cefdf8f11da3396f60ada0fa35964fab41",
      "tree": "054e8874ce134deef9d4af5033524b9ef62dbc8b",
      "parents": [
        "6f4512914d90430bf135de221897887638c79f25"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 01 15:54:24 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 01 15:54:24 2018 -0700"
      },
      "message": "Camera: fix frame capture trace pair\n\nTest: atrace + HFR\nBug: 78906878\nChange-Id: Ib8e7293f0d056d3b5dec60a9abccf2e7e5d4a933\n"
    },
    {
      "commit": "6e2770ef771b7a3042d606c37f9c3af8a933439b",
      "tree": "502cf6cde6e624096f922f6dadf20a42870e2f04",
      "parents": [
        "e5a37268101a2c9d8019938f4e5ac9eec2e52fca"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 01 13:03:52 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue May 01 15:46:47 2018 -0700"
      },
      "message": "aaudio: use weak pointer to prevent UAF\n\nAvoid using the mServiceEndpoint smart pointer\nfrom multiple threads.\n\nBug: 74122779\nTest: see bug for test instructions\nChange-Id: Idaf9e32a163b25e51bde35d6f5ea10a372b5d916\n"
    },
    {
      "commit": "082afd2c0ad39aeecb5c96bdb9bbde089313e8bc",
      "tree": "e64db714e54d6c122b702e5742c355a2bb75f270",
      "parents": [
        "126495229dde741826639e3e48eaa371cf58d4ee",
        "0f59472e584f9962a7ef390d1dba90ca2c0ad8be"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 01 06:30:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 01 06:30:20 2018 -0700"
      },
      "message": "Merge \"RecordThread: Immediate retry on audio read overrun\" into pi-dev\nam: 0f59472e58\n\nChange-Id: Ie8e8ae7c3b8081067b210a582532b2fe5ec2a3d1\n"
    },
    {
      "commit": "0f59472e584f9962a7ef390d1dba90ca2c0ad8be",
      "tree": "c3fa8b4160c88a463ac49a28df97888718b3d9b4",
      "parents": [
        "8d57302e2deaf84c039d616f6423541813b48c75",
        "d5b638fe57c3ceaf7834d4c2181d4c4c2588f967"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 01 13:26:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 01 13:26:45 2018 +0000"
      },
      "message": "Merge \"RecordThread: Immediate retry on audio read overrun\" into pi-dev"
    },
    {
      "commit": "126495229dde741826639e3e48eaa371cf58d4ee",
      "tree": "88711211e303476d1c859c9e0e3ae51e00d041ab",
      "parents": [
        "f4326116945b1d7a2717eb8b2a8a7cb8f31257c7",
        "8d57302e2deaf84c039d616f6423541813b48c75"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 30 17:54:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 30 17:54:37 2018 -0700"
      },
      "message": "Merge \"AudioPolicyManager: Ensure direct output matches exact format\" into pi-dev\nam: 8d57302e2d\n\nChange-Id: I3005367e98e840800b72289565760488a47a9af2\n"
    },
    {
      "commit": "d5b638fe57c3ceaf7834d4c2181d4c4c2588f967",
      "tree": "24d5945c47bdde790d316edf7e109a03e1847eac",
      "parents": [
        "0926bb0100b5df3439c49777952d48ce53dd9137"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 30 13:56:10 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 30 14:55:08 2018 -0700"
      },
      "message": "RecordThread: Immediate retry on audio read overrun\n\nOtherwise another sleep and FastCapture write can cause overrun again.\n\nTest: Force OVERRUN fifo error and AudioRecordTest still passes.\nBug: 26983118\nChange-Id: I039e3a42863cbe96ca84d0f03020b836d5c944d1\n"
    },
    {
      "commit": "5659ed5327fbd6a412ecd65235eea68a5a59fd39",
      "tree": "cdbee9dc70ddf66800ec413587af91e182e98d81",
      "parents": [
        "e5a37268101a2c9d8019938f4e5ac9eec2e52fca"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 30 10:31:26 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 30 10:56:52 2018 -0700"
      },
      "message": "AudioPolicyManager: Ensure direct output matches exact format\n\nOtherwise AudioFlinger will fail on createTrack.\n\nTest: No regression on Play Music Offload playback\nBug: 77507038\nChange-Id: I0702e3047e385889861288072d4f5c6e99e8924d\n"
    },
    {
      "commit": "fd3ac44e7de0cd303ad12530378d4dfaf23e3526",
      "tree": "620a89afbb1ada5dd32a4924282e1a300d61efe8",
      "parents": [
        "9bdd82e1fcb4b74988c314eec3b506730a7b0c0d",
        "e5a37268101a2c9d8019938f4e5ac9eec2e52fca"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 30 09:51:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 30 09:51:29 2018 -0700"
      },
      "message": "Merge \"Fix getOutputForAttr to avoid binder parameter in/out change\" into pi-dev\nam: e5a3726810\n\nChange-Id: Ic33233a6ccb3e291636f3d17cdc585ec7ce50b6b\n"
    },
    {
      "commit": "e5a37268101a2c9d8019938f4e5ac9eec2e52fca",
      "tree": "7d0c6be8f2a9bd25dc6703675a1df112a6d19172",
      "parents": [
        "487109674141a0adb4b173d9f7d682d29587fec3",
        "c88b06445e53ae806e94483a6ae8b2241fe3bf6f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 30 16:43:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 30 16:43:27 2018 +0000"
      },
      "message": "Merge \"Fix getOutputForAttr to avoid binder parameter in/out change\" into pi-dev"
    },
    {
      "commit": "c88b06445e53ae806e94483a6ae8b2241fe3bf6f",
      "tree": "af4d4c39a33d69d72813b2cf2b307669c892286b",
      "parents": [
        "ed4f0147db29c87d0404f78eb68dc7b7b81deed8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 27 15:42:35 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 27 18:28:00 2018 -0700"
      },
      "message": "Fix getOutputForAttr to avoid binder parameter in/out change\n\nBug: 78796725\nTest: test_interference.cpp\nChange-Id: Iab9f337d750910c896839c8905c945a181a133c7\n"
    },
    {
      "commit": "c55ede9dab97eba7ebd573f475864aa58cc4f493",
      "tree": "5438c8ac1ba8115468b2157f28c97a4d38f810c4",
      "parents": [
        "90aae0de4b3630948160587431da0784d9472856",
        "1f0cbeddf430e24d943892381600262ae3ce542e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 27 16:12:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 27 16:12:26 2018 -0700"
      },
      "message": "Merge \"Remove usage of undeclared and unused variable mFastTrackNames\" into pi-dev\nam: 1f0cbeddf4\n\nChange-Id: I0e5200b10d2327ffe80a507911e8e2659775865e\n"
    },
    {
      "commit": "1f0cbeddf430e24d943892381600262ae3ce542e",
      "tree": "100472aead6a12e105897ec167defecd43bd200f",
      "parents": [
        "e44ca3765fca8d82f7dcf884c53acddb6704dd20",
        "860d10a72cc760b4be280277e86c526ad171e4bb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 27 23:02:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 23:02:26 2018 +0000"
      },
      "message": "Merge \"Remove usage of undeclared and unused variable mFastTrackNames\" into pi-dev"
    },
    {
      "commit": "860d10a72cc760b4be280277e86c526ad171e4bb",
      "tree": "786d6f2648ecf9481fea855a82def4cef131b47d",
      "parents": [
        "ed4f0147db29c87d0404f78eb68dc7b7b81deed8"
      ],
      "author": {
        "name": "Dhananjay Kumar",
        "email": "dhakumar@codeaurora.org",
        "time": "Mon Apr 16 12:40:29 2018 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 27 13:40:50 2018 -0700"
      },
      "message": "Remove usage of undeclared and unused variable mFastTrackNames\n\nCRs-Fixed: 2220445\nBug: 78683817\nTest: at bug\nAuthor: Ramjee Singh \u003cramjee@codeaurora.org\u003e\nChange-Id: I3c51cd30bd5ab0ab25f6a49460895c889ea8fc33\n"
    },
    {
      "commit": "8309dbdd00678915d123c9e40536759ac2b7b088",
      "tree": "6c0f60751c85e0613b8b436df21678de80b31a27",
      "parents": [
        "173ede0bb1d2b1ab7fb47f7e6474d91cc95d76d1",
        "4fe8cfba169b4cc5e5eb4440c6e5bd74c8be502d"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Apr 26 13:26:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 13:26:43 2018 -0700"
      },
      "message": "Merge \"Camera: Use short form camera id for conflicting devices\" into pi-dev\nam: 4fe8cfba16\n\nChange-Id: I6cd36a7acc561afaa765e5f936a551965e92f4d5\n"
    },
    {
      "commit": "4fe8cfba169b4cc5e5eb4440c6e5bd74c8be502d",
      "tree": "ef478acd1c7ddea7dee36f3fd40e51693f72a3c8",
      "parents": [
        "b0d44131e93e0190351ac50ea7a3fe76da168557",
        "472836998ef2f7499050ae107eecfa0ee47c230a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 26 20:17:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 20:17:48 2018 +0000"
      },
      "message": "Merge \"Camera: Use short form camera id for conflicting devices\" into pi-dev"
    },
    {
      "commit": "e9108d0f23dfb59f59da8a55db8c91f2bdc3297f",
      "tree": "bd2851c0307e2b9897570dd682b28cc705584a96",
      "parents": [
        "f854156ae82ba41965a3129df7fc1912fd36da5f",
        "90033d19134e13de6b7829db496925676c9d4d72"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 26 11:46:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 11:46:45 2018 -0700"
      },
      "message": "Merge \"audiopolicy: fix preferred device selection\" into pi-dev\nam: 90033d1913\n\nChange-Id: Id90deaf535ea24fcbc7024ca5832de675a9c847f\n"
    },
    {
      "commit": "90033d19134e13de6b7829db496925676c9d4d72",
      "tree": "bf0365581a75061d4a3654761d5f8ea82b670f04",
      "parents": [
        "354a89b3960894e0c73384648f3722c9e2a65d4c",
        "2157f5bc0c54a77318e75076365eff739e07056f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 26 18:36:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 18:36:18 2018 +0000"
      },
      "message": "Merge \"audiopolicy: fix preferred device selection\" into pi-dev"
    },
    {
      "commit": "472836998ef2f7499050ae107eecfa0ee47c230a",
      "tree": "2685a7f071a05f73f4d5a9bffc0dfec24a2608a2",
      "parents": [
        "2db457b39ec52961118359e94e141ceff7eb7c4e"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 24 18:05:02 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Apr 26 09:08:34 2018 -0700"
      },
      "message": "Camera: Use short form camera id for conflicting devices\n\nThe camera id in CameraService needs to be consistent with the ones in\nconflicting device strings.\n\nStrip the simple form camera id from the fully-qualified id.\n\nTest: Camera CTS\nBug: 78277539\nChange-Id: I081f36eaba4a0a3dc9ba3323eb386833566c15ba\n"
    },
    {
      "commit": "2157f5bc0c54a77318e75076365eff739e07056f",
      "tree": "5e7ba0e1b401517aeaaebb68a8c6d2f7eab9a6e8",
      "parents": [
        "64da22285776f07a775afd45f9fc36cea1aa05e3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 25 18:33:02 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 25 18:33:02 2018 -0700"
      },
      "message": "audiopolicy: fix preferred device selection\n\nMake sure preferred device selection is taken into account\nin getOutputForAttr() even if called twice on the same session:\nForce changed flag when adding a SessionRoute even if\nthe same device is specified.\n\nAlso renamed SessionRoute isActive() to isActiveOrChanged() and\nhasRouteChanged() to getAndClearRouteChanged() for clarity.\n\nBug: 69680975\nTest: manual\nChange-Id: I3f3a659568c4dfc825a788753b0302136fd89871\n"
    },
    {
      "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": "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": "bd37a2d6e16ae3f406a41a4683330a775362c0ce",
      "tree": "ffacbfe064df8f1933e1ef1e8d31be2c2228c53d",
      "parents": [
        "7f5d96554cc7c86e7246eec87a712be2aed9bb35",
        "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 24 18:32:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 24 18:32:38 2018 -0700"
      },
      "message": "Merge \"Revert \"Camera: Use fully qualified name for camera eviction logic\"\" into pi-dev\nam: 67f280ee7f\n\nChange-Id: I8aba947c3bdde99d36ea2db2a0ed1a103a2053c4\n"
    },
    {
      "commit": "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28",
      "tree": "7a7038c48b32aef10e234832b6a61864b51f2555",
      "parents": [
        "ac9d979583c4a10c2ebcf9649d773edf7acce723",
        "2db86ffaebed02c67a08c8c3bd8e265509cd8c05"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Apr 25 01:26:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 25 01:26:51 2018 +0000"
      },
      "message": "Merge \"Revert \"Camera: Use fully qualified name for camera eviction logic\"\" into pi-dev"
    },
    {
      "commit": "2db86ffaebed02c67a08c8c3bd8e265509cd8c05",
      "tree": "850a1497330c4aca17eb69ac6d4c751e00d156ba",
      "parents": [
        "9e3055dd2d3f8b47c7f0871d5b6b03c205a7f6fa"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Apr 25 01:11:17 2018 +0000"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Apr 25 01:12:35 2018 +0000"
      },
      "message": "Revert \"Camera: Use fully qualified name for camera eviction logic\"\n\nThis reverts commit 9e3055dd2d3f8b47c7f0871d5b6b03c205a7f6fa.\n\nBug: 78528859\nBug: 78277539\nChange-Id: I9b18760a5573b92676e688915ebf0fe0e1ce3010\n"
    },
    {
      "commit": "a1b787225cd8c5735d6bcf7c55baa7f9b5115a76",
      "tree": "f3e138f7fbc2f18f5e78e27ca2981501ba72964e",
      "parents": [
        "632a86bbaf67e6e2eca52b59c508fd29abeebe67",
        "2f5bbc76f4efbb21a48ec1210b5b6c2a1a055aa3"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Apr 23 15:51:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 15:51:47 2018 -0700"
      },
      "message": "Merge \"Camera: Use fully qualified name for camera eviction logic\" into pi-dev\nam: 2f5bbc76f4\n\nChange-Id: Ia9aef4f3eac7618954482ee50755dbbc773a5070\n"
    },
    {
      "commit": "2f5bbc76f4efbb21a48ec1210b5b6c2a1a055aa3",
      "tree": "3027ef0d429bfdf73c1e48673462ea7399fd05c5",
      "parents": [
        "1deee1056103f26ae42dc0a84daaf13ea6b0948e",
        "9e3055dd2d3f8b47c7f0871d5b6b03c205a7f6fa"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 23 22:40:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 22:40:02 2018 +0000"
      },
      "message": "Merge \"Camera: Use fully qualified name for camera eviction logic\" into pi-dev"
    },
    {
      "commit": "d57b580b869a2e85bb36098af5626c24c7888c45",
      "tree": "1c908ed41ba7f1c1c3731b1a2770faba79827301",
      "parents": [
        "b3358a7f9b36f15314d8ffcfcb5107598c8b8cc6",
        "bad588e975b093823fd79d657e9e1a90a187fbcf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 23 11:09:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 11:09:43 2018 -0700"
      },
      "message": "Merge \"audioflinger: fix mmap volume update\" into pi-dev\nam: bad588e975\n\nChange-Id: I107e1a2048f6e2db11a9126c25f47d06872df13f\n"
    },
    {
      "commit": "bad588e975b093823fd79d657e9e1a90a187fbcf",
      "tree": "55e4fc2669d1ad1bf83d5f9ea0940cb53cb09b09",
      "parents": [
        "030cb3b698958d5b291598b96463b450888e1a27",
        "67f97291bfb7caec5152d2c93913191729db5917"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 23 17:55:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 17:55:48 2018 +0000"
      },
      "message": "Merge \"audioflinger: fix mmap volume update\" into pi-dev"
    },
    {
      "commit": "f4f01aafa5d45d2c5b1acb80bba9fcaa64e70e61",
      "tree": "b860d7d086757ab2c862f0a29059949e3e4f3084",
      "parents": [
        "f5afe9d02a05dee2dee99e5fd23c920bd38bcac9",
        "030cb3b698958d5b291598b96463b450888e1a27"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 20 19:23:33 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 20 19:23:33 2018 -0700"
      },
      "message": "Merge \"audiopolicy: evaluate all outputs routing when call state changes\" into pi-dev\nam: 030cb3b698\n\nChange-Id: I237d237b388a1434b3dda8e4c3da682d5595e865\n"
    },
    {
      "commit": "030cb3b698958d5b291598b96463b450888e1a27",
      "tree": "3838e8db0f932797f143a4996ca07d2bfbfcf411",
      "parents": [
        "ed4f0147db29c87d0404f78eb68dc7b7b81deed8",
        "2e2a8a993de1aa65a7e174ee1152240779350456"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 21 01:41:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 21 01:41:19 2018 +0000"
      },
      "message": "Merge \"audiopolicy: evaluate all outputs routing when call state changes\" into pi-dev"
    },
    {
      "commit": "67f97291bfb7caec5152d2c93913191729db5917",
      "tree": "3d8b3241addba940bf4b8707bf5993fe533fd525",
      "parents": [
        "6b6f4313aae039f2d73664816e45834e65f79bf5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 20 18:05:41 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 20 18:05:41 2018 -0700"
      },
      "message": "audioflinger: fix mmap volume update\n\nMake sure volume callback is sent at least each time a new\nclient stream is started.\n\nBug: 78122737\nTest: repro steps in bug.\nChange-Id: I5b5ac617d604ed23bf8528affa1877b6cc0b5494\n"
    },
    {
      "commit": "9e3055dd2d3f8b47c7f0871d5b6b03c205a7f6fa",
      "tree": "100ad9d8948b9481d1e9d18ec9eedef9729e4e3a",
      "parents": [
        "56aad0ab6a23bfa750a3542f6bdcd21b70f082ac"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Apr 20 14:10:53 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Apr 20 17:35:42 2018 -0700"
      },
      "message": "Camera: Use fully qualified name for camera eviction logic\n\nThe conflicting device names are fully qualified, but the current\ncamera id isn\u0027t. Make them consistent.\n\nTest: Camera CTS\nBug: 78277539\nChange-Id: I1baf8d39b95bb475ad6a25f2eae7d409efe5d239\n"
    },
    {
      "commit": "2e2a8a993de1aa65a7e174ee1152240779350456",
      "tree": "a49c322cbf9216ed7258c28539388b98d343de06",
      "parents": [
        "6b6f4313aae039f2d73664816e45834e65f79bf5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 20 16:21:33 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 20 16:30:02 2018 -0700"
      },
      "message": "audiopolicy: evaluate all outputs routing when call state changes\n\nWhen call state changes, it is possible that some outputs are active in\nwhich case their routing must be reevaluated.\nThis generalizes this behavior already implemented when a device is\nconnected/disconnected or a forced usage changed.\n\nThis is normally not needed as music is paused when a call is active\nbut there can be some race conditions where music resumes before the\naudio mode is actually updated due to the asynchronous nature of audio\nfocus and audio mode management.\n\nBug: 78248310\nTest: repro steps in bug. Audio smoke tests\nChange-Id: If491eb879a90cf29025bedb2bc77210f052bcb6a\n"
    },
    {
      "commit": "f5afe9d02a05dee2dee99e5fd23c920bd38bcac9",
      "tree": "fff42e821e30041d58b406702a2458d3483c86a2",
      "parents": [
        "7c8963467858dee958e8b7e3ee4720f6178df8b2",
        "ed4f0147db29c87d0404f78eb68dc7b7b81deed8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 20 14:59:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 20 14:59:38 2018 -0700"
      },
      "message": "Merge \"AudioFlinger: Fix Tee compilation\" into pi-dev\nam: ed4f0147db\n\nChange-Id: I7f6d19bf526f6d354562a6ebe43a9c1f7bd89c35\n"
    },
    {
      "commit": "ed4f0147db29c87d0404f78eb68dc7b7b81deed8",
      "tree": "3fe6906677700427bacfdcde6c9eb1243f0f54c0",
      "parents": [
        "cdcfb309e26fa636eed7768b49376122961d861a",
        "b1fe6e1080fb691803038ebd5d399e62d6b88108"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 20 21:47:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 21:47:42 2018 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix Tee compilation\" into pi-dev"
    },
    {
      "commit": "7c8963467858dee958e8b7e3ee4720f6178df8b2",
      "tree": "149547ec5859c724ad525b50f3ea7032f06797dc",
      "parents": [
        "691dafdc43cf169c5c07a7550bba831f4c458ba9",
        "cdcfb309e26fa636eed7768b49376122961d861a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 20 14:26:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 20 14:26:52 2018 -0700"
      },
      "message": "Merge \"Don\u0027t create empty .wav files\" into pi-dev\nam: cdcfb309e2\n\nChange-Id: If1e4197bb8703985dbff32079bbe504797ef1c3e\n"
    },
    {
      "commit": "cdcfb309e26fa636eed7768b49376122961d861a",
      "tree": "f332447f7f9a1f1ec161fc7a9f368bfa8574c27c",
      "parents": [
        "150b9846f846165344910b9211739cdb3054ccf4",
        "9e75663c56f13d21799bbe6a67f5587659a320e3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 20 21:17:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 21:17:31 2018 +0000"
      },
      "message": "Merge \"Don\u0027t create empty .wav files\" into pi-dev"
    },
    {
      "commit": "b1fe6e1080fb691803038ebd5d399e62d6b88108",
      "tree": "36840901ce7e7ac47d11746d644b0cb7cce6e448",
      "parents": [
        "6b6f4313aae039f2d73664816e45834e65f79bf5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 19 19:20:00 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 20 13:04:24 2018 -0700"
      },
      "message": "AudioFlinger: Fix Tee compilation\n\nTest: Enable Tee and check build and output files\nBug: 78310170\nChange-Id: Ic6f1d87a3055ee0f5ce0fe7b57d0fdc74d75d31b\n"
    },
    {
      "commit": "150b9846f846165344910b9211739cdb3054ccf4",
      "tree": "cb14ef2c92dc6210a145e34eef3e310f475262ff",
      "parents": [
        "56aad0ab6a23bfa750a3542f6bdcd21b70f082ac"
      ],
      "author": {
        "name": "Petri Gynther",
        "email": "pgynther@google.com",
        "time": "Tue Apr 17 18:46:10 2018 -0700"
      },
      "committer": {
        "name": "Petri Gynther",
        "email": "pgynther@google.com",
        "time": "Fri Apr 20 01:07:22 2018 -0700"
      },
      "message": "A2DP offload: switch to new properties + swap audio XML files\n\nBug: 63932139\nBug: 76201991\nTest: Manual A2DP testing (A2DP offload enabled and disabled)\nChange-Id: I08363a5ee3ede339f1c25baa70d44066d657d967\nMerged-In: I08363a5ee3ede339f1c25baa70d44066d657d967\n"
    },
    {
      "commit": "5a17cf8d6cf2bff974965d87e3ac5f6a05b3c666",
      "tree": "b71116c3a0be80ab0dc62d7ec1a17ea0f775c6ed",
      "parents": [
        "b7d75dd1106af8d0b1c1d82826b317d88598a963",
        "0bd5a3661d38b9c84cfc87b70d415e55d05e2f6f"
      ],
      "author": {
        "name": "Petri Gynther",
        "email": "pgynther@google.com",
        "time": "Fri Apr 20 00:55:21 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 20 00:55:21 2018 -0700"
      },
      "message": "Merge \"A2DP offload: switch to new properties + swap audio XML files\" am: 80236d253e\nam: 0bd5a3661d\n\nChange-Id: If6509649831cf90112d83e485f9718300dfe924e\n"
    },
    {
      "commit": "f497f293021d2f983547c271db2cd11038100e93",
      "tree": "11d0ad8e3c0b6836d277bea01708e7bf3491d9f5",
      "parents": [
        "91a45a421b3598e3519a3d459957959e94b4d3c1"
      ],
      "author": {
        "name": "Petri Gynther",
        "email": "pgynther@google.com",
        "time": "Tue Apr 17 18:46:10 2018 -0700"
      },
      "committer": {
        "name": "Petri Gynther",
        "email": "pgynther@google.com",
        "time": "Thu Apr 19 11:34:50 2018 -0700"
      },
      "message": "A2DP offload: switch to new properties + swap audio XML files\n\nBug: 63932139\nBug: 76201991\nTest: Manual A2DP testing (A2DP offload enabled and disabled)\nChange-Id: I08363a5ee3ede339f1c25baa70d44066d657d967\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": "9e75663c56f13d21799bbe6a67f5587659a320e3",
      "tree": "6b89e9981004057393c6bea438f4357e55e67ece",
      "parents": [
        "c4b259a584be3e7dc9aad83e0ead06c913ceb998"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 03 13:01:09 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 19 11:09:57 2018 -0700"
      },
      "message": "Don\u0027t create empty .wav files\n\nBug: 78287983\nTest: follow the tee sink documentation, and then verify there are no empty files\nChange-Id: I0aa98aff5d0d47b86f36dd38a54d0daf3feb1965\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": "9321acfedc2fa6a298b6bd01d8a5a2f3a7c02373",
      "tree": "bec9e436f9389d5f550371f8e12dce26b67f02b1",
      "parents": [
        "91c133891afca55e4f0386711d6614d993c85a20",
        "6b6f4313aae039f2d73664816e45834e65f79bf5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 18 14:01:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 18 14:01:57 2018 -0700"
      },
      "message": "Merge \"Fix string copy termination\" into pi-dev\nam: 6b6f4313aa\n\nChange-Id: I00ab5500c03a216d8506eed4ab757ee272c4d0fd\n"
    },
    {
      "commit": "6b6f4313aae039f2d73664816e45834e65f79bf5",
      "tree": "2230658e1118b6d854591e7fbfbc87ca0d2c27dd",
      "parents": [
        "0c4ef750ac29d7b6da306adbfeb8b1535f7a975a",
        "7e820c5cfdc8d9fd2f8c34ffe287f2479b6577d2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 18 20:53:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 20:53:08 2018 +0000"
      },
      "message": "Merge \"Fix string copy termination\" 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": "91c133891afca55e4f0386711d6614d993c85a20",
      "tree": "fbb9fa99f94957af81c316a5761c5d77918be709",
      "parents": [
        "d46187d29a7d3f8d78425f8623bca87482edabab",
        "0c4ef750ac29d7b6da306adbfeb8b1535f7a975a"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Apr 18 07:46:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 18 07:46:25 2018 -0700"
      },
      "message": "Merge \"Camera: Synchronize access to torch status map\" into pi-dev\nam: 0c4ef750ac\n\nChange-Id: I6594ad83ae479bbb99ceaf151ec2189eaae9c15d\n"
    },
    {
      "commit": "0c4ef750ac29d7b6da306adbfeb8b1535f7a975a",
      "tree": "41a91e423856685a4a67a783f2185deed07aa18a",
      "parents": [
        "9d7ffe4f7e3ac10f7b1e19c453d91b4735808e05",
        "7f25e5f57f25ec798edc781423d7a29234e67f1b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 18 14:33:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 14:33:20 2018 +0000"
      },
      "message": "Merge \"Camera: Synchronize access to torch status map\" into pi-dev"
    },
    {
      "commit": "7e820c5cfdc8d9fd2f8c34ffe287f2479b6577d2",
      "tree": "1df43cf09ba654b6dc9e6feb5ef472ed35dc430d",
      "parents": [
        "018c8a09a35c6da526af2bcb130522ed593e9432"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 17 19:52:45 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 17 19:52:45 2018 -0700"
      },
      "message": "Fix string copy termination\n\nTest: CTS regression\nBug: 78198288\nChange-Id: Id433eb3197d4faf530d5f5090ff95e51689e7088\n"
    },
    {
      "commit": "e61d413a0f85d53018eddecfd84ce9b743363f9b",
      "tree": "8e7139ec8b8717efd7731cc0d0b05f700e62c5d8",
      "parents": [
        "b3015a96982378dfe6ac5578f941c3480d303816",
        "018c8a09a35c6da526af2bcb130522ed593e9432"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 17 11:05:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 17 11:05:56 2018 -0700"
      },
      "message": "Merge \"audioflinger: filter out reserved keys from setParameters()\" into pi-dev\nam: 018c8a09a3\n\nChange-Id: Icbd50d59bc34e5fe5e5144af3d42c9a019eefd0c\n"
    },
    {
      "commit": "018c8a09a35c6da526af2bcb130522ed593e9432",
      "tree": "be6e579d648bb398ae43c9c4a15f4aa01760a41b",
      "parents": [
        "f255369091d48ba7475ee4aae840a8a9c7a15f07",
        "f1047e87767be1acd2c32f4d36028d1d0014f4c0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 17 17:53:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 17:53:28 2018 +0000"
      },
      "message": "Merge \"audioflinger: filter out reserved keys from setParameters()\" into pi-dev"
    },
    {
      "commit": "b3015a96982378dfe6ac5578f941c3480d303816",
      "tree": "3a345235085043df7704cd5c15f66244050723a2",
      "parents": [
        "56f91c54055d2d36b19d22abf391004fb1d9843e",
        "f255369091d48ba7475ee4aae840a8a9c7a15f07"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 17 10:15:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 17 10:15:36 2018 -0700"
      },
      "message": "Merge changes from topic \"silence_mmap_capture_fix\" into pi-dev\nam: f255369091\n\nChange-Id: I2e7140f8c5ff6fb26783adcc38c03641a2e0aac8\n"
    },
    {
      "commit": "f255369091d48ba7475ee4aae840a8a9c7a15f07",
      "tree": "41a75f7dece0aae3664a6ab896535580bd38a85d",
      "parents": [
        "85d2e91d3cb2faaf42338df28d34c1cc1bc968bd",
        "0389387677385a5ab0341e7505258f489e5aacf5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 17 16:55:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 16:55:26 2018 +0000"
      },
      "message": "Merge changes from topic \"silence_mmap_capture_fix\" into pi-dev\n\n* changes:\n  audiopolicy: fix shared mmap capture\n  audioflinger: fix mmap interface callback lock\n  Revert \"Revert \"audioflinger: implement silenced capture for mmap\"\"\n"
    },
    {
      "commit": "f1047e87767be1acd2c32f4d36028d1d0014f4c0",
      "tree": "4affc2ed3ee3f81e94f90dd4d3a012afa0ee364e",
      "parents": [
        "554e08c6b00b2a57348f4545d450915a9e8c870a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 19:18:20 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 17 09:45:32 2018 -0700"
      },
      "message": "audioflinger: filter out reserved keys from setParameters()\n\nOnly allow setParameters() for reserved keys when received from\naudioserver UID. For instance, keys used to control routing or audio\nstream configuration are reserved for use by audio policy manager.\n\nAlso use multiuser_get_app_id() instead of duplicated code to\nextract application ID from UID.\n\nBug: 77869640\nTest: manual audio smoke tests.\nChange-Id: I88852e8fddf7f705e4a084fc02d9ced1f4b0de92\n"
    },
    {
      "commit": "56f91c54055d2d36b19d22abf391004fb1d9843e",
      "tree": "7611968dd6e86273c66464a67057c4b72606e66c",
      "parents": [
        "f0d93bf6e4955892e9ae76c158e226ce9dec758a",
        "85d2e91d3cb2faaf42338df28d34c1cc1bc968bd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 17 07:50:30 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 17 07:50:30 2018 -0700"
      },
      "message": "Merge \"Make AudioPolicyManager::getInputForDevice prefer profile match on input fast flag\" into pi-dev\nam: 85d2e91d3c\n\nChange-Id: I53a34a352c845373aca3f8441c5e15db5f7c58e0\n"
    },
    {
      "commit": "85d2e91d3cb2faaf42338df28d34c1cc1bc968bd",
      "tree": "da64b9ee9d8f23b0dfa295ffd241121bb924d17f",
      "parents": [
        "554e08c6b00b2a57348f4545d450915a9e8c870a",
        "730b926555ccb9ad5f7d4c47bf01ade526cceef0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 17 14:39:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 14:39:19 2018 +0000"
      },
      "message": "Merge \"Make AudioPolicyManager::getInputForDevice prefer profile match on input fast flag\" into pi-dev"
    },
    {
      "commit": "f0d93bf6e4955892e9ae76c158e226ce9dec758a",
      "tree": "da4697cf6ccff34fe53c071ab1d3386ea059d0cc",
      "parents": [
        "3fab4693929df83e5963f68e4f40d1d20a16bc0e",
        "554e08c6b00b2a57348f4545d450915a9e8c870a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 17:29:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 16 17:29:43 2018 -0700"
      },
      "message": "Merge \"Revert \"audioflinger: implement silenced capture for mmap\"\" into pi-dev\nam: 554e08c6b0\n\nChange-Id: I4844d586d7e0916bf1308d663ad486445021a125\n"
    },
    {
      "commit": "0389387677385a5ab0341e7505258f489e5aacf5",
      "tree": "2120e789a785be627628652b86aa3e66c832b057",
      "parents": [
        "734046ead103df5ec86b1dbd29e9945034a1ecb0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 16:53:54 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 17:08:26 2018 -0700"
      },
      "message": "audiopolicy: fix shared mmap capture\n\nChange default maxActiveCount for MMAP input profiles to 0 (unlimited)\nto enable simultaneaous capture by several streams in shared mmap mode.\n\nBug: 72134552\nTest: \u0027adb shell write_sine_callback -m3 -pl -s100 -x\u0027 and Plug headphones in and out.\nTest: AAudio CTS tests\n\nChange-Id: I8743c2a8afb043c20babf8716878e5ca44bd72a4\n"
    },
    {
      "commit": "734046ead103df5ec86b1dbd29e9945034a1ecb0",
      "tree": "910d09f7cd3a19d24b6f3e563db9553e07b7d6a4",
      "parents": [
        "331679c8a5cd21a0e6a7a1d851e965e4721f7420"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 14:50:52 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 17:08:06 2018 -0700"
      },
      "message": "audioflinger: fix mmap interface callback lock\n\nDo not hold the MmapThread mutex when calling methods on\nMmapStreamCallback as AAudioService will synchronously call\nmethods on MmapStreamInterface that will in turn acquire the mutex.\n\nBug: 78118584\nTest: \u0027adb shell write_sine_callback -m3 -pl -s100 -x\u0027 and Plug headphones in and out.\nTest: AAudio CTS tests\n\nChange-Id: I5953bb449e67735271203a2e1dbef0a2b451f5d3\n"
    },
    {
      "commit": "331679c8a5cd21a0e6a7a1d851e965e4721f7420",
      "tree": "9e3835bb805631ca42a90ded01796b73307a4642",
      "parents": [
        "554e08c6b00b2a57348f4545d450915a9e8c870a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 17:03:16 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 17:08:06 2018 -0700"
      },
      "message": "Revert \"Revert \"audioflinger: implement silenced capture for mmap\"\"\n\nThis reverts commit 611ebb95e76c230214780b7b583b8a3c5277ac7a.\n\nBug: 78118584\nbug: 72134552\nTest: \u0027adb shell write_sine_callback -m3 -pl -s100 -x\u0027 and Plug headphones in and out.\nTest: AAudio CTS tests\nChange-Id: I7558ad7b9c6c2d352ebce105382fe914c26fd35e\n"
    },
    {
      "commit": "554e08c6b00b2a57348f4545d450915a9e8c870a",
      "tree": "b66615256ee7a7eeac8a7e54c54c2fd872a3fdd0",
      "parents": [
        "c620796251df712274c16858c76628d802bbb4b1",
        "611ebb95e76c230214780b7b583b8a3c5277ac7a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 16 23:52:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 23:52:19 2018 +0000"
      },
      "message": "Merge \"Revert \"audioflinger: implement silenced capture for mmap\"\" into pi-dev"
    },
    {
      "commit": "23dc173c4f50a87ee6cd1ec1eb7c8041acd39012",
      "tree": "42a911e9f9a19bfafc68404b5abdd5cc0601a762",
      "parents": [
        "0ab5cce82dea09f921f5cdceee2bc06252fd8d01",
        "ef22118bd17471d63040015df8e3f77230a9d2af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 16:17:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 16 16:17:56 2018 -0700"
      },
      "message": "Merge \"audiopolicy: clear caller identity before calling audio policy manager\" into pi-dev\nam: ef22118bd1\n\nChange-Id: I2fe15c27a0b8502510b27e6f9e3ec04e698374c3\n"
    },
    {
      "commit": "ef22118bd17471d63040015df8e3f77230a9d2af",
      "tree": "2f1f93e3d39e322b6b312fb48d199eb66b7d5a17",
      "parents": [
        "4dce3415f7b9be55f0a889dc0451d3931b2060bb",
        "10b7123bd6ce29fe756422aeedc5cfe469c4309f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 22:20:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 22:20:06 2018 +0000"
      },
      "message": "Merge \"audiopolicy: clear caller identity before calling audio policy manager\" into pi-dev"
    },
    {
      "commit": "611ebb95e76c230214780b7b583b8a3c5277ac7a",
      "tree": "1c8ef30309a0954a51a6b4c872f30ca399f064d2",
      "parents": [
        "a2f478ca0b2bda8db9b321f0cfa9e9d3cf6130f9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 19:43:59 2018 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 19:43:59 2018 +0000"
      },
      "message": "Revert \"audioflinger: implement silenced capture for mmap\"\n\nThis reverts commit a2f478ca0b2bda8db9b321f0cfa9e9d3cf6130f9.\n\nBug: 78118584\nChange-Id: Ie0da3dea445f2474c7a889c5f9919305c1c96d40\n"
    },
    {
      "commit": "730b926555ccb9ad5f7d4c47bf01ade526cceef0",
      "tree": "86d3404a2113dca7252c57f56829ec73d8569690",
      "parents": [
        "c4b259a584be3e7dc9aad83e0ead06c913ceb998"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 29 15:01:26 2018 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 16 12:16:16 2018 -0700"
      },
      "message": "Make AudioPolicyManager::getInputForDevice prefer profile match on input fast flag\n\nBug: 77292903\nTest: log name of selected profile\nChange-Id: Idad75627f399f01f353d49d5fd78d7cdb2953d60\n"
    },
    {
      "commit": "37bca533ccb05523407abb2b3907ddf67277e8fa",
      "tree": "3fc19a46879cb183a4d4af708cf7a62fd5d89822",
      "parents": [
        "ab45dbb1e9d0aaf354121d1cbd19f6eb92aa8625",
        "6c23e5b1dfa4a3764555b35e74cff938b56e7f99"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Apr 14 19:21:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 14 19:21:24 2018 -0700"
      },
      "message": "Merge \"AudioPolicy: fix volume curve query for min/max index\" into pi-dev\nam: 6c23e5b1df\n\nChange-Id: Ie9533d5bfc5d8e22a9edc0a5e376420e30f95196\n"
    },
    {
      "commit": "6c23e5b1dfa4a3764555b35e74cff938b56e7f99",
      "tree": "02c622b05cc49e81d2251167e2f229c5c072f86a",
      "parents": [
        "47887b0b5262f12f2bfbd04b4c4f8b6b62173b87",
        "1443bf8fff29b94470819aa1647bbc98d5780436"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 14 02:08:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 14 02:08:20 2018 +0000"
      },
      "message": "Merge \"AudioPolicy: fix volume curve query for min/max index\" into pi-dev"
    },
    {
      "commit": "10b7123bd6ce29fe756422aeedc5cfe469c4309f",
      "tree": "340803c949b9500ce5e2873fbf874fcec782fd3f",
      "parents": [
        "258fb48d1498c8d34d6877700db993938cc89f71"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 13 18:14:44 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 13 18:18:49 2018 -0700"
      },
      "message": "audiopolicy: clear caller identity before calling audio policy manager\n\nAudio policy manager methods must always be executed with the\nlevel of priviledge of audioserver process.\nAfter checking calling permissions, audio policy service will\nclear binder caller identity before calling into audio policy manager.\n\nAlso add restrictions for start source and stop source binder\ntransactions.\n\nBug: 77869640\nTest: manual audio smoke tests\nChange-Id: I993d4fddcea9bfa3f44093c38406b85d69ca8890\n"
    },
    {
      "commit": "1443bf8fff29b94470819aa1647bbc98d5780436",
      "tree": "1dd2f79f5e3807101c757fad512cd6af5a993a8b",
      "parents": [
        "247cc0a3c81ec629a2ae51b40bdcb2afc0e94210"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Apr 13 17:46:54 2018 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Apr 13 17:46:54 2018 -0700"
      },
      "message": "AudioPolicy: fix volume curve query for min/max index\n\nFunction to look up dB attenuation from index in volume curve\n  didn\u0027t check against invalid index values.\n\nBug: 77731632\nTest: cts-tradefed run cts-dev -m CtsMediaTestCases -t android.media.cts.AudioManagerTest#testGetStreamVolumeDb\nChange-Id: Ia89cdbe84dcd586f54b5d08de3774054197aada0\n"
    },
    {
      "commit": "decf6e8b1a28d6e760636921dc2d24adf711a5bd",
      "tree": "2c23780c400e21a3e229f798b58f0549424542c4",
      "parents": [
        "211960bf9eb37ce2921e1caf2967ff9682f32355",
        "7d156a0e9002ad4d9aef10093f3fd483b68f7684"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 13 12:30:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 13 12:30:38 2018 -0700"
      },
      "message": "Merge \"aaudio: cleanup logs and add counters to dumpsys\" into pi-dev\nam: 7d156a0e90\n\nChange-Id: I52e558de58a134bd6ceff9b82870e1a0260037ac\n"
    },
    {
      "commit": "55e5eabf96af5a2964bfab1e64d81ad9be9ac975",
      "tree": "46127c87c1c2100d983c4bfbb611ec85bc6067b8",
      "parents": [
        "b8bddf5ece276f01052ad9b706417fd8cfe72d90"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Apr 10 15:16:38 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 13 18:14:20 2018 +0000"
      },
      "message": "aaudio: cleanup logs and add counters to dumpsys\n\nCounters will give us some history for AAudio.\nRemoved some unneeded logs.\nAdded log to help debug intermittent volume problem.\n\nBug: 64310586\nTest: adb shell logcat\nTest: adb shell dumpsys media.aaudio\nChange-Id: I012361bb4d0d0bfdedfe5ceef856b59282c8d3f0\n"
    },
    {
      "commit": "d25975fd2a84fa2bdc2f1b230d8ce1b3ffb683db",
      "tree": "dea0abd4e315faf0f7d8db96d54ec3749a1f59e6",
      "parents": [
        "476d050d3d4044b78a37b98411e33cc5f92d9b2d",
        "258fb48d1498c8d34d6877700db993938cc89f71"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 13 08:21:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 13 08:21:28 2018 -0700"
      },
      "message": "Merge \"audio policy: make input device selection more consistent\" into pi-dev\nam: 258fb48d14\n\nChange-Id: I0a66540bd05d6e376fde5e24c5a2bdf0f1776a95\n"
    },
    {
      "commit": "258fb48d1498c8d34d6877700db993938cc89f71",
      "tree": "cec857b4eae1562b17b5a1e37faeadd3cbe2064b",
      "parents": [
        "c16f23e399969e9d82f0b245afb0870fa448e78e",
        "dc95a25769edbe9c47efd1e25962dbd399056157"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 13 15:14:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 13 15:14:34 2018 +0000"
      },
      "message": "Merge \"audio policy: make input device selection more consistent\" into pi-dev"
    },
    {
      "commit": "dc95a25769edbe9c47efd1e25962dbd399056157",
      "tree": "eccaa28c2227d69213c7649cb191a96e3e6b23b6",
      "parents": [
        "9fc25229e0723c93b453ab34957f22a643e2b602"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 12 12:46:56 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 12 18:33:50 2018 -0700"
      },
      "message": "audio policy: make input device selection more consistent\n\nMove logic forcing capture device selection when in call\nto engine so that the selection made when opening a capture stream\nis consistent with the selection made when starting the stream.\n\nBug: 73148976\nTest: manual with Oboe tester\nChange-Id: Iee91ffff7d06fc98fdb2c6b54ff1528e7a82596d\n"
    },
    {
      "commit": "476d050d3d4044b78a37b98411e33cc5f92d9b2d",
      "tree": "8bed5d50f8d97ebbb323e0ff3564cdba0d708a3c",
      "parents": [
        "43e143a93a1a730354ed0913c73b50a614599981",
        "c16f23e399969e9d82f0b245afb0870fa448e78e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 12 18:22:59 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 12 18:22:59 2018 -0700"
      },
      "message": "Merge \"audioflinger: implement silenced capture for mmap\" into pi-dev\nam: c16f23e399\n\nChange-Id: I14571f66f097e067edc8b93f0eeaf2c778f1c962\n"
    },
    {
      "commit": "c16f23e399969e9d82f0b245afb0870fa448e78e",
      "tree": "39c75acf7d8a311cce349d3edf4f0dd89d0873da",
      "parents": [
        "247cc0a3c81ec629a2ae51b40bdcb2afc0e94210",
        "a2f478ca0b2bda8db9b321f0cfa9e9d3cf6130f9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 13 00:39:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 13 00:39:54 2018 +0000"
      },
      "message": "Merge \"audioflinger: implement silenced capture for mmap\" into pi-dev"
    },
    {
      "commit": "43e143a93a1a730354ed0913c73b50a614599981",
      "tree": "9eaa8fca368c54db2e3d72d4e21b5b5e0ab194d1",
      "parents": [
        "7443db745b663f6fe53497e2dbabd93e00db6fb3",
        "247cc0a3c81ec629a2ae51b40bdcb2afc0e94210"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Apr 12 15:17:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 12 15:17:01 2018 -0700"
      },
      "message": "Merge \"Exclude MediaComponents from the build.\" into pi-dev\nam: 247cc0a3c8\n\nChange-Id: I5dcad14f686e46b55a8becc9ea6d92ae45777fb7\n"
    },
    {
      "commit": "247cc0a3c81ec629a2ae51b40bdcb2afc0e94210",
      "tree": "278d7082ea421c41b98a674ace1c4923b620e51f",
      "parents": [
        "c0959648b4a3d73212cd16c1f03289eadcbacae0",
        "262081a2dd8e3fdc1e1eddeb1a39a097235e0376"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 12 20:54:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 12 20:54:47 2018 +0000"
      },
      "message": "Merge \"Exclude MediaComponents from the build.\" into pi-dev"
    },
    {
      "commit": "d78d50ba4dec2e58e6b5ae1a0ab726aa216d112c",
      "tree": "c6776c8d30ecfd5962ee02d74cd9e89826734220",
      "parents": [
        "7b0d7c66ee66a93de00c2649839ae3284888c35b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Apr 11 16:51:29 2018 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Apr 12 09:32:30 2018 -0700"
      },
      "message": "Only include crash_dump.policy on usable archs.\n\ncrash_dump.policy is not built for mips. Here, it\u0027s\nonly included when it is needed to be included.\n\nBug: 7456955\nTest: required module always exists (error goes away)\nChange-Id: Id99cdba831327348033e5e35a7018ad88831de7d\n"
    },
    {
      "commit": "7b0d7c66ee66a93de00c2649839ae3284888c35b",
      "tree": "c6426506a8b127ad11f4fcb954a476038e08f1cf",
      "parents": [
        "762cf9d08b4cdc1c99733dd69d943f6bcd7817e0",
        "fe463237ab61459ddc30120962c51fb089d25ec4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Apr 12 03:00:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 12 03:00:50 2018 -0700"
      },
      "message": "Merge \"AudioFlinger: input thread dump shows if RecordTrack is silenced\" into pi-dev\nam: fe463237ab\n\nChange-Id: I6d803b49f240b19a035076a4f8a5910b5dfe7e85\n"
    },
    {
      "commit": "fe463237ab61459ddc30120962c51fb089d25ec4",
      "tree": "651656f0c3ca3b0a693f2a675dd5e775ad17284c",
      "parents": [
        "b856955f27ca4ae146e940ab8a4ababab04d8e35",
        "7d665abb442a84d82760d88d228914a116e34532"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 12 09:53:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 12 09:53:21 2018 +0000"
      },
      "message": "Merge \"AudioFlinger: input thread dump shows if RecordTrack is silenced\" into pi-dev"
    },
    {
      "commit": "a2f478ca0b2bda8db9b321f0cfa9e9d3cf6130f9",
      "tree": "00e39e41acac99cc35c292c65c7bca60973fdd5a",
      "parents": [
        "9fc25229e0723c93b453ab34957f22a643e2b602"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 10 19:09:40 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 11 19:07:45 2018 -0700"
      },
      "message": "audioflinger: implement silenced capture for mmap\n\nImplement silencing of audio capture for idle UIDs for\nMMAP streams.\n\nUse audio HAL setMicGain() API to silence the mmap buffer for\nexclusive mode and when only one client is active in shared mode.\n\nAdd new MmapStreamCallback method onStreamSilenced() for AAudio\nservice to selectively silence streams from silenced UIDs in\nshared mode.\n\nBug: 72134552\nTest: manual\nChange-Id: I7c92ba0002bc5ba003c1a3c887edddf9ae53b538\n"
    },
    {
      "commit": "7d665abb442a84d82760d88d228914a116e34532",
      "tree": "4ea9c0a7b93749bf20b89d3eb10acc4d751cfa65",
      "parents": [
        "7121c67c340048fb520cd71bf510769140cc5bcd"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 11 17:26:51 2018 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 11 17:26:51 2018 -0700"
      },
      "message": "AudioFlinger: input thread dump shows if RecordTrack is silenced\n\nFor each record thread, show if tracks are \u0027s\u0027ilenced\n  or \u0027n\u0027ormal\n\nBug: 70304055\nTest: during recording: adb shell dumpsys media.audio_flinger\n   look at active tracks under \"Input thread\"\n\nChange-Id: I8b745bd5f8a9b6b228129dd8981acea7fb230acd\n"
    },
    {
      "commit": "1baeb9c3e60e12ae71e4a4eeb7b7663eb615b6b3",
      "tree": "f3dd8a29ff916be9d95904d491d437ac52572f09",
      "parents": [
        "5ce978a6f503e72d529665b2acf9ba0011e4cbda",
        "c1428baf1badc3e5ea817d6266f42b2719374ed2"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Apr 11 17:24:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 11 17:24:34 2018 -0700"
      },
      "message": "Merge changes I53055724,I06914911 into pi-dev\nam: c1428baf1b\n\nChange-Id: I87124972884cc8aafa51d346ba97ff2895514dc9\n"
    },
    {
      "commit": "c1428baf1badc3e5ea817d6266f42b2719374ed2",
      "tree": "706631b0f16acc5a19180ebdef764a99364b4946",
      "parents": [
        "6bcc99198f9be597705be1277977828037d48a1d",
        "b0eeaf121e896f7158ee9961cb9009554d37e53e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 11 23:54:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 23:54:19 2018 +0000"
      },
      "message": "Merge changes I53055724,I06914911 into pi-dev\n\n* changes:\n  Send stream volume to fast track\n  Revert \"Revert \"Audio V4: Send volume and duplicated track attr in update metadata\"\"\n"
    },
    {
      "commit": "f180c134d8281399e7f0b1a35162301de11ba002",
      "tree": "b5efb1cdf57dbd751f8df08bf2315660ef0b5a31",
      "parents": [
        "8b08ffadf01f448c9238a27cde0b4dba5aa2143e",
        "ec84cede0192c5fe0d0b87f1a1865a75e6d14f38"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Apr 11 12:42:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 11 12:42:35 2018 -0700"
      },
      "message": "Merge \"Revert \"Audio V4: Send volume and duplicated track attr in update metadata\"\" into pi-dev\nam: ec84cede01\n\nChange-Id: If772d48544f184a5e9fc5847fb8ef3cc41dd888f\n"
    }
  ],
  "next": "8b08ffadf01f448c9238a27cde0b4dba5aa2143e"
}
