)]}'
{
  "log": [
    {
      "commit": "f99d57eec148eb0c9f9cf43fbf5f6bf382d7ec4b",
      "tree": "029d429a84a37e1c7f33facb755a038e408478d6",
      "parents": [
        "83aaa0fb5e8859cfb26de71298dcc42e9622dc03",
        "a23408f74a4dd9502ca23a824acb280bdcf07738"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Sep 12 05:08:06 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 12 05:08:06 2015 +0000"
      },
      "message": "am a23408f7: am 24a9cb4e: am 5c0adc3e: Merge \"Workaround static fast track start-after-stop issue\" into mnc-dr-dev\n\n* commit \u0027a23408f74a4dd9502ca23a824acb280bdcf07738\u0027:\n  Workaround static fast track start-after-stop issue\n"
    },
    {
      "commit": "83aaa0fb5e8859cfb26de71298dcc42e9622dc03",
      "tree": "c6614cbd6724f5a19a407345c712d62f1ef5659a",
      "parents": [
        "2594a52b3e6a93e21f084ecdbca172dbf1c1310e",
        "f3bd13d94eb3971d3c280ddfa1c70b6d8db112c8"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Sat Sep 12 05:07:46 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 12 05:07:46 2015 +0000"
      },
      "message": "am f3bd13d9: am 56cb7c4f: am 014e91e4: Add DUMP permission check to ResourceManagerService.\n\n* commit \u0027f3bd13d94eb3971d3c280ddfa1c70b6d8db112c8\u0027:\n  Add DUMP permission check to ResourceManagerService.\n"
    },
    {
      "commit": "2594a52b3e6a93e21f084ecdbca172dbf1c1310e",
      "tree": "5a986a9cf2678c554d3e194d31687fe491cd41a7",
      "parents": [
        "409cfe09a03ba87bb8432ffd3276355b9f7a5734",
        "4d6ed30cb9fbcb63e29d347908a79de856dae7cd"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Sat Sep 12 02:57:19 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 12 02:57:19 2015 +0000"
      },
      "message": "am 4d6ed30c: am c6b1a54b: am fefa614f: Reduce DUMP permission denial output to one line.\n\n* commit \u00274d6ed30cb9fbcb63e29d347908a79de856dae7cd\u0027:\n  Reduce DUMP permission denial output to one line.\n"
    },
    {
      "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": "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": "c06f0ef67f02f88e01e2b2679e83c87628dbfc1a",
      "tree": "ab5e58f6145f75e9a823057f4001fd9209901831",
      "parents": [
        "74adefb32f6694d45416d11b5c3000b404e94506",
        "b7b97b9d897581b30f4bba78ec360474646c230a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 11 03:49:54 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 11 03:49:54 2015 +0000"
      },
      "message": "am b7b97b9d: am 48e879db: am a2ab4505: audio flinger: force audio path start from normal mixer\n\n* commit \u0027b7b97b9d897581b30f4bba78ec360474646c230a\u0027:\n  audio flinger: force audio path start from normal mixer\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": "38a1bf53f244617fdf7cc9c0c378966248651405",
      "tree": "33ab9299cd14e852d5d6212367d4cdccbe721359",
      "parents": [
        "1f7886d495246431d0d520adeefc903c694a2c18",
        "891cf088572de78ff8696d0aee5eb13d502ae665"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 09 21:59:34 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 09 21:59:34 2015 +0000"
      },
      "message": "am 891cf088: am f30fd800: Merge \"Revert \"Do not acknowledge flush() on start() for static tracks\"\" into mnc-dr-dev\n\n* commit \u0027891cf088572de78ff8696d0aee5eb13d502ae665\u0027:\n  Revert \"Do not acknowledge flush() on start() for static tracks\"\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": "1f7886d495246431d0d520adeefc903c694a2c18",
      "tree": "9bed7a2ed3c7b88cc4209f44a76bdc01e60fef12",
      "parents": [
        "b06a77e2968ec5cf5d116f7cd633afc1fe065ae6",
        "37f4f7182df96da3a396b8947d0707209a20016b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Sep 09 19:23:52 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 09 19:23:52 2015 +0000"
      },
      "message": "am 37f4f718: am a84bbe6b: CameraService: Add more systracing, fix module init order\n\n* commit \u002737f4f7182df96da3a396b8947d0707209a20016b\u0027:\n  CameraService: Add more systracing, fix module init order\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": "f87c2f5eb4e37f0950962e31b9ca49e32f5b0864",
      "tree": "ccfb48c882e1be213fb7db96d9016be40adadebf",
      "parents": [
        "1f04884c0f4d0eafe7ce8f09b0e5302ff3a86ea6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 21 08:03:57 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Sep 08 13:47:23 2015 -0700"
      },
      "message": "dumpsys was missing \"processing\" for format and frame size\n\nChange-Id: I6931b18a6a85bf0638d659e31bca5aa6c8cf62bf\n"
    },
    {
      "commit": "ba7690ca8e4aa4cc492b245a2e0c3f5bc66930b6",
      "tree": "53a188750f55a1de87935895a4b48fef0c54c0ec",
      "parents": [
        "becf7e2c04317c5165d4924a7d09f09ea6d74c49",
        "e619a2c4db6ea85a35bb22b79c35002ea08b298c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Sep 06 23:09:29 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 06 23:09:29 2015 +0000"
      },
      "message": "am e619a2c4: am c85dc054: Merge \"CameraService: Link to client binder death at end of connect\" into mnc-dr-dev\n\n* commit \u0027e619a2c4db6ea85a35bb22b79c35002ea08b298c\u0027:\n  CameraService: Link to client binder death at end of connect\n"
    },
    {
      "commit": "becf7e2c04317c5165d4924a7d09f09ea6d74c49",
      "tree": "69a8d0526afbb0a108c84a5785e7b34e22636687",
      "parents": [
        "8585cd530259cadfaee5190cb02adca90ca4f568",
        "3638924676a5228a1fa07ee626fbac27f65ac72c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Sun Sep 06 23:09:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 06 23:09:27 2015 +0000"
      },
      "message": "am 36389246: am 4abef9bf: Merge \"Camera3Device: Clean up next request batch variable\" into mnc-dr-dev\n\n* commit \u00273638924676a5228a1fa07ee626fbac27f65ac72c\u0027:\n  Camera3Device: Clean up next request batch variable\n"
    },
    {
      "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": "cc75adb4bd6685e64c73772eb9ab3c7c242ac381",
      "tree": "9514bedfa2e7f241ffc683dccdd115911b9393ec",
      "parents": [
        "30760f0d077b0e43e58c5711112b8635aff1d6f5",
        "f6c05e4b6becdffd6cd53747c01f545dfc6fee47"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Sep 04 14:28:03 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 04 14:28:03 2015 +0000"
      },
      "message": "am f6c05e4b: am 50d12164: Merge \"Camera3Device: Support batch requests\" into mnc-dr-dev\n\n* commit \u0027f6c05e4b6becdffd6cd53747c01f545dfc6fee47\u0027:\n  Camera3Device: Support batch requests\n"
    },
    {
      "commit": "30760f0d077b0e43e58c5711112b8635aff1d6f5",
      "tree": "838835d6a7460cdea9152caafc1e03f0012a43c1",
      "parents": [
        "a86fef32894a90811c2e175152763bc3994c769f",
        "1f7c24575b5f8f8633af2c69d7f5c1c36241d7ad"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 04 14:28:02 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 04 14:28:02 2015 +0000"
      },
      "message": "am 1f7c2457: am 52aad856: CameraService: Treat TOP_SLEEPING same as TOP for priority.\n\n* commit \u00271f7c24575b5f8f8633af2c69d7f5c1c36241d7ad\u0027:\n  CameraService: Treat TOP_SLEEPING same as TOP for priority.\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": "d7bd827f063501e9e7d38780e1306251fa49c1a8",
      "tree": "47073f4dcd92722c5c92e683cc3af7596afee5fe",
      "parents": [
        "c4b1a9e35dae2bd10bd80bddbf060ebd436f3427",
        "ac847aa69ce9f6821d7f2a01030a6a675f9ff0b4"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Sep 03 17:36:22 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 03 17:36:22 2015 +0000"
      },
      "message": "am ac847aa6: am ef782669: am fe751bea: Camera: Fix flashlight deadlock\n\n* commit \u0027ac847aa69ce9f6821d7f2a01030a6a675f9ff0b4\u0027:\n  Camera: Fix flashlight deadlock\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": "b367f5b2de343bfd9040028b00acb96567f30bea",
      "tree": "408d72afa38f8724576e3846002c86e778dd87c4",
      "parents": [
        "e3318f9492871e0a06e8a9d518239170c83a0369"
      ],
      "author": {
        "name": "Ravi Kumar Alamanda",
        "email": "ralama@codeaurora.org",
        "time": "Tue Aug 25 08:21:37 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 01 18:10:05 2015 -0700"
      },
      "message": "audiopolicy: do not update channelMask for voice input source\n\nIt\u0027s not needed to update the channel mask based on source because\nthe source is sent to audio HAL through set_parameters() and if source\nequal to VOICE_CALL does not mean that two channels need to capture.\nIf recorder app selects AMR as encoding format but source as RX+TX means\nboth RX and TX are captured in ONE channel. So use channels set by the app\nand use source for the type of capture (RX only, TX only, or RX+TX).\n\nBug: 23484531\n\nChange-Id: Iedf23318356480ba939fc06df4ae4f12906322b3\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": "3493c12cdbc529125e638fcf70f955c912188e43",
      "tree": "4231147329c6b2401da97384d16d7ed8a7121368",
      "parents": [
        "5e554c9e8681a39529fc6737f1193893eca9623c",
        "aaed3ceac553f552c98bb00571544334240a0159"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Aug 30 21:04:37 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Aug 30 21:04:37 2015 +0000"
      },
      "message": "am aaed3cea: am 5dc3d992: Merge \"Camera3Device: Don\\\u0027t hold mutex during HAL device close.\" into mnc-dr-dev\n\n* commit \u0027aaed3ceac553f552c98bb00571544334240a0159\u0027:\n  Camera3Device: Don\u0027t hold mutex during HAL device close.\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": "7458afe1c4e536ff035d5fc37ac9e43e15231040",
      "tree": "6d4ebe0915206c5461166e0e0039611130e8ff15",
      "parents": [
        "7989c6e1d4c132ad1863a20338c29fea5b1579cc",
        "61261d760b7604353ed8062c6ec11edeaf3b855a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 24 23:39:26 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 24 23:39:26 2015 +0000"
      },
      "message": "am 61261d76: am 9684cc15: Merge \"CameraService: Notify camera service proxy of device status\" into mnc-dr-dev\n\n* commit \u002761261d760b7604353ed8062c6ec11edeaf3b855a\u0027:\n  CameraService: Notify camera service proxy of device status\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": "7989c6e1d4c132ad1863a20338c29fea5b1579cc",
      "tree": "bcba15c19a7a0fdb700a2ae618e1308d3ba1d754",
      "parents": [
        "9bb2ae4a924cfd67803c75b7e360afb0ddf88e03"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 14 09:34:50 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 24 18:28:57 2015 +0000"
      },
      "message": "Do not acknowledge flush() on start() for static tracks\n\nBug: 22938515\nChange-Id: I1de653de169a3fbbaa693da6057897ea57772447\n"
    },
    {
      "commit": "ed926597544b0bb945fe6965d49b7612c09abc1e",
      "tree": "ab060bebb6f49c51e51ffd0e84fb64ce6f8aaa9c",
      "parents": [
        "d0d4fa0f0f62a8f860d99e906e5294f487d8cbf1",
        "da73b6c7474aaa5616f0214e238776f12717f32b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 24 16:46:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 24 16:46:52 2015 +0000"
      },
      "message": "Merge \"audioflinger: increase shared memory heap size\""
    },
    {
      "commit": "d0d4fa0f0f62a8f860d99e906e5294f487d8cbf1",
      "tree": "ae40ef7b0abdcc1ac43db9e546028baeb66a653d",
      "parents": [
        "e7ab63414c13e5d2f312e145bc3c784d570b8962",
        "125902529aed131abc00210c36dc9ff03d9e8120"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 24 16:46:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 24 16:46:12 2015 +0000"
      },
      "message": "Merge \"audio policy service: check registerClient() input parameter\""
    },
    {
      "commit": "125902529aed131abc00210c36dc9ff03d9e8120",
      "tree": "c5b994e805be0f4df0310f1daddfab5af04b3301",
      "parents": [
        "9a57d1cb51ef14a666eefb32b245dd47cf79844e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 21 18:40:20 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 24 08:31:02 2015 -0700"
      },
      "message": "audio policy service: check registerClient() input parameter\n\nBug: 21523339.\nChange-Id: I1d1ebd54fa7b20ae01d914bb216bf3dd24fc32cd\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": "da73b6c7474aaa5616f0214e238776f12717f32b",
      "tree": "23d1293f0bea6dfc85344639ed4fff3585753f0b",
      "parents": [
        "9a57d1cb51ef14a666eefb32b245dd47cf79844e"
      ],
      "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": "Fri Aug 21 17:40:02 2015 -0700"
      },
      "message": "audioflinger: increase shared memory heap size\n\nBug: 21093153.\nChange-Id: I389af11451b01ce49fdb8957e2f322ba1925a62e\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"
    },
    {
      "commit": "eff134a61a5dd081ee578628704a66dca24e0cf7",
      "tree": "f9c20cdd5b2fd292581f50246157d635f81616e4",
      "parents": [
        "4b33e0838fdb1b5e545449add02005916b512c99"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jul 17 15:22:01 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jul 17 15:33:46 2015 -0700"
      },
      "message": "Fix UAF error in CameraModule.\n\nBug: 22542551\nChange-Id: I2fe5791a6554a8e2f7fd94593d552d8af18257db\n"
    },
    {
      "commit": "b9f72ab0b0b7582e021d369e7179022f7be5b37d",
      "tree": "24fde008d3dc114ba463b95d1905b4e6c0d78f15",
      "parents": [
        "dd761ecee86cc24ac8774bf1f004ea29b1e0d3f7",
        "ca5e6143740299c877d69e97f7968cd04476d32c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 17 21:53:17 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 21:53:28 2015 +0000"
      },
      "message": "Merge \"AudioFlinger: fix repeated underruns for compressed audio\" into mnc-dev"
    },
    {
      "commit": "51d0b1d84dc1c095e68126257213f24f64ab3aa0",
      "tree": "ee4b7ce1d0cbaac20923833dcc6e454356b7e45d",
      "parents": [
        "dbd0f3c5e15e56c2d91ae1405fecf2279785ef00",
        "355d9c6b74cd22a88fc7d1c9ba2e928ba566c69e"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 17 21:10:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 21:10:50 2015 +0000"
      },
      "message": "Merge \"Camera2Client: handle slower jpeg stream sensor\" into mnc-dev"
    },
    {
      "commit": "ca5e6143740299c877d69e97f7968cd04476d32c",
      "tree": "50101b57406c5abce066ec90120d91d3dfd0152b",
      "parents": [
        "bc24bb8a552097e7975d0c16fad80158b542ba62"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 14 09:42:29 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 17 20:56:04 2015 +0000"
      },
      "message": "AudioFlinger: fix repeated underruns for compressed audio\n\nThe AudioFlinger kept pausing the audio when playing compressed AC3 or DTS.\nThis caused pause/resume loops that were hard to break out of.\n\nThe AudioFlinger was thinking that the compressed audio was PCM\nbecause the HAL was in PCM mode playing SPDIF data bursts.\nIt also thought that EAC3 was at 192000 Hz instead of 48000\nHz because the data bursts are played at a higher rate.\n\nThis CL adds more calls to the shim that separates the AudioFlinger.\nNow the AudioFlinger gets information about the HAL sample rate,\nchannel masks and format from the shim instead of calling the HAL directly.\n\nThe AudioFlinger now uses a different threshold for detecting\nunderruns when the audio is compressed.\n\nBug: 19938315\nBug: 20891646\nChange-Id: Ib16f539346d1c7a273ea4feb3d3afcc3dc60237d\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "37c8924c508a7c9b8bd3c8ce80fc005070531902",
      "tree": "0ed47e0ceb97bcdf6169e1189f0f555b6c2bd89c",
      "parents": [
        "495151d3f4c5f92f1d162efb32b636521c105df5"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Jul 15 12:23:48 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Jul 17 10:19:21 2015 -0700"
      },
      "message": "mediaresourcemanager: add pid to removeResource method\n\nBug: 22496209\nChange-Id: I73311573e8d1ac15fec668a9ef6e6af7a07a1d30\n"
    },
    {
      "commit": "48e5df72f8a7fdcf6278fc395376fbaf98444a43",
      "tree": "890ff786d667f8a2c9c06a95767cf070fced6d32",
      "parents": [
        "9febc8a664d25eaa699134682aa455ab4d7f62a2",
        "b25e3c87724b6147ed1da7c1d6617c39bfce2fbf"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 17 16:53:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 16:54:04 2015 +0000"
      },
      "message": "Merge \"Camera: Add hidden experimental tearDown method.\" into mnc-dev"
    },
    {
      "commit": "355d9c6b74cd22a88fc7d1c9ba2e928ba566c69e",
      "tree": "bc32a65fff0ded381544c769d66e694c284adfe8",
      "parents": [
        "11addc1d922efa0bf12e261481bba11024c7c7ab"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Feb 24 15:51:43 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jul 16 16:19:05 2015 -0700"
      },
      "message": "Camera2Client: handle slower jpeg stream sensor\n\nIf largest jpeg stream cannot sustain 30 FPS, don\u0027t\ncreate jpeg stream until takePicture is called and remove\nit after still capture is done.\nAlso, disable video snapshot for such sensors so video snapshot\nwon\u0027t slow down video recording.\n\nBug: 22231605\nChange-Id: I2b34d2537c224694ae10f2006b5a46be45a1b1a6\n"
    },
    {
      "commit": "b25e3c87724b6147ed1da7c1d6617c39bfce2fbf",
      "tree": "c0e95e487b2583b8ba87e2ce5505fb74dec9d2d8",
      "parents": [
        "1bc88814f530bf67e425cfb8cea0f2b8dce3c03f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 15 16:04:27 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 16 14:55:33 2015 -0700"
      },
      "message": "Camera: Add hidden experimental tearDown method.\n\nBug: 18949148\nChange-Id: Ie86ec7d1ec3db54e1154563b2339a208a935f849\n"
    },
    {
      "commit": "0489aa0a7a9930a155022cac97242eb7ec610cdc",
      "tree": "6ad1c1cdbd99bc13187660c06f00951d2f2d6970",
      "parents": [
        "1bc88814f530bf67e425cfb8cea0f2b8dce3c03f"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Wed Jun 24 17:29:40 2015 +0200"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jul 15 17:15:52 2015 -0700"
      },
      "message": "Update Policy PFW plugin makefile for PFW release 2.6.0\n\nThis patch updates the Policy PFW plugin with latest change within\nPFW. It makes use of the dynamic xmlserializer library and does not\nneed anymore to link against xmlserializer library dependencies.\n\nChange-Id: Ic7b912929a69d3906a34999c1ae25ddb9ac800e5\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n\nBug 246391\n"
    },
    {
      "commit": "51d12c26628ab37b0fd58e08b6905652f8763225",
      "tree": "029f764c339d4094243d1280856553a0d8fde145",
      "parents": [
        "710c8e9d3ebe9d3687c4cb0cfdae83e4dc7d628a",
        "05d89f1c6452b2fce0b9f1315240f8cace69a88d"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Jul 14 15:22:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 14 15:23:08 2015 +0000"
      },
      "message": "Merge \"mediaresourcemanager: handle the case when there\u0027s no client holding resource with the same type\" into mnc-dev"
    },
    {
      "commit": "05d89f1c6452b2fce0b9f1315240f8cace69a88d",
      "tree": "32ceb479a4e3f113bf8a08d564535cb4f09383b0",
      "parents": [
        "dfad5454e0caf46f8732f1415d3b9a76f2a1242e"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Jul 07 16:47:42 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Jul 13 15:18:12 2015 -0700"
      },
      "message": "mediaresourcemanager: handle the case when there\u0027s no client holding resource with the same type\n\nBug: 21171205\nChange-Id: Id4aa6ccc7ee7daba25fd295399235c5b463ccd83\n"
    },
    {
      "commit": "4b33e0838fdb1b5e545449add02005916b512c99",
      "tree": "e38ce9db4984ec035c05ffa7832e2bad50fe2bd2",
      "parents": [
        "9ad9e7471629f7b9061569a50555a1722047f38d",
        "0f0631eb55b1f0a7f4b62212b78a3faa0b49919b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 13 15:52:35 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 13 15:52:36 2015 +0000"
      },
      "message": "Merge \"audioflinger: flush HAL when transitioning to next direct track\" into mnc-dev"
    },
    {
      "commit": "7c1ec5f038e63a5eb8b04434577c25bc23f5f410",
      "tree": "f6b8feda43ba0bb6666171b57318ad3cea48a45e",
      "parents": [
        "54c0659b9efa72d11997c590c4d377c44789c7fd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 09 14:52:47 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 10 10:58:41 2015 -0700"
      },
      "message": "audio: several fixes in audio routing callbacks\n\n- audio policy:\nForce device change to ensure new audio patch creation\nupon first track activity on a given output.\nFix function device_distinguishes_on_address() which could mistake\nsome output device with remote submix input device.\n\n- audio flinger:\nReduce number of binder calls upon new client registration by only\nsending ioConfigChanged() callbacks to newly registered client.\nFix first patch after output thread creation not triggering an\nioConfigChanged() callback.\n\n-audio system:\nForce client registration upon routing callback installation to force\nnew ioConfigChanged() callback from audio flinger.\n\nBug: 22381136.\n\nChange-Id: Ieb0d9f92f563a40552eb31bc0499c8ac65f78ce4\n"
    },
    {
      "commit": "54c0659b9efa72d11997c590c4d377c44789c7fd",
      "tree": "7ae8b7967c68e0a0c5c973f660e75de4d22aa8cc",
      "parents": [
        "672d9ca1f0a35f3bda02ddfe81e0e10cebba99c3"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Wed Jul 08 09:46:05 2015 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 09 18:51:35 2015 +0000"
      },
      "message": "audio policy: session route: move SessionRoute to common\n\nMove the SessionRoute and SessionRouteMap inner class from policy\nmanager to common policy pillars as initiated by the refactor.\n\nThis code was added at teh wrong place by commit aa981194.\n\nBug: 22376521.\n\nChange-Id: I29aca21614e409c59aae4b7b14163552fb0bffb1\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "672d9ca1f0a35f3bda02ddfe81e0e10cebba99c3",
      "tree": "fef812972971cfbb49e9854d57abb71957cbf374",
      "parents": [
        "db7733ad21ce3369030746d7dcd6684334d6ce20",
        "9a7d922796c61353e30cea5878f41b921adc79b0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 09 18:51:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 09 18:51:14 2015 +0000"
      },
      "message": "Merge \"audio policy: add support for device combo with speaker safe\" into mnc-dev"
    },
    {
      "commit": "47f986637d7b4d63abe0ab9e1cf6eb23766c6669",
      "tree": "0b5a7b383a6104096a3be059b51df4e11ea9bb7c",
      "parents": [
        "065f6572752dca646b7d60df8e80b6d4ac159281",
        "90eea7631b07117e46ae8b84889a2baa3eee7aea"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jul 08 17:56:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 08 17:56:24 2015 +0000"
      },
      "message": "Merge \"AudioFlinger: reset frame position on standby\" into mnc-dev"
    },
    {
      "commit": "0f0631eb55b1f0a7f4b62212b78a3faa0b49919b",
      "tree": "0ccee662c252bcb9741f233e5bdc6e42278c3da5",
      "parents": [
        "065f6572752dca646b7d60df8e80b6d4ac159281"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 06 18:01:25 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 07 19:30:48 2015 -0700"
      },
      "message": "audioflinger: flush HAL when transitioning to next direct track\n\nSend flush command to the audio HAL when transtioning to\nnext track on direct output thread, even if both tracks are in the\nsame audio session.\n\nCommit 43b4dcc to fix issue 21145353 did only flush the HAL if the\naudio session was different for the new track because the logic was\ncopied from the offload thread.\n\nBug: 22019044.\nChange-Id: I89b217580023ed7449a58e9bf3dc068ce7a84487\n"
    },
    {
      "commit": "90eea7631b07117e46ae8b84889a2baa3eee7aea",
      "tree": "e31c07b33a68919b011a031f08eb785bba0c066d",
      "parents": [
        "29b7cec9a248828d2371bc8758d819308d0e84a4"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 06 16:24:14 2015 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 07 16:40:00 2015 -0700"
      },
      "message": "AudioFlinger: reset frame position on standby\n\nThe HAL does not reset the frame position on standby().\nBut applications expect the frame position to be reset.\nSo we subtract the position at standby from the current position.\n\nBug: 21724210\nBug: 21930805\nChange-Id: I0c4520ba1c6c06a580f45f6bafc8cf1d56969f07\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "9a7d922796c61353e30cea5878f41b921adc79b0",
      "tree": "a52b00294822963dd4f6d2d85b9b9d90a757e6fa",
      "parents": [
        "065f6572752dca646b7d60df8e80b6d4ac159281"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 02 15:30:23 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 07 14:07:37 2015 -0700"
      },
      "message": "audio policy: add support for device combo with speaker safe\n\ncombo devices with AUDIO_DEVICE_OUT_SPEAKER_SAFE were not\nsupported by audio policy manager causing selection\nof speaker+headphone when spekaer_safe+headphone would be\nthe right selection.\n\nBug: 21537010.\nChange-Id: I9865352559c9d32c6754ad3d2b84bddfe2dc8aac\n"
    },
    {
      "commit": "878b8f1a0128cf63617782e3073dffb212d0c8f1",
      "tree": "71045bbd8b8ebed4b5139ce6e4ef5bd490823b1b",
      "parents": [
        "637709460ea75e927a5802899d6547bca3b5e7be",
        "3450ba7879be6522ea46a56c5e66e5382f5dd5ba"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jul 07 19:31:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 19:31:53 2015 +0000"
      },
      "message": "Merge \"camera2: Fix native binder interface and add tests.\" into mnc-dev"
    },
    {
      "commit": "637709460ea75e927a5802899d6547bca3b5e7be",
      "tree": "f1b1552144d3a31cc948a35c94a461bbc197b404",
      "parents": [
        "a0169a073d88efefbfb35fa0ea8e94f7b31d7469",
        "944f843015c440837abb029356108a81b4095e53"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Jul 07 17:19:15 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 17:19:16 2015 +0000"
      },
      "message": "Merge \"CameraModule: fix getCameraInfo()\" into mnc-dev"
    },
    {
      "commit": "a0169a073d88efefbfb35fa0ea8e94f7b31d7469",
      "tree": "42240d72b6de6728a4bbe92f3ed8ddba338d5c02",
      "parents": [
        "e59c6a33e724579f4b8ac76586e6f667fa0b8572"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 06 18:32:01 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 06 18:32:01 2015 -0700"
      },
      "message": "audio: Do not delete PatchRecord before Peer is stopped\n\nPatchPanel::clearPatchConnections deletes PatchRecord before\nthe peer PatchTrack is stopped. This can cause an access to already\nfree\u0027ed memory leading to a crash in PatchTrack::getNextBuffer.\n\nFix is to delete PatchRecord and PatchTrack only after removing\nboth of them from active tracks list\n\nBug: 22304526.\nChange-Id: I7003756d3d2dd8912ce5e3b2fc31f5e82f455888\n"
    },
    {
      "commit": "3450ba7879be6522ea46a56c5e66e5382f5dd5ba",
      "tree": "201ed5e416af4f44012e6b5c7f2b16bd30cfc673",
      "parents": [
        "a3b3caaae3fc23b99c5c455ee429f79c270cfbae"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jun 16 11:00:37 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jul 06 17:49:44 2015 -0700"
      },
      "message": "camera2: Fix native binder interface and add tests.\n\n- Add CameraBinderTests for limited coverage of native\n  camera2 binder interfaces for the camera service.\n- Fix several bugs in the native binder interfaces.\n\nBug: 18468810\nChange-Id: Iab2d81a5cacd20daf7454aeeed033cc13d88452c\n"
    },
    {
      "commit": "944f843015c440837abb029356108a81b4095e53",
      "tree": "4e15fbdc1a32f75bd419e3fde5c3f897cd3789a6",
      "parents": [
        "f60b6b6c776a762827874f6f635c0577359a7ee4"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Jul 01 17:08:03 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jul 06 16:45:13 2015 -0700"
      },
      "message": "CameraModule: fix getCameraInfo()\n\nRemove mCameraCharacteristicsMap.\n\nCameraModule kept a CameraMetadata in mCameraCharacteristicsMap\nand kept its camera_metadata in mCameraInfoMap. When CameraMetadata\ngets moved in mCameraCharacteristicsMap, it may clone a new\ncamera_metadata and free the old one. So the original\ncamera_metadata stored in mCameraCharacteristicsMap becomes invalid.\n\nBug: 22171288\nChange-Id: Ia8e99fe42989946bc952ad23abb296aeac60da83\n"
    },
    {
      "commit": "e59c6a33e724579f4b8ac76586e6f667fa0b8572",
      "tree": "ca09f0bfe4856fa72b87085588719b9dd445fa88",
      "parents": [
        "75bd29fde03953952804215d1f24d8dffaeda763",
        "63dea1d5334acf3baa9448086dd504ead57d814b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 06 22:11:33 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 22:11:34 2015 +0000"
      },
      "message": "Merge \"audio policy: fix regression in incall notification management\" into mnc-dev"
    },
    {
      "commit": "75bd29fde03953952804215d1f24d8dffaeda763",
      "tree": "add5332453c6b6ab2896f7e323a8e077964494da",
      "parents": [
        "f60b6b6c776a762827874f6f635c0577359a7ee4",
        "b9d73333cce3f9da3a7a0b33589f6bbe0f992a92"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 06 21:48:31 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 21:48:32 2015 +0000"
      },
      "message": "Merge \"audio: add definitions for devices connected over IP\" into mnc-dev"
    },
    {
      "commit": "b9d73333cce3f9da3a7a0b33589f6bbe0f992a92",
      "tree": "960da701639ef27e3f2f41bbf6120b351380d99f",
      "parents": [
        "dfad5454e0caf46f8732f1415d3b9a76f2a1242e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 30 17:09:20 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 06 12:13:30 2015 -0700"
      },
      "message": "audio: add definitions for devices connected over IP\n\nBug: 22068684.\nChange-Id: Idde0eaf7121d2e43f32eee3e6b10e99d8cff4912\n"
    },
    {
      "commit": "f60b6b6c776a762827874f6f635c0577359a7ee4",
      "tree": "3eb0c3ebd27e46c40c082669e1633da4eee092e2",
      "parents": [
        "16f0c6b8146b2a993d9fe9c9076c73d39aaee81c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 06 10:53:26 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 06 10:53:26 2015 -0700"
      },
      "message": "Fix build warning\n\nChange-Id: I876edc37fb2093ee13c876c2af5c46512763154d\n"
    },
    {
      "commit": "16f0c6b8146b2a993d9fe9c9076c73d39aaee81c",
      "tree": "05c9ee447d47c6df958d40ad34b7e70190d8ec56",
      "parents": [
        "dfad5454e0caf46f8732f1415d3b9a76f2a1242e",
        "6631424f66253c4bad94618fa078c97715a65fbc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 06 17:48:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 17:48:30 2015 +0000"
      },
      "message": "Merge \"audiopolicy: Update flag enum tables for the new flags\" into mnc-dev"
    },
    {
      "commit": "63dea1d5334acf3baa9448086dd504ead57d814b",
      "tree": "850a50ae6a88d5aa6d86e82b90f9ad71c12945dd",
      "parents": [
        "dfad5454e0caf46f8732f1415d3b9a76f2a1242e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 02 17:10:28 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 02 17:15:58 2015 -0700"
      },
      "message": "audio policy: fix regression in incall notification management\n\nCommit 2110e04c introduced a regression preventing ongoing alarms to\nbe restored when exiting a call and leaving the replacement tone\nplaying for ever.\n\nAlso add missing management of accessibility prompts when entering a\ncall.\n\nBug: 21857005.\nChange-Id: I4295c791c003db42c0fba9f618e51f60438158d1\n"
    },
    {
      "commit": "6631424f66253c4bad94618fa078c97715a65fbc",
      "tree": "27fa96ce7558d33d73ef1a6829929d2ab523081a",
      "parents": [
        "b848dbb05b6a03dbe439298e6f9de7ce072c965f"
      ],
      "author": {
        "name": "Ravi Kumar Alamanda",
        "email": "ralama@codeaurora.org",
        "time": "Thu Jul 02 12:30:46 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 02 16:26:09 2015 -0700"
      },
      "message": "audiopolicy: Update flag enum tables for the new flags\n\nWithout an entry in sOutputFlagNameToEnumTable or sInputFlagNameToEnumTable,\na profile with specific output/input flag in the audio_policy.conf will\nnot be detected by AudioPolicyManager.\n\nBug: 19230391\n\nChange-Id: I94bb3594e2eb8b57747b474a253da3551263c59a\n"
    },
    {
      "commit": "ab5135b254c6f9aaac8edb816596f8823dbdb3d5",
      "tree": "493cfbff9b52250cea24491a330afc131e8d5dc6",
      "parents": [
        "29b7cec9a248828d2371bc8758d819308d0e84a4"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Jun 30 11:20:58 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Jun 30 11:20:58 2015 -0700"
      },
      "message": "Camera3-Device: Fix AE lock available\n\nPass whether AE lock is available when creating the request thread\nbecause when the request thread was created, its parent\u0027s info\nwas not set yet.\n\nBug: 20494782\nChange-Id: I11ed3f99c473955c437e81f3e1d704c15a9ca1a4\n"
    },
    {
      "commit": "6705edd4e58c4fcff0cbbff30bacffa561759ba8",
      "tree": "639d1686cdbb869e6eb673e597a874f838292693",
      "parents": [
        "064b2bf712788d30928b9a8bafecd0f3308d7aa4",
        "e8726fea8a53bf3474aa3c6deaf2f6c1f565e694"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jun 27 00:16:34 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 27 00:16:35 2015 +0000"
      },
      "message": "Merge \"reduce number of binder calls from mediaserver\" into mnc-dev"
    }
  ],
  "next": "e8726fea8a53bf3474aa3c6deaf2f6c1f565e694"
}
