)]}'
{
  "log": [
    {
      "commit": "5d677d1f0879d5101e38df480a38228a64d63959",
      "tree": "eb8724a33f7f422d4dd0914e206c19948fc4da68",
      "parents": [
        "827388ba4fd8d5e859858dbb29ced986b9ed77f4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun May 29 16:52:39 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jun 02 15:42:57 2016 -0700"
      },
      "message": "Camera3: add deferred surface support\n\nInitial native implementation and aidl changes for surfaceless support.\n\nBug: 28323863\nChange-Id: Id6634c3ef2ecc84422a88f63de0a19a0cb496e96\n"
    },
    {
      "commit": "22045c6ea4737606113102b85bcfd6040118081d",
      "tree": "3dfd9ac03a6a80b463b23193dcc84ce928193375",
      "parents": [
        "7ef5bb92f7169b5fa385c16d905265f99879cfae",
        "b4eea9fa629f44ba17731a6152c1a083a559e851"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Thu May 26 23:55:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 26 23:55:24 2016 +0000"
      },
      "message": "Merge \"engine configurable: add conf for product without devices\" into nyc-dev\nam: b4eea9fa62\n\n* commit \u0027b4eea9fa629f44ba17731a6152c1a083a559e851\u0027:\n  engine configurable: add conf for product without devices\n\nChange-Id: Ie25876e351caf5c63db43a9f00bec0c7e8682932\n"
    },
    {
      "commit": "b4eea9fa629f44ba17731a6152c1a083a559e851",
      "tree": "dd02c869f309ec005c6a878dd404ae6a29171bbc",
      "parents": [
        "5d364cac2911bf7d479af0d508576d4078d04961",
        "c7ce9a2ee61ecabdedc87ae8635eb80a5fbce17c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 26 22:57:52 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 22:57:52 2016 +0000"
      },
      "message": "Merge \"engine configurable: add conf for product without devices\" into nyc-dev"
    },
    {
      "commit": "c7ce9a2ee61ecabdedc87ae8635eb80a5fbce17c",
      "tree": "787381b658cdb0c975570a8de76b13ae185ff021",
      "parents": [
        "77404e1a890060a9cb4da017b660e6554fdc9a6f"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Mon May 09 11:07:52 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 26 12:48:10 2016 -0700"
      },
      "message": "engine configurable: add conf for product without devices\n\nthis patch provides an example of configuration of policy engine\nfor platforms:\n-without output devices\n-without input devices.\n\nChange-Id: I5e8a159de085e35fb245f2efb54f609d8e89ce16\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "7ef5bb92f7169b5fa385c16d905265f99879cfae",
      "tree": "c35f55d6f790d240527799fd504b5ab12feb1a40",
      "parents": [
        "597c1c00b7c2ca10800ecd1c08b5988db72a93ba",
        "5d364cac2911bf7d479af0d508576d4078d04961"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 26 18:26:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 26 18:26:35 2016 +0000"
      },
      "message": "Merge \"Audio policy: volume computation improvement on A2DP for notifications\" into nyc-dev\nam: 5d364cac29\n\n* commit \u00275d364cac2911bf7d479af0d508576d4078d04961\u0027:\n  Audio policy: volume computation improvement on A2DP for notifications\n\nChange-Id: I8cd7b9b2ee536eb10fd2c5001acc6cb2d86affe6\n"
    },
    {
      "commit": "5d364cac2911bf7d479af0d508576d4078d04961",
      "tree": "2f0b4d4f0db6e0370448b62bebfafb33c5c6c49c",
      "parents": [
        "77404e1a890060a9cb4da017b660e6554fdc9a6f",
        "00a2096f3bd6f938216b3691c0b581d64df52999"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 26 18:01:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 18:01:19 2016 +0000"
      },
      "message": "Merge \"Audio policy: volume computation improvement on A2DP for notifications\" into nyc-dev"
    },
    {
      "commit": "00a2096f3bd6f938216b3691c0b581d64df52999",
      "tree": "0a1aa328602f48be60087756734852ea8edb0d42",
      "parents": [
        "f3d9908a888203e7e70b8c2d43ee741a95e154ed"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 25 19:11:01 2016 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 25 19:16:26 2016 -0700"
      },
      "message": "Audio policy: volume computation improvement on A2DP for notifications\n\nWhen playing STRATEGY_SONIFICATION* streams, or system sounds or\n  enforced sounds on A2DP during media playback, ensure the\n  difference between the media volume and the notification\n  is no more than 12dB\n\nBug 28288132\n\nChange-Id: If5cb7979dd76a0d624e8aeff9126ff56bfd7366b\n"
    },
    {
      "commit": "de84b0e1c7c2a92b989169b985ecf1fc841960ab",
      "tree": "5d5f8c73799a105bbc3173e63c027ec5641d00da",
      "parents": [
        "36455ed559f2d4bc37e7856534f13ba6ce1a4f42",
        "f489ff899861a385c36b548bd51d0c6e17f8e67f"
      ],
      "author": {
        "name": "Franois Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Wed May 25 23:05:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 23:05:22 2016 +0000"
      },
      "message": "Audio Policy: engine configurable: remove sign bit from conf files\nam: f489ff8998\n\n* commit \u0027f489ff899861a385c36b548bd51d0c6e17f8e67f\u0027:\n  Audio Policy: engine configurable: remove sign bit from conf files\n\nChange-Id: I5eae223aac27687ef92946445b525b9b9bf4dfad\n"
    },
    {
      "commit": "36455ed559f2d4bc37e7856534f13ba6ce1a4f42",
      "tree": "70a55a3c01ffe8c8db5ba9265c28e07c00d3f6fe",
      "parents": [
        "96866e9c17df51af3095978c65db4c8675cc50d8",
        "54e01ea654f9851292cff5059ba0fe95cd1fb6a8"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Wed May 25 23:05:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 23:05:20 2016 +0000"
      },
      "message": "Merge \"audio policy: engine configurable: aligment with legacy\" into nyc-dev\nam: 54e01ea654\n\n* commit \u002754e01ea654f9851292cff5059ba0fe95cd1fb6a8\u0027:\n  audio policy: engine configurable: aligment with legacy\n\nChange-Id: I02552e844c11d42ac1863816e699662e7563f125\n"
    },
    {
      "commit": "96866e9c17df51af3095978c65db4c8675cc50d8",
      "tree": "cc0561a1778831e9c90fe0d867437cc779326ace",
      "parents": [
        "a1395f6b52c28d26683725eed691db0df684dc96",
        "ec71c9ee9250b8e13b1680e24ba6c66beb2fc33e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 23:05:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 23:05:18 2016 +0000"
      },
      "message": "Merge \"Fix warning in audio policy service\" into nyc-dev\nam: ec71c9ee92\n\n* commit \u0027ec71c9ee9250b8e13b1680e24ba6c66beb2fc33e\u0027:\n  Fix warning in audio policy service\n\nChange-Id: I7e2fdc56995d4d31e9d157a758d180b34d735edf\n"
    },
    {
      "commit": "f489ff899861a385c36b548bd51d0c6e17f8e67f",
      "tree": "78149511be6f1a35bf517d1dc91d783efbc4614d",
      "parents": [
        "54e01ea654f9851292cff5059ba0fe95cd1fb6a8"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Mon May 09 14:22:45 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 22:50:43 2016 +0000"
      },
      "message": "Audio Policy: engine configurable: remove sign bit from conf files\n\nIn order to avoid mistake or extra configuration, this patch removes\nfrom xml/pfw configuration files the sign bit for input device and adds\nit programmaticaly within the Parameter Framework policy plugin\n\nBug: 25075342\n\nChange-Id: I571e8ae882cb338330d6a10da309b1249ce0417e\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "d86071d55540c3a5c40afe2122bff6a5c4296bf1",
      "tree": "ea93d17eceb13e5603c62a1d6c6720c8c7bd403e",
      "parents": [
        "9f39f8d6cc1445c338d8cb635fdbc167c4200971"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Mon May 09 11:06:54 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 20:59:53 2016 +0000"
      },
      "message": "audio policy: engine configurable: aligment with legacy\n\nThis patch realigns the configurable version of the engine\nwith the legacy one.\n\nBug: 25075342\n\nChange-Id: Ic73cee9176d6593e8fbf6d92e571d76cdba42c6b\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "9f39f8d6cc1445c338d8cb635fdbc167c4200971",
      "tree": "5cb8d9a2a519df24e5fd0db5f308568ba7b8f043",
      "parents": [
        "a2ebcc043f9b04f08f89fc6281199a34e43d4cae"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 12:34:48 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 13:34:51 2016 -0700"
      },
      "message": "Fix warning in audio policy service\n\nChange-Id: I33b20b7007e19e8b2514ffdf2232e9c1d7314d9f\n"
    },
    {
      "commit": "b09a6d08321b9484d80a2a9dc11ed52623942c8d",
      "tree": "552dc523c1d69c52afc3b1dacb6eb8db393b4613",
      "parents": [
        "a1bcbfec34380c5993ed39680ec6b418f63c7021",
        "5d8e3808b4012fa72bedf5898803682831f88e84"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 25 11:45:16 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 25 11:45:16 2016 -0700"
      },
      "message": "resolve merge conflicts of 5d8e380 to nyc-mr1-dev\n\nChange-Id: Ic3aacd191cae0749bb33fe9ccfdac743ff82a21f\n"
    },
    {
      "commit": "a1bcbfec34380c5993ed39680ec6b418f63c7021",
      "tree": "babfe0c2fec19fd6d3efff7a56dc43e9220bc837",
      "parents": [
        "517f18967128a267c750d3dce78007bf02bae795",
        "5290766537a6075b9f11564e14b3f1be51a35373"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 18:23:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 18:23:24 2016 +0000"
      },
      "message": "Merge \"audio flinger: fix audio patch release\" into nyc-dev\nam: 5290766537\n\n* commit \u00275290766537a6075b9f11564e14b3f1be51a35373\u0027:\n  audio flinger: fix audio patch release\n\nChange-Id: I9b4337641c22f29d8bd498851c211451a99eb92a\n"
    },
    {
      "commit": "5d8e3808b4012fa72bedf5898803682831f88e84",
      "tree": "2b78730869fa0bb0c0b12d85d914f8af28280268",
      "parents": [
        "5290766537a6075b9f11564e14b3f1be51a35373",
        "69488c4ef115c9de52c85f4fcae27c7774720298"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 25 17:40:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 17:40:46 2016 +0000"
      },
      "message": "Merge \"AudioTrack: Fix timestamp startup condition\" into nyc-dev"
    },
    {
      "commit": "5290766537a6075b9f11564e14b3f1be51a35373",
      "tree": "a46dc94cf9e6f6a33193c7b51368d4e4b68bac63",
      "parents": [
        "76016ccf97237b131087651db34bdec9e0c81d43",
        "0666cc5b6b430cc5a815dab0bcba3dd73da8061a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 17:17:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 17:17:01 2016 +0000"
      },
      "message": "Merge \"audio flinger: fix audio patch release\" into nyc-dev"
    },
    {
      "commit": "0666cc5b6b430cc5a815dab0bcba3dd73da8061a",
      "tree": "38cae5fe4c86705889a0e80547d3cdb73d67d0cd",
      "parents": [
        "f0f4f1e494a80ce300a68cfce0e1dc627c09c29a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 15 10:14:06 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 25 08:42:19 2016 -0700"
      },
      "message": "audio flinger: fix audio patch release\n\nRelease playback and capture threads associated to a softwware\naudio patch when the patch handle is reused.\n\nBug: 25638953.\nChange-Id: Ie832513043525dda9089f8e83018810add2a4d6e\n"
    },
    {
      "commit": "69488c4ef115c9de52c85f4fcae27c7774720298",
      "tree": "9f1be0c3a13dec3768aa3e314f346afa7aa96ff0",
      "parents": [
        "f3d9908a888203e7e70b8c2d43ee741a95e154ed"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 16 18:43:33 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 24 18:59:42 2016 -0700"
      },
      "message": "AudioTrack: Fix timestamp startup condition\n\nSuppress timestamps without valid kernel information or\na server update.\n\nUpdate timing of server timestamp location to better indicate\nwhen the server pull occurs.\n\nUpdate write timing logic to suppress unneeded time calls\nand to ensure proper throttling.\n\nBug: 28771691\nChange-Id: I2cd25dad638ca1d0b1355d87d175d908f3bddb26\n"
    },
    {
      "commit": "ce2b51c91f431be6a62b2fed746650d18499cb83",
      "tree": "7484943044b5dc06e8d6b10d647720b12e26a409",
      "parents": [
        "add074cfd746d050da929df3a2a94d382ed6022b",
        "f3d9908a888203e7e70b8c2d43ee741a95e154ed"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 24 20:41:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 20:41:03 2016 +0000"
      },
      "message": "Merge \"Add memory heap checks for mediaserver and audioserver\" into nyc-dev\nam: f3d9908a88\n\n* commit \u0027f3d9908a888203e7e70b8c2d43ee741a95e154ed\u0027:\n  Add memory heap checks for mediaserver and audioserver\n\nChange-Id: I796467f1b5ef9b295f5ba738d3ac013349d0946b\n"
    },
    {
      "commit": "f3d9908a888203e7e70b8c2d43ee741a95e154ed",
      "tree": "d19638ca4ece2ea0f7f60c851b7970b6d4178ba4",
      "parents": [
        "b2379ba0a32638bae2ea0460644f68cf5a0967ce",
        "07b745e166ee62030960ccea37e117caadf71c32"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 24 20:38:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 24 20:38:23 2016 +0000"
      },
      "message": "Merge \"Add memory heap checks for mediaserver and audioserver\" into nyc-dev"
    },
    {
      "commit": "add074cfd746d050da929df3a2a94d382ed6022b",
      "tree": "ad486d2ce4dff61e6a0b5fdf3cd4da0fe51243a0",
      "parents": [
        "e2f42cb105f861379cc74b7a9a4d26692aa6fd9f",
        "b2379ba0a32638bae2ea0460644f68cf5a0967ce"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 24 17:40:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 17:40:14 2016 +0000"
      },
      "message": "Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check\nam: b2379ba0a3\n\n* commit \u0027b2379ba0a32638bae2ea0460644f68cf5a0967ce\u0027:\n  Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check\n\nChange-Id: I17450cb2f7ee24649c6d0c425a2cb9ead2e149b4\n"
    },
    {
      "commit": "e2f42cb105f861379cc74b7a9a4d26692aa6fd9f",
      "tree": "20bc4410b3f9b86a54373e31468d6d4e5f129612",
      "parents": [
        "21a1e4da4e22db07abd88ed6d2326ff557911b5e",
        "a0e10ff02b156738c0e5441104821b220eea3d68"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Tue May 24 17:40:11 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 17:40:11 2016 +0000"
      },
      "message": "Merge \"audioflinger: Pass pid of process creating track or opening record\" into nyc-dev\nam: a0e10ff02b\n\n* commit \u0027a0e10ff02b156738c0e5441104821b220eea3d68\u0027:\n  audioflinger: Pass pid of process creating track or opening record\n\nChange-Id: I4992d73ff1bb90364362dfb7f1917dfc18d83eec\n"
    },
    {
      "commit": "b2379ba0a32638bae2ea0460644f68cf5a0967ce",
      "tree": "92313531455a4482d97d03d0f4ecb1e727b4076a",
      "parents": [
        "a0e10ff02b156738c0e5441104821b220eea3d68"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon May 23 17:42:12 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 24 17:16:57 2016 +0000"
      },
      "message": "Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check\n\nMake sure we use the correct PID and UID when checking\nandroid.permission.CAPTURE_AUDIO_OUTPUT permission from audio\npolicy service.\n\nBug: 28772898\nChange-Id: I8f0c45bf7a5728b4364a451eefb6c025892ae9a5\n"
    },
    {
      "commit": "a0e10ff02b156738c0e5441104821b220eea3d68",
      "tree": "377a3a8e6392f58474f27840b93df996f1886707",
      "parents": [
        "ce71a8583e8105e99770a76c318e9688a603d253",
        "9ea77cdba8c422940adb57a790b44ac04fe0353f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 24 17:15:49 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 24 17:15:50 2016 +0000"
      },
      "message": "Merge \"audioflinger: Pass pid of process creating track or opening record\" into nyc-dev"
    },
    {
      "commit": "9ea77cdba8c422940adb57a790b44ac04fe0353f",
      "tree": "1e7c588ce1add16e6991eaae918d38414b17d879",
      "parents": [
        "f0f4f1e494a80ce300a68cfce0e1dc627c09c29a"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Apr 06 17:07:48 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 24 00:48:20 2016 +0000"
      },
      "message": "audioflinger: Pass pid of process creating track or opening record\n\nAudioFlinger allocates a Client heap for each unique pid.\nIf two applications use mediaplayer APIs, the same Client heap\nis reused as the pid used is not the application pid but that\nof mediaserver. With this change, the pid of the application\npid is used to decide the heap to be used.\n\nBug: 23525542\nBug: 28772898\nChange-Id: I31a695b0b321eff6e2aca80c3bc4aeb3e1cd9ac7\n"
    },
    {
      "commit": "3e0d258a9679048349ba4a6d6184e844d3428e5f",
      "tree": "bb7c1a0cd718dab6d4d692128d78a954dd3156ad",
      "parents": [
        "11c83929c784ae7010c99cc659f5b9d029d2eec8",
        "7dd4ae63fe163287f06d00cc7756a9b7dd34bc25"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 24 00:38:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 00:38:35 2016 +0000"
      },
      "message": "Merge \"Camera: fix deadlock\" into nyc-dev\nam: 7dd4ae63fe\n\n* commit \u00277dd4ae63fe163287f06d00cc7756a9b7dd34bc25\u0027:\n  Camera: fix deadlock\n\nChange-Id: I4010f27b76dda670e7096aea722c73133e42685b\n"
    },
    {
      "commit": "07b745e166ee62030960ccea37e117caadf71c32",
      "tree": "a370227e0d195f58a4e7797d8a70933730970907",
      "parents": [
        "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 23 16:21:07 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 23 16:55:08 2016 -0700"
      },
      "message": "Add memory heap checks for mediaserver and audioserver\n\nMemory heap check updated and restored to mediaserver,\nadded as new option to audioserver.\n\nRequires properties to be set (example for audioserver):\n\n$ adb shell setprop libc.debug.malloc.program audioserver\n$ adb shell setprop libc.debug.malloc.options backtrace\u003d8\n$ adb shell pkill audioserver\n\n...\n\nand to dump:\n\n$ adb shell dumpsys media.audio_flinger -m\n\nBug: 28909124\nBug: 27500825\nChange-Id: Ifa8c2c02b022daf1a799ee4a1d75282a3c921763\n"
    },
    {
      "commit": "473fad9a5767e86ee9dbbffe0dfee10c7ad45a45",
      "tree": "4b3535073ff0be3700ff9f72c98f24426b30c8f6",
      "parents": [
        "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 23 15:54:41 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 23 15:54:41 2016 -0700"
      },
      "message": "Camera: fix deadlock\n\nDo not hold request lock while executing client callback.\n\nBug: 28821274\nChange-Id: Ibbdae7f892a54abd0b6d87d2295e9863983e1cf7\n"
    },
    {
      "commit": "57fc788e8c924823c9026f1239282d39433da821",
      "tree": "9db371e1a4f7018b8c9faca5b58470f9983bd920",
      "parents": [
        "de023ce5d812a80951431af014cf15b9b3efeb97",
        "13084621072ea2e4c34e2a9d79793c621d9bf005"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 19:28:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 17 19:28:29 2016 +0000"
      },
      "message": "audioflinger: fix invalidateTracks() on offload thread\nam: 1308462107\n\n* commit \u002713084621072ea2e4c34e2a9d79793c621d9bf005\u0027:\n  audioflinger: fix invalidateTracks() on offload thread\n\nChange-Id: Ib4f9306ababd292b71d4a5026bc157ef40e61120\n"
    },
    {
      "commit": "13084621072ea2e4c34e2a9d79793c621d9bf005",
      "tree": "c6675537ca5bc09afe40d9b03ad9c332b3bf1341",
      "parents": [
        "78d4d1e46c546a29ec86b98f4bfce71424c42213"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 10:51:49 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 10:51:49 2016 -0700"
      },
      "message": "audioflinger: fix invalidateTracks() on offload thread\n\nCommit 05317d29 introduced a regression causing a systematic flush\non offload output thread when invalidateTracks() is called even if\nno track is using the stream type specified.\n\nBug: 28786996\nChange-Id: Iee393ee8b1093c40647235bd35f4a6fa9b62937a\n"
    },
    {
      "commit": "64a253562a0521f5f0b3205dae98367102ebe532",
      "tree": "cbfc3d04d574cbb87a9f249a44a73ec1cb4bc8be",
      "parents": [
        "86c54273d035ff1ee6efab1a56766f883e1c98f7",
        "227a14be87e8c63eb7a464b857a1d29c86c90e7c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 11 22:22:14 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 11 22:22:14 2016 +0000"
      },
      "message": "Merge \"audioflinger: update multiplier logic to calculate frameCount\" into nyc-mr1-dev"
    },
    {
      "commit": "86c54273d035ff1ee6efab1a56766f883e1c98f7",
      "tree": "a2b08a8017f3680f0eb5b9d9c041c9b0c6313c2b",
      "parents": [
        "e3fe4ffa3522d0f23decc341efec12c0afb404e0",
        "f92b2175cd4a8d0fa9aca6e660ed4e85f6b7078b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 11 22:22:07 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 11 22:22:08 2016 +0000"
      },
      "message": "Merge \"audioflinger: Update throttling logic in MixerThread\" into nyc-mr1-dev"
    },
    {
      "commit": "8b43838c4872af3e9f47846e2618461af2d8d346",
      "tree": "9fabc6aa705760b8c4fc24ff73009ac3c41b323b",
      "parents": [
        "4fa4c691b01a9f64164a38711eedc0b317ab11d3",
        "e93cc03da360a1a0d2ad937c745ce8c8e8be81c2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 11 22:03:33 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 11 22:03:33 2016 +0000"
      },
      "message": "Merge \"audioflinger: various offload playback fixes\" into nyc-dev"
    },
    {
      "commit": "e93cc03da360a1a0d2ad937c745ce8c8e8be81c2",
      "tree": "9deae98570f41fdec272a863a2e84c7828af1a64",
      "parents": [
        "038ccfd6ff5a32d6f559e5b479d6f8e55d0b5133"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 05 10:15:10 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 11 11:38:01 2016 -0700"
      },
      "message": "audioflinger: various offload playback fixes\n\nRevert underrun sleep time optimization added for\noffload by commit 51716185 which can cause music to pause for a few\nseconds in some corner cases.\n\nAllow underruns in STOPPING_1 state to avoid dropping last buffer\nreceived by the AudioTrack callback after stop() is called by the\nclient.\n\nAllow interruption of thread loop sleep if a command is pending to\nspeed up track start sequence.\n\nDo not wait for a full AudioTrack buffer before writing to audio HAL\nwhen resuming playback or transitioning to next track.\n\nAlso moved log level for underruns in AudioSink from I to D to reduce\nspam on user builds.\n\nBug: 28545177\nBug: 27682362\nBug: 28347796\n\nChange-Id: I05b651b7878a2d2eedcac43cd669e32add171d40\n"
    },
    {
      "commit": "227a14be87e8c63eb7a464b857a1d29c86c90e7c",
      "tree": "2e9bee17db02b4daecaf088dd8b510d6e7355ec2",
      "parents": [
        "76fa63ccefbac3ca3e722bc9ba016101858c3cdd"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon May 09 12:45:48 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 10 16:12:05 2016 -0700"
      },
      "message": "audioflinger: update multiplier logic to calculate frameCount\n\nIf the value of the multiplier used in calculating\nmNormalFrameCount is odd, it is rounded off to a higher even value.\n\nThis results in an increase of mNormalFrameCount and thereby\nthe latency which is not expected.\n\nDo not prefer an even multiplier and let the value remain as is\neven if it is odd.\n\nBug: 25740205\n\nauthored-by: Satya Krishna Pindiproli\u003csatyak@codeaurora.org\u003e\n\nChange-Id: Ia60d87d01caef6f45998bffeafc3d6a24f7c7fb4\n"
    },
    {
      "commit": "f92b2175cd4a8d0fa9aca6e660ed4e85f6b7078b",
      "tree": "2077136ed6c73613f0e11dd8f79d2fd43f31f10a",
      "parents": [
        "76fa63ccefbac3ca3e722bc9ba016101858c3cdd"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon May 09 11:34:15 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 10 16:01:58 2016 -0700"
      },
      "message": "audioflinger: Update throttling logic in MixerThread\n\nThe throttling logic in MixerThread only keeps track of\ntime spent during sink write. However, on low tier\nAPs and with high sample rate tracks, it is possible\nthat time spent in mixing the tracks is significant.\nThis inturn leads to sink writes returning earlier than\nexpected kicking in (incorrectly) the throttling logic.\n\nTo fix this, update throttling logic to include\nthe time spent in mixing buffers along with the time\nspent in sink write.\n\nauthored-by: Dhananjay Kumar \u003cdhakumar@codeaurora.org\u003e\n\nBug: 28672515\nChange-Id: Iac4994c3084850bb93640c978b4a519db8d7951d\n"
    },
    {
      "commit": "855c20283de5eab6798c76ffd4ea86bd6754a7fb",
      "tree": "09304379297e065ddaf1cb3f0c64b123df6a3085",
      "parents": [
        "98268270da9e728f706d4d44260950dc5d1ed6c4"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 10 13:39:25 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 10 13:39:25 2016 -0700"
      },
      "message": "Camera: fix recording stream update logic\n\nBug: 28695248\nChange-Id: I43d2d456cab84b378507979bad89c8c1f5b86b58\n"
    },
    {
      "commit": "6d7b119a416c9f10288051e562f294365e5d954c",
      "tree": "734bff32a20de4a97c24271b745795db3871cd0f",
      "parents": [
        "0b667e2f6f9e871e2fdc89100b8ef4cc623adec2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat May 07 22:59:48 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 09 11:42:57 2016 -0700"
      },
      "message": "Improve timestamp jitter fix\n\nUse last valid kernel timestamp on server side, not client side.\n\nBug: 28465713\nChange-Id: I33590d6922980f288355f947bc56279245058429\n"
    },
    {
      "commit": "0b667e2f6f9e871e2fdc89100b8ef4cc623adec2",
      "tree": "d83168c47191cf51eec6a38c0aad6d68c6a220c4",
      "parents": [
        "260ae76207ab15948113418e7ea05f1ca2dae71b",
        "a321469104536544d1cf0c0098d14bbf14186e88"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 06 20:34:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 06 20:34:02 2016 +0000"
      },
      "message": "Merge \"Dump local source, not remote\" into nyc-dev"
    },
    {
      "commit": "a321469104536544d1cf0c0098d14bbf14186e88",
      "tree": "83db847c1e933819826f00d9e6af227fab83a8e2",
      "parents": [
        "0277976e8118ac493440049affeb1fce1f08598e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 06 10:57:20 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 06 10:57:20 2016 -0700"
      },
      "message": "Dump local source, not remote\n\ndumpsys media.extractor was printing the remote source instead of starting at\nthe local source.\n\nBug: 22775369\nChange-Id: I5026218515bf7ceb8485005ed7d89638a9c1963b\n"
    },
    {
      "commit": "a605dafc27f69b37eca60579b34e97145f3caca3",
      "tree": "1a44f1facc858ba5a98b128ccbfac8aade369439",
      "parents": [
        "e0c4cfee5429d166abdeb95405f9dbe76615575b",
        "753466603a88f1ea3d966d17ab79256519553759"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 06 17:08:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 06 17:08:09 2016 +0000"
      },
      "message": "Merge \"audioflinger: extend max i/p channel to 8 channels\" into nyc-dev"
    },
    {
      "commit": "753466603a88f1ea3d966d17ab79256519553759",
      "tree": "42864de8966f6226ab648ef3c4faebac7dbecc70",
      "parents": [
        "5bdfad1a45a7d5fd03732c75768eef65975660dc"
      ],
      "author": {
        "name": "vivek mehta",
        "email": "mvivek@codeaurora.org",
        "time": "Wed May 04 18:45:46 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 05 18:12:34 2016 -0700"
      },
      "message": "audioflinger: extend max i/p channel to 8 channels\n\n- on open_input stream max channel check is for 2 (FCC_2),\n  extend this to 8 (FCC_8)\n\nBug: 27348418\n\nChange-Id: I0d7e5a101dee0a2effabc3637a1fb73e7ea78ffd\n"
    },
    {
      "commit": "823b18ef45f0593386d9d5d20fbf9a0379ad0ebb",
      "tree": "8245a31aac2dad65d346cad5ae6c25caca7e989f",
      "parents": [
        "375a9c03550cc1bdca9e2cca862d6e549530bac6",
        "3ea004dd80c06c5b366e1a2547ea9b28fffc1865"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 06 00:15:10 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 06 00:15:10 2016 +0000"
      },
      "message": "Merge \"Remove throttle logcat for bluetooth\" into nyc-dev"
    },
    {
      "commit": "3ea004dd80c06c5b366e1a2547ea9b28fffc1865",
      "tree": "85a859d737496e163cea22e688ab20bd28a6a106",
      "parents": [
        "26583ffe69a7601ad29e00094fe66ce795356fab"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 05 16:48:37 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 05 16:48:37 2016 -0700"
      },
      "message": "Remove throttle logcat for bluetooth\n\nDue to reduced buffer sizes for bluetooth it is possible to throttle\nregularly, do not logcat throttle for bluetooth to avoid spamming.\n\nBug: 28286313\nChange-Id: I9a572077a58c8e5cce3d5ac4de3cc6d97d94d7a0\n"
    },
    {
      "commit": "f15d88daa721d53921bfb7798dd12f7c74b44ac1",
      "tree": "3fd5d42e0824e62261de06d352475e41322b7544",
      "parents": [
        "0c43cb3a987351395badada9ee9384afb09d1c78",
        "4afbdecf8c6dc5ad04f6fa6c8712ce2c56a00c47"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed May 04 22:57:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 04 22:57:59 2016 +0000"
      },
      "message": "Merge \"Camera: update service to support HAL3.4\" into nyc-dev"
    },
    {
      "commit": "0c43cb3a987351395badada9ee9384afb09d1c78",
      "tree": "c63e6495574d86176020eb5680d39c428aff49b8",
      "parents": [
        "0277976e8118ac493440049affeb1fce1f08598e",
        "05317d29b27e5fda654bea21b80d4423a03f49b3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 04 22:55:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 04 22:55:48 2016 +0000"
      },
      "message": "Merge \"audioflinger: set flush pending on invalidating offload track\" into nyc-dev"
    },
    {
      "commit": "4afbdecf8c6dc5ad04f6fa6c8712ce2c56a00c47",
      "tree": "86b63273b28da8a766546c980186884ed5303867",
      "parents": [
        "d99b20af28220bcdb67d75691c7113d3f0514bea"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed May 04 15:42:51 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed May 04 22:46:50 2016 +0000"
      },
      "message": "Camera: update service to support HAL3.4\n\nWe need support HAL3.4 device in cameraservice.\n\nBug:28599474\nChange-Id: Ibad0249349335d78557820429439e71eceba259e\n"
    },
    {
      "commit": "05317d29b27e5fda654bea21b80d4423a03f49b3",
      "tree": "7b1a73073296e1496864a0f8546993c7b0908f2e",
      "parents": [
        "5bdfad1a45a7d5fd03732c75768eef65975660dc"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Tue May 03 16:34:26 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 04 21:34:35 2016 +0000"
      },
      "message": "audioflinger: set flush pending on invalidating offload track\n\nOn invalidating an offload track, the IAudioTrack instance is\ndestroyed and the offload output is released. If it so happens\nthat APM::getOutputForAttr for the new IAudioTrack is called before\nOffloadThread::prepareTracks_l checks and removes an invalid track,\nthe same output can get reused.\n\nThe side effect of this is data present in HAL and below from before the\ninvalidate will be rendered before data from the new seek position\nis rendered. This is unexpected.\n\nTo fix this, set hint to issue flush when an offload track is invalidated.\n\nBug: 28566885\nChange-Id: Ib6c38a3abb600598b87591bac90d03b7150d5216\n"
    },
    {
      "commit": "9e23567ed02c30bb390ffe56b25f59b626cd9eab",
      "tree": "43d66f53f3994f913509a57757cd344a42ea378c",
      "parents": [
        "5bdfad1a45a7d5fd03732c75768eef65975660dc",
        "2d13b1d3eeaba31d8c15acc6037fd68b150a9a66"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon May 02 18:24:52 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 02 18:24:55 2016 +0000"
      },
      "message": "Merge \"Camera: Fix passing video native handle for 64-bit app\" into nyc-dev"
    },
    {
      "commit": "2d13b1d3eeaba31d8c15acc6037fd68b150a9a66",
      "tree": "697328a5049f2f91ff6cf30a7ae7ae7bf5adc1b0",
      "parents": [
        "c5e8b6b792abd029e3f7fedf0ca2f705d6c8d222"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Apr 28 12:11:20 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 29 17:27:30 2016 -0700"
      },
      "message": "Camera: Fix passing video native handle for 64-bit app\n\nAdd new binder calls to pass video native handle so the video native\nhandle can be passed between 32-bit and 64-bit processes.\n\nRemove problematic code that used IMemory to pass video native\nhandle because the sizes of VideoNativeMetadata are different in\n32-bit and 64-bit processes.\n\nBug: 28403412\nChange-Id: I3341b1812ecc41d61846bb72ca926ecb1674c9ec\n"
    },
    {
      "commit": "d0389b874d592b960bdc456c2514a36b082c2c94",
      "tree": "ee34a08571fcbd657040c8f9b7f90deb34adb6c4",
      "parents": [
        "dc2c50bad491d2c0c8a2efc0e24491076701c63c",
        "ea38ee7742e799b23bd8675f5801ef72f94de0f4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 29 14:25:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 29 14:25:44 2016 +0000"
      },
      "message": "Merge \"Can now indicate the desired number of notifications (sub-buffers)\" into nyc-dev"
    },
    {
      "commit": "ea38ee7742e799b23bd8675f5801ef72f94de0f4",
      "tree": "49a00a228e6304a36d19ff4126293c8fce16ff73",
      "parents": [
        "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 18 11:08:01 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 28 16:36:22 2016 -0700"
      },
      "message": "Can now indicate the desired number of notifications (sub-buffers)\n\nper fast track buffer when using the default buffer size.\n\nThere is no change for normal tracks, or fast tracks with a non-default buffer size.\n\nAlso fix related bugs:\nNotification period was not set correctly when fast multiplier is not 1.\nIncorrect warning when client adjusted notification frames.\n\nBug: 27819623\nBug: 28117362\nChange-Id: Ifc2121e874f51718cd56ec04e4bd5f89f4963132\n"
    },
    {
      "commit": "dc2c50bad491d2c0c8a2efc0e24491076701c63c",
      "tree": "b1b2eead0896ffa4b095bee9fb0a00c8cc8d5944",
      "parents": [
        "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 21 08:13:14 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 28 15:17:09 2016 -0700"
      },
      "message": "Make max fast tracks configurable using a property\n\nro.audio.max_fast_tracks\n\nRename the currently configured maximum number of fast tracks\nfrom FastMixerState::kMaxFastTracks to FastMixerState::sMaxFastTracks.\n\nThere is no guarantee that the CPU will be able to handle\nthe configured number of fast tracks.\n\nBug: 27564141\nChange-Id: If9af226d839b226503488c3cb20a4bb8950b429d\n"
    },
    {
      "commit": "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933",
      "tree": "64597a37b1444dcaef712e6fe6de1107b829baa9",
      "parents": [
        "c5e8b6b792abd029e3f7fedf0ca2f705d6c8d222",
        "58f3e5541361cb04d64b8ad6a676ad0d77a4ee57"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Apr 28 09:34:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 28 09:34:57 2016 +0000"
      },
      "message": "Merge \"Move system services into correct cpusets.\" into nyc-dev"
    },
    {
      "commit": "40601964e1f8966d90c31b0c389dfab6a515bd50",
      "tree": "247485dc0050db48282d46acc4ad8dc836abc993",
      "parents": [
        "64cc92884966864b7a08e0eac74be108edf883da",
        "3003807fcfa96c9cbfea18d643f47108aa116cd5"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 27 05:21:47 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 27 05:21:49 2016 +0000"
      },
      "message": "Merge \"Remove MediaDrm stack from mediaserver\" into nyc-dev"
    },
    {
      "commit": "3003807fcfa96c9cbfea18d643f47108aa116cd5",
      "tree": "a3f7b454cdf3973b6fd716ee44f4295e6c100bb5",
      "parents": [
        "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 25 13:41:35 2016 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 26 20:46:17 2016 -0700"
      },
      "message": "Remove MediaDrm stack from mediaserver\n\nPart of media security hardening\n\nMediaDrm was temporarily allowed to\nrun in either mediaserver or mediadrmserver\nwhile all nexus devices were implementing\nsupport for the native_handle representation\nof secure buffers.  Now that all nexus\ndevices support native_handle, the MediaDrm\nstack can be removed from mediaserver.\n\nb/22990512\n\nChange-Id: Ie5d83bfeb4c4a824e1d0edb4c9452c782d6fd386\n"
    },
    {
      "commit": "c1e0154940f84014967f9f611d22ad85a01be7cb",
      "tree": "28ad2914f349566cb32eee5ee3d822bf2d9780ec",
      "parents": [
        "bb6ac1823f7a3d74fbfac841dc74da556f05d2e7",
        "c9ca6788c65ed3f578d1a1ed0ba7c268254dcb4b"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Apr 27 00:32:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 27 00:32:33 2016 +0000"
      },
      "message": "Merge \"Camera: Use separate lock for mStreamingRequestId\" into nyc-dev"
    },
    {
      "commit": "bb6ac1823f7a3d74fbfac841dc74da556f05d2e7",
      "tree": "27a0043cfb5f5e37fc0a81ee65c5e141e1bfa55c",
      "parents": [
        "89b3068ff2819c37db5a3af280f927183fe56849",
        "34713c04b5e1a897b0fd905a89622059a787f7a7"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Apr 27 00:16:13 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 27 00:16:13 2016 +0000"
      },
      "message": "Merge \"Camera: Do not signal AutoConditionLock if acquisition times out\" into nyc-dev"
    },
    {
      "commit": "89b3068ff2819c37db5a3af280f927183fe56849",
      "tree": "550eb7cf79d0f0671e1c94ba9328e7a527312e08",
      "parents": [
        "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd",
        "0f6778e333a0ee3750135e02c259f49382a6896a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Apr 26 21:49:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 26 21:49:40 2016 +0000"
      },
      "message": "Merge \"Camera3: For HFR, make priority elevation request synchronous\" into nyc-dev"
    },
    {
      "commit": "c9ca6788c65ed3f578d1a1ed0ba7c268254dcb4b",
      "tree": "b7a4981b001064d8bb4870e4ab6dd6a923dcf124",
      "parents": [
        "34713c04b5e1a897b0fd905a89622059a787f7a7"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 26 13:40:31 2016 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 26 14:18:53 2016 -0700"
      },
      "message": "Camera: Use separate lock for mStreamingRequestId\n\nThere are cases where evictClientIdByRemote holds\nmBinderSerializationLock and waits for mRequestLock, and at the same\ntime checkAndStopRepeatingRequest holds mRequestLock and waits for\nmBinderSerializationLock, causing deadlock.\n\nSolution is to use separate lock to protect mStreamingRequestId.\n\nBug: 28295136\nChange-Id: I40f8e1ded29abde86bc12b20dd119f9f3371ebb2\n"
    },
    {
      "commit": "34713c04b5e1a897b0fd905a89622059a787f7a7",
      "tree": "d685b643dc64dc3958edf4bbc2fab53c2ec2e6f0",
      "parents": [
        "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 26 07:35:03 2016 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 26 14:18:47 2016 -0700"
      },
      "message": "Camera: Do not signal AutoConditionLock if acquisition times out\n\nIt\u0027s possible for AutoConditionLock to time out in waitAndAcquire\nwhile waiting for the condition. In this case, we don\u0027t want to\nreset the state because others may be holding the condition without\nlock.\n\nBug: 28295136\nChange-Id: Ife90232daef8fd0d31acf9e52cfbcf542987e3fa\n"
    },
    {
      "commit": "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd",
      "tree": "f9ca73d77e2af217c3436154d5be73ef5ddf06dd",
      "parents": [
        "1302f9ddd27c89f73cc7790d518f8fc88d89560c",
        "9b5a6e9a667f85adeddea787a9f609d9cde84ef4"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 26 17:29:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 26 17:30:00 2016 +0000"
      },
      "message": "Merge \"Camera: override external facing for API1 client\" into nyc-dev"
    },
    {
      "commit": "58f3e5541361cb04d64b8ad6a676ad0d77a4ee57",
      "tree": "c9141eb0d37fe71c38956b341840845e7d3a697c",
      "parents": [
        "d298fb880ba440793ce206e5f519d4f7c8c8bb54"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Apr 15 14:27:22 2016 +0200"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Tue Apr 26 08:48:12 2016 +0000"
      },
      "message": "Move system services into correct cpusets.\n\nTo foreground:\n- cameraserver\n- mediaserver\n- audioserver\n- mediacodec\n- drmserver\n- mediadrmserver\n- mediaextractor\n\nBug: 24949295\nChange-Id: I182e5cf6fa4b33d87a0a2f77b0b03fa8d76b8e27\n"
    },
    {
      "commit": "0f6778e333a0ee3750135e02c259f49382a6896a",
      "tree": "bc4326c1cca03ed6b934382acc8391ccbcf96be5",
      "parents": [
        "56f949b44a4c8d287c7f3028695eceb07ae41f54"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 25 16:57:04 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 25 16:57:04 2016 -0700"
      },
      "message": "Camera3: For HFR, make priority elevation request synchronous\n\nSince we only do this once per session, it has trivial overhead,\nand it\u0027s important that any permission denials are actually properly\ndetected.\n\nBug: 28246165\nChange-Id: Id4c23db6e3b7ab5f7755b3f55ddd589cbdbde8af\n"
    },
    {
      "commit": "56f949b44a4c8d287c7f3028695eceb07ae41f54",
      "tree": "e07f4c4fe5b4051ff9e596ab4fc16af40409152d",
      "parents": [
        "35443e32bfe0960dc6a6564426054b104977b143",
        "3d1c478fc34824db4e68d50c12f283d6b55c272e"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 25 21:09:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 25 21:09:57 2016 +0000"
      },
      "message": "Merge changes I4588e7da,Ic4a70a1b into nyc-dev\n\n* changes:\n  Fix Emulator CTS tests for Camera, Location, Sensors, Telephony\n  Camera: Disconnect camera after checking flash unit\n"
    },
    {
      "commit": "3d1c478fc34824db4e68d50c12f283d6b55c272e",
      "tree": "ba0247abe2b56cc4275657278b4611c4c887c2c8",
      "parents": [
        "6dcc706b3b06eedcc8d24a3001543c3f49999d94"
      ],
      "author": {
        "name": "Jim Kaye",
        "email": "jameskaye@google.com",
        "time": "Tue Apr 12 17:24:46 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 25 13:36:05 2016 -0700"
      },
      "message": "Fix Emulator CTS tests for Camera, Location, Sensors, Telephony\n\nThis gets all the android.app.cts.SystemFeaturesTest tests to pass.\n\nIn addition to these changes, the AVD\u0027s config.ini must indicate\nan emulated front camera and no back camera.\n\nhttps://code.google.com/p/android/issues/detail?id\u003d205072\n\nBug: 28170202\n\nChange-Id: I4588e7daeea034847912e9044c44edf629336c35\n"
    },
    {
      "commit": "9b5a6e9a667f85adeddea787a9f609d9cde84ef4",
      "tree": "15ec9f725ecf26449621520d73a00fb66296f064",
      "parents": [
        "4178befd29da90abe0e2fd6f58b5caa1c225badd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Apr 22 13:24:05 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Apr 22 14:26:59 2016 -0700"
      },
      "message": "Camera: override external facing for API1 client\n\nBug: 28322515\nChange-Id: I6ecb4f27c98b2c5d509756e27259fa8afdd27631\n"
    },
    {
      "commit": "6dcc706b3b06eedcc8d24a3001543c3f49999d94",
      "tree": "aaf8ea0e9c52bb0adae94398d244f31f14d530f0",
      "parents": [
        "e8c535e833ed135895e99ca81aa3b85d80d7cf3c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 18 11:14:48 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 22 14:19:47 2016 -0700"
      },
      "message": "Camera: Disconnect camera after checking flash unit\n\nDisconnect camera device after opening it just to check if\nit has a flash unit. Leave it open if torch is being turned on.\n\nBug: 28170202\n\nChange-Id: Ic4a70a1b4be28625449ed52cbf6c5d214089adb7\n"
    },
    {
      "commit": "f3aaf48fe2ca7f9886f1e4d00db16c575e9a97c9",
      "tree": "22d2566b6c162e81f08efc2895ecbc0a5df25a82",
      "parents": [
        "7e52fc604bab7e401aa6a3473d94aa891d3808c8",
        "634b71478742310960f3fdb4241e70a0735712c4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 21 18:22:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 21 18:23:00 2016 +0000"
      },
      "message": "Merge \"audio policy: fix regression in getDeviceConnectionState().\" into nyc-dev"
    },
    {
      "commit": "7e52fc604bab7e401aa6a3473d94aa891d3808c8",
      "tree": "4d525e84d8dd7e116ce106cf8dea716640df5021",
      "parents": [
        "cc95bcf0fe6de6632fc38306efb0035d4e36423b",
        "d89821ec5481e0640d84bfe3e29a1254a52ca683"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Apr 21 18:16:52 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 21 18:16:52 2016 +0000"
      },
      "message": "Merge \"Camera: Add dumpsys --unreachable support\" into nyc-dev"
    },
    {
      "commit": "634b71478742310960f3fdb4241e70a0735712c4",
      "tree": "7a44f5a447a8b37db668b6b88b8d3a29d0e85c95",
      "parents": [
        "eb7f3940044effc6a8b313a73134b5cc2156068c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 20 13:48:02 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 20 16:45:57 2016 -0700"
      },
      "message": "audio policy: fix regression in getDeviceConnectionState().\n\nFix problem in DeviceVector() device search logic causing\nfailure to report connection of devices when no address is provided\n(e.g when called from AudioManager.isBluetoothA2dpOn()).\n\nBug: 28286051\nChange-Id: I7ca732e195d2ddcdc1a93b78aed21523b3461aa9\n"
    },
    {
      "commit": "d89821ec5481e0640d84bfe3e29a1254a52ca683",
      "tree": "763fe19cd50d918784cb965c037003684a3af50e",
      "parents": [
        "8111860ba116d84034b2aa21445feec71c65a9d4"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 20 11:23:50 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 20 11:48:13 2016 -0700"
      },
      "message": "Camera: Add dumpsys --unreachable support\n\nUse libmemunreachable to instrument camera service to detect\nnative memory leaks.\n\nWill detect any memory allocated through jemalloc; does not track\ngralloc or other special allocations.\n\nIt can be triggered with\ndumpsys media.camera --unreachable\n\nBug: 28295283\nChange-Id: Ib4e73e9d1a168b3cee4c56a9bf1aeb438591c799\n"
    },
    {
      "commit": "eb7f3940044effc6a8b313a73134b5cc2156068c",
      "tree": "729c3e4dc9f54cffd89d7a850017ab59510c716b",
      "parents": [
        "0631aee95c5a98fb2dc0a45f093f9bd0cfbe463f",
        "4a8308b11b92e608cdaf29f73f7919e75706f9a2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 19 23:55:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 23:55:16 2016 +0000"
      },
      "message": "Merge \"Add AudioSystem::getFrameCountHAL()\" into nyc-dev"
    },
    {
      "commit": "4a8308b11b92e608cdaf29f73f7919e75706f9a2",
      "tree": "2358eaecf7bb7beafd3341927c1621ac1a594ed3",
      "parents": [
        "88bd61e31184a72e34e5a8c2ae11d034e01845aa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 18 14:10:01 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 19 13:01:54 2016 -0700"
      },
      "message": "Add AudioSystem::getFrameCountHAL()\n\nAnd add comments about declaring methods in binder opcode order.\n\nBug: 28117362\nChange-Id: I3c4426fa4bb3ce9c4a207a44d3bb1103d7fef160\n"
    },
    {
      "commit": "0631aee95c5a98fb2dc0a45f093f9bd0cfbe463f",
      "tree": "90e669c0722b1172a96008c857ce366f182f6de9",
      "parents": [
        "8111860ba116d84034b2aa21445feec71c65a9d4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 19 10:48:57 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 19 10:48:57 2016 -0700"
      },
      "message": "fix the build\n\nFix the build for platforms using legacy audio_policy.conf file\nbroken by commit 5a2b6298.\n\nChange-Id: Icb9c8027b1a8163d19162f311ec1364da7383a2c\n"
    },
    {
      "commit": "8111860ba116d84034b2aa21445feec71c65a9d4",
      "tree": "43f4a7b699fb04a33bfe4797ecfc4894b0aae945",
      "parents": [
        "88bd61e31184a72e34e5a8c2ae11d034e01845aa",
        "5a2b62984c7cecd1761fe272c078dd814c167942"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 19 17:04:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 17:05:01 2016 +0000"
      },
      "message": "Merge \"audio policy: support platforms with no audio devices\" into nyc-dev"
    },
    {
      "commit": "88bd61e31184a72e34e5a8c2ae11d034e01845aa",
      "tree": "85dd8eee6a4fa6d3b305ecce72d1e3f614f6bf45",
      "parents": [
        "3f5eba440fa87637211f1d3b3f0061fc37065636",
        "d2e67e1ef59921101fd7b047e2acf84e5d16d66e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 19 14:55:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 14:55:28 2016 +0000"
      },
      "message": "Merge \"Reduce rollovers of unique ID generator\" into nyc-dev"
    },
    {
      "commit": "5a2b62984c7cecd1761fe272c078dd814c167942",
      "tree": "e93fb96c43df88df2f05f23cb1160ecd91aead7b",
      "parents": [
        "bc0c73e05ec935bc478ee0e40aee79f80771a482"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 14 18:05:57 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 18 18:35:02 2016 -0700"
      },
      "message": "audio policy: support platforms with no audio devices\n\nRemove requirement to declare an AUDIO_DEVICE_OUT_SPEAKER device\nfor platforms without audio output.\n\nBy convention:\n- platforms without audio output should declare a single output\ndevice of type AUDIO_DEVICE_OUT_STUB also declared as default\noutput device\n- platforms without audio input should declare a single input\ndevice of type AUDIO_DEVICE_IN_STUB\n\nPlatforms with no audio at all can use stub audio policy configuration\nfile and audio HAL with the following instructions in device.mk file:\n\nUSE_XML_AUDIO_POLICY_CONF :\u003d 1\nPRODUCT_PACKAGES +\u003d \\\n    audio.stub.default\nPRODUCT_COPY_FILES +\u003d \\\n    frameworks/av/services/audiopolicy/config/audio_policy_configuration_stub.xml:system/etc/audio_policy_configuration.xml\n\nBug: 25075342\nChange-Id: Id700978559427edd3c7cc38d98f2fd52928367ed\n"
    },
    {
      "commit": "3f5eba440fa87637211f1d3b3f0061fc37065636",
      "tree": "3942c954b5612e88c27a703559f4a42c28dda12e",
      "parents": [
        "4178befd29da90abe0e2fd6f58b5caa1c225badd",
        "6af1c1dc8954a555c6c6ef07d4f93e243d7f08cf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 19 00:09:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 00:09:31 2016 +0000"
      },
      "message": "Merge \"audio policy: modify ringone volume attenuation over headset.\" into nyc-dev"
    },
    {
      "commit": "d2e67e1ef59921101fd7b047e2acf84e5d16d66e",
      "tree": "72883cf95314261924d58d5f36e409eb3863b3eb",
      "parents": [
        "5cc32c5ee9caa11a3c9cd205c42463ead28ec87e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 11 08:26:37 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 18 11:14:10 2016 -0700"
      },
      "message": "Reduce rollovers of unique ID generator\n\nBug: 28119934\nChange-Id: I6c57d5555f6c5ddc4d4eee1e6f27fc4aaeb31c83\n"
    },
    {
      "commit": "5391b916bc5c55dbac80fe0963ea00e11faaac90",
      "tree": "b75416f29edf6b2d34210ee7dc61425d1a7b3b6d",
      "parents": [
        "2cfa562090dfce35e43cb787e5c1692475bb12a1",
        "d3926fe68ffd8d156e7c019277bbeb32ca786d8e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Apr 16 01:39:05 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 16 01:39:06 2016 +0000"
      },
      "message": "Merge \"audio policy: fix call volume regression\" into nyc-dev"
    },
    {
      "commit": "d3926fe68ffd8d156e7c019277bbeb32ca786d8e",
      "tree": "13d5e225da19d0096c845868c97049a843807780",
      "parents": [
        "bc0c73e05ec935bc478ee0e40aee79f80771a482"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 15 18:10:07 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 15 18:15:38 2016 -0700"
      },
      "message": "audio policy: fix call volume regression\n\nCommit 1fd372e4 caused a regression preventing to\nchange in call volume.\n\nBug: 28223472\nChange-Id: I31bd220ebdde1175c2f0a5ef1e874e86c6615ff8\n"
    },
    {
      "commit": "e8c535e833ed135895e99ca81aa3b85d80d7cf3c",
      "tree": "b0b0a255eda7c96bfffd3da79828d52c86372677",
      "parents": [
        "bc0c73e05ec935bc478ee0e40aee79f80771a482"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Apr 14 12:18:26 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 15 16:01:25 2016 -0700"
      },
      "message": "Camera: Stop repeating request if its output is abandoned\n\nStop repeating request if any of its output stream is abandoned.\nAdd a callback to notify the repeating request has been stopped\nwith frame number of the last frame.\n\nUpdate NDK with the new callback and behavior.\n\nBug: 21270879\n\nChange-Id: I3553775c7807a77104aa1650609480ca3321310c\n"
    },
    {
      "commit": "6af1c1dc8954a555c6c6ef07d4f93e243d7f08cf",
      "tree": "e2644f947c09eb3981f4a2c7ca4262f0df09ce77",
      "parents": [
        "8c808a220fc155cc7bbe94e43125f2a25a4441a5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 14 11:20:44 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 14 11:57:42 2016 -0700"
      },
      "message": "audio policy: modify ringone volume attenuation over headset.\n\nDo not limit ringtone volume over headseet when combined with speaker and\nno music is playing.\n\nbug: 26769982\n\nChange-Id: I5309bf0d672cca67c69a15b73ee2ef34a220d42a\n"
    },
    {
      "commit": "8c808a220fc155cc7bbe94e43125f2a25a4441a5",
      "tree": "a9aa5a72b216b3d21e4e6464f9d904e6850e172c",
      "parents": [
        "3a9696965b1e356d10807f8e653e85e8f235ff89",
        "c40d96943ddebd31578f30517457f88e6e894eb1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 14 17:26:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 14 17:26:17 2016 +0000"
      },
      "message": "Merge \"audio policy: fix dynamic audio policy device address forwarding\" into nyc-dev"
    },
    {
      "commit": "c40d96943ddebd31578f30517457f88e6e894eb1",
      "tree": "ef4f71da1ec55231323c705e5611179ceb70d9d0",
      "parents": [
        "aff4e460d4cf278909316412c17c042d7366178f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 13 19:14:13 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 13 19:14:13 2016 -0700"
      },
      "message": "audio policy: fix dynamic audio policy device address forwarding\n\nMake sure the device address is passed to audio HAL when opening\nthe output stream or changing device selection.\n\nThis is needed for dynamic audio policies with MIX_ROUTE_FLAG_RENDER.\n\nBug: 25448664\nChange-Id: Iff7f733f6cad54753b0b5b0166303e97ea24e284\n"
    },
    {
      "commit": "49e5375bf3c98c825538d30b6bea9f4e84f0c36f",
      "tree": "7a78f1236a5f9ffd18f08dff5d58f770750691a5",
      "parents": [
        "5b817c598754e0895ee43bd2f6a9954a25d8979a",
        "35fec5f61393124c9e13958941637b8fe386385e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 13 23:05:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 23:05:58 2016 +0000"
      },
      "message": "Merge \"Add memory leak detection to audioserver\" into nyc-dev"
    },
    {
      "commit": "35fec5f61393124c9e13958941637b8fe386385e",
      "tree": "fefde299821c796e53e4e87a924754f213d5850c",
      "parents": [
        "0c4a97e6e1470b2d8b8810792af8d66689020c51"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 13 14:21:48 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 13 14:38:00 2016 -0700"
      },
      "message": "Add memory leak detection to audioserver\n\nadb shell dumpsys media.audio_flinger --unreachable\n\n(userdebug and eng builds)\n\nBug: 28049120\nChange-Id: I72ac624bd5b5482aac44b9f3d8429f657f715cb4\n"
    },
    {
      "commit": "03aa02bda9bf1f38d8c6d9e6bfd8222ed18d3ff5",
      "tree": "6a42b16eada0b77ad45147a4bab6ca6fb79a2eb8",
      "parents": [
        "0c4a97e6e1470b2d8b8810792af8d66689020c51",
        "4c060997514cb37aec9a9a7cec02a3f257d3a74d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 13 20:33:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 20:33:50 2016 +0000"
      },
      "message": "Merge \"Camera: derive post RAW sensitivity keys for BC\" into nyc-dev"
    },
    {
      "commit": "4c060997514cb37aec9a9a7cec02a3f257d3a74d",
      "tree": "bb769eb0a9781077f4f09e0aa36cd1212fd1ff27",
      "parents": [
        "0115a8bff177dd8c4ca038423ee2efd36fbd58f1"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 11 17:40:12 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 13 12:44:21 2016 -0700"
      },
      "message": "Camera: derive post RAW sensitivity keys for BC\n\nDerive post RAW sensitivity keys for devices\nearlier than HAL3.4.\n\nBug: 27950762\nChange-Id: Icc2232cb722c61a5878a81706885303b15ddee3e\n"
    },
    {
      "commit": "8ae73129e7e79d826b293238c2f037f723d0e6e8",
      "tree": "a6a5acadaea37f33ccfc316ffd68483951106e29",
      "parents": [
        "aff4e460d4cf278909316412c17c042d7366178f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 10:13:29 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 17:47:57 2016 -0700"
      },
      "message": "audio policy: fix call audio over 24 bit USB device\n\nTake into account voice RX source device properties when\nconfiguring the audio patch bridging the voice RX device\nto the USB output device.\n\nBug: 25643110\n\nChange-Id: I06f282d3cc12493f21500bf9ab35a3ceb93f14af\n"
    },
    {
      "commit": "aff4e460d4cf278909316412c17c042d7366178f",
      "tree": "e1a9bb3c472434c5012eb4c491ca9be2f25990e3",
      "parents": [
        "bb969e7b2230b520a903b22fb6e89c3e14d38ad8",
        "e1e9846a786a0d77a13b44f8e798e03b4cba9d77"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 12 23:18:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 23:18:57 2016 +0000"
      },
      "message": "Merge \"AudioTrack: Reset position on flush for extended timestamps.\" into nyc-dev"
    },
    {
      "commit": "bb969e7b2230b520a903b22fb6e89c3e14d38ad8",
      "tree": "459a1b8cd30e067d651d19f9c7f2f918b3702368",
      "parents": [
        "b818309e1dc687e952b3151b71eecdf15ec92abf",
        "e02e932d2210bd513bb8283840bbe24b58d28620"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Apr 12 23:08:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 23:08:18 2016 +0000"
      },
      "message": "Merge \"Camera: Keep a list of outstanding buffers\" into nyc-dev"
    },
    {
      "commit": "e1e9846a786a0d77a13b44f8e798e03b4cba9d77",
      "tree": "57580c6e48c242f5338e6ed4e99f03cb2511824f",
      "parents": [
        "8a049c2f127f95715375d5ede39b2363b3a68329"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 12 10:18:51 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 12 14:57:36 2016 -0700"
      },
      "message": "AudioTrack: Reset position on flush for extended timestamps.\n\nBug: 27940058\nChange-Id: If91320669e2e84803e601137b1ce66b361b129f1\n"
    },
    {
      "commit": "e02e932d2210bd513bb8283840bbe24b58d28620",
      "tree": "1b8d710f8794cde2364a4ec03940390dc9f98770",
      "parents": [
        "c526e1ef36f8f0520a059c6cf304e12e86170c26"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 11 16:59:33 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Apr 12 14:09:04 2016 -0700"
      },
      "message": "Camera: Keep a list of outstanding buffers\n\nKeep a list of outstanding buffers in Camera3Stream so that\nit won\u0027t return invalid buffers or the same buffers twice back\nto the buffer queue.\n\nBug: 27894484\nChange-Id: I9f96629b4f531778433c2e1ec32a142f2040832b\n"
    },
    {
      "commit": "812acee2729a741ba7f6086388f4a0a868fbc077",
      "tree": "4ad868750aa7d9fca90c1215b9f2c543619bbaa8",
      "parents": [
        "82962895fab04ae7211074b1304ace84b280e068",
        "4ac9d8441da55d95a60e92725576e38d7cc6cb34"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 20:21:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 20:21:33 2016 +0000"
      },
      "message": "Merge \"audio policy: engine configurable: improve accessibility volume\" into nyc-dev"
    },
    {
      "commit": "82962895fab04ae7211074b1304ace84b280e068",
      "tree": "32a8354125901306860e7cbd92d167a32e576c2b",
      "parents": [
        "ba388ac4b1b009d3cc0e98be62df672ed7817ba7",
        "e358ea3f7c1e9fbe2fca10e3b32f2e824ba4004b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 20:21:24 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 20:21:24 2016 +0000"
      },
      "message": "Merge \"audio policy: engine configurable: change default in call routing for line out device\" into nyc-dev"
    },
    {
      "commit": "ba388ac4b1b009d3cc0e98be62df672ed7817ba7",
      "tree": "0f4afe5a2da6dc3ccf4b907a8c795d643d9b68ca",
      "parents": [
        "a49dd2a001debc1da76b510f8379c9deea6f0bce",
        "f4541b1d2342e08ee429b71627f1161812fc8d13"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 20:21:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 20:21:08 2016 +0000"
      },
      "message": "Merge \"Audio Policy: Engine Configurable: Force Encoded surround setting\" into nyc-dev"
    },
    {
      "commit": "4ac9d8441da55d95a60e92725576e38d7cc6cb34",
      "tree": "6de768e004fd3715fcfabb13c8dd6a206adc4b83",
      "parents": [
        "e358ea3f7c1e9fbe2fca10e3b32f2e824ba4004b"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Tue Apr 12 16:56:35 2016 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 12 10:18:00 2016 -0700"
      },
      "message": "audio policy: engine configurable: improve accessibility volume\n\nThis is the counter part patch of 28d09f06422841b4274d7fed6ad3441dc97382b2\nfor configurable engine verion based on the parameter framework.\n\nIt solves:\nregressions caused by the introduction of accessibility stream type and strategy in M.\n\n- change the way ACCESSIBILITY usage maps to a given strategy: always map\n to strategy ACCESSIBILITY but implement a specific device selection for\nstrategy ACCESSIBILITY in getDeviceForStrategy(). This makes sure that\n accessibility prompts always use ACCESSIBILITY stream type.\n\n- optimize getDeviceForStrategy() to avoid reloading the list of outputs\nand devices from the observer when called recursively.\n\n-  make sure that all volume APIs also take into account ACCESSIBILITY stream\nwhen called for MUSIC stream. Generalize the concept of matching strategies\nfor straqegies that should be considered equivalent for volume control.\n\nBug: 25067903\nBug: 25616373\n\nChange-Id: Ie674e6bfb5d1b25f71a9fd31cd2405c263b1732b\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    }
  ],
  "next": "e358ea3f7c1e9fbe2fca10e3b32f2e824ba4004b"
}
