)]}'
{
  "log": [
    {
      "commit": "32f0a8c022fa733aa721c607df330a5d4a0a1b32",
      "tree": "137390c51b874b2ed79e17963f77e9f296dd8595",
      "parents": [
        "936a981ba15d528a023311aa32f46446813551d9",
        "683525b61bc1b58b4fd9e1b3ef9ed3b0c3bf34ae"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 09 14:35:18 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 09 14:35:18 2011 +0000"
      },
      "message": "am 19998120: Merge \"Bug 5478024 drop after decode if can\\\u0027t drop before\" into ics-mr0\n\n* commit \u002719998120f53caceb620f138c6eea182f1e693660\u0027:\n  Bug 5478024 drop after decode if can\u0027t drop before\n"
    },
    {
      "commit": "936a981ba15d528a023311aa32f46446813551d9",
      "tree": "324a081cdeffe2566802e2224dfa9b9798182c05",
      "parents": [
        "e1a8a719c7c62fdb337b71f68844ae20042c2b79",
        "3901e5d87573447db33fb9930871a1f5266a9b2c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 08 08:48:31 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 08:48:31 2011 -0800"
      },
      "message": "Merge \"Remove surface legacy APIs and code.\" into ics-mr1"
    },
    {
      "commit": "e1a8a719c7c62fdb337b71f68844ae20042c2b79",
      "tree": "0bb9637e88dce62748faab85f99a1fe92e4f4a75",
      "parents": [
        "49e82712b2b7072bb8b8d6e2c86115eaa82e9943",
        "3dbe3201479828e84abe02e1fdd0a5d414c0ddb8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 08 08:32:57 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 08:32:57 2011 -0800"
      },
      "message": "Merge \"AudioFlinger: mix track only when really ready\" into ics-mr1"
    },
    {
      "commit": "49e82712b2b7072bb8b8d6e2c86115eaa82e9943",
      "tree": "fbd8e5b9db9272c35e91e240af395bd8862e464e",
      "parents": [
        "197388e5f42fc21175a03e3abb05020fabbcbb71",
        "93594b5aa16dbbb0b196f6e181a8ca099d7ab62b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 07 22:57:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 07 22:57:02 2011 -0800"
      },
      "message": "Merge \"Fix a hang issue where the first frame can be dropped for timelapse video recording.\" into ics-mr1"
    },
    {
      "commit": "197388e5f42fc21175a03e3abb05020fabbcbb71",
      "tree": "08359befbbcfeb0a4e401724e87d277c86a7d7e9",
      "parents": [
        "4d954c4ff6ab7110df23f1f3ebfe296beb97f3de",
        "15d91830fef9ef667c4bcce704e783bdeee4108e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Nov 07 08:22:56 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Nov 07 08:22:56 2011 -0800"
      },
      "message": "Reconcile with ics-mr0-release ics-factoryrom-2-release\n\nChange-Id: I9de1253d253c7d106862534570cad0c89d2fdaf2\n"
    },
    {
      "commit": "683525b61bc1b58b4fd9e1b3ef9ed3b0c3bf34ae",
      "tree": "495b8c8bd23d3d1114b0538aa92030a7dcf90693",
      "parents": [
        "ee74c46968e632915bdff1af5d59a1b2ca3ac796"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 04 18:05:35 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 04 18:05:35 2011 -0700"
      },
      "message": "Bug 5478024 drop after decode if can\u0027t drop before\n\nChange-Id: Iaa64553be1a710da5d42be4e3a1e1d6dc873e371\n"
    },
    {
      "commit": "15d91830fef9ef667c4bcce704e783bdeee4108e",
      "tree": "b7ab8dbc69360ff2337c78ca277d1d05d328e66b",
      "parents": [
        "91501f3a5ec88e7e4efc043fa37ae2380f84796b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 03 11:00:21 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri Nov 04 15:17:55 2011 -0700"
      },
      "message": "DO NOT MERGE Poll input data with a small timeout and don\u0027t consume a full core.\n\nChange-Id: I3c288698920fe6ead0df24a52330483609821a41\nrelated-to-bug: 5549263\n"
    },
    {
      "commit": "4d954c4ff6ab7110df23f1f3ebfe296beb97f3de",
      "tree": "08359befbbcfeb0a4e401724e87d277c86a7d7e9",
      "parents": [
        "047f160561fc7a87fc5794762d36225bfa5d2e89",
        "b6431802fc6cff501a4311de288ba469839fbf86"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 04 08:29:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 04 08:29:30 2011 -0700"
      },
      "message": "Merge \"Fix device management in lvm effect bundle wrapper.\" into ics-mr1"
    },
    {
      "commit": "047f160561fc7a87fc5794762d36225bfa5d2e89",
      "tree": "ee130b1d3b1b4ba24f93f3106fd83e485605d41d",
      "parents": [
        "fc1a3ac1641b8849bf925a6bf0fa96b2abcdd91f",
        "5dc65e2ce92c7364da60bdff5f345daf145c2c0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 04 08:27:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 04 08:27:45 2011 -0700"
      },
      "message": "Merge \"Fix problem in lvm effect bundle wrapper.\" into ics-mr1"
    },
    {
      "commit": "fc1a3ac1641b8849bf925a6bf0fa96b2abcdd91f",
      "tree": "00ddd671c9cccb82663b0b6928880307f25af975",
      "parents": [
        "654d83b36af586919457880e40a5dfdd79a31abb",
        "91501f3a5ec88e7e4efc043fa37ae2380f84796b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 04 07:56:42 2011 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 04 07:56:43 2011 -0700"
      },
      "message": "Reconcile with ics-mr0-release ics-factoryrom-2-release\n\nChange-Id: I81cf3b3994cb9a1c18fca3ce0049e09402543086\n"
    },
    {
      "commit": "654d83b36af586919457880e40a5dfdd79a31abb",
      "tree": "00ddd671c9cccb82663b0b6928880307f25af975",
      "parents": [
        "1183a4ab06b9fe01fe39a4b8728bfc71789361fc",
        "ee74c46968e632915bdff1af5d59a1b2ca3ac796"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Nov 04 11:59:27 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 04 11:59:27 2011 +0000"
      },
      "message": "am 32b5a7ee: (-s ours) Merge \"DO NOT MERGE Poll input data with a small timeout and don\\\u0027t consume a full core.\" into ics-mr0\n\n* commit \u002732b5a7eeaf758fad0c24131603cdd54cd2883a58\u0027:\n  DO NOT MERGE Poll input data with a small timeout and don\u0027t consume a full core.\n"
    },
    {
      "commit": "ee74c46968e632915bdff1af5d59a1b2ca3ac796",
      "tree": "bf203cb52a3c051c326dc2c9c65c7f367abbcc86",
      "parents": [
        "2cf981a8e3dcc815e422f21ae4f09e17934906e1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 03 11:00:21 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 03 18:15:43 2011 -0700"
      },
      "message": "DO NOT MERGE Poll input data with a small timeout and don\u0027t consume a full core.\n\nChange-Id: I3c288698920fe6ead0df24a52330483609821a41\nrelated-to-bug: 5549263\n"
    },
    {
      "commit": "3dbe3201479828e84abe02e1fdd0a5d414c0ddb8",
      "tree": "bc0a961753c5d80e64a55fe9e8f8ba11adb5a3d7",
      "parents": [
        "09ebde724b2cd224968d1fdba4f5afd81c998c6a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 03 12:16:05 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 03 12:16:05 2011 -0700"
      },
      "message": "AudioFlinger: mix track only when really ready\n\nThe addition of low power audio playback mode made that audio buffer consumption\nby audio HAL can now happen in bursts. This makes that requesting audio data\nfrom an AudioTrack for mixing can happen at much shorter intervals than before.\nThis revealed an existing problem where AudioFlinger would consider a track ready\nfor mixing although not enough frames were ready to completely fill one output buffer,\nthus creating short periods of silence.\n\nThe fix consists in waiting for enough frames to be ready in AudioTrack buffer before\ndeclaring a track ready for mixing. This minimum is not applied when the track is stopped\nto allow the buffer to be emptied completely.\n\nChange-Id: I6d04f9b65db5af85b0b53f0a5674be7ec02f9e9f\n"
    },
    {
      "commit": "1183a4ab06b9fe01fe39a4b8728bfc71789361fc",
      "tree": "00ddd671c9cccb82663b0b6928880307f25af975",
      "parents": [
        "254c2211b5088bb7d84d7126306aad7763b58372"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 03 11:00:21 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 03 11:00:21 2011 -0700"
      },
      "message": "Poll input data with a small timeout and don\u0027t consume a full core.\n\nChange-Id: I3c288698920fe6ead0df24a52330483609821a41\nrelated-to-bug: 5549263\n"
    },
    {
      "commit": "91501f3a5ec88e7e4efc043fa37ae2380f84796b",
      "tree": "195997b2a0541d250d8ad61ae08232046bbd62bd",
      "parents": [
        "e926b999ddd1a607e4f01ee2acd79dc87de62688"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 20:59:04 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 20:59:04 2011 -0700"
      },
      "message": "Revert \"Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0\"\n\nThis reverts commit 4b6353ea0265bfed52d0637abd1b17596ce25ff0, reversing\nchanges made to af675222f6340a8a9edbe9e8635014a18521e5e0.\n"
    },
    {
      "commit": "e926b999ddd1a607e4f01ee2acd79dc87de62688",
      "tree": "755ba59d0a2418ff3257fab9de6963dbd88bec46",
      "parents": [
        "2db114bf7753f267b1d71d615359ee2b437daa38"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 20:53:06 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 20:53:06 2011 -0700"
      },
      "message": "merge in ics-factoryrom-2-release history after reset to ics-mr0\n"
    },
    {
      "commit": "254c2211b5088bb7d84d7126306aad7763b58372",
      "tree": "ee8ffa76bc6c45e6468645ed65edc4e7565001ba",
      "parents": [
        "09ebde724b2cd224968d1fdba4f5afd81c998c6a",
        "2db114bf7753f267b1d71d615359ee2b437daa38"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Nov 02 10:52:48 2011 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Nov 02 10:52:49 2011 -0700"
      },
      "message": "Reconcile with ics-mr0-release ics-factoryrom-2-release\n\nChange-Id: I493695d0ea182f32bbfe0e148e192ad1f60ff001\n"
    },
    {
      "commit": "2db114bf7753f267b1d71d615359ee2b437daa38",
      "tree": "195997b2a0541d250d8ad61ae08232046bbd62bd",
      "parents": [
        "2cf981a8e3dcc815e422f21ae4f09e17934906e1"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 10:14:18 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 10:14:18 2011 -0700"
      },
      "message": "Revert \"Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0\"\n\nThis reverts commit 4b6353ea0265bfed52d0637abd1b17596ce25ff0, reversing\nchanges made to af675222f6340a8a9edbe9e8635014a18521e5e0.\n"
    },
    {
      "commit": "5dc65e2ce92c7364da60bdff5f345daf145c2c0f",
      "tree": "90ed0dc7e58b08a673b19a7b72676ba4c9630b70",
      "parents": [
        "09ebde724b2cd224968d1fdba4f5afd81c998c6a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 31 17:36:03 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 02 09:14:13 2011 -0700"
      },
      "message": "Fix problem in lvm effect bundle wrapper.\n\nWhen an effect is disabled, the process function should either\ncopy or accumulate the content of the input buffer to the output buffer\ndepending on the behavior requested by the framework.\nCurrent implementation is copying the input buffer unconditionally.\n\nRelated to issue 5433942.\n\nChange-Id: Ic488ca97eadcc4c763de570d7e6c6f5b7a979415\n"
    },
    {
      "commit": "b6431802fc6cff501a4311de288ba469839fbf86",
      "tree": "596a877457ca1b1a6e1eb6e5c547a4cb0dcbc67d",
      "parents": [
        "841fa37451fb74f3d5978a15aab606bbb67e8c39"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 31 18:48:15 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 01 09:12:19 2011 -0700"
      },
      "message": "Fix device management in lvm effect bundle wrapper.\n\nThe virtualizer and bass boost effects should be disabled when\nnot playing throught headsets or headphones.\n\nThere is a bug in current wrapper implementation that makes that those\neffects are not disabled if the effect is enabled by the user after\nthe headset has been removed (current logic only works if the device selection\noccurs while the effect is enabled).\n\nChange-Id: I7c66b15a0339d95fb9ed13c8320d66379725d3b6\n"
    },
    {
      "commit": "09ebde724b2cd224968d1fdba4f5afd81c998c6a",
      "tree": "ee8ffa76bc6c45e6468645ed65edc4e7565001ba",
      "parents": [
        "841fa37451fb74f3d5978a15aab606bbb67e8c39",
        "2cf981a8e3dcc815e422f21ae4f09e17934906e1"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Nov 01 04:05:45 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 01 04:05:45 2011 +0000"
      },
      "message": "am 4b6353ea: Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0\n\n* commit \u00274b6353ea0265bfed52d0637abd1b17596ce25ff0\u0027:\n  Update camera continuous autofocus javadoc.\n"
    },
    {
      "commit": "2cf981a8e3dcc815e422f21ae4f09e17934906e1",
      "tree": "755ba59d0a2418ff3257fab9de6963dbd88bec46",
      "parents": [
        "7dae00baa6e8957be15523c46bb948bd1dde64c3",
        "597f405273ce21b7e67984084c428d84c3365bd9"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 31 21:04:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 31 21:04:01 2011 -0700"
      },
      "message": "Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0"
    },
    {
      "commit": "3901e5d87573447db33fb9930871a1f5266a9b2c",
      "tree": "2ed377c9705a41c95cbc6ea29d683cd646ff2dc8",
      "parents": [
        "841fa37451fb74f3d5978a15aab606bbb67e8c39"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 25 13:45:00 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 28 09:39:23 2011 -0700"
      },
      "message": "Remove surface legacy APIs and code.\n\nAll surfaces are now supported through surface textures.\n\nChange-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6\n"
    },
    {
      "commit": "841fa37451fb74f3d5978a15aab606bbb67e8c39",
      "tree": "3a5aa72aca0d0eeed60d8a17e8c84ffe59ecbeba",
      "parents": [
        "262620399c228b3b201c2c4b39c87508d3047d74",
        "a4af2143ecbd630e946647c1b5f90fda8f61ebb3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 28 09:13:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 28 09:13:54 2011 -0700"
      },
      "message": "Merge \"Properly report that we\u0027re no longer playing after receiving event\" into ics-mr1"
    },
    {
      "commit": "262620399c228b3b201c2c4b39c87508d3047d74",
      "tree": "96e7fd612606424311873d34492def7da58bd6d8",
      "parents": [
        "be1480bade58688d201335860247734aec6b11cb",
        "7dae00baa6e8957be15523c46bb948bd1dde64c3"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 28 02:14:01 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 28 02:14:01 2011 +0000"
      },
      "message": "am 08479cee: Merge \"Stagefright: ANW::connect in MediaPlayerService\" into ics-mr0\n\n* commit \u002708479ceeba56c460fb52f60a24df27776f1936c3\u0027:\n  Stagefright: ANW::connect in MediaPlayerService\n"
    },
    {
      "commit": "be1480bade58688d201335860247734aec6b11cb",
      "tree": "fe3e9edcb33c3c36fc76286780b5ebcd4bd77840",
      "parents": [
        "0d681abd16873a265a10aee1e9ae8fa062309de3",
        "b05e3b5b3c2d77f6c71631ea538f6190ec61b3d9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 27 15:24:28 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 27 15:24:28 2011 -0700"
      },
      "message": "Merge \"Report call status from AudioSource::start() to file writer\" into ics-mr1"
    },
    {
      "commit": "597f405273ce21b7e67984084c428d84c3365bd9",
      "tree": "69a0a2f098e37d684514980d686fb1ec28106828",
      "parents": [
        "55f4bc5c3d1acfaa735b8b19cf34b6b68f6cfcca"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Oct 27 18:07:01 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 28 00:38:02 2011 +0800"
      },
      "message": "Update camera continuous autofocus javadoc.\n\nSuppose applications call autoFocus in CAF picture mode. If\nCAF is in the middle of scanning, the picture is very likely to\nbe blurry. Change focus callback to return when the scanning\nfinishes.\n\nbug:5514415\nChange-Id: Ibcb8f92a5263d7dbd7cce54df3617fb21c6255d4\n"
    },
    {
      "commit": "0d681abd16873a265a10aee1e9ae8fa062309de3",
      "tree": "f0652f4f7ebf746c3f803f6ca122571ab2cf66fd",
      "parents": [
        "71adab54edf9d0e2c89473d3be12edb6b9dc4549",
        "32bdfd5acb76a02e82e0059c8bd892bc1f73a7e3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 27 09:07:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 27 09:07:23 2011 -0700"
      },
      "message": "Merge \"Fix a reference to a stale pointer in AwesomePlayer.\" into ics-mr1"
    },
    {
      "commit": "93594b5aa16dbbb0b196f6e181a8ca099d7ab62b",
      "tree": "2d936537947edf25a440817cbdd82a32d65f3609",
      "parents": [
        "71adab54edf9d0e2c89473d3be12edb6b9dc4549"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 26 23:47:55 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 26 23:47:55 2011 -0700"
      },
      "message": "Fix a hang issue where the first frame can be dropped for timelapse video recording.\n\nChange-Id: I04754f1005a983953a80a659ff13f8762d0e120c\nrelated-to-bug: 5523502\n"
    },
    {
      "commit": "b05e3b5b3c2d77f6c71631ea538f6190ec61b3d9",
      "tree": "cd65eee696e82e202f039e216e373cdcc3441c63",
      "parents": [
        "71adab54edf9d0e2c89473d3be12edb6b9dc4549"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 26 23:32:13 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 26 23:35:01 2011 -0700"
      },
      "message": "Report call status from AudioSource::start() to file writer\n\nChange-Id: I5109dc87a92170dede4eaa58b039efe6d8b7c330\nrelated-to-bug: 5514288\n"
    },
    {
      "commit": "7dae00baa6e8957be15523c46bb948bd1dde64c3",
      "tree": "195997b2a0541d250d8ad61ae08232046bbd62bd",
      "parents": [
        "1765d6e0c962d2b89897c0278f969084f632d181"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 26 18:36:31 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 26 18:40:00 2011 -0700"
      },
      "message": "Stagefright: ANW::connect in MediaPlayerService\n\nThis change moves the ANativeWindow connect and disconnect logic from\nMediaPlayer to MediaPlayerService::Client.\n\nBug: 5502654\nChange-Id: Ifc43b98b01ad8f35d62d7ece43110724ec7fda3d\n"
    },
    {
      "commit": "a4af2143ecbd630e946647c1b5f90fda8f61ebb3",
      "tree": "90937772071f770fd7fb21a17a0ddb1f05d4b936",
      "parents": [
        "1d2acaffde56ad79e6e96f228d7857863462397c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 26 15:23:31 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 26 15:23:31 2011 -0700"
      },
      "message": "Properly report that we\u0027re no longer playing after receiving event\n\nMEDIA_PLAYBACK_COMPLETE or MEDIA_ERROR.\n\nChange-Id: I03eeba751d3728adb33d9c66de4c7444a91696f3\n"
    },
    {
      "commit": "71adab54edf9d0e2c89473d3be12edb6b9dc4549",
      "tree": "bb97c3a8e32c085d22043754457555d14dedbe27",
      "parents": [
        "1d2acaffde56ad79e6e96f228d7857863462397c",
        "1765d6e0c962d2b89897c0278f969084f632d181"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 26 20:34:38 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 26 20:34:38 2011 +0000"
      },
      "message": "am b7b4eaaa: Merge \"Stagefright: push blank buffers when tearing down\" into ics-mr0\n\n* commit \u0027b7b4eaaa05284634d50d581d924a250f1194f66d\u0027:\n  Stagefright: push blank buffers when tearing down\n"
    },
    {
      "commit": "32bdfd5acb76a02e82e0059c8bd892bc1f73a7e3",
      "tree": "e4288e20580707ad79b7967c03ccac86aeefd165",
      "parents": [
        "1d2acaffde56ad79e6e96f228d7857863462397c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 26 11:22:40 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 26 12:35:03 2011 -0700"
      },
      "message": "Fix a reference to a stale pointer in AwesomePlayer.\n\nThe pointer returned by MetaData::findCString may become stale if the metadata\nobject is modified. Make a copy of the returned mime type in order to prevent\nMediaPlayer::dump log corruption.\n\nChange-Id: I9077aee36c4316d83b37fb909bf91e6b3f75d5d2\n"
    },
    {
      "commit": "1765d6e0c962d2b89897c0278f969084f632d181",
      "tree": "236c1712a02b293093d658a3248804ebaf4f3786",
      "parents": [
        "55f4bc5c3d1acfaa735b8b19cf34b6b68f6cfcca"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Oct 25 14:50:16 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Oct 25 18:35:02 2011 -0700"
      },
      "message": "Stagefright: push blank buffers when tearing down\n\nThis change makes OMXCodec push RGB 565 buffers filled with black to an\nANativeWindow when tearing down after decoding to protected gralloc\nbuffers.  This allows the OMX tear down to zero out any protected\nbuffers that were used without the possibility that the buffer is still\nbeing used by SurfaceFlinger or HWComposer.\n\nBug: 5483222\nChange-Id: I8acedd81a7bb67dfdc2fd15733e3375b6ce8d560\n"
    },
    {
      "commit": "1d2acaffde56ad79e6e96f228d7857863462397c",
      "tree": "e5e05f30fbca34668d58ff6e6b3199a4ab947e3b",
      "parents": [
        "e6a823c276302b0c499d7a39956c1b731f23dd4c",
        "55f4bc5c3d1acfaa735b8b19cf34b6b68f6cfcca"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Oct 19 22:38:45 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 19 22:38:45 2011 -0700"
      },
      "message": "am 23d64420: Merge \"Stagefright: idle OMX after ANW errors\" into ics-mr0\n\n* commit \u002723d644202a44383bf008ff86f6faa3ea7e447290\u0027:\n  Stagefright: idle OMX after ANW errors\n"
    },
    {
      "commit": "55f4bc5c3d1acfaa735b8b19cf34b6b68f6cfcca",
      "tree": "699af111d9580cb63e00d88ea422b416c196cccd",
      "parents": [
        "8888a75f01d904541e409e858d23e4150ace34b6",
        "b1d666f5cb555d135eb69e005e88a03330bbb54c"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Oct 19 22:37:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 19 22:37:18 2011 -0700"
      },
      "message": "Merge \"Stagefright: idle OMX after ANW errors\" into ics-mr0"
    },
    {
      "commit": "b1d666f5cb555d135eb69e005e88a03330bbb54c",
      "tree": "573c9d484c210cfc7104d94f2f630cae0b70bb01",
      "parents": [
        "3c57859f03ce9257128e3b2cd29a906b8f9a6aa5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 19 21:14:13 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 19 21:22:19 2011 -0700"
      },
      "message": "Stagefright: idle OMX after ANW errors\n\nThis change fixes an issue in Stagefright where the state of an OMXCodec\nobject can get out of sync with the state of the OMX component.  In\nparticular, if one of the ANativeWindow functions failed and put the\nOMXCodec into the ERROR state, this would cause Stagefright to skip\ndoing the Executing -\u003e Idle transition.  Without this transition the\nfreeBuffersOnPort call would never be made, and the MediaBuffers would\nend up being leaked (which would also leak the Gralloc buffers they\nreference).\n\nBug: 5333695\nChange-Id: I85ea0cf92d18e7ef6d35c7d1e2a7b4e2c9745d34\n"
    },
    {
      "commit": "e6a823c276302b0c499d7a39956c1b731f23dd4c",
      "tree": "cd1fcaaa147eeebe567a3907a45dc829fb89e957",
      "parents": [
        "d24bac2f9e83d3dbc0ef9d2aae3b8ad8e4d2b731",
        "8888a75f01d904541e409e858d23e4150ace34b6"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Oct 19 20:09:13 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 19 20:09:13 2011 -0700"
      },
      "message": "am f806871f: Fix 5487571: Make sure shutter sound is played when it\\\u0027s enforced\n\n* commit \u0027f806871f3016a8184de4c9dcfbe0b9069dc0d72c\u0027:\n  Fix 5487571: Make sure shutter sound is played when it\u0027s enforced\n"
    },
    {
      "commit": "8888a75f01d904541e409e858d23e4150ace34b6",
      "tree": "1eb29ccaddc5a26faa3a22774418952eb35fd21b",
      "parents": [
        "2e5bcd4a0d1f3078acfd88785aa29923ae03a3bb"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Oct 20 10:47:26 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Oct 20 10:48:21 2011 +0800"
      },
      "message": "Fix 5487571: Make sure shutter sound is played when it\u0027s enforced\n\nChange-Id: I0c7adf452217b8308243836b40b1fba8f2029240\n"
    },
    {
      "commit": "d24bac2f9e83d3dbc0ef9d2aae3b8ad8e4d2b731",
      "tree": "e653b32aa31661e403d313439e1f2d6914cc9fb6",
      "parents": [
        "545d1e935b8ee12255bbd443a89a4b8ec2aeeb35",
        "2e5bcd4a0d1f3078acfd88785aa29923ae03a3bb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 19 17:57:58 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 19 17:57:58 2011 -0700"
      },
      "message": "am b3cdadb6: Merge \"Check whether media recorder client exists before dumping.\" into ics-mr0\n\n* commit \u0027b3cdadb639027f62c7c1637ca962a70d2d1f3b4d\u0027:\n  Check whether media recorder client exists before dumping.\n"
    },
    {
      "commit": "2e5bcd4a0d1f3078acfd88785aa29923ae03a3bb",
      "tree": "6e32c80b68cd66ab3db4de2d5d1c45500e1724d5",
      "parents": [
        "a85a74a8219c03f2b1d1ef98f3f02e55f89f89a3",
        "e579e28089c6b86f56d257030b778c5e22b1a5a5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 19 17:55:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 19 17:55:45 2011 -0700"
      },
      "message": "Merge \"Check whether media recorder client exists before dumping.\" into ics-mr0"
    },
    {
      "commit": "545d1e935b8ee12255bbd443a89a4b8ec2aeeb35",
      "tree": "9d9a67c56a2d9e567cf34e04a4b677cfbd414d1b",
      "parents": [
        "ca9f7f2d484ba0296db49406e3ef908bc7e119c1",
        "a85a74a8219c03f2b1d1ef98f3f02e55f89f89a3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 19 14:02:10 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 19 14:02:10 2011 -0700"
      },
      "message": "am 3c86134a: Merge \"Fix issue 381905: BassBoostTest CTS tests fail...\" into ics-mr0\n\n* commit \u00273c86134a50618605c86eb9f5f120dbf97826e3e1\u0027:\n  Fix issue 381905: BassBoostTest CTS tests fail...\n"
    },
    {
      "commit": "a85a74a8219c03f2b1d1ef98f3f02e55f89f89a3",
      "tree": "0df66f3d9ad2ea84696da515a62cff5ac6464005",
      "parents": [
        "c4ff709bd714286ea4b1eaf8d932c43a02d5430d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 19 11:44:54 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 19 11:44:54 2011 -0700"
      },
      "message": "Fix issue 381905: BassBoostTest CTS tests fail...\n\nWhen AudioEffectTest is executed, an Equalizer is created\nand enabled on a MediaPlayer session. Effects on the output\nmix are therefore suspended.\nThen the MediaPlayer is released with the effect still enabled.\nIn this case, Audioflinger::purgeStaleEffects_l() fails to restore\nthe suspended effects when the effect attached to the released audio session\nis removed.\nWhen subsequent tests are executed on output mix effects, these effects cannot be\nenabled as they are still suspended.\n\nFixed purgeStaleEffects_l() to restore suspended effects if the effect removed is enabled.\n\nAlso fixed EffectHandle::disconnect() to only restore suspended effects if the disconnected\nhandle actually has control over the effect.\n\nChange-Id: I67232e7c34680b0cc01abfd57d5d510a524e5d4f\n"
    },
    {
      "commit": "e579e28089c6b86f56d257030b778c5e22b1a5a5",
      "tree": "870e0181874d16cba160ab7ad46202ad7a00292a",
      "parents": [
        "c4ff709bd714286ea4b1eaf8d932c43a02d5430d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 18 22:29:20 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 18 22:29:20 2011 -0700"
      },
      "message": "Check whether media recorder client exists before dumping.\n\nChange-Id: I1f3a644a958975e4cf6c02099c53e30cc4d2fd82\nrelated-to-bug: 5477177\n"
    },
    {
      "commit": "ca9f7f2d484ba0296db49406e3ef908bc7e119c1",
      "tree": "a81c3b11ef0d2950a566b1dc83e319f51e05cab7",
      "parents": [
        "2ce99907b2f4369bb76f2698c6d414cdbfb36224",
        "c4ff709bd714286ea4b1eaf8d932c43a02d5430d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 18 22:17:34 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 18 22:17:34 2011 -0700"
      },
      "message": "am 5264f600: Merge \"Bail out after kMaxColorFormatSupported calls to OMX_GetParameter(). Avoid infinite loop in querying omx component about the supported color format.\" into ics-mr0\n\n* commit \u00275264f6003bbcb8ca70df034379154914260cc322\u0027:\n  Bail out after kMaxColorFormatSupported calls to OMX_GetParameter(). Avoid infinite loop in querying omx component about the supported color format.\n"
    },
    {
      "commit": "c4ff709bd714286ea4b1eaf8d932c43a02d5430d",
      "tree": "462434388eb240eb4465b4b2e8a49096bb375dbc",
      "parents": [
        "5c4e818c39ac2d2739675fe907904a874f7623c5",
        "5e69eb97b0e5e70919f61099bcc5bdbb1db0861c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 18 22:16:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 18 22:16:08 2011 -0700"
      },
      "message": "Merge \"Bail out after kMaxColorFormatSupported calls to OMX_GetParameter(). Avoid infinite loop in querying omx component about the supported color format.\" into ics-mr0"
    },
    {
      "commit": "2ce99907b2f4369bb76f2698c6d414cdbfb36224",
      "tree": "959837b091339534f5e178e0aec906fb2a1627db",
      "parents": [
        "5c5e2c63872f9d6915b7b593b816fd3acddcff06",
        "5c4e818c39ac2d2739675fe907904a874f7623c5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 18 19:31:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 18 19:31:12 2011 -0700"
      },
      "message": "am ecfdd7ff: Merge \"Limit AudioFlinger log.\" into ics-mr0\n\n* commit \u0027ecfdd7ff468bfc861e84fe18992e26b89cc63126\u0027:\n  Limit AudioFlinger log.\n"
    },
    {
      "commit": "5e69eb97b0e5e70919f61099bcc5bdbb1db0861c",
      "tree": "5f6ddc1a6f1a9f60afd1e7c078b9bd0b63d42da3",
      "parents": [
        "3c57859f03ce9257128e3b2cd29a906b8f9a6aa5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 18 16:21:52 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 18 16:27:53 2011 -0700"
      },
      "message": "Bail out after kMaxColorFormatSupported calls to OMX_GetParameter().\nAvoid infinite loop in querying omx component about the supported color format.\n\nChange-Id: I4997efd36462c792a6d8b5e04c79a80966a559fe\nrelated-to-bug: 5466057\n"
    },
    {
      "commit": "5c4e818c39ac2d2739675fe907904a874f7623c5",
      "tree": "ff76b413d5dad76388cd4afb267c3ee80c5f77b0",
      "parents": [
        "3c57859f03ce9257128e3b2cd29a906b8f9a6aa5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 18 15:42:27 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 18 15:42:27 2011 -0700"
      },
      "message": "Limit AudioFlinger log.\n\nAudioFlinger logs a warning when a write to the audio HAL\ntakes too long to return. The threshold for this warning is\na rule of thumb based on the assumption that the audio HAL will consume\nbuffers at a regular pace.\nThe introduction of low power audio mode with larger buffers and writes\noccuring in bursts makes that this threshold is often exceeded resulting\nin excessive and misleading warnings.\n\nThe threshold is raised to remove unwanted warnings but we should reconsider\nthe usefulness of this warning altogether.\n\nChange-Id: I5ef6898ea28d879cede3e47da542a64092a3cca4\n"
    },
    {
      "commit": "5c5e2c63872f9d6915b7b593b816fd3acddcff06",
      "tree": "980d2d0b7e47bfda3e2282ab3bf4d9099fcce6f2",
      "parents": [
        "89770b4c942a2cf0bc2cba2a7a182a10d17b21b5",
        "3c57859f03ce9257128e3b2cd29a906b8f9a6aa5"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 17 19:42:14 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 19:42:14 2011 -0700"
      },
      "message": "am a84e37f3: Merge \"Fix 5468644: Use the proper audio stream type to play sound.\" into ics-mr0\n\n* commit \u0027a84e37f37c7cd21fe498a923c181d3896e055d56\u0027:\n  Fix 5468644: Use the proper audio stream type to play sound.\n"
    },
    {
      "commit": "3c57859f03ce9257128e3b2cd29a906b8f9a6aa5",
      "tree": "301e8c5fca969e2d8b97614f90349538487b43fd",
      "parents": [
        "a038c14efdaa118e2d8c5b42584cb0bb5f3b2ec7",
        "ff4f55c8d77e276dbcceedb4e560ca1d91ba38ba"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 17 19:40:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 19:40:12 2011 -0700"
      },
      "message": "Merge \"Fix 5468644: Use the proper audio stream type to play sound.\" into ics-mr0"
    },
    {
      "commit": "89770b4c942a2cf0bc2cba2a7a182a10d17b21b5",
      "tree": "6a4a2ad428027a051f28a102a8fdb512c8d2e364",
      "parents": [
        "2bfdd428c56c7524d1a11979f200a1762866032d",
        "a038c14efdaa118e2d8c5b42584cb0bb5f3b2ec7"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Mon Oct 17 18:36:48 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 18:36:48 2011 -0700"
      },
      "message": "am 6f13adb2: Merge \"Don\\\u0027t hold onto the lock while reconnecting to the server\" into ics-mr0\n\n* commit \u00276f13adb22afcb47a1cd45a90eaa3c154522089d4\u0027:\n  Don\u0027t hold onto the lock while reconnecting to the server\n"
    },
    {
      "commit": "a038c14efdaa118e2d8c5b42584cb0bb5f3b2ec7",
      "tree": "5623607148e6570ce1b553df6688556cf3374c4d",
      "parents": [
        "0cc79c66329b9ffa7d7bdfafa5d245a11fd3660d",
        "95c4d6034dc356f70c6293ea53d4858415b2d020"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Mon Oct 17 18:35:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 18:35:11 2011 -0700"
      },
      "message": "Merge \"Don\u0027t hold onto the lock while reconnecting to the server\" into ics-mr0"
    },
    {
      "commit": "95c4d6034dc356f70c6293ea53d4858415b2d020",
      "tree": "c56b9ee32d2cdcd06c1fcc9803c0eb6ebee5a2a6",
      "parents": [
        "49c59815369616b0fd5451ccabd377e8fe1dc3fa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 17 15:49:01 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 17 15:49:01 2011 -0700"
      },
      "message": "Don\u0027t hold onto the lock while reconnecting to the server\n\nto avoid stalling the readers.\n\nChange-Id: I73b646587c8a654a73ff7d800c0f17bd78001855\n"
    },
    {
      "commit": "ff4f55c8d77e276dbcceedb4e560ca1d91ba38ba",
      "tree": "7ccb6943f3cdf945985698523a2421224fe569db",
      "parents": [
        "0cc79c66329b9ffa7d7bdfafa5d245a11fd3660d"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 17 19:03:12 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 17 19:04:00 2011 +0800"
      },
      "message": "Fix 5468644: Use the proper audio stream type to play sound.\n\nChange-Id: I80dd37da277b1810959a2dbdd852078b26f70cf5\n"
    },
    {
      "commit": "2bfdd428c56c7524d1a11979f200a1762866032d",
      "tree": "83bb72ba82f689cc704010c06a51a9963479bab4",
      "parents": [
        "f337772630b0a1b48d7828647d1079ebdc22919d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 11 15:24:07 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 13 11:31:06 2011 -0700"
      },
      "message": "NuPlayer is now taking on the task of streaming over RTSP.\n\nChange-Id: Ie204db8810807f1e7981959e34dc0149e5d9563a\n"
    },
    {
      "commit": "f337772630b0a1b48d7828647d1079ebdc22919d",
      "tree": "659620c47a7c8d137c304ef3d6e70553149db506",
      "parents": [
        "0cc79c66329b9ffa7d7bdfafa5d245a11fd3660d",
        "2944eca607304a095ea43ba2b8f0b9de61249f9f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 13 10:03:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 10:03:26 2011 -0700"
      },
      "message": "Merge \"Support for an MPEG2 Program Stream extractor.\""
    },
    {
      "commit": "0cc79c66329b9ffa7d7bdfafa5d245a11fd3660d",
      "tree": "4a958a8de02017bb7a7e8d057bab0101a77837c5",
      "parents": [
        "bbdb412041a1e593c95c29c84d5ddbb8906787e4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Oct 13 11:38:20 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Oct 13 11:38:20 2011 -0400"
      },
      "message": "MtpServer: Pass 0xFFFFFFFF for file size when receiving files \u003e\u003d 4GB in size\n\nBug: 5432487\n\nChange-Id: Ie86e72d9d85476941eab6a9d271948b8fdde6926\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "bbdb412041a1e593c95c29c84d5ddbb8906787e4",
      "tree": "d989aa9cca0f5224625f34b7b63938a4c6efb0e0",
      "parents": [
        "a808bcba75af9f3a6160c24fc9a8968bac2bbd7f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Oct 12 19:43:51 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Oct 13 12:04:05 2011 +0800"
      },
      "message": "Improve camera javadoc and fix some errors.\n\nbug:5169599\nChange-Id: Ic2205770753ff462135f884fee0a888ca8ec832d\n"
    },
    {
      "commit": "a808bcba75af9f3a6160c24fc9a8968bac2bbd7f",
      "tree": "ef13738c44d0374676106f4ee9ca9420b4648d36",
      "parents": [
        "7019d2247e644470a0e8eb99b02b8b2d656fd9fb",
        "98a46cf165d8de3779874eba01803bbc485f45b9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 12 13:51:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 13:51:05 2011 -0700"
      },
      "message": "Merge \"Assume a PTS of 0 if absent, don\u0027t bail on fragmented PES packets not having PTS\" into ics-mr0"
    },
    {
      "commit": "98a46cf165d8de3779874eba01803bbc485f45b9",
      "tree": "195e2f763e848ae41097eccaaa6d3e7c043df137",
      "parents": [
        "49c59815369616b0fd5451ccabd377e8fe1dc3fa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 12 12:14:23 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 12 12:14:23 2011 -0700"
      },
      "message": "Assume a PTS of 0 if absent, don\u0027t bail on fragmented PES packets not having PTS\n\nChange-Id: I3b31f08428fb7195b98f145ae0675006c8756de1\nrelated-to-bug: 5450187\n"
    },
    {
      "commit": "7019d2247e644470a0e8eb99b02b8b2d656fd9fb",
      "tree": "b84a2becf9f55cf194a111132e4733fed32d246c",
      "parents": [
        "49c59815369616b0fd5451ccabd377e8fe1dc3fa"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 11 12:41:58 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 12 10:34:10 2011 -0700"
      },
      "message": "Add video stabilization control to Camera parameters.\n\nHardware video stabilization reduces camera shake in preview\nand in recorded videos. It has no effect on still image capture.\n\nConvenience accessor methods hidden for now.\n\nChange-Id: Ie18450bff662b2ef98b85d19719beefc180975fc\n"
    },
    {
      "commit": "49c59815369616b0fd5451ccabd377e8fe1dc3fa",
      "tree": "90e8850990af78df26d7c0a1b7097747aa57fda2",
      "parents": [
        "e87a2f05f39203dff8914b7612b1b2a709aeb75f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 07 13:40:45 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 10 12:41:21 2011 -0700"
      },
      "message": "YouTube can now request custom cache/prefetch parameters and disconnect-at-highwater\n\nthrough the use of pseudo http headers specified in the setDataSource call.\n\nx-cache-config: -1/-1/0\nx-disconnect-at-highwatermark: 1\n\nturns off keep-alives and disconnects every time the cache is full (will attempt\nto reconnect once it run below lowwater mark)\n\nrelated-to-bug: 5433309\n\nChange-Id: Id2f942fc956e0e156834cfcd6bb08dae6a29fae1\n"
    },
    {
      "commit": "e87a2f05f39203dff8914b7612b1b2a709aeb75f",
      "tree": "c4d2d9b0e13b37cc102458072978f7f2562449f9",
      "parents": [
        "5861a9a98c641261c4807c976c750e4611b3a57d",
        "0b8cd8b0cf1489f8f7c0b2c4d7ea8fea70ca93a1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 07 10:08:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 07 10:08:48 2011 -0700"
      },
      "message": "Merge \"Specifying -1 for both low and highwater marks would not actually do the right thing\""
    },
    {
      "commit": "0b8cd8b0cf1489f8f7c0b2c4d7ea8fea70ca93a1",
      "tree": "6be7998d339d1b8182954927aed176d6dca5327c",
      "parents": [
        "003124e20eb0744aab36ad1bde05e15ac122ad75"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 07 10:00:38 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 07 10:00:38 2011 -0700"
      },
      "message": "Specifying -1 for both low and highwater marks would not actually do the right thing\n\nbefore this change. Also make it more consistent in that specifying -1 for the\nkeepalive settings specifies the default.\n\nChange-Id: I086f530fbf42abce66d1c8e61157215cb474e044\n"
    },
    {
      "commit": "5861a9a98c641261c4807c976c750e4611b3a57d",
      "tree": "baba94df5819920a68548a58fd0e9fc28d74d62d",
      "parents": [
        "003124e20eb0744aab36ad1bde05e15ac122ad75"
      ],
      "author": {
        "name": "Tyler Luu",
        "email": "tluu@ti.com",
        "time": "Thu Oct 06 00:00:03 2011 -0500"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 07 09:24:05 2011 -0700"
      },
      "message": "Add initialize method to CameraHardwareInterface\n\nAdd intialize() method to CameraHardwareInterface so we can\nreturn a proper error value to CameraService if open of camera\nhardware module fails.\n\nb/5405235\n\nChange-Id: I09c627034ddd22a5753c5163392c4fcff301e0b9\nSigned-off-by: Tyler Luu \u003ctluu@ti.com\u003e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "003124e20eb0744aab36ad1bde05e15ac122ad75",
      "tree": "431a6dd5869c3675abff12ef42579e2e0c90f8da",
      "parents": [
        "6c904e26d4cd7a79f589e613fa7b2866a9fccb15",
        "a045cb0e77097120e86e367e1cab5494ce2a5d5e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 07 07:59:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 07 07:59:35 2011 -0700"
      },
      "message": "Merge \"Allow a system property \"media.stagefright.cache-params\" to override cache/prefetcher\""
    },
    {
      "commit": "6c904e26d4cd7a79f589e613fa7b2866a9fccb15",
      "tree": "6af862be56e12cdec873fef7e99129a288a79c3d",
      "parents": [
        "3e754efaddf3e221bcae6fe836d7553185d01944",
        "90f4bc2a3d361252df898fa31a99f4120aeefb27"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Oct 07 03:20:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 07 03:20:26 2011 -0700"
      },
      "message": "Merge \"Allow shutter/recording sound to be adjusted unless it\u0027s forced.\""
    },
    {
      "commit": "3e754efaddf3e221bcae6fe836d7553185d01944",
      "tree": "38012e5f87f1da55fca784ebb4dfb14ead3c40a8",
      "parents": [
        "e46c970c8f2fc26ff39cf8bebf984f46b17233ba",
        "b9f588677910cac6ffc0346092bfcfe1c6620b90"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 07 03:08:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 07 03:08:23 2011 -0700"
      },
      "message": "Merge \"Allow Camera.setDisplayOrientation to be called when preview is active.\""
    },
    {
      "commit": "b9f588677910cac6ffc0346092bfcfe1c6620b90",
      "tree": "739803b1d5906d94945de8238e43ea61f4ea3ba8",
      "parents": [
        "d3523f89a867afa111bb332887bf006ec3ae93e6"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 07 13:13:54 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 07 18:01:09 2011 +0800"
      },
      "message": "Allow Camera.setDisplayOrientation to be called when preview is active.\n\nbug:5422679\n\nChange-Id: I4c936ab00428fc158b5947fe8f10b1028869bbdb\n"
    },
    {
      "commit": "90f4bc2a3d361252df898fa31a99f4120aeefb27",
      "tree": "ce19a06399c465a18e3bde2f38cf7d59f56fbb08",
      "parents": [
        "1b8ba61cb178bb6429bd214db9c615c350d0823a"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Oct 07 13:37:42 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Oct 07 13:39:18 2011 +0800"
      },
      "message": "Allow shutter/recording sound to be adjusted unless it\u0027s forced.\n\nChange-Id: I7080d5f50a87f92c8e9395d4cf8f927a6760fa70\n"
    },
    {
      "commit": "e46c970c8f2fc26ff39cf8bebf984f46b17233ba",
      "tree": "a4819a931234fcc631f902702260ff0aa82f49da",
      "parents": [
        "1b8ba61cb178bb6429bd214db9c615c350d0823a",
        "b832a03d563dd000faa44f2577e92237525edc32"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 06 20:38:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 20:38:29 2011 -0700"
      },
      "message": "Merge \"Fix an issue where we should allow negative values but did not\""
    },
    {
      "commit": "a045cb0e77097120e86e367e1cab5494ce2a5d5e",
      "tree": "aa59a2e83f38bf06507b0c81af311f2f096287ec",
      "parents": [
        "d20bf0676d6db8f12edcd2307f82409c076c7015"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 05 14:32:17 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 06 15:27:24 2011 -0700"
      },
      "message": "Allow a system property \"media.stagefright.cache-params\" to override cache/prefetcher\n\ndefault parameters. To override specify a property\n\nadb shell setprop media.stagefright.cache-params \"4096/20480/15\" to\nset the low water threshold to 4096 KB, the high water threshold to 20 MB\nand the keepalive interval to 15 secs.\n\nif high and/or lowwater mark are negative, the default values are used for\nthe respective value.\n\nif keep-alive interval is 0, keep-alives are disabled.\n\nChange-Id: I89a4a06836e4a2f473d7a92b567ab07818c2f87d\n"
    },
    {
      "commit": "1b8ba61cb178bb6429bd214db9c615c350d0823a",
      "tree": "fa574c04f26f91bb61fa82ad7259759491a5c408",
      "parents": [
        "ec35a1416472865dbebc22b10199ad718ed2cc95",
        "788a07fc61bad7ea2f0e3cca3f126b52a9bab376"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 06 09:17:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 09:17:14 2011 -0700"
      },
      "message": "Merge \"Return a runtime error instead of assertion if seeking beyond EOS in mpeg4 files.\""
    },
    {
      "commit": "788a07fc61bad7ea2f0e3cca3f126b52a9bab376",
      "tree": "ed991f32cc744c9f8e36a173d2ca679fe12d211a",
      "parents": [
        "d20bf0676d6db8f12edcd2307f82409c076c7015"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 06 09:07:12 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 06 09:07:12 2011 -0700"
      },
      "message": "Return a runtime error instead of assertion if seeking beyond EOS in mpeg4 files.\n\nChange-Id: If6531b4a1ff45460cfcdcc04764c5c63a2f5a749\nrelated-to-bug: 5418914\n"
    },
    {
      "commit": "b832a03d563dd000faa44f2577e92237525edc32",
      "tree": "8b8732367ca530715553bd1e215a48161581b8a1",
      "parents": [
        "ec35a1416472865dbebc22b10199ad718ed2cc95"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 05 20:02:05 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 05 20:43:52 2011 -0700"
      },
      "message": "Fix an issue where we should allow negative values but did not\n\nChange-Id: Ia8d718b4e6aec4c17db86e30134132f767fd72c5\nrelated-to-bug: 5419527\n"
    },
    {
      "commit": "ec35a1416472865dbebc22b10199ad718ed2cc95",
      "tree": "dcd10e214322dae22492b8a49209fdfb4b33c30f",
      "parents": [
        "d20bf0676d6db8f12edcd2307f82409c076c7015"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 05 17:42:25 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 05 17:42:25 2011 -0700"
      },
      "message": "Fix issue 5381089: problem with A2DP music volume\n\nThis problem only occurs when audio effects are present and\nthe music volume is applied by one effect engine.\nWhen connecting or disconnecting A2DP, audio effects are moved from\none mixer thread to another. When removed from the source thread,\nthe effect is stopped but it is not restarted when added to the\ndestination thread.\nThis regression was introduced by commit 21b5c47e.\n\nChange-Id: I4cc578d8d760ec65b185032b6fda98c739d331bc\n"
    },
    {
      "commit": "d20bf0676d6db8f12edcd2307f82409c076c7015",
      "tree": "f8d91ec301e522a273fae3bf85cf8e6483cb66ed",
      "parents": [
        "d3523f89a867afa111bb332887bf006ec3ae93e6"
      ],
      "author": {
        "name": "Lakshman Gowda",
        "email": "lakshman79@ti.com",
        "time": "Thu Sep 29 17:47:35 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 05 10:29:27 2011 -0700"
      },
      "message": "Set crop params to ANative Window during Initialization.\n\nThe native_window_set_crop() is called when port reconfig event callback comes from decoder\u0027s and\ncrop parameters are changed from default getconfig() OMX_IndexConfigCommonOutputCrop values.\nSince the default crop params are same as port reconfig crop params, the native_window_set_crop()\nis not called, hence resulting in displaying the whole frame(paddedWidth x paddedHeight).\nBy calling native_window_set_crop() during initilaization of output port of decoder ensures\nin setting up ANative window to crop region.\n\nChange-Id: I68926464a1f5c7e6053804615c8b9bd32ea85688\nSigned-off-by: Lakshman Gowda \u003clakshman79@ti.com\u003e\n"
    },
    {
      "commit": "2944eca607304a095ea43ba2b8f0b9de61249f9f",
      "tree": "f3dbe4e61cc94ec086b098c7387034f226a2ac14",
      "parents": [
        "d3523f89a867afa111bb332887bf006ec3ae93e6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 14:12:44 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 30 15:26:31 2011 -0700"
      },
      "message": "Support for an MPEG2 Program Stream extractor.\n\nChange-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41\n"
    },
    {
      "commit": "d3523f89a867afa111bb332887bf006ec3ae93e6",
      "tree": "569a59483ca970991541c7508172df425b6396e0",
      "parents": [
        "fea8f6217455d8cfc957e5b30f4eb2349859518f"
      ],
      "author": {
        "name": "Gilles-Arnaud Bleu-Laine",
        "email": "gilles@ti.com",
        "time": "Thu Sep 15 21:30:13 2011 -0500"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 30 10:46:12 2011 -0700"
      },
      "message": "Gracefuly return on detecting wrong AAC format from corrupted files\n\nReturn BAD_VALUE error upon detection of wrongly formatted files.\nThe client should abort the initialization upon error detection.\n\nThe current CHECK() interrupts the configurecodec() preventing a graceful\nexit.\n\nChange-Id: Ic79313fa76a63284897df5d91635de87d06f3100\nSigned-off-by: Gilles-Arnaud Bleu-Laine \u003cgilles@ti.com\u003e\n"
    },
    {
      "commit": "fea8f6217455d8cfc957e5b30f4eb2349859518f",
      "tree": "f264d4ead8fd230576c8b74a2effe6c581fd838b",
      "parents": [
        "5530493f9abcd8f1f0b06cccecd6900e86a99778",
        "792e33fd19e57e0d615d401a54ab567d04f16251"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 16:08:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 28 16:08:59 2011 -0700"
      },
      "message": "Merge \"Support multiple NAL fragments per .mkv payload\""
    },
    {
      "commit": "792e33fd19e57e0d615d401a54ab567d04f16251",
      "tree": "ccd5617ec6f8dcfe85731635240096384a212f9a",
      "parents": [
        "729de186450f78c099637e1fce743fe531862c52"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 15:06:46 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 15:06:46 2011 -0700"
      },
      "message": "Support multiple NAL fragments per .mkv payload\n\nApparently the payload for an h.264 track in an .mkv file can contain multiple\nNAL fragments, we used to discard everything after the first one before, now\nwe preserve them all.\n\nChange-Id: Ic7187365309f3880a3256982879a45df50db697d\nrelated-to-bug: 5337218\n"
    },
    {
      "commit": "5530493f9abcd8f1f0b06cccecd6900e86a99778",
      "tree": "191bb6fff2637f3ff074a2cfda970d10be9c6dcb",
      "parents": [
        "729de186450f78c099637e1fce743fe531862c52",
        "6c375490a5536695770a85b57ec9f828d3c0c9d4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 28 13:46:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 28 13:46:49 2011 -0700"
      },
      "message": "Merge \"Flush resets the count of played audio frames\""
    },
    {
      "commit": "729de186450f78c099637e1fce743fe531862c52",
      "tree": "bf05611a1943104189abce2f9b09514f2ec2adeb",
      "parents": [
        "ac4d4d3698e920b9f5c648a781df5b6af8bcfdf0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "message": "Support AMR, G.711 and vorbis audio in ACodec and friends.\n\nChange-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983\n"
    },
    {
      "commit": "6c375490a5536695770a85b57ec9f828d3c0c9d4",
      "tree": "d6b54668915571bd2260ecbc3a05607dfdaab517",
      "parents": [
        "ac4d4d3698e920b9f5c648a781df5b6af8bcfdf0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 27 22:47:25 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 27 22:47:25 2011 -0700"
      },
      "message": "Flush resets the count of played audio frames\n\nChange-Id: I0cda94646a71757fa113a199d29235e13efd7ac3\nrelated-to-bug: 5331470\n"
    },
    {
      "commit": "ac4d4d3698e920b9f5c648a781df5b6af8bcfdf0",
      "tree": "916ceb4b2ceb6f0dcd81fd3831050ab2290dab20",
      "parents": [
        "17799467c64629ef174d8f09cc89c4049624dcac",
        "c32589a79f8120ac0060945fffc50279143989aa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 15:26:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 15:26:43 2011 -0700"
      },
      "message": "Merge \"Cut down on AwesomePlayer and OMXCodec\u0027s verbosity.\""
    },
    {
      "commit": "c32589a79f8120ac0060945fffc50279143989aa",
      "tree": "704e732a82efa9a9bcb13f86cd9c059dc1e02ef9",
      "parents": [
        "dd115cd3b1429a39f1c8e77cbdf03e760ebdb6c3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 15:05:40 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 15:07:36 2011 -0700"
      },
      "message": "Cut down on AwesomePlayer and OMXCodec\u0027s verbosity.\n\nChange-Id: Ifd95717e8ea0fb0327099b16d72a6ed58c7c9924\nrelated-to-bug: 5382014\n"
    },
    {
      "commit": "17799467c64629ef174d8f09cc89c4049624dcac",
      "tree": "fb668b2815e6c273ee95099f54978aafc1a94007",
      "parents": [
        "dd115cd3b1429a39f1c8e77cbdf03e760ebdb6c3",
        "9d18ec574f5d847a86a21594ac39394ef5b108fc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 27 14:07:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 14:07:45 2011 -0700"
      },
      "message": "Merge \"Fix issue 5373658: memory leak in AudioFlinger.\""
    },
    {
      "commit": "dd115cd3b1429a39f1c8e77cbdf03e760ebdb6c3",
      "tree": "ed3e70d787dbc6fd3e9a2ebb59ad7d088251c7fb",
      "parents": [
        "82fd03b854a5e6879dc9eb6d57962414e7082894",
        "eac68baf095aeef54865c28b6888924dc6295cbd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 13:36:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 13:36:22 2011 -0700"
      },
      "message": "Merge \"Signal an appropriate error even if there are no active streams yet.\""
    },
    {
      "commit": "eac68baf095aeef54865c28b6888924dc6295cbd",
      "tree": "a1ca9c5de638d21e07be1aab9f25d01e118597e7",
      "parents": [
        "797ab6072402b12721dc226a9ebde3546e7640e9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 12:12:25 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 12:13:37 2011 -0700"
      },
      "message": "Signal an appropriate error even if there are no active streams yet.\n\nChange-Id: I3ac1053ad288558b62ee18056dfd0a9ce0da8f49\nrelated-to-bug: 5372901\n"
    },
    {
      "commit": "9d18ec574f5d847a86a21594ac39394ef5b108fc",
      "tree": "5c720b5e0835102eeff634fcf6d27f129751c3d1",
      "parents": [
        "797ab6072402b12721dc226a9ebde3546e7640e9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 27 12:07:15 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 27 12:07:15 2011 -0700"
      },
      "message": "Fix issue 5373658: memory leak in AudioFlinger.\n\nUnlink PowerManagerService binder interface death recipient\nin ThreadBase destructor.\n\nChange-Id: Iab06ae9a8a6737bb002b6416a157b0fb50c11ad5\n"
    },
    {
      "commit": "82fd03b854a5e6879dc9eb6d57962414e7082894",
      "tree": "761dbf7ef3ac4853c5b0e3806568376ddf639141",
      "parents": [
        "797ab6072402b12721dc226a9ebde3546e7640e9",
        "9cb839a0fcc98fe4278b39afb8b6d664c04f1673"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 27 10:32:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 10:32:17 2011 -0700"
      },
      "message": "Merge \"Fix issue 5373048: AudioCache decode errors\""
    },
    {
      "commit": "9cb839a0fcc98fe4278b39afb8b6d664c04f1673",
      "tree": "f5847d0d1994489a829368b12c4998dcf229c926",
      "parents": [
        "ece731de0c0af30917316d55313f25c56f91960d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 27 09:48:56 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 27 10:23:38 2011 -0700"
      },
      "message": "Fix issue 5373048: AudioCache decode errors\n\nWhen decoding a file for the SoundPool, do not\nreject the entire file in case of error but\nreturn what was decoded so far instead.\n\nChange-Id: Iff199a1b6a4c8e064e42a0dfe0704e0ae36a27fd\n"
    },
    {
      "commit": "797ab6072402b12721dc226a9ebde3546e7640e9",
      "tree": "a6c6a25ce9bd1b423243fca18300955b7e7ef3fb",
      "parents": [
        "070b91e1f67e6e2f129b6b492f38fbec7c8618e4",
        "031abfb6cc904da49b28423643d80a6485f4e3e6"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Sep 26 12:11:29 2011 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Sep 26 12:11:29 2011 -0700"
      },
      "message": "Reconcile with ics-factoryrom-release\n\nChange-Id: I4096cbbfd0bae1f7c08c9731f522529d3895d2d8\n"
    },
    {
      "commit": "070b91e1f67e6e2f129b6b492f38fbec7c8618e4",
      "tree": "a6c6a25ce9bd1b423243fca18300955b7e7ef3fb",
      "parents": [
        "dc9bacd838442a524585887e6ea6696836be2eda",
        "93d5ab693626fa2700375e838e4bb90e4d50e605"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 11:26:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 11:26:59 2011 -0700"
      },
      "message": "Merge \"Properly connect to surface flinger in our shell tools\""
    },
    {
      "commit": "dc9bacd838442a524585887e6ea6696836be2eda",
      "tree": "230135b6bc20bff2be5a8292e91c0fac86201039",
      "parents": [
        "ece731de0c0af30917316d55313f25c56f91960d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 10:53:29 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 10:53:29 2011 -0700"
      },
      "message": "Propagate error signalled by the source all the way to the output EOS notification.\n\nChange-Id: I30e959a6d669f09745c59fbdebee08f869511cf7\nrelated-to-bug: 5372901\n"
    },
    {
      "commit": "ece731de0c0af30917316d55313f25c56f91960d",
      "tree": "f22ab3869438cdcbad7036e830ba1aed3b20a0ab",
      "parents": [
        "ce7f4f6345395eb3e715beaf4a74621956070f47",
        "32e1832dfac3a6bbcc5c0973ccd0e22de4d1a1ac"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 08:09:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 08:09:11 2011 -0700"
      },
      "message": "Merge \"Support even more .avi files with .mp3 content not aligned to chunk boundaries\""
    },
    {
      "commit": "32e1832dfac3a6bbcc5c0973ccd0e22de4d1a1ac",
      "tree": "5e0a3c8ef28fc0dab8428a385c99ca0a643d6a0d",
      "parents": [
        "e2c10206a506381ecd466e050f8b5cdf87db7100"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 23 14:05:49 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 23 14:59:31 2011 -0700"
      },
      "message": "Support even more .avi files with .mp3 content not aligned to chunk boundaries\n\nChange-Id: I3ace4118e2e519648c23c51d0b699ba0d7511a5d\nrelated-to-bug: 5349382\n"
    },
    {
      "commit": "ce7f4f6345395eb3e715beaf4a74621956070f47",
      "tree": "10602c3175014873741469cbf20f5f7737d74f7a",
      "parents": [
        "7df9b2be02dc9246ba858a54f28ea71cb9d1da08",
        "6bffdb8b598a2399e57f6ca48660fb7bdb2490b5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 23 14:43:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 14:43:12 2011 -0700"
      },
      "message": "Merge \"Fix issue 5355047: Automated effect tests fail.\""
    }
  ],
  "next": "031abfb6cc904da49b28423643d80a6485f4e3e6"
}
