)]}'
{
  "log": [
    {
      "commit": "f7da096db8655531c2f2b7bddccd1064b1021155",
      "tree": "ae0c3ba796b2da3f069c1f13dc23c49f1838f695",
      "parents": [
        "67ee990d324229ab0565ce632bd5a04297e16a01"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Apr 24 13:27:56 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Apr 25 18:12:52 2014 -0700"
      },
      "message": "Camera3: scale the max jpeg buffer size based on resolutions\n\nThe max jpeg buffer size was always the android.jpeg.maxSize, regardless of\nthe actual jpeg capture size. This creates a huge memory waste especially\nfor smaller size jpeg capture. Now the max jpeg buffer is linearly scaled based\non the resolution.\n\nBug: 14288983\nChange-Id: I8a971b8e2f4fc7fec0154547bdb688579af71a47\n"
    },
    {
      "commit": "e273141263e988ab086a8d41e0e4fc75c00f1b86",
      "tree": "9423ffa485d085bb073beb546ac24ad8ea8bdeb7",
      "parents": [
        "66036d50a8303cddfdd5c7320eea0eff48cb4a5e",
        "7e5c635114a7762ad44581300021667a0da97389"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Apr 24 15:43:05 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 24 15:43:05 2014 +0000"
      },
      "message": "am 7e5c6351: am 4513aa2c: Merge \"AArch64: rewrite audioflinger\\\u0027s sinc resample by intrinsics.\"\n\n* commit \u00277e5c635114a7762ad44581300021667a0da97389\u0027:\n  AArch64: rewrite audioflinger\u0027s sinc resample by intrinsics.\n"
    },
    {
      "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": "7ef20390ba4375c4b08edd14923846086987a8c8",
      "tree": "a95af2cb1432f7cba15e779dc23d9674500250bf",
      "parents": [
        "e7ec24c9934c98a451e986a07651992df7fe6558"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 21 16:04:17 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 21 23:41:45 2014 +0000"
      },
      "message": "camera3: Don\u0027t hold mLock during flush call\n\nHAL calls into Camera3Device functions like processCaptureResult during flush\ncall. When Camera3Device runs into error state during flush call,\nprocessCaptureResult calls setErrorState(), which leads to deadlock.\n\nChange-Id: I35a03f6eb4b77f914097917cb37de98663de365f"
    },
    {
      "commit": "e7ec24c9934c98a451e986a07651992df7fe6558",
      "tree": "08fb49483a4768b6ced305302d63ce217d80ecdf",
      "parents": [
        "106b83d2447d3209d12fdc05215b965e05c5efea",
        "3c76fa3e73374dfe7bb93e1b03fed30749e1e4b9"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Mon Apr 21 20:43:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 21 20:43:53 2014 +0000"
      },
      "message": "Merge \"CameraService: fix waitUntilIdle bug revealed by TestingCamera2.\""
    },
    {
      "commit": "106b83d2447d3209d12fdc05215b965e05c5efea",
      "tree": "43f2f058db5e09082565ab4fe401886d0349224c",
      "parents": [
        "18e846c1ca29d7c4e4607243bc5ba694385128a1",
        "dae621c2c7f40f1587b97636975908e1374ade9a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 21 20:32:03 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 21 20:32:03 2014 +0000"
      },
      "message": "am dae621c2: am 95006625: Merge \"camera: set mNeedConfig after creating ZSL stream\"\n\n* commit \u0027dae621c2c7f40f1587b97636975908e1374ade9a\u0027:\n  camera: set mNeedConfig after creating ZSL stream\n"
    },
    {
      "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": "3c76fa3e73374dfe7bb93e1b03fed30749e1e4b9",
      "tree": "a316962310eaa4fd603c88ec6149eeb0cab16e76",
      "parents": [
        "77d4f613bbed8b646c8ddade6a0737fcbd391b07"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Mon Apr 21 11:34:34 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Mon Apr 21 11:34:34 2014 -0700"
      },
      "message": "CameraService: fix waitUntilIdle bug revealed by TestingCamera2.\n\n* clear mStreamingRequestList in flush\n* fix frame number checker in notify and processCaptureResult\n\nBug: 14166437\nChange-Id: I022421080d05138f9068c1b9b85d83bd613b04fb\n"
    },
    {
      "commit": "6adc9ccb2948d9421a0ed4b74f52b909bcec2037",
      "tree": "511b67a742dcc45fa1e7d7932cb9275069e56fae",
      "parents": [
        "cb010a3fa85db1eb90346b35e484e21e7f1b1a4b"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Apr 15 14:09:55 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Apr 18 17:55:51 2014 -0700"
      },
      "message": "Camera3: block until get an available buffer\n\nCamera3Stream shouldn\u0027t error out when the max number of buffers are already\ndequeued. It should block until next buffer returned from camera device.\n\nBug: 11595505\nChange-Id: If65a70c29cb04219e14ded0744059c0ab783444b\n"
    },
    {
      "commit": "77d4f613bbed8b646c8ddade6a0737fcbd391b07",
      "tree": "cfb68c9ff057cb8349f51ebcd5b0822fd7425a7d",
      "parents": [
        "ce65a05eddc8a39d9805d1e1eee0292725df1f1c",
        "2d6bb3f9e3e7cc1c7debbbe3d74bf9c70b6f39d4"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 17 23:59:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 17 23:59:59 2014 +0000"
      },
      "message": "Merge \"CameraService: fix race condition and wrong last frame number.\""
    },
    {
      "commit": "2d6bb3f9e3e7cc1c7debbbe3d74bf9c70b6f39d4",
      "tree": "7e795593f43e694a9dee3e07f0a1a92a49cb9d7d",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Fri Apr 11 10:00:31 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 17 15:33:57 2014 -0700"
      },
      "message": "CameraService: fix race condition and wrong last frame number.\n\nChange-Id: Ie2be9a77a0b074497615de38cbb8e8f13b4858ec\n"
    },
    {
      "commit": "1b24cf32e02a1372e57b3a2a432bc0adfe496e6d",
      "tree": "220f4583ae1081df62fa5c861eed3e9e90a24515",
      "parents": [
        "4845b69f70ff457be8d8908f6eb61e2af67e00d3",
        "e80631aa1992ca50af679cd6a018c0ffda7f9b17"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "message": "am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027e80631aa1992ca50af679cd6a018c0ffda7f9b17\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\n"
    },
    {
      "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": "f0948bcf06b8a9679f4b772237c80ee63829423f",
      "tree": "fa3c6bf9ef16143a65c25ab121ab7224a4e12ad8",
      "parents": [
        "96b0d5ef85d4d71690c41c84456afbf19864c785",
        "6056bdda5b17c62ba320c806489e4d1a3b7653c7"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Apr 15 17:06:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 15 17:06:04 2014 +0000"
      },
      "message": "Merge \"Camera: don\u0027t dereference timestamp if it is missing\""
    },
    {
      "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": "6056bdda5b17c62ba320c806489e4d1a3b7653c7",
      "tree": "c37595e7cf1c8c34b78ca942518bf6cefa9898d3",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 14 19:35:04 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 14 19:35:04 2014 -0700"
      },
      "message": "Camera: don\u0027t dereference timestamp if it is missing\n\nBug: 14059542\nChange-Id: I8b45a98ef4b296db314cab3819d11626ac7211be\n"
    },
    {
      "commit": "96b0d5ef85d4d71690c41c84456afbf19864c785",
      "tree": "4b63ae9e7b754ca77792ad6a062d767250847116",
      "parents": [
        "17ca0141634a7fa552db3cfdf2a3e79289ec54af",
        "bafa561d0c9363c5307b6b1daa498bd3ae36089d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 15 02:09:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 15 02:09:14 2014 +0000"
      },
      "message": "Merge \"Improve resampler filter computation speed\""
    },
    {
      "commit": "c125f38cd0ae35409a01b98a99e483550daa1313",
      "tree": "efee74222317630cd7e90c2d3c25867906030639",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 11 18:37:33 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 14 09:54:46 2014 -0700"
      },
      "message": "audioflinger: forward device change to effects in direct thread\n\nDevice change during offload playback is not informed to effect chain\nwhich causes effects still work on unexpected output devices. Add device\nchange notification in direct output thread.\n\nOriginal author wjiang \u003cwjiang@codeaurora.org\u003e\n\nCRs-Fixed: 630408\nBug: 14053172\nSigned-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\nChange-Id: I094a99bdf540479cee2fca6614ec35c2fa7d6046\n"
    },
    {
      "commit": "27a17103f99d23157ac80ef7d75e25a3aae788bd",
      "tree": "ff57e716497c6583aa264ff02e1ffd42840d17d6",
      "parents": [
        "8e1554f35ffcc0f7ac833a796adf3926371fcb76",
        "df383a5a54582811e5e038efc557172b8ec69dd1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 12 00:43:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 12 00:43:36 2014 +0000"
      },
      "message": "Merge \"Update test-resample to handle multichannel\""
    },
    {
      "commit": "df383a5a54582811e5e038efc557172b8ec69dd1",
      "tree": "e619d601e84167d4122bae647bd15aff030f4e86",
      "parents": [
        "771386e6e6e79697e2d839ef0f25a242946ba1e5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 09 19:10:15 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 10 15:19:08 2014 -0700"
      },
      "message": "Update test-resample to handle multichannel\n\nOption -c # specifies number of channels (mono default).\nOption -s to specify stereo is removed (-c 2 replaces).\nOption -h to specify WAV header is removed (WAV is now default).\n\nChange-Id: Iba4b83806028a8a9c1ddba6f555182d214ef73ff\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "43827aea591c2fffdb87006462a5aa7a131a25c0",
      "tree": "9d0e7165f522972b5359d5a2b63928eef376e97f",
      "parents": [
        "9e5763aefde93afd375e0d9874e515d7c27b212b",
        "13d315eb8c0848ea0584b9fb1d27bab55bc8158b"
      ],
      "author": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Thu Apr 10 20:44:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 10 20:44:30 2014 +0000"
      },
      "message": "Merge \"camera3: Remove register_stream_buffers for HAL 3.2+\""
    },
    {
      "commit": "9e5763aefde93afd375e0d9874e515d7c27b212b",
      "tree": "7bb421efe179aaa521745cc570b208bcb3ba09e1",
      "parents": [
        "771386e6e6e79697e2d839ef0f25a242946ba1e5",
        "cb0652e5a850b2fcd919e977247e87239efaf70e"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 10 19:53:05 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 10 19:53:05 2014 +0000"
      },
      "message": "Merge \"CameraService: trigger appropriate callbacks for burst capture.\""
    },
    {
      "commit": "cb0652e5a850b2fcd919e977247e87239efaf70e",
      "tree": "bdba4ac95dedd4ad9be77b9f5a86e147c11224f3",
      "parents": [
        "d27368f7d28813f7dad37fc31940c822df80e68e"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Wed Mar 12 18:29:36 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 10 11:54:08 2014 -0700"
      },
      "message": "CameraService: trigger appropriate callbacks for burst capture.\n\n* Instead of tracking CameraMetadata only, now we track both\nCameraMetadata and CaptureResultExtras, which is not part of\nthe HAL metadata. This will enable the correct callback of\nonCaptureStarted and onResultReceived given burst requests.\n\n* Get last frame number in reply when submitting requests,\ncanceling requests, and flushing device. For repeating requests,\nthis frame number is the last frame number of the previous\nrequest. For non-repeating requests, this frame number is the\nexpected last frame number of the current request. The goal\nis provide frame number to Java side in order to trigger\nonCaptureSequenceCompleted correctly.\n\n* Fix notifyError so that onDeviceError can be called correctly.\n\nBug: 10749500\nChange-Id: I2f3dda6c530090055d4a2ff9f0f087bbbe8d9257\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": "771386e6e6e79697e2d839ef0f25a242946ba1e5",
      "tree": "a96089d65f91b69e94dfa09c9a31ac6d9274f1cd",
      "parents": [
        "d549139155b20d7cbf6a4326133e06def465ef54"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:44:38 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 09 14:30:31 2014 -0700"
      },
      "message": "Add and enable floating point option for audio resampler\n\nCan be tested with test-resample.\n\nChange-Id: I8339846d7c647444b6025d33cfa145d5d3658121\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "d549139155b20d7cbf6a4326133e06def465ef54",
      "tree": "2d11e173c5e471f26ebeb11721a2fa65df31a01a",
      "parents": [
        "430b61c72094882bc48693dfc10c256a6ae36ee9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:28:09 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 09 14:21:54 2014 -0700"
      },
      "message": "Add floating point to audio resample processing\n\nAdd template type parameters for input, output data type.\nMinor change in non-NEON mono channel handling.\nMinor fixup on comments.\n\nChange-Id: I7dc9972d130913718b62f32c02d31f99c06682f2\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "13d315eb8c0848ea0584b9fb1d27bab55bc8158b",
      "tree": "901bbfa0db6cb5771235b38d00cf84af03b5a4ab",
      "parents": [
        "0d521d91154fe0199181c845b6dc70faf38ca8fb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Apr 03 18:09:04 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Apr 09 11:35:01 2014 -0700"
      },
      "message": "camera3: Remove register_stream_buffers for HAL 3.2+\n\nUse \u0027setprop camera.dev.register_stream 1\u0027 to skip the fatal NULL check\n- This property will be removed before shipping L\n\nBug: 13301331\nBug: 13435680\nChange-Id: I16aacd7b22e0a10b34f6fb8501be0256170a8cd5\n"
    },
    {
      "commit": "430b61c72094882bc48693dfc10c256a6ae36ee9",
      "tree": "c707e9098f59017e639c5cb1923572ea17b5cd85",
      "parents": [
        "781366833a12877b8d5ad4aa081114e30f799319"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:10:02 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:10:02 2014 -0700"
      },
      "message": "Add capability for floating point Kaiser window filters\n\nChange-Id: Idbb33248bbab2300c2650a4657d8fbc482a5d46c\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "781366833a12877b8d5ad4aa081114e30f799319",
      "tree": "0f020ad949f608a8af1991b7d84d0fa264dbac4f",
      "parents": [
        "0d521d91154fe0199181c845b6dc70faf38ca8fb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 17:59:59 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 17:59:59 2014 -0700"
      },
      "message": "Update test-resample to handle floating point\n\nChange-Id: Ib34d716fbabcd5eb70f8a5ffcf362e242671d916\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "0d521d91154fe0199181c845b6dc70faf38ca8fb",
      "tree": "aa82d7bf0dffdf6d04323067dae8795931b68ab3",
      "parents": [
        "d27368f7d28813f7dad37fc31940c822df80e68e",
        "1e4e4f40b4e2c655ca377adbba53df897545c3ae"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 08 19:16:11 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 08 19:16:11 2014 +0000"
      },
      "message": "Merge \"Fix 64-bit build warnings\""
    },
    {
      "commit": "1e4e4f40b4e2c655ca377adbba53df897545c3ae",
      "tree": "abf495ff585fcda3118bbf02adfc05690200b366",
      "parents": [
        "c51db0a6bfb71ea9c934fb7971cb5ae1f1cf03a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 08 10:41:02 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 08 10:41:02 2014 -0700"
      },
      "message": "Fix 64-bit build warnings\n\nChange-Id: I667401522cb4ccd41013e2883a4c75ddeca08ef6\n"
    },
    {
      "commit": "bc6ae9bd4ee93e91e212ad35be038f21797ef31e",
      "tree": "848701c25988f69b4a2c10ae1c25afb28cf84725",
      "parents": [
        "c51db0a6bfb71ea9c934fb7971cb5ae1f1cf03a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 07 13:02:08 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 07 13:03:40 2014 -0700"
      },
      "message": "Fix regression in FastMixer statistics\n\nAt some point, the mSampleRate in FastMixerDumpState stopped being\ninitialized correctly.  I\u0027m not sure when this happened, it doesn\u0027t seem to\nbe introduced in recent CLs.  This lack of initialization caused\nsome of the FastMixer statistics based on sample rate to be useless.\n\nChange-Id: Id2a96d606130a90c4c4f1bddd59778f6c6428a9c\n"
    },
    {
      "commit": "84a0c6e87c48f58a0d3be71961432c086a4d24cc",
      "tree": "a9bea7e95223dc4d1f3219d4e60dd385881ec6d8",
      "parents": [
        "99021c47f45ee8bf3317cff7d08226e76c8d8227"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 11:24:53 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 14:33:26 2014 -0700"
      },
      "message": "Change references of Q19.12 to Q4.27 for clarity\n\nChange-Id: I5beb7daf6ff9bc123ff3582f7c294edcaf8652f6\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "bafa561d0c9363c5307b6b1daa498bd3ae36089d",
      "tree": "725ae0e8b8c8bc532c4c23c2b4a133aec35a9410",
      "parents": [
        "2ade30003882f0c3782d68018d06cb81b99dfeb2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 13:52:10 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 13:52:10 2014 -0700"
      },
      "message": "Improve resampler filter computation speed\n\nApproximate speed improvement is 10-15% for filter computation,\nwhich is floating point intensive. This will be important\nfor devices without hw floating point support.\n\nChange-Id: I10b4e778c8d632b52218a777504b092c189e437f\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "2ade30003882f0c3782d68018d06cb81b99dfeb2",
      "tree": "515a19da1dc7387195367c0d706ab2cc92a5e6e5",
      "parents": [
        "1e0c8cd8fad2108c8ea085748fcca2059e3ce4ab",
        "f7160b5dc3091fd9624f25d534c6848ee831b706"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 01 17:47:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 01 17:47:01 2014 +0000"
      },
      "message": "Merge \"FastMixer use FastThread and FastMixerState use FastThreadState\""
    },
    {
      "commit": "1e0c8cd8fad2108c8ea085748fcca2059e3ce4ab",
      "tree": "27d07871207369abdba016641f900838fe6f7c28",
      "parents": [
        "3a6c90aa0617666d9abc94c02b752d9eb3d64772",
        "4cd161b5bf7a8008d684db4b217ed84d1704e683"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 01 17:32:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 01 17:32:17 2014 +0000"
      },
      "message": "Merge changes I5748f47d,I3f074933\n\n* changes:\n  Add FastThread.h\n  Add FastThreadState\n"
    },
    {
      "commit": "f7160b5dc3091fd9624f25d534c6848ee831b706",
      "tree": "521236419b4532dc8e91ed22be147a6aeb8baa34",
      "parents": [
        "4cd161b5bf7a8008d684db4b217ed84d1704e683"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 17:01:15 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:23:11 2014 -0700"
      },
      "message": "FastMixer use FastThread and FastMixerState use FastThreadState\n\nChange-Id: I594c973e9f575113bdefee6f4cf8c29d8beac1f3\n"
    },
    {
      "commit": "4cd161b5bf7a8008d684db4b217ed84d1704e683",
      "tree": "7ef8cd9b1e9167a027922256e24675d214551884",
      "parents": [
        "a18f644ce5eb4ab876b343e24ea613566c00058f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 16:25:04 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:23:03 2014 -0700"
      },
      "message": "Add FastThread.h\n\nChange-Id: I5748f47dbfa42c14cc93973742e05ac963bf3ba8\n"
    },
    {
      "commit": "a18f644ce5eb4ab876b343e24ea613566c00058f",
      "tree": "0ae47695a79fd411a88c2ae9272bc76c01469071",
      "parents": [
        "5e184b0d12f1ec436246a391da8d9355cc21ee08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 17:17:04 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:22:54 2014 -0700"
      },
      "message": "Add FastThreadState\n\nChange-Id: I3f07493375ace6e5cfdcd02ad90c4b6fad543b0c\n"
    },
    {
      "commit": "3a6c90aa0617666d9abc94c02b752d9eb3d64772",
      "tree": "150424841e6732f1d3a1c6df6139f8f307db0d2f",
      "parents": [
        "5e184b0d12f1ec436246a391da8d9355cc21ee08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 15:07:51 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:22:09 2014 -0700"
      },
      "message": "Add FIXMEs to createRecord for fast capture\n\nChange-Id: I759be200fae32969212c52a409f46f2e704081e3\n"
    },
    {
      "commit": "1490d5142d8d485ea0d56a9974726fb6dff0a62d",
      "tree": "8f3e0673fd986949b0e307e401bbbb832bca0d3f",
      "parents": [
        "afe1ba72551d6bd6e3bee9b77fe7538201ab6193",
        "cf515ab0030cf5e0bef843638af7c989a8f6843a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 28 16:43:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 28 16:43:59 2014 +0000"
      },
      "message": "Merge \"Mark the logging heap read-only to media.log service\""
    },
    {
      "commit": "5bdb3c4d93269511d21d155c78790ee70d423095",
      "tree": "98bcbd76fafee2cec1743000d3e1205a7e093799",
      "parents": [
        "2f8a36fc8df14cba33fa7c5c1c9d5a52f8a133c2",
        "95dd5ba5bf83716f2eed5fe72366c4212464d710"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Mar 27 20:24:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 20:24:19 2014 +0000"
      },
      "message": "Merge \"Camera3: fix HAL3.x version check issue\""
    },
    {
      "commit": "2f8a36fc8df14cba33fa7c5c1c9d5a52f8a133c2",
      "tree": "7d46255b2e5a25ca5de3cc756152a3a64121ea6c",
      "parents": [
        "2347c7b0502f5f71d2f0e22d39f1d5a61add3f6b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 19:05:55 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 19:05:55 2014 -0700"
      },
      "message": "Fix the build\n\nChange-Id: I2169a3d26f4e35e5cfa35a1264175aab6ac4db41\n"
    },
    {
      "commit": "95dd5ba5bf83716f2eed5fe72366c4212464d710",
      "tree": "eb079faddf0fac3f259b9529f4171081105cf2db",
      "parents": [
        "ecdca392ed40e89a6ef14b86446e952c35497ac4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Mar 26 18:18:00 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Mar 27 01:24:52 2014 +0000"
      },
      "message": "Camera3: fix HAL3.x version check issue\n\nCamera service should support HAL3.x instead of only HAL3.0.\n\nBug: 13609405\nChange-Id: If7e86f9abe019547fc0be2e11337551cd7c57870"
    },
    {
      "commit": "2347c7b0502f5f71d2f0e22d39f1d5a61add3f6b",
      "tree": "6a1902c2f1bbb9c1283d3689e12b251ccdae8c4e",
      "parents": [
        "ec31c8d17f587cba01d5516ccd336aa54323c668",
        "1b512c05f46465a7b1a1d69f82937d7199d5d926"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 27 01:22:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 01:22:34 2014 +0000"
      },
      "message": "Merge \"audio policy: remove obsolete AudioPolicyManager class members\""
    },
    {
      "commit": "ec31c8d17f587cba01d5516ccd336aa54323c668",
      "tree": "7c18ea28c41e59211b5cc99f2ef42b897977d83c",
      "parents": [
        "c9b8d90dabdf1234be0117c592f635a92c4eb0d9",
        "3a4311c68348f728558e87b5db67d47605783890"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 27 01:22:16 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 01:22:16 2014 +0000"
      },
      "message": "Merge \"audio policy: use new audio device representation\""
    },
    {
      "commit": "c9b8d90dabdf1234be0117c592f635a92c4eb0d9",
      "tree": "8bbeb033b0eb0bcbbfb12faaa6f2133d3cd093ea",
      "parents": [
        "5c4fa907328c8ee586367272c7525cb87742f14d",
        "142f519aa1acd5804d111e60d100f170fed28405"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 23:23:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 23:23:09 2014 +0000"
      },
      "message": "Merge \"Use symbol AUDIO_IO_HANDLE_NONE from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "1b512c05f46465a7b1a1d69f82937d7199d5d926",
      "tree": "354295c76a76128d3122f8f4ac58bb5a1bf4c601",
      "parents": [
        "3a4311c68348f728558e87b5db67d47605783890"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 12:42:06 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 15:28:47 2014 -0700"
      },
      "message": "audio policy: remove obsolete AudioPolicyManager class members\n\nRemove mHasA2dp, mHasUsb and mHasRemoteSubmix members from\nAudoPolicyManager. They are not needed any more since\nwe use device descriptors with additional attributes.\n\nAlso remove obsolete limitation on device address\nlength (MAX_DEVICE_ADDRESS_LEN).\n\nChange-Id: Iffe760a521692a4b50be3f6b935af84afb61bb86\n"
    },
    {
      "commit": "3a4311c68348f728558e87b5db67d47605783890",
      "tree": "920ecdf2868176572b6770200d6e3314c5462dd7",
      "parents": [
        "172a7a965c21c29ee38c77d53d91780c7dca09bf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 12:00:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 15:28:33 2014 -0700"
      },
      "message": "audio policy: use new audio device representation\n\nRepresent audio devices with more attributes than just the\ntype (audio_device_t).\nThis is in preparation for new routing APIs allowing\ndevice selection based on more criteria than just the type\n(address, channel mask...)\nA new class DeviceDescriptor is created and used by functions\nneeding more information than just the device type.\nBit fields for available and supported input or output devices are\nreplaced by vectors of device descriptors.\nEach available device is allocated a unique ID for future use.\nRemoved obsolete mA2dpDeviceAddress, mScoDeviceAddress and mUsbCardAndDevice\nfields replaced by address stored in DeviceDescriptor.\n\nPolicy decisions like getDeviceForStrategy() are still based\nonly on the device type.\n\nChange-Id: I5de3b3ffb12ff8dcfb746782ab1e6b15bf040d0c\n"
    },
    {
      "commit": "5c4fa907328c8ee586367272c7525cb87742f14d",
      "tree": "072ee3fe93cbcc8505118b51bc371265214036f3",
      "parents": [
        "2301acc6a9c7a3af4ad01f3d1d0f76f13eca7350",
        "adad3d7d935da176ff24941b4ae9edf7340e9b96"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 22:22:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 22:22:24 2014 +0000"
      },
      "message": "Merge \"Use LOG_ALWAYS_FATAL instead of LOG_FATAL\""
    },
    {
      "commit": "142f519aa1acd5804d111e60d100f170fed28405",
      "tree": "aaffc4a234a4b0a5e719374056edf12eb2333b29",
      "parents": [
        "ecdca392ed40e89a6ef14b86446e952c35497ac4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 17:44:59 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 14:56:54 2014 -0700"
      },
      "message": "Use symbol AUDIO_IO_HANDLE_NONE from \u003csystem/audio.h\u003e\n\nChange-Id: Id6b1aa17558eb73e17f22b8eab6cd02e00a96dff\n"
    },
    {
      "commit": "adad3d7d935da176ff24941b4ae9edf7340e9b96",
      "tree": "7a8a2f8e31c7dd690805c1cfd9982d218c66296b",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 21 14:51:43 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 14:46:28 2014 -0700"
      },
      "message": "Use LOG_ALWAYS_FATAL instead of LOG_FATAL\n\nLOG_FATAL is compiled out in most builds, so the\nassertion checks were not being performed.\n\nChange-Id: I774f0985ab9c5ccecd8989a0f1c940386b73fc35\n"
    },
    {
      "commit": "ecdca392ed40e89a6ef14b86446e952c35497ac4",
      "tree": "bf796efe37aca6ded41ca0ad4291ca344af337ac",
      "parents": [
        "51beebba9d4989d05831a13bbe5cdf53ecac1bf5",
        "66e4635cb09fadcaccf912f37c387396c428378a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 21:29:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 21:29:28 2014 +0000"
      },
      "message": "Merge \"Use symbolic constants from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "51beebba9d4989d05831a13bbe5cdf53ecac1bf5",
      "tree": "b2c6af1099ba3c20b8dd08d39f8dcf822303971a",
      "parents": [
        "b8f8d231685afdec472136b45c527a71bfb8bcc4",
        "45faf7e02791993a487d6e038d16ff46395f1975"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 21:14:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 21:14:17 2014 +0000"
      },
      "message": "Merge \"Use symbol AUDIO_DEVICE_NONE from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "73ec11738cd4399c55d4905665a14a7c4cd42cbf",
      "tree": "1105d7402857079f44e234ba1ab6ecfa8290a094",
      "parents": [
        "8c7b9fb41585fccb06573252823b929c82a40999",
        "9ea65d0f4a564478343b1a722fae4ce5883670c3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 20:56:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 20:56:04 2014 +0000"
      },
      "message": "Merge \"Fix uses of KeyedVector\""
    },
    {
      "commit": "1cebdb77323e4554a316b9c34bf36957b7dad5ae",
      "tree": "fb2657136544bb4cb32fa0d8adf0782b421884d9",
      "parents": [
        "551cec544652783e3342c18386f64cee22412b60"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:10:09 2014 +0000"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:33:45 2014 +0000"
      },
      "message": "Revert \"camera: Fix setParameters for Preview FPS single/range values\"\n\nCauses a regression on some devices, so reverting until we\u0027re in a position to fix those devices.\n\nThis reverts commit 9078a1b3b9f9c0c48046ade0e8e18b0d79a659db.\n\nBug: 13563098\nChange-Id: I7aedd01fde8b8fdee77e972ec395f0ecadbf8ccb"
    },
    {
      "commit": "551cec544652783e3342c18386f64cee22412b60",
      "tree": "816a6acded4e9433fd30916ff71c161fdcc54a5e",
      "parents": [
        "172a7a965c21c29ee38c77d53d91780c7dca09bf",
        "bcefec31bd1346133052356ffc8d7ac8a5b13fab"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 17:38:35 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 17:38:35 2014 +0000"
      },
      "message": "Merge \"Document AudioFlinger::nextUniqueId()\""
    },
    {
      "commit": "45faf7e02791993a487d6e038d16ff46395f1975",
      "tree": "d54ff27f6fd42e670ddebfa993a00b5202fb7633",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 10:23:01 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 17:29:00 2014 -0700"
      },
      "message": "Use symbol AUDIO_DEVICE_NONE from \u003csystem/audio.h\u003e\n\nChange-Id: I61f882c5e7c949bf00d3bfc745ebf3b5e1c42a58\n"
    },
    {
      "commit": "66e4635cb09fadcaccf912f37c387396c428378a",
      "tree": "7982a54dbc04375babd42e59c03ef930454a9687",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 16 17:44:23 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 16:22:54 2014 -0700"
      },
      "message": "Use symbolic constants from \u003csystem/audio.h\u003e\n\nAUDIO_INTERLEAVE_*\nAUDIO_STREAM_MIN\nAUDIO_SESSION_ALLOCATE\n\nChange-Id: I31dd6f327204685e50716079ce21c4ba206dff11\n"
    },
    {
      "commit": "9ea65d0f4a564478343b1a722fae4ce5883670c3",
      "tree": "7e23f994d376d45183eac141e914ddbfd126cdf5",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 10:21:24 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 16:13:00 2014 -0700"
      },
      "message": "Fix uses of KeyedVector\n\nConstructor for AudioFlinger::mAudioHwDevs was missing, and so\nAudioFlinger::findSuitableHwDev_l() could return an undefined pointer\nif a non-0 module wasn\u0027t found.\n\nA KeyedVector of Plain Old Data (POD) element type must specify the\ndefault value in the constructor, or else the default will be undefined.\n\nMinor:\n - Parameter had wrong type in constructor for AudioSystem::gOutputs.\n - Remove obsolete AudioSystem::gStreamOutputMap.\n\nChange-Id: I9841493e018440e559d8b8b0e4e748ba2b2d365b\n"
    },
    {
      "commit": "bcefec31bd1346133052356ffc8d7ac8a5b13fab",
      "tree": "4125808fe2bbae00a8bf93ba260688e2f7c11181",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 12:09:05 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 15:42:35 2014 -0700"
      },
      "message": "Document AudioFlinger::nextUniqueId()\n\nChange-Id: Iafe96f1c10bd85cb23a2553945ca68aa601dc2eb\n"
    },
    {
      "commit": "29cdd9bb46437ab580deabf33b2242106e0090b6",
      "tree": "dd68d54734eb8fe5f4aa749f7f9d55dd5b138de7",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1",
        "a1aaaf86cd04eabaf961a30d7b0a9fa857089862"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 21:22:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 21:22:52 2014 +0000"
      },
      "message": "am a1aaaf86: am 4f53fe74: Merge \"CameraService: deadlock fix\"\n\n* commit \u0027a1aaaf86cd04eabaf961a30d7b0a9fa857089862\u0027:\n  CameraService: deadlock fix\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": "d6d1883f607d40be5d9a87909ae563cf94256c24",
      "tree": "db522970675c8149535f004910e73bb161871f4e",
      "parents": [
        "32ce52b01dab863f2b4749e1c69f619cf820486f",
        "69a374897392c8bd70f441b7284f6f578c651ec9"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Mar 25 01:08:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 25 01:08:25 2014 +0000"
      },
      "message": "Merge \"Camera3: Fix flush call deadlock\""
    },
    {
      "commit": "32ce52b01dab863f2b4749e1c69f619cf820486f",
      "tree": "489e255200d3a7bfdac8269bee29a9b55707f14e",
      "parents": [
        "f555c47f1843b5a3557e18c16cb06b0ec06dcf34",
        "5c679d41714e42f153f6aeb492df54510a195bc1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Mar 24 19:36:36 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 24 19:36:36 2014 +0000"
      },
      "message": "am 5c679d41: resolved conflicts for merge of 3d7c5002 to klp-modular-dev-plus-aosp\n\n* commit \u00275c679d41714e42f153f6aeb492df54510a195bc1\u0027:\n  libcameraservice: build 64-bit\n  libcameraservice: fix 64-bit print format warnings\n"
    },
    {
      "commit": "69a374897392c8bd70f441b7284f6f578c651ec9",
      "tree": "de179831b224e28e6693430e80e3299f35c874bf",
      "parents": [
        "2f5d0b32a8c5fcb03e4b0d55c53ff540052b5374"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Mar 23 18:44:49 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Mar 23 18:44:49 2014 -0700"
      },
      "message": "Camera3: Fix flush call deadlock\n\nFlush shouldn\u0027t call waitUntilDrained directly, as they are all API calls\nwith mLock and mInterfaceLock held. Move the waitUntilDrained implementation\ninto waitUntilDrainedLocked to solve this issue.\n\nChange-Id: Id7d931091d5c11e12204790841097433515446db\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": "cfe09079608d78a0a358f01bb49f279859e38664",
      "tree": "9a1b044149726ec242d3a5e948029d71803aaf7e",
      "parents": [
        "55d15957bc44d11052e1cb3eea3340ec00f70bae",
        "90e59c98c343e941b1a75307ffa4b4b5f1eb50d6"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Sat Mar 22 00:04:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 22 00:04:20 2014 +0000"
      },
      "message": "Merge \"CameraService: Add support for burst capture and repeating burst.\""
    },
    {
      "commit": "90e59c98c343e941b1a75307ffa4b4b5f1eb50d6",
      "tree": "e7fa81cc62b2dd7fbaa30d059b7faacc9633e7b6",
      "parents": [
        "a44148187c21d431aec7c7a6915f0fad2c44cd70"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Wed Mar 12 18:29:36 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Fri Mar 21 16:12:24 2014 -0700"
      },
      "message": "CameraService: Add support for burst capture and repeating burst.\n\nBug: 10749500\nChange-Id: I292a485b222e5cf97388d76bf0d956a6ac54bb2f\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": "9ac3c9a7ee931088d09027ffa09414cb0402886f",
      "tree": "44309833a9ac1af6b4edb3a7354ed4e7eb45dc06",
      "parents": [
        "6c38d8a2037d5c0cc110ad9bac71ab677a9d6359",
        "dce54a1492c410ad0d93253b341fb33305337505"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 21 01:09:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 21 01:09:34 2014 +0000"
      },
      "message": "Merge \"audio policy: add option to use new policy manager\""
    },
    {
      "commit": "9078a1b3b9f9c0c48046ade0e8e18b0d79a659db",
      "tree": "b621ec3b2db6b4dcb12df7d201eb474a09183386",
      "parents": [
        "b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 20 00:21:25 2014 +0000"
      },
      "message": "camera: Fix setParameters for Preview FPS single/range values\n\nBug: 12609188\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4db\n"
    },
    {
      "commit": "46d1b4ab7e83c677532587c7c8bd46eb8b30fc67",
      "tree": "0238e0ff00c67b6dfbcf38b4b50c400bd67b0b39",
      "parents": [
        "d74110cdef2becd4f7fd2334c34c3ca73f56b355",
        "f40c4c561151ae93595e8fab5dcaaa1c69df74ef"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 19 13:21:51 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 19 13:23:17 2014 -0700"
      },
      "message": "resolved conflicts for merge of f40c4c56 to master\n\nChange-Id: Ifd5385ad42a81e02e6a6afc6281f09fbff361671\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": "cf515ab0030cf5e0bef843638af7c989a8f6843a",
      "tree": "9bc764714f1daf1a8c4bb9222eddf3dedb3b0aa4",
      "parents": [
        "b5ea3014b8be9eaa16da0144bd81af6fa514d8e2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 16:01:58 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 16:01:50 2014 -0700"
      },
      "message": "Mark the logging heap read-only to media.log service\n\nChange-Id: Ie26a9e7e37c951774c71d2c53886db52dd5479aa\n"
    },
    {
      "commit": "c7e05b0fc54f9ad22c6d219bf8cf6f10f8d9ba9c",
      "tree": "7936019ac07522ded8e35362289f05201f6db34c",
      "parents": [
        "da677084cf68b62063815217156e7b262b493c3d",
        "0c282de73240b1efce64558ab2fa0a8be1f4292b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Mar 18 20:52:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 18 20:52:42 2014 +0000"
      },
      "message": "am 0c282de7: am 77658a06: Merge \"AudioPolicyService: malloc/delete pair\"\n\n* commit \u00270c282de73240b1efce64558ab2fa0a8be1f4292b\u0027:\n  AudioPolicyService: malloc/delete pair\n"
    },
    {
      "commit": "da677084cf68b62063815217156e7b262b493c3d",
      "tree": "f67833e29f8d8d63e21f99cc45a08eb6ec47aab6",
      "parents": [
        "89a677950917263e34327c7b47f3bb7a06ab0b28",
        "2d3ca68363f723fbe269d3ce52dab4985dfc7154"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 19:29:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 19:29:19 2014 +0000"
      },
      "message": "Merge \"audioflinger: OffloadThread fix for resume underrun\""
    },
    {
      "commit": "89a677950917263e34327c7b47f3bb7a06ab0b28",
      "tree": "010aed55f64f518f34ff8dacfda19973ca043bcf",
      "parents": [
        "9d9cba5be2b51d4c6c31cb7169ef2b786c35ddfd",
        "164985121796cf214c7a83d32005d9b01125b558"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 19:28:44 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 19:28:44 2014 +0000"
      },
      "message": "Merge \"AudioFlinger: Change track ready condition in STOPPING_1 state\""
    },
    {
      "commit": "9d9cba5be2b51d4c6c31cb7169ef2b786c35ddfd",
      "tree": "6cfcc1716f1206195f2d059ed8d8bd9050128ed8",
      "parents": [
        "1143ca58e659ded1e851eb12813793ad8ac0563e",
        "8d6c292a0bed3d63b5b7297d09a604af6327c663"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 19:28:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 19:28:04 2014 +0000"
      },
      "message": "Merge \"audioflinger: Handle pause /resume in stopping state\""
    },
    {
      "commit": "dce54a1492c410ad0d93253b341fb33305337505",
      "tree": "2580556580832583ce5cd5a640684b8dc0948783",
      "parents": [
        "0fab43120972dfbf4d6f0ec19ab470131b6c8b09"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 10 12:19:46 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 10:55:33 2014 -0700"
      },
      "message": "audio policy: add option to use new policy manager\n\nAdd build option USE_LEGACY_AUDIO_POLICY to use either new\naudio policy manager in local AudioPolicyManager.cpp\nor the legacy AudioPolicyManagerBase.cpp via the policy HAL.\n\nNew features will be implemented only by the new audio policy manager.\nPlatform customiization will be by config file or new policy HAL.\n\nAudioPolicyClientImplLegacy.cpp copied from AudioPolicyClientImpl.cpp\nAudioPolicyInterfaceImplLegacy.cpp copied from AudioPolicyInterfaceImpl.cpp\n\nNew implementations of AudioPolicyInterface and AudioPolicyClient talking directly to\nAudioPolicyManager.\n\nChange-Id: I7a320883a1de13de2c9295343e996addf2f3c154\n"
    },
    {
      "commit": "b5ea3014b8be9eaa16da0144bd81af6fa514d8e2",
      "tree": "32f343096a8be778e31a4e15456fbd830b0383ea",
      "parents": [
        "0fab43120972dfbf4d6f0ec19ab470131b6c8b09",
        "8aa0f0619ea867e8fb240cf27913d4f8ae767385"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Mar 18 17:55:05 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 17:55:05 2014 +0000"
      },
      "message": "Merge \"Remove deprecated BufferQueue constructor\""
    },
    {
      "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": "0fab43120972dfbf4d6f0ec19ab470131b6c8b09",
      "tree": "dc7bfa09769684b1acc77328fed2dc0400a91ad9",
      "parents": [
        "6fe207b2992a5de2f766b6ab30bc760aa243f4a9",
        "e07208765fcd5904165e425ec714a25c350a2f40"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 17:04:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 17:04:52 2014 +0000"
      },
      "message": "Merge \"audio policy: renamed AudioPolicyManagerBase to AudioPolicyManager\""
    },
    {
      "commit": "6fe207b2992a5de2f766b6ab30bc760aa243f4a9",
      "tree": "ee2b7b461dacb1c662965fbae7c7a56b40d8653f",
      "parents": [
        "402cf17a14331f731686413ab088c628bfb2cc7a",
        "3b73df74357b33869b39a1d69427673c780bd805"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 17:03:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 17:03:55 2014 +0000"
      },
      "message": "Merge \"audio policy: remove dependency from AudioSystemLegacy\""
    },
    {
      "commit": "47b496dac93235740011fcfe7578b19c6b8445e5",
      "tree": "acee92101b8b6403ba5e9a8d894459e5e459e5ce",
      "parents": [
        "a2b81d6cb02d8427dc0d719aa75c34ceddfc3c09",
        "e552edb33fb5873179ae0a46d9579d1103eb13c6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 15:56:41 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 15:56:41 2014 +0000"
      },
      "message": "Merge \"audio policy: import audio policy manager from hardware legacy\""
    },
    {
      "commit": "a2b81d6cb02d8427dc0d719aa75c34ceddfc3c09",
      "tree": "81a505bd98671b90c8278986b10c0055a9d97b7c",
      "parents": [
        "9ff25ced1404c896df9e6ed3a6ad289305559361",
        "2d388eccc9dc085337c7a03a68467cbee6b809e1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 01:54:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 01:54:53 2014 +0000"
      },
      "message": "Merge \"audio policy: split implementation\""
    },
    {
      "commit": "2d3ca68363f723fbe269d3ce52dab4985dfc7154",
      "tree": "c1f8c7bbae0e128158ce90a9985d0219dd719182",
      "parents": [
        "164985121796cf214c7a83d32005d9b01125b558"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Mar 07 13:43:49 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 18:32:07 2014 -0700"
      },
      "message": "audioflinger: OffloadThread fix for resume underrun\n\nAudioFlinger can miss resuming h/w on a pause-\u003eresume transition\nif sufficient data isn\u0027t available\n\nBug: 11358524.\nChange-Id: Ic3c75256290d3515fd4a96dfcc900909fbe5bc15\n"
    },
    {
      "commit": "164985121796cf214c7a83d32005d9b01125b558",
      "tree": "5e84c9a2511f94338b116962ef4eb7ba5903b708",
      "parents": [
        "8d6c292a0bed3d63b5b7297d09a604af6327c663"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 17:22:08 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 18:31:43 2014 -0700"
      },
      "message": "AudioFlinger: Change track ready condition in STOPPING_1 state\n\nSet FS_FILLED only if framesReady() \u003e 0\n\nChange-Id: Ibb1d2e988ff17fcf3a7ab61031a3f85df82f18d5\n"
    },
    {
      "commit": "8d6c292a0bed3d63b5b7297d09a604af6327c663",
      "tree": "344c2297ed00e1e10998490bc4e2f00358536133",
      "parents": [
        "9ff25ced1404c896df9e6ed3a6ad289305559361"
      ],
      "author": {
        "name": "Krishnankutty Kolathappilly",
        "email": "kkolat@codeaurora.org",
        "time": "Tue Feb 04 16:23:42 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 18:30:13 2014 -0700"
      },
      "message": "audioflinger: Handle pause /resume in stopping state\n\n-Pre-requisite:\n Perform seek on the clip. After seek the data remaining till EOS\n is little more than the driver and common block buffering.\n-Framework state:\n Offload thread is waiting for signal from the HAL for a free\n buffer. Audio Player calls sink stop on reaching EOS. Audio\n track is waiting on obtain buffer for a free space in common\n block to send the last buffer. The track is moved to stopping\n state as input EOS is reached.\n-Issue:\n Perform pause/ resume in this state(STOPPING), Audio playback\n does not resume.\n-Fix\n Ensure resume is called in stopping state if frames ready is\n greater than zero.\n\nBug: 12870871\n\nChange-Id: Ib1378c4ee5ce4bea655691e93de0775f7b1d2804\nSigned-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n"
    },
    {
      "commit": "9ff25ced1404c896df9e6ed3a6ad289305559361",
      "tree": "95dd0a04cc1e9977910131196c4829000c73cfc2",
      "parents": [
        "314869117d5e3365fc3e43fee01209d18515ca42",
        "557847ee511dd5e75d584ff04449322f0f098241"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 00:32:24 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 18 00:32:24 2014 +0000"
      },
      "message": "am 557847ee: am a6ca0acf: am bd3e2e03: camera2: Fix segfault when using null availability listener\n\n* commit \u0027557847ee511dd5e75d584ff04449322f0f098241\u0027:\n  camera2: Fix segfault when using null availability listener\n"
    }
  ],
  "next": "557847ee511dd5e75d584ff04449322f0f098241"
}
