)]}'
{
  "log": [
    {
      "commit": "3a0d1df37df09b0fbbc7b9768c6f7d530fd7a024",
      "tree": "e757172164fb43a787e0a3a863d18172637b865c",
      "parents": [
        "72bc40dc51911c2f3860b67c8aea57082a4c0bb2",
        "fb5043a703f596b7393c1e24ca4b321b0f697293"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:37:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 14 22:37:15 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly am: c400396525 am: 795243686f\nam: fb5043a703\n\n* commit \u0027fb5043a703f596b7393c1e24ca4b321b0f697293\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "fb5043a703f596b7393c1e24ca4b321b0f697293",
      "tree": "e73accf4133146bc489c380a720173e55c6e7fbe",
      "parents": [
        "6dd6c546513aa18dc1d7fba0f72d670edce34f77",
        "795243686fe2e1c352732b47bcdb6ea9e9e7e39e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:35:00 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 14 22:35:00 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly am: c400396525\nam: 795243686f\n\n* commit \u0027795243686fe2e1c352732b47bcdb6ea9e9e7e39e\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "795243686fe2e1c352732b47bcdb6ea9e9e7e39e",
      "tree": "3edcea13261beb3b42a2b4e4d55ab14e3ace186e",
      "parents": [
        "e463301aa44f0ea0ae1a2399bf8800d94cf6ce3e",
        "c4003965258404a19b99280ac0f475e2f290bf27"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 14 22:33:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 14 22:33:06 2016 +0000"
      },
      "message": "Camera: Disallow dumping clients directly\nam: c400396525\n\n* commit \u0027c4003965258404a19b99280ac0f475e2f290bf27\u0027:\n  Camera: Disallow dumping clients directly\n"
    },
    {
      "commit": "c4003965258404a19b99280ac0f475e2f290bf27",
      "tree": "c9a4ed77bfc9c2d5b677ffb4943e657b215e04e1",
      "parents": [
        "a39f9818759155a2651995d6844f9821d83e3f0d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 13 10:07:04 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 13 16:39:53 2016 -0800"
      },
      "message": "Camera: Disallow dumping clients directly\n\nCamera service dumps should only be initiated through\nICameraService::dump.\n\nBug: 26265403\nChange-Id: If3ca4718ed74bf33ad8a416192689203029e2803\n"
    },
    {
      "commit": "72bc40dc51911c2f3860b67c8aea57082a4c0bb2",
      "tree": "885a52a5daf440e37e2319d01c79e2f0b7296418",
      "parents": [
        "eb65c5f77b2da243ba30da71490e15ea9bc78e05",
        "6dd6c546513aa18dc1d7fba0f72d670edce34f77"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 13 20:34:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 13 20:34:58 2016 +0000"
      },
      "message": "Camera: set mNumberOfNormalCameras correctly\nam: 6dd6c54651\n\n* commit \u00276dd6c546513aa18dc1d7fba0f72d670edce34f77\u0027:\n  Camera: set mNumberOfNormalCameras correctly\n"
    },
    {
      "commit": "6dd6c546513aa18dc1d7fba0f72d670edce34f77",
      "tree": "8a80f6984f7a31f59a392d36acb2ebe4941af740",
      "parents": [
        "0dd00d9b1986cd2cc4f45bdb96266dee01f20d72"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Dec 07 12:20:11 2015 -0800"
      },
      "committer": {
        "name": "Zhengyin Qian",
        "email": "qianzy@google.com",
        "time": "Tue Jan 12 17:35:27 2016 -0800"
      },
      "message": "Camera: set mNumberOfNormalCameras correctly\n\nNeed to set the number correctly when a camera HAL is not present.\n\nBug: 25951590\nChange-Id: I666acf7a2a523c51f2c2ae88ff690ca9dccda08c\n"
    },
    {
      "commit": "113efbb3ac8e7306ea8645cb53a96d1e81c2d041",
      "tree": "63217b89c2a382cb30d66e3682ad28491646e7d4",
      "parents": [
        "f27fc04067adfee74b90323c5219ff30f886d8d1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 08 17:16:42 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 12 19:14:40 2016 +0000"
      },
      "message": "audioflinger: fix standby delay on A2DP output\n\nMake sure that standby delay is never less than the audio flinger\ndefault on A2DP output.\nDue to variable latency and amount of buffering in A2DP sinks,\nan agressive standby delay could lead to truncated audio.\n\nBug: 25830539.\nChange-Id: I38be37ad346f5f4bf8303d3db4e3e911bf637968\n(cherry picked from commit 42537be61479e59c4718e1304364551c1454f63c)\n"
    },
    {
      "commit": "83a22c5c818ebf4f9c80a2dd3fee49258e0c33a6",
      "tree": "07423dde85b3439ea496f4c16cb377feef8d72af",
      "parents": [
        "1d29e126cf152d3400021a2edd5cee123077317e",
        "76d4c7ffa9cdeed39c93d685c9c03b0915262a8b"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Nov 02 19:27:09 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 02 19:27:09 2015 +0000"
      },
      "message": "Merge \"Reduce lock time for dump to make sure not locked when calling back to IResourceManagerClient.\" into mnc-dr-dev"
    },
    {
      "commit": "f6224dece52c569e27322580407c3f5898fa042b",
      "tree": "b7182ca18dcb96894fdad365403b17f12a3908c7",
      "parents": [
        "8c5b71ce473517ea1270f6467fa518274bd54b35",
        "681bc45d2592ed447f70d1dd14e92ad584499c9d"
      ],
      "author": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 02:33:12 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 27 02:33:12 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"audio policy: bind setMode() and setPhoneState() operations\"\"\" into mnc-dev\nam: 681bc45d25\n\n* commit \u0027681bc45d2592ed447f70d1dd14e92ad584499c9d\u0027:\n  Revert \"Revert \"audio policy: bind setMode() and setPhoneState() operations\"\"\n"
    },
    {
      "commit": "8c5b71ce473517ea1270f6467fa518274bd54b35",
      "tree": "1aa3f492b81e9b7834babf095188ce9eb4439621",
      "parents": [
        "1fcbd9b0e973d662ed566967af71c8f5b2383320",
        "6919fbe40d92af432d3b72ad36e0697654f8146c"
      ],
      "author": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 02:33:01 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 27 02:33:01 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"AudioPolicyService: fix race in AudioCommandThread\"\"\" into mnc-dev\nam: 6919fbe40d\n\n* commit \u00276919fbe40d92af432d3b72ad36e0697654f8146c\u0027:\n  Revert \"Revert \"AudioPolicyService: fix race in AudioCommandThread\"\"\n"
    },
    {
      "commit": "1fcbd9b0e973d662ed566967af71c8f5b2383320",
      "tree": "6191f640f705ee0f78a3034f1a06fe68718ede22",
      "parents": [
        "fd16414d341b1c104068c489103aeb2ddb8995e6",
        "cda487148602325701ffd7f595ca096a182f380c"
      ],
      "author": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:33:58 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 27 01:33:58 2015 +0000"
      },
      "message": "Merge \"Revert \"AudioPolicyService: fix race in AudioCommandThread\"\" into mnc-dev\nam: cda4871486\n\n* commit \u0027cda487148602325701ffd7f595ca096a182f380c\u0027:\n  Revert \"AudioPolicyService: fix race in AudioCommandThread\"\n"
    },
    {
      "commit": "fd16414d341b1c104068c489103aeb2ddb8995e6",
      "tree": "1aa3f492b81e9b7834babf095188ce9eb4439621",
      "parents": [
        "28323c3d9a6dff48c480c50a358d9bd4fdeed407",
        "be6f10c049086453cc53b8e50c5d497bb5b3ae05"
      ],
      "author": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:33:47 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 27 01:33:47 2015 +0000"
      },
      "message": "Merge \"Revert \"audio policy: bind setMode() and setPhoneState() operations\"\" into mnc-dev\nam: be6f10c049\n\n* commit \u0027be6f10c049086453cc53b8e50c5d497bb5b3ae05\u0027:\n  Revert \"audio policy: bind setMode() and setPhoneState() operations\"\n"
    },
    {
      "commit": "3994ffdd2c280aa5fad9f3c41255371cd545c7cf",
      "tree": "e815c94f3630142e34d22d8493cda4e8a95dc646",
      "parents": [
        "26ce11a1dd2a9b70865aec1b42c365dd19172511"
      ],
      "author": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:29:45 2015 +0000"
      },
      "committer": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:29:45 2015 +0000"
      },
      "message": "Revert \"Revert \"audio policy: bind setMode() and setPhoneState() operations\"\"\n\nThis reverts commit 26ce11a1dd2a9b70865aec1b42c365dd19172511.\n\nChange-Id: I0affb97e7f2eb541ebd6f26c33e8f32261e9e221\n"
    },
    {
      "commit": "a754b4fa874f97a51ed2bee9257f2a870effe619",
      "tree": "da2c975edfeada4f3d1e2d7ca37cad9ada599f4b",
      "parents": [
        "75c82b50951b21190f710a638c6a26ff7ee6d86d"
      ],
      "author": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:29:34 2015 +0000"
      },
      "committer": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:29:34 2015 +0000"
      },
      "message": "Revert \"Revert \"AudioPolicyService: fix race in AudioCommandThread\"\"\n\nThis reverts commit 75c82b50951b21190f710a638c6a26ff7ee6d86d.\n\nChange-Id: I1b1f147bedf205636ec20b84faf6ef597a781c0d\n"
    },
    {
      "commit": "26ce11a1dd2a9b70865aec1b42c365dd19172511",
      "tree": "da2c975edfeada4f3d1e2d7ca37cad9ada599f4b",
      "parents": [
        "9ddf1c76121caef55a05c537d6a9a1d76c1d17be"
      ],
      "author": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:25:27 2015 +0000"
      },
      "committer": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:25:27 2015 +0000"
      },
      "message": "Revert \"audio policy: bind setMode() and setPhoneState() operations\"\n\nThis reverts commit 9ddf1c76121caef55a05c537d6a9a1d76c1d17be.\n\nChange-Id: I860ecc288a1798605dff46f39107f4450ca5cd56\n"
    },
    {
      "commit": "75c82b50951b21190f710a638c6a26ff7ee6d86d",
      "tree": "97d86a674d1cecec6da60dfb0ec0c2eae1e2b644",
      "parents": [
        "74ce88ff0f24a8c08fdab3a1140212183089c2b5"
      ],
      "author": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:24:55 2015 +0000"
      },
      "committer": {
        "name": "Zach Jang",
        "email": "zachjang@google.com",
        "time": "Tue Oct 27 01:24:55 2015 +0000"
      },
      "message": "Revert \"AudioPolicyService: fix race in AudioCommandThread\"\n\nThis reverts commit 74ce88ff0f24a8c08fdab3a1140212183089c2b5.\n\nChange-Id: I39114c8cdd3021951ba93716aaa0c1c03e68538d\n"
    },
    {
      "commit": "76d4c7ffa9cdeed39c93d685c9c03b0915262a8b",
      "tree": "a73a9a7b21a7708647da33bc710fd843ff94fb23",
      "parents": [
        "e710ae53001bbbf1e1afd6b3f5c3478c673afd0e"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Oct 23 15:01:53 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Oct 26 12:17:36 2015 -0700"
      },
      "message": "Reduce lock time for dump to make sure not locked when calling back to IResourceManagerClient.\n\nBug: 25166048\nChange-Id: I35f9917079c4b783a7cf4cef94b3c7112760c0b8\n"
    },
    {
      "commit": "5adc76c49a525993f3362cf648864fb21f4547f0",
      "tree": "6e17c9ab60cdc625ef49754aef2e345f5137e130",
      "parents": [
        "e710ae53001bbbf1e1afd6b3f5c3478c673afd0e"
      ],
      "author": {
        "name": "Tom Keel",
        "email": "thomas.keel@intel.com",
        "time": "Thu Oct 08 16:42:56 2015 +0200"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 21 17:41:39 2015 -0700"
      },
      "message": "DO NOT MERGE: libcameraservice: Fix nullptr crash when no client.\n\nThis change prevents a crash in the camera service when the camera\nHAL notifies the service about the absence of a removable camera and\nthere happens to be no client connected to the service. It checks\nthat the pointer returned from clientToDisconnect.get() is non-null\nbefore trying to dereference it (as is done in existing code\nimmediately below this change).\n\nBug: 25165323\nChange-Id: I8055654bac980542e63ea7f52bf897eaafbc09bc\nSigned-off-by: Tom Keel \u003cthomas.keel@intel.com\u003e\n"
    },
    {
      "commit": "32ab9fdab562127ccd37a8cdb15421ebdf82a458",
      "tree": "7e8728530de6477afa7bb46bfa497af50079a362",
      "parents": [
        "3e600894685b994849d59307721c6862ae0c45b7"
      ],
      "author": {
        "name": "Ranjith Kagathi Ananda",
        "email": "ranjith@codeaurora.org",
        "time": "Thu Oct 08 16:41:09 2015 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 16 17:08:48 2015 -0700"
      },
      "message": "libcameraservice: Fix ALOG prints in FlashLight.\n\nAdd missing __FUNCTION__ arguments into log statements.\n\nAck by: Dilip Gopalakrishna\n\nBug: 25023187\nChange-Id: I0256bad626d490fb9360a73c104afaad7a012a97\n"
    },
    {
      "commit": "3e600894685b994849d59307721c6862ae0c45b7",
      "tree": "1d2636ae0bdbda0b35dc8b3cd176607f3f58a361",
      "parents": [
        "b3d9f56313f1838649712297ebc8205c4ec14870"
      ],
      "author": {
        "name": "Ranjith Kagathi Ananda",
        "email": "ranjith@codeaurora.org",
        "time": "Thu Oct 08 16:00:33 2015 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 16 17:08:14 2015 -0700"
      },
      "message": "Camera: frameworks: Add NULL check for callback\n\n--Added NULL check for mRemoteCallback\n\nAck by: Susmitha Gummalla\n\nBug: 25023187\nChange-Id: Ib88a128a52e81b8ec1052e3222b6d8b9e494afcc\n"
    },
    {
      "commit": "9ddf1c76121caef55a05c537d6a9a1d76c1d17be",
      "tree": "e815c94f3630142e34d22d8493cda4e8a95dc646",
      "parents": [
        "74ce88ff0f24a8c08fdab3a1140212183089c2b5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 16 15:49:30 2015 -0700"
      },
      "committer": {
        "name": "Christian Bejram",
        "email": "cbejram@google.com",
        "time": "Fri Oct 16 16:49:31 2015 -0700"
      },
      "message": "audio policy: bind setMode() and setPhoneState() operations\n\nNo routing operation should be allowed between setMode() and setPhoneState()\nwhen starting a call as the audio HAL relies on a precise sequence of mode change\nand routing change to select the initial audio device for the call.\n\nBug: 24083591.\n\nChange-Id: I2d5ef62c11cf7aedc2ec7ca5e5fadd7ac875afbc\n"
    },
    {
      "commit": "74ce88ff0f24a8c08fdab3a1140212183089c2b5",
      "tree": "da2c975edfeada4f3d1e2d7ca37cad9ada599f4b",
      "parents": [
        "7b80648180feaad1e7edaecd078246f5002a8fb6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 23 10:25:31 2015 -0700"
      },
      "committer": {
        "name": "Christian Bejram",
        "email": "cbejram@google.com",
        "time": "Fri Oct 16 16:48:45 2015 -0700"
      },
      "message": "AudioPolicyService: fix race in AudioCommandThread\n\nFixe race condition in AudioCommandThread::threadLoop() where a\ncommand can be inserted in first position in the queue after the sleep\ntime has been calculated causing a longer delay than expected.\n\nAlso fix a failure to hold a wake lock while commands are still in the queue.\n\nBug: 22707905.\nChange-Id: I813626986677bf00106acb37ee20d3dd75d5cf33\n"
    },
    {
      "commit": "0eb5a2706de25728f7ad2fd8febf960ca3c5e42d",
      "tree": "7ed075b3d505b5d25869c7d65dc1ac097b7530b2",
      "parents": [
        "ceb10ea795d92d889201cd40f5ac6290edf4ded7",
        "c0a889f766953b657a5e997bc1362661806d3a19"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 15 22:03:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 15 22:03:29 2015 +0000"
      },
      "message": "Merge \"audio policy: fix transition from VoIP to voice call on USB\" into mnc-dr-dev"
    },
    {
      "commit": "ceb10ea795d92d889201cd40f5ac6290edf4ded7",
      "tree": "bb6ef8b2f18c832bcb9d4ec777e025918ac351b1",
      "parents": [
        "0926aab4b8d5d307c95788086090e8d2b2763f1f",
        "d4a653a15767d4de37dbfdee22c2170951c93299"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Oct 15 20:57:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 15 20:57:56 2015 +0000"
      },
      "message": "Merge \"Camera: setup vendor tags before get_camera_info\" into mnc-dr-dev"
    },
    {
      "commit": "c0a889f766953b657a5e997bc1362661806d3a19",
      "tree": "fb0a2248a68bf20df0adfccf4cdcc7dce2c5d6b0",
      "parents": [
        "0926aab4b8d5d307c95788086090e8d2b2763f1f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 14 14:36:34 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 15 10:53:32 2015 -0700"
      },
      "message": "audio policy: fix transition from VoIP to voice call on USB\n\nMake sure no active capture takes place while in call and the\ncapture device is the same as the call TX device.\n\nBug: 23977713.\n\nChange-Id: Ia379d5e626c150ea49f0cdd581c881dbf0b8399d\n"
    },
    {
      "commit": "0926aab4b8d5d307c95788086090e8d2b2763f1f",
      "tree": "8defa17489210dea8527306cfb813bd7400dd777",
      "parents": [
        "66a581fe1c8bf7546c9e7907612d2b430573dab1",
        "c171c7c47d099a52ade95c3c8d8907bf09bb88fa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 15 17:31:31 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 15 17:31:31 2015 +0000"
      },
      "message": "Merge \"audio policy: fix USB mic selection for VoIP\" into mnc-dr-dev"
    },
    {
      "commit": "c171c7c47d099a52ade95c3c8d8907bf09bb88fa",
      "tree": "1d3aa7df5d0e1a5458efdcadb7748efd76a3e5ae",
      "parents": [
        "036b6593eec6ced2f34293e8407f1cb86ae1e75f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 25 12:21:06 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 15 09:48:06 2015 -0700"
      },
      "message": "audio policy: fix USB mic selection for VoIP\n\nWhen transitioning from speaker phone to normal mode and a USB\nheadset is connected, we must force a teardown of active input\nas the new input device cannot be reached via current input stream.\n\nBug: 24406915.\nChange-Id: I9f7c1d3f3cba285c25a6da1d54a3d15a5c1f378a\n"
    },
    {
      "commit": "5f54de483624a5731d82060bd3e1aab74b32b15e",
      "tree": "ec9f443ec03bac727740985f6ab08cf6038583a2",
      "parents": [
        "6e2ea5abb4344bf2e308a03ac488e93ab92778ab",
        "82104ebbb2cc04277ab07b355f38f73045a11770"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 23:36:51 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 14 23:36:51 2015 +0000"
      },
      "message": "Merge \"Camera: Add video recording stop sound\" into mnc-dr-dev"
    },
    {
      "commit": "c7a46eb1538a3ef8d53575084d80f2f3eacd77ba",
      "tree": "522144957b12ded94ce0ca082dae1e80e40b8178",
      "parents": [
        "ea6a3dc069809ec071290eb2c8cacef3582ead98",
        "8a4a0ac6545f53a9ec4af6074caf0e935b08ffbe"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 20:20:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 14 20:20:49 2015 +0000"
      },
      "message": "Merge \"DO NOT MERGE: Fix setTorchMode support for the old HAL version\" into mnc-dr-dev"
    },
    {
      "commit": "82104ebbb2cc04277ab07b355f38f73045a11770",
      "tree": "ec4857f3465d6e07407cc554e2465985b06625df",
      "parents": [
        "ea6a3dc069809ec071290eb2c8cacef3582ead98"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 11:29:31 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 11:29:31 2015 -0700"
      },
      "message": "Camera: Add video recording stop sound\n\nAdd video recording stop sound to match MediaActionSound.\n\nBug: 24745252\nChange-Id: I84b69757c7e0a98abfaafcce5f41dd45fd41cf74\n"
    },
    {
      "commit": "d4a653a15767d4de37dbfdee22c2170951c93299",
      "tree": "1915d59eab5269b2d3743cbee4f7adc9a019a0ef",
      "parents": [
        "d805214cec5219eef42346cc136effe89292ac69"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Oct 14 11:05:44 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Oct 14 11:05:44 2015 -0700"
      },
      "message": "Camera: setup vendor tags before get_camera_info\n\nSo HAL can use vendor tags on first get_camera_info call.\n\nBug: 24913201\nChange-Id: I73f17de87e3712a27f9cee366995df27a740f5cb\n"
    },
    {
      "commit": "8a4a0ac6545f53a9ec4af6074caf0e935b08ffbe",
      "tree": "a07274e6959d497d9aabe1dbc991279218d8a1d8",
      "parents": [
        "036b6593eec6ced2f34293e8407f1cb86ae1e75f"
      ],
      "author": {
        "name": "Oleksiy Avramchenko",
        "email": "oleksiy.avramchenko@sonymobile.com",
        "time": "Mon Sep 14 11:00:33 2015 +0200"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Oct 14 10:49:17 2015 -0700"
      },
      "message": "DO NOT MERGE: Fix setTorchMode support for the old HAL version\n\nCameraHardwareInterfaceFlashControl class calls disconnectCameraDevice\nwhen torch is disabled. This closes connection to the camera module,\nbut mDevice instance is kept and variable is non-NULL which will\nprevent connection next time torch is going to be enabled.\n\nBug: 24909924\nChange-Id: Icb1ffb07f05256afd92821f0f4908cda5332c05b\n"
    },
    {
      "commit": "ea6a3dc069809ec071290eb2c8cacef3582ead98",
      "tree": "264f264b05209806e163ea41eeecd6f87f5e5271",
      "parents": [
        "2894d70256d3f53547807a5aacaf45df62342fb5",
        "aba407f1a6378ac2518d0d76d0d18419b7722a81"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 14 01:13:35 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 14 01:13:35 2015 +0000"
      },
      "message": "Merge \"audioflinger: increase shared memory heap size\" into mnc-dr-dev"
    },
    {
      "commit": "aba407f1a6378ac2518d0d76d0d18419b7722a81",
      "tree": "23ecf127eabd7fa532a5f8b779f0323aaf16bdec",
      "parents": [
        "ce805c2a0c447dcdd4e649db7415020dbec1100b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 20 16:18:53 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 14 00:28:11 2015 +0000"
      },
      "message": "audioflinger: increase shared memory heap size\n\nBug: 21093153.\nChange-Id: I389af11451b01ce49fdb8957e2f322ba1925a62e\n(cherry picked from commit da73b6c7474aaa5616f0214e238776f12717f32b)\n"
    },
    {
      "commit": "954ca45ac30539a49f179580b667b0ab1056d113",
      "tree": "33adc92ecf3ea0bbafa97882e61381e3a8bf1204",
      "parents": [
        "e5200ea76c5d180b53087ae7825326ec61cc4687"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 09 14:39:02 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 13 15:48:31 2015 -0700"
      },
      "message": "For static obtainBuffer(), do not set mUnreleased if acknowledging flush.\n\nstatic audio tracks use obtainBuffer() to update position in start().\n\nBug: 22938515\nChange-Id: I8ae32f6cce4d122386d2cf8982e158049b04ba9a\n"
    },
    {
      "commit": "403bff76dbde57fdcfce84292a5e42fa33c37842",
      "tree": "2dd1dd0197746aa4e5d4dc8ce8d783d60c9100e1",
      "parents": [
        "036b6593eec6ced2f34293e8407f1cb86ae1e75f",
        "4c6e77ff8e18a1551320a6b42f6a45e19dcce748"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Oct 13 19:55:16 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 19:55:16 2015 +0000"
      },
      "message": "am 4c6e77ff: AudioFlinger: Clear record buffers when starting RecordThread\n\n* commit \u00274c6e77ff8e18a1551320a6b42f6a45e19dcce748\u0027:\n  AudioFlinger: Clear record buffers when starting RecordThread\n"
    },
    {
      "commit": "4c6e77ff8e18a1551320a6b42f6a45e19dcce748",
      "tree": "97d86a674d1cecec6da60dfb0ec0c2eae1e2b644",
      "parents": [
        "5076a51e0572246f7062e48761766c01f17233c2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Sep 21 12:44:54 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 13 12:17:53 2015 -0700"
      },
      "message": "AudioFlinger: Clear record buffers when starting RecordThread\n\nBug: 24211743\nBug: 24267152\nChange-Id: I58c55e56b85067b71e4e300f947b4dfc159637ba\n"
    },
    {
      "commit": "4a8f4a3f567d8b3134b1c7ab21ca774f279ab9c2",
      "tree": "56b7339cd9ebccb979c9b3b9e91c3705e8c41fea",
      "parents": [
        "a24a1a63284b0f9d61720ee27bf8c0d9609ce2ab"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Oct 01 15:23:22 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Oct 01 15:28:06 2015 -0700"
      },
      "message": "Camera3Device: Change HFR request thread priority to 1\n\nBased on periods of the request thread and audio threads with\nSCHED_FIFO policy, 1 is a more reasonable priority for HFR\nrequest thread.\n\nBug: 24427480\nChange-Id: I91f0066a0e114fc83abcc6a604ecbaa72c6a34e8\n"
    },
    {
      "commit": "3df11ce7240d0ce5d957c626be467832c1c7fde9",
      "tree": "7c54de353814b76dd782004100c6c32a627e2484",
      "parents": [
        "f99498ee4de7123e2fd71778c6877be44fbd1506"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Sep 30 14:13:30 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Sep 30 14:13:30 2015 -0700"
      },
      "message": "Camera3Device: Bookkeeping reprocess shutters separately\n\nBookkeeping reprocess shutters separately so regular and reprocess\nshutters together don\u0027t need to come in order.\n\nBug: 24497512\nChange-Id: I4aaf22045131e9e2e26bf163f7df9ff4c5cd6259\n"
    },
    {
      "commit": "f99498ee4de7123e2fd71778c6877be44fbd1506",
      "tree": "76fc5f13ab660c053101f09a701187259952e90a",
      "parents": [
        "8595eaab5884bb74d884d366ad6e371a296bf576"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 25 16:52:55 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Sep 26 11:22:20 2015 -0700"
      },
      "message": "CameraService: Use SCHED_FIFO for request queue thread in HFR\n\n- Move SchedulingPolicyService from audioservice to mediautils\n\n- When starting up a high speed stream config, set request queue thread\n  to SCHED_FIFO using SchedulingPolicyService\n\nBug: 24227252\nChange-Id: I224b59142bd111caf563779f55cddd62385b9bac\n"
    },
    {
      "commit": "45fd99a31d09f247c72f456a9d569d7326a95894",
      "tree": "b06f4ce59dc97d24a1ed5f40614653f5ab95926d",
      "parents": [
        "047d97b2d046374e2a25c81a984d9cde23f5d781",
        "64265b2fb8f5be63b6c2ad4fcbec9acf74705bc4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 24 00:22:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 00:22:57 2015 +0000"
      },
      "message": "Merge \"audio policy: fix preemtible capture race\" into mnc-dr-dev"
    },
    {
      "commit": "047d97b2d046374e2a25c81a984d9cde23f5d781",
      "tree": "9602fea6112f8b3084fc8575fecbb5ba1e4da201",
      "parents": [
        "3916845dda1289c3419fe21fbe335bcbddc2e354"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 23 10:25:31 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 23 11:13:14 2015 -0700"
      },
      "message": "AudioPolicyService: fix race in AudioCommandThread\n\nFixe race condition in AudioCommandThread::threadLoop() where a\ncommand can be inserted in first position in the queue after the sleep\ntime has been calculated causing a longer delay than expected.\n\nAlso fix a failure to hold a wake lock while commands are still in the queue.\n\nBug: 22707905.\nChange-Id: I813626986677bf00106acb37ee20d3dd75d5cf33\n"
    },
    {
      "commit": "64265b2fb8f5be63b6c2ad4fcbec9acf74705bc4",
      "tree": "a92838f2510034b35b41e78a71bb6385d6f7b557",
      "parents": [
        "6fe78a875793188ff80512db247312109038f181"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 18 18:32:07 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 22 01:07:14 2015 +0000"
      },
      "message": "audio policy: fix preemtible capture race\n\nBecause a preemtible capture session can preempt another one,\nwe end up in an endless loop situation were each session is allowed to restart\nafter being preempted, thus preempting the other one which restarts and so on.\n\nTo avoid this situation, we store which audio session was preempted when\na particular input started and prevent preemption of this active input by this session.\nWe also inherit sessions from the preempted input to avoid a 3 way preemption loop etc...\n\nBug: 24007220.\nChange-Id: I0eab5299440ef3ab9e987635dc9a300cf42f2c79\n"
    },
    {
      "commit": "beb07febdc0cae2f43a2008d3bd06b7bb933b19a",
      "tree": "889fadf6fd8136b134f397010846c6b0334415b3",
      "parents": [
        "20baac2a934e9d968832a44809eecc8c46c17fe2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 16 15:49:30 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 16 15:49:30 2015 -0700"
      },
      "message": "audio policy: bind setMode() and setPhoneState() operations\n\nNo routing operation should be allowed between setMode() and setPhoneState()\nwhen starting a call as the audio HAL relies on a precise sequence of mode change\nand routing change to select the initial audio device for the call.\n\nBug: 24083591.\n\nChange-Id: I2d5ef62c11cf7aedc2ec7ca5e5fadd7ac875afbc\n"
    },
    {
      "commit": "20baac2a934e9d968832a44809eecc8c46c17fe2",
      "tree": "a995ab9b1460c638f9702fcef9309399de192ed7",
      "parents": [
        "da56cd3d6e0b492d1665ff3a36cd1d1e15613baa",
        "af20bc26704458eac0ddc23f12b637939b0df7a4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 16 16:15:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 16 16:15:43 2015 +0000"
      },
      "message": "Merge \"AudioPolicy: don\u0027t always change ACCESSIBILITY volume\" into mnc-dr-dev"
    },
    {
      "commit": "3818c6964a000bcac34176afa2bae5e247f5d223",
      "tree": "a2a217e4c6ee066fdf0020491217ace6a556d4a1",
      "parents": [
        "f00b70e082c14f789c948f623daca9be7a0e36e8",
        "652f7d7ebd9a8cec067588c2a232e49710d5cd83"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Sep 15 00:40:15 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 15 00:40:15 2015 +0000"
      },
      "message": "Merge \"Camera: API1 shim: select better default FPS range\" into mnc-dr-dev"
    },
    {
      "commit": "af20bc26704458eac0ddc23f12b637939b0df7a4",
      "tree": "df3518ad8366456ead184e0af23b91a6fd477b4f",
      "parents": [
        "f00b70e082c14f789c948f623daca9be7a0e36e8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 14 16:37:07 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 14 16:37:07 2015 -0700"
      },
      "message": "AudioPolicy: don\u0027t always change ACCESSIBILITY volume\n\nOnly change the volume for AUDIO_STREAM_ACCESSIBILITY when\n  changing the media volume.\n\nBug 23366575\n\nChange-Id: Ic42c726ec4d47615c20500c20e4d43cef159b3c6\n"
    },
    {
      "commit": "f86a441cb5b0dccd3106019e578c3535498e5315",
      "tree": "1e9f60fbd6870c8994653fb69d0c4eb0bbb24f64",
      "parents": [
        "4374b187e5e72056f8e814dae752b62cb60fc9a4"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Fri Sep 11 09:33:01 2015 -0700"
      },
      "committer": {
        "name": "Daniel Cashman",
        "email": "dcashman@google.com",
        "time": "Mon Sep 14 20:57:04 2015 +0000"
      },
      "message": "Add DUMP permission check to ResourceManagerService.\n\nBug: 23999740\nChange-Id: I3165404add455528b22951ba47b682a075b50087\n(cherry picked from commit 014e91e471edba3f9b2c71ff6025274716b0f587)\n"
    },
    {
      "commit": "f00b70e082c14f789c948f623daca9be7a0e36e8",
      "tree": "25620a9e2319782e8c7d5cb7341b9846cd951941",
      "parents": [
        "f5eb7c6fa2f6acb0fb19df9809d409f21e04ca4c",
        "b9017af21e097ef12867e0d4b72c432579f29674"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 14 16:17:15 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 14 16:17:15 2015 +0000"
      },
      "message": "Merge \"Force fixed volume for TTS stream\" into mnc-dr-dev"
    },
    {
      "commit": "99c906570b8663da8709fd986323470984f9c57e",
      "tree": "b6c89e759a64d887b8099b0eec4e1eaa8c690cba",
      "parents": [
        "5c0adc3e632fbb2929cb20e32a8a9f2864c01490",
        "b83c1fe4e793da269b9340c64f7032a9cc27809c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Sat Sep 12 18:12:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 12 18:12:25 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Signal buffer returned after it failed\" into mnc-dr-dev"
    },
    {
      "commit": "5c0adc3e632fbb2929cb20e32a8a9f2864c01490",
      "tree": "9c11b5a85c2e73e23ca0e57633ba4b4288a28523",
      "parents": [
        "014e91e471edba3f9b2c71ff6025274716b0f587",
        "a542782d0045588e55e075a763cedcd2d504ad22"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Sep 12 01:26:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 12 01:26:56 2015 +0000"
      },
      "message": "Merge \"Workaround static fast track start-after-stop issue\" into mnc-dr-dev"
    },
    {
      "commit": "a542782d0045588e55e075a763cedcd2d504ad22",
      "tree": "972b585a13ec997abea11db48f4c438c6a93bf05",
      "parents": [
        "0f05031545e43c8fe49a9dda0cfd9dce202d1ef3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Sep 11 16:15:35 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Sep 11 16:18:12 2015 -0700"
      },
      "message": "Workaround static fast track start-after-stop issue\n\nBug: 23291988\nBug: 23614327\nBug: 23924081\nChange-Id: Id1a519ed4bb2a6f4cb197da8450f7069b55c0d48\n"
    },
    {
      "commit": "014e91e471edba3f9b2c71ff6025274716b0f587",
      "tree": "b14d8666d861a29213e1db4e355bed43124bf63f",
      "parents": [
        "fefa614f92346e929921bfd47e3643861850bc2a"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Fri Sep 11 09:33:01 2015 -0700"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Fri Sep 11 15:57:53 2015 -0700"
      },
      "message": "Add DUMP permission check to ResourceManagerService.\n\nBug: 23999740\nChange-Id: I3165404add455528b22951ba47b682a075b50087\n"
    },
    {
      "commit": "b9017af21e097ef12867e0d4b72c432579f29674",
      "tree": "a9283a1f2a1846508e6eeb8579b166ddc85d21ed",
      "parents": [
        "0f05031545e43c8fe49a9dda0cfd9dce202d1ef3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 10 18:38:08 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 11 14:30:52 2015 -0700"
      },
      "message": "Force fixed volume for TTS stream\n\nAlways play Transmitted Through Speaker stream at max volume instead\nof tracking media stream volume.\n\nBug: 23729461.\nChange-Id: I61021f59617bb851a4cd7da80924e587029e96a3\n"
    },
    {
      "commit": "b83c1fe4e793da269b9340c64f7032a9cc27809c",
      "tree": "849892744754ce783d03414e7b4c3be9c5ec2bda",
      "parents": [
        "a2ab4505c807f42afe34809409c4e85d91618a8c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Sep 10 16:15:21 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Sep 11 14:13:47 2015 -0700"
      },
      "message": "Camera3Device: Signal buffer returned after it failed\n\nSignal buffer returned even after it failed so the thread waiting\nfor it can wake up sooner.\n\nBug: 23981045\nChange-Id: Iccbcc7ece2e0f6204da9c54f2bdd96ff6843a8f5\n"
    },
    {
      "commit": "652f7d7ebd9a8cec067588c2a232e49710d5cd83",
      "tree": "b350b90f4339c5c2ed5cf88a367d6a989f24065d",
      "parents": [
        "a89ee9ef8ee7774c1ea2d64c7f24c870fcc791ca"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Sep 11 13:01:30 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Sep 11 13:01:30 2015 -0700"
      },
      "message": "Camera: API1 shim: select better default FPS range\n\nBug: 23992350\nChange-Id: Ie86b24d9e5ea753c6dfc2e5526d371b339be96a1\n"
    },
    {
      "commit": "fefa614f92346e929921bfd47e3643861850bc2a",
      "tree": "700d34dcd080cfdcbe03a49107b76304e5b9fac8",
      "parents": [
        "a89ee9ef8ee7774c1ea2d64c7f24c870fcc791ca"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Wed Sep 09 13:43:01 2015 -0700"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Fri Sep 11 11:57:19 2015 -0700"
      },
      "message": "Reduce DUMP permission denial output to one line.\n\nBug: 23940813\nChange-Id: I0060dbaff5cd0c3d028ac5cd7aba7da3f0371150\n"
    },
    {
      "commit": "a2ab4505c807f42afe34809409c4e85d91618a8c",
      "tree": "cffdeb827eb93870aa692b8a9d3a0842ff8405de",
      "parents": [
        "0f05031545e43c8fe49a9dda0cfd9dce202d1ef3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 09 12:25:51 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Sep 10 10:31:27 2015 -0700"
      },
      "message": "audio flinger: force audio path start from normal mixer\n\nThe audio HAL wakes up and configures the audio path when receiving\nthe first write() in standby state. This causes a certain amount of\nprocess to take place in the mixer threads which is problematic for\nfast mixer running at FIFO priority.\n\nWe now force a fake write() of 0 bytes from normal mixer to trigger\nthe audio path configuration before starting the fast mixer.\n\nBug: 23791972.\n\nChange-Id: I54311b337fda956444846f5d2f53a3263d54e04b\n"
    },
    {
      "commit": "f30fd8000153d7320f9c45b7d116d26d7f029d01",
      "tree": "6bb1fc692bdcce57dee94ce193f38e0cec1e66b2",
      "parents": [
        "a84bbe6b59721b1b963d65d270aa98d6513bbb78",
        "564d144fc28917d42e3a67718ac51d61bfc36315"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 09 20:07:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 09 20:07:32 2015 +0000"
      },
      "message": "Merge \"Revert \"Do not acknowledge flush() on start() for static tracks\"\" into mnc-dr-dev"
    },
    {
      "commit": "564d144fc28917d42e3a67718ac51d61bfc36315",
      "tree": "6db8c93d002f5594bf80ee709706609a4df92fb4",
      "parents": [
        "27e0350ae57184d5e300f96c8338379f5d3d0fbc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 09 12:26:52 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 09 12:41:10 2015 -0700"
      },
      "message": "Revert \"Do not acknowledge flush() on start() for static tracks\"\n\nThis reverts commit cafe86a9cb6625bb1ec6383e16e28e4c9e455f87.\n\nBug: 23924093.\nChange-Id: I186d1013b06a286eca93c30bb9b3545dc36695ff\n"
    },
    {
      "commit": "a84bbe6b59721b1b963d65d270aa98d6513bbb78",
      "tree": "216a03ed2aeec280d33ac13f52cd752f3b8be681",
      "parents": [
        "27e0350ae57184d5e300f96c8338379f5d3d0fbc"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 08 17:59:17 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Sep 09 18:42:46 2015 +0000"
      },
      "message": "CameraService: Add more systracing, fix module init order\n\nImprove debugging of performance of concurrent calls to the service.\n\n- Add ATRACE calls to camera service entry points\n- Add ATRACE calls for camera HAL module calls\n- Ensure that camera module init method is called before all others\n\nBug: 23718257\nBug: 23933447\nChange-Id: I2a025866ab39eda3962877120cab13a063c7727e\n"
    },
    {
      "commit": "e4be7999d8cc689260ee54514cee0da67d9cf7e3",
      "tree": "9c80ae220446990987e146e68553ace5c7b8cb55",
      "parents": [
        "0cf901dd983e1a6b37eba2ab4414d647494588f1",
        "cafe86a9cb6625bb1ec6383e16e28e4c9e455f87"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 08 23:16:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 08 23:16:32 2015 +0000"
      },
      "message": "Merge \"Do not acknowledge flush() on start() for static tracks\" into mnc-dr-dev"
    },
    {
      "commit": "c85dc0548dcc59aebc39251aa66b8c5df956c76f",
      "tree": "7ab270afa8be22e59076689b6f8c98983dd1a0b5",
      "parents": [
        "4abef9bf7cfb98930044c75354f5200b811d099f",
        "24901c86e10a0923fe10f5e9bce5e6dba061a289"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Sep 05 00:18:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 05 00:18:57 2015 +0000"
      },
      "message": "Merge \"CameraService: Link to client binder death at end of connect\" into mnc-dr-dev"
    },
    {
      "commit": "4abef9bf7cfb98930044c75354f5200b811d099f",
      "tree": "61e06f2155c34502a2d923675d38d40214315867",
      "parents": [
        "8f1ee70c56aad841e4b9b569243d830ece04fdfe",
        "57ea29251d93c9423030de387573142064366a30"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Sat Sep 05 00:13:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 05 00:13:52 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Clean up next request batch variable\" into mnc-dr-dev"
    },
    {
      "commit": "24901c86e10a0923fe10f5e9bce5e6dba061a289",
      "tree": "178597477c4a44e371a273069ea4089113e33c14",
      "parents": [
        "8f1ee70c56aad841e4b9b569243d830ece04fdfe"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 04 14:15:58 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 04 15:47:17 2015 -0700"
      },
      "message": "CameraService: Link to client binder death at end of connect\n\nIf, within a binder Looper thread, a Binder object death notifier is\nregistered, and then a nested Binder transaction is begun, that\ntransaction may process a death notification callback for the\njust-registered object, if it was dead at the time of registration.\n\nThis can lead to an unexpected nested call into the service, and cause\ndeadlock.\n\nTo avoid this, move the death notifier registration to the end of\nhandling the connect transaction.\n\nAlso remove one extra bit of disconnect logging.\n\nBug: 23525545\nChange-Id: If01cbaf42704f55134118afefc9a8f7bdb014e09\n"
    },
    {
      "commit": "57ea29251d93c9423030de387573142064366a30",
      "tree": "d091aae12f730add56eb0ff92be9e1d7834b4dee",
      "parents": [
        "85a6455f269d79adf9bf48d757a4b1b3c81cf760"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Sep 04 12:58:56 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Sep 04 15:06:58 2015 -0700"
      },
      "message": "Camera3Device: Clean up next request batch variable\n\nMake the Vector of next requests a RequestThread member variable\nto avoid memory allocation in every threadloop.\n\nBug: 23360060\nChange-Id: I4f33e5c49f0f4deb1f9f45bada0909da748849e4\n"
    },
    {
      "commit": "50d12164efe3e4df9a1d994afdeb4779ce0f63c9",
      "tree": "0b1785e26deb4dcc6ae55fb74e63d66feb51a819",
      "parents": [
        "52aad85627f5216e7a3d9db425d2cc409f998a01",
        "85a6455f269d79adf9bf48d757a4b1b3c81cf760"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Sep 04 01:51:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 04 01:51:46 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Support batch requests\" into mnc-dr-dev"
    },
    {
      "commit": "85a6455f269d79adf9bf48d757a4b1b3c81cf760",
      "tree": "7ad6b688f9e60e2f8597b7de932cd8c6ff4f628e",
      "parents": [
        "cfb252cdb748429789f918c4268fcca1331f6cec"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Aug 28 15:46:12 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Sep 03 17:35:25 2015 -0700"
      },
      "message": "Camera3Device: Support batch requests\n\nRefactor request threadLoop to three parts: waiting for next\nbatch of requests, preparing HAL requests and output buffers for\nnext batch of requests, and submitting the batch of requests to\nHAL.\n\nSet the batch size to the size of the request list if it\u0027s a video\nrecording request in a high speed video configuration.\n\nAdd a flush lock so that HAL\u0027s flush() won\u0027t be called while\nsubmitting a batch of requests.\n\nBug: 23360060\nChange-Id: Icd395b1f955a9b336eec6fa5aff6b17741ce08c7\n"
    },
    {
      "commit": "52aad85627f5216e7a3d9db425d2cc409f998a01",
      "tree": "8733629f149e3bd00e56d99afc55a28bf441f004",
      "parents": [
        "3ca51aa9c8eb670b3b93ab37350fa4e0a0397bd6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 03 12:24:24 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 03 12:24:24 2015 -0700"
      },
      "message": "CameraService: Treat TOP_SLEEPING same as TOP for priority.\n\nWhen arbitrating between camera clients, treat processes in the\nTOP_SLEEPING state with the same high priority as processes in the\nTOP state.\n\nThis resolves race conditions during lock screen handoffs between\nclients such as face unlock (a bound foreground process) and a\nsecure camera app (the topmost activity, but transitioning from\nTOP_SLEEPING to TOP asynchronously from the activity lifecycle\ncallbacks).\n\nBug: 23731720\nChange-Id: I92c3f8f561c7725627826c0ba3dc926e99af746c\n"
    },
    {
      "commit": "ef7826692df89514701d12dfbfc31bec3814cf95",
      "tree": "6e91d3217d379f14ad217544297291ff7954f78f",
      "parents": [
        "5dc3d9928f85580a2351925b5f11ff0189524c39",
        "fe751bea0d3eedd6e817aebf4e457425b82e7117"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Sep 02 17:49:32 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 02 17:49:32 2015 +0000"
      },
      "message": "am fe751bea: Camera: Fix flashlight deadlock\n\n* commit \u0027fe751bea0d3eedd6e817aebf4e457425b82e7117\u0027:\n  Camera: Fix flashlight deadlock\n"
    },
    {
      "commit": "fe751bea0d3eedd6e817aebf4e457425b82e7117",
      "tree": "263226e98081eb5f3ed9dc8d20840719b837d4f3",
      "parents": [
        "389e765394a950b9697bba49c1998f2029bd58b4"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Sep 01 14:16:44 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Sep 01 14:16:44 2015 -0700"
      },
      "message": "Camera: Fix flashlight deadlock\n\nUse a dedicated mutex for torch UID map so it won\u0027t cause a deadlock\nafter flashlight app gets killed while the torch is on.\n\nBug: 23722318\nChange-Id: I228377aa0412052d56b6b948361d9abaecbbc686\n"
    },
    {
      "commit": "efff1c4ba2bf195d97de2fd5718b708e4b942901",
      "tree": "80bd9df579b10a5bb5083383952178b9113e46eb",
      "parents": [
        "0b4543149bd5afa2e9ffc26baa9f472349bea201"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 28 16:27:27 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 28 16:27:27 2015 -0700"
      },
      "message": "Camera3Device: Don\u0027t hold mutex during HAL device close.\n\nThe HAL device shutdown will likely need to wait on various events and\nqueues to drain, and holding the mutex will prevent, for example, error\nnotifications from being processed. This can lead to deadlocks.\n\nBug: 23501571\nChange-Id: I873ac23ef30545adf533e7839445448573ab5048\n"
    },
    {
      "commit": "cafe86a9cb6625bb1ec6383e16e28e4c9e455f87",
      "tree": "14b334794322ae63ad0e1478bf9ccdc38335a55d",
      "parents": [
        "b3b34074477b9f8713924e18f7a0120965112720"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 14 09:34:50 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Aug 24 19:07:39 2015 +0000"
      },
      "message": "Do not acknowledge flush() on start() for static tracks\n\nBug: 22938515\nChange-Id: I1de653de169a3fbbaa693da6057897ea57772447\n"
    },
    {
      "commit": "412fe56cd7cf7d73bc5d2bcc3f635bc650d18de9",
      "tree": "919a0a09510d53e39c23126f7d4760d761d954d6",
      "parents": [
        "37ea1d0de9b7c9ffbfa7cb1895dcbf4a4f92803a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 20 17:08:32 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 21 17:41:43 2015 -0700"
      },
      "message": "CameraService: Notify camera service proxy of device status\n\nSend the camera proxy service in system server updates to\ncamera device state: opened/closed/active/idle.\n\nBug: 23393557\nChange-Id: Id7c70f134821efa34af8f6e7b4caa4c2ab128ebc\n"
    },
    {
      "commit": "37ea1d0de9b7c9ffbfa7cb1895dcbf4a4f92803a",
      "tree": "080b0008cbef15608159afba75c6ccc1f3855efa",
      "parents": [
        "32a5c4fbedbccdeaa89a81ce1097961f8a9cfd74",
        "e857d28d48e6088d4cf5fcbed7f411c73622b388"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 21 22:24:03 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 21 22:24:03 2015 +0000"
      },
      "message": "am e857d28d: Merge \"TimestretchBufferProvider: getNextBuffer should follow API\" into mnc-dev\n\n* commit \u0027e857d28d48e6088d4cf5fcbed7f411c73622b388\u0027:\n  TimestretchBufferProvider: getNextBuffer should follow API\n"
    },
    {
      "commit": "e857d28d48e6088d4cf5fcbed7f411c73622b388",
      "tree": "df4661f597a2b358e1a933b00c730c2b2e7ab13a",
      "parents": [
        "39515ddcc04096824889eac8125ec3527230c3eb",
        "6d62669e2796df93135e58388f75e6780f6a207e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 21 22:18:35 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 21 22:18:35 2015 +0000"
      },
      "message": "Merge \"TimestretchBufferProvider: getNextBuffer should follow API\" into mnc-dev"
    },
    {
      "commit": "6d62669e2796df93135e58388f75e6780f6a207e",
      "tree": "aef82aa15844e145a28e5e27798bc83a7224a2db",
      "parents": [
        "4327df2af078894c38a8eb69f4873bef92cc0f83"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 21 12:53:46 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 21 13:00:48 2015 -0700"
      },
      "message": "TimestretchBufferProvider: getNextBuffer should follow API\n\nIf no data, should return 0 frame count and NULL ptr.\n\nBug: 23293002\nChange-Id: Ib5364e5bceb15c2dddc4a16e85299b409cf4e137\n"
    },
    {
      "commit": "5d1103e5a229401a4c4e0cb7dd91b2742881ff92",
      "tree": "ac815f1a2ee6af6deb53754a149d31a6b3eac34a",
      "parents": [
        "5f7d4b957a4b41eaee3bcfbe8cb5a2f8f3dc8dc0",
        "c78ac26e3a65328fc0118f16ee76a800d0687eb7"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Aug 17 17:28:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 17:28:11 2015 +0000"
      },
      "message": "Merge \"Add experimental camera session prepare API.\" into mnc-dr-dev"
    },
    {
      "commit": "e4dfac0e130fe95bfe445ea47ce3ed8ac590447f",
      "tree": "c548d5b19971ce2991acf23eca8e2898b7222497",
      "parents": [
        "f33a302f112f19503e842cacfea1492ae81796b0",
        "bad4358c83c7daaf9eeb8542c15eea4f473c884c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Aug 16 01:34:38 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Aug 16 01:34:38 2015 +0000"
      },
      "message": "am bad4358c: Camera: Add camera type to ICameraService.getNumberOfCameras.\n\n* commit \u0027bad4358c83c7daaf9eeb8542c15eea4f473c884c\u0027:\n  Camera: Add camera type to ICameraService.getNumberOfCameras.\n"
    },
    {
      "commit": "c78ac26e3a65328fc0118f16ee76a800d0687eb7",
      "tree": "9009e37c981c7cbfdd106c44de2622edf1672a49",
      "parents": [
        "a09f8cf8c76fa946c4b91be059b420941abcdc3b"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 13 17:58:46 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Aug 14 17:30:24 2015 -0700"
      },
      "message": "Add experimental camera session prepare API.\n\nBug: 18949148\nChange-Id: I8f73e68ea2e3acc60d98954106f364d13f439a82\n"
    },
    {
      "commit": "bad4358c83c7daaf9eeb8542c15eea4f473c884c",
      "tree": "0b01065e69f769a7dc058b8ac6652ef93d4736ed",
      "parents": [
        "49f0246c2eac50bbfebf48316b1086de64ac9860"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 14 13:12:32 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 14 16:02:03 2015 -0700"
      },
      "message": "Camera: Add camera type to ICameraService.getNumberOfCameras.\n\nAlso determine the number of \u0027normal\u0027 cameras present on\ncamera service startup, and ensure that all normal cameras have\nIDs lower than the \u0027strange\u0027 cameras.\n\nBug: 23194168\nChange-Id: I1f7b14825cb52707de698a955f85da1eaa932663\n"
    },
    {
      "commit": "b65ce67e4083b2026c9f31cb762abe4be39f1560",
      "tree": "44d991e522eeb1bd3d1a0bf2d265be807dd8fbb6",
      "parents": [
        "b9d82b0c5048e73dfe354b337a849e814908d9f7",
        "3ba0c6ec009aa675d3433cd6c12af173874787bd"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 13 23:05:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 13 23:05:08 2015 +0000"
      },
      "message": "am 3ba0c6ec: Merge \"Fix deadlock conditions in Camera3Device.\" into mnc-dev\n\n* commit \u00273ba0c6ec009aa675d3433cd6c12af173874787bd\u0027:\n  Fix deadlock conditions in Camera3Device.\n"
    },
    {
      "commit": "3ba0c6ec009aa675d3433cd6c12af173874787bd",
      "tree": "b2f5d5d8e4e9dee580233670912530da2b028ac0",
      "parents": [
        "a45ccfb88f043f859f9674b8d78b0c3e93328d10",
        "183f056393423b344e73f388f21d30379a38e519"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 13 22:59:35 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 22:59:35 2015 +0000"
      },
      "message": "Merge \"Fix deadlock conditions in Camera3Device.\" into mnc-dev"
    },
    {
      "commit": "a09f8cf8c76fa946c4b91be059b420941abcdc3b",
      "tree": "a914917fae4819358c06c5e513438ef416808916",
      "parents": [
        "9697dd11e3586ba91bdec9f378fdaa8cab6ed082",
        "9459fb087c97c3cad66221821eb32755fdb9c9f5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 13 22:08:42 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 22:08:42 2015 +0000"
      },
      "message": "Merge \"audio policy: refine TTS stream mute management\" into mnc-dr-dev"
    },
    {
      "commit": "9459fb087c97c3cad66221821eb32755fdb9c9f5",
      "tree": "3ffcdf33603dc84b5c46106e20912e2ef1989356",
      "parents": [
        "3704d6b33896323763f08f8955b918e75cd4a21e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 12 18:36:32 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 12 18:36:32 2015 -0700"
      },
      "message": "audio policy: refine TTS stream mute management\n\nDo not mute the TTS stream if a dedicated output for\nTTS is available.\n\nBug: 22100304.\nChange-Id: Ic126100ce1144f765bc0ae42c8ea87fa47cfb822\n"
    },
    {
      "commit": "5732386666aa2265d658e9fc861a1dfe22033861",
      "tree": "1ba35271c05fcf3790f7216ff625c1e00df81c12",
      "parents": [
        "4327df2af078894c38a8eb69f4873bef92cc0f83",
        "c96ac8dfcae66a45b7ae67b82dabdf19f60f859d"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Aug 13 00:55:24 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 00:55:24 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Relax InFlightMap size check\" into mnc-dev"
    },
    {
      "commit": "c96ac8dfcae66a45b7ae67b82dabdf19f60f859d",
      "tree": "e6c6e01b854fc40c4f66805df6c661b41c5b034c",
      "parents": [
        "09da86913ca97d7a818a8917b6601527e5e18a24"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Aug 12 16:46:24 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Aug 12 17:31:03 2015 -0700"
      },
      "message": "Camera3Device: Relax InFlightMap size check\n\nRelax InFlightMap size check for high speed configurations to\nallow more pending capture requests.\n\nBug: 23162274\nChange-Id: I955fe9a0754f0daed001f4a2b34ccb50f2465a11\n"
    },
    {
      "commit": "183f056393423b344e73f388f21d30379a38e519",
      "tree": "a3ea7463340322257cc66457f66d43532cd6a0be",
      "parents": [
        "4327df2af078894c38a8eb69f4873bef92cc0f83"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Aug 12 12:55:02 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Aug 12 14:13:16 2015 -0700"
      },
      "message": "Fix deadlock conditions in Camera3Device.\n\nPotential deadlock conditions this addresses, include:\n- Not waking up waiting threads for several situations where\n  the status had been updated.\n- Not waking up all waiting thread when status had been updated\n  (only one thread was awoken due to use of signal).\n- Threads clear status transitions before other waiting threads\n  have a chance to examine them.\n\nBug: 22448586\nChange-Id: I53ba669d333a83d2bfa1ca3170d34acc6d8fe6e3\n"
    },
    {
      "commit": "4327df2af078894c38a8eb69f4873bef92cc0f83",
      "tree": "66c04d0f4ab1a8cb81bb9a9410b780ad44a5f14d",
      "parents": [
        "09da86913ca97d7a818a8917b6601527e5e18a24",
        "95a1d0f2fb1ea85c549ef8b869ab9ab52601d1db"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 12 20:01:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 12 20:01:43 2015 +0000"
      },
      "message": "Merge \"Camera: Allocate correctly-sized buffers for DEPTH_POINT_CLOUD\" into mnc-dev"
    },
    {
      "commit": "95a1d0f2fb1ea85c549ef8b869ab9ab52601d1db",
      "tree": "588303955754f420083abf393acc61de98c7e7b8",
      "parents": [
        "9872cdceaf76727e9ccc353ee41957b957b76566"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 11 15:08:53 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 11 15:08:53 2015 -0700"
      },
      "message": "Camera: Allocate correctly-sized buffers for DEPTH_POINT_CLOUD\n\nBug: 20537722\nChange-Id: I9fa2fcdcfd41cd3370732c70414914993d3dc94e\n"
    },
    {
      "commit": "82db269d4797cb9909988b723d91fa2094a74b38",
      "tree": "77f2ff4451760a09704ab7676f9e680e9af0729a",
      "parents": [
        "aa7a4eae1cc93ccf90e273b9634f3a125b0b3565"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 07 13:59:42 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 07 15:23:46 2015 -0700"
      },
      "message": "audio policy: protect capture from telephony RX path.\n\nAdd permission check if the capture device selected is telephony\nRX path.\n\nBug: 23017158.\nChange-Id: Iaa34d836e6cf46b7cbbf2483fcd4306dcd27ce90\n"
    },
    {
      "commit": "45aabc3578f2362b82f5a425d44e75d4266b1c8c",
      "tree": "da2bc7bbd63b628402972f65122c40fe1a186b07",
      "parents": [
        "7db7948908b21ca2d878d6882cdf1a23a121182f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 06 09:11:13 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 06 09:14:37 2015 -0700"
      },
      "message": "audio policy: populate attributes for attached capture devices\n\nPopulate supported sampling rates, channel masks and formats when enumerating\nattached build in capture devices.\n\nHaving this information for build-in mic is important for some applications.\n\nBug: 22729461.\nChange-Id: I93f03296447a87c10f2615fa1b1c45e9879b4aa7\n"
    },
    {
      "commit": "41ae1d663d896a9ec22299d95c01940313a9b276",
      "tree": "0d6246404b453fd7ebb7d134d3b02ce6e01c5869",
      "parents": [
        "6134ad6fdeab91e54a1abc8f00eafc956e42fb3d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Aug 04 11:11:28 2015 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Aug 04 11:11:28 2015 -0700"
      },
      "message": "AudioFlinger: tell HAL the PCM is non-audio\n\nAdd a bit to tell the HAL that the PCM data is really encoded audio\nwrapped in a data burst.\nOtherwise the device may try to play the encoded data directly\nwhich will sound like modulated white noise.\n\nBug: 22576112\nChange-Id: Ib140da96876e849023858fe2510612310501d1ee\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "5ce059661dcbab8924edab400681fc408ee76123",
      "tree": "82709f0f74d4c8e89e8acdd751784a5f9103d620",
      "parents": [
        "9f00e69c5f2702b66e9bdf8f4f75f99a338738d7",
        "eb9487e10294a4e73977f460f30eeaff503acd21"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 24 20:28:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 24 20:28:43 2015 +0000"
      },
      "message": "Merge \"Fix capture overruns at non-primary sample rate\" into mnc-dev"
    },
    {
      "commit": "240577a43ff8d312fa4b464db887916580473396",
      "tree": "0320d0bbb500eeb5d72aa11432350c535eac1a9c",
      "parents": [
        "70c1f74f3d4c43b67949f3e742195d60f4677462",
        "a97630bda8815958587ca31adb2d37090022af25"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 23 21:21:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 23 21:21:46 2015 +0000"
      },
      "message": "Merge \"Fix record memory buffer allocation for legacy upmix/downmix\" into mnc-dev"
    },
    {
      "commit": "a97630bda8815958587ca31adb2d37090022af25",
      "tree": "edff2365d23d227a22248f30dd8acf217801fa8d",
      "parents": [
        "17d0efd17fbb2573adcde8dcbe77726f622817da"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 22 23:27:24 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 22 23:31:54 2015 -0700"
      },
      "message": "Fix record memory buffer allocation for legacy upmix/downmix\n\nBug: 22173057\nChange-Id: I8f5056ff5a1252c71a3d3b354440551bcd9fd466\n"
    },
    {
      "commit": "eb9487e10294a4e73977f460f30eeaff503acd21",
      "tree": "fdd7dfd6fd2074f9d0684ed9b11dd851dc469d50",
      "parents": [
        "8f0547a954b39d5750488be7e060ebe1ebfdf666"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 22 09:15:17 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 22 12:20:43 2015 -0700"
      },
      "message": "Fix capture overruns at non-primary sample rate\n\nand small buffer size.  Also:\nPull out the magic number \"12 ms\" to a named constant.\nRemove obsolete AudioFlinger::mPrimaryOutputSampleRate.\n\nBug: 22662814\nChange-Id: I261f75a222c4505a84aad2493d251bd2dea59f68\n"
    },
    {
      "commit": "5de234b29141334c1bb5e40bc19c11836848841b",
      "tree": "00cc7d27395e4705fb5e297b896eccac90714ccb",
      "parents": [
        "f8f669d7a727e4ad5505cd85741f4d50dbaffbf9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 21 11:42:02 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 21 11:45:43 2015 -0700"
      },
      "message": "Prevent notifications from muting accessibility prompts\n\nWhen evaluating on which device a sound is to be played, the policy\n  must consider which current routing strategy, if any, has priority\n  for overriding the choice. Here the playback of notifications,\n  when duplicated over speaker and headphones, was causing the\n  accessibility prompt to be muted because the it was of a higher\n  priority, and incompatible with the accessibility routing.\nThe fix consists in assigning a higher priority to the accessbility\n  routing strategy over the notification routing strategy.\n\nBug 18834451\n\nChange-Id: I8228b30a7d80bd61d1c223afb030d9421d4f33cf\n"
    },
    {
      "commit": "51390b48d311d1164a6638d3fe0b4a48aaa9028f",
      "tree": "edb401cf9346bb27d1126df49ec15d61edf3a62a",
      "parents": [
        "f6d07bc61fd7fefe9d2b2cbdaf637f2fdb1bd21e",
        "37c8924c508a7c9b8bd3c8ce80fc005070531902"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Sat Jul 18 03:07:04 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 18 03:07:05 2015 +0000"
      },
      "message": "Merge \"mediaresourcemanager: add pid to removeResource method\" into mnc-dev"
    },
    {
      "commit": "f6d07bc61fd7fefe9d2b2cbdaf637f2fdb1bd21e",
      "tree": "7f96f8c7ebb56d5865ae8f6b993615f4f203b12c",
      "parents": [
        "b9f72ab0b0b7582e021d369e7179022f7be5b37d",
        "eff134a61a5dd081ee578628704a66dca24e0cf7"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Sat Jul 18 01:39:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 18 01:39:21 2015 +0000"
      },
      "message": "Merge \"Fix UAF error in CameraModule.\" into mnc-dev"
    }
  ],
  "next": "eff134a61a5dd081ee578628704a66dca24e0cf7"
}
