)]}'
{
  "log": [
    {
      "commit": "a9f86651eaaf2f702b3759ec38dbb64ca8858356",
      "tree": "913a55b14107e7f94335bec0ad6705f9557255a0",
      "parents": [
        "c241b0dfc49014087123dae92f7341db8d30d443"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 28 17:23:11 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 19 18:05:00 2018 -0800"
      },
      "message": "audo policy: more info in onRecordingConfigurationUpdate\n\nReport more information in onRecordingConfigurationUpdate() callback:\n- For client:\n  - Port ID\n  - Enabled effects\n  - Silenced by policy\n- For stream:\n  - Active effects\n  - Active audio source\n\nBug: 111438757\nTest: make\nChange-Id: I34c3d0ee6251576de7d793bfaa2bc2c34efa2319\n"
    },
    {
      "commit": "c241b0dfc49014087123dae92f7341db8d30d443",
      "tree": "9662b3ddd3860f1043da86eea159698331dfb81f",
      "parents": [
        "424993f0655c18f91562efc9d127f0ac970da6fa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 28 09:08:49 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 19 12:45:47 2018 -0800"
      },
      "message": "audo policy: add effects to record clients\n\nAdd list of active effects on input streams and record\nclients for further reporting in AudioRecordingConfiguration.\n\nBug: 111438757\nTest: make and dumpsys\nChange-Id: I1ae00d2431c80b053f67e2b780f368d5a4822b01\n"
    },
    {
      "commit": "be66832f179d3be62df739254024efc658283a06",
      "tree": "767ddef3a71e2f517642de7f7d61e7a48178752e",
      "parents": [
        "50bd488853b89affa35aeb97a581d5031579b0f7",
        "ff0508b3d64e54829b69170adace3bbea4f6a5b6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 04:42:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 19 04:42:51 2018 +0000"
      },
      "message": "Merge \"Convert MPEG2 extractor to V3 format\""
    },
    {
      "commit": "ff0508b3d64e54829b69170adace3bbea4f6a5b6",
      "tree": "07a6bedb573eccac1664985112fc22b0b7b3d6a1",
      "parents": [
        "48d4fff79246d1a988b5538f9f9db5fc57746f9c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 15:17:58 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 18 12:50:30 2018 -0800"
      },
      "message": "Convert MPEG2 extractor to V3 format\n\nand move it to the media APEX.\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Ibcbdd0e901e9d79b5a857b5d0a65bd6b1ec675a6\n"
    },
    {
      "commit": "9c190055c9d2fb666b6b01dcba86db8fa4182e13",
      "tree": "32bd3518dc6edbc412af3ee1e37d30e505c84256",
      "parents": [
        "caa66fd2eafb04ddd002f8f1bc4e5fabcb8c8591",
        "cfd2830436e4bd400c4bf9c223642ef567c5aa6e"
      ],
      "author": {
        "name": "Michael Groover",
        "email": "mpgroover@google.com",
        "time": "Tue Dec 18 20:48:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 20:48:38 2018 +0000"
      },
      "message": "Merge \"Prevent recording when sensor privacy is enabled\""
    },
    {
      "commit": "cfd2830436e4bd400c4bf9c223642ef567c5aa6e",
      "tree": "48b0ac20dd90fba526d31467e6058fc7c7c965e1",
      "parents": [
        "e21f3418be2e323ad1ed64d79f862474f2c98c76"
      ],
      "author": {
        "name": "Michael Groover",
        "email": "mpgroover@google.com",
        "time": "Tue Dec 11 19:16:46 2018 -0800"
      },
      "committer": {
        "name": "Michael Groover",
        "email": "mpgroover@google.com",
        "time": "Tue Dec 18 10:59:53 2018 -0800"
      },
      "message": "Prevent recording when sensor privacy is enabled\n\nTest: Manually verified audio was not recorded when sensor privacy \\\n      was enabled.\nBug: 110842805\n\nChange-Id: I3bb966d9322e258a8aba43fb4e9f65badd7c3506\n"
    },
    {
      "commit": "21f0854d4e799f221b5da8105bd9c8bdffaaf15c",
      "tree": "63dc6ea0c16a095777a5c93d2db053c7d2c751c1",
      "parents": [
        "48d4fff79246d1a988b5538f9f9db5fc57746f9c"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Tue Dec 18 07:39:15 2018 -0800"
      },
      "committer": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Tue Dec 18 07:39:15 2018 -0800"
      },
      "message": "Disable Scudo\u0027s mismatch check for media_swcodec\n\nSome third party code is triggering the mismatch allocation check\nresulting in the service being terminated. Given that those mismatches\nhave fairly low security implications and that said code cannot be\nimmediately fixed, disable the check for now.\n\nTest: media post submit test suite\nBug: 121178348\nChange-Id: If9601d719969e590b80ab50c016903fb459c0cdf\n"
    },
    {
      "commit": "c1b140c7139be5f3125e503354b871925ca6d652",
      "tree": "16e8134d3470e066565496528cb61f97a7164c77",
      "parents": [
        "153e7299ffb0e7336f5290cf43c6410fa11410e4",
        "b2dec569274e175e5b81ec2d9baa432e0da5e563"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Mon Dec 17 15:55:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 17 15:55:37 2018 +0000"
      },
      "message": "Merge \"Enable Scudo for mediaswcodec\""
    },
    {
      "commit": "8c3773d839cb2127eafeae4619f98150d1ea2d3d",
      "tree": "174e2cf11b754bebf0df4e774e32b8dcab14764b",
      "parents": [
        "5beb4810060cda2afea1c89f98caf5c337763c0a",
        "e92a5c7d3b0face0059566118e68d19c95284f39"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 21:36:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 14 21:36:31 2018 +0000"
      },
      "message": "Merge \"Convert OggExtractor to V3 format\""
    },
    {
      "commit": "bcfd6df4b678246993f3c6ae12c0027aba041aa2",
      "tree": "96e5994ae90850b213b3d11d4691a8bf51691e63",
      "parents": [
        "762365c3ee5f212d4995e002e1c53b221b587c92",
        "aca677cf5fbd2a2d5aaccae3af4da6c1d700eb93"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 14 16:32:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 14 16:32:13 2018 +0000"
      },
      "message": "Merge changes Ie37a2d9d,I3ed8c7d7,I6ed11be0,Idc2e1ccd\n\n* changes:\n  audiopolicy: common: add several helper function on DeviceDesc\n  audiopolicy: update type convertion library\n  audiopolicy: apm: connectAudioSource: use Sw brigding according to hal support\n  audiopolicy: Fix sofware bridge creation for AudioHAL supporting routing APIs\n"
    },
    {
      "commit": "762365c3ee5f212d4995e002e1c53b221b587c92",
      "tree": "ec2322a17d6bb3c9c741f0b6915239c70fa161a0",
      "parents": [
        "d00c4607a5f7d25dfe925a20a1fc5fd7cfcee67a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 10 16:02:16 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Dec 13 17:39:26 2018 -0800"
      },
      "message": "aaudio: suspend a stream when its queue is full\n\nThis will prevent log spam when AAUDIO_CALLBACK_RESULT_STOP\nis returned from an audio callback.\n\nBug: 120845500\nTest: test_return_stop.cpp\nChange-Id: Icfe1541d6fa7b045285ac3dfbb75dfed5424d49b\n"
    },
    {
      "commit": "aca677cf5fbd2a2d5aaccae3af4da6c1d700eb93",
      "tree": "c331bde769a019c47dccc80c09a0c3f8190a8661",
      "parents": [
        "2b167173e145d8846c9a248039f0f4dc423ade73"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu May 03 10:47:50 2018 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 13 17:24:46 2018 -0800"
      },
      "message": "audiopolicy: common: add several helper function on DeviceDesc\n\n-Add another DeviceVector constructor to simplify usage\n-report tagname as port name\n-migrate API from apm\n-search/filter helpers\n\nTest: Audio smoke tests.\nTest: CTS tests for AudioRecord, AudioTrack and AudioEffect\n\nChange-Id: Ie37a2d9db2e8a15a37743e7129159fa77a4c6b51\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "2b167173e145d8846c9a248039f0f4dc423ade73",
      "tree": "395f2c76fd05edb48c42ab76f5c2eb6994a04675",
      "parents": [
        "83d789d6234f5cd5eb90f02a47ab04d4f6ea8299"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Jun 04 16:05:14 2018 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 13 17:24:46 2018 -0800"
      },
      "message": "audiopolicy: update type convertion library\n\nTest: Audio smoke tests.\nTest: CTS tests for AudioRecord, AudioTrack and AudioEffect\n\nChange-Id: I3ed8c7d7ee8a97f0bd41a5ae9f28d673994d7f07\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "83d789d6234f5cd5eb90f02a47ab04d4f6ea8299",
      "tree": "73e9caf4a7eb025194119abb51236609b6adef31",
      "parents": [
        "99896dab5f368916c86acb97e82bf72c86a14922"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue May 29 13:29:19 2018 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 13 17:24:46 2018 -0800"
      },
      "message": "audiopolicy: apm: connectAudioSource: use Sw brigding according to hal support\n\nEven if the implementation is not ready, this patch updates the conditions\nof audio patch creation delegation to audio hal not only if HAL\nis at least supporting 3.0 routing API but also has declared within\npolicy configuration file that a route between Device port is supported.\n\nIf the route is not declared in configuration file, Audio HAL is not able\nto do the connexion, let AudioFlinger do the the Sw Bridging.\n\nTest: Audio smoke tests.\nTest: CTS tests for AudioRecord, AudioTrack and AudioEffect\n\nChange-Id: I6ed11be04473be2edfcf16e922d1c6864184b6cd\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "99896dab5f368916c86acb97e82bf72c86a14922",
      "tree": "67cc39b5e30b396ce6f62cbac583e373c9919515",
      "parents": [
        "d00c4607a5f7d25dfe925a20a1fc5fd7cfcee67a"
      ],
      "author": {
        "name": "Francois Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Apr 09 11:05:33 2018 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 13 17:21:41 2018 -0800"
      },
      "message": "audiopolicy: Fix sofware bridge creation for AudioHAL supporting routing APIs\n\nAudioPolicy roughly checks if HAL supports routing APIs 3.0 to enable or\nnot software bridge in case of device to device patch requests.\n\nHowever, Audio HAL declares in XML file routes supported. AudioPolicy\nshall refine its decision upon information available in the policy configuration\nfile.\n\nTest: Audio smoke tests.\nTest: CTS tests for AudioRecord, AudioTrack and AudioEffect\n\nChange-Id: Idc2e1ccd7d9fb6385f9a05ee002bec045e608232\nSigned-off-by: Francois Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "d00c4607a5f7d25dfe925a20a1fc5fd7cfcee67a",
      "tree": "a10c63ea495cd157ae091a0376ebc4e41dc1bb14",
      "parents": [
        "61cf6c171c70c771c8de83549d99a979d37b5e4e",
        "bb93dfb7823e6abe4d4d7862559599803da1ad01"
      ],
      "author": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Fri Dec 14 00:58:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 14 00:58:25 2018 +0000"
      },
      "message": "Merge \"In favor of SW patch in AudioPolicyManager::connectAudioSource\""
    },
    {
      "commit": "ef4b27d1d1123b452316f722a0eacc282d3fa94a",
      "tree": "a0acf7f1501bebe58caa1fb15fc118072b71a305",
      "parents": [
        "dd44e3c5f2d199589c040a422b3e343c796bd362",
        "538d53267bee085e08d489546bde620520b5b188"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 13 16:23:10 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 13 16:23:10 2018 -0800"
      },
      "message": "Merge \"Fix performance-for-range-copy warnings\" am: 1ce37f1de3 am: c9584831bc\nam: 538d53267b\n\nChange-Id: I15dfaa7eb997c7caf497b488384477952513cef7\n"
    },
    {
      "commit": "e92a5c7d3b0face0059566118e68d19c95284f39",
      "tree": "2001e358d8195313a65d4e7c682b6a11ae3f96ed",
      "parents": [
        "706e8765fb5809e6814f156981de45675e88fbad"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 13 09:52:38 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 13 15:46:05 2018 -0800"
      },
      "message": "Convert OggExtractor to V3 format\n\nand move it to the media APEX.\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Ia6b6edc42f8bb374d4cc07888fb0f45030ca462f\n"
    },
    {
      "commit": "538d53267bee085e08d489546bde620520b5b188",
      "tree": "ad1f76cc15a1b1f1b6ccc223884e651a321ce77d",
      "parents": [
        "7dac08bb5b0750188e4cc5ffcf6330c1351cd759",
        "c9584831bc346189dbc09e3301111d74a4c8602d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 13 15:34:27 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 13 15:34:27 2018 -0800"
      },
      "message": "Merge \"Fix performance-for-range-copy warnings\" am: 1ce37f1de3\nam: c9584831bc\n\nChange-Id: Ie1ce6c4e3f89aaec185947473cdd437fb5d2cb63\n"
    },
    {
      "commit": "1ce37f1de3f7185ccffd4d9145b036941a582fe4",
      "tree": "f9bc06168767ceabcc6c1732e4bf4a3d24abf802",
      "parents": [
        "ebd8c69ac531cfcb6aa05a96e8cba604008bd6f0",
        "3ef324d11cc4b6f84c147998fcf02c3a528fc2b8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 13 21:28:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 21:28:33 2018 +0000"
      },
      "message": "Merge \"Fix performance-for-range-copy warnings\""
    },
    {
      "commit": "b2dec569274e175e5b81ec2d9baa432e0da5e563",
      "tree": "8e1732e122928e9de4a0fd807f6860a12d808eef",
      "parents": [
        "20478518b4b01195f7aa473e12ee2b29509667b8"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Thu Dec 06 08:07:28 2018 -0800"
      },
      "committer": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Thu Dec 13 18:21:57 2018 +0000"
      },
      "message": "Enable Scudo for mediaswcodec\n\nScudo is a hardened usermode allocator that aims at mitigating\nheap-based vulnerabilities (heap overflow, double free, etc).\n\nSee go/scudo-allocator for more information.\n\nThis change enables the allocator for the mediaswcodec service,\neffectively linking in the Scudo dynamic library to the binary.\nAllocation functions will be serviced by the allocator.\n\nThe observed impact on the memory footprint of the service is about a\n500k increase to the RSS (due to the Quarantine and chunk headers\noverhead), and the MediaCts tests pass without any issue I could see.\n\nIn the event of a heap bug detected, the allocator will abort the\nprocess with a \u0027Scudo ERROR\u0027 message in the log followed by the cause\n(corrupted header, invalid state \u0026 so on) and the stack trace.\n\nTest: CtsMediaTestCases on a marlin\nBug: 63907455\nChange-Id: I751af455c002a59ccc4d89cd1e29743036f27708\n"
    },
    {
      "commit": "c656c8df182f2b7a1ad0d692ad7730e9c3c4c293",
      "tree": "4dc69c70343e1e8d203502ccfed34c6ff5c116c2",
      "parents": [
        "20478518b4b01195f7aa473e12ee2b29509667b8"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Dec 13 09:56:33 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Dec 13 09:56:33 2018 -0800"
      },
      "message": "Move MKV/MP4 extractors to APEX\n\nTest: make systemimage on marlin\nBug: 111407253\nChange-Id: Icd90893f7498090ea9d8cbe29f3845e98d794ebc\n"
    },
    {
      "commit": "92466dd60772c38e563ec42b6b06ef5185d68396",
      "tree": "afb475ba5c923b6ab35354b896c04f84640deb3e",
      "parents": [
        "b21b5ab7c6f9925c8b63d79cefcfbd2d633868d2",
        "18343452006468a83457b9623b082f64fb479169"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 13 05:45:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 05:45:21 2018 +0000"
      },
      "message": "Merge \"DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master\""
    },
    {
      "commit": "9f4d651815e3089d2019a9fcf42e9b6eced6b1cd",
      "tree": "6cca21fe4726496e8a48df33c1c8bd6ed174cc63",
      "parents": [
        "156082a18c9186359d2a6bf434d76c338c8db43f",
        "dd6da3e10b2757a059165d636b0927392e745a9d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 13 02:07:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 13 02:07:25 2018 +0000"
      },
      "message": "Merge \"Audio Policy: enable surround sound configuration in xml\""
    },
    {
      "commit": "156082a18c9186359d2a6bf434d76c338c8db43f",
      "tree": "80f54757c3d57f1381848e13d0ad9259fd43f62a",
      "parents": [
        "7c5bd0396a8246299051e95d6dc96d0e226061d1",
        "f652118da25973feedf3593f50a0854d97e951bd"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Dec 13 00:53:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 13 00:53:01 2018 +0000"
      },
      "message": "Merge \"Move WAV/FLAC/MIDI/AAC/MP3/AMR extractors to APEX\""
    },
    {
      "commit": "3c03c8ba1504003f25ee04b49609eb10b20e1bdf",
      "tree": "78956d959c2684a79768a6dffca77bdc7d561dbc",
      "parents": [
        "8dd9d107e9056283bc38c5921cff29c481adc99f",
        "245cdd91559873aeacf21b7c780655ef43c01682"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 22:38:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 22:38:27 2018 +0000"
      },
      "message": "Merge changes Ic5f780de,I3f963307\n\n* changes:\n  Support audio-haptic coupled playback.\n  Add buffer provider that can adjust channels.\n"
    },
    {
      "commit": "bb93dfb7823e6abe4d4d7862559599803da1ad01",
      "tree": "1ef9d11f9d4ad4b6a1db6169c7657c31eacb1323",
      "parents": [
        "7763cf3b0eb9ae0ed5c375d19324fa068a070229"
      ],
      "author": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Tue Oct 23 13:54:22 2018 -0700"
      },
      "committer": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Wed Dec 12 13:39:14 2018 -0800"
      },
      "message": "In favor of SW patch in AudioPolicyManager::connectAudioSource\n\nIn case the dynamic routing rule is present, creates the SW patch from\naudio source device to Android mixer (specified by dynamic routing rule)\n\nA typical use case is to route broadcast radio to the same media output\nas other media applications.\n\nBug: 118763832\nTest: connectAudioSource from FM Radio and dumpsys media.audio_flinger\n\nChange-Id: Id07d3a6dd9fc5f322f4eb38efe02c302018253cd\n"
    },
    {
      "commit": "f652118da25973feedf3593f50a0854d97e951bd",
      "tree": "2d2f12f089a5911f0780edd7d196503ef004feba",
      "parents": [
        "590c815a94442634adc9616eaf38bc97137371a3"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Dec 10 19:04:01 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Dec 12 12:38:33 2018 -0800"
      },
      "message": "Move WAV/FLAC/MIDI/AAC/MP3/AMR extractors to APEX\n\nTest: build \u0026 boot \u0026 dumpsys media.extractor\nBug: 112766425\nChange-Id: I6207c370f830e85830115787a0d5b2958a53869d\n"
    },
    {
      "commit": "245cdd91559873aeacf21b7c780655ef43c01682",
      "tree": "336ec5eaea56659c21e9441c0d2b5a03102b9b32",
      "parents": [
        "dce8f8cc41cb6be63d13ad0099d61807746ff5d7"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Dec 07 17:55:15 2018 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Dec 12 11:33:47 2018 -0800"
      },
      "message": "Support audio-haptic coupled playback.\n\nWhen trying to play with haptic channel mask, use adjust channels\nbuffer provider to make the haptic channel the same as the output one.\nIf haptic playback is supported, use adjust channel non destructive\nbuffer provider to output haptic data to the end of the sink buffer.\nOtherwise, haptic data will be ignored.\n\nTest: Manually\nBug: 111454766\nChange-Id: Ic5f780de48c1e71de6ba5c4774d1ed2e9c8c51a0\n"
    },
    {
      "commit": "f1a3910d33e57958e42f62f4fc95107b43d32af4",
      "tree": "77f1c396655d4137d78c3aa6e2d01754b5b7755b",
      "parents": [
        "25194a64e0bb77049d279fdb982c02425095ec01",
        "7dd8e82fce48f92c6344a88be8b821ac135d0c37"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 21:17:56 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 11 21:17:56 2018 -0800"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings in audioflinger.\" am: c5a1e23f13 am: 413c961fb0\nam: 7dd8e82fce\n\nChange-Id: I12b46d44c63910a9780f49912407a6b0b98a0c21\n"
    },
    {
      "commit": "c94b0f806352d9384eeb92c2e4d7173851ccc573",
      "tree": "36bd89a1cd2fe27c243a1db1445957be3ad90cba",
      "parents": [
        "45d34272dfa8462adda0f11ccfa169c5afa49621",
        "405733256a9cf62c9e3be2d8dbd5ccb9cb7c5d97"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 04:05:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 04:05:07 2018 +0000"
      },
      "message": "Merge \"Support open output stream with haptic channel mask.\""
    },
    {
      "commit": "7dd8e82fce48f92c6344a88be8b821ac135d0c37",
      "tree": "d486a663f6c274df1facfa8f72a54184fdb46cd8",
      "parents": [
        "a2b32728760a75352aadf5383e7615afd5bf435c",
        "413c961fb024162834c1a4118c40ec7de1b194d3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 19:15:55 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 11 19:15:55 2018 -0800"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings in audioflinger.\" am: c5a1e23f13\nam: 413c961fb0\n\nChange-Id: Ifaf9458dd74c144cfae05c8b78a7f144292f09f7\n"
    },
    {
      "commit": "413c961fb024162834c1a4118c40ec7de1b194d3",
      "tree": "4d9945b7e5077f899231e79701a24188064bf31c",
      "parents": [
        "e8f69f37bea61dd482dc9f357aa475dfa29c1219",
        "c5a1e23f134cebb84178d07f1cd9ded70a4de8be"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 19:11:47 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 11 19:11:47 2018 -0800"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings in audioflinger.\"\nam: c5a1e23f13\n\nChange-Id: Ieb840b9df2d88f61378c8ba890b6c1ee116f1a75\n"
    },
    {
      "commit": "c5a1e23f134cebb84178d07f1cd9ded70a4de8be",
      "tree": "ba7f3e3734b95949f14cb415a7f0d4dcbba1cfdd",
      "parents": [
        "8774dda490558348f8effd7874fd1abcdb4ad006",
        "3e330f09d70f39463f26ad301c1fc5d3fc45b094"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 02:58:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 12 02:58:12 2018 +0000"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings in audioflinger.\""
    },
    {
      "commit": "45d34272dfa8462adda0f11ccfa169c5afa49621",
      "tree": "45450f514f133a91a4746eb6b232c86dc3280806",
      "parents": [
        "cf80f34cc5e8d16d939df21879d770200defaf6e",
        "6012f913f0772cf0b73f379778efc671ce72c557"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 02:32:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 02:32:28 2018 +0000"
      },
      "message": "Merge \"Querying capability of haptic playback.\""
    },
    {
      "commit": "405733256a9cf62c9e3be2d8dbd5ccb9cb7c5d97",
      "tree": "b395e3e093aa3010b54f9227e8a7cef08ed1b2a0",
      "parents": [
        "6b6a0f05248fc646d42f09cb891d8b6fda19426e"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Nov 08 12:08:02 2018 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Dec 11 17:18:05 2018 -0800"
      },
      "message": "Support open output stream with haptic channel mask.\n\nWhen haptic playback is supported according to audio policy\nconfiguration file, try to open the output stream with haptic channel\nmask. When trying to creat a track with haptic channel mask, use haptic\noutput if it is available.\n\nBug: 111454766\nTest: Manually test\nChange-Id: Ia8c70dd7f602a134d0509630eb734b8c540dea7d\n"
    },
    {
      "commit": "6012f913f0772cf0b73f379778efc671ce72c557",
      "tree": "c77bb87b93b7fd9e3ad78532761d7e4ac7cfe9e6",
      "parents": [
        "6b6a0f05248fc646d42f09cb891d8b6fda19426e"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Nov 02 17:06:30 2018 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Dec 11 16:18:09 2018 -0800"
      },
      "message": "Querying capability of haptic playback.\n\nBug: 111454766\nTest: Manually test\nChange-Id: Ib200d6b8f02354a01cf599a96fb1a9062dcd3050\n"
    },
    {
      "commit": "dd6da3e10b2757a059165d636b0927392e745a9d",
      "tree": "1cbe818faf080d8fc9b3c2456eab9b9e373e4004",
      "parents": [
        "6b01bf3f93113ea19c4f1e8dfd65fe9da7f1a0c9"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 11 14:41:41 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 11 16:05:40 2018 -0800"
      },
      "message": "Audio Policy: enable surround sound configuration in xml\n\nThe surround sound configuration used to be disabled. This patch\nenables it, and moves out the surround sound configuration into\na dedicated file.\n\nBug: 116356348\nTest: xmllint --noout --xinclude --schema \\\n      hardware/interfaces/audio/5.0/config/audio_policy_configuration.xsd \\\n      frameworks/av/services/audiopolicy/config/audio_policy_configuration.xml\n\nChange-Id: I26eb55b818d813494fc31812d00e33851b79f02b\n"
    },
    {
      "commit": "3e330f09d70f39463f26ad301c1fc5d3fc45b094",
      "tree": "53c0cea7ed1b55a37eeb89e67d6bd26087771f24",
      "parents": [
        "14c577fac81b8fdcc75e4bf9243f16bd624ba58b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 13:56:07 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 14:53:36 2018 -0800"
      },
      "message": "Fix cert-dcl16-c clang-tidy warnings in audioflinger.\n\nBug: 120614316\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,cert-dcl16-c\nChange-Id: I39f164a4204043042db383ce10ded542437f8447\n"
    },
    {
      "commit": "18343452006468a83457b9623b082f64fb479169",
      "tree": "1999a7d544c9bd5b1b4c09a536f0199fd93f1805",
      "parents": [
        "c6b48fe6272db5d3ca910598565c2b48b547ce7f",
        "0cf77658fa992cef0247484ba6b43526a9d2d571"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 13:59:12 2018 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 13:59:12 2018 -0800"
      },
      "message": "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master\n\nBug: 120502534\nChange-Id: Ifdd73b6dfcf3791fb8dae2b1796a34bb56aea190\n"
    },
    {
      "commit": "e544aba6cbef0be475c4235a658cd8dd32614a26",
      "tree": "91863b33da5edfc89291be90901e31e49a198825",
      "parents": [
        "03a9cbbeb08fb866571fedcf5e04bcbfdb73d2ab",
        "bffb47d61fcea60a900c98f37632c93ec1a5b2d6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 11 21:49:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 21:49:24 2018 +0000"
      },
      "message": "Merge \"DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into stage-aosp-master\" into stage-aosp-master"
    },
    {
      "commit": "bffb47d61fcea60a900c98f37632c93ec1a5b2d6",
      "tree": "d5f2fa0af37d15514e0662d283a9271ca7b8d033",
      "parents": [
        "25427e247dc56d8bd2aad46bc628c696fc47c1a3",
        "0cf77658fa992cef0247484ba6b43526a9d2d571"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Dec 10 10:04:56 2018 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 20:26:00 2018 +0000"
      },
      "message": "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into stage-aosp-master\n\nBug: 120502534\nChange-Id: I674b89442ad4fb75081fb5b8fdbb8ea89be97c5c\n"
    },
    {
      "commit": "3ef324d11cc4b6f84c147998fcf02c3a528fc2b8",
      "tree": "9c31c781e4172fb511af7552838c6a63b0f04ac9",
      "parents": [
        "14c577fac81b8fdcc75e4bf9243f16bd624ba58b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 11:48:12 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 11:48:12 2018 -0800"
      },
      "message": "Fix performance-for-range-copy warnings\n\nBug: 30413223\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,performance*\nChange-Id: Ia63c695575d2602ff7e67db874d423b99f4daeef\n"
    },
    {
      "commit": "a223769e7767765ba7a546f66887508fbb19f54d",
      "tree": "a24bbadad46856fca743a3d6d31d0c046f55f73f",
      "parents": [
        "7ce82e7ccf47ec5ea00a85a15665eb51edd9b258",
        "a94fbb22404ef26d12fbb3ad0376df15f84f47ec"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 11 13:54:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 13:54:38 2018 +0000"
      },
      "message": "Merge \"Implement AudioTrack.isDirectPlaybackSupported method\""
    },
    {
      "commit": "d0f1bffe98354848dc23f4492d8f86987459f179",
      "tree": "516eb8f048077f2672ecfa749c7c617bde4df602",
      "parents": [
        "6c5157eaa8682ee60db576c49fcf56a3d61174f0",
        "a46bedb84a6c972f128e17e7bed114ad0863b0b3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 11 03:34:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 03:34:44 2018 +0000"
      },
      "message": "Merge changes I2fc54853,If58ff214\n\n* changes:\n  audio policy: fix capture policy for assistant\n  Revert \"Revert \"audio policy: concurrent capture\"\"\n"
    },
    {
      "commit": "6c5157eaa8682ee60db576c49fcf56a3d61174f0",
      "tree": "ad45e65128a08b854e7678ddfa565ec14c354b76",
      "parents": [
        "3ca78ae0f955c27a561d590bad7e76cc33fd1ec8",
        "7fa7c86510509efe0af098893a661516794e0490"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 11 02:13:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 02:13:08 2018 +0000"
      },
      "message": "Merge \"mediaextractor: load extractor plug-ins from apex\""
    },
    {
      "commit": "3ca78ae0f955c27a561d590bad7e76cc33fd1ec8",
      "tree": "1dfb2c3d4d67150ea408f123fb53f7384880f8e6",
      "parents": [
        "7f6f0fd0009dc5991af995cc369d9fd7e1ac36b5",
        "261413ac043ea80ed4e068847b4060c93be20dbe"
      ],
      "author": {
        "name": "nobuaki tanaka",
        "email": "nobuaki.xb.tanaka@sony.com",
        "time": "Mon Dec 10 15:49:54 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 10 15:49:54 2018 -0800"
      },
      "message": "Merge \"Apply stream volume for the correct device\" am: c6b48fe627 am: 03a9cbbeb0\nam: 261413ac04\n\nChange-Id: Id5e366ce17585f2c7f0ed1240ecaf71e75a603af\n"
    },
    {
      "commit": "a46bedb84a6c972f128e17e7bed114ad0863b0b3",
      "tree": "d0a35a7aa88bf66dea6334eecfdf3689a1dd22f2",
      "parents": [
        "4eb58f1f36606ad7af392a920e1d029a5fb1e797"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 07 18:01:26 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 10 15:45:51 2018 -0800"
      },
      "message": "audio policy: fix capture policy for assistant\n\nFix concurrent capture policy for assistant: allow assistant to capture if\nrunning as foreground service too and not only if on top.\n\nSame fix for accessibility service.\nAlso refine logic for single active client on top by retaining the\nlatest started capture from an app on top (in case several apps can be on top).\nAlso fix priority between app on top and app with foreground service.\n\nBug: 120588242\nBug: 111438757\nTest: Manual capture tests with solotester and Camera, Assistant and Duo\nTest: CTS tests for AudioReco\nChange-Id: I2fc54853a584b9e9e48c012b0c3a2bcc8436a340\n"
    },
    {
      "commit": "261413ac043ea80ed4e068847b4060c93be20dbe",
      "tree": "39a0c765afc000a12d0981f3ad0b979d1835536e",
      "parents": [
        "7a1d258c8befa877ed41bfc35c8210f49202df88",
        "03a9cbbeb08fb866571fedcf5e04bcbfdb73d2ab"
      ],
      "author": {
        "name": "nobuaki tanaka",
        "email": "nobuaki.xb.tanaka@sony.com",
        "time": "Mon Dec 10 15:39:25 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 10 15:39:25 2018 -0800"
      },
      "message": "Merge \"Apply stream volume for the correct device\" am: c6b48fe627\nam: 03a9cbbeb0\n\nChange-Id: I90b77ff4c1240429836d9ada53855a01571d90d4\n"
    },
    {
      "commit": "c6b48fe6272db5d3ca910598565c2b48b547ce7f",
      "tree": "211582ffa4ab12ca3a22757fffb0d7d1cf353a98",
      "parents": [
        "14c577fac81b8fdcc75e4bf9243f16bd624ba58b",
        "985d15a9c7e45e7e7021aa53a48de3fa222e3815"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 10 22:53:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 10 22:53:45 2018 +0000"
      },
      "message": "Merge \"Apply stream volume for the correct device\""
    },
    {
      "commit": "87127ec5c4af6202716a2bcf173369bd9bd257a1",
      "tree": "93383a1ab9a0a129037e606132d8e1418c8110a5",
      "parents": [
        "5a2048c3095478482a5ac16639514d3a0a214713",
        "100f0121068605a10b0a254b7ee5784409d09229"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 10 22:51:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 10 22:51:47 2018 +0000"
      },
      "message": "Merge \"APM: Improve surround formats management, include MSD\""
    },
    {
      "commit": "4eb58f1f36606ad7af392a920e1d029a5fb1e797",
      "tree": "c1599fda024344eaf6da5e1d33fc410384127550",
      "parents": [
        "5a2048c3095478482a5ac16639514d3a0a214713"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 07 16:41:02 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 10 14:10:05 2018 -0800"
      },
      "message": "Revert \"Revert \"audio policy: concurrent capture\"\"\n\nThis reverts commit df628924e691e01da190c1ac5db173304442e54a.\n\nBug: 120588242\nBug: 111438757\nTest: make\nChange-Id: If58ff2143fdb744678bb84394598104ced01f5b9\n"
    },
    {
      "commit": "7fa7c86510509efe0af098893a661516794e0490",
      "tree": "431a40ff3eda2c9c968e9824fc3a5ce29841186c",
      "parents": [
        "0b6db2c97404943d7b5628eee50e58fd92e51054"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Dec 06 09:07:58 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Dec 10 13:51:55 2018 -0800"
      },
      "message": "mediaextractor: load extractor plug-ins from apex\n\nNote: media apex is not added in the default build.\nThe new code path will be no-op for now.\n\nTest: boot \u0026 adb shell dumpsys media.extractor\nBug: 112766843\nChange-Id: I1bdf2c41cc5f88c80c2fd20677dce1d58420e947\n"
    },
    {
      "commit": "5a2048c3095478482a5ac16639514d3a0a214713",
      "tree": "1d810cc6bd14d5352b2a90c6088156313c44038b",
      "parents": [
        "0b6db2c97404943d7b5628eee50e58fd92e51054",
        "a29c135cab39ff25d8394d0fa31e0ab2c0d08d6a"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Mon Dec 10 17:26:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 10 17:26:59 2018 +0000"
      },
      "message": "Merge changes from topic \"lazy-camera\"\n\n* changes:\n  Camera: Support lazy HALs\n  Camera: Remove superfluous hardware::camera\n  Camera: Setup vendors tags when initializing ProviderInfo\n"
    },
    {
      "commit": "100f0121068605a10b0a254b7ee5784409d09229",
      "tree": "07435569751b97014e448e3162ca28b02926187f",
      "parents": [
        "0422892023dcd4616f00028fd223fef056bc0e16"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 29 11:22:16 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 10 09:25:14 2018 -0800"
      },
      "message": "APM: Improve surround formats management, include MSD\n\nThis is what this change does:\n\n1) Renames APM::mSurroundFormats into mManualSurroundFormats\n   and avoids modifying it in modifySurroundFormats, because\n   multiple surround-capable devices are possible.\n   modifySurroundFormats logic is also a bit simplified.\n\n2) Changes the way APM::getSurroundFormats reports enabled\n   formats, after the change  1).\n\n3) Includes MSD module into consideration as a surround-capable\n   device.\n\n4) Changes APM::dump to only show mManualSurroundFormats\n   when surround sound is enforced into manual management.\n\n5) Adds Dolby AC-4 to the list of surround formats.\n\n6) Declares surround formats on the devicePort of MSD.\n\nBug: 117602867\nTest: Surround Sound settings with MSD module\nChange-Id: I5cdd3c012a3febcf7170cc5fa7378224b3ef9e4f\n"
    },
    {
      "commit": "a29c135cab39ff25d8394d0fa31e0ab2c0d08d6a",
      "tree": "3880f5ca39c8dfd7652ba05e44822097f0b3178d",
      "parents": [
        "b7bd4383c9dbebc0d094b33cfe0fc4b8f9b313b2"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Wed Oct 10 12:05:42 2018 -0700"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Mon Dec 10 09:25:04 2018 -0800"
      },
      "message": "Camera: Support lazy HALs\n\nDrop camera HAL references when unused.\n\nUse ro.camera.enableLazyHal property to toggle behavior on or off.\n * If true, the cameraserver drops references to ICameraProvider HALs\n   when they are not being used for either camera or torch.\n * If false (or unset), stores a strong reference to each ICameraProvider\n   that is registered. This is the same as the old behavior.\n\nBug: 79374634\nTest: Apply CL that lets camera HAL exit when unused. Open camera/enable\n      torch, close camera/disable torch, check ps -A to see if HAL exits.\nChange-Id: I1842f9bf9e862ab74e4ec8aa72fc46fc47782ed0\n"
    },
    {
      "commit": "1b99353fb8e5a90cb5624f270081806bd5514a3a",
      "tree": "92c3c944738ec61c103b439aec9473b212b5dea2",
      "parents": [
        "fd7fa089178267bf6cabd691b674f87364f589bd",
        "e55ed3fa5995380ff8a703136912642e5617d333"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Dec 08 05:36:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 08 05:36:49 2018 +0000"
      },
      "message": "Merge \"Make Codec2 software service public\""
    },
    {
      "commit": "b7bd4383c9dbebc0d094b33cfe0fc4b8f9b313b2",
      "tree": "079524972e446f49b4466190028da97bf2393f94",
      "parents": [
        "1b3c907bb2cb9d1e2f91baf37709d935f687bf96"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Thu Nov 15 17:19:48 2018 -0800"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Fri Dec 07 13:29:21 2018 -0800"
      },
      "message": "Camera: Remove superfluous hardware::camera\n\nTest: Ensure camera works as before\nBug: 79374634\nChange-Id: Ie8f0da2ec6e6b855329983a2ec39ef2acf0f3eff\n"
    },
    {
      "commit": "1b3c907bb2cb9d1e2f91baf37709d935f687bf96",
      "tree": "e7449d196f98e8906851fe7e4763097fbe5972e9",
      "parents": [
        "0422892023dcd4616f00028fd223fef056bc0e16"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Wed Nov 07 12:41:53 2018 -0800"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Fri Dec 07 13:29:21 2018 -0800"
      },
      "message": "Camera: Setup vendors tags when initializing ProviderInfo\n\nAdd new VendorTagDescriptor member to ProviderInfo, allowing it to cache\nthe descriptor\n\nTest: Use torch, camera, and run cameraservice_test\nChange-Id: Iba5af5dc890b3188a9e55ff5c71421aceec14cbb\n"
    },
    {
      "commit": "0422892023dcd4616f00028fd223fef056bc0e16",
      "tree": "11dfbf1d69b4357e8c940e1ee12405d59b9797b3",
      "parents": [
        "07567d630dbda88b9a25a439a5936e507d1caeca",
        "df628924e691e01da190c1ac5db173304442e54a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 07 16:39:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 16:39:03 2018 +0000"
      },
      "message": "Merge \"Revert \"audio policy: concurrent capture\"\""
    },
    {
      "commit": "e55ed3fa5995380ff8a703136912642e5617d333",
      "tree": "52b7e63a107d7e2b5e8204c6829e324dd7aa4132",
      "parents": [
        "e8c8b4359835a12a3d1bf84f281c36bce031bb33"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Nov 28 03:39:57 2018 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Dec 06 17:04:17 2018 -0800"
      },
      "message": "Make Codec2 software service public\n\nThis CL makes the software Codec2 service present the public Codec2 HAL\ninterface, and makes the framework use it.\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nBug: 112362730\nBug: 119853704\n\nChange-Id: I047c6948a883a6e085d988a3fa542129ebb9571f\n"
    },
    {
      "commit": "0209452544dfd347de2ddb4e8cfaf89f51bc039c",
      "tree": "0acbac2e5800fb862f703dde637c61a8ee5027f6",
      "parents": [
        "b852e79b827e0a78f9ea20ab44603031dcc8f1b5",
        "f054fc342205c670b0b88c5040da196aefd0164a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Dec 07 01:01:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 01:01:56 2018 +0000"
      },
      "message": "Merge \"AudioFlinger: add check for NULL mInput in MMAP Thread\""
    },
    {
      "commit": "b852e79b827e0a78f9ea20ab44603031dcc8f1b5",
      "tree": "577bc16842688d7b377174c308ea98370b600aac",
      "parents": [
        "3989f64995b4a5ff4da651dcc8207f41bcdffc1e",
        "639ed1204cec08fe779d11728d1ae33c90c3151e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 07 00:50:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 00:50:05 2018 +0000"
      },
      "message": "Merge \"Camera: VNDK: Fix deferred endConfigure due to missing sessionParam\""
    },
    {
      "commit": "639ed1204cec08fe779d11728d1ae33c90c3151e",
      "tree": "0c92425cf4d99bda246d22535cce3df49e6bdfac",
      "parents": [
        "f4a342abd2959904caa18b5a0671e8107581ff24"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 06 14:42:52 2018 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 06 14:46:03 2018 -0800"
      },
      "message": "Camera: VNDK: Fix deferred endConfigure due to missing sessionParam\n\nIn case the app doesn\u0027t provide sessionParameters, the VNDK should still\nallow endConfigure() to be called to the camera service.\n\nTest: Run test app and observe camera streams properly\nBug: 120505813\nChange-Id: Ifa72dca61b8e25cd433d2c02c70b1c8e5e097228\n"
    },
    {
      "commit": "7f7dc87778f5874bc510e75fde6925f3ca07dd53",
      "tree": "e70047942315687eb70404b0e41e1fc55e0d055d",
      "parents": [
        "c0f1949f01104713d5ec2ae393ec4baea1268211",
        "a3901e95412eacedb5682eb4cda9d63d3ef9f734"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 06 22:14:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 06 22:14:38 2018 +0000"
      },
      "message": "Merge \"aaudio: reduce log spam\""
    },
    {
      "commit": "df628924e691e01da190c1ac5db173304442e54a",
      "tree": "e2dda15a881c963a14520117128b5b9857834759",
      "parents": [
        "4c1ef4b64d113be6ee1106375bd10cdc643e80d8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 06 21:45:51 2018 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 06 21:45:51 2018 +0000"
      },
      "message": "Revert \"audio policy: concurrent capture\"\n\nThis reverts commit 4c1ef4b64d113be6ee1106375bd10cdc643e80d8.\n\nReason for revert: b/120588242\n\nBug: 120588242\nChange-Id: Iac41f371cb739c54d5ce519232688bebe2285c72\nTest: Launch QSB and capture from mic icon\n"
    },
    {
      "commit": "d5e180520a5b7aeb970bc796abc3ef8070d5174c",
      "tree": "485ebba16f82af8928f02e627773fd02963dcf95",
      "parents": [
        "71738ebf94589faa5aef3c1ba8d53cd17b7fec0f"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Nov 30 14:55:45 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 06 18:25:48 2018 +0000"
      },
      "message": "Audio Policy: Parametrize encoded formats supported by device\n\nFor various reasons, we need to store the list of audio\nformats supported by devices. Here we add support for this\ninto DeviceDescriptor. We don\u0027t read them yet from\nthe APM config file, but we will eventually.\n\nAlso in this change, use the formats list for parametrizing\nthe behavior of surround sound configuration. The special\nlogic for AC3 and IEC69137 formats used to be hardcoded\ninto \u0027filterSurroundFormats\u0027 function, now it is\nparametrized by the device descriptor information.\n\nFix behavior of \u0027filterSurroundFormats\u0027 in \u0027manual\u0027\nmode, where it was removing PCM formats from the list.\n\nRename \u0027filterSurround...\u0027 functions to \u0027modifySurround...\u0027\nsince they can both add and remove items from the provided\nlist.\n\nBug: 67479735\nBug: 117602867\nTest: compare A/B APM dumps while modifying Surround Sound\n      settings; tested with a HDMI sink that doesn\u0027t support\n      any surround, and with an AV receiver\nChange-Id: Ie46480d5e9519366b1f3553645c9ca20f64bdc80\n"
    },
    {
      "commit": "f054fc342205c670b0b88c5040da196aefd0164a",
      "tree": "6d5556e581185e1a7f20646a22d9facf44cfc7dd",
      "parents": [
        "b079c02b1fa4f1b5c5b6334b93af584797b4454f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Dec 06 09:45:59 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Dec 06 09:45:59 2018 -0800"
      },
      "message": "AudioFlinger: add check for NULL mInput in MMAP Thread\n\nexitStandby() was crashing if headphones were\nunplugged between the open and start of a MMAP stream.\n\nBug: 120564294\nTest: see repro steps in bug\nChange-Id: Ic42743682ffeb48f2869eaa90581b4e4f7fcb1ab\n"
    },
    {
      "commit": "71738ebf94589faa5aef3c1ba8d53cd17b7fec0f",
      "tree": "f2b932fdd7a713db6ef4a74dc7c442c2764deae1",
      "parents": [
        "4d58d4d8c750c01b9435b95ffdb5552c663aae76",
        "35ae826b8d002b5045e208106a38354d86aed01d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 06 12:33:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 06 12:33:31 2018 +0000"
      },
      "message": "Merge \"Camera: Add support for stream combination query\""
    },
    {
      "commit": "a94fbb22404ef26d12fbb3ad0376df15f84f47ec",
      "tree": "b4a8052d5ce8726541ba7a25e3f1f449d351acd9",
      "parents": [
        "b079c02b1fa4f1b5c5b6334b93af584797b4454f"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mzchan@dolby.com",
        "time": "Tue Apr 24 14:31:19 2018 +1000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 05 15:35:35 2018 -0800"
      },
      "message": "Implement AudioTrack.isDirectPlaybackSupported method\n\nThe method checks whether the provided AudioFormat can be played\nvia currently connected output devices w/o SRC or downmixing\nby the framework.\n\nThe implementation methods are called \u0027isDirectOutputSupported\u0027\nto match APM\u0027s terminology.\n\nBug: 120044865\nTest: atest CtsMediaTestCases:AudioTrackTest#testBuilderValidate\nChange-Id: I11769f796c34583fb2641415d2faab00ac526123\n"
    },
    {
      "commit": "79222e7a39a73f5c635958a62f6f0ccde250e04c",
      "tree": "8a38da61031fdf19af175b79dbce4b1559f593aa",
      "parents": [
        "92125f621579089621d4e8251761dae453f22b1f",
        "4c1ef4b64d113be6ee1106375bd10cdc643e80d8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 05 22:28:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 22:28:55 2018 +0000"
      },
      "message": "Merge \"audio policy: concurrent capture\""
    },
    {
      "commit": "9e29ea8bd0be596c65d93ae196afac8339e00bfa",
      "tree": "42ba005a56b01d721e223bff6b9b894e239d641c",
      "parents": [
        "973db02ac18fa1de9ce6221f47b01af1bdc4bec2"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Thu Nov 08 14:28:10 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 04 13:51:20 2018 -0800"
      },
      "message": "Fix build issue\n\nTest: make\n\nChange-Id: I5563ff049ddc384556976f577a6d0ebc020516c8\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "4c1ef4b64d113be6ee1106375bd10cdc643e80d8",
      "tree": "203b9b1ca84efc9342514175d616c0a7c22150ad",
      "parents": [
        "973db02ac18fa1de9ce6221f47b01af1bdc4bec2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 13 16:46:26 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 04 12:06:37 2018 -0800"
      },
      "message": "audio policy: concurrent capture\n\nImplement concurrent capture in audio policy manager:\n- Attach AudioRecord client to already opened input when possible\ninstead of systematically opening a new input for each client.\n- Always allow inputs to start even in case of concurrency.\n- Clients are selectively silenced based on their app state by audio\npolicy service.\n- In case of concurrency on a given input stream, device and source is\nchosen based app states and source priority.\n\nBug: 111438757\nTest: Manual capture tests with solotester and Camera, Assistant and Duo\nTest: CTS tests for AudioRecord\n\nChange-Id: I302710ff545f67361d9aca89e81de40771ce7fb0\n"
    },
    {
      "commit": "973db02ac18fa1de9ce6221f47b01af1bdc4bec2",
      "tree": "e2dda15a881c963a14520117128b5b9857834759",
      "parents": [
        "f4a342abd2959904caa18b5a0671e8107581ff24"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 20 14:54:31 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 04 12:06:37 2018 -0800"
      },
      "message": "audio flinger: return port ID as track ID to client\n\nReturn the port ID allocated by audio policy manager instead of the\ninternal track ID allocated by audio flinger when an AudioTrack or\nAudioRecord is created.\nThis information is more useful for logs and allows to associate information coming\nfrom audiopolicy manager with a specific client instance.\n\nBug: 111438757\nTest: Manual playback and capture tests\nChange-Id: Ib467d8fcc34d9a8aa7bcaac0770a741982b847c5\n"
    },
    {
      "commit": "f4a342abd2959904caa18b5a0671e8107581ff24",
      "tree": "bd8a54b016803bbc5e08a47f250f093e7036d0f4",
      "parents": [
        "e8c8b4359835a12a3d1bf84f281c36bce031bb33"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 04 08:55:41 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 04 08:55:41 2018 -0800"
      },
      "message": "Fix potential nullptr dereference in RecordThread::dumpInternals\n\nThe code introduced in ag/5195499 can deref a nullptr.\n\nBug: 117299316\nTest: make\nChange-Id: I6d38f769e583a11d09c137d7b7a1ffd0b547f161\n"
    },
    {
      "commit": "e8c8b4359835a12a3d1bf84f281c36bce031bb33",
      "tree": "cac3af958f25ed4f7163b8ddfe2134a957aafc9b",
      "parents": [
        "6b6a0f05248fc646d42f09cb891d8b6fda19426e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 17 10:08:02 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 03 16:28:21 2018 -0800"
      },
      "message": "audio policy: implement uid state management for capture\n\nReceive app state updates from ActivityManager and use it to implement\nconcurrent capture policy.\n\nBug: 111438757\nTest: Manual test with solotester app concurrently with Camera, Duo and\nAssistant\n\nChange-Id: I979ad4ecc8b926abb64e1b321b43bd7bd442a8f1\n"
    },
    {
      "commit": "a3901e95412eacedb5682eb4cda9d63d3ef9f734",
      "tree": "cbd706244c858d132efa8dd103be42b855ce4452",
      "parents": [
        "1268b28c5c65691532d3ffb503a199c677c801b9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Oct 08 13:54:38 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 03 15:46:11 2018 -0800"
      },
      "message": "aaudio: reduce log spam\n\nRemove logging that is redundant or no longer needed.\n\nTest: write_sine_callback -pl\nTest: write_sine_callback -pl -r44100\nChange-Id: I9004d32509757847764b9533c5cda743c6bd81a0\n"
    },
    {
      "commit": "63d2d774249b0f06b2f1b0eae79e844d92fb96ac",
      "tree": "92e223e69d84d865bcb44481dd1613ff4f705c27",
      "parents": [
        "1268b28c5c65691532d3ffb503a199c677c801b9",
        "5d3d956d695cac9551ecffd4ec33f56a7ab40989"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 03 21:12:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 21:12:21 2018 +0000"
      },
      "message": "Merge \"AudioFlinger: Remove latency reporting for AUDIO_INPUT_FLAG_HW_AV_SYNC\""
    },
    {
      "commit": "1268b28c5c65691532d3ffb503a199c677c801b9",
      "tree": "b83077c5746df6b313973b86f9aa94e52383f310",
      "parents": [
        "d46012025aed1bc366982bc0edc93c56c034828e",
        "dfa1e8ab20ce54f3cde479e1305861867abcdbea"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Nov 30 23:24:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 23:24:18 2018 +0000"
      },
      "message": "Merge \"Policy config parser: migrate to BP and drop legacy format\""
    },
    {
      "commit": "dfa1e8ab20ce54f3cde479e1305861867abcdbea",
      "tree": "fa10b8bfcbc2e3378249a7a67afc2fdd455c5c93",
      "parents": [
        "7a9f05a68512926f81339d3e42def2ecd9adffa0"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Oct 26 16:42:07 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Nov 30 09:44:42 2018 -0800"
      },
      "message": "Policy config parser: migrate to BP and drop legacy format\n\nMigrate to android.bp as test need to use the library.\nAs bp do not support conditional statement, and this format has been\ndeprecated for 3 years, drop the pre-treble .conf parser.\n\nAUDIOSERVER_MULTILIB is no longer use as it does not make sense for a\nstatic lib.\n\nBug: 114303641\nBug: 111681420\nTest: compile, boots\nChange-Id: I9f429b306ecfbb80116445ba6297a4b3d6dc57f6\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "2a2837d0dcc63d834b9ca313bf322f967a989eec",
      "tree": "3fb865132546838d1182caa5515f3e1f83d2d0ef",
      "parents": [
        "e72cb66313a21ecd218f2b9a01491bc1ebbe2c39",
        "ac917aca235ff5170f00c2ee933f41f07a40232d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 30 16:36:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 16:36:19 2018 +0000"
      },
      "message": "Merge \"Add selectPresentation API to IAudioTrack\""
    },
    {
      "commit": "c55606b22fb908f030150b82194ded0c2038cab3",
      "tree": "cf9a36b5d97e15a944902bd7734aafe466a402c6",
      "parents": [
        "cdbd8711a9a77f4cb5b53729334cf582afbc0110",
        "02743e21156fa3063dc3718982e291cf60ec37cd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 29 20:58:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 20:58:49 2018 +0000"
      },
      "message": "Merge \"Audio policy: Use surround formats from audio config instead of hardcoded\""
    },
    {
      "commit": "02743e21156fa3063dc3718982e291cf60ec37cd",
      "tree": "0339c12971b8145ebca1b5c523390dc02654b945",
      "parents": [
        "e4eb88fa5fe62a9b6b709fbf2ff26f37acf6db20"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 28 15:56:55 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Nov 29 19:21:45 2018 +0000"
      },
      "message": "Audio policy: Use surround formats from audio config instead of hardcoded\n\nThis is a follow-up to ag/3835377, where the intention was to\nuse SURROND_FORMATS array, which is lately been replaced by\nan array from APM\u0027s config.\n\nBug: 67479735\nBug: 117602867\nTest: make\nChange-Id: I31f63856d8fb06ff9ac0f03b9ec1600f0fcee30b\n"
    },
    {
      "commit": "938b6ca467c19285ec89b98316a13891012887d4",
      "tree": "b99f63d14bc9d9dea0ab69cfcc983d11ede7c725",
      "parents": [
        "4183d37fcc58ed1e221c72b298f2d95c9b656c01",
        "2091949018103af337a5cd48de789d51fa3a6dc0"
      ],
      "author": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Thu Nov 29 17:14:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 17:14:32 2018 +0000"
      },
      "message": "Merge \"Support playing to uplink stream using the VOICE_CALL stream as well\""
    },
    {
      "commit": "2091949018103af337a5cd48de789d51fa3a6dc0",
      "tree": "1a17e433d9bc01c1332e096afe56e8e704289511",
      "parents": [
        "9a4f4c23bf39f9e8169a62c55b3ccbde3e26693f"
      ],
      "author": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Tue Nov 20 10:20:51 2018 +0200"
      },
      "committer": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Thu Nov 29 15:01:35 2018 +0200"
      },
      "message": "Support playing to uplink stream using the VOICE_CALL stream as well\n\nAdded support for playing audio to the uplink stream also using the\nVOICE_CALL stream. This will ensure the uplink playback have the same\ncharacteristics as other audio which is being played back during a call,\nand can by pass the DND mute.\n\nChange-Id: I1830bebb5fca724de561fbde8445fcee95f9c930\nTest: tested manually.\nBug: 117866278.\n"
    },
    {
      "commit": "73c3a18dcc23703fa51a550cca9d290f392de1bc",
      "tree": "03fa4f3e45e97b7bb6dfcb8e0031ead5f69a11b3",
      "parents": [
        "f1188418c6220f27ed7ec6491380062c039a7b42",
        "b78763e6098baa33f441abef74d53636f72c6d6e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 28 23:38:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 23:38:13 2018 +0000"
      },
      "message": "Merge \"audio policy: receive assistant and a11y service UIDs\""
    },
    {
      "commit": "468dfaa357f3fa8a4d92c90d76aacd9b612a6f38",
      "tree": "6d8da992ea1847d75006796ca1d1efb7317f7991",
      "parents": [
        "51f680ff847faab98eae58dfb7da849c7a5bff39",
        "a9b3b2298a3b1d05e76f1a9de6a6161aeb004899"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Nov 28 15:07:26 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 28 15:07:26 2018 -0800"
      },
      "message": "Merge \"aaudio: fix race condition in timestamp path\" am: e816ba20c5\nam: a9b3b2298a\n\nChange-Id: I161dcaff5823fbb33f648e2af833754f6246787a\n"
    },
    {
      "commit": "ac917aca235ff5170f00c2ee933f41f07a40232d",
      "tree": "2927cc6419b7fe615ccdc977224f6f3ed656f58e",
      "parents": [
        "e4eb88fa5fe62a9b6b709fbf2ff26f37acf6db20"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 28 14:03:52 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 28 14:44:17 2018 -0800"
      },
      "message": "Add selectPresentation API to IAudioTrack\n\nThe Java AudioTrack interface has a setPresentation API. This\ncalls the setParameters API in IAudioTrack. However, this does\nnot eventuate into a call into the android.hardware.audio@4.0\nIStreamOut selectPresentation API.\n\nAdd selectPresentation API to IAudioTrack and call down to the\nandroid.hardware.audio@4.0 IStreamOut selectPresentation API.\nTranslate into calls to setParameters API for legacy HAL\ninterfaces.\n\nBug: 63901775\nTest: compile\nChange-Id: Id634a107f3f93ab18dc80d2bd0af67bda35e859f\n"
    },
    {
      "commit": "e816ba20c5e8bb1e5bd8cb9ee150445ae45dd5be",
      "tree": "1a8afb00bfab3bae82f0ed35aa59255be2224851",
      "parents": [
        "60109b6bf5fe16002da767bb92b7c7cbfd6a1790",
        "8f02e2d647a53bc24cc5a2341e625fedbd58a33d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Nov 28 22:34:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 22:34:23 2018 +0000"
      },
      "message": "Merge \"aaudio: fix race condition in timestamp path\""
    },
    {
      "commit": "e6714284a250fe474e57cc9744e08c76e23c5c3b",
      "tree": "c3f27de568de1d9d82b765980f9ebfc6326128fc",
      "parents": [
        "db0532ba88de07e3ee8aa48db31e0ed5b5eff903",
        "f32108e7bab9ce2eb8107678c74701d1428a7b2c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 28 18:08:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 18:08:24 2018 +0000"
      },
      "message": "Merge \"audio policy: extend API used to silence capture from a given app\""
    },
    {
      "commit": "db0532ba88de07e3ee8aa48db31e0ed5b5eff903",
      "tree": "2a3a8cae54830536a0eb30b089c3ba268803d184",
      "parents": [
        "55bb8a1dcce15a931c35d3705afe19c52d06f881",
        "8cf929268cdb2cede142ebca0932fa4ac59d0f60"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 28 16:30:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 16:30:00 2018 +0000"
      },
      "message": "Merge \"cameraserver: Allow cameraserver HIDL interface to get provider ids with VendorTagSections.\""
    },
    {
      "commit": "8c545704ea199e13c23f47cd8f4067bcdc25071f",
      "tree": "406848d385216b227fd4df843d82ecd558b614b2",
      "parents": [
        "c3ee35f339ce6b67f8e3b17f48a2dc0f9959db3f",
        "c3ce0d0f9b4a4be2df370407ee5540a7dd6f67e4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 28 00:04:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 00:04:13 2018 +0000"
      },
      "message": "Merge \"audio policy: fix regression in Audio MMAP device selection\""
    },
    {
      "commit": "fcbaf540db0fb0adf70962067977d04582d5dc78",
      "tree": "14eb995ac0ab752e6993d570c1f9514fd6015600",
      "parents": [
        "71085b5a772c4b50ce80692a6268713bd2eae585",
        "05ca87ccf43d0f39881af9e30d3a88d7b7f28d70"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Nov 27 15:36:10 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 27 15:36:10 2018 -0800"
      },
      "message": "Merge \"Camera: Do not update state at HAL starts up if state already exists\" am: c3ee35f339\nam: 05ca87ccf4\n\nChange-Id: Ie7e5ab214485ab8eda9f3630a7df78486d1e0921\n"
    },
    {
      "commit": "c3ee35f339ce6b67f8e3b17f48a2dc0f9959db3f",
      "tree": "39ba3e062194bed351e55c488dda8787e2a59ed8",
      "parents": [
        "9a4842894af7b5b7db4f152ddd1420660876c36f",
        "e1aedc5a83ba7cc1d2849b5c6d6272e29bc7fe51"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 27 23:15:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 23:15:03 2018 +0000"
      },
      "message": "Merge \"Camera: Do not update state at HAL starts up if state already exists\""
    },
    {
      "commit": "c3ce0d0f9b4a4be2df370407ee5540a7dd6f67e4",
      "tree": "a6246b7b160b407eaf926790eb52e8c804de5980",
      "parents": [
        "9a4842894af7b5b7db4f152ddd1420660876c36f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 23 14:15:40 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Nov 27 14:23:27 2018 -0800"
      },
      "message": "audio policy: fix regression in Audio MMAP device selection\n\nCommit f3a5a601 caused a regression for AAudio MMAP playback use case\nwhere disconnecting currently selected device does not generate a\ndisconnect callback to client causing silent audio until the\nstream is closed and reopened.\n\nThis CL fixes a logical flaw in method SessionRouteMap::getActiveDeviceForStream()\nintroduced by commit f3a5a601 causing a stale forced device to be\nreturned after this device was disconnected.\n\nBug: 111711159\nBug: 79878501\nTest: CTS tests for audi routing and AAudio. Audio smoke tests\nMerged-In: Ibb16e26bc59b9e3f99bc74eb944601c6be5026dd\nChange-Id: Ibb16e26bc59b9e3f99bc74eb944601c6be5026dd\n"
    },
    {
      "commit": "b708035c652d32b85942f5fd5b5b12376daae03e",
      "tree": "8b8f7ee148e986ec38ea22704a0f214ac86e14a3",
      "parents": [
        "3db425c9c47eeae48b0585e5650e8d4a4c939942",
        "71085b5a772c4b50ce80692a6268713bd2eae585"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 27 11:32:20 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 27 11:32:20 2018 -0800"
      },
      "message": "Merge \"Keep verbose log statements, but silence them by default\" am: 9a4842894a am: b4dfe1c017\nam: 71085b5a77\n\nChange-Id: I60026496b923e303f97adebb365f24fe3a25d845\n"
    },
    {
      "commit": "71085b5a772c4b50ce80692a6268713bd2eae585",
      "tree": "0b106f24d62dc68dda5bf43f28085d31eabfcc3d",
      "parents": [
        "b860930ae9d631c520b6e69f50223fd69bde2d30",
        "b4dfe1c0179cb6894c43583cdb6a01e2c33de70f"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 27 11:28:06 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 27 11:28:06 2018 -0800"
      },
      "message": "Merge \"Keep verbose log statements, but silence them by default\" am: 9a4842894a\nam: b4dfe1c017\n\nChange-Id: I76fb0c7d906533f9fb10026f43dde25ab45e7755\n"
    },
    {
      "commit": "9a4842894af7b5b7db4f152ddd1420660876c36f",
      "tree": "86abb7b1098b96270d492644f166f8de2c1f14d5",
      "parents": [
        "5f14ecce213ec2152e1cb8470663e2b89ee74235",
        "71c9091118aefb3cadb96955e7618ca4e296dd33"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 27 19:16:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 19:16:26 2018 +0000"
      },
      "message": "Merge \"Keep verbose log statements, but silence them by default\""
    },
    {
      "commit": "b1e11d229957a67fb3592edb372ecf506b65d15d",
      "tree": "d501e8503500bc315565d0d39c218d24ddffafdf",
      "parents": [
        "11da03b75cdefb3bd34f4f5caf7aa7904d22d67a",
        "6407c30275b986fdb172a12588c822161ae578c0"
      ],
      "author": {
        "name": "Lei Yuan",
        "email": "leiyuan@asrmicro.com",
        "time": "Tue Nov 27 09:32:25 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 27 09:32:25 2018 -0800"
      },
      "message": "Merge \"Camera: update Intent firstly at api1 capture with device3\" am: 792a7e94a5 am: fd99b9f7fc\nam: 6407c30275\n\nChange-Id: Iccfb2cd5181f79549b9b268c01168fcebaa9976b\n"
    },
    {
      "commit": "e1aedc5a83ba7cc1d2849b5c6d6272e29bc7fe51",
      "tree": "e9d84108fe5d06f1ab7a0cf8287356eb3337cf63",
      "parents": [
        "18697362534415319b635dbdc96bfb43769b327a"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Nov 20 10:04:08 2018 -0800"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Tue Nov 27 17:29:53 2018 +0000"
      },
      "message": "Camera: Do not update state at HAL starts up if state already exists\n\nThis is to handle lazy hal, where cameraserver doesn\u0027t know HAL goes\naway.\n\nTest: Observe that the between QS Torch Tile and Camera App is correct.\nBug: 79374634\nMerged-In: I2f802b1c409ba3581f0fcacfc0ac5f6059391139\nChange-Id: I2f802b1c409ba3581f0fcacfc0ac5f6059391139\n"
    }
  ],
  "next": "6407c30275b986fdb172a12588c822161ae578c0"
}
