)]}'
{
  "log": [
    {
      "commit": "7e5c635114a7762ad44581300021667a0da97389",
      "tree": "9bf0f89add96547c4f2e9ed730589e6843b5b655",
      "parents": [
        "dae621c2c7f40f1587b97636975908e1374ade9a",
        "4513aa2cda9e636e4ac675dab9a1353b22e951ae"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Apr 24 09:02:28 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 24 09:02:28 2014 +0000"
      },
      "message": "am 4513aa2c: Merge \"AArch64: rewrite audioflinger\\\u0027s sinc resample by intrinsics.\"\n\n* commit \u00274513aa2cda9e636e4ac675dab9a1353b22e951ae\u0027:\n  AArch64: rewrite audioflinger\u0027s sinc resample by intrinsics.\n"
    },
    {
      "commit": "4513aa2cda9e636e4ac675dab9a1353b22e951ae",
      "tree": "546a77e6c051d4096a60295d7bb259d9c6e771bb",
      "parents": [
        "95006625bd1c562c952833bf08c52e7e6c524363",
        "12b44bd5fe3069cd3450d05b6c446b600e0553d3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Apr 23 23:45:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 23:45:27 2014 +0000"
      },
      "message": "Merge \"AArch64: rewrite audioflinger\u0027s sinc resample by intrinsics.\""
    },
    {
      "commit": "dae621c2c7f40f1587b97636975908e1374ade9a",
      "tree": "b13d0e77d9261bc6b408f5ea6554ba53cd2f19e9",
      "parents": [
        "474038aef32f47d080567e8519d916b069a4f707",
        "95006625bd1c562c952833bf08c52e7e6c524363"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 21 20:28:59 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 21 20:28:59 2014 +0000"
      },
      "message": "am 95006625: Merge \"camera: set mNeedConfig after creating ZSL stream\"\n\n* commit \u002795006625bd1c562c952833bf08c52e7e6c524363\u0027:\n  camera: set mNeedConfig after creating ZSL stream\n"
    },
    {
      "commit": "95006625bd1c562c952833bf08c52e7e6c524363",
      "tree": "d9899d5099e542a7a56895e6f8381fba7a41bdac",
      "parents": [
        "27158eb55de8150258faba6574fc51c7aa641516",
        "e5e3d0823165dea9211a47232dbbbe361153fb49"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 21 20:22:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 20:22:54 2014 +0000"
      },
      "message": "Merge \"camera: set mNeedConfig after creating ZSL stream\""
    },
    {
      "commit": "e80631aa1992ca50af679cd6a018c0ffda7f9b17",
      "tree": "6b3fcc9fbb5b02976e4bb2163e994952303bead5",
      "parents": [
        "d4a3cae8cc4cf924925ae57723e61c89f6c4fd51",
        "839d11d1f7be9dff2f06c7d30a9eb39cb6782078"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 22:35:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 22:35:00 2014 +0000"
      },
      "message": "am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027839d11d1f7be9dff2f06c7d30a9eb39cb6782078\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\n"
    },
    {
      "commit": "3ab368e0810d894dcbc0971350c095049478a055",
      "tree": "a50053c391da8c02797158395f2ecfec83218855",
      "parents": [
        "db43b34c3428e480f8c4c66e7e88f4001f37f91e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 14:55:53 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 14:57:31 2014 -0700"
      },
      "message": "media: use size_t for integer iterator to Vector::size()\n\nChange-Id: I0a744dc7815a86a993df9b0623440be620ec8903\n"
    },
    {
      "commit": "e5e3d0823165dea9211a47232dbbbe361153fb49",
      "tree": "cd6c0333bcfe5e3a87d00a9095e09c3ffaef62a4",
      "parents": [
        "4f53fe74051026e6635ba5bdbed4f1898cb66028"
      ],
      "author": {
        "name": "Yuvraj Pasi",
        "email": "ypasi@nvidia.com",
        "time": "Tue Apr 15 18:37:45 2014 +0530"
      },
      "committer": {
        "name": "Yuvraj Pasi",
        "email": "ypasi@nvidia.com",
        "time": "Tue Apr 15 18:37:45 2014 +0530"
      },
      "message": "camera: set mNeedConfig after creating ZSL stream\n\nSet mNeedConfig after creating ZSL stream, camera device\nwill reconfigure for the case when only ZSL stream\nis changed.\n\nChange-Id: Ib592817f81125969824a1280349f77973116f375\n"
    },
    {
      "commit": "12b44bd5fe3069cd3450d05b6c446b600e0553d3",
      "tree": "d7c3ff6a66a682520248b3b39e68a470968e3663",
      "parents": [
        "51b3ea2b8f7298bffbd246c65a606cd053357b66"
      ],
      "author": {
        "name": "Zhongwei Yao",
        "email": "zhongwei.yao@arm.com",
        "time": "Thu Apr 10 17:23:42 2014 +0100"
      },
      "committer": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Thu Apr 10 18:28:46 2014 +0100"
      },
      "message": "AArch64: rewrite audioflinger\u0027s sinc resample by intrinsics.\n\nPass conformance test on armv7 and aarch64, performance test is done on armv7.\nCompared with original armv7 assembly version, this version has similar\nresult. Here is performance data on pandaboard android4.4 (input: random wave\nfile, unit: Mspl/s, toolchain:gcc 4.8):\n\n|                | origin(assembly) | current(intrinsics) | C version |\n|----------------+------------------+---------------------+-----------|\n| single channel | 6.17             | 7.14                | 3.43      |\n| double channel | 5.24             | 5.63                | 3.50      |\n\nChange-Id: If5670218e1586e9dfd2b8d9c66a6880f3e4808ca\n"
    },
    {
      "commit": "c3dcf1007aa964f825b2ea2ef86acb7f332e748f",
      "tree": "c3e72b5ad4c3a145413a2a6e964719dbf908059e",
      "parents": [
        "a1aaaf86cd04eabaf961a30d7b0a9fa857089862",
        "65550a0e17852fe657795508e3bf05bdbfb2520b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 25 20:15:40 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 20:15:40 2014 +0000"
      },
      "message": "am 65550a0e: am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\n* commit \u002765550a0e17852fe657795508e3bf05bdbfb2520b\u0027:\n  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n"
    },
    {
      "commit": "65550a0e17852fe657795508e3bf05bdbfb2520b",
      "tree": "c7c08feacf4c4eee1ac0a387cbe02c0d77b07bfc",
      "parents": [
        "3089021031d6ad0f2b330567f108aec03fa13994",
        "0370be96e33ea0c8fb4069e704deccce43b7403c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 25 20:11:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 20:11:09 2014 +0000"
      },
      "message": "am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\n* commit \u00270370be96e33ea0c8fb4069e704deccce43b7403c\u0027:\n  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n"
    },
    {
      "commit": "a1aaaf86cd04eabaf961a30d7b0a9fa857089862",
      "tree": "0a5552a3fb27bda556afa0cd69ee672fc6f499ac",
      "parents": [
        "5c679d41714e42f153f6aeb492df54510a195bc1",
        "4f53fe74051026e6635ba5bdbed4f1898cb66028"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 19:09:34 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 19:09:34 2014 +0000"
      },
      "message": "am 4f53fe74: Merge \"CameraService: deadlock fix\"\n\n* commit \u00274f53fe74051026e6635ba5bdbed4f1898cb66028\u0027:\n  CameraService: deadlock fix\n"
    },
    {
      "commit": "0370be96e33ea0c8fb4069e704deccce43b7403c",
      "tree": "9d244524a113db326aa9e86caab40c49a08248f3",
      "parents": [
        "333ceb4f66ccf790081026f645474e07d832fbdb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 11:20:25 2014 -0700"
      },
      "message": "DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\nAs a workaround, duplicate CameraParameters into CameraParameters2 to\nprevent ABI break for some camera HALs that directly link into\nCameraParameters.\n\nCameraParameters2 implements the real fixes needed in the framework,\nwhile CameraParameters is left in to satisfy older camera HALs.\n\nBug: 12609188\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da\n"
    },
    {
      "commit": "6ec3a15257ca2b56b675a610aef43cc4ec6aaf00",
      "tree": "f28808875e71939c1c9e0d30e69a283dac93b9db",
      "parents": [
        "3d7c500234d98464d37ba3e1b65cea763b316b69"
      ],
      "author": {
        "name": "Kalle Lampila",
        "email": "kallex.lampila@intel.com",
        "time": "Tue Apr 30 15:27:19 2013 +0300"
      },
      "committer": {
        "name": "Xiaokang Qin",
        "email": "xiaokang.qin@intel.com",
        "time": "Tue Mar 25 04:29:31 2014 -0700"
      },
      "message": "CameraService: deadlock fix\n\nRelease lock before return from CameraService::dump()\n\nChange-Id: Ia20b0921fc675a284f3b7f8d26e0e3596b5a8774\nSigned-off-by: Kalle Lampila \u003ckallex.lampila@intel.com\u003e\n"
    },
    {
      "commit": "5c679d41714e42f153f6aeb492df54510a195bc1",
      "tree": "b8100421f7339771067ad447d94ad2a5f6494068",
      "parents": [
        "ba1390335794a38472bf0349568bc4f199dc5c90",
        "3d7c500234d98464d37ba3e1b65cea763b316b69"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 17:43:32 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 17:43:32 2014 -0700"
      },
      "message": "resolved conflicts for merge of 3d7c5002 to klp-modular-dev-plus-aosp\n\nChange-Id: Ia6d87d56174d1388c1148fb55b6e4bc57d8666db\n"
    },
    {
      "commit": "4bd71b4ed6f1825b287e448c336e3e59138c2956",
      "tree": "c8c46021cf9d734226dc2c9f94111bc3d398c015",
      "parents": [
        "e5729fac81c8a984e984fefc90afc64135817d4f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:09:19 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:09:19 2014 -0700"
      },
      "message": "libcameraservice: build 64-bit\n\nlibcameraservice builds fine for 64-bit, remove LOCAL_32_BIT_ONLY\n\nChange-Id: I9f28bc42dc424dee9b92e6ab092f86d3aa1419b7\n"
    },
    {
      "commit": "e5729fac81c8a984e984fefc90afc64135817d4f",
      "tree": "526e94e71d66a2cf8faac48c16716bf3c757a2a6",
      "parents": [
        "24e1bd71ac6850d9062b3bd803b37c0e92f69c7a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:04:25 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:04:25 2014 -0700"
      },
      "message": "libcameraservice: fix 64-bit print format warnings\n\nUse PRId64 from inttypes.h to print nsecs_t (int64_t)\nUse %zu to print size_t\n\nChange-Id: I135620e0388db33587a8a7da393b48a45cb7275a\n"
    },
    {
      "commit": "f40c4c561151ae93595e8fab5dcaaa1c69df74ef",
      "tree": "5e0105a852e0587a366b49d6a84ec0db1d265c37",
      "parents": [
        "129c76538570cd42fce2154bfb0aec934cf84ff3",
        "36817364738d4c45adc3e448fbec02a9611bfeda"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 19 19:56:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 19 19:56:09 2014 +0000"
      },
      "message": "am 36817364: Merge \"Add libaudioresampler\"\n\n* commit \u002736817364738d4c45adc3e448fbec02a9611bfeda\u0027:\n  Add libaudioresampler\n"
    },
    {
      "commit": "ddf887c08b58382920effb7f0b2049e471960b4a",
      "tree": "a1f2797399f967b46ec2d823f6f520f5b8426684",
      "parents": [
        "b2ecad7f079f4f852d334e67fd7a72ff1696a78e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 19 09:05:08 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 19 10:53:13 2014 -0700"
      },
      "message": "Add libaudioresampler\n\nlibaudioresampler is available in both 32-bit and 64-bit,\nunlike libaudioflinger which is currently 32-bit only.\n\nBug: 8141282\nChange-Id: I839f7b4e6aaed6984012ca6d514323f927669df6\n"
    },
    {
      "commit": "0c282de73240b1efce64558ab2fa0a8be1f4292b",
      "tree": "1dc389ec1992e8d5afaab470a0c6aeb7fbfd5298",
      "parents": [
        "098b28fc88b3d96eada2f9db318d9c38c70cf674",
        "77658a069c81a0d5b4a1b81443b470a3ea64cab0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Mar 18 17:40:58 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 18 17:40:58 2014 +0000"
      },
      "message": "am 77658a06: Merge \"AudioPolicyService: malloc/delete pair\"\n\n* commit \u002777658a069c81a0d5b4a1b81443b470a3ea64cab0\u0027:\n  AudioPolicyService: malloc/delete pair\n"
    },
    {
      "commit": "77658a069c81a0d5b4a1b81443b470a3ea64cab0",
      "tree": "3e08958e7ac8f848823003064713cb731a05b5e9",
      "parents": [
        "64727dd7c8513b6c9ddcce2f4b305618bb76121c",
        "db358afc965d9bfb703953ac004275428a7cda64"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Mar 18 17:31:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 18 17:31:26 2014 +0000"
      },
      "message": "Merge \"AudioPolicyService: malloc/delete pair\""
    },
    {
      "commit": "557847ee511dd5e75d584ff04449322f0f098241",
      "tree": "bae95f72a0c78169db8fd138f82629e73400bac3",
      "parents": [
        "9a9481f89b26211b20d7f3fde3d54b455843bf70",
        "a6ca0acf0d009acf45b05561273aaad44ab22533"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 00:20:54 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 18 00:20:54 2014 +0000"
      },
      "message": "am a6ca0acf: am bd3e2e03: camera2: Fix segfault when using null availability listener\n\n* commit \u0027a6ca0acf0d009acf45b05561273aaad44ab22533\u0027:\n  camera2: Fix segfault when using null availability listener\n"
    },
    {
      "commit": "a6ca0acf0d009acf45b05561273aaad44ab22533",
      "tree": "e6c7049fd6bbce66f21b37f5d08bd371daeaf87f",
      "parents": [
        "8788c40c7b5bdcaef1dcaa7f36598ae767880047",
        "bd3e2e03f3ab686c52982a9e50cae853128172cf"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 22:56:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 17 22:56:00 2014 +0000"
      },
      "message": "am bd3e2e03: camera2: Fix segfault when using null availability listener\n\n* commit \u0027bd3e2e03f3ab686c52982a9e50cae853128172cf\u0027:\n  camera2: Fix segfault when using null availability listener\n"
    },
    {
      "commit": "bd3e2e03f3ab686c52982a9e50cae853128172cf",
      "tree": "08e6182c089c0377db4b5c0010b30a16d8f2e5ba",
      "parents": [
        "75dcf5101c90e31bbac95694d835b0e8f57ba720"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 13:01:41 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 13:01:41 2014 -0700"
      },
      "message": "camera2: Fix segfault when using null availability listener\n\nICameraService::addListener / removeListener will now return BAD_VALUE\nif a null listener is used.\n\nBug: 12891434\nChange-Id: I9764110094d8fd42e22fcc8df3ef0e73c1b070e7\n"
    },
    {
      "commit": "3c7801882bbb6d5f3cc641525a54cb8a6c4aca34",
      "tree": "f6f5e9f9d4ffecd658b76a3ef176564253768e3b",
      "parents": [
        "f1ac623fcc6bbda2faff9752cd611182a897afe1",
        "089affb6c2d9ed1e2d49df4be02d30dc490506f9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Mar 14 20:53:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 14 20:53:02 2014 +0000"
      },
      "message": "am 089affb6: Merge \"mediaserver and associated services are 32-bit only\"\n\n* commit \u0027089affb6c2d9ed1e2d49df4be02d30dc490506f9\u0027:\n  mediaserver and associated services are 32-bit only\n"
    },
    {
      "commit": "af783aa91f7a279153fb8bab8d0d6b9f737996e9",
      "tree": "25c5b54bf884f220cce4ee21a9cbaf6583820f91",
      "parents": [
        "19afb3869eb6a3e3733dc1f7420e1d4c3c03d376"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Sun Mar 02 19:48:19 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 12 11:24:53 2014 -0700"
      },
      "message": "mediaserver and associated services are 32-bit only\n\nalso 32-bit only command-line apps\n\nChange-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3\n"
    },
    {
      "commit": "708601d042ae2a927da2181f33da47d9b01ad411",
      "tree": "4a041c6454ea97621345252c4f67fd00254bcdc0",
      "parents": [
        "3a20f9af8587d2e5bbf4654a3a958f43c4133445",
        "f0fb921c0170fe3b8ebce8fbe3c133a99c6def9f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Mar 11 23:22:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 11 23:22:02 2014 +0000"
      },
      "message": "am f0fb921c: am bc69c8ba: DO NOT MERGE: Camera: delete preview callback when preview size is changed\n\n* commit \u0027f0fb921c0170fe3b8ebce8fbe3c133a99c6def9f\u0027:\n  DO NOT MERGE: Camera: delete preview callback when preview size is changed\n"
    },
    {
      "commit": "f0fb921c0170fe3b8ebce8fbe3c133a99c6def9f",
      "tree": "8a243f5babdf06f907f3f7b35b45bd5561cb4e25",
      "parents": [
        "38efe8eb08e08610d535a164768851ac7c13d654",
        "bc69c8ba9a8fc881603669205a56d0ca1b572a95"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Mar 11 19:46:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 11 19:46:25 2014 +0000"
      },
      "message": "am bc69c8ba: DO NOT MERGE: Camera: delete preview callback when preview size is changed\n\n* commit \u0027bc69c8ba9a8fc881603669205a56d0ca1b572a95\u0027:\n  DO NOT MERGE: Camera: delete preview callback when preview size is changed\n"
    },
    {
      "commit": "bc69c8ba9a8fc881603669205a56d0ca1b572a95",
      "tree": "55c526333f2b036d4827170ff7250c99e30feaf3",
      "parents": [
        "6db20dcb54dad932a3ea2e3a5dca41fce5802eb4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jan 21 12:15:56 2014 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 10 20:31:08 2014 +0000"
      },
      "message": "DO NOT MERGE: Camera: delete preview callback when preview size is changed\n\nPreview callback stream is left configured even the preview size is changed.\nThis makes the callback stream unnecessarily configured even in recording mode,\nwhich could cause distorted preview for some devices.\n\nBug: 12210027\nBug: 12591410\nChange-Id: If50cddfe5562e91aec1feb1760eccb82ddb21730"
    },
    {
      "commit": "40659dea8eefaa9d7f5b742e3333d68b6f0dd89c",
      "tree": "53a621f8f1b314c07c0ffff156c25b3981813ab0",
      "parents": [
        "51b7125bd0e2127f1d57938e95523dcc61e657ef",
        "47ef192f0296642b901e82d0c72c5a1a0d08f4df"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 07 02:18:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 07 02:18:42 2014 +0000"
      },
      "message": "am 47ef192f: am a11111f9: Merge changes Id28b35fd,Ie4e64977,I2950f31e into klp-dev\n\n* commit \u002747ef192f0296642b901e82d0c72c5a1a0d08f4df\u0027:\n  DO NOT MERGE: Camera: fix focusArea wrong indexing issue\n  DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.\n  DO NOT MERGE: camera2/3: Add protection for still capture path\n"
    },
    {
      "commit": "47ef192f0296642b901e82d0c72c5a1a0d08f4df",
      "tree": "c5f4c0f2f679652f37926469de0c180bb1fbd2b5",
      "parents": [
        "bfc260667e566d4ea29c8b1d089b95ce2c11890c",
        "a11111f9135c98cf4247bbd1a61d7df3053e549e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 07 02:00:59 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 07 02:00:59 2014 +0000"
      },
      "message": "am a11111f9: Merge changes Id28b35fd,Ie4e64977,I2950f31e into klp-dev\n\n* commit \u0027a11111f9135c98cf4247bbd1a61d7df3053e549e\u0027:\n  DO NOT MERGE: Camera: fix focusArea wrong indexing issue\n  DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.\n  DO NOT MERGE: camera2/3: Add protection for still capture path\n"
    },
    {
      "commit": "a11111f9135c98cf4247bbd1a61d7df3053e549e",
      "tree": "e0603972793777c7a190dd2a1c3c76336098a064",
      "parents": [
        "ed4d8b28b8ee5a3e4ebc8f73bf4dc86c75a74258",
        "a413dd621966044753a8fa1f57c76d847b6f4bec"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 07 01:40:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 07 01:40:59 2014 +0000"
      },
      "message": "Merge changes Id28b35fd,Ie4e64977,I2950f31e into klp-dev\n\n* changes:\n  DO NOT MERGE: Camera: fix focusArea wrong indexing issue\n  DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.\n  DO NOT MERGE: camera2/3: Add protection for still capture path\n"
    },
    {
      "commit": "6cbccee701e74fa43a5ea49c15af7dd3267b6699",
      "tree": "90fa3e762bead3f0dca419b14ee992100ba4c454",
      "parents": [
        "525b099ada155d6654300cb2e5d8c1a09f4eb8ba"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Dec 13 15:40:13 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Mar 06 10:44:13 2014 -0800"
      },
      "message": "audioflinger: Fix for a deadlock in track creation\n\nAudioFlinger enters a deadlock (with itself) on trying to free a\nRecordTrack or Track object that failed initialization. Clear this\nbad object from the caller instead.\n\nBug: 12423233\nChange-Id: I926f2beb922a70f6924e593e2bbf1a5b5df85b16\n"
    },
    {
      "commit": "4f4c9a22f4676c65bcae77f0805dcd699b3ba475",
      "tree": "4e7e9f1ab7238a965949fec8ea62a28d4e7ae8ec",
      "parents": [
        "c7753b12a9c8c1cba69ba75bccc0083c37bc67f1",
        "281dd4e13309973dbb85bce531f884237e0d8fb0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 23:47:17 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 23:47:17 2014 +0000"
      },
      "message": "am 281dd4e1: audioflinger: fix static track end detection\n\n* commit \u0027281dd4e13309973dbb85bce531f884237e0d8fb0\u0027:\n  audioflinger: fix static track end detection\n"
    },
    {
      "commit": "a413dd621966044753a8fa1f57c76d847b6f4bec",
      "tree": "3205bb3eb789cc21cf2b7f5d1344c21d61e86d2b",
      "parents": [
        "6706009fa8294c8cdab1cdab4585f00d42df483e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jan 29 08:52:01 2014 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 05 15:10:43 2014 -0800"
      },
      "message": "DO NOT MERGE: Camera: fix focusArea wrong indexing issue\n\nBug: 12304559\nChange-Id: Id28b35fdd9697c1ec3365f617996801965de8bd0\n"
    },
    {
      "commit": "0c937b4946fae178447d9f8d29200fa2798c05f9",
      "tree": "b5c507e70c853037602d4e898b75c2d307ae2c4d",
      "parents": [
        "57f87026a30f3e461f6a804e94b6dab7b385f3ca",
        "eb16bb5dcecf430bfec1c2a4bd15851c83b9c3cc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 22:48:11 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 22:48:11 2014 +0000"
      },
      "message": "am eb16bb5d: am 7028a2c8: am 7e92abea: audioflinger: fix offload write buffer offset\n\n* commit \u0027eb16bb5dcecf430bfec1c2a4bd15851c83b9c3cc\u0027:\n  audioflinger: fix offload write buffer offset\n"
    },
    {
      "commit": "7028a2c8106ee5a22db88da5dad581820ee07254",
      "tree": "afcb2b29c856c84809893e5dda8a68f68054ed75",
      "parents": [
        "6b2604259c12ee28b49f26ab2adac96eefe30934",
        "7e92abeafb184e8a34213d7149592e95a72601b0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 22:41:53 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 22:41:53 2014 +0000"
      },
      "message": "am 7e92abea: audioflinger: fix offload write buffer offset\n\n* commit \u00277e92abeafb184e8a34213d7149592e95a72601b0\u0027:\n  audioflinger: fix offload write buffer offset\n"
    },
    {
      "commit": "6706009fa8294c8cdab1cdab4585f00d42df483e",
      "tree": "55fcdca48c005adaa2d25cc3e87715345e31e5ce",
      "parents": [
        "81d754306ecd4a587459015da5168270c2a5c167"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Dec 05 11:00:37 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 05 14:31:30 2014 -0800"
      },
      "message": "DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.\n\nBug: 11856804\n\n- Shutdown order in Camera2Client allows a stream to be\n  deleted before the corresponding processing thread has\n  quit.  This can result in updates being called on the\n  processor thread without a valid stream.\n\nChange-Id: Ie4e649771f4321498659211f2a37ed89a6d956c4\n"
    },
    {
      "commit": "81d754306ecd4a587459015da5168270c2a5c167",
      "tree": "40e203771b86181b96aaf6022532e7aadf71e238",
      "parents": [
        "85b3013e06e8fe7802fe6259ecac80261e834332"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Nov 26 15:11:05 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 05 14:29:40 2014 -0800"
      },
      "message": "DO NOT MERGE: camera2/3: Add protection for still capture path\n\nJpeg stream in JpegProcessor could be deleted while process new capture is\nongoing, which unsafe to access a dead consumer endpoint.\nBug: 9316454\nChange-Id: I2950f31ea28d0ba01f08502e2e3ba452bf8bb818\n"
    },
    {
      "commit": "d812fc012298470a1b8120e6d60a24b0b1d48047",
      "tree": "bf3c68ea3a908a0792e766714cd9d54f98ebfb46",
      "parents": [
        "88876fb4eb8365343f2a9ca0e8f53148ca38b845"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 03 09:06:43 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 14:10:41 2014 -0800"
      },
      "message": "Increase kFastTrackMultiplier from 1 to 2\n\nBug: 11967381\nChange-Id: Iedec06280aa745d9df5d661f4916940cede9c191\n"
    },
    {
      "commit": "281dd4e13309973dbb85bce531f884237e0d8fb0",
      "tree": "f58a048f67a81b56c07593f727c92a445b249f4b",
      "parents": [
        "abab1c33caf0982c11713e6d64d60105dcbc8ab7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 20 17:36:01 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 14:03:30 2014 -0800"
      },
      "message": "audioflinger: fix static track end detection\n\nIf a static track is not a fast track,\nprepareTracks_l() must rely on framesReady() to\ndetect end of buffer and remove the track from the active\ntrack list.\nFailing to do so results in the track staying active but\nnot processed by the mixer because in underrun. This leaves the\nmix buffer content uninitialized and causes the effect process\nfunction to accumulate its output onto undefined data.\n\nBug: 12013676.\nChange-Id: I4b0819a9d93141ac3307b8786fc6a451dd585220\n"
    },
    {
      "commit": "abab1c33caf0982c11713e6d64d60105dcbc8ab7",
      "tree": "fed18cdc3a9543b56ffeaf73db55d0d20ee937e9",
      "parents": [
        "d0115d8c4db2f337030dea706bc0a434c4a03ed6"
      ],
      "author": {
        "name": "Gaurav Kumar",
        "email": "gaurav.kumar@broadcom.com",
        "time": "Mon Jan 06 10:57:18 2014 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 13:59:28 2014 -0800"
      },
      "message": "AudioMixer: Remove tracks from enabledTracks after reseting outTemp\n\nIf any track goes through AudioMixer::process__genericNoResampling, and\nits getnextbuffer returns NULL, Then that track is removed by AudioMixer\nfrom enabledTracks.\n\nThus if all tracks getnextbuffer return NULL, Then this function doesn\u0027t\nreset outTemp and last buffer in AudioFlinger\u0027s mMixBuffer will be\nrepeated and noise is observed.\n\nRemove tracks from enabledTracks after reseting outTemp to zero, so that\nprocess__genericNoResampling will reset outTemp and noise won\u0027t appear.\n\nBug: 12450065\n\nChange-Id: I28996d425838728955f01eb1a00acf6e6dc2dea1\nSigned-off-by: Gaurav Kumar \u003cgaurav.kumar@broadcom.com\u003e\nSigned-off-by: Pierre Couillaud \u003cpierre@broadcom.com\u003e\n"
    },
    {
      "commit": "7e92abeafb184e8a34213d7149592e95a72601b0",
      "tree": "09ec6f7fdfdc0b9564660f134bd6a460a4480d85",
      "parents": [
        "85b3013e06e8fe7802fe6259ecac80261e834332"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 22 09:29:56 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 12:12:01 2014 -0800"
      },
      "message": "audioflinger: fix offload write buffer offset\n\nFix current audio HAL write buffer offset calculation\nwhich assumes that the frame size is a multiple of 2.\n\u0027\nBug: 12823725.\n\nChange-Id: I0195ed5cfef225a6f114e7dd405a02680bb7254e\n"
    },
    {
      "commit": "0504a198d6595e29e58d1d66ae59fac1d662384a",
      "tree": "3fad07457b2212da593c80bd278cb7660ce53d6a",
      "parents": [
        "d384a2c44810ce1b51277cc4ab4c5415ff7de6ee",
        "632c3790523896260dc43fd6cd40a158765cdb15"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Mar 05 20:01:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 20:01:14 2014 +0000"
      },
      "message": "am 632c3790: am 7c206e5b: am e0cd1051: audioflinger: update track ready condition\n\n* commit \u0027632c3790523896260dc43fd6cd40a158765cdb15\u0027:\n  audioflinger: update track ready condition\n"
    },
    {
      "commit": "d384a2c44810ce1b51277cc4ab4c5415ff7de6ee",
      "tree": "c020402fdf9734df5c77b93058b841d9c501a4ef",
      "parents": [
        "3cd7a13a7926e210bd8dff65d6f43a257f5235e5",
        "4f9e38c60cc79407a8b2966b3b9780a3e395b017"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Mar 05 20:01:11 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 20:01:11 2014 +0000"
      },
      "message": "am 4f9e38c6: am 21e81bca: am e010f65e: audioflinger: Fix for a deadlock in track creation\n\n* commit \u00274f9e38c60cc79407a8b2966b3b9780a3e395b017\u0027:\n  audioflinger: Fix for a deadlock in track creation\n"
    },
    {
      "commit": "7c206e5bd24b5ae4565d0e60b637458a1054dfcf",
      "tree": "316b886b5c436f5cfa9d14cecab3d42013ca0b88",
      "parents": [
        "21e81bca4d1e6f7d1ccac61b65da7c7a4a121064",
        "e0cd1051ed9fea0629745c29020516ae62298461"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Mar 05 01:24:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 01:24:09 2014 +0000"
      },
      "message": "am e0cd1051: audioflinger: update track ready condition\n\n* commit \u0027e0cd1051ed9fea0629745c29020516ae62298461\u0027:\n  audioflinger: update track ready condition\n"
    },
    {
      "commit": "21e81bca4d1e6f7d1ccac61b65da7c7a4a121064",
      "tree": "25ed8460e9719f09063932ecd1297bc7f99c3b0c",
      "parents": [
        "571596564f4b818b8e89c4bbe824e557e8e00075",
        "e010f65e6337267cb15f8894c950a3f64370dd36"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Mar 05 01:24:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 01:24:09 2014 +0000"
      },
      "message": "am e010f65e: audioflinger: Fix for a deadlock in track creation\n\n* commit \u0027e010f65e6337267cb15f8894c950a3f64370dd36\u0027:\n  audioflinger: Fix for a deadlock in track creation\n"
    },
    {
      "commit": "50c3157c5a3e0617be77716beff1ae8801d8a72f",
      "tree": "7b550f2609351c85fc70658220f14e3a5737288e",
      "parents": [
        "e0cd1051ed9fea0629745c29020516ae62298461"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Tue Dec 03 21:26:02 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 04 16:03:12 2014 -0800"
      },
      "message": "audioflinger: check for condition before waiting\n\nAsyncCallbackThread must check for any condition that\nwas already been satisfied before waiting.\n\nBug: 11824817\nChange-Id: I04683a1f355de4f440106cab47fd916aa39d5e35\n"
    },
    {
      "commit": "e0cd1051ed9fea0629745c29020516ae62298461",
      "tree": "03273a98e8fc21f916bd0de1163913c51171b953",
      "parents": [
        "e010f65e6337267cb15f8894c950a3f64370dd36"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Dec 27 16:09:28 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 04 15:58:25 2014 -0800"
      },
      "message": "audioflinger: update track ready condition\n\nSignal track ready if the track isStopping().\n\nBug: 12423190\nChange-Id: I95e14905df10ebf301e398263478c8ca25d7e2ce\n"
    },
    {
      "commit": "e010f65e6337267cb15f8894c950a3f64370dd36",
      "tree": "e631dc8a6690f18c6b977272404abe1df70cc30c",
      "parents": [
        "a4f24ff9b239300b4bb2098c1413c0a60edc2d7e"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Dec 13 15:40:13 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 04 15:36:20 2014 -0800"
      },
      "message": "audioflinger: Fix for a deadlock in track creation\n\nAudioFlinger enters a deadlock (with itself) on trying to free a\nRecordTrack or Track object that failed initialization. Clear this\nbad object from the caller instead.\n\nBug: 12423233\nChange-Id: I926f2beb922a70f6924e593e2bbf1a5b5df85b16\n"
    },
    {
      "commit": "377b2ec9a2885f9b6405b07ba900a9e3f4349c38",
      "tree": "b938e1d75a1beefae86244f287ca22f4a277740d",
      "parents": [
        "cdda7bf4d3ca9cad6979374a18dd5be79ea83d80"
      ],
      "author": {
        "name": "Kévin PETIT",
        "email": "kevin.petit@arm.com",
        "time": "Mon Feb 03 12:35:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 11:40:06 2014 +0000"
      },
      "message": "Make frameworks/av 64-bit compatible\n\nContains the necessary changes to make frameworks/av build and work\non a 64-bit machine.\n\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n\nChange-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43\n"
    },
    {
      "commit": "5930e8ebdacf3a59c13eef11fd03658ba58b443e",
      "tree": "d3766c6b6957a45b411ffcdc00b2595e75d2ac4e",
      "parents": [
        "4361749d74113069aafb0620a1189404205c58d0",
        "3ce28aa3cb5262775180a8b423cfb4a5670ebc59"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Feb 10 18:05:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 10 18:05:01 2014 +0000"
      },
      "message": "Merge \"AudioFlinger: Remove code for supporting resampling in fast tracks\""
    },
    {
      "commit": "4361749d74113069aafb0620a1189404205c58d0",
      "tree": "dfddd0eede083dd799e7cd5179a98954259ee6e9",
      "parents": [
        "7142d10a7a3941b2deb18869a7f7b79462e0aa52",
        "398f21348e5100289f6e5be30c8b5257fa04aaf9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Feb 10 18:04:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 10 18:04:54 2014 +0000"
      },
      "message": "Merge \"AudioTrack: Never try to use the fast path if resampling is required\""
    },
    {
      "commit": "3ce28aa3cb5262775180a8b423cfb4a5670ebc59",
      "tree": "c033ef7bb7e98903661266d30f22259d12f5bc43",
      "parents": [
        "398f21348e5100289f6e5be30c8b5257fa04aaf9"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Feb 05 19:49:05 2014 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Feb 05 19:56:50 2014 +0200"
      },
      "message": "AudioFlinger: Remove code for supporting resampling in fast tracks\n\nThis isn\u0027t used at the moment.\n\nChange-Id: I4e0fb2af5f7d959dbafd5ddb7defa1c6b8e8636a\n"
    },
    {
      "commit": "5f51ade2c290e239a125dc88943b240e1105fd97",
      "tree": "19372aa7633c63aec8821c0a7e43f37a31c960ef",
      "parents": [
        "5db1e3a6f30c252ed61461dd8c58786e905e5f5a"
      ],
      "author": {
        "name": "synergy dev",
        "email": "synergye@codefi.re",
        "time": "Tue Feb 04 06:38:33 2014 -0500"
      },
      "committer": {
        "name": "synergy dev",
        "email": "synergye@codefi.re",
        "time": "Tue Feb 04 07:37:07 2014 -0500"
      },
      "message": "audioflinger: conform inline ASM to UAL\n\nClang requires some inline ASM to conform to the UAL standards (Unified Assembler Language).\nThis fixes a small issue in this inline asm to allow building.\n\nChange-Id: Ifd9b1814343ab5ade636b9401a21d575559dac16\n"
    },
    {
      "commit": "398f21348e5100289f6e5be30c8b5257fa04aaf9",
      "tree": "26fb40e2808e33bcad41a36d263bc26b02f5c62c",
      "parents": [
        "c4eef29af4e306319d8741e0c3ade1ede9a0a2b5"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Fri Jan 31 13:30:15 2014 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Fri Jan 31 13:30:15 2014 +0200"
      },
      "message": "AudioTrack: Never try to use the fast path if resampling is required\n\nUnless AudioFlinger was built with FAST_TRACKS_AT_NON_NATIVE_SAMPLE_RATE\nenabled, AudioFlinger would deny using the fast path (and internally\nfall back to the normal codepath) when it realized that resampling\nwas required. Since the buffer size calculations within AudioFlinger\ndon\u0027t take resampling into account properly (see the calculation\nbelow \"AUDIO_OUTPUT_FLAG_FAST denied\" in audioflinger/Threads.cpp,\njust below the hunk that this patch changes), make sure AudioTrack\ndoesn\u0027t try to use the fast path if resampling is required.\n\nThis removes the possibility to enable\nFAST_TRACKS_AT_NON_NATIVE_SAMPLE_RATE in AudioFlinger since it\nAudioTrack now won\u0027t even try to use the fast path for content\nthat requires resampling, regardless of the AudioFlinger configuration.\n\nChange-Id: Icf0f8ad50bf0fdb84657f518c0120aa0535f23f9\n"
    },
    {
      "commit": "745e9a8283b56c7772ee7d72383a3f2e012e1ef9",
      "tree": "281cab68618b85ac31ccb6c3a436229d9d81a1ce",
      "parents": [
        "1bf0eecd2ec6a3b3e29ad2c91bcefda76abef2fe"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 20 17:36:01 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 30 19:37:52 2014 +0000"
      },
      "message": "audioflinger: fix static track end detection\n\nIf a static track is not a fast track,\nprepareTracks_l() must rely on framesReady() to\ndetect end of buffer and remove the track from the active\ntrack list.\nFailing to do so results in the track staying active but\nnot processed by the mixer because in underrun. This leaves the\nmix buffer content uninitialized and causes the effect process\nfunction to accumulate its output onto undefined data.\n\nBug: 12013676.\nChange-Id: Iad72c921fa18d34811abf7d1073890c093a27725\n"
    },
    {
      "commit": "1bf0eecd2ec6a3b3e29ad2c91bcefda76abef2fe",
      "tree": "41b83ec660ace65ac60b2d6061327ce9c7f33309",
      "parents": [
        "06da69d57d90e180e1165905e6c703227a06f041",
        "7e79cd2d3067cdb7b9daf639cf772d4dd149c934"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Jan 29 17:48:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 29 17:48:44 2014 +0000"
      },
      "message": "Merge \"AudioMixer: Remove tracks from enabledTracks after reseting outTemp\""
    },
    {
      "commit": "7e79cd2d3067cdb7b9daf639cf772d4dd149c934",
      "tree": "bbb14bc8c011b3c7e60c2b78c2a2f4366bf12639",
      "parents": [
        "99044adc6e209d31e9c5308d960e2bd5f6999f85"
      ],
      "author": {
        "name": "Gaurav Kumar",
        "email": "gaurav.kumar@broadcom.com",
        "time": "Mon Jan 06 10:57:18 2014 +0530"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Jan 29 17:46:08 2014 +0000"
      },
      "message": "AudioMixer: Remove tracks from enabledTracks after reseting outTemp\n\nIf any track goes through AudioMixer::process__genericNoResampling, and\nits getnextbuffer returns NULL, Then that track is removed by AudioMixer\nfrom enabledTracks.\n\nThus if all tracks getnextbuffer return NULL, Then this function doesn\u0027t\nreset outTemp and last buffer in AudioFlinger\u0027s mMixBuffer will be\nrepeated and noise is observed.\n\nRemove tracks from enabledTracks after reseting outTemp to zero, so that\nprocess__genericNoResampling will reset outTemp and noise won\u0027t appear.\n\nBug: 12450065\nChange-Id: I1ccac7ee4a3bf7fd930254356c072099e11e7c19\nSigned-off-by: Gaurav Kumar \u003cgaurav.kumar@broadcom.com\u003e\nSigned-off-by: Pierre Couillaud \u003cpierre@broadcom.com\u003e\n"
    },
    {
      "commit": "c7614eb7cf2e3e121baa3de26e3622974a163786",
      "tree": "f2a7b3d4cfc8109459b3ccd0cf8f5a8a26a9e4b2",
      "parents": [
        "e311b15cf821f65f68af2cdfe01e864cbc9a86ce",
        "cd4f9920f5658fcf1bf62bfebf5232a1fea06ea6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 15 20:26:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 15 20:26:02 2014 +0000"
      },
      "message": "Merge \"libcameraservice: Fix build in ISO C++11 mode\""
    },
    {
      "commit": "61540b5fe82cad1c6baa018f02bd2554e62e4364",
      "tree": "bc1a94ff57fe9293c873fe412611e16b748da75e",
      "parents": [
        "5ca94d2f3c4662aed7b66a97b77eb2d1948464ad",
        "e6056ba0f2399fa3ebea9665e12a8237f99de250"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Jan 10 17:22:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 10 17:22:40 2014 +0000"
      },
      "message": "Merge \"Frameworks: AudioFlinger: Fix effects memory leak\""
    },
    {
      "commit": "c95616357a911e5c1c55873492b05ebfa3cf1894",
      "tree": "fa56f9fbc01da9bfca3814af80c63e7857bfa2fd",
      "parents": [
        "645e43977d3aabc5addab022d772accc32fd5bdc"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Tue Dec 03 21:26:02 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 17 22:05:51 2013 +0000"
      },
      "message": "audioflinger: check for condition before waiting\n\nAsyncCallbackThread must check for any condition that\nhas already been satisfied before waiting.\n\nBug: 11824817\nChange-Id: Ic8c2090d521ecd6a30b76ee75635258d35eb1eff\n"
    },
    {
      "commit": "a67c76538fff102cd44b2f38dd073df5f2a33605",
      "tree": "da803da6b3053b23ad6c5ebbd33fd7667e2697b3",
      "parents": [
        "a0e1c3918dd1356445df98e89dab6be2c8a78da3",
        "b5fed68bcdd6f44424c9e4d12bfe9a3ff51bd62e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 17 16:26:41 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 17 16:26:41 2013 +0000"
      },
      "message": "Merge \"Increase kFastTrackMultiplier from 1 to 2\""
    },
    {
      "commit": "b5fed68bcdd6f44424c9e4d12bfe9a3ff51bd62e",
      "tree": "12cac79b78992586c8f8da4f618a020f40d92441",
      "parents": [
        "92630351d265a61faae2dfe006a8bb330283aa7b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 03 09:06:43 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Dec 04 17:12:42 2013 -0800"
      },
      "message": "Increase kFastTrackMultiplier from 1 to 2\n\nChange-Id: I158f147295eebcea96e4047d7618069bc48bdd7d\n"
    },
    {
      "commit": "d7e59228caad3867794d847f6bf163c6495e9506",
      "tree": "f09784ce425a6928c56a932101752b63b21d8f44",
      "parents": [
        "7dae71d606ded1dbc2aa9733c3d98ffac57988f2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 15 12:02:28 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 15 12:11:39 2013 -0800"
      },
      "message": "audioflinger: do not use raw pointer for tracks\n\nCommit 9da3d95 surfaced a problem caused by the use of a raw\npointer to a track in offload thread implementation.\n\nPointers to tracks should always be weak or strong pointers.\n\nBug: 11708529.\nChange-Id: Ic48632532d186c9be8261f73cefdf824b9fbbd2b\n"
    },
    {
      "commit": "d8a62e25ba6520c2531c7a3d32cc8066e1dab776",
      "tree": "dbf4856e2a0f6781f3287fed2534f7e358c6b053",
      "parents": [
        "4215e6166fca9f87a6e9e848b3dfd4ab0d25c954"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 14 10:32:13 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 14 10:32:13 2013 -0800"
      },
      "message": "Camera2: Rework the FPS range vs. FPS single setting detection\n\nGive up on current approach of writing out consistent FPS values\ninto parameters that will be read back by the app.\n\n- Preserve app\u0027s latest set parameters exactly, and compare against\n  them when detecting if a new FPS range or single FPS value has been\n  selected.\n\n- Since get() returns exactly what was set(), it doesn\u0027t matter if the\n  app calls getParameters() before its next setParameters(), in terms\n  of retriggering FPS selection logic. Before, the behavior varied\n  depending on whether the app re-read the parameters.\n\n- As before, if app changes both range and single FPS in a single set\n  call, the range set wins. Otherwise, the value that has changed more\n  recently is used.\n\nBug: 11570973\nChange-Id: I72b5e60c3f60e88d55127dd1bda87e26eaf929c6\n"
    },
    {
      "commit": "9da3d9573a18ffe08365557c706cf52f09118d1c",
      "tree": "c30511f753f1b49d5519ba5249316b12f33bb29a",
      "parents": [
        "1b9f9b134e732a48198e51f16424f330cbf03143"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:25:43 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:32:36 2013 -0800"
      },
      "message": "audioflinger: fix offload track transition\n\nMake sure that when transitioning from one active\noffloaded track to the next we flush DSP content\nif both tracks are not on the same audio session.\nThis happens when switching between two applications\nplaying the same type of content (e.g MP3, stereo, 44.1).\nIn this case, we reuse the same output thread because the track\nformats are compatible.\n\nBug: 11247103.\nChange-Id: I2b9031591149adeb70766da5e0d21ff2933a37e8\n"
    },
    {
      "commit": "1b9f9b134e732a48198e51f16424f330cbf03143",
      "tree": "b51c0fd76cd949c420404ce221eae0ce9fad597e",
      "parents": [
        "22990fe1ee3531e84dbadb7ff9ffd68d5bbe9060"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:10:17 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:10:17 2013 -0800"
      },
      "message": "audioflinger: fix offload resume after drain\n\nWhen pausing and resuming during the drain,\nthe drain sequence number shuold not be modified\notherwise the drain callback will be ignored.\nThis causes failure to notify end of stream to audio\nplayer and transition to next song.\n\nBug: 11247103.\nChange-Id: I2a35c5cc3fd6aa667cdd257f9e9cc8715cef5159\n"
    },
    {
      "commit": "184dfe4ea5e2ba33951bed2b1366007aee0ce3da",
      "tree": "ada678fb9d95fed7b4b25aead2615eaa4f003495",
      "parents": [
        "caee8747b7df3b1119426594d4ba1c0e300ff6db"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 07 15:13:16 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Nov 12 10:24:42 2013 -0800"
      },
      "message": "Camera API2: Add support for partial result quirk\n\n- Camera3Device: Include requestId in partial 3A results\n- FrameProcessorBase: Add support for partial result listeners\n- CameraDeviceClient: Listen and forward partial results to client\n\nBug: 11115603\nChange-Id: If1cc6bbc32932742ac142c058688761ebf6a8024\n"
    },
    {
      "commit": "fd6ecdd39bd83ea020f78b425e96310380d66c35",
      "tree": "74b1aaa8fdcbf75681f72fb93b96db4ab48fa34c",
      "parents": [
        "48b6cd98b23b2cf9dee88f075f7575ecb5aaf545"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 09:51:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Nov 06 18:22:22 2013 -0800"
      },
      "message": "Camera HAL3/API1: Add support for the partial result quirk.\n\n- Camera2Client:\n - Detect partial result quirk\n- Camera3Device:\n - Accumulate all partial results together\n - Fire off 3A-only result once all 3A states are available\n- FrameProcessorBase:\n - Filter out partials, don\u0027t send to listeners\n- FrameProcessor:\n - Skip face detect on partials\n - Make sure to only handle a 3A update for a given frame once\n - Trigger AF notifications when AF mode or trigger changes, to\n   properly detect all AF transitions.\n\nBug: 11115603\nChange-Id: Iea8aa73c568701562a46071f7ea100624251d10b\n"
    },
    {
      "commit": "a23f17ac334ff20a11ee63dd177cb1080e44c483",
      "tree": "e15dc095de74afc97fc509aa855cedf010df6c1e",
      "parents": [
        "5c7ffaed6f04b844c2e4e2024bfb0203ac2233dd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 05 18:22:08 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 05 18:22:08 2013 -0800"
      },
      "message": "audioflinger: fix direct output underrun\n\nUnderruns on tracks handled by a direct or offloaded\nthreads were not properly reported to the applications\ncausing a failure to automatically recover.\n\nBug: 11535001.\nChange-Id: I7a8696b4d646f78b16710addfe7c108d0dd0038d\n"
    },
    {
      "commit": "5c7ffaed6f04b844c2e4e2024bfb0203ac2233dd",
      "tree": "71dac4a8045e2c0eca9dfbd341936f731ffa0a9b",
      "parents": [
        "3ff5792adfdbf67662a5f8064315a55690d53944",
        "2c3740f01acca69c3e0bcc5e01bb0edc51b6777f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 31 22:29:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 31 22:29:50 2013 +0000"
      },
      "message": "Merge \"AudioFlinger: fix duplicating thread standby.\" into klp-dev"
    },
    {
      "commit": "2c3740f01acca69c3e0bcc5e01bb0edc51b6777f",
      "tree": "fafcc00b076ae05c67b4cd0d3cd7de406b418c09",
      "parents": [
        "fd4779740ec3e9e865d5514464df26d015354388"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 30 16:57:06 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 30 16:57:06 2013 -0700"
      },
      "message": "AudioFlinger: fix duplicating thread standby.\n\nCommit fd47797 fixing issue 11247103 introduced a regression\nwhere the duplicating thread does not exit standby state as\nexpected. This in turn prevents the tracks sending audio to\nother threads to complete their activity cycle normally.\n\nThe fix conists in clearing mStandby state also in the specialized\nthreadLoop_write() method of DuplicatingThread subclass.\n\nBug: 11451415.\nChange-Id: Ie8a92c819a56a2834ea25fa70a8b7b2125721775\n"
    },
    {
      "commit": "3ff5792adfdbf67662a5f8064315a55690d53944",
      "tree": "ed42f922d8280b2464a0b5bfdd1b167220f32f32",
      "parents": [
        "c76b9f52cf4e39f6943c53f5b3657dfee65857ac",
        "ff3e31d2b100d8efd969b358b18e4405c49dd10d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 30 21:09:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 30 21:09:49 2013 +0000"
      },
      "message": "Merge \"camera: Collect stack traces when bad things happen, print with dumpsys\" into klp-dev"
    },
    {
      "commit": "1c594b637df26499ce1dae2db34f2b3290efd838",
      "tree": "0d231e939a18d3f28f1e19658a7b7ed2e61ed1fb",
      "parents": [
        "fd4779740ec3e9e865d5514464df26d015354388",
        "d72b7c0180ee83fc3754629ed68fc5887a125c4c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 30 01:13:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 30 01:13:52 2013 +0000"
      },
      "message": "Merge \"audioflinger: enable effects after registration if needed\" into klp-dev"
    },
    {
      "commit": "ff3e31d2b100d8efd969b358b18e4405c49dd10d",
      "tree": "6d3bcd6772305f06fcf85c498365c8c198a7fbc9",
      "parents": [
        "95c03858e2ab4fb693a2bfe47b3caa806e43c044"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 23 16:40:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 29 11:49:05 2013 -0700"
      },
      "message": "camera: Collect stack traces when bad things happen, print with dumpsys\n\nBug: 11324229\nChange-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6\n"
    },
    {
      "commit": "fd4779740ec3e9e865d5514464df26d015354388",
      "tree": "11e6523dd9d2d04b6e0d3ea742968c6988646e2c",
      "parents": [
        "9cae217050aa1347d4ac5053c305754879e3f97f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 25 18:10:40 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 28 14:17:22 2013 -0700"
      },
      "message": "AudioFlinger: more fixes for offload audio lost\n\nmStandby being false was not a reliable indication that\nsomething had been written to audio HAL.\n\nConsidering the last track in mActiveTracks vector as the\nlatest activated track was wrong as this is a SortedVector.\n\nBug: 11247103.\nChange-Id: I397d011c5afcdd779def3fe25aaae7669a472cfc\n"
    },
    {
      "commit": "9cae217050aa1347d4ac5053c305754879e3f97f",
      "tree": "dff82f277cba8f34af39eaeeb00adec01bbda26c",
      "parents": [
        "be567be3f92026f5964c1c9ecce00e30bb7df412"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 14:12:05 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 25 14:06:03 2013 -0700"
      },
      "message": "Assign blame for playback wakelocks.\n\nSet a work source for the playback wakelock, so that playback is\ncounted against the requesting app instead of the media server.\n\nCherrypicked from master.\n\nb/9464621\n\nChange-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31\n"
    },
    {
      "commit": "95c03858e2ab4fb693a2bfe47b3caa806e43c044",
      "tree": "f872e4b7570cf2f431cca474e47d9d10c6cbed66",
      "parents": [
        "6a51d7ed7062536ccc892c8850a34ed55cbc8d5c",
        "2e422c472c91aa7912befd0fc038d1e11f354bc1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 22:02:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 18 22:02:47 2013 +0000"
      },
      "message": "Merge \"Allow releaseBuffer after flush\" into klp-dev"
    },
    {
      "commit": "2e422c472c91aa7912befd0fc038d1e11f354bc1",
      "tree": "7583e04f353f9cadf5081fafdcb8042450e3c85c",
      "parents": [
        "dedc7b0fa23c21b525dc8abb572bb8161ad66a9b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 13:00:29 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 13:53:41 2013 -0700"
      },
      "message": "Allow releaseBuffer after flush\n\nAfter AudioTrack start checks for pending flush,\nallow releaseBuffer on any previously obtained buffer.\nFor example, this can happen if the resampler has obtained\na buffer but not released the whole buffer yet.\nNote that the resampler will be reading obsolete data.\n\nBug: 11285590\nChange-Id: I0614fbb62e43604aac3089cce4b7797c87a306b5\n"
    },
    {
      "commit": "6a51d7ed7062536ccc892c8850a34ed55cbc8d5c",
      "tree": "95746546a67c27a04a0e5bd82f9760d80ad5f0d9",
      "parents": [
        "dedc7b0fa23c21b525dc8abb572bb8161ad66a9b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 17 18:59:26 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 17 18:59:26 2013 -0700"
      },
      "message": "audioflinger: fix track terminated before playing\n\nWhen a track is terminated before any audio was written,\nwe should not send a drain request to the HAL. The drain\nwill be ignored and we will wait the async callback for ever.\n\nAlso fix a potential deadlock by not deleting a track with the\nthread mutex held: mPreviousTrack changed from a sp to a raw pointer.\n\nBug: 11247103.\nChange-Id: I0a4b47b099204c7c326d45d700234ab8f72d8eae\n"
    },
    {
      "commit": "12022ff8d223ccf4dfae019c81e4a93a3f44985c",
      "tree": "ba799e32b0699249e7fb8e6f5d6fa4120b978d67",
      "parents": [
        "f8f15b05fe051009945c9042a1a9260280e0feb2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 11:32:39 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 11:33:31 2013 -0700"
      },
      "message": "Fix flush() followed by start()\n\nBug: 11259166\nChange-Id: I72526cdfd4e3ff4b06e6a317e577f57cc285205d\n"
    },
    {
      "commit": "afada1e56cf0f91be5e44678850fcead2a70cca2",
      "tree": "6d88090137f1b7129e0f953acecdb76760e4ef6e",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "message": "Camera: don\u0027t do hw support check for ZSL\n\nOnly use camera.disable_zsl_mode to control disable/enable ZSL.\n\nBug: 11258054\nChange-Id: Ibf10b959d0913f7dedb59d89b571e9bf66fe978a\n"
    },
    {
      "commit": "e6056ba0f2399fa3ebea9665e12a8237f99de250",
      "tree": "184e36a01bed4e9b529cc7d46ba820f498e41d4b",
      "parents": [
        "ab70649e2b0ea3d917242814417ec5711f4cb811"
      ],
      "author": {
        "name": "Yu Yezhong",
        "email": "yuyezhong@gmail.com",
        "time": "Tue Oct 15 14:32:34 2013 +0800"
      },
      "committer": {
        "name": "Yu Yezhong",
        "email": "yuyezhong@gmail.com",
        "time": "Tue Oct 15 14:32:34 2013 +0800"
      },
      "message": "Frameworks: AudioFlinger: Fix effects memory leak\n\nPatch by: csheng@marvell.com\nChange-Id: I4e3032fb34643902f98e8fd7c8e894b6452324c9\nSigned-off-by: Yu Yezhong \u003cyuyezhong@gmail.com\u003e\n"
    },
    {
      "commit": "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3",
      "tree": "1eebc29942794f1688fde67b9056803b8194355a",
      "parents": [
        "b3cb72a17d9a472883e9e2faa18b42eac533fe99"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 14 15:03:38 2013 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 14 17:29:57 2013 +0100"
      },
      "message": "Make Audio wakelock names less unique.\n\nThese wakelocks now show up in the client process, where they\nmight cause wakelock overflows if AudioFlinger threads die often.\n\nThe client process should be agnostic of audio flinger threading,\nso don\u0027t make the wakelock names rely on audioflinger thread names.\n\nWakelock names now depend only on the audio flinger thread type, and\nnot the ID itself.\n\nbug: 11200551\n\nChange-Id: Ia1f71b569cb7502d617b77596abc245f461a6ec0\n"
    },
    {
      "commit": "d72b7c0180ee83fc3754629ed68fc5887a125c4c",
      "tree": "9c6bef31eaca96d7420a65fcdd2438666c5668dd",
      "parents": [
        "15ad2470b2f2ac34473eb568b606ad75e8e63ac6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 16:17:46 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 16:37:00 2013 -0700"
      },
      "message": "audioflinger: enable effects after registration if needed\n\nThis fixes a bug where effects were not properly reenabled after\nbeing moved from one playback thread to another. The effect\nis enabled but the audio policy manager sees it as disabled.\n\nBug: 11181933.\nChange-Id: I19cac7acbaf61c546e667fd85ed7d4eda1c716d8\n"
    },
    {
      "commit": "15ad2470b2f2ac34473eb568b606ad75e8e63ac6",
      "tree": "7b1785a6c1c284fc345e5e1d9722ea87432f8491",
      "parents": [
        "d5ed2263a485d6e633fe08f033d04fad75daec6f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:21:11 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:48:16 2013 -0700"
      },
      "message": "Camera: Fix deadlock in Camera3OutputStream\n\nprocess capture request thread, process capture result and setParameter\nbinder threads can run into circular locking situation when acquiring\nStreamingProcessor lock, Camera3Stream lock, and bufferQueue lock.\nReleasing the Camera3Stream lock briefly in process capture request\nthread getbuffer call can break this deadlock.\n\nBug: 11016037\nChange-Id: If08d4b134c26be26039b1d5363759e60f911bad6\n"
    },
    {
      "commit": "d5ed2263a485d6e633fe08f033d04fad75daec6f",
      "tree": "6122aedd6246cef0185d35d726ce1f6670a5d750",
      "parents": [
        "1dd08b30e2366cabc50d883885d6229dab8218f2",
        "b790abf4d17f1c6865af7eb1595ec94dc0306447"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "message": "Merge \"Camera: Skip AE precapture when possible\" into klp-dev"
    },
    {
      "commit": "1dd08b30e2366cabc50d883885d6229dab8218f2",
      "tree": "9939b56d22eea0e02b14f7274f098bc6cfbea425",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
        "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "message": "Merge \"Camera2/3: Add more tracing for API1\" into klp-dev"
    },
    {
      "commit": "b790abf4d17f1c6865af7eb1595ec94dc0306447",
      "tree": "af2b7e55f779d29f89fdc82cefba8f941928a440",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 10:26:52 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 12:03:36 2013 -0700"
      },
      "message": "Camera: Skip AE precapture when possible\n\nSkip AE precapture when AE is already converged for still capture use case. This\ncould save still capture latency 6-7 frame time for AE already converged case.\n\nBug: 10712902\nChange-Id: Ie5512618b76e5d87c62c57c3d96d2004c604e29e\n"
    },
    {
      "commit": "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd",
      "tree": "65036c507cfc269e59847bee8e359536e1af2ec2",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 15:13:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 22:48:43 2013 +0000"
      },
      "message": "Camera2/3: Add more tracing for API1\n\n- AF state\n- Async autofocus completion\n- Async takePicture completion\n- Stages of takePicture\n\nBug: 10570497\nChange-Id: Ida9fedd81aa4ee3ae3fb8dfada858a3bc3c213a3\n"
    },
    {
      "commit": "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
      "tree": "25ffe85682c673330d8b806fdef1e9d978f6d698",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 16:12:43 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 09 13:25:21 2013 -0700"
      },
      "message": "Camera: Save 1 frame time for takePicture call\n\nMove the latest request signal call right before submitting request to HAL,\nwhich avoids unnecessary 1 frame time wait.\n\nAlso fix request status constructor issue, and the log tag for Camera2Client.\n\nBug: 10570497\nChange-Id: I0b1818658bee9983b117e49a5a00f1aab515c567\n"
    },
    {
      "commit": "828363dada5878fca6e0cb1553fbea96f38671c8",
      "tree": "608bb4956dad2e8582fb874c350d40f7d3367cb9",
      "parents": [
        "a676e96c6ed71846bdf60448bd63100ee2b357fb",
        "215bb3499c7eeea6303e55fac66452f2574c022a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "message": "Merge \"camera2: Don\u0027t race while dumping last frame metadata\" into klp-dev"
    },
    {
      "commit": "a5209c2e6a89ecd8d3bec79cb0e82a677301d794",
      "tree": "1ffffa90a5d70ef23fbd554f32cfa52bb5cc42df",
      "parents": [
        "aab5b08cb4a3b5a47daece6168f41ec918020739",
        "07d2169d46f3536add6044dbf106967a1982252f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 08 18:46:21 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 08 18:46:21 2013 +0000"
      },
      "message": "Merge \"Camera3: Improve resilience to stream failures\" into klp-dev"
    },
    {
      "commit": "07d2169d46f3536add6044dbf106967a1982252f",
      "tree": "08090732d0c87e4dc781505e6396c33419b0ef62",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 24 18:04:19 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 08 11:21:06 2013 -0700"
      },
      "message": "Camera3: Improve resilience to stream failures\n\n- Handle binder connection drops (DEAD_OBJECT) for streams\n- Just log an error, don\u0027t go to an error state when queue/dequeue fails\n\nBug: 10347526\nChange-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc\n"
    },
    {
      "commit": "215bb3499c7eeea6303e55fac66452f2574c022a",
      "tree": "4a42ea582e33d46c79c9a033ff8d10b14e4aad42",
      "parents": [
        "fee4ce338d78eeb58af1f66831ead53322d3859e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "message": "camera2: Don\u0027t race while dumping last frame metadata\n\nBug: 11095203\nChange-Id: Icfb31e1719634b62004d6c15a95a9316e9642e4c\n"
    },
    {
      "commit": "fee4ce338d78eeb58af1f66831ead53322d3859e",
      "tree": "f90931a7c5c4628b0e8e47976d68a9d586802b53",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a",
        "e93cf2ca27ae6f4a81d4ef548bbf10a34db6d98f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 07 16:16:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 07 16:16:06 2013 +0000"
      },
      "message": "Merge \"Cleanup openRecord error handling\" into klp-dev"
    },
    {
      "commit": "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a",
      "tree": "1650f71cf339cd9d561377e239e2a12f7b08cffc",
      "parents": [
        "026c5b07fefd36e0e2dd7035c2898d0e28596d0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 16:23:48 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 16:37:07 2013 -0700"
      },
      "message": "audioflinger: offload: fix pause/flush/resume\n\nIf a pause/flush/resume sequence is fast enough, resume is received while\nwe are still in PAUSING state in which case it is a NOP. If this happens,\nflush is still forwarded to the audio HAL but is not preceeded by a pause\nwhich can cause problems to the audio DSP.\nIt is necessary to preserve the flush as this sequence is typical to a seek.\n\nThe fix consists in forcing a pause/resume when a flush request must be\nexecuted and the audio HAL has not been paused previously.\n\nBug: 11081559.\nChange-Id: Ib84ed26d503a61c05933b923ec556b10cedfe140\n"
    },
    {
      "commit": "547789d25dc6bd6561553bcf6b384fb0d4fee834",
      "tree": "767ae4b24b4fc71cc547cfa16898f5299d26a6cc",
      "parents": [
        "7bab024867996bec6dc4e3e31ed4570da9afbc25"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 11:46:55 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 11:46:55 2013 -0700"
      },
      "message": "audioflinger: fix wake lock acquisition check\n\nCommit e14a5d6 introduced a bug in ThreadBase::acquireWakeLock() where\nthe wake lock acquisition return code is not initialized before\nbeing checked causing the wake lock token to be sometines not set\nand potential failure to release the wake lock later.\n\nBug: 10985160.\nChange-Id: Iffd40e773ae3bcfec3c148a844d5dbebbf474eaf\n"
    },
    {
      "commit": "19fffcbd89a51af797265af2e11c97be5820a07d",
      "tree": "c3a796d2b8aad1ea24158d22053a2524634de8f1",
      "parents": [
        "8097068de97c0cdab8150931f290edbd5b3721e5",
        "1d1f846c0dbaa36d0944e7b1e54cc07863e00a92"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 23:05:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 23:05:42 2013 +0000"
      },
      "message": "Merge \"Camera3: track request status in inflight queue\" into klp-dev"
    },
    {
      "commit": "1d1f846c0dbaa36d0944e7b1e54cc07863e00a92",
      "tree": "1e29ccb730ffb1fe799d3f55ccabf5579851fae5",
      "parents": [
        "6ea551fa13b69e5ce359a7dba7485d857a005304"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 02 16:29:51 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 15:14:34 2013 -0700"
      },
      "message": "Camera3: track request status in inflight queue\n\nBug: 9758581\nChange-Id: I1d7135cd0932bd6b453acabfeb9a553985c887bc\n"
    }
  ],
  "next": "8097068de97c0cdab8150931f290edbd5b3721e5"
}
