)]}'
{
  "log": [
    {
      "commit": "9a1c8892f6835325db6931529dc74bf98cf0aee8",
      "tree": "8b6d6b4dcaf964cf16c68bdc5080239126d2caac",
      "parents": [
        "ab05b4ccb8ea59079d7f773aa0e090029c479bad"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 03 11:37:42 2014 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 03 16:12:35 2014 -0800"
      },
      "message": "Fix getTimestamp if offload thread is not initialized.\n\nReturns INVALID_OPERATION.\n\nBug: 18605649\nChange-Id: I440fb687fbf9249098e049982fa83bcd1515fd80\n"
    },
    {
      "commit": "caf7f48a0ef558689d39aafd187c1571ff4128b4",
      "tree": "7a2c90732783e2c90cabb6045c4ab0dcea842bf1",
      "parents": [
        "087eb332cdd64026de27c914194127f8fda1a846"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 25 17:50:47 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 25 17:50:47 2014 -0800"
      },
      "message": "AudioRecord: use audio attributes instead of audio source.\n\nAdded AudioRecord constructor with audio attributes.\nReplaced AudioPolicymanager::getInput() by getInputForAttr().\n\nNo new functionality for now.\n\nAlso:\n\n- Fixed warnings in AudioPolicyManager\n- Allocate audio session ID before calling getOutputForAttr() in\nAudioTrack.\n\nBug: 16006090.\nChange-Id: I15df21e4411db688e3096dd801cf579d76d81711\n"
    },
    {
      "commit": "087eb332cdd64026de27c914194127f8fda1a846",
      "tree": "88ac956fa695022d8b41db578ea77ad74571b5f9",
      "parents": [
        "72bf901ca905ce154fe7866f06d25a01aadcf974",
        "066ceecf4c6ed5ce26c5ddf00d7d9097d560b7a2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 26 00:41:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 26 00:41:20 2014 +0000"
      },
      "message": "Merge \"audio policy: do not route accessibility prompts to compressed output\" into lmp-mr1-dev"
    },
    {
      "commit": "72bf901ca905ce154fe7866f06d25a01aadcf974",
      "tree": "0293ab3f6cdbec518913187d77c6d13d1c47a321",
      "parents": [
        "d325005e4a3be45c57e950f8c18b329c968602ce",
        "e83b55dc29ca16092ba02f36f55fa6e0e37fd78c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 26 00:21:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 26 00:21:20 2014 +0000"
      },
      "message": "Merge \"audio policy: new getOutputForAttr() prototype.\" into lmp-mr1-dev"
    },
    {
      "commit": "512dd849d0ef9e9988fedfbaf951b4b82523957c",
      "tree": "00235660c86a2494c245b51084ea13cbc51e11d0",
      "parents": [
        "b2cf160fef5071183d52ad85b49892e23b790e8a",
        "31867b30d3144decd42de0214d8b71c45a2c8cc1"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Nov 25 22:41:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 25 22:41:15 2014 +0000"
      },
      "message": "Merge \"camera: fix frame deletion logic in mInFlightMap\" into lmp-mr1-dev"
    },
    {
      "commit": "066ceecf4c6ed5ce26c5ddf00d7d9097d560b7a2",
      "tree": "b68469123118b1f6a66ef44d3fb4a5fcfe637cc5",
      "parents": [
        "e83b55dc29ca16092ba02f36f55fa6e0e37fd78c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 25 12:35:01 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 25 12:48:26 2014 -0800"
      },
      "message": "audio policy: do not route accessibility prompts to compressed output\n\nWhen a digital output (HDMI or S/PDIF) is configured with\na non linear PCM audio format it is likely that the audio HAL\nor HW will not be able to mix other sounds with the main\nmedia stream being played.\n\nIn this case, do not condider HDMI or S/PDIF as a valid route for\naccessibilty strategy so that accessibility prompts are always audible.\n\nBug: 18067208.\nChange-Id: If20603a1dc1dc470f206f841308bed2b87daf21c\n"
    },
    {
      "commit": "e83b55dc29ca16092ba02f36f55fa6e0e37fd78c",
      "tree": "f8232611b6372b74579e3ed03dfbeb167011d257",
      "parents": [
        "0f78eabb733e1413d7febd00c0bad0f0add02314"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 14 10:06:21 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 25 12:48:19 2014 -0800"
      },
      "message": "audio policy: new getOutputForAttr() prototype.\n\nUpdate getOutputForAttr() prototype and group all logic\ndealing with audio attributes to stream type conversion in\naudio policy manager.\n\ngetOutputForAttr():\n- specifies the audio session (for future use)\n- returns a status code\n- receives either stream type (for legacy) or audio attributes\n- returns an updated streamtype\n\nRemove logic dealing with legacy stream types to attributes conversion\nfrom AudioTrack.\n\nUse correct type for audio sessions in other APIs (startOutput() ...).\n\nreleaseOutput() specifies the audio session (for future use).\n\nBug: 18067208.\n\nChange-Id: I1bfbe9626c04c7955d77f8a70aecfad2cb204817\n"
    },
    {
      "commit": "0f78eabb733e1413d7febd00c0bad0f0add02314",
      "tree": "1d1f34324ca995581c4c64c0379fa488f6507547",
      "parents": [
        "223fd5c9738e9665e495904d37d4632414b68c1e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 25 11:01:34 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 25 11:01:34 2014 -0800"
      },
      "message": "fix the build.\n\nChange-Id: Iab6b65327ae1adbf0b3a6da5a23b8107468f533e\n"
    },
    {
      "commit": "31867b30d3144decd42de0214d8b71c45a2c8cc1",
      "tree": "1b08391b48c58e42a1d4a60a39b3d2af9ba3b30e",
      "parents": [
        "bc0f452b9a76dd8c8244e775bc9c5aa85cae3ddf"
      ],
      "author": {
        "name": "Ruchit Sharma",
        "email": "ruchits@nvidia.com",
        "time": "Fri Nov 14 13:18:16 2014 -0500"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Nov 25 01:47:05 2014 +0000"
      },
      "message": "camera: fix frame deletion logic in mInFlightMap\n\nFor per-frame error notifications, camera3.h requirements state that all the\nbuffer handles for a failed frame capture must be returned via\nprocess_capture_result() call(s). Hence, Camera3Device needs to ensure that\nthe frame entry is not deleted from mInFlightMap until all buffers for that\nframe have been returned by HAL.\n\nBug: 17757940\n\nChange-Id: I2579ca7980d2fd67d53abc530e2706538f7d3d3a"
    },
    {
      "commit": "223fd5c9738e9665e495904d37d4632414b68c1e",
      "tree": "33e0afab9a7479cdc4c688a742a8977c8ead21e4",
      "parents": [
        "bc0f452b9a76dd8c8244e775bc9c5aa85cae3ddf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 11 13:43:36 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 21 10:41:13 2014 -0800"
      },
      "message": "audio: new routing strategies and stream types\n\nAdded new routing strategies and stream type for internal use\nby audio policy manager and audio flinger:\n- One for accessibility to allow different routing than media\n- One for re-routing (remote submix) in preparation of dynamic\npolicies\n- Added stream type for \"internal\" audio flinger tracks used\nfor audio patches and duplication.\n\nBug: 18067208.\nChange-Id: I88f884b552e51e4a49c29125e5a1204cf58ff434\n"
    },
    {
      "commit": "bc0f452b9a76dd8c8244e775bc9c5aa85cae3ddf",
      "tree": "a061c36a4392000a1d7d5a9b4db5de0ec63e644f",
      "parents": [
        "3a8d7d1064a665a8a348710c7d27b31642f7f624",
        "5fc9d902510ccd04db80e0bc6aa679a4317a51b2"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Nov 21 17:43:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 21 17:43:57 2014 +0000"
      },
      "message": "Merge \"Camera2: Fix CameraParameters parse segfault.\" into lmp-mr1-dev"
    },
    {
      "commit": "8052d933822e51dec3b096cb5fc8a9fbdc076bdc",
      "tree": "77a908537a54a717aed896a185b0990b9a18ec3a",
      "parents": [
        "f50db74f4efa2f689711bd2e2ff3d88b7426f107",
        "02eb47cf18793effe9fc7ab34e1b0fe9ea6635bc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 20 23:20:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 23:20:54 2014 +0000"
      },
      "message": "Merge \"SoundTrigger: allow sound model reloading\" into lmp-mr1-dev"
    },
    {
      "commit": "02eb47cf18793effe9fc7ab34e1b0fe9ea6635bc",
      "tree": "2e133219ce8c75a56dc19ba73795f7e6dab69370",
      "parents": [
        "ec9459c63d1c2969505ffdc4a100646fd07223bd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 20 10:10:20 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 20 14:27:00 2014 -0800"
      },
      "message": "SoundTrigger: allow sound model reloading\n\nAllow reloading a sound model without unloading it before.\n\nBug: 18308781.\nChange-Id: I31c83b81a03ee1c1e80f4339ca62e6d06fb1a33b\n"
    },
    {
      "commit": "5fc9d902510ccd04db80e0bc6aa679a4317a51b2",
      "tree": "7cc5cb5e5b3b62fef7cd5392ab35f81731ec9853",
      "parents": [
        "18899808001ddaea13fa4c5277502c96351f69a5"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Nov 20 13:34:36 2014 -0800"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Nov 20 13:34:36 2014 -0800"
      },
      "message": "Camera2: Fix CameraParameters parse segfault.\n\nBug: 18331142\nChange-Id: I41feec93f753f97b3e6bf963deb4a42b73406421\n"
    },
    {
      "commit": "ec0eeafa8a7fd882e8206e9cf8c4c7e1db81857b",
      "tree": "a40aab7cb04a88cc63a45cffa376ec12ce5bc3b9",
      "parents": [
        "ec9459c63d1c2969505ffdc4a100646fd07223bd"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Thu Nov 20 11:32:27 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 20 13:04:15 2014 -0800"
      },
      "message": "Fix format conversion in DuplicatingThread\n\nDuplicatingThread converts PCM data from the format of the source thread\nto PCM_16BIT before writing to all connected output tracks.\nThis needs to be done just once before writing to all tracks.\n\nBug: 18461844\nChange-Id: If05254f87f9198e09a0fa3c4e857afbb53ae7073\n"
    },
    {
      "commit": "0ebd5f95b68a3a5c9e5509f21938c9e51e74d71b",
      "tree": "0a2939a70644eb37c401705c8211d65bac553743",
      "parents": [
        "18899808001ddaea13fa4c5277502c96351f69a5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 19 19:04:52 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 20 09:15:02 2014 -0800"
      },
      "message": "AudioSystem: fix cross deadlock\n\nDo not hold gLockAPS when calling\nAudioPolicyService::registerClient() in get_audio_policy_service().\nregisterClient() will need to acquire the AudioPolicyService mutex and\nif at the same time a method called from AudioPolicyService\n(with mutex held) calls back into AudioSystem and get_audio_policy_service()\na cross deadlock occurs.\n\nSame preventive fix for get_audio_flinger().\n\nUse a separate mutex for notification client list in AudioPolicyService.\nThis prevents deadlocking if registerClient() is called as a consequence of\nAudioFlinger calling back into AudioPolicyManager while executing a method\nwith AudioPolicyService locked\n\nBug: 18403952.\nBug: 18450065.\nChange-Id: Ia832e41aede8bc6c843fc615508fbdd74e0863b5\n"
    },
    {
      "commit": "03181012beab17e145ca8b9bedbcc08d117df1cb",
      "tree": "3daf671d6fa40318dee8fb5d0ee73eab2fe68ffe",
      "parents": [
        "bbda5ce4782b20f3ed75482e5f73b8d999223438",
        "092d49c26d77fafad5170bf709c2a716ec335855"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Nov 19 18:09:30 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 19 18:09:31 2014 +0000"
      },
      "message": "Merge \"Camera2Client: remove recording stream if necessary\" into lmp-mr1-dev"
    },
    {
      "commit": "092d49c26d77fafad5170bf709c2a716ec335855",
      "tree": "8c5836fee7848f7d63a074e52e5dd5ec57e16f11",
      "parents": [
        "990dad996b748fdaa2041cc6d039e96ccfeae6fb"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Nov 06 15:40:13 2014 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Nov 18 13:46:29 2014 -0800"
      },
      "message": "Camera2Client: remove recording stream if necessary\n\nBug: 17495165\nChange-Id: I11b763fde8f9448f4bddec3fe6c81581e7699edb\n"
    },
    {
      "commit": "8cd37d677f10a7718c9247830652a588ea4600de",
      "tree": "ab4d591b6073e9d021108db68a974e0e4cd4496c",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f",
        "29e6cecdd8562700ab625c5645ddd6a7753789f1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 18 20:11:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 18 20:11:24 2014 +0000"
      },
      "message": "Merge \"audio policy: do not prevent routing to A2DP when suspended.\" into lmp-mr1-dev"
    },
    {
      "commit": "29e6cecdd8562700ab625c5645ddd6a7753789f1",
      "tree": "e6b4da8119778e487653f7d74e087228e0b79e80",
      "parents": [
        "88ec9e992af75f9783794df5d7be31c3b018ad09"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 13 18:17:55 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 17 18:48:08 2014 -0800"
      },
      "message": "audio policy: do not prevent routing to A2DP when suspended.\n\nAllow A2DP sink selection even if A2DP is suspended.\nIt is not because use of A2DP is temporarily disabled by SCO\nselection that the policy rule routing a given use case\nto A2DP should be altered. The source will be routed to A2DP\nbut it will remain silent until suspend condition is cleared\nwhich is the purpose of suspend mode.\n\nAlso make sure that accessibility prompts are audible while in call\nby forcing stream type to STREAM_VOICE_CALL.\nFix inconsistent logic between AudioTrack::setStreamTypeFromAttributes()\nand AudioPolicyManager::getStrategyForAttr()\n\nBug: 18095151.\nChange-Id: I1c75dd8288ed3dd494eb942060eac9c9660dca50\n"
    },
    {
      "commit": "4d0a5985fb5e7ea5a1f9a605afea2b7534ebc16b",
      "tree": "ab6390e2954dba0c3d03188f0fe8420978f13e51",
      "parents": [
        "88ec9e992af75f9783794df5d7be31c3b018ad09",
        "27876c02c21cd3ab7ef01bdd1fc5400c5143584a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 18 02:25:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 18 02:25:19 2014 +0000"
      },
      "message": "Merge \"Prevent stopped audio tracks from mixing data\" into lmp-mr1-dev"
    },
    {
      "commit": "27876c02c21cd3ab7ef01bdd1fc5400c5143584a",
      "tree": "3c096ec71dfdb81fcafe4a68165006f1371fdf5d",
      "parents": [
        "97e6ca1a0be83e420ab238d9a1c31d3112126646"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 09 18:07:55 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 17 18:06:10 2014 -0800"
      },
      "message": "Prevent stopped audio tracks from mixing data\n\nStatic tracks should have zero framesReady when stopping or stopped,\nto prevent mixer from running potentially indefinitely with loop mode.\n\nBug: 16070883\n\nChange-Id: Iab9968044d1a6f8543bbcbfb246f49f27d68cace\n"
    },
    {
      "commit": "f89f2ff4df0855eb56d95a02ab29d856e0ffa858",
      "tree": "20c77336bae74d05d654d17b1eb5ce79fda0ada4",
      "parents": [
        "3171f4e12e5cabb2b496be6aa660aaa83e8fe77d",
        "ddbc6657fa0c55166148ca597980edbaafc418bf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 17 19:57:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 17 19:57:07 2014 +0000"
      },
      "message": "Merge \"audiopolicy: Update input device check in checkInputsForDevice\" into lmp-mr1-dev"
    },
    {
      "commit": "3171f4e12e5cabb2b496be6aa660aaa83e8fe77d",
      "tree": "2a7457d5c3822951d182d4371cd9d62e61e7f9c3",
      "parents": [
        "addfc718ff85115355060d6b07ca67b41a3765c2",
        "5e15b80e801a0110bc1bad1190f02cb9c7d22e37"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Nov 17 18:51:44 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 17 18:51:44 2014 +0000"
      },
      "message": "Merge \"CameraService: normalize face rectangles properly\" into lmp-mr1-dev"
    },
    {
      "commit": "ddbc6657fa0c55166148ca597980edbaafc418bf",
      "tree": "4d8439693a03c04b9d4ab8fc5cf3ef5785a3d4ef",
      "parents": [
        "e0b7ddcda9b4fb493cc365c92293ed7d12c3208a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 13 15:13:44 2014 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 17 00:19:32 2014 +0000"
      },
      "message": "audiopolicy: Update input device check in checkInputsForDevice\n\n- When an input device is disconnected, checkInputsForDevice clears\n  dynamic fields of input profiles that are supporting the disconnected\n  device. AUDIO_DEVICE_BIT_IN mask is missing while comparing with the\n  supported input devices of a profile which is resulting in clearing\n  wrong fields\n\n- Fix is to include AUDIO_DEVICE_BIT_IN in this comparison\n\n- also fix two other places where comparison with input device was not\nmasked with AUDIO_DEVICE_BIT_IN.\n\nBug: 18367045\n\nChange-Id: Icc94b8353bc49567d8a6d6a75293c3b0dd42d83c"
    },
    {
      "commit": "5e15b80e801a0110bc1bad1190f02cb9c7d22e37",
      "tree": "3a4bb1ea7edcad06d5a5895f31fa395df4bfdbe2",
      "parents": [
        "745602d87607521f4fe84c4f3a6388fbdb6a867c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Nov 13 13:41:23 2014 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Nov 13 14:54:57 2014 -0800"
      },
      "message": "CameraService: normalize face rectangles properly\n\nUse android.scaler.cropRegion reported in the capture result to\nnormalize face rectangles instead of using the one in current capture\nrequest.\n\nBug: 11460393\nChange-Id: Id21834bf6ae1f7cc106b4dffb98f9f249a75034b\n"
    },
    {
      "commit": "7c77c75d43ac2a40f2b5ce98085ef68f8ba3b4f2",
      "tree": "dc10409d4e835869e86359b52e9cde2667c7f75a",
      "parents": [
        "538596f71dc667b2f39c27d0bc9bbf119b0e6d58",
        "80de5dca0b8e04f81da0d15dff957f82551eaafc"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Nov 12 20:40:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 12 20:40:53 2014 +0000"
      },
      "message": "Merge \"Camera2Device: fix camera metadata leaks\" into lmp-mr1-dev"
    },
    {
      "commit": "80de5dca0b8e04f81da0d15dff957f82551eaafc",
      "tree": "28c0144bbb06dfb2a17920d4c06399447579048f",
      "parents": [
        "9c0c41ff36926030778a8a41210d02602c5a9f62"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Nov 07 17:45:00 2014 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Nov 10 12:28:35 2014 -0800"
      },
      "message": "Camera2Device: fix camera metadata leaks\n\nbug 11132653\n\nChange-Id: I5445b020c3aeaac9a556c023568adac635834356\n"
    },
    {
      "commit": "02b5708776ba2a9b4ff8c09008483aef7dbe38c7",
      "tree": "4b94a6347b1f33b8a9c0966fac8d37019d818219",
      "parents": [
        "e662cd5cdbe1312d6b74754d2945fffe99e4fe2c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 07 17:28:28 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 07 17:28:28 2014 -0800"
      },
      "message": "audioflinger: fix duplicating thread output buffers clear\n\nAlso clear mix buffer in DuplicatingThread::threadLoop_mix()\ninstead of just sink buffer when output threads are not\nready.\n\nBug: 18262127.\nChange-Id: I4c22bbeaccdcc8d7c10c5882dde3439eb73d6ede\n"
    },
    {
      "commit": "1609e451cf6101efe6aeaaa2da61db2cb095c9e8",
      "tree": "f09b7bb9b88d37985ca41e255f4efc8ffa769905",
      "parents": [
        "c339a921642c38621f57e95b4ec41cfaa99c7a63",
        "04f101c35eaa90b1f95939afac30674ec1611e6f"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Nov 07 19:44:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 07 19:44:30 2014 +0000"
      },
      "message": "Merge \"Add a BufferItem parameter to onFrameAvailable\" into lmp-mr1-dev"
    },
    {
      "commit": "04f101c35eaa90b1f95939afac30674ec1611e6f",
      "tree": "638649883fdc1e7329b9334b5a1a7461b7421942",
      "parents": [
        "151b3f41ffcdf187580542ba0c0d3b84df16beed"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Nov 04 11:32:52 2014 -0800"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Nov 04 11:32:52 2014 -0800"
      },
      "message": "Add a BufferItem parameter to onFrameAvailable\n\nPasses the BufferItem for the queued buffer to the onFrameAvailable\ncallback so the consumer can track the BufferQueue\u0027s contents.\n\nBug: 18111837\nChange-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0\n"
    },
    {
      "commit": "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f",
      "tree": "daa44e7941703765a4d37c0207df8e12959b66c8",
      "parents": [
        "461b02d3eccefea48fa15c67a9cd3a5895bd2765",
        "b10352f4bc11ae6f3d93e464074709555ecf9e06"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 04 02:37:03 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 04 02:37:03 2014 +0000"
      },
      "message": "Merge \"remove some restrictions on effect output channels\" into lmp-mr1-dev"
    },
    {
      "commit": "b10352f4bc11ae6f3d93e464074709555ecf9e06",
      "tree": "52187ad264691c11e3d1efc541fe791568a33d69",
      "parents": [
        "b1322c78b035c9f47ebe57a39799d7a0e13bf57f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 03 16:25:39 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 03 16:25:39 2014 -0800"
      },
      "message": "remove some restrictions on effect output channels\n\nDo not prevent from attaching effects to a non stereo\noutput thread, unless the output thread is a mixer thread.\n\nBug: 18157592.\nChange-Id: I6ac3187187a1b8aade7db04ea6dfbc47dacc25c3\n"
    },
    {
      "commit": "3736dbc5c4ef7c0e0cf81ff3fc73579527cad50a",
      "tree": "e02f98e76d6eb7ef6c3a90a8c07eb59405c42776",
      "parents": [
        "0c629a3857c31bee6fa39ba7a9a8cbcabeb383fd",
        "1bbc1c93b5db545e503dc27c262eef38685d0726"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Nov 03 22:00:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 03 22:00:11 2014 +0000"
      },
      "message": "Merge \"CameraService: API1: fix picture FOV\" into lmp-mr1-dev"
    },
    {
      "commit": "d9cfeb447356cb6334379eaf5da1e49424eb5979",
      "tree": "5bae7d5985563f2cbbf9cc9cc1a5fca422cb8390",
      "parents": [
        "20f51b1ea04c410a25f214e37bcdb586e2a028cc"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 22 16:51:34 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Oct 31 14:12:20 2014 -0700"
      },
      "message": "Support speaker routing for FLAG_BEACON\n\nAdd support for routing audio stream to the speaker when audio\n  attributes carry the FLAG_BEACON value:\n- associate streams with FLAG_BEACON to the up-to-now unused\n  STREAM_TTS (\"Transmitted Through Speaker\").\n  The remapping happens in AudioTrack.\n- AudioPolicyManager: define new strategy for handling the Beacon\n  behavior, that only goes to speaker. Define new volume curves\n  for STREAM_TTS that are not silence only for the speaker device\n  category. Keep ref count of other streams and never play Beacon\n  streams when anything else is playing: either don\u0027t start playback\n  if something else is playing, or unmute STREAM_TTS when it\u0027s\n  allowed to play and mute when it\u0027s done.\n- Take into account muting latency when starting an output.\n\nBug 15415971\n\nChange-Id: I26539c7ec1a486accd85bbeb1623e9c7d3a1192f\n"
    },
    {
      "commit": "b1322c78b035c9f47ebe57a39799d7a0e13bf57f",
      "tree": "eb4177002d445d59b1d20afa5a31f72ac2838d24",
      "parents": [
        "8e05b5f5f45b8d6931ff830969125a42428c6830"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 30 14:59:13 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 30 15:04:19 2014 -0700"
      },
      "message": "audio policy: fix commit dea1541f\n\nFix return types in early returns added by\ncommit dea1541f in AudioPolicy binder call methods.\n\nAlso fix former similar mistakes found nearby.\n\nBug: 18001784.\nBug: 18002005.\n\nChange-Id: I088c6029ca04e2c2c2f78e560c9cb6b9576dd88f\n"
    },
    {
      "commit": "8e05b5f5f45b8d6931ff830969125a42428c6830",
      "tree": "aafb77c92888ebee066d61a1736fa3e5cbb61444",
      "parents": [
        "7011ee31d65917a9e15b271942e863f06eee2da1",
        "dea1541fc0042abf05674b19c2f94ca086945dfd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 30 16:45:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 30 16:45:09 2014 +0000"
      },
      "message": "Merge \"audio policy: validate stream type received from binder calls.\" into lmp-mr1-dev"
    },
    {
      "commit": "dea1541fc0042abf05674b19c2f94ca086945dfd",
      "tree": "997d41dea43d2d59bda4f4124a0fd6be372dec76",
      "parents": [
        "701b96474dc8afd16046e440975e00be57cc4874"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 28 15:46:45 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 28 15:46:45 2014 -0700"
      },
      "message": "audio policy: validate stream type received from binder calls.\n\nBug: 18001784.\nBug: 18002005.\nChange-Id: I8efa674dceff5a6e10251b1c7a55e9bb2d532395\n"
    },
    {
      "commit": "6e8212b2a02685e50d0c093a6f44d9af636261d9",
      "tree": "f741511b37434a49626b039b94a5e1f82d0f5170",
      "parents": [
        "eac3f36c5d22ca28890fe4258987ded5ac0666dc",
        "fd4c14883b268a0bc5514da135fe6b7d1ce2071b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 28 22:09:40 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 28 22:09:40 2014 +0000"
      },
      "message": "Merge \"Always use an address for remote submix\" into lmp-mr1-dev"
    },
    {
      "commit": "1bbc1c93b5db545e503dc27c262eef38685d0726",
      "tree": "8133609e752ea5bfffb6e438268f1e4709eee44c",
      "parents": [
        "701b96474dc8afd16046e440975e00be57cc4874"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Oct 23 17:15:19 2014 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Oct 28 13:20:13 2014 -0700"
      },
      "message": "CameraService: API1: fix picture FOV\n\nFix the wrong assumption that active array size equals to pixel array\nsize.\n\nbug 17918247\n\nChange-Id: Ic308f281fb677332a74e95abb473c5b13063eeca\n"
    },
    {
      "commit": "b80a2a8871d3af8619bf774a0c9ddbac8d598bf9",
      "tree": "c3922d648914fd6f02d34f16712f76906f6ecdc9",
      "parents": [
        "701b96474dc8afd16046e440975e00be57cc4874"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 27 16:07:59 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 28 09:14:37 2014 -0700"
      },
      "message": "audio policy: fix output device command after clearing audio patch\n\nMake sure that a valid audio patch is created again on an output stream\nfollowing the disconneciton and reconnection of the same output device.\n\nBug: 18144611.\nChange-Id: I72387ad8e93f8fb2571da2a6c58a6e167ac7fc4d\n"
    },
    {
      "commit": "fd4c14883b268a0bc5514da135fe6b7d1ce2071b",
      "tree": "29e4594fffdc70dc7d51a3abd7586a556df1e448",
      "parents": [
        "31551f8dd625b8d40961e141d2913b0073f852ab"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 06 16:02:28 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Oct 27 16:03:09 2014 -0700"
      },
      "message": "Always use an address for remote submix\n\nUsage of remote submix device for audio rerouting (e.g. wifi display)\n didn\u0027t mandate the use of addresses. Use \"0\" as the default address\n when none is specificed.\nIn logs, only use hex format for audio devices\n\nBug 16009464\n\nChange-Id: Ibfb1ce6881eba8b7e34420293b8a7077a6e659e6\n"
    },
    {
      "commit": "31551f8dd625b8d40961e141d2913b0073f852ab",
      "tree": "4d461207f87281f7a320fd27fa8dd156c65c4eea",
      "parents": [
        "8bfa96c2f7c098550b00b84677088f84e81f4ed4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 10 18:21:56 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 27 12:38:32 2014 -0700"
      },
      "message": "audio policy: fix multiple device volume\n\nWhem multiple devices are selected by a strategy,\napply volume to all these devices when one of them is changed by\nsetStreamVolumeIndex() API.\n\nAlso only consider devices supported by current output profile\nin checkDeviceMuteStrategies() to avoid muting a stream because of\ndevices connected to another output stream.\n\nBug: 17507571.\n\nChange-Id: I83ef9fb7f294214d30f7f890db44c64ece3be387\n"
    },
    {
      "commit": "ee94675469f67c3fe25428b87fc9a2d468f908c6",
      "tree": "cc132c60d8df2f642c161a22bc8d3217b4960107",
      "parents": [
        "6f907217c7a624c9e304f799d51771aff93c0f92",
        "4d8ae211ae2e2a5ae464931ce41ec5b1d6e6d51f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 23 22:10:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 23 22:10:51 2014 +0000"
      },
      "message": "am 4d8ae211: am 661c21da: CameraService: Disconnect: Release mutex while waiting for joins.\n\n* commit \u00274d8ae211ae2e2a5ae464931ce41ec5b1d6e6d51f\u0027:\n  CameraService: Disconnect: Release mutex while waiting for joins.\n"
    },
    {
      "commit": "4d8ae211ae2e2a5ae464931ce41ec5b1d6e6d51f",
      "tree": "1970884c99a9aeec091d9572864c3a11e9bf21ef",
      "parents": [
        "2f368e57e58c6bc3ab291d6318b19c6698fc184b",
        "661c21da5592ca48256747ec220efb2e599eeb72"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 23 21:52:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 23 21:52:52 2014 +0000"
      },
      "message": "am 661c21da: CameraService: Disconnect: Release mutex while waiting for joins.\n\n* commit \u0027661c21da5592ca48256747ec220efb2e599eeb72\u0027:\n  CameraService: Disconnect: Release mutex while waiting for joins.\n"
    },
    {
      "commit": "661c21da5592ca48256747ec220efb2e599eeb72",
      "tree": "75a5f011edf8a5773b689abcc836a99a3e10744d",
      "parents": [
        "168799c32ce3f9196ae7928986a7ba3770c74b14"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 22 14:21:12 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 22 14:21:12 2014 -0700"
      },
      "message": "CameraService: Disconnect: Release mutex while waiting for joins.\n\nThe threads shutting down may have callpaths that require taking the\nbinder interface mutex, so waiting to join them with that mutex held\ncan lead to deadlocks.\n\nA specific instance is StreamingProcessor calling dataCallbackTimestamp,\nwhich can immediately lead to a Camera2Client::releaseRecordingFrame call,\nwhich requires the binder interface mutex. If this call happens right when\nshutdown is occurring, and Camera2Client::disconnect is holding the mutex,\ndeadlock ensues.\n\nBug: 17997578\nChange-Id: I71253cd5542b5920ad205976d315110ca0043d94\n"
    },
    {
      "commit": "9d0d5958969cffae5d4305025bc20d05f32e6ff2",
      "tree": "13d3ef1adc3e281778d2cab53846c337469cfec4",
      "parents": [
        "1f58bb157ded117fe931142e9906b2b6b406b534",
        "fa90e84ed0cb2abdc0e0873a06d10ccf2b3c34f6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 22 17:16:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 22 17:16:30 2014 +0000"
      },
      "message": "Merge \"audioflinger: new HW A/V sync ID allocation flow\" into lmp-mr1-dev"
    },
    {
      "commit": "fa90e84ed0cb2abdc0e0873a06d10ccf2b3c34f6",
      "tree": "cfb0730e677246729f44e97465edfac2f0fb45ad",
      "parents": [
        "0cfc8f2500bb76d44ad45a723a570835aeff502b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 17 18:12:31 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 22 10:04:14 2014 -0700"
      },
      "message": "audioflinger: new HW A/V sync ID allocation flow\n\nThe HW A/V sync ID is now allocated by the audio HAL before the\noutput stream is created by a call to global get_parameters() with\nkey AUDIO_PARAMETER_HW_AV_SYNC.\n\nWhen the AudioTrack is created, the HW A/V sync ID is communicated\nto the output stream by stream set_parameters() with key\nAUDIO_PARAMETER_STREAM_HW_AV_SYNC.\n\nBug: 17112525.\nChange-Id: Ia8bc6f3bf9f358aa89f3f56ac554e893a19811ad\n"
    },
    {
      "commit": "964b73121a634921f000ef3f877a7546f65bb700",
      "tree": "d9debc2a9fd6fb8eb744799271c6faa29cf5da50",
      "parents": [
        "9bbccd13231fbf30e466efedacec5ac03690701b",
        "7de5ac1f067ec61f7ea424d5534cfd40987b11fa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 21 18:13:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 21 18:13:25 2014 +0000"
      },
      "message": "am 7de5ac1f: audio policy: fix effect handle leak\n\n* commit \u00277de5ac1f067ec61f7ea424d5534cfd40987b11fa\u0027:\n  audio policy: fix effect handle leak\n"
    },
    {
      "commit": "7de5ac1f067ec61f7ea424d5534cfd40987b11fa",
      "tree": "93d7a87cd7462d484b4ee882a70c3163ce2f73ac",
      "parents": [
        "d5923409bbcbb22954a92c2b497ef4492d7cb6a5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 21 09:07:11 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 21 09:56:18 2014 -0700"
      },
      "message": "audio policy: fix effect handle leak\n\nFix ref counting error in AudioPolicyEffect::addInputEffects()\nand addOutputSessionEffects()\n\nBug: 17675112.\nChange-Id: I5267d1024a585919f66ead83662e57b78ba53540\n"
    },
    {
      "commit": "36d9256f956b2ed4d7a221d84ad05bf4ba482958",
      "tree": "bc20d87abb869e949cb479a1311b676e5b04f8bb",
      "parents": [
        "145a4c679a9ab27aceaa1d386ea9aca1c0cd4d33",
        "ac302143551a8b964f026385a524dda9ff8ea5ba"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 20 21:05:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 21:05:02 2014 +0000"
      },
      "message": "am ac302143: Fix the fix\n\n* commit \u0027ac302143551a8b964f026385a524dda9ff8ea5ba\u0027:\n  Fix the fix\n"
    },
    {
      "commit": "ac302143551a8b964f026385a524dda9ff8ea5ba",
      "tree": "7c32fc205e52cb690abd0e7bbe46c749eac38b48",
      "parents": [
        "22bc10a347569a0ab2980c24783e31aba4d7414d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 20 13:15:38 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 20 13:15:38 2014 -0700"
      },
      "message": "Fix the fix\n\nWe need to clear the buffer a little more often.\n\nBug: 18023017\nChange-Id: If8a522b9133a4269e2435af8958f6ced322e71e9\n"
    },
    {
      "commit": "145a4c679a9ab27aceaa1d386ea9aca1c0cd4d33",
      "tree": "88670be9f175704f5de07f2bb8fef4f19a1e7f7a",
      "parents": [
        "e0459eb091d98b944d9d1c9483a08f322aa60eda",
        "22bc10a347569a0ab2980c24783e31aba4d7414d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 20 14:51:24 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 14:51:24 2014 +0000"
      },
      "message": "am 22bc10a3: Merge \"Clear effect buffer before sending to chain\" into lmp-dev\n\n* commit \u002722bc10a347569a0ab2980c24783e31aba4d7414d\u0027:\n  Clear effect buffer before sending to chain\n"
    },
    {
      "commit": "22bc10a347569a0ab2980c24783e31aba4d7414d",
      "tree": "7ffe4b46c972f07d491ee199619738e3504edd8e",
      "parents": [
        "e9234f17dfbb192c96b122b9e0ce8cd9015d1589",
        "57088b5c8e76855b99b3e6b3e410de5b6382670e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 20 14:44:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 20 14:44:59 2014 +0000"
      },
      "message": "Merge \"Clear effect buffer before sending to chain\" into lmp-dev"
    },
    {
      "commit": "57088b5c8e76855b99b3e6b3e410de5b6382670e",
      "tree": "3b0f7cbcfdc6237d24ae173fc0b624977bbfaaef",
      "parents": [
        "380757ba5c927015d403e3b97cc418413330453e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 17 16:39:39 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 17 16:39:39 2014 -0700"
      },
      "message": "Clear effect buffer before sending to chain\n\notherwise the effect might get a buffer with previous data instead\nof silence.\n\nBug: 18023017\nChange-Id: Ic6be5ce0e74552aac2a0cce9c660893f9ad27f5c\n"
    },
    {
      "commit": "f4c58707b511af4c9f55c25781304172964107cb",
      "tree": "6dd4492352aaea60308e2341dbadcc627e6b9340",
      "parents": [
        "f1b6516f6c7a6d9c8c7230a99e389bb07f1fe383",
        "a2d4a6dac432f0c4f543d79b9a63c55ae91f81d6"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Thu Oct 16 00:49:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 16 00:49:25 2014 +0000"
      },
      "message": "am a2d4a6da: audio policy: Fix for voice call audio loss\n\n* commit \u0027a2d4a6dac432f0c4f543d79b9a63c55ae91f81d6\u0027:\n  audio policy: Fix for voice call audio loss\n"
    },
    {
      "commit": "a2d4a6dac432f0c4f543d79b9a63c55ae91f81d6",
      "tree": "501b884b67bceb06a4d5ab01ecd519560fd14290",
      "parents": [
        "05c0d7d71be9578ad59d71f07f84e08c09e8d73a"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Oct 13 13:05:22 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Oct 15 16:42:11 2014 -0700"
      },
      "message": "audio policy: Fix for voice call audio loss\n\nAudio Policy service filters out one of the create patch\ncommands when it finds two pending commands with the same\npatch handles. Due to this routing command is not received\nto audio HAL and the voice call set up fails.\nFix this by filtering create patch commands only when\nthey are issued on the same output.\n\nauthored-by: Karthik Reddy Katta \u003ca_katta@codeaurora.org\u003e\n\nBug: 17787282\nChange-Id: If36f0ab71e9b72d6a8eb61d31f762bc5e1683b89\n"
    },
    {
      "commit": "62c456f02d3f1071d18644fb3a1de354d6e4ee7f",
      "tree": "e685c17ba9cca9069a4d2e39a1090ec00b7328a7",
      "parents": [
        "027aca334d145d26ccd2f321ea5b74ac9d97965f",
        "9d2189ffcf1142b2948ce3065c32521ed7d966c4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 14 23:35:50 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 14 23:35:50 2014 +0000"
      },
      "message": "am 9d2189ff: Merge \"Camera2Client: avoid two consecutive sets of configure_streams calls\" into lmp-dev\n\n* commit \u00279d2189ffcf1142b2948ce3065c32521ed7d966c4\u0027:\n  Camera2Client: avoid two consecutive sets of configure_streams calls\n"
    },
    {
      "commit": "96ff5c48a81f3f45c384113480bf5e28620a72ae",
      "tree": "08f238c63539621dfcb5da6b19ce13ccb6a387b5",
      "parents": [
        "801a3ff80c36aa9b55dc9b360d0e59f863011a39"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Oct 13 22:20:37 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 14 11:29:50 2014 -0700"
      },
      "message": "Camera2Client: avoid two consecutive sets of configure_streams calls\n\nWhen mediaRecorder starts without an active preview stream, Camera2Client\nstarts preview then immediately start recording, which could cause the second\nconfigure_streams to call into HAL before any preview request is sent. This\ncould cause HAL to run into bad state. This change work around this issue\nby making sure the first preview request is submitted to the HAL before\nstart recording.\n\nBug: 17915062\nChange-Id: I94ae64ee76487603695a469240da601ddcb29a66\n"
    },
    {
      "commit": "f53eaf49df1e1e1c01708919e9e0a046543de9b6",
      "tree": "01274169d31d750a0a0e08c59aa56bd5b84f3ff2",
      "parents": [
        "e86f4be598b1d2c521e2b3fcd05101c3848e93e2"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Thu Oct 09 11:36:22 2014 +0800"
      },
      "committer": {
        "name": "leozwang",
        "email": "leozwang@google.com",
        "time": "Tue Oct 14 10:38:08 2014 -0700"
      },
      "message": "    fix FM no sound issue\n\n    Review: https://partner-android-review.git.corp.google.com/#/c/184276\n\n    Signed-off-by: Carson Liao \u003ccarson.liao@mediatek.com\u003e\n\nChange-Id: I0847c8a6e6d054a9258b52402c914105d902c573\n"
    },
    {
      "commit": "fa845267f7cb5aede69ff1f62db99e8478db170d",
      "tree": "31b037a6393b0a980cf6a96de42d674e8f7d8bbb",
      "parents": [
        "6337f6032e7bdbf0b4654fb07512a00bd33ef696",
        "9286354c0a864ce2348cc7dfc6ca81e84a15f8e2"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Sun Oct 12 12:19:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 12 12:19:52 2014 +0000"
      },
      "message": "am 9286354c: Merge \"Revert \"audio policy: add support for ro.audio.media_deep_buffer\"\" into lmp-dev\n\n* commit \u00279286354c0a864ce2348cc7dfc6ca81e84a15f8e2\u0027:\n  Revert \"audio policy: add support for ro.audio.media_deep_buffer\"\n"
    },
    {
      "commit": "f2ab2191387ce7902c730cc68314ea5fdc4a9237",
      "tree": "7c96b4c90e05dedccb318ca43fd4c3bf82e7204b",
      "parents": [
        "95511add8ad4d440c67272503559f5042c4e6f1f"
      ],
      "author": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Sat Oct 11 21:59:36 2014 +0000"
      },
      "committer": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Sat Oct 11 21:59:36 2014 +0000"
      },
      "message": "Revert \"audio policy: add support for ro.audio.media_deep_buffer\"\n\nThis reverts commit 95511add8ad4d440c67272503559f5042c4e6f1f.\n\nChange-Id: I76a8b86790b06b08d8ca0f8d374e585f964ffba8\n"
    },
    {
      "commit": "6337f6032e7bdbf0b4654fb07512a00bd33ef696",
      "tree": "292f01377a5807e796639b99de5fa392b688616c",
      "parents": [
        "92ab9962203f72c69308b0c2a3fed0702f6e1192",
        "ffd5cdbd3e3faa203539e26adc755f860c8cac80"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 11 00:23:54 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 11 00:23:54 2014 +0000"
      },
      "message": "am ffd5cdbd: Merge \"audio policy: add support for ro.audio.media_deep_buffer\" into lmp-dev\n\n* commit \u0027ffd5cdbd3e3faa203539e26adc755f860c8cac80\u0027:\n  audio policy: add support for ro.audio.media_deep_buffer\n"
    },
    {
      "commit": "95511add8ad4d440c67272503559f5042c4e6f1f",
      "tree": "a605077307327ac30bf9b553ad4e48bfa300e8cf",
      "parents": [
        "f5ada6edcc83bb1b313abcd4c4fbdc4f7724f04d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 10 15:31:38 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 10 15:39:14 2014 -0700"
      },
      "message": "audio policy: add support for ro.audio.media_deep_buffer\n\nBug: 17931716.\nChange-Id: Ife170f20f5d02b71059fbd384bd29759fafee826\n"
    },
    {
      "commit": "733ee8aaf2a91ac98cc7cfae5b98164d3aefab2a",
      "tree": "47b6e6083833b8f760405e05b8f9c1f010b440b8",
      "parents": [
        "6f559515c4edca867dbf2dbf6015e42c44ee3871",
        "f5ada6edcc83bb1b313abcd4c4fbdc4f7724f04d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 10 19:24:44 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 10 19:24:44 2014 +0000"
      },
      "message": "am f5ada6ed: audio policy: move intializations to onFirstRef()\n\n* commit \u0027f5ada6edcc83bb1b313abcd4c4fbdc4f7724f04d\u0027:\n  audio policy: move intializations to onFirstRef()\n"
    },
    {
      "commit": "f5ada6edcc83bb1b313abcd4c4fbdc4f7724f04d",
      "tree": "7c96b4c90e05dedccb318ca43fd4c3bf82e7204b",
      "parents": [
        "a4c3d8f0f9aab53b106d95e6139e0465908909f4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 09 17:49:00 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 10 10:51:37 2014 -0700"
      },
      "message": "audio policy: move intializations to onFirstRef()\n\nBug: 17896324.\n\nChange-Id: I3bb74f5397142ac354bd815eb362e5ddacdcb463\n"
    },
    {
      "commit": "7c6977c42da29bf47e44aab55d3b2044bf9b442d",
      "tree": "8d3cc9f3e52201a8fcfe56df5a1add6f40009517",
      "parents": [
        "8610f49c1a14c91550c8abde27bda59ac6526b23",
        "07811789ebf31f5317403356f624d04282e666aa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 07 20:51:53 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 07 20:51:53 2014 +0000"
      },
      "message": "am 07811789: Merge \"audio policy: fix build with USE_LEGACY_AUDIO_POLICY\" into lmp-dev\n\n* commit \u002707811789ebf31f5317403356f624d04282e666aa\u0027:\n  audio policy: fix build with USE_LEGACY_AUDIO_POLICY\n"
    },
    {
      "commit": "8610f49c1a14c91550c8abde27bda59ac6526b23",
      "tree": "f039ce2aafc9c8ccb509a0d79d79345ade3a4c50",
      "parents": [
        "595a5c7062c2d7b6cee4251e5e50766ca166f103",
        "5bee844fd8c2f6d9fa78ed5e063a8e3df9f2f7b6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 07 20:51:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 07 20:51:52 2014 +0000"
      },
      "message": "am 5bee844f: Merge \"audio policy: fix lockup during mediaserver restart\" into lmp-dev\n\n* commit \u00275bee844fd8c2f6d9fa78ed5e063a8e3df9f2f7b6\u0027:\n  audio policy: fix lockup during mediaserver restart\n"
    },
    {
      "commit": "f380677f21240ffb78bcdf7c804fe0a7807fb08d",
      "tree": "9116f900580b1926e511970340ca97a7e717811a",
      "parents": [
        "8b1e80bf1e9f214feea219cfe981ba533b806003"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 07 09:19:31 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 07 12:25:01 2014 -0700"
      },
      "message": "audio policy: fix build with USE_LEGACY_AUDIO_POLICY\n\nBug: 17894512.\nChange-Id: I6431c0b03ba02cf561413c34848a334caa0261fa\n"
    },
    {
      "commit": "8b1e80bf1e9f214feea219cfe981ba533b806003",
      "tree": "0d6b46a05d685e02750433f6779eb1ce09d84294",
      "parents": [
        "f0011d49c0f08753dc2dc254c5a70885a9986602"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 07 09:08:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 07 12:24:30 2014 -0700"
      },
      "message": "audio policy: fix lockup during mediaserver restart\n\nWhen pre or post processing effects are applied by audio policy service\nautomatically there is a potential lockup if the first call into\nAudioPolicyService is made while creating one of those effects.\nThis is because effects are created with AudioPolicyService mutex held and\neffect creation calls into methods (e.g registerClient()) which also acquire\nthe mutex.\n\nThe fix consists in adding a new mutex to AudioPolicyEffects class and not\nhold the AudioPolicyService mutex when calling methods in of class.\n\nBug: 17830596.\nChange-Id: Ie61c3671d3147f46e99ba208f39c1a3bf180779f\n"
    },
    {
      "commit": "23fe3c0a05fcb619eeb5b0c2ece02cdadab2df6e",
      "tree": "60a2e248649f12b798353be7b016f4bc6e961505",
      "parents": [
        "acc8918e034e4715319f388f2c214118671aa674"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Fri Oct 03 09:09:30 2014 +0800"
      },
      "committer": {
        "name": "leozwang",
        "email": "leozwang@google.com",
        "time": "Fri Oct 03 16:27:51 2014 -0700"
      },
      "message": "    [AU] Import gain setting into ports\n\n    Review: https://partner-android-review.git.corp.google.com/#/c/183780\n\n    Signed-off-by: Hochi Huang \u003chochi.huang@mediatek.com\u003e\n\nChange-Id: I415d0b494b9bfadf783280aeea6ad46e0a242cfb\n"
    },
    {
      "commit": "10b464cf2a193f1a5d4b70db052d36eee227916e",
      "tree": "1a4a566216f0693e87424481700f7b1a28301f21",
      "parents": [
        "c4fd8b3b7fc24932626143ea45ab75192cc247c2",
        "2b217bb3aee87ce8486014f261c0f498f6209e80"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 03 21:02:23 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 03 21:02:23 2014 +0000"
      },
      "message": "am 2b217bb3: Merge \"audioflinger: fix pre processing transfer between record threads.\" into lmp-dev\n\n* commit \u00272b217bb3aee87ce8486014f261c0f498f6209e80\u0027:\n  audioflinger: fix pre processing transfer between record threads.\n"
    },
    {
      "commit": "2b217bb3aee87ce8486014f261c0f498f6209e80",
      "tree": "3199fbc19fc6329f1e764ad63a478dbe2308ddc3",
      "parents": [
        "b220fe0e40bc3752b62a9576fc824634a16fc3ab",
        "1b92868010b5c1409692a86f6b27e4a265b64c1a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 03 20:37:46 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 03 20:37:47 2014 +0000"
      },
      "message": "Merge \"audioflinger: fix pre processing transfer between record threads.\" into lmp-dev"
    },
    {
      "commit": "3a8bad2ed0b463d1401c33b92ff30951fc0df3a4",
      "tree": "78b7b5b5d1ca1a3ba6b64b1d11f9bad150468551",
      "parents": [
        "f0d98899b13c2f5735f1a2b8d0b7254b975b7860",
        "be9ebd46c1ec366dca5f142a36a71015b048c037"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 03 18:08:27 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 03 18:08:27 2014 +0000"
      },
      "message": "am be9ebd46: Merge \"Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp\" into lmp-dev\n\n* commit \u0027be9ebd46c1ec366dca5f142a36a71015b048c037\u0027:\n  Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp\n"
    },
    {
      "commit": "1b92868010b5c1409692a86f6b27e4a265b64c1a",
      "tree": "aa514a65d23d1bebbceef49cc6b7f2662c7bad76",
      "parents": [
        "d8b03abf1d003e2940a19f0071ea2892689dd10e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 02 19:41:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 02 19:41:47 2014 -0700"
      },
      "message": "audioflinger: fix pre processing transfer between record threads.\n\nFix two problems remaining with pre processing effects transfer from\none record thread to the next in case of tear down due to device connection:\n1 - the enabled state of the effects was not communicated to the new HAL\ninput stream.\n2 - the effects saved in orphan chains list were not transfered to the\nnew thread when a AudioRecord was created.\n\nBug: 17757378.\nChange-Id: I0923c98470db3b51154dc89846157780a4c21e86\n"
    },
    {
      "commit": "4c053ea158b29fa2cdd4c6f39d3c8da4ee5a7a02",
      "tree": "129617d405d098b749beafbcd87c58321bf2b055",
      "parents": [
        "8b76b592be5bc162fb5a6d7e8c47812544b6b345"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Sep 28 14:41:07 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 02 16:50:26 2014 -0700"
      },
      "message": "Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp\n\nThe per-thread timestamp latch was not synchronized with the per-track\nreleased frames.  Now the value of each track\u0027s released frames is\nlatched along with the timestamp.\n\nBug: 17531839\nBug: 17669342\nChange-Id: I9d50c8c6a5de55a3f4561ac40e20d497376c1257\n"
    },
    {
      "commit": "92a69cde5f53a916c8c26a64d0dd610284161555",
      "tree": "c903932d82c1bfaac7892e5a10d624c854218017",
      "parents": [
        "e5095be17c623de8e4b97829d33e8a16b1b7164a",
        "cb4b6e9f05d1c0b3fcc5be5ebe3f7d6f32669b1a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 02 01:11:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 02 01:11:32 2014 +0000"
      },
      "message": "am cb4b6e9f: audioflinger: fix failure to indicate volume to effect\n\n* commit \u0027cb4b6e9f05d1c0b3fcc5be5ebe3f7d6f32669b1a\u0027:\n  audioflinger: fix failure to indicate volume to effect\n"
    },
    {
      "commit": "cb4b6e9f05d1c0b3fcc5be5ebe3f7d6f32669b1a",
      "tree": "7bf2965353146579d1af3a5015ec468029d1f5dc",
      "parents": [
        "a49c94ea49c8329a1bdefe980e1f7d335c0d1ec5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 01 14:26:10 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 01 16:52:30 2014 -0700"
      },
      "message": "audioflinger: fix failure to indicate volume to effect\n\nIf an effect is added and enabled after a track is started\nit will not receive current volume information because volume\nis indicated only to active effects and if there is a volume change.\n\nAdd a flag to force EffectChain::setVolume_l() to pass volume indication\nto all effects each time an effect is enabled.\n\nBug: 17572556.\n\nChange-Id: I6b68488c9aca8b2095fb210aa124d02e4f759660\n"
    },
    {
      "commit": "e5095be17c623de8e4b97829d33e8a16b1b7164a",
      "tree": "dc228444cb6c44d3fa54f880ebb407ee881ade61",
      "parents": [
        "52cb10c4d794e5041e04f20d716aac82c325b06b",
        "a49c94ea49c8329a1bdefe980e1f7d335c0d1ec5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 01 23:14:40 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 01 23:14:40 2014 +0000"
      },
      "message": "am a49c94ea: Merge \"Revert \"Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp\"\" into lmp-dev\n\n* commit \u0027a49c94ea49c8329a1bdefe980e1f7d335c0d1ec5\u0027:\n  Revert \"Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp\"\n"
    },
    {
      "commit": "a49c94ea49c8329a1bdefe980e1f7d335c0d1ec5",
      "tree": "c095d3a59114c8a893e3657ad5efc6fdb40f2c9b",
      "parents": [
        "d0b9efe7d8300e48f7a99c1dd746d60060206b3c",
        "6954127b7ace022677ac407ff943c2793f8a11be"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 01 23:09:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 01 23:09:53 2014 +0000"
      },
      "message": "Merge \"Revert \"Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp\"\" into lmp-dev"
    },
    {
      "commit": "6954127b7ace022677ac407ff943c2793f8a11be",
      "tree": "3e038561671d256e03d63fb88a32e529e198701a",
      "parents": [
        "54464ba861aaafd11ee5645f5d1ecd1171c6e9fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 01 22:38:43 2014 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 01 22:45:18 2014 +0000"
      },
      "message": "Revert \"Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp\"\n\nThis reverts commit 54464ba861aaafd11ee5645f5d1ecd1171c6e9fe.\n\nBug: 17733142.\n\nChange-Id: I9886d40032b2f7d96bee03e600e14f78943d8052\n"
    },
    {
      "commit": "79e687edb9bd7e2fcc60e06dd779f98c75511045",
      "tree": "d6dc7f22973f89d7eb61a926c6afa825386a176c",
      "parents": [
        "1f4b162e0bee6bcb0c9de464087db286270f5525",
        "327cb70dcbf3a1f1679aeafaaa62d8532abea86d"
      ],
      "author": {
        "name": "Nicholas Sauer",
        "email": "nicksauer@google.com",
        "time": "Wed Oct 01 17:30:03 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 01 17:30:04 2014 +0000"
      },
      "message": "Merge \"[AU] Update volume setting and Audio Device API 3.0\" into lmp-sprout-dev"
    },
    {
      "commit": "327cb70dcbf3a1f1679aeafaaa62d8532abea86d",
      "tree": "5c82c0c4c0d384add6f2f87fefb7427e1fb7f9a9",
      "parents": [
        "4379c03433e4613c417998ca7917059ef17dc3a9"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Sun Sep 21 09:47:31 2014 +0800"
      },
      "committer": {
        "name": "Leo Wang",
        "email": "leozwang@google.com",
        "time": "Tue Sep 30 19:01:22 2014 +0000"
      },
      "message": "[AU] Update volume setting and Audio Device API 3.0\n\n    Signed-off-by: Hochi Huang \u003chochi.huang@mediatek.com\u003e\n    Review: https://partner-android-review.git.corp.google.com/#/c/182522\n\nChange-Id: Ida2dfedc6eaa3204354cdc182e0ee13a35472661"
    },
    {
      "commit": "955e24d3a8e218d4711cabc6558781e095011132",
      "tree": "1b27aa45a2224cbdc9e247935c811e8ab62af40a",
      "parents": [
        "6c7ae72f0eccf456744474785afd25f9e205881c",
        "54464ba861aaafd11ee5645f5d1ecd1171c6e9fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Sep 30 01:44:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 30 01:44:18 2014 +0000"
      },
      "message": "Merge \"Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp\" into lmp-dev"
    },
    {
      "commit": "6c7ae72f0eccf456744474785afd25f9e205881c",
      "tree": "dd6c00b243c8aae9d23b9170b649dc11834c5f36",
      "parents": [
        "f71224ce266abb39f83ecba87783c2347631654a",
        "c260784e37dea73a2090d4ccd91472d61d3b6230"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 30 01:16:13 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 30 01:16:13 2014 +0000"
      },
      "message": "Merge \"audio policy: fix HW A/V sync output selection\" into lmp-dev"
    },
    {
      "commit": "f71224ce266abb39f83ecba87783c2347631654a",
      "tree": "2ab4c81c96918d94c5ff0acc66a68606c08b47de",
      "parents": [
        "c8c05d6a5821dd56209e160066314a03d2f2ca06",
        "e659ef420dae0caae84ab78f9df8952acb9ad3a0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 30 01:11:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 30 01:11:20 2014 +0000"
      },
      "message": "Merge \"audioflinger: forward flush to direct output streams\" into lmp-dev"
    },
    {
      "commit": "54464ba861aaafd11ee5645f5d1ecd1171c6e9fe",
      "tree": "c04a12c44ee589fec8baebafe200fe95529fa76a",
      "parents": [
        "a67ced9746e6f0d4e03ff8007682091afea71f6c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Sep 28 14:41:07 2014 -0700"
      },
      "committer": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Tue Sep 30 01:10:58 2014 +0000"
      },
      "message": "Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp\n\nThe per-thread timestamp latch was not synchronized with the per-track\nreleased frames.  Now the value of each track\u0027s released frames is\nlatched along with the timestamp.\n\nBug: 17531839\nBug: 17669342\nChange-Id: I96252782911bd42a2534cc4030521b7eeb99a7b9\n"
    },
    {
      "commit": "c260784e37dea73a2090d4ccd91472d61d3b6230",
      "tree": "2f6ffba5fe828dc4143db34e7b05b98f27d52567",
      "parents": [
        "dc2e6ddc933e40632e79a866d9ece870db1a975e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 29 09:43:03 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 29 17:40:36 2014 -0700"
      },
      "message": "audio policy: fix HW A/V sync output selection\n\ncommit b732cf5a broke the selection mechanism for the\nHW A/V sync direct output.\nAdd a rule to only select a mixed output for basic PCM\nstereo content when a direct output is not explicitly requested.\n\nBug: 17702382.\n\nChange-Id: I1387690ace77cd4d6a8faf0b525c3d1008fba3f1\n"
    },
    {
      "commit": "e659ef420dae0caae84ab78f9df8952acb9ad3a0",
      "tree": "9b21158041ed871365f939fc37034858328ef115",
      "parents": [
        "dc2e6ddc933e40632e79a866d9ece870db1a975e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 29 13:06:46 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 29 17:39:39 2014 -0700"
      },
      "message": "audioflinger: forward flush to direct output streams\n\nTrack flush should be forwarded to the audio HAL when playing\non a direct output stream.\n\nBug: 17704953.\nChange-Id: Iafc94327fe9aebf1d4eaa97b76c6767b7ac5babe\n"
    },
    {
      "commit": "c8c05d6a5821dd56209e160066314a03d2f2ca06",
      "tree": "8fd79487fc97cf9075dbd10bd5e849f112ead82c",
      "parents": [
        "4379c03433e4613c417998ca7917059ef17dc3a9",
        "2d077d0acdbb26eeb1357489c999ec875f6ce297"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 29 22:54:40 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 29 22:54:40 2014 +0000"
      },
      "message": "Merge \"CameraService: API1: Reallocate JPEG ashmem heap if size changes\" into lmp-dev"
    },
    {
      "commit": "2d077d0acdbb26eeb1357489c999ec875f6ce297",
      "tree": "2ed54476026da514f70e2184a9ac3bb79605459e",
      "parents": [
        "dc2e6ddc933e40632e79a866d9ece870db1a975e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 29 13:51:17 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 29 14:12:30 2014 -0700"
      },
      "message": "CameraService: API1: Reallocate JPEG ashmem heap if size changes\n\nBug: 17682603\nChange-Id: I7cba3365d00c33cf4267b1b59a94bd7d0bba08df\n"
    },
    {
      "commit": "4379c03433e4613c417998ca7917059ef17dc3a9",
      "tree": "742ac9abba4fcdf509f3703ac98b4b68029b8b07",
      "parents": [
        "dc2e6ddc933e40632e79a866d9ece870db1a975e",
        "ba0b34c18da93681c0813ecdab19b0e215b6d261"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 29 19:46:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 29 19:46:53 2014 +0000"
      },
      "message": "Merge \"Fix tee sink\" into lmp-dev"
    },
    {
      "commit": "ba0b34c18da93681c0813ecdab19b0e215b6d261",
      "tree": "9f401bc394b276294b706fb42d62f35131046c55",
      "parents": [
        "a67ced9746e6f0d4e03ff8007682091afea71f6c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Sep 28 13:06:06 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Sep 28 13:42:35 2014 -0700"
      },
      "message": "Fix tee sink\n\nNote: this does not fix the bug below, but it helps to investigate the bug.\n\nBug: 17578238\nChange-Id: I0fd27a477b73ba0e1c5a658bdfad17c500f5dc67\n"
    },
    {
      "commit": "dc2e6ddc933e40632e79a866d9ece870db1a975e",
      "tree": "882e16001c7e5bb3c5d259836b9962be16f9e72f",
      "parents": [
        "a67ced9746e6f0d4e03ff8007682091afea71f6c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 26 13:09:54 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Sep 28 12:06:41 2014 -0700"
      },
      "message": "Camera2Client: Revert HALv2 device behavior back to MR2\n\n- Do not idle device before video snapshot stream configuration, to\n  avoid deadlock during waiting.\n- Do not tear down ZSL stream\n- Don\u0027t refresh ZSL stream after deletion was requested.\n  The v2 HAL implementations really don\u0027t like the ZSL stream being\n  touched ever.\n\nBug: 17634430\nBug: 17628507\n\nChange-Id: I36b44a395e697be9802c4bd917a82b77c8d04be2\n"
    },
    {
      "commit": "a67ced9746e6f0d4e03ff8007682091afea71f6c",
      "tree": "3e038561671d256e03d63fb88a32e529e198701a",
      "parents": [
        "a8a4eeb95988e6bb73f7a742c8dd238c1f96c5c4",
        "248f9ce1b6052889dd55e7701f908477d16d6ff4"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Sep 27 22:38:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 27 22:38:21 2014 +0000"
      },
      "message": "Merge \"CameraService: API1: Fix flash mode\" into lmp-dev"
    },
    {
      "commit": "248f9ce1b6052889dd55e7701f908477d16d6ff4",
      "tree": "1d9813a8cd8b634cfb4bf5e5f5a534234b99cee7",
      "parents": [
        "5f5d0544454f062c1f37acad1a72d8c47b4a32b2"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Sep 27 14:27:45 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Sep 27 14:27:45 2014 -0700"
      },
      "message": "CameraService: API1: Fix flash mode\n\nSometimes it\u0027s useful to ensure variables are initialized in\nall code paths.\n\nBug: 17680416\nChange-Id: I9bed8a3bcb94417384bf0551fe1c0eee6cc49577\n"
    },
    {
      "commit": "a8a4eeb95988e6bb73f7a742c8dd238c1f96c5c4",
      "tree": "5460fb6c8718f868c4138d9d5142ea1ae48f7593",
      "parents": [
        "504de531a08facd130fa00f64fdc00521a975175",
        "b732cf5af93c33fa183769210ce9954521fb68cd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 26 23:34:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 26 23:34:07 2014 +0000"
      },
      "message": "Merge \"audio policy: favor mixed over direct output for PCM format\" into lmp-dev"
    },
    {
      "commit": "b732cf5af93c33fa183769210ce9954521fb68cd",
      "tree": "f7b469e86dbf5fc673937a917a151c0c8daeecfb",
      "parents": [
        "80ec934ae7d4e3a78af87554fdb77a58f6386ba0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 24 19:08:21 2014 -0700"
      },
      "committer": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Fri Sep 26 23:05:10 2014 +0000"
      },
      "message": "audio policy: favor mixed over direct output for PCM format\n\nmodify getOutputForDevice() to skip direct output selection\nif the request can obviously be attached to a mixed output\nThis prevents from selecting a direct output profile that\ncan manage stereo PCM format if a mixer output is available\nto reach the same device.\n\nBug: 17628413.\nChange-Id: I02e9a0b02c9ae5f44ff5768ac4ed02ce84d521c5\n"
    },
    {
      "commit": "504de531a08facd130fa00f64fdc00521a975175",
      "tree": "7a4511c4c58cb07bb368929cf5c5c32a4f779691",
      "parents": [
        "5f5d0544454f062c1f37acad1a72d8c47b4a32b2",
        "bb6c9a05840d924b502ce0f1868fca4881ada1ed"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 26 22:59:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 26 22:59:59 2014 +0000"
      },
      "message": "Merge \"audio: fix stream type for accessibility usage\" into lmp-dev"
    },
    {
      "commit": "bb6c9a05840d924b502ce0f1868fca4881ada1ed",
      "tree": "aec6d28b7ab31fec27416c6e853c94c2eedfcd9b",
      "parents": [
        "a935c76f96b066941b34f81c42b3fe9d00db98c5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 25 14:11:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 25 16:44:07 2014 -0700"
      },
      "message": "audio: fix stream type for accessibility usage\n\nMake sure that accessibility prompts are heard when\na ringtone is active by forcing stream type\nto AUDIO_STREAM_RING when phone state is AUDIO_MODE_RINGTONE.\n\nBug: 17558149.\nChange-Id: Ia3bead8052fca5cbf282c267f7b9b06014fef628\n"
    }
  ],
  "next": "b5bd1df2d6c78f8db5e7f6b416353ca8a93b7119"
}
