)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "e8726fea8a53bf3474aa3c6deaf2f6c1f565e694",
      "tree": "d72b6ffcc7e33c178e3cac7c108b102041451cb6",
      "parents": [
        "ed8505836c0b2fba0ab4be0c1eff31d4f241bc1d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 26 09:39:24 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 26 12:38:13 2015 -0700"
      },
      "message": "reduce number of binder calls from mediaserver\n\nReduce the number of audio port, audio patch and\nIO config changed binder calls from mediaserver to\nclient processes:\n- Do not call IO config changed callback if selected\ndevice is the same as previously selected one on a given\naudio flinger playback or capture thread.\n- Do not call the audio port or audo patch list update\ncallback on a client if this client as no listener registered.\n\nBug: 22045560.\n\nChange-Id: If780e105404de79b7cb5c80c27b793ceb6b1c423\n"
    },
    {
      "commit": "cc750d3604b33a92374253b12dd739dc06440aad",
      "tree": "d2fb46dbd9994624d5da2dcd6141add90d79d562",
      "parents": [
        "ed8505836c0b2fba0ab4be0c1eff31d4f241bc1d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 25 11:48:20 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 25 11:48:20 2015 -0700"
      },
      "message": "audio policy: fix several device descriptor issues.\n\n- checkOutputsForDevice() should only clear device descriptor attributes\nif the device is digital.\n- checkInputsForDevice() did not clear device descriptor attributes at all.\n- AudioPort::clearCapabilities() and importAudioPort() should not\nmanage gains as these are device specific.\n- importAudioPort() should load a default port config.\n\nBug: 21990937.\nChange-Id: Ida762ed8f9baaabae392cb4291eff1a8d3009751\n"
    },
    {
      "commit": "ed8505836c0b2fba0ab4be0c1eff31d4f241bc1d",
      "tree": "504bc9d1a026036d269f4a351ef5c19225e0de72",
      "parents": [
        "76e06bedda1b759d806b8d13ab58c5b7fabc8a52",
        "d196d6165aa1ac0dd7c0ad6cc5ada3a2f8e4b49d"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Jun 24 23:03:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 23:03:15 2015 +0000"
      },
      "message": "Merge \"Camera3: Support AE precapture trigger CANCEL\" into mnc-dev"
    },
    {
      "commit": "d196d6165aa1ac0dd7c0ad6cc5ada3a2f8e4b49d",
      "tree": "14eecffaaf54b97b3146303021107970287a136f",
      "parents": [
        "fa907d4ee326c7bb9cbb4882ab7c0ec42bbceee3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jun 22 19:49:01 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Jun 24 15:42:16 2015 -0700"
      },
      "message": "Camera3: Support AE precapture trigger CANCEL\n\nSupport AE precapture trigger CANCEL for devices \u003c\u003d API\nversion 3.2.\n\nBug: 20494782\nChange-Id: I6003ba8057ca4ec9e8dfda47b8411ae6be913d22\n"
    },
    {
      "commit": "ec5d6f84d4d91602920e606e7683dee6d9d433f1",
      "tree": "f0ff0fd871a8fe2b8d5da005e41ffaa265a411ba",
      "parents": [
        "55a2dcce3a409393dc51ab2eb433914331f2df51",
        "a3b3caaae3fc23b99c5c455ee429f79c270cfbae"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jun 23 23:33:31 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 23:33:36 2015 +0000"
      },
      "message": "Merge \"Add default for pre-distortion active array.\" into mnc-dev"
    },
    {
      "commit": "55a2dcce3a409393dc51ab2eb433914331f2df51",
      "tree": "ce69e72bd8520a05807a88a64bb58d33b0dc7962",
      "parents": [
        "2b343b1b2dd9e4885ef2b7ec2f798215d714ab3a",
        "6c7f062d3149d6890daaee64828959ad6f61ea54"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Tue Jun 23 00:25:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 00:25:08 2015 +0000"
      },
      "message": "Merge \"Using centralized isAudioPlaybackRateValid to validate parameters\" into mnc-dev"
    },
    {
      "commit": "6c7f062d3149d6890daaee64828959ad6f61ea54",
      "tree": "dcab2e17178bf6d01ead75fad5df883961a6e195",
      "parents": [
        "fa907d4ee326c7bb9cbb4882ab7c0ec42bbceee3"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Apr 30 18:39:16 2015 -0700"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Mon Jun 22 16:08:40 2015 -0700"
      },
      "message": "Using centralized isAudioPlaybackRateValid to validate parameters\n\nCentralized validation code\nbug: 20701446\n\nChange-Id: I9d9941c7639c05b2afe069ff4f858c693c910bfe\n"
    },
    {
      "commit": "a3b3caaae3fc23b99c5c455ee429f79c270cfbae",
      "tree": "0e23fd4afb42e4b1aa48f73e5862c5358b539afa",
      "parents": [
        "99b38856e91a55bb67085dbabffac9739998fe8b"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jun 22 14:26:51 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jun 22 15:07:34 2015 -0700"
      },
      "message": "Add default for pre-distortion active array.\n\nBug: 20491394\nChange-Id: I53b0539b37cc7a042e6765c97775b8c2bbba7159\n"
    },
    {
      "commit": "42193b96b22782fce14c55314dfc269fb4a4ed22",
      "tree": "181361af67b8ba467038d96befcad57d207919dd",
      "parents": [
        "4d622375dc6c9d6b6b817cce598692ae491b2496",
        "60c545dfc4160a6d46febb9aa6684f6d300ec74d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 22 15:41:41 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 15:41:42 2015 +0000"
      },
      "message": "Merge \"Fix FastMixer high bit depth Hal support\" into mnc-dev"
    },
    {
      "commit": "ecf7bdb0c5a9914564f8a8c91ffc4bd24ebfb0ac",
      "tree": "11ba02303a494f8346b85b2db21549102422e2a1",
      "parents": [
        "9a92255484adef1ae82f4c77d654ad47997c0439",
        "48e6ea95dc23e1c84911f1f907403ac1729c6b78"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jun 20 00:48:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 20 00:48:08 2015 +0000"
      },
      "message": "Merge \"AudioFlinger: reset SPDIF encoder on flush\" into mnc-dev"
    },
    {
      "commit": "60c545dfc4160a6d46febb9aa6684f6d300ec74d",
      "tree": "a5a24b638cb8641e971909ba1a741e64bcaf098a",
      "parents": [
        "b36bc776545d9758f3bc9a853a5a0fd51280e9fb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 19 17:34:53 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 19 17:34:53 2015 -0700"
      },
      "message": "Fix FastMixer high bit depth Hal support\n\nBug: 21959591\nChange-Id: Ia3351ea5644b36852a1f0dad1314beac97d840e1\n"
    },
    {
      "commit": "48e6ea95dc23e1c84911f1f907403ac1729c6b78",
      "tree": "d02ec907f02e33d5cd6d9d870898d461557e3305",
      "parents": [
        "91b0018d658a509aacceddf9cde84afca591d014"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 18 15:37:08 2015 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 19 17:11:30 2015 -0700"
      },
      "message": "AudioFlinger: reset SPDIF encoder on flush\n\nThis may prevent corrupt data from reaching the AVR.\n\nBug: 19604395\nChange-Id: I3dbdd002326917b9f14dda46a3e5170e1ec799bb\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "eee9697a910c664d2721ef3fcf4e1fad4263466d",
      "tree": "f203edc88138caae47203b90583475ccb3e3b7bc",
      "parents": [
        "c764de34b37abb05f7ff25fa5f8d540505bb8645",
        "17338fca4a51dfb32c1291f94b65d4b4f30b682d"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Jun 19 17:41:54 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 17:41:55 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Fix high speed configuration\" into mnc-dev"
    },
    {
      "commit": "c764de34b37abb05f7ff25fa5f8d540505bb8645",
      "tree": "5fb91727adf409e6b0042209f5801cbdb9509221",
      "parents": [
        "47b1ca9cf7c45564887832bfdec21ccc18eb448e",
        "9080a4cd8c4e22ddae0350c0c51a20cea1a41016"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Fri Jun 19 17:36:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 17:36:55 2015 +0000"
      },
      "message": "Merge \"Fixing no rates, chans \u0026 encodings on input devices for device enum API. Filtering digital attributes for non-digital audio devices.\" into mnc-dev"
    },
    {
      "commit": "9080a4cd8c4e22ddae0350c0c51a20cea1a41016",
      "tree": "14b1ad41e864a8418d529faa9dbd832aa7426d23",
      "parents": [
        "3fc792fe36b0b9100f74185665221b37f650ff65"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Jun 18 08:24:02 2015 -0700"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Fri Jun 19 09:02:49 2015 -0700"
      },
      "message": "Fixing no rates, chans \u0026 encodings on input devices for device enum API.\nFiltering digital attributes for non-digital audio devices.\n\nBug: 21876072\n  21903975\n\nChange-Id: Ia5c81a8160f4b4ebf5941dd0c5dfb68d01699ca6\n"
    },
    {
      "commit": "ee140da3422212153f88357725f3fc614de5eb44",
      "tree": "b4f3e6bc623ef86ab509d5fc1c2c643a763baa65",
      "parents": [
        "f86e831ec0cbdce2d34c48fc567ad91a47099b70",
        "83ffcfb53b62489de9d2bd0b0277e879c3e57ab6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 19 15:57:19 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 15:57:20 2015 +0000"
      },
      "message": "Merge \"Fix clamp issue with AudioMixer with float input and int16 output\" into mnc-dev"
    },
    {
      "commit": "83ffcfb53b62489de9d2bd0b0277e879c3e57ab6",
      "tree": "8a4cae1ab38a419c70a18dbd6adc020d26f2110a",
      "parents": [
        "bd974011599b6d4ff47c1cee36d617f191dc0c2f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 17:34:40 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 17:49:04 2015 -0700"
      },
      "message": "Fix clamp issue with AudioMixer with float input and int16 output\n\nBug: 20706338\nChange-Id: I7e3ab0da96901870cc57fbe2e79163bc81157465\n"
    },
    {
      "commit": "17338fca4a51dfb32c1291f94b65d4b4f30b682d",
      "tree": "1f9e96d39548676dc852afb64e1488fc02a2ab15",
      "parents": [
        "3fc792fe36b0b9100f74185665221b37f650ff65"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jun 18 16:30:12 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jun 18 16:30:12 2015 -0700"
      },
      "message": "Camera3Device: Fix high speed configuration\n\nIf high speed mode changed, HAL needs to reconfigure the streams\neven when the stream configurations don\u0027t change.\n\nBug: 21900311\nChange-Id: I76aee456b3b6d8c8f599a1638dcd38d75553a235\n"
    },
    {
      "commit": "b36bc776545d9758f3bc9a853a5a0fd51280e9fb",
      "tree": "98033849f6268ab2bbc5e6e0e0796c1a01667d1f",
      "parents": [
        "91b0018d658a509aacceddf9cde84afca591d014",
        "40eb1a1f8871909c272e72afaf7d5af84fea2412"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 22:49:38 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 22:49:39 2015 +0000"
      },
      "message": "Merge \"Reduce log messages on AudioFlinger throttle\" into mnc-dev"
    },
    {
      "commit": "91b0018d658a509aacceddf9cde84afca591d014",
      "tree": "49fe3c6da48e1f110c308aed813ec235c0686e08",
      "parents": [
        "46d8eb1aa167c8811554cded6640cb6f153b5021",
        "0f17ab7f9fac4327a8772e9199f411af7df912a4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 18 22:10:17 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 22:10:23 2015 +0000"
      },
      "message": "Merge \"Bug fix on Engine Configurable\" into mnc-dev"
    },
    {
      "commit": "46d8eb1aa167c8811554cded6640cb6f153b5021",
      "tree": "a221e9da8efbc9bee2a372395bf4d824346784da",
      "parents": [
        "c675cf0fff3da75a92bc157e3bf698cc5a1f6eb3",
        "20f06f996337c9bf79d0b112083f6427a122ebab"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 18 22:10:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 22:10:07 2015 +0000"
      },
      "message": "Merge \"Add a configurable version of the policy engine based on PFW\" into mnc-dev"
    },
    {
      "commit": "40eb1a1f8871909c272e72afaf7d5af84fea2412",
      "tree": "93cd7cb7f509034600ea627568e2e25a159d3242",
      "parents": [
        "bd974011599b6d4ff47c1cee36d617f191dc0c2f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 13:42:02 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 13:43:51 2015 -0700"
      },
      "message": "Reduce log messages on AudioFlinger throttle\n\nBug: 21858740\nChange-Id: I8f291b64c1033867bb57ffceaa3b7d94aa998715\n"
    },
    {
      "commit": "fa907d4ee326c7bb9cbb4882ab7c0ec42bbceee3",
      "tree": "51f9abafbb46f41145e721449010232479dfa63a",
      "parents": [
        "3fc792fe36b0b9100f74185665221b37f650ff65",
        "e8d55a5d1f6b08cfdabea7628e956063a47fa160"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 18 18:47:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 18:47:56 2015 +0000"
      },
      "message": "Merge \"audiopolicy: Add AUDIO_OUTPUT_FLAG_TTS to flags enum table\" into mnc-dev"
    },
    {
      "commit": "0f17ab7f9fac4327a8772e9199f411af7df912a4",
      "tree": "05d9dcb97a6f76ce0c0a43520d81705eb3241c27",
      "parents": [
        "20f06f996337c9bf79d0b112083f6427a122ebab"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Wed May 13 18:13:00 2015 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 18 10:55:05 2015 -0700"
      },
      "message": "Bug fix on Engine Configurable\n\nThis patch fixes a couple of issue within audio policy engine configurable\n -valgrind error detected within the parsing of the configuration file\n -configuration file typos\n -start of the PFW delayed to the init in order to wait the full construction\nof the engine object\n -wrong specialization of template functions.\n -broadcast volume min / max init to stream collection of manager \u0026 PFW\n\nChange-Id: I08823ab4040c92b719747c60cc3fa5c8b5f172ac\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "20f06f996337c9bf79d0b112083f6427a122ebab",
      "tree": "ad50ded183a11ceef01566a2ff78c29e89f5c4e2",
      "parents": [
        "3fc792fe36b0b9100f74185665221b37f650ff65"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@intel.com",
        "time": "Tue Mar 24 09:01:14 2015 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 18 10:52:09 2015 -0700"
      },
      "message": "Add a configurable version of the policy engine based on PFW\n\nThis patch adds a configurable version of the policy engine\nbased on the parameter framework.\nThis configurable engine shall be activated with a flag\nUSE_CONFIGURABLE_AUDIO_POLICY within BoardConfig.mk\n\nThis patch provides the generic configuration as an example.\nThis configuration provides the same user experience as the default\npolicy engine.\n\n- Fix M Issue on configurable policy engine version.\n\n- Remove the \"empty static lib include trick\" hack\n\nThe code was using a hack to import headers only through an empty lib.\nThis trick was used not only by the PFW and its plugin but also internally\nwith policy.\n\nThis patch removes this hack and either links againts the real libraries if exist\nor point on the path of the header.\nHowever, since header directories are not recursively detected on Andoid, we need to manually\nadd all necessary libraries. (for example libicuuc needed by libxml2)\n\n- let the build system decide which compiler and which stl is to be used\n\n- Disable by default Audio Policy Settings XML file generation at compilation time\n\nIn order not to depend on python tool for the configurable policy example,\nthis patch adds the generated Settings XML file and disables the generation\nfrom .pfw files at compile time.\nIf the user wishes to regenerate it, he may use the pfw_rebuild_settings\noption.\n\n- Fix Clang issues within Configurable Audio Policy\n\nFix compilation issues revealed when switching to CLANG compiler\nwithin the configurable version of policy engine.\n\nChange-Id: I3edc26db94c0bf8a76430ab8081bae52e9193705\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@intel.com\u003e\n"
    },
    {
      "commit": "e8d55a5d1f6b08cfdabea7628e956063a47fa160",
      "tree": "99492747e87c407d80fe373ce6c2f02463e94fde",
      "parents": [
        "3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06"
      ],
      "author": {
        "name": "Ravi Kumar Alamanda",
        "email": "ralama@codeaurora.org",
        "time": "Wed Jun 17 19:05:43 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 18 10:36:29 2015 -0700"
      },
      "message": "audiopolicy: Add AUDIO_OUTPUT_FLAG_TTS to flags enum table\n\nWithout an entry in sOutputFlagNameToEnumTable, a profile with\nspecific output flag in the audio_policy.conf will not be\ndetected by AudioPolicyManager.\n\nChange-Id: Id242e6819aab1a67d72c564f3cc39af3de8e1ef7\n"
    },
    {
      "commit": "3fc792fe36b0b9100f74185665221b37f650ff65",
      "tree": "114160a4b99b0b203d94f4fbc463d9dc12acf4d7",
      "parents": [
        "3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06",
        "093a20cbe70d0033c085ef7be90b9f1bbacb3335"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 18 00:24:45 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 00:24:46 2015 +0000"
      },
      "message": "Merge \"audio policy: fix explicit routing and accessibility\" into mnc-dev"
    },
    {
      "commit": "0907d87dca62cd5bc12d26892c411b7140d148b0",
      "tree": "a940141ccc51b5b84028e0627bf747cda2e6f1f4",
      "parents": [
        "efabeff16f479924547136bb88ee295fea718183",
        "4c6afaf1053ecbfda6d95098e0f49772ecbcf2e1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jun 13 01:52:50 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 13 01:52:51 2015 +0000"
      },
      "message": "Merge \"Fix AudioRecord cleanup if construction fails\" into mnc-dev"
    },
    {
      "commit": "4c6afaf1053ecbfda6d95098e0f49772ecbcf2e1",
      "tree": "0b22dbafb75fc4c064b25f3b3f923cf39664ece2",
      "parents": [
        "ca097142ba4664858bc29bb538bcfcf5ea03ebe7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 12 18:23:35 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 12 18:23:35 2015 -0700"
      },
      "message": "Fix AudioRecord cleanup if construction fails\n\nBug: 11671194\nChange-Id: Id48350264f8b5ce53bf7ce2b308bf4ba21e59241\n"
    },
    {
      "commit": "f8f2f137cceebe3bee4ff3219bc75189a4eccc65",
      "tree": "3a9785eaa821fbd8f67235af6e27cc7329c08755",
      "parents": [
        "7bf8e1c28ba7ba6eb0c677d9ca749e4238fa43f4",
        "77a77f6ef6f04dba8caa54bda937cb276cace9ad"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jun 12 23:34:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 23:34:54 2015 +0000"
      },
      "message": "Merge \"Fix rounding width.\" into mnc-dev"
    },
    {
      "commit": "77a77f6ef6f04dba8caa54bda937cb276cace9ad",
      "tree": "9ecf4f8427cb33f78a5e4ad7effdfeda892fcaa4",
      "parents": [
        "f49b5150f87c98c389a334c3af5a9a586d40ee8f"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jun 12 16:15:35 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jun 12 16:18:20 2015 -0700"
      },
      "message": "Fix rounding width.\n\nBug: 19930700\nChange-Id: I9d5685bd98a049fcb01f6ecc649f15f3b4498e6d\n"
    },
    {
      "commit": "bd1c3e36767d08813b912028e69a8b7fed315ea2",
      "tree": "3f17b24476b5ddd1d82d2be38b7a0d1765a7e9a7",
      "parents": [
        "ad9ef61e770c0751a9983aa5c9844dfeb9ed665b",
        "439e4ed408c21bd65711d279bd5251cef7e83440"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 11 22:52:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 22:52:12 2015 +0000"
      },
      "message": "Merge \"audiopolicy: use deep buffer output by default for music streams\" into mnc-dev"
    },
    {
      "commit": "439e4ed408c21bd65711d279bd5251cef7e83440",
      "tree": "80c8eae9475b4e597f633251fdbac3f0c11eca17",
      "parents": [
        "ca097142ba4664858bc29bb538bcfcf5ea03ebe7"
      ],
      "author": {
        "name": "Ravi Kumar Alamanda",
        "email": "ralama@codeaurora.org",
        "time": "Fri Apr 03 12:13:21 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 11 15:46:26 2015 -0700"
      },
      "message": "audiopolicy: use deep buffer output by default for music streams\n\nDefault disabled. This is enabled by\n\nadb shell setprop audio.deep_buffer.media 1\n\nApplications that use AudioTrack java interface for audio rendering\ndefaults to primary output as flags indicated as FLAG_NONE. If the\nprimary output is low latency output, it results higher power\nconsumption than deep-buffer path if used.\nMake the deep buffer output as default option for music streams if\nflags are not specified.\n\nIt may also be used for testing audio glitches from heavy CPU\nor DRM which may cause issues with the FastMixer.\n\nBug: 21198655\nBug: 21785618\nChange-Id: I909c296ddcf4484b9a877ef1c0230ea58537e06a\n"
    },
    {
      "commit": "093a20cbe70d0033c085ef7be90b9f1bbacb3335",
      "tree": "1e4ecd5a5cfe13d30d3221070511d5f68c7d4a75",
      "parents": [
        "4599da7f4ca67a323aa64d84c1b79e3ce6ab9f41"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 11 12:33:29 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 11 12:33:29 2015 -0700"
      },
      "message": "audio policy: fix explicit routing and accessibility\n\nIf a session has an active explicit routing request, this routing\nmust also be applied to accessibility prompts if accessibility\nusage is currrently remapped to the strategy used by this session.\n\nBug: 20873151.\nChange-Id: I97c6ece98cf1af9c64c2d2eb1fe382c7c0d657b4\n"
    },
    {
      "commit": "ad9ef61e770c0751a9983aa5c9844dfeb9ed665b",
      "tree": "e8ab7db05298c171c55954e4dffbf9a99d59953c",
      "parents": [
        "cd644a3f7bd16b25a6fd202ce3eb8c7138572712",
        "43b4dcc660e6da96285e4672ae371070ab845401"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 11 18:22:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 18:22:44 2015 +0000"
      },
      "message": "Merge \"AudioFlinger: flush stream when switching tracks\" into mnc-dev"
    },
    {
      "commit": "43b4dcc660e6da96285e4672ae371070ab845401",
      "tree": "f03f4f3817afd22eb759962cde571029f312e1b6",
      "parents": [
        "afd492436efc7f66b958da14659b52232efa5910"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jun 09 16:53:44 2015 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 11 10:37:21 2015 -0700"
      },
      "message": "AudioFlinger: flush stream when switching tracks\n\nFor direct threads, when recycling a stream, perform a flush so\nthat the frame position is reset.\n\nBug: 21145353\nChange-Id: I08611cd64bb249a9659c44f9e4c47e7455f4838f\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "e1c3cf01a58e45ec3784a1e877e16ce9ef7f6d1c",
      "tree": "2989aeba964adddbfa7295d84ede80817b2ac4b7",
      "parents": [
        "6021de00076de9e358b3d557b58f79d7bb067ecd",
        "a20d4fa431d1091abf66f9d426ef0cf441db6623"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 10 00:47:39 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 00:47:39 2015 +0000"
      },
      "message": "Merge \"audio policy: route media to BT SCO in call\" into mnc-dev"
    },
    {
      "commit": "6021de00076de9e358b3d557b58f79d7bb067ecd",
      "tree": "b775945443d8b1bbb3ead9cc531240d326eb00da",
      "parents": [
        "416d4a8ad177a48bcb25aa3a32c4bdfaf6227014",
        "727d172137b4f32681c098de8e2623c0b65a6406"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 21:53:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 21:53:49 2015 +0000"
      },
      "message": "Merge \"CameraService: Add consumer name to output stream dumpsys\" into mnc-dev"
    },
    {
      "commit": "727d172137b4f32681c098de8e2623c0b65a6406",
      "tree": "8e7a403274d5a770ecd473d6ef66f3a5f32f45da",
      "parents": [
        "9a17941fa70e43119d2c3464bc00a3cd30b2bd14"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 13:44:19 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 14:52:26 2015 -0700"
      },
      "message": "CameraService: Add consumer name to output stream dumpsys\n\nAlso switch use of ANativeWindow to Surface, to get to the\ngetConsumerName() method where necessary.\n\nSurface can always be cast to ANativeWindow, but not the other way\naround, so it\u0027s a better option anyway.\n\nChange-Id: Ie5c2d30821c1a754f9e382699ff50b4b328288b3\n"
    },
    {
      "commit": "984591672a6f4096ee92c4a582d4c54ee6023c43",
      "tree": "9771e9ec381015d13234d32905176b7e8ffce6c8",
      "parents": [
        "4492b55354e3fa18330d389ced1daf1635fdde33",
        "9a17941fa70e43119d2c3464bc00a3cd30b2bd14"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 20:41:27 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 20:41:28 2015 +0000"
      },
      "message": "Merge \"Camera3Device: Default-initialize operating mode.\" into mnc-dev"
    },
    {
      "commit": "9a17941fa70e43119d2c3464bc00a3cd30b2bd14",
      "tree": "8403142aa383ae28e264118d69775636da6269eb",
      "parents": [
        "d46a6b9fd8b2a4f9098757384711e2cd03a91651"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 13:15:16 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 09 13:16:35 2015 -0700"
      },
      "message": "Camera3Device: Default-initialize operating mode.\n\nSince configureStreams is only called by CameraDeviceClient,\nthe operation mode could default-initialize to CONSTRAINED_HIGH_SPEED\nfor API1 operation.\n\nChange-Id: Ide71af07ca3925db8e450d00def1daeb44d8046a\n"
    },
    {
      "commit": "4492b55354e3fa18330d389ced1daf1635fdde33",
      "tree": "b002d566bf904b2e1da82f1a83e719631a106078",
      "parents": [
        "f028dad745f85066abc0229d61c0d837f40dc000",
        "e1635ec096d1110c33a5aa46847af59c261fb7fa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 09 18:40:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 18:40:26 2015 +0000"
      },
      "message": "Merge \"Take advantage of audio_channel_in_mask_from_count\" into mnc-dev"
    },
    {
      "commit": "e1635ec096d1110c33a5aa46847af59c261fb7fa",
      "tree": "440b1c8f000d3a7d6eebf92f48e49e9376fa3a5f",
      "parents": [
        "d16a8ef26fd1f7a86061c396c5865564af2f1abb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 08 15:46:49 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 09 08:56:37 2015 -0700"
      },
      "message": "Take advantage of audio_channel_in_mask_from_count\n\nBug: 21375533\nBug: 21721483\nChange-Id: I1ccd5d1d68a25f415dc4a62bf7a44d9db12a256b\n"
    },
    {
      "commit": "d46a6b9fd8b2a4f9098757384711e2cd03a91651",
      "tree": "6a292d7d4948ad40719925c82ee95945a6ccb99d",
      "parents": [
        "b4b4cd11c9b95af613f5c0f14f93e3c9590fda7c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu May 14 17:26:24 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 08 13:21:50 2015 -0700"
      },
      "message": "Camera1 API: Support SW encoders for new camera HALs\n\n- Support new set video format/dataspace command in camera service\n  - HALv3: Select gralloc usage flags based on format\n  - HALv1: Pass format command directly to HAL layer\n- Use format/dataspace command in CameraSource\n- Switch all API1 recording to use metadata mode\n- Switch all \u003e\u003d HALv2 API1 recording to use kMetadataBufferTypeANWBuffer\n\nBug: 13222807\nChange-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42\n"
    },
    {
      "commit": "72249d5b2f9f42a96c0e0825431e8f3f49b82644",
      "tree": "3eb37e6d1d550e7829d9a4957114c219102babde",
      "parents": [
        "d16a8ef26fd1f7a86061c396c5865564af2f1abb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 08 11:12:15 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 08 11:12:15 2015 -0700"
      },
      "message": "audio policy: fix very verbose log build.\n\nChange-Id: I94a69207059d8010ded14bce5d6e39c3f3074649\n"
    },
    {
      "commit": "a20d4fa431d1091abf66f9d426ef0cf441db6623",
      "tree": "71404014cc365b5d4640254f3f6ff907a20ccfcc",
      "parents": [
        "d16a8ef26fd1f7a86061c396c5865564af2f1abb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 04 18:39:28 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 08 10:27:58 2015 -0700"
      },
      "message": "audio policy: route media to BT SCO in call\n\nAllow media (and Navigation instructions) to be routed\nto BT SCO in call.\n\nBug: 18986190.\n\nChange-Id: I1fa4decfbf035623fdcc8681b53cbd61e1d5f933\n"
    },
    {
      "commit": "e3afb2cc438b76ae433c8c40ceabf0457ad7a678",
      "tree": "4410c41bb351d0b646e5d156a0e8fbd4cb69e533",
      "parents": [
        "afd492436efc7f66b958da14659b52232efa5910"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 03 16:03:30 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 05 17:19:39 2015 -0700"
      },
      "message": "Camera: Change error for app ops reject, propagate binder errors\n\nINVALID_OPERATION surfaces as an non-specific device-level error to\napplications in the onError callback. This is not a condition apps\ntargeting camera2 in L will generally have to deal with.\n\nInstead, return -EACCESS which maps to throwing\nCameraAccessException.CAMERA_DISABLED, same as disabling camera access\nwith DevicePolicyManager.\n\nThe old camera API converts any error code to -EACCESS at the JNI layer,\nso this doesn\u0027t change anything for the older API.\n\nAlso update the various native ICameraService binder connect calls to\ncheck for the transact error code, and return it if it is not OK.\nWithout this, PERMISSION_DENIED transact errors from the camera\nservice cannot be distinguished from CAMERA_DISABLED errors in\nsome codepaths.\n\nBug: 21604925\nChange-Id: Ifccc8989b8c20653429e2d3e51dba7abb2be9c35\n"
    },
    {
      "commit": "1fa8999c91d5df81949aa723000058380cd3faa2",
      "tree": "3ebf10fd408c34bc35108c24df5ccbd02e2153eb",
      "parents": [
        "4170eeec0a2dc2a9543b7e4674a43b3d2faac61d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jun 01 15:44:31 2015 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jun 03 20:22:06 2015 -0700"
      },
      "message": "Camera2: implement high speed video APIs\n\nBug: 21442271\nChange-Id: Ia0ae5bbd3e8c81bad293c29987301a2457817d12\n"
    },
    {
      "commit": "9cf332ca156132931da397bae94b89debb40de10",
      "tree": "151b5c652bcd2035d6cd65ec633933bd1634c30f",
      "parents": [
        "3f980665acd86698a2f8cfce65ab38a7270a5e97",
        "08fb1743f80437c38b4094070d851ea7f6d485e5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 20:30:00 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 20:31:03 2015 +0000"
      },
      "message": "Merge \"Throttle MixerThread data pull to no more than twice expected rate\" into mnc-dev"
    },
    {
      "commit": "08fb1743f80437c38b4094070d851ea7f6d485e5",
      "tree": "5c2c3d8a6401247415e5e106140afdea2113661f",
      "parents": [
        "0eafa9d8ee4069aa709ff85ceffe94d12995956d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun May 31 23:22:10 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 13:28:27 2015 -0700"
      },
      "message": "Throttle MixerThread data pull to no more than twice expected rate\n\nThis helps prevent underruns with NuPlayer and other applications\nwhich set up buffers that are close to minimum size or use deep\nbuffers, and rely on a double-buffering sleep strategy to fill.\n\nEnabled by default.  Disabled by setting af.thread.throttle 0\n\nBug: 19062223\nBug: 21198655\nChange-Id: Ia52b48e0c99588af5db53c43fede2afd775b8899\n"
    },
    {
      "commit": "40b26470dd29e44f1601ceb6e60948586a4d9f88",
      "tree": "bcb5f8f286fcd50bf36b69246e2e01e5e4a70197",
      "parents": [
        "de07e3743ef9c3dfe45864bf941b918147126500"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 02 14:42:49 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 02 14:42:49 2015 -0700"
      },
      "message": "Fix build\n\nChange-Id: I4d1e396d812b6a22087d35156633451d5c1c36bc\n"
    },
    {
      "commit": "de07e3743ef9c3dfe45864bf941b918147126500",
      "tree": "c71aad9e0ae06c24cfe53af452268705b8011503",
      "parents": [
        "0eafa9d8ee4069aa709ff85ceffe94d12995956d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 02 12:34:11 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 02 12:39:22 2015 -0700"
      },
      "message": "Allow capture by root for command-line native testing\n\nChange-Id: I3cafd70b7770c7e4b578d39a8d570572829f2c59\n"
    },
    {
      "commit": "20d09f3d9a82dc4ce51824025ef7a465f62086d0",
      "tree": "085ed7816a2e26ab82c463f20347952de4b37a61",
      "parents": [
        "054219874873b41f1c815552987c10465c34ba2b",
        "08945c44a97d3749cc48f860eb4e01e57183ad90"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 02 15:40:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 15:40:47 2015 +0000"
      },
      "message": "Merge \"Add property to control audio offload with video content\" into mnc-dev"
    },
    {
      "commit": "cb18ec05b7097a63262b81afe1e866105d400f4a",
      "tree": "4b13077360dfb54722298be1b793a8df5ddc6d7a",
      "parents": [
        "cc7cc67349b7a3f498882087aa42ffc05a2daf11",
        "99e69716215cd0665379bc90d708f2ea8689831d"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jun 02 01:48:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 01:48:23 2015 +0000"
      },
      "message": "Merge \"Track camera and flashlight usage in battery stats.\" into mnc-dev"
    },
    {
      "commit": "08945c44a97d3749cc48f860eb4e01e57183ad90",
      "tree": "d3603562eadffb7b44220575bd1267072dd52237",
      "parents": [
        "db431db53fbbb9024b6e72c528e2d195d63ad544"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun May 31 21:36:46 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 01 18:34:14 2015 -0700"
      },
      "message": "Add property to control audio offload with video content\n\nProperty audio.offload.video normally disabled (set to 1 to enable)\n\nBug: 21198655\nChange-Id: Ib1c457b1e3950f18d91b855424aa80bd23c723b0\n"
    },
    {
      "commit": "99e69716215cd0665379bc90d708f2ea8689831d",
      "tree": "d013b8e9273ea6032ddf24ba701eccb755b672bb",
      "parents": [
        "4a95e69406aa2e9896d865962d6d947ebbdac6fc"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue May 26 17:25:07 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jun 01 16:53:45 2015 -0700"
      },
      "message": "Track camera and flashlight usage in battery stats.\n\nBug: 15986092\n\nChange-Id: I9dc6828332e4091fd93bf2d82839e8e3862a2fc2\n"
    },
    {
      "commit": "f9a3dce5d44b1ba598cc6f6a2e80da36e44618f7",
      "tree": "7625b856ba1ca88906f92ee9c2d5bdb4cf007482",
      "parents": [
        "90869ff493a3e8d1aa39c146530be03dc2a7dd84",
        "c2adf48e2dfae0b2b5ddd9de9e7d79ca471bfd37"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jun 01 20:07:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 20:07:48 2015 +0000"
      },
      "message": "Merge \"Camera3: fix aborting reprocess requests\" into mnc-dev"
    },
    {
      "commit": "c2adf48e2dfae0b2b5ddd9de9e7d79ca471bfd37",
      "tree": "eb4d40202cabbd2d13d6bfc420a75339b2b1f882",
      "parents": [
        "db431db53fbbb9024b6e72c528e2d195d63ad544"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed May 27 14:27:49 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jun 01 11:18:05 2015 -0700"
      },
      "message": "Camera3: fix aborting reprocess requests\n\nGet an input buffer right after camera service takes one\nreprocess capture request from the request queue to prevent\nthe input buffers getting out of order.\n\nWhen aborting pending reprocess requests in the request queue, also\nabort the same amount of input buffers.\n\nBug: 21028914\nChange-Id: I7cfacecb4c24509f59c983abd587db5a403237bd\n"
    },
    {
      "commit": "e1f939bf0e1bac806b7da1b316e70c96426dc1b6",
      "tree": "915bde554563a4d65e978430bdfa0bf4e7ada350",
      "parents": [
        "76b1d55b69f0d1d36bb96ab0c206ef1eff715d82",
        "84d61caa6040e346df68dbe6f8e4fe339906de08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 29 22:16:20 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 22:16:20 2015 +0000"
      },
      "message": "Merge \"Add more device codes for symbolic display\" into mnc-dev"
    },
    {
      "commit": "76b1d55b69f0d1d36bb96ab0c206ef1eff715d82",
      "tree": "0755e0d33e740bf4c66c8ee852cc309857e3b39d",
      "parents": [
        "db431db53fbbb9024b6e72c528e2d195d63ad544",
        "d11da70f0e1d06ee6c7b2f83fcfb06257a1c90f2"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Fri May 29 01:28:47 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 01:28:48 2015 +0000"
      },
      "message": "Merge \"Fix for audio effects in offload path for mono content\" into mnc-dev"
    },
    {
      "commit": "fb683371379606bd3f41c880d83e33f8f3e445ac",
      "tree": "52316e06fbde21f7865264fd9cc99554ee6bd331",
      "parents": [
        "12129ccd0766ba6647ff8e2cc13f80c485d28a1f",
        "3e28a1a1dea11eada3a1c27b973301796032ae20"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 28 22:40:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 28 22:40:59 2015 +0000"
      },
      "message": "Merge \"Camera: derive LSC characteristics keys\" into mnc-dev"
    },
    {
      "commit": "3e28a1a1dea11eada3a1c27b973301796032ae20",
      "tree": "8e4272a1338fe9cab488c183da680a79d208b93b",
      "parents": [
        "2d6b6601743c3c6960c6511a2cb774ef902759f4"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri May 22 15:03:38 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 28 15:25:28 2015 -0700"
      },
      "message": "Camera: derive LSC characteristics keys\n\nAlso fix a typo in AWB lock available key.\n\nBug: 21403373\nBug: 20883751\nChange-Id: I5156f4fafcf4ae86f680fb618966c7cc58900120\n"
    },
    {
      "commit": "0ec23d3f89d804cc1d9dea8f0585dc6d57bfd5c2",
      "tree": "ce0acecdfdb3f8903acfcf8541944ed3676546ad",
      "parents": [
        "e74c228e83906e0e317c4eb6eac20815ff839c04"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu May 28 15:15:54 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu May 28 15:21:48 2015 -0700"
      },
      "message": "Camera3Device: Do not call cleanUpFailedRequest with mutex held\n\nDouble-acquiring a non-recursive mutex tends to work poorly.\n\nBug: 21498811\nChange-Id: I1d59959fca69c97684522195808019797f7a6a7d\n"
    },
    {
      "commit": "d11da70f0e1d06ee6c7b2f83fcfb06257a1c90f2",
      "tree": "3620c1269dd9a73cf533cbed5888459edbf87abf",
      "parents": [
        "70b2313318aaf245d185b6ddb188606608bdf7c9"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu May 28 12:14:12 2015 -0700"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu May 28 14:28:40 2015 -0700"
      },
      "message": "Fix for audio effects in offload path for mono content\n\nEffects path is always stereo, and it should be initialized as thus even\nif the source is mono. Fixed condition check before initialization.\n\nbug: 18157592\nChange-Id: Idd7241931e4ba6085fd804345128d898c8511e11\n"
    },
    {
      "commit": "e74c228e83906e0e317c4eb6eac20815ff839c04",
      "tree": "a54eb6dadada7fc4ca3fcd6013c2fc50315a8bac",
      "parents": [
        "ad9cb8b88e4f8face23f01d8dc89fa769dacb50f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed May 27 14:46:23 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed May 27 17:44:25 2015 -0700"
      },
      "message": "Camera3Device: Close hole in prepare in-use stream check\n\nThere\u0027s a narrow window in which a capture request is neither in the\nrequest queue or handed off to the HAL, which can be expanded to some\nsize if buffers have to be allocated.  During this window, the\nprepare() method will not correctly notice that a stream should be\nconsidered in use.\n\nAdd a member to contain the current request being processed, and check\nagainst it in prepare as well.\n\nChange-Id: I3a198d617f5feee0a3332af4b4439f24eda28ea3\n"
    },
    {
      "commit": "ad9cb8b88e4f8face23f01d8dc89fa769dacb50f",
      "tree": "bfa8ce6b4b9f6f00c6d2bcc639e482e80aa9cc0a",
      "parents": [
        "3ab77c1e93f3da5da0d18ff998f1bd6db19534f3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 26 16:38:19 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 27 17:59:12 2015 +0000"
      },
      "message": "audio flinger: add suffix to time variables names\n\nAdd suffix to clarify units for the following variables:\n standbyTime -\u003e mStandbyTimeNs\n standbyDelay -\u003e mStandbyDelayNs\n activeSleepTime -\u003e mActiveSleepTimeUs\n idleSleepTime -\u003e mIdleSleepTimeUs\n sleepTime -\u003e mSleepTimeUs\n\nChange-Id: I7f5d602c39e0ef3f6fe9ef99eaf1b351c7bd4fc3\n"
    },
    {
      "commit": "3ab77c1e93f3da5da0d18ff998f1bd6db19534f3",
      "tree": "62dd0ec770bc7e883083a5cb2f2c8ba5163c124f",
      "parents": [
        "5eabb0191ab25a45ae19575a7a443ba12bd1800a",
        "5cff403679fc44c8293de81aed31c459c6129243"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 27 17:58:00 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 17:58:00 2015 +0000"
      },
      "message": "Merge \"audio flinger: pause direct output when underrunning\" into mnc-dev"
    },
    {
      "commit": "84d61caa6040e346df68dbe6f8e4fe339906de08",
      "tree": "eaeda93ba5803d63e142caaee24624eb3741f793",
      "parents": [
        "92d824426e4621c2e8dfdd4e0f00d19c35d3c481"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 06 18:32:13 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 27 10:11:21 2015 -0700"
      },
      "message": "Add more device codes for symbolic display\n\nChange-Id: I08553f0e94d0a0931ccf98ee04f53686b96c8b03\n"
    },
    {
      "commit": "5cff403679fc44c8293de81aed31c459c6129243",
      "tree": "6461ccb9f276df2f1f37b2e29381fd564f2e5f26",
      "parents": [
        "4a95e69406aa2e9896d865962d6d947ebbdac6fc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 26 13:49:58 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 26 23:37:14 2015 +0000"
      },
      "message": "audio flinger: pause direct output when underrunning\n\nIf a direct output supports pause, pause the stream\ninstead of placing it into standby when the audio track\nunderruns. This will avoid resetting the presented frame count\nand preserve A/V sync.\n\nBug: 21437855.\n\nChange-Id: I598346edb62a1864126acdb1d9a937c82eac2191\n"
    },
    {
      "commit": "6374077319a2d060eefe5f4bf425aed37f90c5d0",
      "tree": "50ae6f691720ce4773b6a6757507ee286ba95205",
      "parents": [
        "3a9a6ea4e9f67c6a43f00ae3d980eb475e49deaf",
        "87ffa39d29d1803b48237888a9fbf3d5f2c60c21"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 19:23:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 22 19:24:07 2015 +0000"
      },
      "message": "Merge \"audio policy: add checks on primary output\" into mnc-dev"
    },
    {
      "commit": "d38f10d574de43c37b494b389872c7fb7bbe8828",
      "tree": "493df161d2dc5a2b075de1f91c1047a5c717028c",
      "parents": [
        "0a7989f5691f161fff97dd550eb602e44a6e6185",
        "7b56f2e1e9495915ad9dea9afdc13e9e5d5b7536"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 18:49:28 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 22 18:49:28 2015 +0000"
      },
      "message": "Merge \"sound trigger: fix abort event init.\" into mnc-dev"
    },
    {
      "commit": "7b56f2e1e9495915ad9dea9afdc13e9e5d5b7536",
      "tree": "57549b41a4d8bda27199346169dd27863d758b56",
      "parents": [
        "4a95e69406aa2e9896d865962d6d947ebbdac6fc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 11:39:53 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 11:39:53 2015 -0700"
      },
      "message": "sound trigger: fix abort event init.\n\nInitialize unused fields of recognition abort event\nto avoid argument type check exception in JNI.\n\nBug: 20951546.\nChange-Id: I65ed3284464bd9a32406b5305d562fa434abedce\n"
    },
    {
      "commit": "87ffa39d29d1803b48237888a9fbf3d5f2c60c21",
      "tree": "cf0a01c080d17853881d3f9f1d0b72391667c530",
      "parents": [
        "4a95e69406aa2e9896d865962d6d947ebbdac6fc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 10:32:38 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 10:32:38 2015 -0700"
      },
      "message": "audio policy: add checks on primary output\n\nCheck if primary output has been initialized before using it.\nThe primary output may not be initialized either due to HAL failure or\non devices without telephony.\n\nBug: 19573336.\nChange-Id: Id1fc3ed588268e1232b43d1e6235254d2f1a71d0\n"
    },
    {
      "commit": "aa4817489d0c68449769a888ca9507bd09648b01",
      "tree": "0b7081f51f0c64bc6f6fcfbd46ade0f3a07e2e00",
      "parents": [
        "748a792be85838c429ebf46acf7d6eb02e79f00b",
        "e09c994e7a3e73d5dbdc73d1f2d3556ec2203b0d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 21 22:33:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 21 22:33:46 2015 +0000"
      },
      "message": "Merge \"Improve volume input check for AudioMixer\" into mnc-dev"
    },
    {
      "commit": "e09c994e7a3e73d5dbdc73d1f2d3556ec2203b0d",
      "tree": "c064071eb6abe386343478b11ab86c5d85e41c75",
      "parents": [
        "523d08709ba4a0124eb2117907d79113fbe00cfb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 08 16:58:13 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 21 14:20:53 2015 -0700"
      },
      "message": "Improve volume input check for AudioMixer\n\nChange-Id: I5b656b123847529f2b76af2a68bd4e9b691882f4\n"
    },
    {
      "commit": "748a792be85838c429ebf46acf7d6eb02e79f00b",
      "tree": "5f9aa67825176080016baabc4cf844abd1e25ecb",
      "parents": [
        "2232aee25e4df7d04446912e8ad9e9dc44d8ec16",
        "72e3f39146fce4686bd96f11057c051bea376dfb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 21 16:12:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 21 16:12:37 2015 +0000"
      },
      "message": "Merge \"audio flinger: do not call JAVA services until system is ready\" into mnc-dev"
    },
    {
      "commit": "72e3f39146fce4686bd96f11057c051bea376dfb",
      "tree": "00e43a5392f717a49a3569de3a5bdce9aa7b6a6e",
      "parents": [
        "4a95e69406aa2e9896d865962d6d947ebbdac6fc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 20 14:43:50 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 20 17:35:37 2015 -0700"
      },
      "message": "audio flinger: do not call JAVA services until system is ready\n\nWait for system ready indication form AudioService before enabling\ncalls to scheduling service or power manager.\n\nBug: 11520969.\nChange-Id: I221927394f4a08fd86c9d457e55dd0e07949f0cf\n"
    },
    {
      "commit": "2232aee25e4df7d04446912e8ad9e9dc44d8ec16",
      "tree": "069b67ffba5507b89d75bc27a2c14ca0f625b6f9",
      "parents": [
        "523d08709ba4a0124eb2117907d79113fbe00cfb",
        "2823ce0ce6f9d508a07de20912c93cce9165027f"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed May 20 20:44:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 20:44:15 2015 +0000"
      },
      "message": "Merge \"camera: Add AIDL interface for CameraServiceProxy.\" into mnc-dev"
    },
    {
      "commit": "2823ce0ce6f9d508a07de20912c93cce9165027f",
      "tree": "8cba3b9c036b486e69578d13d8a76dcc77c5f7a7",
      "parents": [
        "6267b539d0d1ee7118aafd976d75cb8db397bc24"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue May 19 17:25:13 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed May 20 11:43:11 2015 -0700"
      },
      "message": "camera: Add AIDL interface for CameraServiceProxy.\n\n- Adds an AIDL interface to allow the proxy camera service\n  running in system server to accept RPCs from the camera\n  service running in mediaserver.\n- Request an update to the valid user set from the proxy\n  camera service when mediaserver restarts to initialize\n  properly + avoid DOS after a crash.\n\nBug: 21267484\n\nChange-Id: Ib821582794ddd1e3574b5dc6c79f7cb197b57f10\n"
    },
    {
      "commit": "523d08709ba4a0124eb2117907d79113fbe00cfb",
      "tree": "5f8873de093942daf8959242b32dab5778b960ad",
      "parents": [
        "fb2b8eaf0c4bf980605030f3c66b44a097fa7950",
        "861a628adbcbe7c3baa6eab1b765b87b480ff4a2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 20 00:48:45 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 00:48:46 2015 +0000"
      },
      "message": "Merge \"audio policy: fix direct output profile selection\" into mnc-dev"
    }
  ],
  "next": "fb2b8eaf0c4bf980605030f3c66b44a097fa7950"
}
