)]}'
{
  "log": [
    {
      "commit": "96117aeb26568ff9aecc97c189a297d5f0fca620",
      "tree": "b475374bf0e62cd7b0ac6e67a1789d69f492c134",
      "parents": [
        "ec57d7b565e1352e2c76040fb5df7614a164b157"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Mon Feb 12 20:52:53 2018 -0800"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Fri Mar 23 06:14:59 2018 +0000"
      },
      "message": "Bluetooth: Enable in-band ringing in vibration mode (3/4)\n\n* Add AUDIO_POLICY_FORCE_FOR_VIBRATE_RINGING mode to force Bluetooth SCO\n  in vibration mode\n* Modify default audio policy engine to route audio through SCO only\n  in AUDIO_POLICY_FORCE_FOR_VIBRATE_RINGING mode\n\nBug: 72647074\nTest: Call phone in vibration mode and hear ringtone on HFP enabled\n      headset, verify that ringtone is only played through headset.\n      Then disconnect headset and call again to verify that ringtone\n      does not play through phone speaker in vibration mode.\n\nChange-Id: I2185955bd51166b76156ffd4efdd1f2f01757518\n(cherry picked from commit 644693eee633980d356afcfedc7518ea7fed2c47)\n"
    },
    {
      "commit": "2ca700737c14edc9141af170ee278853fd99fa87",
      "tree": "29ac4f7bf2422a7937eb7c97fbdc789b4ff27ffe",
      "parents": [
        "12cc6e7a4162ea4137f9082a3e0fea551b21aae3",
        "8abec3f651fa0f862361047fed63fd5b243b9bf8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 21 19:52:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 19:52:45 2018 +0000"
      },
      "message": "Merge \"CameraService: Handle ActivityManager death for UidPolicy\" into pi-dev"
    },
    {
      "commit": "56ecf3e3ce36d111a17d67485047836660128629",
      "tree": "79a1a5a3992f0bb116d3d2e8473c1e76b84034e2",
      "parents": [
        "553a1a42fceba2f5315238355de2b20687185160"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Mar 12 15:38:17 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Mar 21 01:14:13 2018 +0000"
      },
      "message": "audioflinger: only update mHalVolFloat on success\n\nThis will fix a regression with AAudio MMAP stream not getting\nits initial volume set correctly.\nAlso initialize mHalVolFloat.\n\nBug: 74547253\nTest: adb shell write_sine_callback -pl -s10 -m1\nTest: should have the same initial volume as\nTest: adb shell write_sine_callback -pl -s10 -m3\nChange-Id: Ie0c1f9ba51e2059a888d2273f41588f101b09a5c\n"
    },
    {
      "commit": "93e40cad9e7f8bd449d61f18e811f744dfec0781",
      "tree": "30651fb137c42187d0904b36237570be7ada413d",
      "parents": [
        "8061b544b6e2f398b3148c1198f93bf33ae54170",
        "b62d78b72d9e63b93d869c9c8513f46235f83e03"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 20 19:53:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 19:53:32 2018 +0000"
      },
      "message": "Merge \"The sonification sound is muted during a shutter sound\" into pi-dev"
    },
    {
      "commit": "8abec3f651fa0f862361047fed63fd5b243b9bf8",
      "tree": "91798bc64044d264a440bda860567df0a650a328",
      "parents": [
        "fd0ccd539c4e13080b4e977f951f8613ec39267a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 20 11:07:00 2018 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 20 11:07:00 2018 -0700"
      },
      "message": "CameraService: Handle ActivityManager death for UidPolicy\n\nSince the camera service is not killed when the system service dies,\nit needs to handle detecting the death and re-registering for\nUidPolicy updates when the system service has restarted.\n\nWhen no activity manager is available, don\u0027t limit access by UID\nstatus.\n\nUse calls from the CameraServiceProxy service in system service to\ntrigger re-registration of UidPolicy in case of system service death.\n\nTest: adb shell stop; adb shell start; verify camera service allows\n    camera use. No camera CTS regressions.\nBug: 74230547\n\nChange-Id: I8ff6b1e88117cc99b9b85e4069a947ff99236e1d\n"
    },
    {
      "commit": "b62d78b72d9e63b93d869c9c8513f46235f83e03",
      "tree": "1274802d638242980024faf541c52748672cbbc8",
      "parents": [
        "337272811a792a9a6b2eac4e3796d365f80cd0d2"
      ],
      "author": {
        "name": "Tomoharu Kasahara",
        "email": "tomoharu.kasahara@sony.com",
        "time": "Thu Jan 18 20:55:02 2018 +0900"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Mar 20 10:45:53 2018 -0700"
      },
      "message": "The sonification sound is muted during a shutter sound\n\nIn order to fulfill requirements from some operators the\nshutter sound must be heard clearly when playing a ringtone.\nThe new policy is that STRATEGY_SONIFICATION will be muted\non an output if FORCE_SYSTEM_ENFORCED is set.\n\nBug: 72295489\nTest: Check if ringtone is muted when playing shutter sound.\nChange-Id: I10a9ee91eed747fa526260738636b7506bc1f7a5\n"
    },
    {
      "commit": "8061b544b6e2f398b3148c1198f93bf33ae54170",
      "tree": "ff35438c98528e486b904f450c6b13eca8961a48",
      "parents": [
        "337272811a792a9a6b2eac4e3796d365f80cd0d2",
        "5ff7b0da6f51af96b530951c72fe06a711280282"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Mar 20 17:42:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 17:42:46 2018 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix deadlock when createEffect_l fails.\" into pi-dev"
    },
    {
      "commit": "fd0ccd539c4e13080b4e977f951f8613ec39267a",
      "tree": "7e3711833fe4c33251883e81da546872c6cb0d33",
      "parents": [
        "bb2eb09a4decfec8d6d6fe4221821c01d42deb83",
        "21e79dbdb0d36794ce03e87524a0c700c9c4defd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 11:22:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 11:22:48 2018 +0000"
      },
      "message": "Merge \"Camera: Resize the output slot vector when needed\" into pi-dev"
    },
    {
      "commit": "bb2eb09a4decfec8d6d6fe4221821c01d42deb83",
      "tree": "106aef0e8bc028578bf75c90197d8a4f18ac43c3",
      "parents": [
        "df10580d240ef1590d9d41907385f23e055967ed",
        "e1c48edab71972f7e11604917750501db768ea01"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 11:22:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 11:22:19 2018 +0000"
      },
      "message": "Merge \"Camera: Support all API1 compatible camera devices\" into pi-dev"
    },
    {
      "commit": "5ff7b0da6f51af96b530951c72fe06a711280282",
      "tree": "ce3e9dc8c66cb2a05da1b73c0e3906e0b7d3cbd6",
      "parents": [
        "7dccfdd8f0752db2717d554d0cf1925c34202639"
      ],
      "author": {
        "name": "haobo10173529",
        "email": "hao.bo15@zte.com.cn",
        "time": "Fri Mar 17 17:44:03 2017 +0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 16 17:35:03 2018 -0700"
      },
      "message": "AudioFlinger: Fix deadlock when createEffect_l fails.\n\nThe handle.clear() will cause deadlock if init of EffectHandle\nfailed due to NO_MEMORY in createEffect_l.\n\nTest: Monkey test, Instrumented test.\nBug: 75031792\nChange-Id: Ie0f38d76a66aeafe26903dda6690d1fe7fca4464\n"
    },
    {
      "commit": "21e79dbdb0d36794ce03e87524a0c700c9c4defd",
      "tree": "6cf97dc3147e21d860f0c70aea28492d08cd95e3",
      "parents": [
        "c5678c492d97e45b3ff2af44523001046224f704"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Mar 16 18:17:57 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Mar 16 18:26:08 2018 +0000"
      },
      "message": "Camera: Resize the output slot vector when needed\n\nThe output slot vector will be initialized with the total number of\nbuffers per output and any buffers that get attached are indexed via\nthe returned slot value. However there is no guarantee that the slot\nwill be within the [0, totalNumberOfBuffers) range. The bufffer queue\ncan return anything from [0, BufferQueue::NUM_BUFFER_SLOTS) and this\ncan result in invalid memory operations and potential instabilities.\nThe resolve this validate the slot value and resize the output slot\nvector accordingly.\n\nBug: 74828453\nTest: Camera CTS\nChange-Id: I20502000a5c278eb9a81600282d1fad98455a2c4\n"
    },
    {
      "commit": "103d423a26d8dd46f6d185395a783cbb376f2837",
      "tree": "ee92af7d20b723517be715f7f8a05257da881858",
      "parents": [
        "fbf6b4990aced38376f8d9f2c0b836a9ffb17089",
        "0568dedb5008a24c2aca661a6891f9923abfa6d2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 02:29:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 02:29:59 2018 +0000"
      },
      "message": "Merge \"Prevent Hearing Aid fromn spamming logs\" into pi-dev"
    },
    {
      "commit": "0568dedb5008a24c2aca661a6891f9923abfa6d2",
      "tree": "f81bbac0f9fc5ff1fcad245560713868d968b754",
      "parents": [
        "dc9df6a12d848b32fbd041421c663d2014f32403"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 14 11:20:05 2018 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 14 11:29:00 2018 -0700"
      },
      "message": "Prevent Hearing Aid fromn spamming logs\n\nHearing Aid uses same mechanism as A2DP for obtaining audio stream,\nthus causing same throttling issue.\n\nBug: 69623109\nTest: stream music through Hearing Aid, observe logcat output\nChange-Id: I6445f6c85d9600fdb12008b0c353242f799b963e\n"
    },
    {
      "commit": "3ef6213702a48c67e8adc0144612172256e68c2e",
      "tree": "33a580fdd93f27602cf9e73f83537a54abbb776a",
      "parents": [
        "ca35ad0a6d99f5b51fc439f21cf8e2e0d4f60d99",
        "2be6d9d3aef8bee29b75bfca592a6211f12d7508"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 13 23:43:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 23:43:14 2018 +0000"
      },
      "message": "Merge \"seccomp_policy: enable more syscalls for x86 arch\" into pi-dev"
    },
    {
      "commit": "2be6d9d3aef8bee29b75bfca592a6211f12d7508",
      "tree": "fd47af8a2be3db2c6c3a8fe28616f0947d4f57ae",
      "parents": [
        "d8c248902cd7f58d6fa909dd4adb24a0532aa577"
      ],
      "author": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Tue Mar 13 14:32:25 2018 -0700"
      },
      "committer": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Tue Mar 13 14:32:25 2018 -0700"
      },
      "message": "seccomp_policy: enable more syscalls for x86 arch\n\nBUG: 74612083\nTest:\nlunch sdk_gphone_x86-userdebug\nrun gts -m GtsMediaTestCases\nthe minijail should not block syscalls\n\nChange-Id: I6c497d0f13b0ce0e4bc7a7821d026a2c0b410f9d\n"
    },
    {
      "commit": "40ed77288020322f7ffb30c984a2b39c7329bc60",
      "tree": "5d654af67b15dd9fa885e2e03bf7402eb88282a0",
      "parents": [
        "e8f1fe680dc26c04ec8becec4bf690d0a5435b83",
        "2ad7939f0a4a1625913fa8d011e711050569b606"
      ],
      "author": {
        "name": "Petri Gynther",
        "email": "pgynther@google.com",
        "time": "Tue Mar 13 02:00:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 02:00:33 2018 +0000"
      },
      "message": "Merge \"audiopolicy: Add support for A2DP offload audio policy config\" into pi-dev"
    },
    {
      "commit": "e8f1fe680dc26c04ec8becec4bf690d0a5435b83",
      "tree": "e759487b05a55ab93d3d22442e1752a20c21a3f0",
      "parents": [
        "81df020fa8902767b81b25b49dedee072aa52f03",
        "a8ee996bc065d6938c0e0a5904df7fff5d946fea"
      ],
      "author": {
        "name": "Petri Gynther",
        "email": "pgynther@google.com",
        "time": "Tue Mar 13 02:00:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 02:00:33 2018 +0000"
      },
      "message": "Merge \"audiopolicy: Check if A2DP playback happens via primary output\" into pi-dev"
    },
    {
      "commit": "81df020fa8902767b81b25b49dedee072aa52f03",
      "tree": "30bfb7db1d8441240a7e6ec89d3ac9b1f32426f0",
      "parents": [
        "d8c248902cd7f58d6fa909dd4adb24a0532aa577",
        "a918198ba146dc8a3a14793bf270754521f9b852"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Mar 12 22:41:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 12 22:41:08 2018 +0000"
      },
      "message": "Merge \"Camera: remove software flex pixel formats\" into pi-dev"
    },
    {
      "commit": "2ad7939f0a4a1625913fa8d011e711050569b606",
      "tree": "c479817b833fb09ecb710897f11fc747d223a920",
      "parents": [
        "dce7559514917e7975a0d2dcc11aaa97d770367a"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@codeaurora.org",
        "time": "Wed Jan 31 20:26:59 2018 -0800"
      },
      "committer": {
        "name": "Petri Gynther",
        "email": "pgynther@google.com",
        "time": "Mon Mar 12 19:17:44 2018 +0000"
      },
      "message": "audiopolicy: Add support for A2DP offload audio policy config\n\nAdd support for A2DP offload audio policy config in\nAudioPolicyManager.\n\nBug: 63932139\nBug: 68824150\nTest: A2DP offload verified on supported codecs\nChange-Id: Ie62eaa10218d24e6ec51d20413fb35426ed5498a\n(cherry picked from commit 713273460076a6559e31c770fe6c51861127fd5c)\n"
    },
    {
      "commit": "a8ee996bc065d6938c0e0a5904df7fff5d946fea",
      "tree": "e335626781eed7e03d6bc68b110297ca2dedcd4f",
      "parents": [
        "dce7559514917e7975a0d2dcc11aaa97d770367a"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@codeaurora.org",
        "time": "Wed Jan 31 20:24:23 2018 -0800"
      },
      "committer": {
        "name": "Petri Gynther",
        "email": "pgynther@google.com",
        "time": "Mon Mar 12 19:16:49 2018 +0000"
      },
      "message": "audiopolicy: Check if A2DP playback happens via primary output\n\nAudio policy implementation assumes A2DP playback to happen\nvia HW module other than the primary HAL. This need not be true\nalways, since primary audio HAL can support A2DP playback too.\nAdd an API to check if A2DP playback is supported via primary HAL,\nand if it is supported avoid suspendOutput.\n\nBug: 63932139\nBug: 68824150\nTest: A2DP offload verified on supported codecs\nChange-Id: Ic5546bc2df632462dcc28442af561d05ba2d7c58\n(cherry picked from commit 68364ffbd312cdc28dd44e66c4d80ce5a6ec49ba)\n"
    },
    {
      "commit": "58a73fc8445db7fc587e4ef494e59bf5663f8b77",
      "tree": "953f7a1db4c4b6da60818709f0efea126902d3b1",
      "parents": [
        "966c158717dea42a7aa4f69a002f30a73c8713cb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 21 18:46:13 2018 -0800"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Sat Mar 10 00:44:56 2018 +0000"
      },
      "message": "Add Bluetooth Hearing Aid routing and configuration\n\nBug: 69623109\nTest: connect to Hearing Aid, make phone call, verify audio is heard\nChange-Id: I92267fb48608fb721c5c4ef7ec9fceeafc8ea192\n"
    },
    {
      "commit": "6e64137e95362a8f6eef43ea676418567b327c96",
      "tree": "8a2ed91d013a14058c606d6f41d044ecca7e184e",
      "parents": [
        "dc9df6a12d848b32fbd041421c663d2014f32403"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Mar 02 09:21:30 2018 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Mar 09 21:49:03 2018 +0000"
      },
      "message": "Revert \"Revert \"Use start/finish app op API for mic use\"\"\n\nThis reverts commit 599ec462d94136949e0c90419ea99b0d9ba83eac.\n\nIn addition it fixes an incorrect comparison against opPackageName\ninstead of resolvedOpPackageName creating incorrect short circuit.\n\nTest: atest android.media.cts.AudioRecordAppOpTest\n      \"Okay Google\" works fine\n\nbug: 64085448\n\nChange-Id: I77a8486dfd6e4f020efdf05d28a856a32579ef31\n(cherry picked from commit 5b81f550759c975fe6716e4e7870b11e523834d0)\n"
    },
    {
      "commit": "0f70117175f4cbadde84212cbd10fb3261cafd03",
      "tree": "d0cc5e3c5c688d44c0f0f5a3acb53f85df820282",
      "parents": [
        "692fe780caff1258960ecf9724a50d22c4d03961",
        "693047ddb938c16d00ef5c848aae9c52af7584ef"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 20:51:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 20:51:10 2018 +0000"
      },
      "message": "Merge \"Camera: stop streaming before deleting jpeg stream\" into pi-dev"
    },
    {
      "commit": "a918198ba146dc8a3a14793bf270754521f9b852",
      "tree": "2a065235cb0e4e0f3966093fddca42f8d55607bc",
      "parents": [
        "0df1e8d08aeb50771bdae54f77088f31531c4cb0"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Tue Mar 06 09:55:14 2018 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Mar 09 12:27:31 2018 -0800"
      },
      "message": "Camera: remove software flex pixel formats\n\nSome of the flex pixel formats are software-only and are not\navailable in HIDL interfaces.  Camera service does not expect to see\nthem.\n\nBug: 70526789\nTest: builds\nChange-Id: I70b6ddd8e9214a12cc18ba7456ef1b06a2339cf6\n"
    },
    {
      "commit": "693047ddb938c16d00ef5c848aae9c52af7584ef",
      "tree": "8c2e22ec435196646a246b19ada1f6daff7b8ee7",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 08 12:14:19 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 09 10:48:40 2018 -0800"
      },
      "message": "Camera: stop streaming before deleting jpeg stream\n\nWith the change to update slowJpeg flag on the fly, it becomes\npossible a jpeg stream is deleted during active streaming.\n\nTest: TestingCamera change still picture size from small to large\nBug: 72261327\nChange-Id: Ia01b47926ab03cdfe1e0aa10fcf61ff984ba4e2c\n"
    },
    {
      "commit": "20c40b3d5694d768c9e009722b6de7e1c64bf5e6",
      "tree": "3e1428875a9101fed402a9e2364d031ce7f6ad6e",
      "parents": [
        "b3ee0c8ba072dc157a24263f0060d31e019a2810"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Feb 26 16:27:02 2018 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Mar 09 05:29:29 2018 -0800"
      },
      "message": "Create Codec2.0 service\n\nTest: adb shell setenforce 0\nadb shell /vendor/bin/hw/vendor.google.media.c2@1.0-service \u0026\nadb shell /vendor/bin/hw/vendor.google.media.c2@1.0-service-system \u0026\nadb shell lshal | grep media.c2\n\nTest: Builds\n\nBug: 31973802\nBug: 64121714\nChange-Id: I1912e6d52e710436422f1681db0ab1dc029d3a89\n"
    },
    {
      "commit": "e1c48edab71972f7e11604917750501db768ea01",
      "tree": "424bae4eb899038987d50d0795060caebd783e9b",
      "parents": [
        "16ac9b680a7a965b49b443dc5a1e03ef4f14ab99"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Mar 02 12:25:08 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Mar 08 09:48:37 2018 +0000"
      },
      "message": "Camera: Support all API1 compatible camera devices\n\nAPI1 compatible camera devices shouldn\u0027t be filtered based on\ntheir provider type. Devices must advertise their support by\nenabling the backward compatiblity flag in their static camera\ncapabilities.\n\nBug: 73738052\nTest: Camera CTS\nChange-Id: I2b3d80051e89b3a8908d636a1156a32e89b7c4f1\n"
    },
    {
      "commit": "cda259fbfd8e64cde11251d6a8dea89c907789db",
      "tree": "2f5f2c13eac4655152265a5bdcff6fc92f6d91ab",
      "parents": [
        "c83a248be36a565aa9a8d65cf27a464428bb6851",
        "703e4995c6c034626b9262fd16a82ae58f686b90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 13:03:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 13:03:37 2018 +0000"
      },
      "message": "Merge \"Camera: Don\u0027t hold locks during shared output dequeue\" into pi-dev"
    },
    {
      "commit": "703e4995c6c034626b9262fd16a82ae58f686b90",
      "tree": "9beb3497544c2a09c5a3b4d929d5ffdc7a1fbeed",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 27 11:42:09 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 06 11:21:01 2018 +0000"
      },
      "message": "Camera: Don\u0027t hold locks during shared output dequeue\n\nBlocking dequeue calls for async output surfaces seem to be\npossible. Refactor the code so that stream splitter doesn\u0027t\nhold any locks during output surface dequeue calls triggered\nby buffer released callbacks.\n\nBug: 73953239\nTest: Camera CTS\nChange-Id: Ia2166de73d2b8de7ef4157e81c87f53c8a264c0c\n"
    },
    {
      "commit": "ad9c7e47d26bbeb2f3be96b3ad6988a6023a1021",
      "tree": "0d7cce2a82c78d215ae7c7cd8aac1148ad8c81a2",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Mar 05 12:25:58 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Mar 05 20:39:11 2018 +0000"
      },
      "message": "Revert \"audioflinger: Remove \"exiting\u003d1\" parameter\"\n\nThis reverts commit e2bc208f05ed430a18a9078799b6b6d56e3d6dda.\n\nBug: 74142786\nTest: with Android Auto head unit simulator\n\nChange-Id: I9f96da7ba67b3ed774c9b9bdab7cee390d3f0ca2\n"
    },
    {
      "commit": "bcc63b1434f2d8d2dee9e921151bf27485669ab6",
      "tree": "6891834b69b4211c4d1b387b561feba43e6ea3d7",
      "parents": [
        "936aced80442062afe07ac58ac14bc6141ad00c0",
        "c067179b6a402fc0c284cfae886058a6738e9b20"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 03:55:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 03:55:37 2018 +0000"
      },
      "message": "Merge \"Camera: fix supported FPS string\""
    },
    {
      "commit": "b7c8c8875fb5fcb6d4d395ccd15fc22266ffd4cc",
      "tree": "5ebfe28726dd916affb5cce754d8b4542d33e983",
      "parents": [
        "b4af9b8ff5bd4efd054e879305a95353bf59bd67",
        "0fd28115e485cfe9202c1eec777a6cc17663651a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 02:03:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 02:03:05 2018 +0000"
      },
      "message": "Merge changes Ic7fd2787,If97579fd\n\n* changes:\n  Camera: notify AE trigger ID change\n  Camera: fix camera ID in flashlight control\n"
    },
    {
      "commit": "c067179b6a402fc0c284cfae886058a6738e9b20",
      "tree": "8f661848279b9ee8bb7f6a833f493c7a4123f530",
      "parents": [
        "0fd28115e485cfe9202c1eec777a6cc17663651a"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 02 15:50:48 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 02 15:50:48 2018 -0800"
      },
      "message": "Camera: fix supported FPS string\n\nTest: CameraTest.java\nBug: 72261912\nChange-Id: I0737b7411ad52159477ba5d931607067d567128e\n"
    },
    {
      "commit": "2d059936882d8d6b8f73dedd4f9a043bdd36405a",
      "tree": "fe78b96ace7cb7d76048ce76457ef478bef42461",
      "parents": [
        "cdf22ce8143ac4cc84c890eec49b213fc1db7231"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 15 15:55:11 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Mar 02 22:48:45 2018 +0000"
      },
      "message": "audiopolicymanager: prevent MMAP stream collisions\n\nAn allocation of a second MMAP stream with a different\nrate or channel count could collide with an existing MMAP\nstream and cause it to fail.\n\nBug: 73369112\nTest: test_interference.cpp\nChange-Id: I8318ba897dd4999dd747d40a77b6850525616998\n"
    },
    {
      "commit": "b62c79b1d35ef69f7392464f104b53ef6f9967b0",
      "tree": "4e4835fc680200a896f04fbfe525061021693346",
      "parents": [
        "3859e62d88d3abd8ed5679e56c6e73804ff3c9a4",
        "41f19d8e9471945b358c9ae1dffda60f195d9f5b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 19:23:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 19:23:14 2018 +0000"
      },
      "message": "Merge \"aaudio: convert mono output to stereo\""
    },
    {
      "commit": "41f19d8e9471945b358c9ae1dffda60f195d9f5b",
      "tree": "76116b8a7d57b4f696fa1bda0cbeda63fa208d45",
      "parents": [
        "54486dc5d502e563747ec5744f61af97ea9c9035"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Feb 13 14:59:10 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Mar 01 19:13:02 2018 -0800"
      },
      "message": "aaudio: convert mono output to stereo\n\nMMAP hardware streams are often stereo.\nBut apps often want to output a mono stream.\nSince converting from mono to stereo is easy,\nwe can go ahead and open a stereo hardware stream\nand then just convert the apps mono data to stereo for the HW.\n\nAdd getDeviceChannelCount().\n\nTest:  adb shell write_sine_callback -pl -s10 -c1 -m3\nTest:  adb shell write_sine_callback -pl -s10 -c1 -m3 -x\nChange-Id: I444a38c6f5cd32d1d6113f16aacec68285a1bc82\n"
    },
    {
      "commit": "599ec462d94136949e0c90419ea99b0d9ba83eac",
      "tree": "0774e6abd59eec5530f78d6788a8da27217bac63",
      "parents": [
        "9b887324b8c3f86f012915a6f637081b158a221b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 01 22:19:55 2018 +0000"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 01 16:10:34 2018 -0800"
      },
      "message": "Revert \"Use start/finish app op API for mic use\"\n\nThis reverts commit 55bb217cd1fea3e791d0d7cf73e09e27fed8c36e.\n\nReason for revert: Causes a regression\n\nbug:74061812\n\nChange-Id: I119937cfce79ba824185634f2b81dad1606a875d\n"
    },
    {
      "commit": "f11edb6f6a103a23a50d0ec4b214fdd36aa5f139",
      "tree": "0b7d05c9c6b0bacbd2ec808a13117a807e908450",
      "parents": [
        "9f0cbec1d758ba70627b6b4fa1bb12250b92677e",
        "db1396cee49289dc0395ff9a35d2ae06419c7768"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 14:24:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 14:24:10 2018 +0000"
      },
      "message": "Merge \"Camera: Relax RGBA format override\""
    },
    {
      "commit": "b184c494bef0dd67d715732c27e059a46e723161",
      "tree": "b2ab9e45f2c63ab429d0dd1f1f1f54a25a3cb225",
      "parents": [
        "10164d0a52e59794bd5e63b63b6fbc160fdcb646",
        "55bb217cd1fea3e791d0d7cf73e09e27fed8c36e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 01:11:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 01:11:35 2018 +0000"
      },
      "message": "Merge \"Use start/finish app op API for mic use\""
    },
    {
      "commit": "10164d0a52e59794bd5e63b63b6fbc160fdcb646",
      "tree": "9c9c8e83fc50ad73c13b40d70d570815526e0b8c",
      "parents": [
        "a529a0480ab6647cdc6f61b3633f4ba25f64405e",
        "1d519106f7a3d31cc89e3c4a1146106b0478a410"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 01:11:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 01:11:25 2018 +0000"
      },
      "message": "Merge \"Update app op calls due to internal API change\""
    },
    {
      "commit": "a529a0480ab6647cdc6f61b3633f4ba25f64405e",
      "tree": "01c54cf86566f574a556ada38ac3672b7b927a97",
      "parents": [
        "33971ac15c70507d8ce390c015399283e96f921d",
        "e2bc208f05ed430a18a9078799b6b6d56e3d6dda"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 23:59:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 23:59:39 2018 +0000"
      },
      "message": "Merge \"audioflinger: Remove \"exiting\u003d1\" parameter\""
    },
    {
      "commit": "0fd28115e485cfe9202c1eec777a6cc17663651a",
      "tree": "64b65433538b83204ab9355067dcea5d9c737fcf",
      "parents": [
        "6b1f6115a8bdc825344bfdd5becd1bfb3f16d0f1"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 28 13:08:49 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 28 13:22:16 2018 -0800"
      },
      "message": "Camera: notify AE trigger ID change\n\nSo transient state change are not ignored.\n\nBug: 72261912\nChange-Id: Ic7fd278725586275595276682c445c2aa0727de6\n"
    },
    {
      "commit": "6b1f6115a8bdc825344bfdd5becd1bfb3f16d0f1",
      "tree": "d9820d450b0920f23ed6e88cf0c59c84b09e64f7",
      "parents": [
        "b4bec47dfc3623935aca176af24e690b3aa88145"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 28 13:05:59 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 28 13:21:50 2018 -0800"
      },
      "message": "Camera: fix camera ID in flashlight control\n\nBug: 72261912\nChange-Id: If97579fd27737c7f3ffd0bf637d28f213343ffb1\n"
    },
    {
      "commit": "55bb217cd1fea3e791d0d7cf73e09e27fed8c36e",
      "tree": "08b19af105e7aa492f732e815928e4420aa7f1c6",
      "parents": [
        "1d519106f7a3d31cc89e3c4a1146106b0478a410"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Feb 27 20:25:51 2018 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 28 04:48:29 2018 +0000"
      },
      "message": "Use start/finish app op API for mic use\n\nSince recording is a long running operation we need to use\nthe start/finish app op APIs since now system UI would watch\nfor active mic/camera/overlay ops and badge app notifications\nwith icons denoting that these capabilities are being used.\n\nTest: atest android.media.cts.AudioRecordAppOpTest\n\nbug: 64085448\n\nChange-Id: I47d9b507ef5d757d34d65484c112cea6cdc246e1\n"
    },
    {
      "commit": "4f8f900d3cb8ee117980705ac5df250f9df63bfc",
      "tree": "9cb144737b86c91e2053293b611589ec79946af0",
      "parents": [
        "547921396126d2e5e6387a04bc971e616250574b",
        "7d2c6e8be2c9a4f3c1364d243856a345f17f851e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 22:02:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 22:02:33 2018 +0000"
      },
      "message": "Merge \"Move mediadrm-related headers\""
    },
    {
      "commit": "f5bc9a97512897eab1cebc0bd460b5a434cb3f9e",
      "tree": "1456b5c5c76f677b855d5e26a3c6bd095a48c0d9",
      "parents": [
        "91b22e5cb1413fbbd80374f0220d2877c83476ef",
        "573291c251d9e85f51f7c0fa1cb35baa2969ca17"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 18:25:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 18:25:14 2018 +0000"
      },
      "message": "Merge \"Camera: Add API level to service proxy notification\""
    },
    {
      "commit": "e2bc208f05ed430a18a9078799b6b6d56e3d6dda",
      "tree": "e34e319874c152fe10fe722cb26fc0edc9e1cedc",
      "parents": [
        "218f8e3bec0070731bff41513b19f64d481dad24"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Feb 27 10:09:59 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Feb 27 10:11:17 2018 -0800"
      },
      "message": "audioflinger: Remove \"exiting\u003d1\" parameter\n\nThis was used by the remote submix module to unstuck when\ninput is not consumed. The remote submix module was updated\nto not require it.\n\nBug: 73175392\nTest: make\nChange-Id: Ic7f6ecbe83251e39052be0693b89db52ab18947c\n"
    },
    {
      "commit": "1d519106f7a3d31cc89e3c4a1146106b0478a410",
      "tree": "1e71e97c2fa52ec0df50a86cb88fa9fe2f5e1fbf",
      "parents": [
        "ac7c7dbd519edb31eff023c651a53ae788dc0d82"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Feb 26 10:48:14 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Feb 26 13:28:47 2018 -0800"
      },
      "message": "Update app op calls due to internal API change\n\nTest: manual\n\nbug: 64085448\n\nChange-Id: Iba0dba96fb02d4f3e57f6cbd0ffde19500475c9b\n"
    },
    {
      "commit": "54c28999afa7834a8dbc6079a2707598a37db56f",
      "tree": "2677c29642cc1c92056ac37a802f4c53d51787f7",
      "parents": [
        "218f8e3bec0070731bff41513b19f64d481dad24",
        "db959740904eba27582feee48234463f3553b199"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Feb 26 18:34:17 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 26 18:34:17 2018 +0000"
      },
      "message": "Merge \"Don\u0027t use cutils/Atomic.h\" am: 853996e7b2 am: 072aaa2e39\nam: db95974090\n\nChange-Id: I7f930bda6e51c0d4368747f8e4a0eac92e68b2fd\n"
    },
    {
      "commit": "db959740904eba27582feee48234463f3553b199",
      "tree": "06112b3f039a1c3e9d36eaef0a5ac0eda87a6827",
      "parents": [
        "485366ec5533cc3120a2c8dce35e38571c16f1cd",
        "072aaa2e39765fd5cfdfa4237b9099c313e0d126"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Feb 26 18:26:05 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 26 18:26:05 2018 +0000"
      },
      "message": "Merge \"Don\u0027t use cutils/Atomic.h\" am: 853996e7b2\nam: 072aaa2e39\n\nChange-Id: I3502ec89eed45da2d052fb274d08fcb7c1c62f1b\n"
    },
    {
      "commit": "643825e4943995bbefd13d55c58bffd5e6904e90",
      "tree": "065eac1e1623e5340edd77f25b98dcd1ad4377ec",
      "parents": [
        "8231ac5a67006a8c0e9755fd143f788059930c45",
        "7840c30d04a749da9817682339f97b4ab128dffd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 24 14:15:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 24 14:15:05 2018 +0000"
      },
      "message": "Merge \"Revert \"Ignore config error if non-offloadable effect is on offload thread\"\""
    },
    {
      "commit": "7840c30d04a749da9817682339f97b4ab128dffd",
      "tree": "f9dd3c1b47b99a5bb720fb51ca061625aa2a6306",
      "parents": [
        "cfb681346730d9d0cf849f44e234f79c1622f209"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 24 01:33:26 2018 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Feb 24 01:39:39 2018 +0000"
      },
      "message": "Revert \"Ignore config error if non-offloadable effect is on offload thread\"\n\nThis reverts commit cfb681346730d9d0cf849f44e234f79c1622f209.\n\nReason for revert: Crashes in Play Music b/73624638\nTest: Play Music with cleared app data, check equalizer settings\nBug: 73624638\nBug: 70912361\nChange-Id: I6d4eec2fda57a60c2c6949937752d8f1e50bb8ab\n"
    },
    {
      "commit": "f0c02ce99ccac584f4f4790390702aabc4d92c90",
      "tree": "f5aa741235215cd73df2025b8e42394486a52ae8",
      "parents": [
        "fa87fc3b31e273efe3a2f5090dcd9c283e414aa5"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Feb 23 14:53:55 2018 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Feb 23 15:02:39 2018 -0800"
      },
      "message": "Don\u0027t use cutils/Atomic.h\n\nTest: builds\nChange-Id: I56aea1dff5a2bd98d119eb374e7a28a12a20861c\n"
    },
    {
      "commit": "467af1dd89332bf711bfba43a7a09474ff30157b",
      "tree": "7e62fdca225d58a700c2278c103e03cc18b3abce",
      "parents": [
        "680de4c7e30ee1b5880e2809d754df631e160c48",
        "e113d80e03745a22a79290212eefadb406632ee6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 23 04:13:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 04:13:29 2018 +0000"
      },
      "message": "Merge \"libavservices_minijail: convert to Android.bp\""
    },
    {
      "commit": "7dc2089881f3c1ab396aba2b321934f6c73c0379",
      "tree": "dfdcdb7a4b36989958478a32057f7b08b63f08a4",
      "parents": [
        "13cb23855c3b5242818725262d8822dd4f9be24e",
        "bd8c503398d6b483b7abba594c7838a4c93b6e23"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 22 16:20:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 22 16:20:02 2018 +0000"
      },
      "message": "Merge \"Camera: Cache monitored tag options in service\""
    },
    {
      "commit": "dff6a64ce600a4f4550a97cf49778de14b1fde70",
      "tree": "8983cac84f22f6bdf1a15659210c6197f4e86e66",
      "parents": [
        "41c868219a5cf5b5862afc8515373a89a9353541",
        "98e38191c37d3e324b34a6aafeef8e43366003ef"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 22 02:46:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 22 02:46:57 2018 +0000"
      },
      "message": "Merge \"audioflinger: remove obsolete stream volume management\""
    },
    {
      "commit": "98e38191c37d3e324b34a6aafeef8e43366003ef",
      "tree": "349602f9c4d9dd7f4720328cc72f891f9515a0ce",
      "parents": [
        "7c9dbd5440e8119ca439e4b9315843bd348b991f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 15 18:31:53 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 21 12:54:41 2018 -0800"
      },
      "message": "audioflinger: remove obsolete stream volume management\n\nRemove the ability to change stream volume globally (on all outputs)\nin audio flinger as this doesn\u0027t make sense when stream volume is\nmanaged per device.\n\nAlso, do not store stream volumes globally in audio flinger and apply\nthem when a new output is opened. The ground truth for stream volume is\nin audio policy so make sure stream volumes are systematically applied\nby audio policy when an output is opened according to the selected device.\n\nBug: 70332110\nTest: audio smoke tests\nChange-Id: I7180a428af53aafdee82aadbcaf284c028ac5554\n"
    },
    {
      "commit": "73ad28c7a9a27f00cb154d77f0388f2a7d13076b",
      "tree": "be4a287920a5409a199c7358ade6ece4af071316",
      "parents": [
        "5b0c25fc17415b09f4838de65a003b83b61292e9",
        "dbfcb38f6636931b2e3e6da8e6aa5a7bfce84a82"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 21 03:50:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 21 03:50:56 2018 +0000"
      },
      "message": "Merge \"Camera: fix corner case in eviction logic\""
    },
    {
      "commit": "1cacca4057398cc8352e36e6c76832b2945f9857",
      "tree": "fbbf5deaf01534144f42d3c67a3cd1b35a6286e6",
      "parents": [
        "7c9dbd5440e8119ca439e4b9315843bd348b991f",
        "1bc088a918d7038603230637d640941953b314d4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 20 19:51:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 20 19:51:24 2018 +0000"
      },
      "message": "Merge \"Call AudioMixer only from MixerThread threadLoop.\""
    },
    {
      "commit": "7d2c6e8be2c9a4f3c1364d243856a345f17f851e",
      "tree": "3aab41fe8acce7056a1e7b01ebc2e8882e416b9a",
      "parents": [
        "987ac7056040ed1594dc975c8a9d7cee463fa834"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 16:14:59 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 17:04:00 2018 -0800"
      },
      "message": "Move mediadrm-related headers\n\nRelocate drm and crypto headers from media\nto mediadrm to have finer grained ownership\n\nbug:73556221\nChange-Id: I7d1b5944f261f9b1fdeed7605e4c0b4b4ca43e1a\n"
    },
    {
      "commit": "e113d80e03745a22a79290212eefadb406632ee6",
      "tree": "066915c369e79918910fef4937f422f3b87ca1d2",
      "parents": [
        "81be7d85ab3e1a5897be623d040a26d4d9ede207"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Feb 15 17:05:08 2018 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Feb 16 16:05:03 2018 -0800"
      },
      "message": "libavservices_minijail: convert to Android.bp\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: 73507422\nChange-Id: I2a8d9eaae764094e18eb045aa0c28425cd9bb19c\n"
    },
    {
      "commit": "1bc088a918d7038603230637d640941953b314d4",
      "tree": "e231c2b22d944eaed29445fe4a35861fddb50e54",
      "parents": [
        "e54461ae132a79d0ffa9d3ec4631df13eb5c7809"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 09 15:57:31 2018 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 16 15:50:32 2018 -0800"
      },
      "message": "Call AudioMixer only from MixerThread threadLoop.\n\nAs part of change:\nRemove track name offset by TRACK0.\nMove track name management to the Tracks class.\nSync mixer track name to FastMixer track index.\n\nFixes regression introduced by commit 8ed196a.\n\nTest: SoundPool, AudioTrack CTS, Usability\nBug: 72937362\nBug: 73004420\nChange-Id: I2f1a33f6f0da66bcd7aa91e2a4b663ff822df645\n"
    },
    {
      "commit": "5df26c9b85a9345b84cb9a0d4f937b7df8855a5a",
      "tree": "55eb52c9d7b95fff91d8877fa19c2cbcdeaccd89",
      "parents": [
        "81b4dff2763c795792f524e1e4cb068b64e659ad",
        "cfb681346730d9d0cf849f44e234f79c1622f209"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 16 22:51:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 22:51:51 2018 +0000"
      },
      "message": "Merge \"Ignore config error if non-offloadable effect is on offload thread\""
    },
    {
      "commit": "cfb681346730d9d0cf849f44e234f79c1622f209",
      "tree": "b1643895484134c0acc43e2db3ee88e787028643",
      "parents": [
        "e54461ae132a79d0ffa9d3ec4631df13eb5c7809"
      ],
      "author": {
        "name": "Tomoharu Kasahara",
        "email": "tomoharu.kasahara@sony.com",
        "time": "Fri May 26 19:06:33 2017 +0900"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 16 11:40:10 2018 -0800"
      },
      "message": "Ignore config error if non-offloadable effect is on offload thread\n\nReturn NO_ERROR if a non-offloadable effect is created on an offload thread\n(since the sampling rate of offload output can be different from\nthe one supported by a software effect). Enabling the non-offloadable\neffect will cause the track to move to a non-offload thread.\n\nBug: 70912361\nTest: Create AudioEffect during 24kHz mp3 playback\nChange-Id: Ie5bf264a9790d936c24476ea127bc6da9eefde73\n"
    },
    {
      "commit": "dbfcb38f6636931b2e3e6da8e6aa5a7bfce84a82",
      "tree": "a7c5316d9dab12ee97579a80348938b66e5a4d2a",
      "parents": [
        "c3e9d6f704f7bf9e94c8447aa2f0f21e750c08be"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Feb 16 11:17:36 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Feb 16 11:39:05 2018 -0800"
      },
      "message": "Camera: fix corner case in eviction logic\n\nIPCThreadState::self()-\u003egetCallingPid() is not reliable\nin asynchronous callback (in this case binderDied)\n\nBug: 70946731\nChange-Id: Id90d26ddad8ddf51564baa7bd642e3e4eb535182\n"
    },
    {
      "commit": "573291c251d9e85f51f7c0fa1cb35baa2969ca17",
      "tree": "32fa3d61c99b12e1a5c85713c68e1b8f21cecfdc",
      "parents": [
        "332adf69b9cee8c261b321337b0b8efd57a69018"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Sat Feb 10 02:10:56 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Feb 16 18:09:11 2018 +0000"
      },
      "message": "Camera: Add API level to service proxy notification\n\nThe client API level should be part of the service proxy\nnotifications.\n\nBug: 68653614\nTest: Manual using application\nChange-Id: Id8a9fb51a8ba91795283c846b55a9343cf8505df\n"
    },
    {
      "commit": "a949f46743a29b337ba15cedf9ffb6d813d1b4bd",
      "tree": "ac55a23cbbf5330f529f1c06c4d05d677c54e3e4",
      "parents": [
        "542906964badda8312c03464035dcb12698b0e95",
        "a7b4379046aca7ff9e08dc5f62ef0888423d6cc5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 17:31:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 17:31:13 2018 +0000"
      },
      "message": "Merge \"Update generation when there is device connection state changed.\""
    },
    {
      "commit": "332adf69b9cee8c261b321337b0b8efd57a69018",
      "tree": "53ff1343f02b92a6936040013b22d0a9a92d696a",
      "parents": [
        "da891a1e4a8e2bed310c2a42f4df795a1151f02f",
        "5babc4f104885c16a3dcfdfb5d99903c27ff2bd9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 04:16:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 04:16:32 2018 +0000"
      },
      "message": "Merge \"audio policy: fix regression with duplicated output handle\""
    },
    {
      "commit": "da891a1e4a8e2bed310c2a42f4df795a1151f02f",
      "tree": "3d03b938ad31fc40454e87747cf6bf58e774f8c9",
      "parents": [
        "2bf84ab09dae685a310a6b84c52e03724325afd7",
        "31225688b7b09ad15f5b1fb8ab2868cecc551f15"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 03:37:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 03:37:12 2018 +0000"
      },
      "message": "Merge \"Fix a memory leak\""
    },
    {
      "commit": "2bf84ab09dae685a310a6b84c52e03724325afd7",
      "tree": "78048fcf28af78aa2f8d0015d10bde957ab830bf",
      "parents": [
        "80c9cb9b324a531e4653db342914c4424c5abf1a",
        "c3e9d6f704f7bf9e94c8447aa2f0f21e750c08be"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 03:21:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 03:21:53 2018 +0000"
      },
      "message": "Merge \"Camera: expose external camera to API1\""
    },
    {
      "commit": "5babc4f104885c16a3dcfdfb5d99903c27ff2bd9",
      "tree": "2f260fb33ee4424dcea806c3ba3d96faedb9b644",
      "parents": [
        "31832c60d57558c2d5ddb2e45e4c6111ce9e55bb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 15 12:33:44 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 15 17:36:04 2018 -0800"
      },
      "message": "audio policy: fix regression with duplicated output handle\n\nCommit fe2311274 made that IO Handle for duplicated outputs\nwere not allocated properly causing volume commands to be sent\nwith an invalid IO handle to audio flinger.\nWe then hit another problem with a legacy behavior which broadcasts volume\ncommands to all output threads if received with IOHandle 0.\n\nBug: 70332110\nTest: manual test.\nChange-Id: Ib133abab1575e3c90ba235f0a52d5ab845514719\n"
    },
    {
      "commit": "bdca170676e42d0d00c4a808375702c5cb42f2cd",
      "tree": "e2cb94b0774f6ff166d0cf7c0098006608aa8895",
      "parents": [
        "81be7d85ab3e1a5897be623d040a26d4d9ede207",
        "55497fca194063d18904fdba9f8d88cc5e11abc5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 01:30:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 01:30:42 2018 +0000"
      },
      "message": "Merge \"Camera: Enable surface sharing for all formats\""
    },
    {
      "commit": "c3e9d6f704f7bf9e94c8447aa2f0f21e750c08be",
      "tree": "c09ddbd0cb612c1afac69be56d59686ee22b252d",
      "parents": [
        "98c15702ca0c814fee9110efa14d70fc9937514e"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Feb 06 10:56:32 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Feb 15 17:14:58 2018 -0800"
      },
      "message": "Camera: expose external camera to API1\n\n- Cleanup legacy camera_module_t callbacks\n- Order API1 compatible cameras by their ID: numeric strings first\n- Dynamically updating number of cameras when device is\n  added/removed\n- Make sure the following methods are always called without holding\n  mServiceLock\n    - onDeviceStatusChange\n    - updateStatus\n    - addStates/removeStates\n- Centralized all addState/removeState calls in onDeviceStatusChange\n- Passing api1CameraId (number) and cameraDeviceId (string) to various\n  client classes.\n- Allow FOV information to not present for external camera\n- Update API1 preview/video size logic to exclude \u003c ~30fps sizes\n\nBug: 64874137\nChange-Id: Ied6b7141fdad30e3d1c3fcacc5b69ca350fdeb24\n"
    },
    {
      "commit": "a7b4379046aca7ff9e08dc5f62ef0888423d6cc5",
      "tree": "e3f124d94d2619be8ae6418c8782a4e7e8c5768e",
      "parents": [
        "d8d4ef440fe25095d34e535e591edd8fa1457307"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Feb 15 16:04:46 2018 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Feb 15 16:04:46 2018 -0800"
      },
      "message": "Update generation when there is device connection state changed.\n\nWhen there is device connection state changed, the available\ninput/output devices will change. If we don\u0027t update the generation, it\nmay cause the number of ports different with same generation, which may\ncause crash in jni layer.\n\nBug: 73077399\nTest: run com.android.bluetooth.hfp.HeadsetServiceTest\nChange-Id: Ic2e477552a71582bcd38227b9a449eef5b82b18c\n"
    },
    {
      "commit": "2c6a243319474e518824b872894e9c5f274b81b6",
      "tree": "27cd47ae36810416e2a74aaddc983e4e4c09c217",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6",
        "b3733cf0932256c57c74fc6670bd0e5bdd0edb4d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 15 22:27:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 22:27:31 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"APM: Avoid route change mute of isolated sounds\"\"\""
    },
    {
      "commit": "b3733cf0932256c57c74fc6670bd0e5bdd0edb4d",
      "tree": "6f6e1187fa69cd0eefed4a91a4deede6434ae699",
      "parents": [
        "4a5b48197acdeaa397bf63a753af550bdea1b361"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 15 19:17:50 2018 +0000"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 15 19:17:50 2018 +0000"
      },
      "message": "Revert \"Revert \"APM: Avoid route change mute of isolated sounds\"\"\n\nThis reverts commit 4a5b48197acdeaa397bf63a753af550bdea1b361.\n\nReason for revert: original CL not at fault for b/70332110\n\nChange-Id: I3eef8a249305a66111e2f606155511a03b4d588a\n"
    },
    {
      "commit": "bd8c503398d6b483b7abba594c7838a4c93b6e23",
      "tree": "64e2d0bad143b5d745b51dabb584c86aa0aea2fc",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Feb 14 23:05:40 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Feb 15 00:03:49 2018 +0000"
      },
      "message": "Camera: Cache monitored tag options in service\n\nMonitored camera tag dump options should be stored\nby camera service and parsed during initialization of\neach new camera client.\n\nBug: 71640311\nTest: Camera CTS,\nManual using application\nChange-Id: Id464fbaec40395e93969b90abbd07f0a5cd0dc30\n"
    },
    {
      "commit": "a94cb66cbfa3699b39a6a90b67212f606565f7eb",
      "tree": "d9f7ca26538e901847384055a5ad6b855c60f265",
      "parents": [
        "eb9d054a490afad6abf0b2e1dfa969196600338f",
        "00420d2aa4a01cddc45969fcc315ab470c65e938"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 14 20:25:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 20:25:38 2018 +0000"
      },
      "message": "Merge \"Camera: Allow streaming requests with individual physical settings\""
    },
    {
      "commit": "db1396cee49289dc0395ff9a35d2ae06419c7768",
      "tree": "35d1d0db33562e45e836e0b29ebc00c694d7650f",
      "parents": [
        "e54461ae132a79d0ffa9d3ec4631df13eb5c7809"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Feb 12 23:54:48 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 13 02:16:02 2018 +0000"
      },
      "message": "Camera: Relax RGBA format override\n\nRGBA camera outputs must be overriden to\nIMPLEMENTATION_DEFINED format only in case their usage\nsuggests that the consumer is HW and the SW read flags\nare clear.\n\nBug: 35317944\nTest: Camera CTS\nChange-Id: I99c6903301b2364ee5b686800950f3898ec973a4\n"
    },
    {
      "commit": "55497fca194063d18904fdba9f8d88cc5e11abc5",
      "tree": "7d6ae6a4491aa657b74941a22bc8d8239b953159",
      "parents": [
        "e54461ae132a79d0ffa9d3ec4631df13eb5c7809"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Feb 12 22:26:52 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Feb 12 22:36:05 2018 +0000"
      },
      "message": "Camera: Enable surface sharing for all formats\n\nSurface sharing must be enabled for all pixel formats\nsupported by the camera.\n\nBug:73135123\nTest: Camera CTS\nChange-Id: I804a881461a2dc19ad4901b319919df1488be422\n"
    },
    {
      "commit": "964414602e7559b486d499dd46e7c15871deb31e",
      "tree": "395de95a186b1451c7f7089164efce5e7310ee3d",
      "parents": [
        "e54461ae132a79d0ffa9d3ec4631df13eb5c7809"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 06 11:41:55 2018 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 12 11:29:18 2018 -0800"
      },
      "message": "Camera: Revise MOTION_TRACKING capability\n\nSimplify the API for the P release.\n\nTest: Revised Camera CTS passes\nBug: 63629224\n\nChange-Id: Icf19d25f841a9e3bede77c39ea5f98c933d72871\n"
    },
    {
      "commit": "31225688b7b09ad15f5b1fb8ab2868cecc551f15",
      "tree": "3a9cb9b1644044132ddde4c48a30d47c4e6da0f4",
      "parents": [
        "e54461ae132a79d0ffa9d3ec4631df13eb5c7809"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Feb 12 11:08:38 2018 -0800"
      },
      "committer": {
        "name": "George Burgess",
        "email": "gbiv@google.com",
        "time": "Mon Feb 12 19:15:08 2018 +0000"
      },
      "message": "Fix a memory leak\n\nStatic analyzer complaint:\nframeworks/av/services/audiopolicy/service/AudioPolicyEffects.cpp:551:5:\nwarning: Potential leak of memory pointed to by \u0027fx_param\u0027\n[clang-analyzer-unix.Malloc]\n\nThis is because we unconditionally assign the result of realloc to\nparam: if realloc fails, it will not free the given pointer value, but\nwill return NULL. Hence, code like:\n\nbool safeGrowParamSize(char **param, size_t size,\n                       size_t *curSize, size_t *totSize) {\n  if (growParamSize(param, size, curSize, totSize) \u003d\u003d 0) {\n    free(*param);\n    return false;\n  }\n  return true;\n}\n\n...Will fail to free param on failure.\n\nBug: None\nTest: None\nChange-Id: I7a430e7965ab29e183c82ebcb298a2ffb42339b1\n"
    },
    {
      "commit": "913f986aec4dc5c2eee4879746e9ffdc7af7637b",
      "tree": "d5d6b2f5180cb520350e554083501ba03fa1eeda",
      "parents": [
        "51fbf99c725544b8511ec9613f9607ff68561055",
        "77881cd0213e2fb5619862cfd5b0aa2b9d4e3081"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 02:18:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 10 02:18:55 2018 +0000"
      },
      "message": "Merge changes I55e18e2e,Id3687d2a,I9fb550a9\n\n* changes:\n  fix audio port ID generation for new AudioTrack and AudioRecord\n  Revert \"Revert \"audio flinger: move record permission checks to audio policy service\"\"\n  Revert \"Revert \"audio policy: refactor audio record APIs\"\"\n"
    },
    {
      "commit": "77881cd0213e2fb5619862cfd5b0aa2b9d4e3081",
      "tree": "0920071fb96e57d396b16eaf4166cbb460deb176",
      "parents": [
        "7dca8a83b7c6922a69e266aa9f2b5693a4d773a9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 09 16:01:31 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 09 16:09:20 2018 -0800"
      },
      "message": "fix audio port ID generation for new AudioTrack and AudioRecord\n\ncommit 0f4b3c544 introduced a problem in audio port ID generation\nby audio policy manager when a new playback or record track\nis created: audio flinger was passing a random port ID to\ngetOutputForAttr and getInputforAttr.\nThis caused audio policy to confuse several record tracks\nand fail to process capture stop properly.\n\nBug: 72628781\nTest: manual camcorder tests\n\nChange-Id: I55e18e2e6ccb9f69c36372d9bf9becf85e7c2614\n"
    },
    {
      "commit": "7dca8a83b7c6922a69e266aa9f2b5693a4d773a9",
      "tree": "cd09df52888de8f7af339c9decc3f21367272c1b",
      "parents": [
        "fee1976a2849c37a53d8a01ac10327d522a1ba93"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 29 18:44:26 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 09 16:09:06 2018 -0800"
      },
      "message": "Revert \"Revert \"audio flinger: move record permission checks to audio policy service\"\"\n\nThis reverts commit 67651f97c9c3880a4440c86618337f8a64c3e1a9.\n\nBug: 72628781\nTest: manual camcorder tests\nChange-Id: Id3687d2a4ab90f01d66ff30b2d77e6ec4ae72b3f\n"
    },
    {
      "commit": "fee1976a2849c37a53d8a01ac10327d522a1ba93",
      "tree": "5b8a259a93f6f84a964badf5417c113a308e67c9",
      "parents": [
        "98c15702ca0c814fee9110efa14d70fc9937514e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 29 18:44:13 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 09 16:08:31 2018 -0800"
      },
      "message": "Revert \"Revert \"audio policy: refactor audio record APIs\"\"\n\nThis reverts commit e9ebcdbb0580bd4a75f4530b957b1859e535c028.\n\nBug: 72628781\nTest: manual camcorder tests\nChange-Id: I9fb550a9f62d2d15cafbd7534e5e7eaa155a7213\n"
    },
    {
      "commit": "97df29e2b9c6df88fae9c14daa8e21c9ce5d45bf",
      "tree": "6149fe53d0c51040dc82ee33990e3fe81ee357ee",
      "parents": [
        "04696f702ad0a4bdc59a4bbe47663a497b6128c8"
      ],
      "author": {
        "name": "Greg Hartman",
        "email": "ghartman@google.com",
        "time": "Thu Feb 08 20:16:32 2018 -0800"
      },
      "committer": {
        "name": "Greg Hartman",
        "email": "ghartman@google.com",
        "time": "Thu Feb 08 20:16:32 2018 -0800"
      },
      "message": "Fix bad assumptions around architectures\n\nBUG: 73137180\nTest: Local build and boot\nChange-Id: Ic4eb25592ad87102bad566c391c37dc089dd6a16\n"
    },
    {
      "commit": "04696f702ad0a4bdc59a4bbe47663a497b6128c8",
      "tree": "0e05c790f33385af35a3abdd676b8baa70c5e958",
      "parents": [
        "98c15702ca0c814fee9110efa14d70fc9937514e",
        "ebb2179afc0d6812fd2806c77b19bf5182718510"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 09 01:21:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 09 01:21:27 2018 +0000"
      },
      "message": "Merge \"Use @include for crash_dump seccomp policies.\""
    },
    {
      "commit": "98c15702ca0c814fee9110efa14d70fc9937514e",
      "tree": "52b650fe7c6c07821b2543c62abde91de916747a",
      "parents": [
        "ec8d39d73a2a0167ae1c21edb005a62f87d2bd38",
        "4a5b48197acdeaa397bf63a753af550bdea1b361"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 08 21:56:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 08 21:56:12 2018 +0000"
      },
      "message": "Merge \"Revert \"APM: Avoid route change mute of isolated sounds\"\""
    },
    {
      "commit": "4a5b48197acdeaa397bf63a753af550bdea1b361",
      "tree": "c224cba0fe55a8dca9deff2519a2fc9fedd7e7ef",
      "parents": [
        "7c7124e693b20eafb4e0e86f996419c5597e0fbf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 08 17:22:32 2018 +0000"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 08 17:22:32 2018 +0000"
      },
      "message": "Revert \"APM: Avoid route change mute of isolated sounds\"\n\nThis reverts commit 7c7124e693b20eafb4e0e86f996419c5597e0fbf.\n\nReason for revert: suspect for b/70332110\n\nChange-Id: Ia19a59018c705faa9ac521353da3d417dbbfe2ef\n"
    },
    {
      "commit": "a04be48552572967dc9be27331c31a34acd37b7b",
      "tree": "a8f62cae0d116bea5d7307a7eb9836b77cc1b9a2",
      "parents": [
        "18d21b8c6da4515f8371f00486bb639d5efc1802",
        "6d0b7083dd7ea16edebd91ce8b053434c5b9ea13"
      ],
      "author": {
        "name": "Gigon Bae",
        "email": "gbae@nvidia.com",
        "time": "Wed Feb 07 08:45:55 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 07 08:45:55 2018 +0000"
      },
      "message": "Merge \"Camera: parse preview fps and fps range correctly\" am: 4d9abd9392 am: 35be00e8e6\nam: 6d0b7083dd\n\nChange-Id: I7cc740ba471aa1706e978bf04158c2fe1d7a2f9e\n"
    },
    {
      "commit": "6d0b7083dd7ea16edebd91ce8b053434c5b9ea13",
      "tree": "f3ce3a66ac66af710247c6961d0ed73be9f06208",
      "parents": [
        "2fd1f62aa8a600293b10f91a1ceebcbe38c74acc",
        "35be00e8e6ce939993e5531d669b67dd0e3232c0"
      ],
      "author": {
        "name": "Gigon Bae",
        "email": "gbae@nvidia.com",
        "time": "Wed Feb 07 07:10:31 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 07 07:10:31 2018 +0000"
      },
      "message": "Merge \"Camera: parse preview fps and fps range correctly\" am: 4d9abd9392\nam: 35be00e8e6\n\nChange-Id: I840520af5fb08bea112ce0927ddfdde6df322bf3\n"
    },
    {
      "commit": "b915da10831802013d670d6a316727e7b2e1a74e",
      "tree": "5a00a92a1e7d0014321f4c411eccc09ab1ebe72d",
      "parents": [
        "e0b256a5a24ba1e2f3a324f86ce2a2bbadca301b"
      ],
      "author": {
        "name": "Gigon Bae",
        "email": "gbae@nvidia.com",
        "time": "Tue Feb 06 18:32:46 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 07 05:03:09 2018 +0000"
      },
      "message": "Camera: parse preview fps and fps range correctly\n\n* Swap definition of fpsRange and fpsSingle to present correct value.\n\nWithout this patch, setPreviewFpsRange() and setPreviewFrameRate()\nmethods may not work correctly.\n\nTest: partner testing\nBug 73020119\nChange-Id: I7a504bb698985489e0bee595db62c99bc2c4db64\n"
    },
    {
      "commit": "00420d2aa4a01cddc45969fcc315ab470c65e938",
      "tree": "11235760b9fb1bc6727a1ebb59626d3ffaa4764c",
      "parents": [
        "bd60b9556c5adaee437dff164b5a1dfc9e35f057"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Feb 05 21:33:13 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Feb 07 01:14:33 2018 +0000"
      },
      "message": "Camera: Allow streaming requests with individual physical settings\n\nStreaming capture requests which include individual physical\ndevice settings should not be blocked.\n\nBug: 72524845\nTest: Camera CTS\n\nChange-Id: Idb3ad9d022d4e2b2ced2558d1746866dbd3842b4\n"
    },
    {
      "commit": "bd60b9556c5adaee437dff164b5a1dfc9e35f057",
      "tree": "f1871c2b4dddc4874d6d844214c81ab3ea02baa1",
      "parents": [
        "221445890315fef63a8ceb1f24e549fb33ecd446",
        "f873aa597f3babaa6d5116b426fb45cab52086f5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 05 21:13:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 21:13:23 2018 +0000"
      },
      "message": "Merge \"camera: Allow physical capture requests only for requested outputs\""
    },
    {
      "commit": "df9e45cc7dc78113aa790f1b6574ffbcc39a1da2",
      "tree": "ac59fcf7a3da25a89f6af907a2887977f6cd16d3",
      "parents": [
        "0f096ea219327c01f4c37595cc88825854e391e5",
        "1de79cfe1031a1ea6b3ba9fd77ed8686c0b6f694"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Fri Feb 02 18:40:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 02 18:40:14 2018 +0000"
      },
      "message": "Merge \"Fixes related to typo in audio.h\""
    },
    {
      "commit": "192ee8310b106e4370dbc84727c961002a3ec816",
      "tree": "b6719d1d75821cf0ad33eb8ee3bb62c3b4637c9c",
      "parents": [
        "7cd0df204b6ab69d56510b53556388527c212ea7"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Jan 31 14:46:47 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Feb 02 14:05:37 2018 +0000"
      },
      "message": "Camera: Avoid \u0027outputBufferSizes\u0027 out-of-bounds access\n\nHal interface stream configuration will iterate over all\navailable streams both input and output. However the\n\u0027outputBufferSizes\u0027 vector includes only buffer sizes for\noutput streams. If we have an input stream, then an invalid\nmemory access is possible. Resolve this by allocating enough\n\u0027outputBufferSizes\u0027 entries.\n\nBug: 72736744\nTest: Camera CTS\nChange-Id: I6973f1fbf499628437b7523aab6bf13c88015448\n"
    },
    {
      "commit": "1de79cfe1031a1ea6b3ba9fd77ed8686c0b6f694",
      "tree": "75289e92ed05721a30dcf9761aaaa9e4a56f1204",
      "parents": [
        "c717e5e41ed866d3f156e15835150f898acba27d"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Thu Feb 01 15:21:02 2018 -0800"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Thu Feb 01 15:21:02 2018 -0800"
      },
      "message": "Fixes related to typo in audio.h\n\nBug: 64038649\nTest: Manual Testing and CTS tests.\nChange-Id: Id2650638f789d85116d780d87b19debd2a13a737\n"
    },
    {
      "commit": "9479b4fcb654b5272b254f6412b7efd2c30bc0bd",
      "tree": "bb9671aed64a37ca49790ae80839cdbd95d67c85",
      "parents": [
        "dc039c8d50b1643d6cf1f81062a1767e1512c28d",
        "9e740b0fd4181bb87e6a278bb9d88be93adabc90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 01 12:47:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 01 12:47:43 2018 +0000"
      },
      "message": "Merge \"Camera: Clear cached HIDL references\""
    },
    {
      "commit": "5dd03a5825d06033c1e66353dbbfcfc7f60990c5",
      "tree": "9deed77dba8b49bf83bf5f039c4ebaee3aa5b34c",
      "parents": [
        "5dca017406b057bf71f8934ef57aab6098ecec6c",
        "653cc0ab6d5b714d1f26adcd08f9bc3269b62fa0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 01 01:35:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 01 01:35:26 2018 +0000"
      },
      "message": "Merge \"Support query active microphones information in AudioRecord.\""
    }
  ],
  "next": "31067d4b87475dd0a90145d4849cf66f7bf93f86"
}
