)]}'
{
  "log": [
    {
      "commit": "15ebd70bdb7aeb3d5ce309710dbd64c0ea038113",
      "tree": "a652122861b7fe962d95b4571d60da4be0cf7440",
      "parents": [
        "814cbb4e33396fce559475270d6f6c0bd7c43fc5"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Dec 03 14:10:16 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Dec 04 15:14:08 2014 -0800"
      },
      "message": "avc_util: try to find the first start code prefix 0x000001 even though there is non-zero byte at the beginning of the buffer.\n\nESQueue: allow one PES playload contains multiple ADTS AAC frames.\n\nBug: 18532335\nChange-Id: I1f42017cff139d5e932e0aaa3e7d33164d1a48e7\n"
    },
    {
      "commit": "814cbb4e33396fce559475270d6f6c0bd7c43fc5",
      "tree": "050dac9b8386db6b656f2153b328c663195caf42",
      "parents": [
        "18f2f90cff65c384a4e8292cc3296dafafb43d52",
        "4d23645c8d3d93c91967a5494473b4a8b5d10d9c"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Dec 04 05:22:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 04 05:22:25 2014 +0000"
      },
      "message": "Merge \"ESQueue: add frame length checking in validation of ADTS header.\" into lmp-mr1-dev"
    },
    {
      "commit": "4d23645c8d3d93c91967a5494473b4a8b5d10d9c",
      "tree": "76578051f547b86611a5fb5cfe5f004247d521dc",
      "parents": [
        "ab05b4ccb8ea59079d7f773aa0e090029c479bad"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Dec 03 13:18:23 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Dec 03 16:49:03 2014 -0800"
      },
      "message": "ESQueue: add frame length checking in validation of ADTS header.\n\nThis allows an invalid ADTS buffer to be abandoned when frame length in\nthe header exceeds buffer size.\n\nBug: 18532335\nChange-Id: I8057db525d06ff00ca24afd075a7c6c17b87eaa8\n"
    },
    {
      "commit": "18f2f90cff65c384a4e8292cc3296dafafb43d52",
      "tree": "f46ced785a3d7cee9370476b9fc0255d3280b9a4",
      "parents": [
        "ab05b4ccb8ea59079d7f773aa0e090029c479bad"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Wed Dec 03 15:23:36 2014 +0800"
      },
      "committer": {
        "name": "Leo Wang",
        "email": "leozwang@google.com",
        "time": "Thu Dec 04 00:34:19 2014 +0000"
      },
      "message": "[FM] Fix Buganizer ID: 18456930  - FM radio audio got routed to loudspeaker unexpectedly\n\nhttps://partner-android-review.git.corp.google.com/#/c/187894/\n\nChange-Id: I3f9175bbc302e382155e568e66b88400ec05ffa5\nSigned-off-by: Hochi Huang \u003chochi.huang@mediatek.com\u003e\n"
    },
    {
      "commit": "ab05b4ccb8ea59079d7f773aa0e090029c479bad",
      "tree": "71c6ac716e4845c6bab413c4e55dd60631be4a96",
      "parents": [
        "f1828910d48bbd22e1392e6ab0ce31298d1f115c"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Dec 02 09:41:21 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Dec 02 17:43:39 2014 -0800"
      },
      "message": "StreamingSource: check mTSParser before dereferencing it.\n\nBug: 18532335\nChange-Id: I7819d8d359fe75ea4c827138e9aaa2454ccfe3b1\n"
    },
    {
      "commit": "f1828910d48bbd22e1392e6ab0ce31298d1f115c",
      "tree": "752ea9f31459d6b2572fa1721ca4edea612e759f",
      "parents": [
        "d8731629bed46ff573b1ef904e5366d28f23dc0a"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Dec 01 15:33:36 2014 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Dec 01 16:21:07 2014 -0800"
      },
      "message": "nuplayer: clear pending audio access unit on flush.\n\nAlso add flag to avoid reading on flush.\n\nBug: 18540219\nChange-Id: I2fc351c32c87db9a8c8c2aad12ee2bd56a0370ab\n"
    },
    {
      "commit": "d8731629bed46ff573b1ef904e5366d28f23dc0a",
      "tree": "f3c869ddad9bb2fa62fb54d1b07aefd8d8a39e6c",
      "parents": [
        "f20c4356931ef72084b6b8e310f56b67715c6fb9",
        "f8d717772f6d185cb07720cd5091df9b7d612e0b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Dec 02 00:13:35 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 02 00:13:36 2014 +0000"
      },
      "message": "Merge \"notify seek complete upon first video output frame\" into lmp-mr1-dev"
    },
    {
      "commit": "f8d717772f6d185cb07720cd5091df9b7d612e0b",
      "tree": "290eabe4ea61e269b21df477521c4ac211d4b364",
      "parents": [
        "bc0f452b9a76dd8c8244e775bc9c5aa85cae3ddf"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 26 15:08:34 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 01 10:54:55 2014 -0800"
      },
      "message": "notify seek complete upon first video output frame\n\nBug: 18541814\nChange-Id: Ie4e0976885f26eb253460eab371cb181ea85f2db\n"
    },
    {
      "commit": "f20c4356931ef72084b6b8e310f56b67715c6fb9",
      "tree": "b939b5391c9de74956f4829dfba71ef4a36aa3fa",
      "parents": [
        "5d2c5fcb5cbd262b6a238886a7ce43add03eee20",
        "caf7f48a0ef558689d39aafd187c1571ff4128b4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 26 23:51:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 26 23:51:55 2014 +0000"
      },
      "message": "Merge \"AudioRecord: use audio attributes instead of audio source.\" into lmp-mr1-dev"
    },
    {
      "commit": "5d2c5fcb5cbd262b6a238886a7ce43add03eee20",
      "tree": "0e4a31ccb807b5f06663e022de92c406b9c2bd20",
      "parents": [
        "087eb332cdd64026de27c914194127f8fda1a846",
        "d9e0603a1be07dbb347c55050c7d4629ea7492e8"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 26 02:17:16 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 26 02:17:16 2014 +0000"
      },
      "message": "Merge \"MediaCodec: resume codec if state is FLUSHED in async mode\" into lmp-mr1-dev"
    },
    {
      "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": "d9e0603a1be07dbb347c55050c7d4629ea7492e8",
      "tree": "a0f6d8ec6e5f7d22beb3d13516f05f7f18286ce9",
      "parents": [
        "bc0f452b9a76dd8c8244e775bc9c5aa85cae3ddf"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Nov 25 17:14:00 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 26 01:48:56 2014 +0000"
      },
      "message": "MediaCodec: resume codec if state is FLUSHED in async mode\n\nbug: 18513091\n\nChange-Id: I192625c61834584f711de76db788c2c0332ae774\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": "d325005e4a3be45c57e950f8c18b329c968602ce",
      "tree": "4673f354af652344295bc5fd2b2d37d0e6b2f16b",
      "parents": [
        "512dd849d0ef9e9988fedfbaf951b4b82523957c",
        "680b795435a5a501a56610258dce5eda40a1725d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 25 23:49:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 25 23:49:05 2014 +0000"
      },
      "message": "Merge \"Fix AudioTrack loop mode to play audio from buffer start\" 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": "b2cf160fef5071183d52ad85b49892e23b790e8a",
      "tree": "723a175e9db9c00feee5b576cc4245f210bdd5af",
      "parents": [
        "0f78eabb733e1413d7febd00c0bad0f0add02314",
        "643319f60e72a86c180ee839b25c086554e5bd47"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Nov 25 22:09:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 25 22:09:13 2014 +0000"
      },
      "message": "Merge \"stagefright: add graceful handling when setting port definition\" 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": "643319f60e72a86c180ee839b25c086554e5bd47",
      "tree": "84332221078a0ef6c180fab93962e877a0a414d6",
      "parents": [
        "bc0f452b9a76dd8c8244e775bc9c5aa85cae3ddf"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Nov 24 21:55:35 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Nov 25 18:05:33 2014 +0000"
      },
      "message": "stagefright: add graceful handling when setting port definition\n\n- don\u0027t crash when count of buffers is incorrect, or when the buffer\n  size decreases.\n\nThis allows configuring SW video encoders for smaller than QCIF size.\n\nBug: 18513091\nChange-Id: Ibfcd6b883a892156e408e94fbc329103b9ac09ac"
    },
    {
      "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": "680b795435a5a501a56610258dce5eda40a1725d",
      "tree": "db2d003b9b147e5f51e4cf6bf05d497d8ce4acb7",
      "parents": [
        "bc0f452b9a76dd8c8244e775bc9c5aa85cae3ddf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Nov 12 13:18:52 2014 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 24 17:25:18 2014 -0800"
      },
      "message": "Fix AudioTrack loop mode to play audio from buffer start\n\nBug: 18217633\nChange-Id: Ica77acf0a32832d9b04eb657ef2f4f5329f8fbda\n"
    },
    {
      "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": "3a8d7d1064a665a8a348710c7d27b31642f7f624",
      "tree": "4b34bf78f66ea2122cea7e3eb030b26fbed9b83d",
      "parents": [
        "8052d933822e51dec3b096cb5fc8a9fbdc076bdc",
        "7137ec7e005a5a6e3c0edb91cfacf16a31f4bf6a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Nov 21 02:21:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 21 02:21:19 2014 +0000"
      },
      "message": "Merge \"tunnel NuPlayer source and decoder input\" into lmp-mr1-dev"
    },
    {
      "commit": "7137ec7e005a5a6e3c0edb91cfacf16a31f4bf6a",
      "tree": "df4513073e85173034aca859ff220d8908969636",
      "parents": [
        "f4ea51fda9396d7ee851b1d4d220384210ea2336"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 12 16:41:05 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Nov 20 18:14:31 2014 -0800"
      },
      "message": "tunnel NuPlayer source and decoder input\n\nBug: 18342383\n\nChange-Id: Ieff1cd3bad2b39d46f127ddd5d5139b919992461\n"
    },
    {
      "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": "f50db74f4efa2f689711bd2e2ff3d88b7426f107",
      "tree": "05bd59939746cfbd69298bf4f15d69396a18b22e",
      "parents": [
        "7966142a096c1d5d7386a42eaccc9aed5b4344b3",
        "ec0eeafa8a7fd882e8206e9cf8c4c7e1db81857b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 20 21:18:32 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 21:18:32 2014 +0000"
      },
      "message": "Merge \"Fix format conversion in DuplicatingThread\" into lmp-mr1-dev"
    },
    {
      "commit": "7966142a096c1d5d7386a42eaccc9aed5b4344b3",
      "tree": "15a1da95e59cfc2506f73f10dab7fdcec432b4a8",
      "parents": [
        "f4ea51fda9396d7ee851b1d4d220384210ea2336",
        "f83408b41bbd796b7923d719e7e3799ddc7acaff"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Nov 20 21:13:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 21:13:08 2014 +0000"
      },
      "message": "Merge \"NuPlayer: invalid anchor time when render is flushed.\" into lmp-mr1-dev"
    },
    {
      "commit": "f4ea51fda9396d7ee851b1d4d220384210ea2336",
      "tree": "1a9d999de3c24bce3eed179eb704261450164016",
      "parents": [
        "ec9459c63d1c2969505ffdc4a100646fd07223bd",
        "7bc4fc847770d399d7c4a7afee5aa58b94f3b897"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Nov 20 21:05:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 21:05:43 2014 +0000"
      },
      "message": "Merge \"camera2: fix an error reading a NULL string\" into lmp-mr1-dev"
    },
    {
      "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": "ec9459c63d1c2969505ffdc4a100646fd07223bd",
      "tree": "143cd8e8d5a9d2c973e37833e4836632215f7ee9",
      "parents": [
        "a7cf01da547bad8d4e66e3e4570eddeac98b6b05",
        "a6bf21f2a7cdd33c78464019dc1105ef01248b51"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Nov 20 18:41:46 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 18:41:47 2014 +0000"
      },
      "message": "Merge \"close fd if data source is reset without prepare\" into lmp-mr1-dev"
    },
    {
      "commit": "7bc4fc847770d399d7c4a7afee5aa58b94f3b897",
      "tree": "20a25d78f016adfaa7ec0279f40610d637df04fd",
      "parents": [
        "990dad996b748fdaa2041cc6d039e96ccfeae6fb"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Nov 20 10:36:22 2014 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Nov 20 10:40:38 2014 -0800"
      },
      "message": "camera2: fix an error reading a NULL string\n\nHandle the case where the surface name isn\u0027t set.\n\nBug: 10461464\nChange-Id: I3ee233a7a5f6489513e6d87241cda2aaefbfd43b\n"
    },
    {
      "commit": "a7cf01da547bad8d4e66e3e4570eddeac98b6b05",
      "tree": "a099a86ae62f0ea58c02c3eb61d328fab98f6c51",
      "parents": [
        "574aed902443d41581684dc8bc5ddd2e067f4cdf",
        "cb2129b3b568a4e31bcbda3545a468024bc972fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 20 18:36:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 18:36:27 2014 +0000"
      },
      "message": "Merge \"Fix missing loop count for static tracks.\" into lmp-mr1-dev"
    },
    {
      "commit": "574aed902443d41581684dc8bc5ddd2e067f4cdf",
      "tree": "eab7a69bd4500f45674192a1366870579fc09d70",
      "parents": [
        "3a2a32b5e758854712caf638fe1f74bb49b50777",
        "6c41e622512a99581afcbdbd6ad284237923c942"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 20 18:35:45 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 18:35:46 2014 +0000"
      },
      "message": "Merge \"When aggregating buffers, make sure we don\u0027t lose data\" into lmp-mr1-dev"
    },
    {
      "commit": "3a2a32b5e758854712caf638fe1f74bb49b50777",
      "tree": "d5962cc1343c1efec7d731d94ddfc6179aea8c90",
      "parents": [
        "8ed5afa3aff29c2a9d078802f71211d14414d14b",
        "0ebd5f95b68a3a5c9e5509f21938c9e51e74d71b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 20 18:34:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 18:34:23 2014 +0000"
      },
      "message": "Merge \"AudioSystem: fix cross deadlock\" into lmp-mr1-dev"
    },
    {
      "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": "8ed5afa3aff29c2a9d078802f71211d14414d14b",
      "tree": "1ef023209694c2d4bce094bf6e0dbb814ceec75a",
      "parents": [
        "6597c00f7015e5ec9a07601d7a760169ca7266d3",
        "d9fd6317913c74e1c955eb31978c41e70d5810bc"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Nov 20 06:45:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 06:45:30 2014 +0000"
      },
      "message": "Merge \"mediaplayer: request auto-frc for high quality avsync\" into lmp-mr1-dev"
    },
    {
      "commit": "a6bf21f2a7cdd33c78464019dc1105ef01248b51",
      "tree": "a7bc37ebdc3cdc0a840d1c23447ea8a56f8fb958",
      "parents": [
        "f89f2ff4df0855eb56d95a02ab29d856e0ffa858"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 19 20:26:34 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 19 20:28:10 2014 -0800"
      },
      "message": "close fd if data source is reset without prepare\n\nbug: 18434887\nChange-Id: I70dff721710b7299d1ca1f8520278f82d355141d\n"
    },
    {
      "commit": "6597c00f7015e5ec9a07601d7a760169ca7266d3",
      "tree": "0a21fd103d45476c11e812b6d796dc5849df4299",
      "parents": [
        "18899808001ddaea13fa4c5277502c96351f69a5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Nov 06 10:51:06 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Nov 19 16:50:48 2014 -0800"
      },
      "message": "stagefright: add (temporary) support for automatic video frc\n\nUse MediaFormat.setInteger(\"auto-frc\", 1) to turn this feature on.\nIf supported, this feature will show up in codec.getOutputFormat().getInteger(\"auto-frc\")\nOtherwise, this key will not be present.\n\nBug: 17383204\nChange-Id: I03549b3ede4de156e9e2d81b3883010360bb42ae\n"
    },
    {
      "commit": "d9fd6317913c74e1c955eb31978c41e70d5810bc",
      "tree": "1d1bf829c3b08327f770f839dd7c4062b56b1a51",
      "parents": [
        "18899808001ddaea13fa4c5277502c96351f69a5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Nov 06 11:00:00 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Nov 19 16:50:33 2014 -0800"
      },
      "message": "mediaplayer: request auto-frc for high quality avsync\n\nBug: 17383204\nChange-Id: I7209305b4ff3c2386019d7a09d6a0536e9f21522\n"
    },
    {
      "commit": "6c41e622512a99581afcbdbd6ad284237923c942",
      "tree": "67cbb3ad6065eede75b52fdd241db1f36f214072",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 19 13:22:23 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 19 14:08:55 2014 -0800"
      },
      "message": "When aggregating buffers, make sure we don\u0027t lose data\n\nBug: 18277034\nChange-Id: Ia8c35791eea88545a873cad339eb6b5fc25d1d97\n"
    },
    {
      "commit": "18899808001ddaea13fa4c5277502c96351f69a5",
      "tree": "328090b2f4f2a159d8c0015fc99808ef79d15afb",
      "parents": [
        "03181012beab17e145ca8b9bedbcc08d117df1cb",
        "a10fd23bb9fcf16e778c639ea5638e2917dacd89"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Nov 19 19:55:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 19 19:55:19 2014 +0000"
      },
      "message": "Merge \"NuPlayer: open audio sink in offload mode when resuming from timeout teardown.\" into lmp-mr1-dev"
    },
    {
      "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": "f83408b41bbd796b7923d719e7e3799ddc7acaff",
      "tree": "48ff693ae59ee937d8ffd0d1f1f72516d45b7df7",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Nov 19 10:02:16 2014 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Nov 19 10:02:16 2014 -0800"
      },
      "message": "NuPlayer: invalid anchor time when render is flushed.\n\nAlso rememeber the pause time in NuPlayerDriver.\n\nBug: 18436336\nChange-Id: If09f680a0d0f9137bd55c5f94201eb3aa783278a\n"
    },
    {
      "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": "cb2129b3b568a4e31bcbda3545a468024bc972fe",
      "tree": "87f7c1114770b59e3a6166e7adbb3bcdea8601d2",
      "parents": [
        "97e6ca1a0be83e420ab238d9a1c31d3112126646"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 11 12:17:22 2014 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 18 17:15:51 2014 -0800"
      },
      "message": "Fix missing loop count for static tracks.\n\nStaticAudioTrackServerProxy::framesReady() previously returned\nonly the contiguous frames, update to return the total\navailable frames. This resolves short-count looping in\nSoundPool for FastTracks.\n\nAlso (1) Removes the racy condition of reading two variables\nand (2) Fixes buffer-\u003emNonContig to return the correct value\nand (3) Restores behavior that loop count of 1 goes back to\nloopStart once during playback.\n\nBug: 11830751\nBug: 12070295\nBug: 17456842\nChange-Id: I64906e6036bb00a1d7375b03efe6deb69d6478ca\n"
    },
    {
      "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": "a10fd23bb9fcf16e778c639ea5638e2917dacd89",
      "tree": "6d88124988da832f4bf0e204373c35f3bf380ebe",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Nov 06 16:15:20 2014 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Nov 18 16:06:16 2014 -0800"
      },
      "message": "NuPlayer: open audio sink in offload mode when resuming from timeout teardown.\n\nAlso always recheck if a new stream can do offload.\n\nBug: 18154425\nChange-Id: I121877834bd963eeeba91a2b951fd30d5dc36a8b\n"
    },
    {
      "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"
    }
  ],
  "next": "cb5c8c0de3f796f6a2499d4467abe59e11ffa8f5"
}
