)]}'
{
  "log": [
    {
      "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": "bbda5ce4782b20f3ed75482e5f73b8d999223438",
      "tree": "8dd9231b0d49d1b31aada001e9650f92ff3f3825",
      "parents": [
        "408dba5ff6dd014a19afeeeae69242f022b73b30",
        "f6778fd0c72ab54328f0e9f5ecf0017b73e99dd8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 19 18:03:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 19 18:03:05 2014 +0000"
      },
      "message": "Merge \"AudioSystem: Add mutex for output cache\" into lmp-mr1-dev"
    },
    {
      "commit": "f6778fd0c72ab54328f0e9f5ecf0017b73e99dd8",
      "tree": "8f31be289f16ae8d684699ba80d533b249923e18",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 18 17:26:58 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 19 09:12:16 2014 -0800"
      },
      "message": "AudioSystem: Add mutex for output cache\n\nFix cross deadlock with AudioFlinger by adding\na dedicated mutex to protect access to cached output list\nand parameters.\n\nBug: 18410728.\nChange-Id: Ia31283b1972d8865a46e84e63695173c187eb781\n"
    },
    {
      "commit": "408dba5ff6dd014a19afeeeae69242f022b73b30",
      "tree": "ae08f0e6cc97343d69bdbe5b7967d94f10849fe1",
      "parents": [
        "ba0790bf10da74caacb214ea8155d172bae4d0c5",
        "95697aecd644ffcfbe7fe828e9e42bfab71b75a5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Nov 19 01:30:21 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 19 01:30:22 2014 +0000"
      },
      "message": "Merge \"HLS: fix live lock after missing the boat during configuration change\" into lmp-mr1-dev"
    },
    {
      "commit": "ba0790bf10da74caacb214ea8155d172bae4d0c5",
      "tree": "8d2be0704e909f73cb00e80d01fd4ede48a00f15",
      "parents": [
        "993d57ec4817922e291e2d88d690559403a1bcd6",
        "707eadef2ad1388bafdb2d003a4169208fa99811"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 19 01:21:50 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 19 01:21:51 2014 +0000"
      },
      "message": "Merge \"Don\u0027t autoloop notifications\" into lmp-mr1-dev"
    },
    {
      "commit": "95697aecd644ffcfbe7fe828e9e42bfab71b75a5",
      "tree": "940ef6948672bde19925bfa7b155d64e006e70aa",
      "parents": [
        "993d57ec4817922e291e2d88d690559403a1bcd6"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 10 18:19:11 2014 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Nov 18 17:12:50 2014 -0800"
      },
      "message": "HLS: fix live lock after missing the boat during configuration change\n\nBug:17488643\nChange-Id: I4f5de42f86d6c616a67dc803f35c026b35347983\n"
    },
    {
      "commit": "993d57ec4817922e291e2d88d690559403a1bcd6",
      "tree": "5b3ed87e8df74722a71c0b9076740fc1c86d6dc2",
      "parents": [
        "8cd37d677f10a7718c9247830652a588ea4600de",
        "6ffb1fd67eb8f00f130a6db914ba42a8432aec70"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Nov 19 00:46:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 19 00:46:25 2014 +0000"
      },
      "message": "Merge \"NuPlayer: pass media time to selectTrack for responsiveness\" into lmp-mr1-dev"
    },
    {
      "commit": "6ffb1fd67eb8f00f130a6db914ba42a8432aec70",
      "tree": "8c7fa7071cf8c096c0964416050555c422088993",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Oct 29 16:24:32 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Nov 19 00:42:24 2014 +0000"
      },
      "message": "NuPlayer: pass media time to selectTrack for responsiveness\n\nBug: 18020001\nChange-Id: Id50f8473992f39d8c0aa86a1fabb2601093d2572"
    },
    {
      "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": "707eadef2ad1388bafdb2d003a4169208fa99811",
      "tree": "c5666a6e0d400df28dbd67706fbfdc742710bf8f",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 18 09:50:35 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 18 09:54:54 2014 -0800"
      },
      "message": "Don\u0027t autoloop notifications\n\nSome apps think it\u0027s cool to use ringtones as notification sounds, but\nringtones often loop, which is not appropriate for notifications.\n\nBug: 15929273\nChange-Id: I77c4277801cb2561743f8c676ef76ab4d1668b08\n"
    },
    {
      "commit": "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f",
      "tree": "ccec4b11226708f7f4fdba55d4dfdcf42220bb56",
      "parents": [
        "4d0a5985fb5e7ea5a1f9a605afea2b7534ebc16b",
        "4dbc8cc68a2674110ac1dce9e475ac30b1baa7c5"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Nov 18 03:46:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 18 03:46:55 2014 +0000"
      },
      "message": "Merge \"Fix missing mutex lock in Drm::binderDied\" 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": "88ec9e992af75f9783794df5d7be31c3b018ad09",
      "tree": "4a8fc2f6d544aa9bb971d06b7a8a3d48021c5b12",
      "parents": [
        "39b109a1df23e7610b031b466e9ecf510b3c077f",
        "b51457f8d915e0ed8edf66d1d2c263ab4a792be8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 17 23:34:30 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 17 23:34:31 2014 +0000"
      },
      "message": "Merge \"Fix race condition in signaling completion for decode.\" into lmp-mr1-dev"
    },
    {
      "commit": "39b109a1df23e7610b031b466e9ecf510b3c077f",
      "tree": "f7b65ac4779af866f4d278004e7f583936cf2d1e",
      "parents": [
        "f89f2ff4df0855eb56d95a02ab29d856e0ffa858",
        "89bf2525c5b57f17260de5b00c5f3f78ac4b881e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 17 23:14:03 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 17 23:14:04 2014 +0000"
      },
      "message": "Merge \"NuPlayer HTTPLiveSource: impl getSelectedTrack\" into lmp-mr1-dev"
    },
    {
      "commit": "b51457f8d915e0ed8edf66d1d2c263ab4a792be8",
      "tree": "e4abde0a9cd2782282bf2bb4ed0687b21f207e25",
      "parents": [
        "97e6ca1a0be83e420ab238d9a1c31d3112126646"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 17 13:42:01 2014 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 17 13:46:12 2014 -0800"
      },
      "message": "Fix race condition in signaling completion for decode.\n\nBug: 18048775\nChange-Id: I2207eb2cf30cf205d9bf414edbb1d3e709185f67\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": "4dbc8cc68a2674110ac1dce9e475ac30b1baa7c5",
      "tree": "c84a3fc0b3b2b2f9d8fcbee6998b053f760614cb",
      "parents": [
        "2dc28b69258d4772aaf40902b939153239e7fe7f"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Nov 16 11:52:03 2014 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Nov 16 11:52:03 2014 -0800"
      },
      "message": "Fix missing mutex lock in Drm::binderDied\n\nbug: 18194977\nChange-Id: Ie6107a34237577c3b9cc6507d507f5c51f49fcf6\n"
    },
    {
      "commit": "addfc718ff85115355060d6b07ca67b41a3765c2",
      "tree": "9b64d78f825796b52691b5c0b743e0bdf99f9d7e",
      "parents": [
        "f97dfbc9e20a61e56a03058af7d947b17c48515e",
        "c6cfd70f24a11b946859485ce398a189c301a4e2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sat Nov 15 01:20:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 15 01:20:10 2014 +0000"
      },
      "message": "Merge \"NuPlayer: tunnel decoder with renderer for data buffer passing.\" into lmp-mr1-dev"
    },
    {
      "commit": "f97dfbc9e20a61e56a03058af7d947b17c48515e",
      "tree": "d4c95fabb8dc2125d9a1a1869e6e7c728b656aae",
      "parents": [
        "990dad996b748fdaa2041cc6d039e96ccfeae6fb",
        "daad5b2f4a6bb46a7911661e398278d6a80d7093"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Nov 15 01:11:21 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 15 01:11:22 2014 +0000"
      },
      "message": "Merge \"PlaylistFetcher: handle sporadic fetch erros\" into lmp-mr1-dev"
    },
    {
      "commit": "c6cfd70f24a11b946859485ce398a189c301a4e2",
      "tree": "47238c67d7cf5f6bfdf6845c64966e5e1692eb12",
      "parents": [
        "12acd3f0374e7707ff50c04f8075883be71b128c"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Nov 11 16:33:20 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Nov 14 14:23:52 2014 -0800"
      },
      "message": "NuPlayer: tunnel decoder with renderer for data buffer passing.\n\nBug: 18342383\n\nChange-Id: I182928007814c146c01a86196c4fda1d46e74ea4\n"
    },
    {
      "commit": "990dad996b748fdaa2041cc6d039e96ccfeae6fb",
      "tree": "7456bb2af05b32fa76e611e26c689b13e32d13fc",
      "parents": [
        "cede28e22bce0c92a6d139b51d2c007d2e3f6fca",
        "0d6db582f2ccc9f8943c5f3965e2994b7d137158"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 14 17:40:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 14 17:40:28 2014 +0000"
      },
      "message": "Merge \"remove AudioSystem::getOutputSamplingRateForAttr()\" into lmp-mr1-dev"
    },
    {
      "commit": "cede28e22bce0c92a6d139b51d2c007d2e3f6fca",
      "tree": "fcee5c8e7a56c4fd055afd0e908b6900a77d6cae",
      "parents": [
        "97e6ca1a0be83e420ab238d9a1c31d3112126646",
        "f296e2b262d2a8f7c570eaed454a28cca99eb976"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Nov 14 10:03:46 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 14 10:03:47 2014 +0000"
      },
      "message": "Merge \"stagefright: add runtime debug support\" into lmp-mr1-dev"
    },
    {
      "commit": "daad5b2f4a6bb46a7911661e398278d6a80d7093",
      "tree": "2c124ba7b02739aec15b63ec23519f3fd5079cd5",
      "parents": [
        "2dc28b69258d4772aaf40902b939153239e7fe7f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Aug 29 18:35:56 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Nov 13 17:01:10 2014 -0800"
      },
      "message": "PlaylistFetcher: handle sporadic fetch erros\n\nBug: 17490472\nChange-Id: I2c04e2352f13db762b845f4d35db0a8b851a148c\n"
    },
    {
      "commit": "97e6ca1a0be83e420ab238d9a1c31d3112126646",
      "tree": "19eff16ab736ee29034f5f68043a5cf07c5fde78",
      "parents": [
        "12acd3f0374e7707ff50c04f8075883be71b128c",
        "1099188151eb63af24ecf542b58d4257bbb8236a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Nov 13 23:15:06 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 23:15:07 2014 +0000"
      },
      "message": "Merge \"Stagefright: use MediaCodec in async mode for recording\" into lmp-mr1-dev"
    },
    {
      "commit": "12acd3f0374e7707ff50c04f8075883be71b128c",
      "tree": "19f4d335d925a8d402295fa8966ec8190647b918",
      "parents": [
        "6641004be544a394f3fca81f7213dd6e0668ff98",
        "87e8123d4d6058fbd50065a4fb18a0bdb6989b3f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 13 23:06:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 23:06:11 2014 +0000"
      },
      "message": "Merge \"AnotherPacketSource: need reset some members before returning from queueDiscontinuity().\" into lmp-mr1-dev"
    },
    {
      "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": "87e8123d4d6058fbd50065a4fb18a0bdb6989b3f",
      "tree": "a970a45ad189b339614cdd9060436e7707fec2a1",
      "parents": [
        "2dc28b69258d4772aaf40902b939153239e7fe7f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 12 15:37:07 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 13 11:35:41 2014 -0800"
      },
      "message": "AnotherPacketSource: need reset some members before returning from queueDiscontinuity().\n\nBug: 18355014\nBug: 17511837\n\nChange-Id: I4b623d3bc4fbeaf0e8bf4ddd96661469d17afe7a\n"
    },
    {
      "commit": "6641004be544a394f3fca81f7213dd6e0668ff98",
      "tree": "9cbadf3341c0119ca0baa4f50c64391914769e54",
      "parents": [
        "e0b7ddcda9b4fb493cc365c92293ed7d12c3208a",
        "e17afa888040eb5fbd31249305efd88ee03bb5bc"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Nov 13 19:16:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 19:16:02 2014 +0000"
      },
      "message": "Merge \"Revert \"mediaplayer: make frame-accurate avsync configurable\"\" into lmp-mr1-dev"
    },
    {
      "commit": "e0b7ddcda9b4fb493cc365c92293ed7d12c3208a",
      "tree": "691786a94cf11e731aea75939a95a5f0612088ba",
      "parents": [
        "869e0798bbb51af570b4d6ef750f2c21e6b94c8a",
        "bf20727f0aaf609bc3b495b07b45822b137d21ba"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Nov 13 17:23:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 17:23:27 2014 +0000"
      },
      "message": "Merge \"PlaylistFetcher: check ts program streams before disabling a/v\" into lmp-mr1-dev"
    },
    {
      "commit": "869e0798bbb51af570b4d6ef750f2c21e6b94c8a",
      "tree": "4578b428d6a2bad432207238c48444541684e23e",
      "parents": [
        "94691b01a94d3ae115a7181c99db58fbeb785c64",
        "ab063847e6e893740749029a04cce1f6b7345ed5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Nov 13 16:40:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 16:40:21 2014 +0000"
      },
      "message": "Merge \"MTP: add strict bounds checking for all incoming packets\" into lmp-mr1-dev"
    },
    {
      "commit": "0d6db582f2ccc9f8943c5f3965e2994b7d137158",
      "tree": "bdd0de4b94942f7490dfe7b59b96bb4fa65a136a",
      "parents": [
        "538596f71dc667b2f39c27d0bc9bbf119b0e6d58"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 12 18:39:44 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 12 18:52:20 2014 -0800"
      },
      "message": "remove AudioSystem::getOutputSamplingRateForAttr()\n\nIt is safer to query the output sampling rate once the output\nhave been acquired by calling getOutputForAttr().\n\nBug: 16009464.\nChange-Id: Ib561facd19fba5359a6b837d75f1a1cd2dc51b29\n"
    },
    {
      "commit": "bf20727f0aaf609bc3b495b07b45822b137d21ba",
      "tree": "54dcd911084ba618a70907efc04da2970240a8da",
      "parents": [
        "701b96474dc8afd16046e440975e00be57cc4874"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Oct 30 17:22:11 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Nov 12 18:42:10 2014 -0800"
      },
      "message": "PlaylistFetcher: check ts program streams before disabling a/v\n\nBug: 14648838\nChange-Id: Ibf2b2cbb235f3d80bc33013e2afc053f13b9035f\n"
    },
    {
      "commit": "1099188151eb63af24ecf542b58d4257bbb8236a",
      "tree": "d1f15d781c76f511465da68c6d334ebcaf8b6eac",
      "parents": [
        "868e2f0148b1c491e4fd4839b46d73f6216a058d"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Thu Oct 16 11:49:14 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 12 17:22:36 2014 -0800"
      },
      "message": "Stagefright: use MediaCodec in async mode for recording\n\nAsync mode reduces the number of messages posted between\nMediaCodec and MediaCodecSource. This reduces thread\nwakeups and helps reduce CPU utilization.\n\nBug: 18246026\nChange-Id: I4b0837f309fdd12e323c1dfa72525f5a31971a03\n"
    },
    {
      "commit": "ab063847e6e893740749029a04cce1f6b7345ed5",
      "tree": "8b840e9152cfa638aa354a0379962a89914e0006",
      "parents": [
        "745602d87607521f4fe84c4f3a6388fbdb6a867c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Nov 12 14:20:06 2014 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Nov 12 16:08:37 2014 -0800"
      },
      "message": "MTP: add strict bounds checking for all incoming packets\n\nPreviously we did not sanity check incoming MTP packets,\nwhich could result in crashes due to reading off the edge of a packet.\nNow all MTP packet getter functions return a boolean result\n(true for OK, false for reading off the edge of the packet)\nand we now return errors for malformed packets.\n\nBug: 18113092\nChange-Id: Ic7623ee96f00652bdfb4f66acb16a93db5a1c105\n"
    },
    {
      "commit": "f296e2b262d2a8f7c570eaed454a28cca99eb976",
      "tree": "bd87223950d92c27fc69601ddeddbf8e219742e4",
      "parents": [
        "94691b01a94d3ae115a7181c99db58fbeb785c64"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 18 18:08:52 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Nov 12 15:59:04 2014 -0800"
      },
      "message": "stagefright: add runtime debug support\n\nBug: 18285408\nChange-Id: I56346f4652b2c5f7ef5fa3003fd8676051339384\n"
    },
    {
      "commit": "94691b01a94d3ae115a7181c99db58fbeb785c64",
      "tree": "fba789c204ea2a947b153423dd4191bf3baf9136",
      "parents": [
        "7c77c75d43ac2a40f2b5ce98085ef68f8ba3b4f2",
        "7a493d8578bb00cf10190053a4caf1d07f4e24f7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 12 21:40:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 12 21:40:26 2014 +0000"
      },
      "message": "Merge \"Fix Ogg Vorbis packet timestamps\" into lmp-mr1-dev"
    },
    {
      "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": "538596f71dc667b2f39c27d0bc9bbf119b0e6d58",
      "tree": "a02a7204a9d6c323b7d7bfcf3f108933e9cd5dc8",
      "parents": [
        "745602d87607521f4fe84c4f3a6388fbdb6a867c",
        "368e33700ed16acc8e99657fb84edd5d2806b34f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 12 19:00:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 12 19:00:29 2014 +0000"
      },
      "message": "Merge \"Fix looping sound playback\" into lmp-mr1-dev"
    },
    {
      "commit": "745602d87607521f4fe84c4f3a6388fbdb6a867c",
      "tree": "07aad629704dabc41fd18505383a71e1f7343c12",
      "parents": [
        "a7e65b196bf7efb27daa36c8a783d9c57c9ffc03",
        "33223c4f97abb78fa8c92e1b8c817546f15d97e1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 11 22:00:35 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 11 22:00:37 2014 +0000"
      },
      "message": "Merge \"MediaCodec: Prevent stop() in the UNINITIALIZED state\" into lmp-mr1-dev"
    },
    {
      "commit": "368e33700ed16acc8e99657fb84edd5d2806b34f",
      "tree": "73067e4cc41d76e60ac526ece3a29c2b47443089",
      "parents": [
        "a7e65b196bf7efb27daa36c8a783d9c57c9ffc03"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 11 13:56:44 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 11 13:58:56 2014 -0800"
      },
      "message": "Fix looping sound playback\n\nThe renderer stops the audio sink at the end in order to play out\nthe last little bit of audio. When the sound is looping, the sink\nneeds to be restarted.\n\nBug: 18326137\nChange-Id: I3bc3629597fc43cce33bdf5691d29cc4c2285926\n"
    },
    {
      "commit": "7a493d8578bb00cf10190053a4caf1d07f4e24f7",
      "tree": "dd2dc9f16f9f075f82580584d25dfc99eed9c86d",
      "parents": [
        "a7e65b196bf7efb27daa36c8a783d9c57c9ffc03"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 11 09:24:49 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 11 10:49:27 2014 -0800"
      },
      "message": "Fix Ogg Vorbis packet timestamps\n\nBug: 17586090\nChange-Id: Iea88f7cc1f623cbea5df24169ea76181925fbb13\n"
    },
    {
      "commit": "a7e65b196bf7efb27daa36c8a783d9c57c9ffc03",
      "tree": "4cec21ee2a71c304176a261bb409cf5e0c7a6558",
      "parents": [
        "95768fc3c357f243ded53baa9f375401dc4835cd",
        "0644f95a8976470e84c6c0a6d96585ae6437ecd2"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Nov 11 03:13:26 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 11 03:13:27 2014 +0000"
      },
      "message": "Merge \"MatroskaExtractor: use GetTrackByNumber instead of GetTrackByIndex\" into lmp-mr1-dev"
    },
    {
      "commit": "95768fc3c357f243ded53baa9f375401dc4835cd",
      "tree": "1fc20900fc6c53c7508904ec3579c09a0f73bc1c",
      "parents": [
        "a64ed568c94d7bf837eab02f7ad1e6d196ac396f",
        "f5b7c3b3c9a6da29f3bbd02e4031ad19bc7ad0f7"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Nov 11 03:13:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 11 03:13:18 2014 +0000"
      },
      "message": "Merge \"PlaylistFetcher: clear mStartup for .aac playlists after seek\" into lmp-mr1-dev"
    },
    {
      "commit": "a64ed568c94d7bf837eab02f7ad1e6d196ac396f",
      "tree": "ed5513fbe446bad4b7438f7f4c31feac9bd8850f",
      "parents": [
        "f840fc850b31b0e038978d72f4841b48bef8a84a",
        "98356ada9146e8630821b760b161cbd9993f1228"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 11 01:48:53 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 11 01:48:53 2014 +0000"
      },
      "message": "am 8e2b445f: am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing automerge: 99370d2 automerge: cb5c8c0\nautomerge: 98356ad\n\n* commit \u002798356ada9146e8630821b760b161cbd9993f1228\u0027:\n"
    },
    {
      "commit": "98356ada9146e8630821b760b161cbd9993f1228",
      "tree": "729ba3b39dcbc29fe1dcf4ec7ec7b3bb0a9f5b8a",
      "parents": [
        "17c2c87c40588fe77c327bb4dd57460aad90731c",
        "8e2b445fabd05132de57226de71c7860a5391954"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 11 01:43:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 11 01:43:14 2014 +0000"
      },
      "message": "am 8e2b445f: am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing automerge: 99370d2 automerge: cb5c8c0\n\n* commit \u00278e2b445fabd05132de57226de71c7860a5391954\u0027:\n"
    },
    {
      "commit": "8e2b445fabd05132de57226de71c7860a5391954",
      "tree": "9ebbce57d5015eb8ac2356af7ed14b84136b9916",
      "parents": [
        "6d60079e97c5fd6ba7de7b60adb0a027c0608d19",
        "cb5c8c0de3f796f6a2499d4467abe59e11ffa8f5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 11 01:34:39 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 11 01:34:39 2014 +0000"
      },
      "message": "am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing automerge: 99370d2\nautomerge: cb5c8c0\n\n* commit \u0027cb5c8c0de3f796f6a2499d4467abe59e11ffa8f5\u0027:\n"
    },
    {
      "commit": "cb5c8c0de3f796f6a2499d4467abe59e11ffa8f5",
      "tree": "e6204722ffab2c2f0b366ad392ae17c5ab6840bc",
      "parents": [
        "ba30b4547c6b7ca949ef74e760ccc6157f435690",
        "99370d2da54d7537ffda7fef1f6ef36f8b690321"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 11 00:22:26 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 11 00:22:26 2014 +0000"
      },
      "message": "am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\nautomerge: 99370d2\n\n* commit \u002799370d2da54d7537ffda7fef1f6ef36f8b690321\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "f840fc850b31b0e038978d72f4841b48bef8a84a",
      "tree": "ed5513fbe446bad4b7438f7f4c31feac9bd8850f",
      "parents": [
        "48cb6d7c840e695769405b0d33fd2b85479ec717",
        "17c2c87c40588fe77c327bb4dd57460aad90731c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 23:38:22 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 23:38:22 2014 +0000"
      },
      "message": "am 17c2c87c: am 6d60079e: am 99370d2d: am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\n* commit \u002717c2c87c40588fe77c327bb4dd57460aad90731c\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "17c2c87c40588fe77c327bb4dd57460aad90731c",
      "tree": "729ba3b39dcbc29fe1dcf4ec7ec7b3bb0a9f5b8a",
      "parents": [
        "2dca6f6826c81372e67625024bbe7fa00c02b708",
        "6d60079e97c5fd6ba7de7b60adb0a027c0608d19"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 23:35:11 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 23:35:11 2014 +0000"
      },
      "message": "am 6d60079e: am 99370d2d: am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\n* commit \u00276d60079e97c5fd6ba7de7b60adb0a027c0608d19\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "6d60079e97c5fd6ba7de7b60adb0a027c0608d19",
      "tree": "9ebbce57d5015eb8ac2356af7ed14b84136b9916",
      "parents": [
        "995599cbd6ada739c257716a6d8b90eee6d61473",
        "99370d2da54d7537ffda7fef1f6ef36f8b690321"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 23:31:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 23:31:32 2014 +0000"
      },
      "message": "am 99370d2d: am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\n* commit \u002799370d2da54d7537ffda7fef1f6ef36f8b690321\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "99370d2da54d7537ffda7fef1f6ef36f8b690321",
      "tree": "1ba4953c98fd3eeaa6f9a3fc2ab3e88003da23e4",
      "parents": [
        "ca83dd27f6c662bcbb0cea204c4df7ca77a479fd",
        "ae6965ae7664aaea489a8d58358035610075c9af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 23:28:27 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 23:28:27 2014 +0000"
      },
      "message": "am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\n* commit \u0027ae6965ae7664aaea489a8d58358035610075c9af\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "ae6965ae7664aaea489a8d58358035610075c9af",
      "tree": "fd4406ad0fbd33d98a2cca8407aad354f9baa58b",
      "parents": [
        "42f785c5d5ae596d781171327c98c541f0517feb",
        "3aef35600523eb6b4ccc8086a8913e80701a031a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 23:20:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 23:20:25 2014 +0000"
      },
      "message": "am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\n* commit \u00273aef35600523eb6b4ccc8086a8913e80701a031a\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "3aef35600523eb6b4ccc8086a8913e80701a031a",
      "tree": "04abfec97e7e0d0b54b1037b06529d2ca26ebbdd",
      "parents": [
        "4fbe49a83d41a64d44e363ccd691e7bfc41bb6af",
        "e360f0f6cad290f69e07fd3a20dcf11a1dbc4160"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 23:16:22 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 23:16:22 2014 +0000"
      },
      "message": "am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\n* commit \u0027e360f0f6cad290f69e07fd3a20dcf11a1dbc4160\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "48cb6d7c840e695769405b0d33fd2b85479ec717",
      "tree": "ed5513fbe446bad4b7438f7f4c31feac9bd8850f",
      "parents": [
        "21efaad13f13e390f585cea4371d399997f8d1a6",
        "15ce5f35187659ad757ee2ea6f70dcef5010c2c2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 10 22:29:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 10 22:29:56 2014 +0000"
      },
      "message": "Merge \"Fix short sound playback\" into lmp-mr1-dev"
    },
    {
      "commit": "21efaad13f13e390f585cea4371d399997f8d1a6",
      "tree": "a0138da7c13fdffcc52b37447b466f2cc40b2cd5",
      "parents": [
        "2dc28b69258d4772aaf40902b939153239e7fe7f",
        "5c67ddcf987b1f07c9abc1d051a0c051e7c73ff7"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 10 22:22:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 10 22:22:29 2014 +0000"
      },
      "message": "Merge \"GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs\" into lmp-mr1-dev"
    },
    {
      "commit": "5c67ddcf987b1f07c9abc1d051a0c051e7c73ff7",
      "tree": "75832e9700f6cab80119c44d8045778e41fbffe6",
      "parents": [
        "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Nov 04 17:46:05 2014 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 10 22:02:41 2014 +0000"
      },
      "message": "GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs\n\nBug: 18296874\nChange-Id: I9608523b4cc37e6cf8b91fb1407035aac087796b"
    },
    {
      "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": "e360f0f6cad290f69e07fd3a20dcf11a1dbc4160",
      "tree": "6e19a985df2a12cf74d713b689556cfc735f0088",
      "parents": [
        "96016c2d583ccca9fffd6974cb9473f7effd6cf5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 05 12:15:36 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 19:43:46 2014 +0000"
      },
      "message": "IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\nBug: 18226810.\nChange-Id: Ib8e2bfe835a8681aac50bf23161db14e50c9a124\n(cherry picked from commit 74adca9ad30b7f8a70d40c5237bade0d16c4ea58)\n"
    },
    {
      "commit": "2dc28b69258d4772aaf40902b939153239e7fe7f",
      "tree": "010f2d21a21dd55e7b5d2bfe3bd56918912e76f3",
      "parents": [
        "c5208b7a23300c0f628a4dab3a22536e351da18b",
        "1098d87e56f726184ae9c8fe903ea4743669f35b"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 10 18:25:32 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 10 18:25:33 2014 +0000"
      },
      "message": "Merge \"HTTPLiveSource: NULL check in getFormat\" into lmp-mr1-dev"
    },
    {
      "commit": "c5208b7a23300c0f628a4dab3a22536e351da18b",
      "tree": "4b94a6347b1f33b8a9c0966fac8d37019d818219",
      "parents": [
        "02b5708776ba2a9b4ff8c09008483aef7dbe38c7",
        "2dca6f6826c81372e67625024bbe7fa00c02b708"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 17:18:45 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 17:18:45 2014 +0000"
      },
      "message": "am 2dca6f68: am 995599cb: audioflinger: fix duplicating thread output buffers clear\n\n* commit \u00272dca6f6826c81372e67625024bbe7fa00c02b708\u0027:\n  audioflinger: fix duplicating thread output buffers clear\n"
    },
    {
      "commit": "2dca6f6826c81372e67625024bbe7fa00c02b708",
      "tree": "ceeef428c0e49b6757c9b3f1edaddf5206d19ebc",
      "parents": [
        "10e898cc583473d4c3604456b48e008f90d82f70",
        "995599cbd6ada739c257716a6d8b90eee6d61473"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 17:14:58 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 17:14:58 2014 +0000"
      },
      "message": "am 995599cb: audioflinger: fix duplicating thread output buffers clear\n\n* commit \u0027995599cbd6ada739c257716a6d8b90eee6d61473\u0027:\n  audioflinger: fix duplicating thread output buffers clear\n"
    },
    {
      "commit": "995599cbd6ada739c257716a6d8b90eee6d61473",
      "tree": "88b7f8beeb6c560f5868e7f254d8b2e097caceea",
      "parents": [
        "9c0c41ff36926030778a8a41210d02602c5a9f62"
      ],
      "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": "Mon Nov 10 17:03:11 2014 +0000"
      },
      "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(cherry picked from commit 02b5708776ba2a9b4ff8c09008483aef7dbe38c7)\n"
    },
    {
      "commit": "1098d87e56f726184ae9c8fe903ea4743669f35b",
      "tree": "c2dabde1d5669bef93e8854e1c0e9ba26703bc6c",
      "parents": [
        "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Nov 06 13:58:48 2014 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Nov 08 01:40:50 2014 +0000"
      },
      "message": "HTTPLiveSource: NULL check in getFormat\n\nBug: 18297916\nChange-Id: I14c5de8d28202ee1b68e369d33e01bd26dbe968d"
    },
    {
      "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": "f5b7c3b3c9a6da29f3bbd02e4031ad19bc7ad0f7",
      "tree": "f7d93de443fcd038e784a0f1a665b2a40597b844",
      "parents": [
        "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Nov 07 15:27:05 2014 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Nov 07 17:24:46 2014 -0800"
      },
      "message": "PlaylistFetcher: clear mStartup for .aac playlists after seek\n\nBug: 18296856\nChange-Id: I26beabee338312eb2125b69284052c61aef611f0\n"
    },
    {
      "commit": "e17afa888040eb5fbd31249305efd88ee03bb5bc",
      "tree": "c079294242bc00130c022194b085aaf635bf4e2a",
      "parents": [
        "e662cd5cdbe1312d6b74754d2945fffe99e4fe2c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Nov 07 17:20:58 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Nov 07 17:24:09 2014 -0800"
      },
      "message": "Revert \"mediaplayer: make frame-accurate avsync configurable\"\n\nReenable PTS scheduling for all playback.\n\nThis reverts commit 274084f7bfd3f6bdf5a55cf16ceefed345aa0060.\n\nBug: 18111837\nChange-Id: Ia734ad304c1f85d2ac302261866be82b8f2a30d4\n"
    },
    {
      "commit": "0644f95a8976470e84c6c0a6d96585ae6437ecd2",
      "tree": "5f1eb04de363ef3637e9caccda1f9133bf4641c9",
      "parents": [
        "461b02d3eccefea48fa15c67a9cd3a5895bd2765"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Nov 04 15:22:15 2014 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Nov 08 01:20:59 2014 +0000"
      },
      "message": "MatroskaExtractor: use GetTrackByNumber instead of GetTrackByIndex\n\nBug: 18297854\nChange-Id: I5e14a358576d9c7d25b7e421cd22428fb17a6e06"
    },
    {
      "commit": "e662cd5cdbe1312d6b74754d2945fffe99e4fe2c",
      "tree": "68e681598ebc7f78ca041a51011652700694f7d8",
      "parents": [
        "1609e451cf6101efe6aeaaa2da61db2cb095c9e8",
        "d2d089fc86c62843992e7d5b371ee9227189a1e6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 07 21:23:26 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 07 21:23:28 2014 +0000"
      },
      "message": "Merge \"Improve AudioTrack recovery from mediaserver death\" into lmp-mr1-dev"
    },
    {
      "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": "c339a921642c38621f57e95b4ec41cfaa99c7a63",
      "tree": "7b8204818f224904c8df99e6b1ee66e34f2afed2",
      "parents": [
        "62fe78b66c87339a64f047561e7b4aac606310e2",
        "a36060891425c4ce0621e40344ac473ec14924dd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 07 18:38:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 07 18:38:54 2014 +0000"
      },
      "message": "Merge \"AudioSystem: remove obsolete method.\" into lmp-mr1-dev"
    },
    {
      "commit": "a36060891425c4ce0621e40344ac473ec14924dd",
      "tree": "f098fd77fb7661b83e3c43f31aec6f30316f4f34",
      "parents": [
        "1cf9ad1abb599ce4057189e0db154cf00b4913f8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 06 18:07:23 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 06 18:07:23 2014 -0800"
      },
      "message": "AudioSystem: remove obsolete method.\n\nBug: 18067208.\nChange-Id: I9bbf9088485f5162c765ca504d9b784b956234c6\n"
    },
    {
      "commit": "62fe78b66c87339a64f047561e7b4aac606310e2",
      "tree": "95c63273d9323a8edd231c725b1e72c1369439a8",
      "parents": [
        "d556fad7475f4cd05a2199e9716ed8e01aa0ea9b",
        "85f480e7fd7c5e70c91d2f205b5c49488a84eb4d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 07 01:48:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 07 01:48:20 2014 +0000"
      },
      "message": "Merge \"Fix memory leak\" into lmp-mr1-dev"
    },
    {
      "commit": "d556fad7475f4cd05a2199e9716ed8e01aa0ea9b",
      "tree": "54ec9d3bf73ceb8647f421bd8ff095a529e4ddaa",
      "parents": [
        "e86c6d59dfa8aea8f321287cbb1f122623e5417a"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Nov 05 20:11:10 2014 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Nov 06 15:54:14 2014 -0800"
      },
      "message": "Fix build, update mock drm plugin\n\nBug: 18280078\n(cherry picked from commit 85c737a67e1b679251fce7f456ae79eefdc15e07)\n\nChange-Id: I341981e71d87be666787d9c866fc71a6b758c0e9\n"
    },
    {
      "commit": "e86c6d59dfa8aea8f321287cbb1f122623e5417a",
      "tree": "de24fd38277b8d4f3ee954fe4156798f34a045a3",
      "parents": [
        "1cf9ad1abb599ce4057189e0db154cf00b4913f8",
        "fef808d42a9c94b0b5ef3c3d5fb0a090edbc42da"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 06 23:38:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 06 23:38:18 2014 +0000"
      },
      "message": "Merge \"AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.\" into lmp-mr1-dev"
    },
    {
      "commit": "89bf2525c5b57f17260de5b00c5f3f78ac4b881e",
      "tree": "f974b0e3b0b40dc30c933b1b767a66d22c10cc27",
      "parents": [
        "1cf9ad1abb599ce4057189e0db154cf00b4913f8"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 29 19:25:10 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Nov 06 21:44:23 2014 +0000"
      },
      "message": "NuPlayer HTTPLiveSource: impl getSelectedTrack\n\nBug: 17514665\nChange-Id: I81c62553f2c5acb4d2436a9d8f04c10fdbe315d0\n"
    },
    {
      "commit": "fef808d42a9c94b0b5ef3c3d5fb0a090edbc42da",
      "tree": "94c39efa1b2c3cc6a3b40cf2b6e5f087dd6f917b",
      "parents": [
        "151b3f41ffcdf187580542ba0c0d3b84df16beed"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Oct 31 17:57:05 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 06 09:57:19 2014 -0800"
      },
      "message": "AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.\n\nThis will remove the unnecessary flush for seek.\n\nBug: 17511837\nChange-Id: I4b7acfc71a410372f5c630afb94b6a95d09d8974\n"
    },
    {
      "commit": "85f480e7fd7c5e70c91d2f205b5c49488a84eb4d",
      "tree": "79022052fe7237ba1d3a5af8e7f4e75f3ae84a1b",
      "parents": [
        "74adca9ad30b7f8a70d40c5237bade0d16c4ea58"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 05 17:44:51 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 06 08:39:29 2014 -0800"
      },
      "message": "Fix memory leak\n\nChange-Id: I3f4110a88679b7e7841f40c6acdbf5dcde40fb19\n"
    },
    {
      "commit": "868e2f0148b1c491e4fd4839b46d73f6216a058d",
      "tree": "1bbf6047da0636dddcac32a904d55c2cd87d2ba0",
      "parents": [
        "1cf9ad1abb599ce4057189e0db154cf00b4913f8",
        "d5735f915191061994cd6e2356492d5dae30a591"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Thu Nov 06 06:12:39 2014 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Thu Nov 06 06:12:39 2014 -0800"
      },
      "message": "merge in lmp-mr1-release history after reset to 1cf9ad1abb599ce4057189e0db154cf00b4913f8\n"
    },
    {
      "commit": "1cf9ad1abb599ce4057189e0db154cf00b4913f8",
      "tree": "1bbf6047da0636dddcac32a904d55c2cd87d2ba0",
      "parents": [
        "19a3f69d9d5398db62ee7b15f2c13052d7ee9f07",
        "2514d080c8a54ff603a45d7e336de668fe7329db"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Nov 06 02:36:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 06 02:36:17 2014 +0000"
      },
      "message": "Merge \"Pass resolution to Crypto plugin on format change\" into lmp-mr1-dev"
    },
    {
      "commit": "19a3f69d9d5398db62ee7b15f2c13052d7ee9f07",
      "tree": "cf8ab0afd5e431df089fb7a45499fd1981ba4fc4",
      "parents": [
        "74adca9ad30b7f8a70d40c5237bade0d16c4ea58",
        "3c1285e8f86bd497e14c14fb6df7b42072ef52bd"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Nov 06 02:33:37 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 06 02:33:37 2014 +0000"
      },
      "message": "Merge \"Add missing secure stop methods\" into lmp-mr1-dev"
    },
    {
      "commit": "d2d089fc86c62843992e7d5b371ee9227189a1e6",
      "tree": "9bbab0fe070321be1612e188c835de59375f7e26",
      "parents": [
        "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 05 11:48:12 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 05 14:51:19 2014 -0800"
      },
      "message": "Improve AudioTrack recovery from mediaserver death\n\n1. Fix race condition in handling of binder death notifications.\n\nAudioSystem has a mixture of APIs for both ordinary app clients,\nand the AudioFlinger and AudioPolicy services within mediaserver.\nDue to this mix of uses, it is possible for there to be \"surprising\"\nsequences of calls on the call stack.\n\nPreviously, we used a single mutex for all global variables, but\nthis caused a deadlock.  To avoid the deadlock, we unlocked the mutex\nduring the critical sequence of calls.  But this was a a\ncrucial place where it should have stayed locked;\nsee Change-Id I315c1c5066f62b05e1c13b04fae1272b5fbce977\n\nNow we use separate mutexes for the AudioFlinger, AudioPolicy, and audio port\nrelated global variables.  This allows us to correctly hold each mutex\nthroughout the atomic region, even when AudioFlinger calls AudioPolicy\nvia AudioSystem, or vice-versa.\n\n2. AudioSystem::clearAudioConfigCache now clears the IAudioFlinger reference.\n\n3. Make AudioSystem::get_audio_policy_service more like get_audio_flinger.\n\nBug: 18242291\nChange-Id: I9761443d8337df5bf66d4ca2316a9fd0bd11be94\n"
    },
    {
      "commit": "15ce5f35187659ad757ee2ea6f70dcef5010c2c2",
      "tree": "4fa8715305099f3aac2087de867fe80a529b8599",
      "parents": [
        "8bfa96c2f7c098550b00b84677088f84e81f4ed4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 05 13:07:39 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 05 14:38:29 2014 -0800"
      },
      "message": "Fix short sound playback\n\nAudioTrack needs to be stopped, not paused, at the end of the file,\nsince otherwise the last bit of queued up audio will not be played.\n\nBug: 18188921\nChange-Id: I038aad74a105e163963929c7002b55f377de1442\n"
    },
    {
      "commit": "74adca9ad30b7f8a70d40c5237bade0d16c4ea58",
      "tree": "13e642689e945e69b76ac095a6bec978debf4084",
      "parents": [
        "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 05 12:15:36 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 05 12:33:59 2014 -0800"
      },
      "message": "IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\nBug: 18226810.\nChange-Id: Ib8e2bfe835a8681aac50bf23161db14e50c9a124\n"
    },
    {
      "commit": "d5735f915191061994cd6e2356492d5dae30a591",
      "tree": "daa44e7941703765a4d37c0207df8e12959b66c8",
      "parents": [
        "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f",
        "6cf366415afd237b014a7266049af2bb38df6112"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Wed Nov 05 06:12:23 2014 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Wed Nov 05 06:12:23 2014 -0800"
      },
      "message": "merge in lmp-mr1-release history after reset to ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f\n"
    },
    {
      "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": "33223c4f97abb78fa8c92e1b8c817546f15d97e1",
      "tree": "0ab28f3a0fe33bbd6553f5914cc49b395814f6e8",
      "parents": [
        "b9b21bc11bfb6e77cc0f9e9a31de02342ab9d653"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 03 17:06:30 2014 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 04 10:32:44 2014 -0800"
      },
      "message": "MediaCodec: Prevent stop() in the UNINITIALIZED state\n\nReturn INVALID_OPERATION instead.  This is a corner case when\nthe decoder is still allocated, occurring after codec error.\n\nBug: 18121124\nChange-Id: If87e44dd40db48f63f965b765205f1e733663efd\n"
    },
    {
      "commit": "6cf366415afd237b014a7266049af2bb38df6112",
      "tree": "daa44e7941703765a4d37c0207df8e12959b66c8",
      "parents": [
        "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f",
        "797f88b756968d980eeb7b09439710cc98691c5e"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Tue Nov 04 06:11:48 2014 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Tue Nov 04 06:11:48 2014 -0800"
      },
      "message": "merge in lmp-mr1-release history after reset to ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f\n"
    },
    {
      "commit": "2514d080c8a54ff603a45d7e336de668fe7329db",
      "tree": "c02e8521f99240935f7c672c9d79846addd785cb",
      "parents": [
        "3c1285e8f86bd497e14c14fb6df7b42072ef52bd"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Nov 03 13:29:35 2014 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Nov 03 18:39:23 2014 -0800"
      },
      "message": "Pass resolution to Crypto plugin on format change\n\nChange-Id: I56cd557ce3525fe625db8c312d2557d3c8b51101\nrelated-to-bug: 16034599\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": "461b02d3eccefea48fa15c67a9cd3a5895bd2765",
      "tree": "6fa1b5cef70a6572fa528bcb04f398b185bd3763",
      "parents": [
        "0def1d9e88e5ce567e13e0081f2ee8ae3cba0232",
        "03fcdcd0aa9758b6d882b18218fcfb9a1ccffdad"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 04 01:37:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 04 01:37:34 2014 +0000"
      },
      "message": "Merge \"audio: fix talkback why alarm is playing\" 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": "0def1d9e88e5ce567e13e0081f2ee8ae3cba0232",
      "tree": "e02f98e76d6eb7ef6c3a90a8c07eb59405c42776",
      "parents": [
        "5e4215f5d7f78b5f6bffafc8a93a0f5575524b77",
        "10e898cc583473d4c3604456b48e008f90d82f70"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 04 00:23:00 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 04 00:23:00 2014 +0000"
      },
      "message": "am 9c0c41ff: am 42f785c5: am 4fbe49a8: am 96016c2d: am 9944ff09: am 70c3507d: am 450b10c9: am d0f9dc71: am e0a65f30: am f5af3a72: am 6d80b687: audio policy: validate stream type received from binder calls. automerge: ca83dd2 automerge: ba30b45\nautomerge: 10e898c\n\n* commit \u002710e898cc583473d4c3604456b48e008f90d82f70\u0027:\n"
    },
    {
      "commit": "5e4215f5d7f78b5f6bffafc8a93a0f5575524b77",
      "tree": "e02f98e76d6eb7ef6c3a90a8c07eb59405c42776",
      "parents": [
        "c7eca4e8ea8c6cd6d1a96404331c2119c1dd556e",
        "953705d721627558bbdcd0c014ba3a95f073f4da"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Tue Nov 04 00:19:08 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 04 00:19:08 2014 +0000"
      },
      "message": "am 9c356efa: Revert \"audio: prevent larger than required sleeps - DO NOT MERGE\" automerge: b6dcdbf  -s ours automerge: ed394bc  -s ours\nautomerge: 953705d  -s ours\n\n* commit \u0027953705d721627558bbdcd0c014ba3a95f073f4da\u0027:\n"
    },
    {
      "commit": "c7eca4e8ea8c6cd6d1a96404331c2119c1dd556e",
      "tree": "e02f98e76d6eb7ef6c3a90a8c07eb59405c42776",
      "parents": [
        "3baa9d08ad2ec5afd4c1cdd48942aeb74b5428d7",
        "4f97e6933b529e3822fb3ef121a9f0139e7a04d7"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Tue Nov 04 00:19:03 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 04 00:19:03 2014 +0000"
      },
      "message": "am 4b189fe2: audio: prevent larger than required sleeps - DO NOT MERGE automerge: 620208d  -s ours automerge: b2c3ad1  -s ours\nautomerge: 4f97e69  -s ours\n\n* commit \u00274f97e6933b529e3822fb3ef121a9f0139e7a04d7\u0027:\n"
    },
    {
      "commit": "3baa9d08ad2ec5afd4c1cdd48942aeb74b5428d7",
      "tree": "e02f98e76d6eb7ef6c3a90a8c07eb59405c42776",
      "parents": [
        "398a2c5425ecbc4225b934e61440a5f2dd92f607",
        "0a978b70e95f8499831843b155d64fecc54208e8"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Tue Nov 04 00:18:57 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 04 00:18:57 2014 +0000"
      },
      "message": "am 1aed5c92: Revert \"audio: prevent larger than required sleeps - DO NOT MERGE\" automerge: 2feb18d  -s ours automerge: bb92112  -s ours\nautomerge: 0a978b7  -s ours\n\n* commit \u00270a978b70e95f8499831843b155d64fecc54208e8\u0027:\n"
    }
  ],
  "next": "398a2c5425ecbc4225b934e61440a5f2dd92f607"
}
