)]}'
{
  "log": [
    {
      "commit": "77c500c9a1f763b31fb5a03c803b3523fcb72310",
      "tree": "9feafc0d06b27223cd189b22d7bf7bc2c82c11ef",
      "parents": [
        "785fd3685a69e5b3ef9c0958dcf4ae85f818e78d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 09 00:48:56 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 10 11:40:11 2011 -0800"
      },
      "message": "Add support for retrieving location information in mp4/3gpp files\n\nChange-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687\nrelated-to-bug: 5560253\n"
    },
    {
      "commit": "26f70db99f483be36caa7a4c84fec5de50bec034",
      "tree": "bb5e0c42bc4d564b8919a2c4fb302026a89582e6",
      "parents": [
        "99015a2464a40097c3e23e07cdf69da0f886aa66",
        "95be24585f46229f551c529104b5e92fa4316b38"
      ],
      "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": "88061d6b38cfb4bf374039846b753a3b21ac61e1",
      "tree": "0d4656659add969e8015e5019d85d2bf18d89940",
      "parents": [
        "2ccc47b89868d4f39683e0e2bd057ce95d7d1217",
        "5462bc6318b4b70e7a58c66994e2bd79f59d9739"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Nov 05 02:35:57 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 05 02:35:57 2011 +0000"
      },
      "message": "am 5462bc63: Fix a leak in Parcel::writeBlob.\n\n* commit \u00275462bc6318b4b70e7a58c66994e2bd79f59d9739\u0027:\n  Fix a leak in Parcel::writeBlob.\n"
    },
    {
      "commit": "5462bc6318b4b70e7a58c66994e2bd79f59d9739",
      "tree": "4c5c4b7980974adb8c5fc11df32e1a523cd94306",
      "parents": [
        "348297abc0e03fb87a1d22465020b580d83fdd61"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 04 19:01:44 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 04 19:26:03 2011 -0700"
      },
      "message": "Fix a leak in Parcel::writeBlob.\n\nWas mistakenly assuming that Parcel::writeFileDescriptor took\nownership of the fd that was passed in.  It does not!\nAdded some comments and a default parameter to allow the caller\nto specify whether it wishes the Parcel to take ownership.\n\nBug: 5563374\nChange-Id: I5a12f51d582bf246ce90133cce7690bb9bca93f6\n"
    },
    {
      "commit": "236aea3579787961fdd41d87574760b63323c0c1",
      "tree": "d5dfbcbe10eb5e2d7e0535973c675a795e435cc2",
      "parents": [
        "3f9ce4c22ae9b4f0f2208c29f8c93d6ad652a1dc",
        "9d9768dbd7d8fe7af55fbd570dff9cf79a4d1807"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 03 11:51:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 03 11:51:23 2011 -0700"
      },
      "message": "Merge changes Ibc99cb1c,Ie1f4f6f8 into ics-mr1\n\n* changes:\n  BlobCache: implement cache serialization\n  BlobCache: remove the mutex locking\n"
    },
    {
      "commit": "11ba6da460572b9ce9cb9dc0d5a76b710e7efdb3",
      "tree": "40faf71c301e1e374c1555b4a38e45d8716a940d",
      "parents": [
        "ff93e417a217703a635d8601b835853e07233afd",
        "4b6353ea0265bfed52d0637abd1b17596ce25ff0"
      ],
      "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": "4b6353ea0265bfed52d0637abd1b17596ce25ff0",
      "tree": "12db2c3540b8604641509a5597b231636bdcdfff",
      "parents": [
        "af675222f6340a8a9edbe9e8635014a18521e5e0",
        "0f4f97b70f6ad59b32e78720ba7357733bdef3e9"
      ],
      "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": "9d9768dbd7d8fe7af55fbd570dff9cf79a4d1807",
      "tree": "8de623b36e6c49a695fe17760f2011dd4e42bb5c",
      "parents": [
        "94c1f148bb655a3dd3c2a2167476239b41305ff0"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu May 12 17:39:03 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Oct 31 18:49:32 2011 -0700"
      },
      "message": "BlobCache: implement cache serialization\n\nThis change adds serialization and deserialization functionality to\nBlobCache, conforming to the Flattenable interface.\n\nChange-Id: Ibc99cb1c3d015f363d57d0713eabccec07ff975e\n"
    },
    {
      "commit": "94c1f148bb655a3dd3c2a2167476239b41305ff0",
      "tree": "0a7bf345bb97a55b7cdcfa2c29d1493734027e92",
      "parents": [
        "62015f5d0d1104dfc682b3eb3b6c0be4f63b985a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Oct 30 18:10:41 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Oct 31 18:48:31 2011 -0700"
      },
      "message": "BlobCache: remove the mutex locking\n\nThis change removes the mutex from the BlobCache class.  The caller must\nbe responsible for thread synchronization in order to properly implement\nthe Flattenable interface, which is coming soon.  Otherwise would be the\npotential for the cache contents to change between the call to the\ngetFlattenedSize and flatten methods.  Because the caller must do this\nsynchronization anyway there\u0027s no reason to also some synchronization\ninside BlobCache.\n\nChange-Id: Ie1f4f6f82b78744f46a41ce863cac0cad276a20e\n"
    },
    {
      "commit": "95be24585f46229f551c529104b5e92fa4316b38",
      "tree": "657706c23c41575c0a6bb092d2b7f42d3e67ea3b",
      "parents": [
        "27ed12492dfbec6ec67b66ff3cf60febce370b01"
      ],
      "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": "fc9592f8a5f2f75207e5e532655ac294eb2b334b",
      "tree": "b9067a99e0d90eff2f54c9d2cc2150c0036c734b",
      "parents": [
        "859bf0f2efb7b5518055893c17aa3a6437023633",
        "08479ceeba56c460fb52f60a24df27776f1936c3"
      ],
      "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": "0f4f97b70f6ad59b32e78720ba7357733bdef3e9",
      "tree": "e5c7ce8445d6c74dc463530f5bf4070ee1ad3e69",
      "parents": [
        "763480fbcabedfc2f425484ed74bc1e2e1392176"
      ],
      "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": "2fa0ac2e44f553e29b0d83a5dd87f7dda5422811",
      "tree": "557bc34832113716b320acc208ecdd584d83b793",
      "parents": [
        "ed12460301cf0e04ac61993aaf1142f75f504814"
      ],
      "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": "5ded5fc55f2da2af0a76a9ddc52d27948b227037",
      "tree": "56d574dfaee8cd32f7f732a90e247f5cedafc1f5",
      "parents": [
        "6f444425fe1bb62e12973c5df6a3161bc2aa2ce7",
        "b7b4eaaa05284634d50d581d924a250f1194f66d"
      ],
      "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": "c0e4293794e9658da1ce9849a42c66ce19ef5f07",
      "tree": "b898e7f88b43b44cbac4f673471015c676b8d08b",
      "parents": [
        "be25d5b05639c8475b7faf312959923db86efa5d"
      ],
      "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": "149a14931e5aa4beb8c4263995f01437a8918465",
      "tree": "ca6e2d3cdc8c93d963fb22329c02f6d1f4910c98",
      "parents": [
        "c919cd77eee93b55e0ab2f8495d200b9defdf2c0",
        "23d644202a44383bf008ff86f6faa3ea7e447290"
      ],
      "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": "23d644202a44383bf008ff86f6faa3ea7e447290",
      "tree": "c04b81c6d8a70590e02dd347c021a2a6e536c3e0",
      "parents": [
        "44630c72651803ba1dedba3b5352cad8a8a62ace",
        "6607b39baa05ee85a0857c3f95ff9224517b2abc"
      ],
      "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": "6607b39baa05ee85a0857c3f95ff9224517b2abc",
      "tree": "762f143a7abc692a1ef2f25d2356f1774e8bfab7",
      "parents": [
        "5310a731eab664352044781d4b107b4837ea77ac"
      ],
      "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": "2696d0520f9b928264caa5f98c2e6b1e749f9a11",
      "tree": "f47181e115c3ba1cda5c88d75beb84ba9cd7e96c",
      "parents": [
        "3254774b923378116cc7f9706431bd56f08bdd38",
        "70ac412b2fe7be2507189a9fdfb30c43b36d56ac"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Oct 18 23:00:08 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 18 23:00:08 2011 -0700"
      },
      "message": "am 70ac412b: Merge \"Add a LayerScreenshot\" into ics-mr0\n\n* commit \u002770ac412b2fe7be2507189a9fdfb30c43b36d56ac\u0027:\n  Add a LayerScreenshot\n"
    },
    {
      "commit": "0ab84ef507f23505a72798fbe25cf4bb2c507ea3",
      "tree": "ea360721418d5b13c376c4f2bcbb4066ebb65f93",
      "parents": [
        "526f0a0e158cf46c244edc57624c15ebce26c71f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 13 16:02:48 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 20:21:47 2011 -0700"
      },
      "message": "Add a LayerScreenshot\n\nA LayerScreenshot is a special type of layer that contains a screenshot of\nthe screen acquired when its created. It works just like LayerDim.\n\nMake sure to call compositionComplete() after rendering into a FBO.\n\nBug: 5446982, 5467587, 5466259\nChange-Id: I5d8a1b4c327f9973d950cd4f4c0bca7f62825cd4\n"
    },
    {
      "commit": "72cdc6d488578c7e54523e65ff622bdcb89b7b94",
      "tree": "ddb78c6f63b3a717dec67c5cfdcd35da9256a12b",
      "parents": [
        "2789e257fcdf5947e00726bd7c7a1a88adde7e95",
        "9a0732af1bd96a7d8247dee124a7da389137a52f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 17 15:52:31 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 15:52:31 2011 -0700"
      },
      "message": "am 9a0732af: Merge \"SensorManager reconnects to sensor service when the later dies\" into ics-mr0\n\n* commit \u00279a0732af1bd96a7d8247dee124a7da389137a52f\u0027:\n  SensorManager reconnects to sensor service when the later dies\n"
    },
    {
      "commit": "9a0732af1bd96a7d8247dee124a7da389137a52f",
      "tree": "c048fb43392d7b020e802d4037c93a554f3e25f1",
      "parents": [
        "31603aacbb54b98cbee498412f6a5eb9dd4a2788",
        "de6c44e90681cbdb754e55721953fc828ec8e2aa"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 17 15:50:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 15:50:36 2011 -0700"
      },
      "message": "Merge \"SensorManager reconnects to sensor service when the later dies\" into ics-mr0"
    },
    {
      "commit": "a3dca6fdaacf9ffea4a844848a53c1adeb089897",
      "tree": "584269bf3494ddddfbbacfb57a6a6e43225fe144",
      "parents": [
        "f7ae86f61ba7b326a33e53c3bbb87ebf212f543d",
        "840b8a678537519c27ddf2f818494eaa20a135d4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 17 11:32:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 11:32:19 2011 -0700"
      },
      "message": "am 840b8a67: Revert \"Add a LayerScreenshot\"\n\n* commit \u0027840b8a678537519c27ddf2f818494eaa20a135d4\u0027:\n  Revert \"Add a LayerScreenshot\"\n"
    },
    {
      "commit": "f21dd1eabe5bf4da0dc0d9c23144aa997c05a56d",
      "tree": "c964eebbf3c2ea6c50532d57fd895989956f33a7",
      "parents": [
        "c831f6c9799e13d7fde167abfa9c03eb5ab0827c",
        "7f7362c02bcde8750e24781f5c7199f9551301c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 11:32:08 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 11:32:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://android-git:29418/platform/frameworks/base\n"
    },
    {
      "commit": "7f7362c02bcde8750e24781f5c7199f9551301c5",
      "tree": "83be1a0caf529baec9f7cd21870f5a6329caa182",
      "parents": [
        "bddddf47291a1d93a6907ca943fb299d775fd9c0",
        "de14ecaebcb958f542f50cff08109926aad2c685"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Oct 17 11:31:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 11:31:39 2011 -0700"
      },
      "message": "Merge changes I4e5ff00c,Id5e3ca1d,I97cbba61\n\n* changes:\n  SurfaceFlinger: Remove display freezing code\n  SurfaceFlinger: add some layer update tests\n  SurfaceFlinger: make sync transactions explicit\n"
    },
    {
      "commit": "4b1415ebd9bf39fa3e4ee62eef14cf613ea37dec",
      "tree": "737939cf238ef3111e396d247c84fa65478be424",
      "parents": [
        "bddddf47291a1d93a6907ca943fb299d775fd9c0",
        "57337eb78e65c160fb9c46a01e04c476d1bfdca1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 17 11:30:33 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 11:30:33 2011 -0700"
      },
      "message": "am 57337eb7: Merge \"Add a LayerScreenshot\" into ics-mr0\n\n* commit \u002757337eb78e65c160fb9c46a01e04c476d1bfdca1\u0027:\n  Add a LayerScreenshot\n"
    },
    {
      "commit": "840b8a678537519c27ddf2f818494eaa20a135d4",
      "tree": "f3b32ab3ba51f342b5b9d6e37dbce835739dd4a0",
      "parents": [
        "4fb6416e3a21031a88921a784ae62b13d8a1a39f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 23:54:25 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 23:54:25 2011 -0700"
      },
      "message": "Revert \"Add a LayerScreenshot\"\n\nThis reverts commit d6809f40cf61203573ec5dbc437f695cd132cc18.\n"
    },
    {
      "commit": "de6c44e90681cbdb754e55721953fc828ec8e2aa",
      "tree": "9cd3aeef0b48317abda405f001bea32157cd8af6",
      "parents": [
        "4fb6416e3a21031a88921a784ae62b13d8a1a39f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 22:15:23 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 22:15:23 2011 -0700"
      },
      "message": "SensorManager reconnects to sensor service when the later dies\n\nif system process ever restarted, processes using a SensorManager\nwould loose the ability to use it, resulting to a crash.\nwe now listen for sensor service death and reconnected if necessary.\n\nBug: 5445240\nChange-Id: Ia47f8b26cdcecb729fa22bf11d55e10fcaef8cfc\n"
    },
    {
      "commit": "a39a055304968e799c49e99b700399667eab006a",
      "tree": "7596ce656909c7cde2d6df3d988ae561bb1332b2",
      "parents": [
        "436e270fbb607d62d59e3694ff46c87fa156f78b",
        "5e5d6d8ba04d7579df840cda055cd5dfa9d7666f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 14 21:05:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 14 21:05:58 2011 -0700"
      },
      "message": "Merge \"Deprecate local-only CursorWindows.\""
    },
    {
      "commit": "de14ecaebcb958f542f50cff08109926aad2c685",
      "tree": "5534cd6e9505a6b544e9abc1a93952449ea16f8e",
      "parents": [
        "4f1924380cff7424e23beb82b1b7d448941e2441"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 14 16:44:08 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 14 16:44:08 2011 -0700"
      },
      "message": "SurfaceFlinger: Remove display freezing code\n\nThis change removes the dead code from SurfaceFlinger that resulted from\ndisabling support for freezing the display.\n\nChange-Id: I4e5ff00c94b4c7a79af2f65c9850c135210068ed\n"
    },
    {
      "commit": "122aa6bae9f72015e6d50e78d4d47a95e05d3f49",
      "tree": "363131575744911fd326f10eaf30c4e0913014e0",
      "parents": [
        "708fd1a5f90483153a0ec43c8f5588141acaba0e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 12 17:39:00 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 14 16:11:51 2011 -0700"
      },
      "message": "SurfaceFlinger: make sync transactions explicit\n\nThis change enables a layer or orientation update transaction sent to\nSurfaceFlinger to explicitly request a synchronous transaction.\n\nChange-Id: I97cbba610c13679849f66114b216fa6dbf12f2a9\n"
    },
    {
      "commit": "d6809f40cf61203573ec5dbc437f695cd132cc18",
      "tree": "f7c0278119e2264719eb13d66756fc39df4b35df",
      "parents": [
        "22dad40d3e8ce54a00f337ea06b9b0bbfbd3fd6b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 13 16:02:48 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 14 14:32:48 2011 -0700"
      },
      "message": "Add a LayerScreenshot\n\nA LayerScreenshot is a special type of layer that contains a screenshot of\nthe screen acquired when its created. It works just like LayerDim.\n\nBug: 5446982\nChange-Id: I7814aff2380e7e146937f2b641907be2a30c76cc\n"
    },
    {
      "commit": "0eb6ef1798362d15696618debdb2478b386398c5",
      "tree": "b8fb88c8fcc85ed6f33bcc7ace0188dc72772ecd",
      "parents": [
        "df3975c5aee17cc365b854e616d8831b45809db0",
        "bc554956128d69d8d2e60365fb6cffe6facf659b"
      ],
      "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": "7a3ba4d732d5ce394aab9783e4099b2e71f1903f",
      "tree": "3ff108c0340688afde41e9c2ed5fee904a3de25d",
      "parents": [
        "2507f7801eb3d12ee31661c919f0d507ef49adfb",
        "514a6cfb7f7085b266f457155ff63373d2dff8ee"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Oct 12 23:36:14 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 12 23:36:14 2011 -0700"
      },
      "message": "am 514a6cfb: Merge \"Improve camera javadoc and fix some errors.\" into ics-mr0\n\n* commit \u0027514a6cfb7f7085b266f457155ff63373d2dff8ee\u0027:\n  Improve camera javadoc and fix some errors.\n"
    },
    {
      "commit": "5e5d6d8ba04d7579df840cda055cd5dfa9d7666f",
      "tree": "b9c47baaa3b62795dfc12645da4bed2eb5d3ec13",
      "parents": [
        "5b2dda3be5cc903aafb77ce7902c14d76eb26a9b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 12 15:41:34 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 12 22:19:41 2011 -0700"
      },
      "message": "Deprecate local-only CursorWindows.\n\nThere is no difference and has never really been a difference\nbetween local-only and remotable CursorWindows.  By removing the\ndistinction officially in the API, we will make it easier to\nimplement CrossProcessCursor correctly.  CrossProcessCursor\nis problematic currently because it\u0027s not clear whether a call\nto getWindow() will return a local-only window or a remotable window.\nAs a result, the bulk cursor adaptor has special case handling\nfor AbstractWindowedCursors vs. ordinary CrossProcessCursors\nso that it can set a remotable window before the cursor fills it.\nAll these problems go away if we just forget about local-only\nwindows being special in any way.\n\nChange-Id: Ie59f517968e33d0ecb239c3c4f60206495e8f376\n"
    },
    {
      "commit": "53b30912d3e8598c05e47308981971e958e98db2",
      "tree": "41707ae460d30f43a5265ab05cce0af7cbcaed8a",
      "parents": [
        "63c8a47b7fb8244e8ee9fbcf40a77a30a9c98ca9"
      ],
      "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": "19de9efcc4b0367cd6cfde78c90d2d3b213814e9",
      "tree": "e3aca1e653b4e87f488bb56938f9dbf95ea6c258",
      "parents": [
        "dc8f43294ab1da58f78ac516b372c1a698a01ecf",
        "7953745dd565167113f8cbfc461bc0521d32d870"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 12 13:50:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 13:50:11 2011 -0700"
      },
      "message": "Merge \"Reduce the size of libhwui by 50%\""
    },
    {
      "commit": "7953745dd565167113f8cbfc461bc0521d32d870",
      "tree": "f45d34b4b7a6c19c0a639be68e6455a116a93bca",
      "parents": [
        "0bbd8d8273c1dde9e0504f67bd8eb159bef2406a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 12 13:48:51 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 12 13:48:51 2011 -0700"
      },
      "message": "Reduce the size of libhwui by 50%\n\nThis change removes unnessary symbols. All symbols are hidden by\ndefault, public APIs with exported symbols are explicitly marked\nwith ANDROID_API.\n\nChange-Id: I692fde432a86c12108de1cfd1f6504919a7d5f3f\n"
    },
    {
      "commit": "075e4c3d2e6a8a9eb3506dfedc8da938fb65fb65",
      "tree": "3ad3b103a9c8f8d1447405e6475c7ccb2bc63229",
      "parents": [
        "87228cd7bb9a39e2bb33a767d214c8d834f840df",
        "e2909e121c45d58fe587849b1474c80745fcd2b9"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 12 13:03:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 13:03:11 2011 -0700"
      },
      "message": "Merge \"SurfaceFlinger: update orientation via transactions\" into ics-mr0"
    },
    {
      "commit": "0a2735928030229b3340074eb11c2423342fda93",
      "tree": "62b20e5f403e1d18d89f0a9a8be292fa514c1f94",
      "parents": [
        "421648ed06a2c944bc6a5fa866d461761533005b",
        "037abb8bb064c2878858c9b69978f6754f242627"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 12 10:37:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 10:37:57 2011 -0700"
      },
      "message": "Merge \"Add video stabilization control to Camera parameters.\" into ics-mr0"
    },
    {
      "commit": "037abb8bb064c2878858c9b69978f6754f242627",
      "tree": "0def5073e8e5023a5b76bd76f85a4358a91464d9",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "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": "e2909e121c45d58fe587849b1474c80745fcd2b9",
      "tree": "00ec207d638a9815966e4d7f2c4808dcdd28d9b6",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Oct 10 15:48:06 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Oct 11 13:34:01 2011 -0700"
      },
      "message": "SurfaceFlinger: update orientation via transactions\n\nThis change merges the ISurfaceComposer::setOrientation functionality\ninto ISurfaceComposer::setTransactionState.  It enables the window\nmanager to atomically update both the display orientation and the\nposition and size of the windows in a single transaction with\nSurfaceFlinger.\n\nBug: 5439574\nChange-Id: I18a8ccc564d7d760ef8afb2d015ccdb7a7963900\n"
    },
    {
      "commit": "0cde89f5f025b7826be009ebb9673b970e180e32",
      "tree": "ee6a4c95c0b07890353a813afb15a52334384f0d",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 10 14:50:10 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 11 11:03:19 2011 -0700"
      },
      "message": "Use ashmem for CursorWindows.\nBug: 5332296\n\nThe memory dealer introduces additional delays for reclaiming\nthe memory owned by CursorWindows because the Binder object must\nbe finalized.  Using ashmem instead gives CursorWindow more\ndirect control over the lifetime of the shared memory region.\n\nThe provider now allocates the CursorWindows and returns them\nto clients with a read-only protection bit set on the ashmem\nregion.\n\nImproved the encapsulation of CursorWindow.  Callers shouldn\u0027t\nneed to care about details like how string fields are allocated.\n\nRemoved the compile-time configuration of string and numeric\nstorage modes to remove some dead weight.\n\nChange-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd\n"
    },
    {
      "commit": "d0ff68da6a606602235fb8749473999e3d1bde53",
      "tree": "d77988a2bfec755a4cf116d333fe188f55fe723c",
      "parents": [
        "aa32c30b81134fc7ebd9408f4757d1dc4410f338"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 07 13:28:18 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 07 13:28:18 2011 -0700"
      },
      "message": "Fix regression in CursorWindow.copyStingToBuffer.\nBug: 5332296\n\nChange-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99\n"
    },
    {
      "commit": "3bc6bbc92cd2095f42039b5aadd0a14d0e5d9230",
      "tree": "39b62affe30e0c2895a0f8a52212a7f91bd80dd7",
      "parents": [
        "3b2faf68e5a66ac67b28d6f79d4ba213b6c0d09c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 06 13:11:04 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 06 14:40:13 2011 -0700"
      },
      "message": "Clean up CursorWindow code.\nBug: 5332296\n\nThe code is functionally equivalent, but a little more efficient\nand much easier to maintain.\n\nChange-Id: I90670a13799df05831843a5137ab234929281b7c\n"
    },
    {
      "commit": "db62a245f968159ea5ff8ad99afb4cd035e2304d",
      "tree": "09cbb61511de7a81a17b57edb11e8898ee38f2c5",
      "parents": [
        "b4e7d4ca7502bb8ff599229ec90c1bf5b481f2f7"
      ],
      "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": "c04db7e06737c5b9bae276ac462858d44002672e",
      "tree": "bc987fad458ca9609339478f4aac28971646d760",
      "parents": [
        "2588a07730ff511329c87b5f61b20419b2443d48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 03 21:09:35 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 03 21:09:35 2011 -0700"
      },
      "message": "Fix handling of \"allow fds\" state.\n\nDidn\u0027t take into account nesting of bundles.  Boo.\n\nChange-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01\n"
    },
    {
      "commit": "6579a9d6fe2302fa149452f66c4062ebc60c2523",
      "tree": "ec270840b71b6dc492748ee7da073e7b50547130",
      "parents": [
        "7d657e5cfacec1f0be845c86dd4336e7efde5ede"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 21:17:56 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 03 17:28:13 2011 -0700"
      },
      "message": "Transfer large bitmaps using ashmem.\nBug: 5224703\n\nChange-Id: If385a66adf4c6179a0bb49c0e6d09a9567e23808\n"
    },
    {
      "commit": "9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d",
      "tree": "08d24c5413fa49ac6386f8b396f29e297e728fbd",
      "parents": [
        "8ebf1efd66516340bedbf0d0a19d5e96cc28fa20"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 28 23:19:47 2011 -0400"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 03 16:58:41 2011 -0700"
      },
      "message": "Add mechanism for Parcel to not allow FDs to be written to it.\n\nThis is to help implement issue #5224703.\n\nChange-Id: I026a5890495537d15b57fe61227a640aac806d46\n"
    },
    {
      "commit": "bc554956128d69d8d2e60365fb6cffe6facf659b",
      "tree": "8a84036682044f96b5b5aade1b18add9c40e86f3",
      "parents": [
        "ce0a7ade96ddbdcb342e0b382e9d3ea43962cafd"
      ],
      "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": "8606fefa219d63d0a0f3df1b9dcf49cfbfa5b3e5",
      "tree": "b2d21dc0e83e944c544937be3bbf91e76ae9e875",
      "parents": [
        "ce0a7ade96ddbdcb342e0b382e9d3ea43962cafd"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Sep 28 12:13:31 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Sep 30 14:19:41 2011 -0700"
      },
      "message": "SurfaceTexture: parameterize the texture target\n\nThis change adds a hack to allow Android Browser to use a SurfaceTexture\nto stream RGBA images to a GL_TEXTURE_2D texture object.\n\nChange-Id: Idb90064d5d4b920959ef3be7451362ac5012460e\n"
    },
    {
      "commit": "9a6ed36ba55a206934937cfafca7e797e8c6ea00",
      "tree": "5a4edaf522cfaa16037f4298d842602bafe9df32",
      "parents": [
        "1402bb19012d4fc7595da2586bec9e6f428b36fb"
      ],
      "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": "3e408f39ef1c0513908a3b73da5ce6f4164e85d9",
      "tree": "bd82b382b4d57aa40362b376dd9473114584b7cf",
      "parents": [
        "9a3d51ed1090d459666c3257923b16eca842bb10"
      ],
      "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": "feb158b3cbd0dada89b0437c3e09699ba3f982de",
      "tree": "a610312c9d024fe83a910ea4d7964e5af74812c5",
      "parents": [
        "ab7ed38d5fea82db64eb90bad9d4c646d61d15df",
        "5b315da4e8a3746376af480c8fe01f98cbc34b33"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Sep 27 14:24:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 14:24:09 2011 -0700"
      },
      "message": "Merge changes Ib302d79e,Ib4ee085f\n\n* changes:\n  SurfaceFlinger: set layer names on SurfaceTextures\n  SurfaceTexture: add name support\n"
    },
    {
      "commit": "928baf1f5480f67c1916a933d691e38de4f0a575",
      "tree": "bab54f6848e44f3722502ce31c5734bede91e5e2",
      "parents": [
        "3bade9504a648ce7606b876dc7d71b4684e279c9"
      ],
      "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": "b6377170960d40e66858d8b4d335a95eac773762",
      "tree": "b0737e61622e7184ae35abf71702c9bb87e5def4",
      "parents": [
        "56c58f66b97d22fe7e7de1f7d9548bcbe1973029"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Sun Sep 25 14:30:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 25 14:30:21 2011 -0700"
      },
      "message": "Revert \"Transfer large bitmaps using ashmem. Bug: 5224703\"\n\nThis reverts commit 56c58f66b97d22fe7e7de1f7d9548bcbe1973029\n\nThis CL was causing the browser to crash when adding bookmarks, visiting the bookmarks page, and sharing pages (see bug http://b/issue?id\u003d5369231"
    },
    {
      "commit": "56c58f66b97d22fe7e7de1f7d9548bcbe1973029",
      "tree": "55ab40fcdfe77696388886aed84e33372de51192",
      "parents": [
        "4c253119db0ce753e46ec3809b54b9e357d363db"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 21:17:56 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 21:20:47 2011 -0700"
      },
      "message": "Transfer large bitmaps using ashmem.\nBug: 5224703\n\nChange-Id: Ic7481dd9f173986f085a8bbdcc59bbe9830d7a44\n"
    },
    {
      "commit": "e448f557f620ae30dcead7a4423059dfb7d70add",
      "tree": "7e2c1b78a4087bcbecf905d004fe2955dbb283da",
      "parents": [
        "ec26232d70a342aa88e8190818b1b2973b20186e",
        "3d9a9e55df85c720573e69ec3062efc331ea69bb"
      ],
      "author": {
        "name": "Wei Huang",
        "email": "weih@google.com",
        "time": "Fri Sep 23 10:05:22 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 23 10:05:22 2011 -0700"
      },
      "message": "am 3d9a9e55: Merge \"Update camera javadoc about AE and AWB lock.\" into ics-factoryrom\n\n* commit \u00273d9a9e55df85c720573e69ec3062efc331ea69bb\u0027:\n  Update camera javadoc about AE and AWB lock.\n"
    },
    {
      "commit": "44a052203e6c1c5453a74ebe94607b5c71b136ec",
      "tree": "73d2c4ce575e0d33bfeca4c626151d0ede0baaa5",
      "parents": [
        "5840639fd18c334c0df30ae03b270c452fee0a61"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Sep 16 17:30:26 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Sep 22 17:49:10 2011 -0700"
      },
      "message": "SurfaceTexture: add name support\n\nThis change adds support for setting a string that can be used to\nidentify a SurfaceTexture object in log messages.\n\nChange-Id: Ib4ee085f36c8830dc964c05ef1654f5a55dfcd60\n"
    },
    {
      "commit": "b4f95be03e018df825356fe2cd363797c66303f1",
      "tree": "a596311a33c8ed9233fb349697f80b05ea33bbb8",
      "parents": [
        "90fb9aa93a350d5571a378923c2566f48e44ad3e"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 22 11:43:28 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 22 18:19:02 2011 +0800"
      },
      "message": "Update camera javadoc about AE and AWB lock.\n\n- Autofocus does not lock AE and AWB.\n- stopPreview and takePicture do not clear AE and AWB locks.\n\nbug:5356404\n\nChange-Id: I55d9b35f4ff746ecd2bff112c2674f1aa2543aca\n"
    },
    {
      "commit": "01a98ddbdfbaf1f0d2bc602537e6e314364902a3",
      "tree": "ce904db3ee0772e0e2a35882a6cf86c7b9fcd84e",
      "parents": [
        "04ef5b8dd7262ee90b56df9c992f103695d0a21c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 20 15:08:29 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 21 19:26:15 2011 -0700"
      },
      "message": "Handle orientation changes more systematically.\nBug: 4981385\n\nSimplify the orientation changing code path in the\nWindowManager.  Instead of the policy calling setRotation()\nwhen the sensor determined orientation changes, it calls\nupdateRotation(), which figures everything out.  For the most\npart, the rotation actually passed to setRotation() was\nmore or less ignored and just added confusion, particularly\nwhen handling deferred orientation changes.\n\nEnsure that 180 degree rotations are disallowed even when\nthe application specifies SCREEN_ORIENTATION_SENSOR_*.\nThese rotations are only enabled when docked upside-down for\nsome reason or when the application specifies\nSCREEN_ORIENTATION_FULL_SENSOR.\n\nEnsure that special modes like HDMI connected, lid switch,\ndock and rotation lock all cause the sensor to be ignored\neven when the application asks for sensor-based orientation\nchanges.  The sensor is not relevant in these modes because\nsome external factor (or the user) is determining the\npreferred rotation.\n\nCurrently, applications can still override the preferred\nrotation even when there are special modes in play that\nmight say otherwise.  We could tweak this so that some\nspecial modes trump application choices completely\n(resulting in a letter-boxed application, perhaps).\nI tested this sort of tweak (not included in the patch)\nand it seems to work fine, including transitions between\napplications with varying orientation.\n\nDelete dead code related to animFlags.\n\nHandle pausing/resuming orientation changes more precisely.\nEnsure that a deferred orientation change is performed when\na drag completes, even if endDragLw() is not called because the\ndrag was aborted before the drop happened.  We pause\nthe orientation change in register() and resume in unregister()\nbecause those methods appear to always be called as needed.\n\nChange-Id: If0a31de3d057251e581fdee64819f2b19e676e9a\n"
    },
    {
      "commit": "44bfbbe501880f42105c49d479d4c109af420dbf",
      "tree": "210dfd17031866a1590472264ca5bd92ce53e6b4",
      "parents": [
        "0799e951a68de6da496752975fb1c3a5bd61ce28",
        "83b186a246e8ffd52b91a17c0019dd8c9c9d21b1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 20 14:02:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 20 14:02:44 2011 -0700"
      },
      "message": "Merge \"fix the float Rect in OpenGLRenderer to handle NANs\""
    },
    {
      "commit": "3907c79aebf8621a5a4880c9e66db3c49a44f359",
      "tree": "57278dd5e12f6788d4d624cc75ec969476dafdfe",
      "parents": [
        "cb61187783b2a995cfb56ea6c4a396ebff13ff0f",
        "92d0a64b909cd95e8f4ce587438b0cc6d2daeaa0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 20:09:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 19 20:09:00 2011 -0700"
      },
      "message": "am 92d0a64b: Merge \"Add QVGA resolution to CamcorderProfile\" into ics-factoryrom\n\n* commit \u002792d0a64b909cd95e8f4ce587438b0cc6d2daeaa0\u0027:\n  Add QVGA resolution to CamcorderProfile\n"
    },
    {
      "commit": "07b9ae33127212fd9e15f96fa89b7d4cab81e55e",
      "tree": "2649cc7409bb00e3037451e156931cee3cafe837",
      "parents": [
        "79aa40302b643ee6c6227ee354a1b1378e721568"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 16:27:31 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 19:32:26 2011 -0700"
      },
      "message": "Add QVGA resolution to CamcorderProfile\n\nChange-Id: Icebbafb68d8164370f98a2c36699845d10ef081b\nrelated-to-bug: 5145483\n"
    },
    {
      "commit": "83b186a246e8ffd52b91a17c0019dd8c9c9d21b1",
      "tree": "0cd1c181c99cb42a8775a27b7911e62d20945ddd",
      "parents": [
        "4b5441a7201a2f28becf3ab7fb33694f137e1998"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 19 16:00:46 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 19 16:50:07 2011 -0700"
      },
      "message": "fix the float Rect in OpenGLRenderer to handle NANs\n\n- we want functions like isEmpty() to return true if NANs are\ninvolved in the Rect\n\n- also clean-up the intersect familly of calls\n\n- minor cleanup in the int32_t Rect as well\n\nThese played a role in http://b/5331198.\n\nBug: 5331198\n\nChange-Id: I5369725ab482e4b83da9f1bd4cee5256e5de75b2\n"
    },
    {
      "commit": "bcba155942705de42174871fc1215b3f4655797b",
      "tree": "eea9f615be119d03fee1060dae391ff1841fd3b8",
      "parents": [
        "5908eaef126c746aa88448b53cdc69623dee4fb4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 15 12:21:40 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 16 09:33:22 2011 -0700"
      },
      "message": "A new API \"androidGetThreadPriority\"\n\nChange-Id: I6baeead8c70460863343fd557250635fb1e6a170\n"
    },
    {
      "commit": "93578af23ecfb8f5b6001346d63c6214cdec5d17",
      "tree": "8510331c6755707fbc9af5ab83a49c91641e1812",
      "parents": [
        "a0b1cc0fb193805803cdd2b62dd0bd1e6607aa16",
        "b59ab9f41faafb358afb4f951de96f34a656e0b4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 14 21:27:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 21:27:25 2011 -0700"
      },
      "message": "Merge \"Velocity Tracker II: The Revenge of Velocity Tracker Bug: 5265529\""
    },
    {
      "commit": "b59ab9f41faafb358afb4f951de96f34a656e0b4",
      "tree": "2fe7eefa2f4a044df7440378691264b644fc93f5",
      "parents": [
        "aab55bf3e323b73062bd932682886b19c062a8a0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 14 10:53:18 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 14 19:16:37 2011 -0700"
      },
      "message": "Velocity Tracker II: The Revenge of Velocity Tracker\nBug: 5265529\n\nRewrote the velocity tracker to fit a polynomial curve\nto pointer movements using least squares linear regression.\nThe velocity is simply the first derivative of this polynomial.\n\nClients can also obtain an Estimator that describes the\ncomplete terms of the estimating polynomial including\nthe coefficient of determination which provides a measure\nof the quality of the fit (confidence).\n\nEnhanced PointerLocation to display the movement curve predicted\nby the estimator in addition to the velocity vector.\n\nBy default, the algorithm computes a 2nd degree (quadratic)\npolynomial based on a 100ms recent history horizon.\n\nChange-Id: Id377bef44117fce68fee2c41f90134ce3224d3a1\n"
    },
    {
      "commit": "1318864fa7ce6c85aaf629b1db08c79e4d0cf41e",
      "tree": "0a55adab2711acd93131bf933dd5b8f638c2a7d9",
      "parents": [
        "e71ffeb7e0eaa181130aaaad18a94ef3ab73ecb1",
        "0209da1cb177888af6c58e9bcc13c5d9665d6354"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "message": "Merge \"Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\""
    },
    {
      "commit": "3f0c821740305c352eb355ba3d72906a7a97751c",
      "tree": "37e771ac039d0b0578bc7266ea9122771edf7c99",
      "parents": [
        "d4fdc0f5621098d89c686a0edbfc22247005c46c",
        "7e8626fd7580dc5e0d4b4e4ceef0988067b60037"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "message": "Merge \"Issue 5298399: Lost speech after a crash in gTalk.\""
    },
    {
      "commit": "7e8626fd7580dc5e0d4b4e4ceef0988067b60037",
      "tree": "f0737733bd57b2f217abe1154143e40ec5ec5e0a",
      "parents": [
        "3705b22c9704050dfb46d784ae84e9d7f9357ad4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 15:04:17 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:33:29 2011 -0700"
      },
      "message": "Issue 5298399: Lost speech after a crash in gTalk.\n\nFixed problem in AudioTrack::restoreTrack_l() causing a permanent\nfailure if the IAudioTrack interface to AudioFlinger could not be\nrestored at the first attempt.\n\nChange-Id: I039d4fe2dca8d3baf71f1a6c51119f27a67b6611\n"
    },
    {
      "commit": "0209da1cb177888af6c58e9bcc13c5d9665d6354",
      "tree": "881903a5c7f6df847531cdb98a4d7ffffaf2431d",
      "parents": [
        "62bb0cdc746e850c2d2d5da4f6c7a38f8782f4bc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 12 19:56:23 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 13 11:00:17 2011 -0700"
      },
      "message": "Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\n\nChange-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb\nrelated-to-bug: 5300618\n"
    },
    {
      "commit": "d41108c91fcf2f7a47b733c61ee5983cf22bd6a8",
      "tree": "dd9c47c44c3fbabd34dd29f5711f3ba1e7b2e49c",
      "parents": [
        "92bda84b11ba2aec98036313784444d9f5aebc9a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "message": "Turn an another assertion into a runtime error in ACodec\u0027s implementation\n\nChange-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd\nrelated-to-bug: 5284760\n"
    },
    {
      "commit": "6c048260f30d9bba1a83c4f79388cd6b3109be7d",
      "tree": "f33b3872e68745cfb7e8bfbcd43a3d35ad1e1fb9",
      "parents": [
        "48b391480519c5d6cb4428af6b29b1e3405e4601",
        "13c7197da8a16f77f6398708a6314c80cb01e0d1"
      ],
      "author": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Sun Sep 11 16:48:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 11 16:48:32 2011 -0700"
      },
      "message": "Merge \"Revert encryption mapping for device wipes.\""
    },
    {
      "commit": "0e23c2efb03c8eac7e2bcd6aad61cfc4b15340fc",
      "tree": "99bc808252196a7813ea1b75af26c85708c65ac1",
      "parents": [
        "51322732739b355dd842abc9cef34df8613b2626",
        "581761d4aa0133fe7354cc9e4a5dd3d9d7258c5f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 09 17:01:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 17:01:25 2011 -0700"
      },
      "message": "Merge \"Tweak VelocityTracker. Bug: 5265529\""
    },
    {
      "commit": "581761d4aa0133fe7354cc9e4a5dd3d9d7258c5f",
      "tree": "b54e8f590d67a5a90d1ec19f66f58a47acee4fa4",
      "parents": [
        "bfcb60ab0f696c8ef70830c365550e62fe2808bf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 09 15:39:35 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 09 16:04:09 2011 -0700"
      },
      "message": "Tweak VelocityTracker.\nBug: 5265529\n\nCalculate the velocity using the most recent touch sample as the\npoint of reference instead of the oldest.  This change more heavily\nweights recent touch samples and reduces the sample time window\nused for calculation.  This significantly improves the accuracy\nof fling gesture detection.\n\nChange-Id: Ib1940933e786e5f6a731552a99bcd9400741d55f\n"
    },
    {
      "commit": "973f553be4aabf9656d6c1596b47767896677b0a",
      "tree": "0a41919bfce6237a4bb6332e6c463d630c34e738",
      "parents": [
        "7b8d7cb59cfdc492df920b0c48960a691994f598"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Sep 07 23:55:27 2011 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Sep 09 15:36:42 2011 -0700"
      },
      "message": "Make MediaScanner skip certain directories\n\nThe list of directories to skip are configurable via setprop.\nThe main motivation is that some test data folder takes long time\nto scan, and media scanner may compete for CPU time against perf\ntests therefore skewing the results.\n\nBug: 5263115\nChange-Id: I568213e2a4babf6033021c1d336ef0347c0e3315\n"
    },
    {
      "commit": "13c7197da8a16f77f6398708a6314c80cb01e0d1",
      "tree": "092ded9f3fd6a3d59b4840f640f2cf4abb4ff45c",
      "parents": [
        "920d06db8dd2d6380a437fd03cb54b8caac92cee"
      ],
      "author": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Wed Sep 07 16:35:56 2011 -0700"
      },
      "committer": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Fri Sep 09 14:44:40 2011 -0700"
      },
      "message": "Revert encryption mapping for device wipes.\n\nExternal storage volumes that were emulated+encrypted needed to have\ntheir encryption mapping removed so that it doesn\u0027t try to encrypt the\nvolume after formatting them.\n\nThis just wires through an argument through vold, and assumes that vold\nwill do the right thing even if there is no encryption mapping set.\n\nBug: 5017638\nChange-Id: I858fae3d12cb415bc34637f520f71220ad9daaad\n"
    },
    {
      "commit": "fc301b0bb5c635c6bb51b48c504a8db5f9010e5c",
      "tree": "463dec648e238d2e6821a86d121f2a3f8048b3ff",
      "parents": [
        "117999d1f44ec3423369385495ae207898b7b73e"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Aug 30 14:39:17 2011 +0100"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Sep 02 11:26:59 2011 +0100"
      },
      "message": "Require INTERNET permission for network-based content.\nBug #1870981\n\nChange-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f\n"
    },
    {
      "commit": "98bb251c8b527600e7a4cca6cc33499710bbfbf1",
      "tree": "76188de45f4b4fc862f7527e2eddc14c8bc38e27",
      "parents": [
        "abf82f9ea4960ead8716b183aac1792820cccdd1"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 30 21:33:10 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 01 13:37:14 2011 +0800"
      },
      "message": "Add video snapshot camera parameter.\n\nThe API is still hidden.\n\nbug:5187868\n\nChange-Id: I59e1b5774ca32be049723d1a0887faa90d8884bb\n"
    },
    {
      "commit": "abf82f9ea4960ead8716b183aac1792820cccdd1",
      "tree": "e40a06b99792fda8d533dd87a8b584816088f0cf",
      "parents": [
        "a6ec356d2f5d2829fd8eff315a37f49501eac842",
        "ffd056fc73d852f15c32355443e3c88813df5ec6"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 31 22:00:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 22:00:35 2011 -0700"
      },
      "message": "Merge \"Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource\""
    },
    {
      "commit": "ffd056fc73d852f15c32355443e3c88813df5ec6",
      "tree": "452c9470c02b4dba496f5f0cb43287afec44935d",
      "parents": [
        "2c5423da4e3b23c0381952da2671f05a7501f9af"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Mon Aug 29 19:53:51 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 31 17:43:24 2011 -0700"
      },
      "message": "Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource\n\nThe buffers in SurfaceMediaSource were 4 earlier, whereas\nwe need 5 for one of the devices.\n\nChange-Id: I87bf5e28bbb0f7c9661dc01b040baa903d95d2c2\n"
    },
    {
      "commit": "b2c4f0bf11f38fd31d80f1256c89b9db043a2929",
      "tree": "d5d08a3a5cf189a5a5bc6ffeebf3a02e0464cb68",
      "parents": [
        "6752d4827dee6bf5fb52cae61c00690e23d0b779",
        "728e08bc3fd99dc64f436270f53c22f3457204a8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 31 13:41:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 13:41:06 2011 -0700"
      },
      "message": "Merge \"Fix SurfaceMediaSource timestamp handling.\""
    },
    {
      "commit": "c21843a8b5c395cbaae6db0f786bdee556075f5d",
      "tree": "22a798f6c97054bd2cc40ceb0cc2ef910c5a84cd",
      "parents": [
        "66b665ab8b8b52450310b1a551bfa8f52dbb2c10",
        "34cb9f2a960c4173bdafb4b8a2444c1bca4c5f0d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 30 19:24:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 30 19:24:04 2011 -0700"
      },
      "message": "Merge \"fix Surface positions are not floats\""
    },
    {
      "commit": "34cb9f2a960c4173bdafb4b8a2444c1bca4c5f0d",
      "tree": "6eb4ad90db43a343d9cd80e6f97603b311d88b8c",
      "parents": [
        "32901b4fec5db9a137add68f0f38518636593668"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 30 18:51:54 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 30 18:51:54 2011 -0700"
      },
      "message": "fix Surface positions are not floats\n\nAdded Surface.setPosition(float, float) which allows to set a surface\u0027s\nposition in float.\n\nBug: 5239859\nChange-Id: I903aef4ad5b5999142202fb8ea30fe216d805711\n"
    },
    {
      "commit": "0e35c78d25a8df8b3bde566ad6c474f9df242ea4",
      "tree": "257814957ad7bdfc43cb5527c4a22e9e25b88d6f",
      "parents": [
        "d0116b680a2c194eb3b8713a230151bfb32a6aef",
        "05ce0941649c3cdd7f8034496719e607977fc005"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 30 10:51:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 30 10:51:54 2011 -0700"
      },
      "message": "Merge \"226483: A2DP connected, but music out to speaker\""
    },
    {
      "commit": "728e08bc3fd99dc64f436270f53c22f3457204a8",
      "tree": "6e0efa9d9432a616777db0c3ddd7c06e646d706e",
      "parents": [
        "2db44c5838fb0bb35092a19f31ee887892a451a1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 29 18:16:03 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 30 10:49:15 2011 -0700"
      },
      "message": "Fix SurfaceMediaSource timestamp handling.\n\nWas not basing timestamps on startTimeUs.\nNow synchronizes properly with audio.\n\nBug: 4510826\nChange-Id: I613db0aa91e51fc75d120e65540e742d8ab2ae43\n"
    },
    {
      "commit": "05ce0941649c3cdd7f8034496719e607977fc005",
      "tree": "1e507788895e36bcd18b37cd109ec90e7c46d90c",
      "parents": [
        "2c5423da4e3b23c0381952da2671f05a7501f9af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 30 10:18:54 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 30 10:19:38 2011 -0700"
      },
      "message": "226483: A2DP connected, but music out to speaker\n\nWhen the A2DP headset is connected, there is a possible\nrace condition when the audio tracks are moved from\nthe mixer thread attached to the speaker output to the thread\nattached to A2DP output.\nAs the request to clear the stream type to output mapping cache in\nthe client process is asynchronous, it is possible that the flag\nindicating to the client audio track to re-create the IAudioTrack\non the new thread is processed before the cache is invalidated.\nIn this case, the track will be attached to the old thread and\nmusic will continue playing over the device speaker instead of being\nredirected to A2DP headset.\n\nChange-Id: Ib2ce1eb5320eaff83287b93779061bf4e7a330df\n"
    },
    {
      "commit": "b4bf90b40e30096479a4d4cc9cf135e991ef1994",
      "tree": "c00cccd8405fc51990f0f7cf2f92ace2b394e0ea",
      "parents": [
        "bce1667e7ae69ff575e73e776040524fb5515c5f",
        "33eafef1a9ef508f7b1ae1edf4caf29b81a80255"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 29 14:38:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 14:38:52 2011 -0700"
      },
      "message": "Merge \"Add C++ thread API androidGetThreadSchedulingGroup\""
    },
    {
      "commit": "b8a9e15c2aa3d317834555244a90f184b46e1dcb",
      "tree": "2ef6393df0109ee6f4e20b75b82e6a632b85de79",
      "parents": [
        "2b9c5d8a89065ab18e58d79ae65a81267b248e1c",
        "4da5660eee240cea3f7411a0ed5a1120bccdeb45"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Aug 26 20:05:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 26 20:05:58 2011 -0700"
      },
      "message": "Merge \"Modify enum value of OMX_COLOR_FormatAndroidOpaque\""
    },
    {
      "commit": "4da5660eee240cea3f7411a0ed5a1120bccdeb45",
      "tree": "89bbeb1d89c09a97aaf87a7d00f4e88df8b13ebf",
      "parents": [
        "9fe4459797db3ee9b18e613ef3c377a9401acd37"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Aug 26 19:34:49 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Aug 26 19:38:13 2011 -0700"
      },
      "message": "Modify enum value of OMX_COLOR_FormatAndroidOpaque\n\nThe enum value chosen earlier had a conflict with one of the vendors.\n\nChange-Id: I47832dd1157447f89324d56e8ab146260cd7927c\n"
    },
    {
      "commit": "539340fe2c3dfd33564c1ddc9ee5c2884aa56874",
      "tree": "a45a6b702449ba71b59315c20e80cc07979ac773",
      "parents": [
        "dae908a391222710d26692ee5fcf307fd96197a2",
        "e688257456c315cbd2d5fd4f32bd52eac0b98195"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 26 13:47:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 26 13:47:26 2011 -0700"
      },
      "message": "Merge \"Support for posting messages and synchronously waiting for a response.\""
    },
    {
      "commit": "22cb204cbb9fadd0a909e0e918c0cb19c60da740",
      "tree": "a3f242a5441545fcc1c4ec2b56ee8dd424978b80",
      "parents": [
        "1fc756da434441708eb557a22363eea7f41f3f73"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Aug 25 16:47:23 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Aug 25 17:33:49 2011 -0700"
      },
      "message": "Bug 4364249 Play position is 0 after flushing AudioTrack\n\nAudioTrack::stop() is not synchronous, so a stop() followed\n by flush(), which is synchronous, will not always report\n a playhead position of 0 after being called.\nThis CL adds a flag to mark a track as flushed, and report the\n correct playhead position in this state.\nBug 5217011 has been created to address the real issue in the\n future, where flush could be made synchronous, to properly\n address bug 4364249.\n\nChange-Id: Icf989d41a6bcd5985bb87764c287f3edb7e26d12\n"
    },
    {
      "commit": "e688257456c315cbd2d5fd4f32bd52eac0b98195",
      "tree": "d70df4feb8c2adca64eee969fb273d0f072ffa13",
      "parents": [
        "1aabd124bc642e61f491df74c1efb4e18b34c63a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 25 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 25 16:28:18 2011 -0700"
      },
      "message": "Support for posting messages and synchronously waiting for a response.\n\nChange-Id: Id6c7a08c34fd5cb6c4632f78ece9e7898b29e52c\n"
    },
    {
      "commit": "409f95ff89653760af53bede1a8ec19e21ecc4b5",
      "tree": "c251357d26d1347a87c954b4dad54f566747e61c",
      "parents": [
        "011833c308f68928a024de71ee89c0db1c491570",
        "557b7092cc9a1dfe766ac3d0421e1049c653c4ae"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 24 15:18:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 15:18:07 2011 -0700"
      },
      "message": "Merge \"Testing the GL/ CPU encoding w/ Gralloc buffers\""
    },
    {
      "commit": "557b7092cc9a1dfe766ac3d0421e1049c653c4ae",
      "tree": "4434bf618807f7e1c6000fb926d85a89ad2d6600",
      "parents": [
        "defa12e95b8d25db5f3e9a044e83d6fe680b67a3"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Aug 18 21:53:02 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 24 13:57:46 2011 -0700"
      },
      "message": "Testing the GL/ CPU encoding w/ Gralloc buffers\n\nThis is the test for Gralloc buffers based encoding.\ncontains a combination of two main changes:\n\n1. GL based encoding tests added to SurfaceMediaSource_test\n\n2. SurfaceMediaSource ::read() colorformat\n\nThe SurfaceMediaSource::getformat() sets it to OMX_COLOR_FormatAndroidOpaque.\nThe omx encoder needs to interpret that colorformat and reads the format\nfrom the Gralloc buffers directly\n\nChange-Id: Iee2fe8901384109a4952e1d6c528c59eb01eb5b1\n"
    },
    {
      "commit": "d52c14df02a0d6db42f643e80e248b52fe5e2fdd",
      "tree": "3917f03cac376b3a6703171c0fd09e529342cfa0",
      "parents": [
        "7a12d6ba14a35276fd3afb314d6c95055da4c6f0"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Aug 10 11:48:07 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 22 14:56:29 2011 -0700"
      },
      "message": "SurfaceFlinger: use the HWC gralloc usage bit\n\nThis change makes SurfaceFlinger always use the\nGRALLOC_USAGE_HW_COMPOSER usage bit when allocating buffers that may be\npassed to the HWComposer.\n\nChange-Id: I70362a8ede2b359fb2046853f85149d597465817\n"
    },
    {
      "commit": "65fd251c3913fc921468a3dad190810db19eb9df",
      "tree": "7cc9e086b96a4e2c77ec5b77aab6bed5679e89f0",
      "parents": [
        "c0a2222552f48a2543a64a4cbe913d0b9ffc3cbf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 18 11:20:58 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 19 15:02:26 2011 -0700"
      },
      "message": "Input system bug fixes, particularly for stylus.\nBug: 5049148\n\nFinished stylus support, including support for indirect stylus\nand mouse tools.\n\nAdded TILT axis.  When stylus tilt X/Y is available, it is transformed\ninto an orientation and tilt inclination which is a more convenient\nrepresentation and a simpler extension to the exiting API.\n\nTouch devices now only report touch data using a single input\nsource.  Previously touch devices in pointer mode would report\nboth absolute touch pad data and cooked pointer gestures.\nNow we just pick one.  The touch device switches modes as needed\nwhen the focused application enables/disables pointer gestures.\nThis change greatly simplifies the code and reduces the load\non the input dispatcher.\n\nFixed an incorrect assumption that the value of ABS_(MT_)DISTANCE\nwould be zero whenever the stylus was in direct contact.  It appears\nthat the correct way to determine whether the stylus is in direct\ncontact (rather than hovering) is by checking for a non-zero\nreported pressure.\n\nAdded code to read the initial state of tool buttons and axis values\nwhen the input devices are initialized or reset.  This fixes\nproblems where the input mapper state might have the wrong initial\nstate.\n\nMoved responsibility for cancelling pending inputs (keys down,\ntouches, etc.) to the InputDispatcher by sending it a device reset\nnotification.  This frees the InputReader from having to synthesize\nevents during reset, which was cumbersome and somewhat brittle\nto begin with.\n\nConsolidated more of the common accumulator logic from\nSingleTouchInputMapper and MultiTouchInputMapper into\nTouchInputMapper.\n\nImproved the PointerLocation output.\n\nChange-Id: I595d3647f7fd7cb1e3eff8b3c76b85043b5fe2f0\n"
    },
    {
      "commit": "3ced044154945f9d60983032278e00fe28f4ab1b",
      "tree": "84dc5de0042328edd75dc1a24982e7f3af9f92c9",
      "parents": [
        "16296180984756e631611005179f42865af35621"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Fri Aug 12 16:43:37 2011 -0700"
      },
      "committer": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Fri Aug 19 14:34:47 2011 -0700"
      },
      "message": "Fix for 4142219 Don\u0027t hard code platform-specific limitations (Jni/ Java)\n\nAlso fixes 5118207 add other video codec support for video editor export.\n\nChange-Id: If72427173bd8ff684af07ba00f4425c1deef29c6\n"
    },
    {
      "commit": "c8f4c6a5d02d46eedd876bfc0be3468d6d4000e0",
      "tree": "91c045bb01ac5e5f0f7d46312b8e6ffa6f6b4b88",
      "parents": [
        "a8993e10f9aca690722512d147d2f98ed29a3d75",
        "9b8fc65b0353db3a962ab52dc556c356d556fcc1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Aug 18 14:31:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 14:31:39 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: fix queues-to-composer\""
    }
  ],
  "next": "fde00591c6e3243a7834b21f57e8c386f23aa597"
}
