)]}'
{
  "log": [
    {
      "commit": "e04f826fef44b85108be85fb6d3a16c35a9e5c29",
      "tree": "13afd43678741a6439d23a966950cd7c6d40bdaa",
      "parents": [
        "a27ad3cca3f17e394ce96011422a0131c15939a9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 15 20:41:15 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 15 20:55:49 2011 -0700"
      },
      "message": "Use rand() for MinGW\n\nThe version of MinGW we use doesn\u0027t have nrand48() which is really lame,\nbut we need to use libutils in the Windows SDK.\n\nChange-Id: If854c03dbf02bc29e79f49e4539f08c2bf057517\n"
    },
    {
      "commit": "f0b517d9d287e86e6e57a372ddcb070cec1fe1c0",
      "tree": "c3d35cd950666f37a31dda6c49faaf4631b13281",
      "parents": [
        "a7932ae77eadccc6b7a6491cd3657e49b09431ab",
        "f1df0407c6c399cdc9e222efe2d50176d7853100"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 11:51:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 14 11:51:24 2011 -0700"
      },
      "message": "Merge \"may fix build on some version of gcc\""
    },
    {
      "commit": "f1df0407c6c399cdc9e222efe2d50176d7853100",
      "tree": "a134fb5b75f7d3fb0a742082d4d748cc30a8f879",
      "parents": [
        "2714abff5cc50b1487c0979c99cc685f5ea113b1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 11:50:22 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 11:50:22 2011 -0700"
      },
      "message": "may fix build on some version of gcc\n\nChange-Id: Ia88787c0432ec84d51fe505fd6a2b6f98ebe8f33\n"
    },
    {
      "commit": "114420f5315c72e9cbd41cd4ae7472ef24ef1b94",
      "tree": "5f7813399474e7bf5715a7f7e41cb608b889ee2a",
      "parents": [
        "fd1235fc34c72cafd1b5aa0ab634804b7e2b41c2",
        "cc5278a3e258b30903102b718fb1cd832e79bb2b"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Tue Jun 14 11:18:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 14 11:18:30 2011 -0700"
      },
      "message": "Merge \"Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.\""
    },
    {
      "commit": "922261deab46b93641eadd9bc337fa72f8a5d734",
      "tree": "9728dbd9e79c18efd5bc491039d7df714b0dc4d3",
      "parents": [
        "82f0a85c3ba81cb6932d956c1c8cc5a99e89052a",
        "290029d19a9d314e925b73e19453ab0497602f80"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 13 19:43:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 19:43:59 2011 -0700"
      },
      "message": "Merge \"audio: update for audio/audio_policy header names/locations\""
    },
    {
      "commit": "decbe327d1515dd6c9fd1b6773f57b0a879f9149",
      "tree": "c569409f1cc461e367b7fe21493a7f33b45a07ee",
      "parents": [
        "2714abff5cc50b1487c0979c99cc685f5ea113b1",
        "4108b1edc61ef91c63bc94a699f9a95e65c3e684"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 13 18:47:03 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 18:47:03 2011 -0700"
      },
      "message": "Merge \"Add B frame support for MPEG4Writer\""
    },
    {
      "commit": "eb99f0d9f05dd37f988a815e6bc01bbd7152c31a",
      "tree": "eab0217d74f5887e680f0dbc57aca49acba2913a",
      "parents": [
        "a934219ca8d23a63e5a9f443fafd6d4ac9847c71"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jun 12 18:05:53 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 18:39:45 2011 -0700"
      },
      "message": "fix RefBase so it retains binary-compatibility with gingerbread\n\nBug: 4595257\nChange-Id: I0d5e10f497e3f39868bff58f6ded510c38b44b12\n"
    },
    {
      "commit": "290029d19a9d314e925b73e19453ab0497602f80",
      "tree": "832511818ed878842cefe5459b12aef6423b4cb1",
      "parents": [
        "10e78c9df09378c7d1ef1be9a8c42659ccce1eb7"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 13 18:16:26 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 13 18:16:26 2011 -0700"
      },
      "message": "audio: update for audio/audio_policy header names/locations\n\nChange-Id: I36c49352eee57559403cd1597f56a8485a360289\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "4108b1edc61ef91c63bc94a699f9a95e65c3e684",
      "tree": "8095c0b5606ecfa61301539c7f66255ada3a67bb",
      "parents": [
        "622d5441975fa16636d3304d42d27659af14cb49"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 07 19:45:54 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 13 17:06:29 2011 -0700"
      },
      "message": "Add B frame support for MPEG4Writer\n\no requires the support of negative ctts duration values (ctts version 1)\n\nChange-Id: Ib14130c9359c3bff3c76f20a7380d468a065dcaf\n"
    },
    {
      "commit": "7bb843ca0777111dae7daf8f1b0705817cf523c4",
      "tree": "10545edc3ce21f38282d5e67e5bc08ff729884b3",
      "parents": [
        "dfc7958a2eafba52db90743a4707eed1d780b63b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:20:59 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 15:51:35 2011 -0700"
      },
      "message": "unify SurfaceTexture and Surface\n\nAdd the concept of synchronous dequeueBuffer in SurfaceTexture\nImplement {Surface|SurfaceTextureClient}::setSwapInterval()\nAdd SurfaceTexture logging\nfix onFrameAvailable\n"
    },
    {
      "commit": "cc5278a3e258b30903102b718fb1cd832e79bb2b",
      "tree": "9d5116e42006858d5ed5bb7fddafe22a2f7cb045",
      "parents": [
        "8aec83eb15a94b8027bbe7b6358cdf2468fd2b5c"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Fri Jun 10 13:05:32 2011 -0700"
      },
      "committer": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Mon Jun 13 14:27:39 2011 -0700"
      },
      "message": "Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.\n\nThis adds support for setting a SurfaceTexture as the MediaPlayer video\nsink by using a ParcelSurfaceTexture object. The goal is to enable a\nSurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then\nbe set on the MediaPlayer.\n\nChange-Id: Ife5689ce673eb4bee1c377019db761685217b71d\n"
    },
    {
      "commit": "dfc7958a2eafba52db90743a4707eed1d780b63b",
      "tree": "842497b93890e32563cf187ec4060bf7ff1121d3",
      "parents": [
        "fde45f58644c351ad9f662bc272fc5ac57d9c6a9",
        "9539d9f65a28b676e0a03322ad848b24786a515d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 12:32:46 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 12:32:46 2011 -0700"
      },
      "message": "Merge \"libutils: add a binary blob cache implementation.\""
    },
    {
      "commit": "bd3e537980027f4502a13c204b3c7b9d10adad31",
      "tree": "c0579407ae43b5fac78e640d339c4adfe5dd7b79",
      "parents": [
        "28b6711c4c7449e597f57e016e5bc4741e115f9a",
        "9deb930ebf7db317e7abec59b37a88c47999f9cf"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 11:14:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 11:14:57 2011 -0700"
      },
      "message": "Merge changes I56779420,I044e44e1,Ic5adfa29,Ied541ab8\n\n* changes:\n  SurfaceTexture: add some GL-\u003eGL tests.\n  SurfaceTexture: fix up a comment.\n  SurfaceTexture: add getTransformMatrix tests.\n  SurfaceTexture: fix a getTransformMatrix crash.\n"
    },
    {
      "commit": "4e03d327d6310cd2c5ca3ecd55f91363b555de71",
      "tree": "c11d3fb0a2333a27b22962c653ad5805e29f0961",
      "parents": [
        "15e0d9f5e0700fa7dc0ecd0f07d5fea6f9597ca0"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jun 12 14:11:39 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 10:50:13 2011 -0700"
      },
      "message": "SurfaceTexture: fix up a comment.\n\nChange-Id: I044e44e17319e08af657a7ec9fa39100876fe862\n"
    },
    {
      "commit": "eadfb673e7b346af02a925ad04494100db1ebbf7",
      "tree": "6ff88f77a6762f00a868807706f1e995d16373ae",
      "parents": [
        "fe93010446e68c747f4af727cbc48eaf63131689"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jun 12 17:03:06 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 10:50:12 2011 -0700"
      },
      "message": "SurfaceTexture: fix a getTransformMatrix crash.\n\nThis change moves the computation of the transform matrix out of\ngetTransformMatrix and instead performs the computation when\nupdateTexImage gets called.  This is needed in order for\ngetTransformMatrix to succeed even if the buffers have been freed (e.g.\nby changing the buffer count) because the computation depends upon the\nproperties of the current GraphicBuffer.\n\nChange-Id: Ied541ab8747b7ad604f862717135f9a16a816be9\nBug: 4490420\n"
    },
    {
      "commit": "041120754aa59ddd28927fa6c5db0c90bb8f5e95",
      "tree": "6e2bc633ab17347da11c06ebaffaf1b33f81d6fe",
      "parents": [
        "622d5441975fa16636d3304d42d27659af14cb49",
        "9dbd7d818916dca77e53ababdaf05311d5c7bce2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 13 10:30:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 10:30:29 2011 -0700"
      },
      "message": "Merge \"Remove redundant memory barrier\""
    },
    {
      "commit": "9dbd7d818916dca77e53ababdaf05311d5c7bce2",
      "tree": "bfabae474c823f0772712a322265af2d980959ef",
      "parents": [
        "679dd99cdce72683816e6ac75e4f0e68ca6ad51c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 02 08:59:28 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 10 17:07:46 2011 -0700"
      },
      "message": "Remove redundant memory barrier\n\npthread_create already includes the necessary memory barriers:\n - parent at pthread_create : pthread_mutex_unlock(start_mutex)\n - child at __thread_entry : pthread_mutex_lock(start_mutex)\n\nAdd lock around uses of mThread.\n\nAdded comments:\n - uses of mThread require lock\n - androidCreateRawThreadEtc returned ID is not safe for direct use from non-parent threads.\n\nChange-Id: I18cb296b41ddaf64cf127b57aab31154319b5970\n"
    },
    {
      "commit": "6b592723c9a9fc816a8ab75c935e8cd20ff65a0e",
      "tree": "00b93945a1c8051172316575208f14c355e663c3",
      "parents": [
        "08b992c88e60a95b629a70cd197b3d3b9b27fb8d",
        "f51ded0f8f593d17af82946eb65c05fc04f688b4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 10 12:45:36 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 10 12:45:36 2011 -0700"
      },
      "message": "resolved conflicts for merge of f51ded0f to master\n\nChange-Id: Ida356524a68aeb2b9b0013dfbb6ab4bd11e616e2\n"
    },
    {
      "commit": "4532c5e49cc0d029c53a3aee3e0b1fdf8ffd2ec4",
      "tree": "306c63d43fe52f5ea151b57ea5edf06b2c94505f",
      "parents": [
        "be674b18644cda56ba56a78ac7147711861e8dc8",
        "050316184b01c0d1a01c46afae7429b89a27c31b"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 10 10:05:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 10 10:05:04 2011 -0700"
      },
      "message": "Merge \"Add ParcelSurfaceTexture Java class to enable ISurfaceTexture sharing via Binder.\""
    },
    {
      "commit": "f51ded0f8f593d17af82946eb65c05fc04f688b4",
      "tree": "32b39d7d93170aed01c11e7353afc53a2b306cb4",
      "parents": [
        "5a8455c3c625201f3ae6b9ce32913bf97ba61cc8",
        "a8d7ea067cf22baeee2ff0a33e5a8c5a35936942"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 16:06:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 09 16:06:07 2011 -0700"
      },
      "message": "am a8d7ea06: am 220cd77d: Merge \"Enforce public resource restriction on bag parents.\" into honeycomb-mr2\n\n* commit \u0027a8d7ea067cf22baeee2ff0a33e5a8c5a35936942\u0027:\n  Enforce public resource restriction on bag parents.\n"
    },
    {
      "commit": "426431adcc220b6adfbe1d9530247f897e60fa36",
      "tree": "e9dd34ae5151de5bf9f57edb3055d0d228e1f006",
      "parents": [
        "1d3173c3dc93bb4f2efc5b059fec8e7577b3258a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 11:29:08 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 15:27:39 2011 -0700"
      },
      "message": "Enforce public resource restriction on bag parents.\n\nNeed to put some more styles in the SDK to avoid breaking apps.\n\nAlso, welcome Android 3.2.\n\nChange-Id: Ia31d07c9b1b91ad868d8630437fdc1b5ae24f37d\n"
    },
    {
      "commit": "050316184b01c0d1a01c46afae7429b89a27c31b",
      "tree": "b21b202cd5345f3989b512b74b227f3fc910383a",
      "parents": [
        "890e013c05ed62bea9781168f3f65efebcbac4d5"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Mon Jun 06 16:02:47 2011 -0700"
      },
      "committer": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Thu Jun 09 11:59:23 2011 -0700"
      },
      "message": "Add ParcelSurfaceTexture Java class to enable ISurfaceTexture sharing via Binder.\n\nThis adds a new ParcelSurfaceTexture.java class that can be instantiated with\na SurfaceTexture and used to send the corresponding ISurfaceTexture interface\nto another process via Binder. The ParcelSurfaceTexture java object can then\nbe used to create an ANativeWindow based on the SurfaceTextureClient interface.\n\nChange-Id: Ie38ea948b866e52f36a6d0f6cde19b54a8546817\n"
    },
    {
      "commit": "fddf5d9f48d0864a30fcc2706616f6aa6cb06c61",
      "tree": "4cf6b1091a3914612f9e3532d185624c62800464",
      "parents": [
        "b19fcf3e9c6b9c8c2885b9ac7f7f836a0e2d6d22"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 07 15:52:25 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 08 16:04:26 2011 -0700"
      },
      "message": "Make dumpsys(media.player) more useful by having AwesomePlayer populate it.\n\nChange-Id: I12ba7d542331a8293d67a0d47378b8be4f777759\n"
    },
    {
      "commit": "72c7362080c355c538ae2c46ac03501689e73736",
      "tree": "ece506fbc4beeacc5bff2a6266dbb2d00e203f8f",
      "parents": [
        "051e8f2bfa3ada8ee64d8a4f4d69ad9286209516",
        "61220e880ac4d9d76b7fd50744439e68e929c697"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Tue Jun 07 17:52:30 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 07 17:52:30 2011 -0700"
      },
      "message": "am 61220e88: am bbbab26e: am 2c180499: Merge \"Revert velocity damping. Bug: 4364920\" into honeycomb-mr2\n\n* commit \u002761220e880ac4d9d76b7fd50744439e68e929c697\u0027:\n  Revert velocity damping. Bug: 4364920\n"
    },
    {
      "commit": "a4a48a484fe862787cf2fbe1314deab8ac375951",
      "tree": "eafe490eb4ce35414011e8082a64d9a762769bd2",
      "parents": [
        "4da7b10c45dfa86be5636444b2c3caebc462659c",
        "bde61a5731cdfef76a0691f8bd53b880606f5f6e"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jun 07 04:05:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 07 04:05:35 2011 -0700"
      },
      "message": "Merge \"Improve android.hardware.Camera.Area javadoc.\""
    },
    {
      "commit": "bde61a5731cdfef76a0691f8bd53b880606f5f6e",
      "tree": "59e8a563a902aba4524af1ffcbc9443514033923",
      "parents": [
        "b2450ce105086d1ac82d273a5292d9581c6ddec4"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jun 07 18:23:14 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jun 07 19:00:03 2011 +0800"
      },
      "message": "Improve android.hardware.Camera.Area javadoc.\n\nbug:4553469\nChange-Id: Iae88af354fee4925cb7978572c27f6dd5595ca59\n"
    },
    {
      "commit": "61220e880ac4d9d76b7fd50744439e68e929c697",
      "tree": "7416218992489a1ddebdafb535d2d65a0dc8cf76",
      "parents": [
        "55cc25c12c45e8ffb65d2275cc0b6941b68db9df",
        "bbbab26ebe9bc789ba9abac757895a6c31de7cc5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:36:49 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 20:36:49 2011 -0700"
      },
      "message": "am bbbab26e: am 2c180499: Merge \"Revert velocity damping. Bug: 4364920\" into honeycomb-mr2\n\n* commit \u0027bbbab26ebe9bc789ba9abac757895a6c31de7cc5\u0027:\n  Revert velocity damping. Bug: 4364920\n"
    },
    {
      "commit": "2c1804998b6a3f1f9f5f301ccf813363825ab4cf",
      "tree": "402728e71a7bfd55b0dd1b2414ff8229442fb3b2",
      "parents": [
        "b92dcf9c062064dcca9298b089d95a3ce1ba2e75",
        "ac55c2b1ea5c4a1284bf06744380bf32e6aeb7d6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:32:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 06 20:32:18 2011 -0700"
      },
      "message": "Merge \"Revert velocity damping. Bug: 4364920\" into honeycomb-mr2"
    },
    {
      "commit": "ac55c2b1ea5c4a1284bf06744380bf32e6aeb7d6",
      "tree": "4bda0a1efedd7851c45ac63d54b3ca4b773a7320",
      "parents": [
        "cb5ffcf0e41d2597401208221c61589547a00f3d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:23:54 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:23:54 2011 -0700"
      },
      "message": "Revert velocity damping.\nBug: 4364920\n\nVelocity damping proved to be a bad idea because it would\ncause a significant ramp in velocity at the beginning of\na gesture, instead of the desired smooth behavior.  Oh well.\n\nChange-Id: Ie631946f47ef2492bd71fbed1ab44bbb39a875a8\n"
    },
    {
      "commit": "219451363d7c9e657cb856bebce34bc29d7876fa",
      "tree": "023a29129d3fc3eef930d6a2712c262809d85eb4",
      "parents": [
        "de7fc15ff45e7a7dad6304908cc6b87f3f154bf8"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 06 16:36:05 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 06 18:04:17 2011 -0700"
      },
      "message": "CameraParameters: add PIXEL_FORMAT_RGBA8888\n\nChange-Id: I2780e936f5b4628d506ac4e6947b78ef831fbde8\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "24855c09173a6caaec7dcedd0c2d7ce15121d39b",
      "tree": "1b72c39ca375da3f4c43ba5afcf9cde70dd7a53d",
      "parents": [
        "b16b020dd32147fbaaf7de47d5de16bfee10967a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 06 09:55:15 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 06 15:14:25 2011 -0700"
      },
      "message": "merge various SF fixes from gingerbread to honeycomb-mr2 (DO NOT MERGE)\n\n  Fix a race that could cause GL commands to be executed from the wrong thread.\n  RefBase subclasses can now decide how they want to be destroyed.\n  Fix a race in SurfaceFlinger that could cause layers to be leaked forever.\n  Fix a race-condtion in SurfaceFlinger that could lead to a crash.\n\ninitial cherry-pick:\nresolved conflicts for merge of b9783b49 to honeycomb-plus-aosp\n\nChange-Id: I2a335e03fff219e35c18a7b0089b3a11d636576f\n"
    },
    {
      "commit": "b2fd84ad1d470d607af4a83da378d4e317421634",
      "tree": "7f3004f80d6e46b33317676d8d11b79aa3c6bb69",
      "parents": [
        "fc51aaec82ecedb554d158e4284761c9348d09fd",
        "b9783b49f4727a0365f2297bb903db8682855adf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 06 09:55:15 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 06 09:55:15 2011 -0700"
      },
      "message": "resolved conflicts for merge of b9783b49 to honeycomb-plus-aosp\n\nChange-Id: I1d86ea56b3d1d1b69f6671e5b0df0ca3f0c79643\n"
    },
    {
      "commit": "d4c6a5be8068101870be473b4842f0ad9b87c598",
      "tree": "4fbdb14ff670cbea966d2c5ccbbe93e233384d90",
      "parents": [
        "b571a7a05338ef2c909917da9b53ddc4f4383f66",
        "38c07129c42222a764d784327d0a63f4cfc1331b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 03 17:43:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 03 17:43:20 2011 -0700"
      },
      "message": "Merge \"Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h\""
    },
    {
      "commit": "a742f854901b8306d3696c9e9b7881c207130a01",
      "tree": "f5dc2db12546bd5a0835fb62058882f7587f3e7c",
      "parents": [
        "bb718776a1f77c293d22140775706655a1605807",
        "56503b8ddfe5c82407da32e18061e725f668432d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Fri Jun 03 15:30:33 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 03 15:30:33 2011 -0700"
      },
      "message": "am 56503b8d: am 8186a5f0: am 10c3f367: Merge \"Implement pointer acceleration.\" into honeycomb-mr2\n\n* commit \u002756503b8ddfe5c82407da32e18061e725f668432d\u0027:\n  Implement pointer acceleration.\n"
    },
    {
      "commit": "38c07129c42222a764d784327d0a63f4cfc1331b",
      "tree": "88d63c9b0c1e8747cfee86ac1d639b546cc85620",
      "parents": [
        "5f8d23e7f2d74be34080f091e92437f5722c749f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 03 12:43:48 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 03 12:44:48 2011 -0700"
      },
      "message": "Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h\n\nChange-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b\n"
    },
    {
      "commit": "56503b8ddfe5c82407da32e18061e725f668432d",
      "tree": "fac35d1a321012aae79461f57b58703a7effac42",
      "parents": [
        "b9040e774920c4641c154df2a358100cf78a2bd3",
        "8186a5f065fac2b82c90cd18d79cd234bc221402"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 17:33:55 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 17:33:55 2011 -0700"
      },
      "message": "am 8186a5f0: am 10c3f367: Merge \"Implement pointer acceleration.\" into honeycomb-mr2\n\n* commit \u00278186a5f065fac2b82c90cd18d79cd234bc221402\u0027:\n  Implement pointer acceleration.\n"
    },
    {
      "commit": "8a7d44e8248cf7078da6094068b039dacc0a3971",
      "tree": "dbb6847bc8af2033321069e3ff1a2e0506f0ba14",
      "parents": [
        "0e5e16a656b0002f377f1bcda2e43a97206e4046",
        "54cb63e26e41b80c013b8665878b9c7c7fb328c1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 16:44:52 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 16:44:52 2011 -0700"
      },
      "message": "resolved conflicts for merge of 54cb63e2 to master\n\nChange-Id: I5b741a1781e3f76c03fc1534ffce871117effd10\n"
    },
    {
      "commit": "0e5e16a656b0002f377f1bcda2e43a97206e4046",
      "tree": "8559a3390986053feb375f09caa34439da7271ab",
      "parents": [
        "2170a992daa97c25fc9c5f946a63121b3bee9a35",
        "da9837fb61c8aa53c67921682016d97655332089"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 16:24:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 16:24:12 2011 -0700"
      },
      "message": "am da9837fb: am c058d386: am ff762299: Merge \"Small fixes and cleanup of resource config handling.\" into honeycomb-mr2\n\n* commit \u0027da9837fb61c8aa53c67921682016d97655332089\u0027:\n  Small fixes and cleanup of resource config handling.\n"
    },
    {
      "commit": "19c97d46fb57f87ff45d9e6ea7122b4eb21ede8c",
      "tree": "4cb7adbcc382269d7b0eeddd0043b9a9e0c71a7a",
      "parents": [
        "2969b51132b80c873663aa2472b21d3e95845927"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed Jun 01 12:33:19 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 14:12:05 2011 -0700"
      },
      "message": "Implement pointer acceleration.\n\nBug: 4124987\nChange-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50\n"
    },
    {
      "commit": "6c2cb3061d031b5d8ccc095ecc038959d4489709",
      "tree": "6e34b1e44029816c4a660bb852acc2e32fddd301",
      "parents": [
        "108a61cac5b7d6b8d6ce4dfca367888b94bf7ef9",
        "443287068bec5ca73b76a08e499da6f0de3b670a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 02 10:22:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 02 10:22:50 2011 -0700"
      },
      "message": "Merge \"Do not call getEstimatedBandwidth if the streaming is not HTTP-based\""
    },
    {
      "commit": "443287068bec5ca73b76a08e499da6f0de3b670a",
      "tree": "e02f7e1d2797bdd61e7a6532c222f4b422082f17",
      "parents": [
        "50e51b81b1cf2778b99682d918ec1288a3a2593e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 01 15:27:20 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 02 10:13:52 2011 -0700"
      },
      "message": "Do not call getEstimatedBandwidth if the streaming is not HTTP-based\n\nChange-Id: I4ab6c57e5b2b989676b8dfbb98402d10a5752261\n"
    },
    {
      "commit": "993fccec5bd0355835f0457064a28c2c13eecc60",
      "tree": "0eb56a54bed12b02122832758998888e70a86258",
      "parents": [
        "50e51b81b1cf2778b99682d918ec1288a3a2593e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 16:46:29 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 16:46:29 2011 -0700"
      },
      "message": "Remove unnecessary level of priority indirection\n\nChange-Id: I942d43973c20a7ace8b0d3f78b4da97e45e996c6\n"
    },
    {
      "commit": "e46a86fcb6a0849fc05c4cade6cb94aad0325295",
      "tree": "6e56bb08bc09a3e73d1b7e6b0cab5d7d226d6463",
      "parents": [
        "2225e4b7049fa3fb9d39a068b8268b63c952d7c1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 15:20:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 01 15:20:35 2011 -0700"
      },
      "message": "Revert \"Use AudioTrack::event_type not int in callback\"\n\nThis reverts commit 2225e4b7049fa3fb9d39a068b8268b63c952d7c1"
    },
    {
      "commit": "2225e4b7049fa3fb9d39a068b8268b63c952d7c1",
      "tree": "e4acaa9a05334d2e930677a5f5adf8314d1706c9",
      "parents": [
        "2978cef0a77550ea3a364ffbf42fc43f2029070e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 04 17:18:16 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 13:50:23 2011 -0700"
      },
      "message": "Use AudioTrack::event_type not int in callback\n\nChange-Id: Ifefc708d46874e04fd0d01cb6e2d43b987ee796c\n"
    },
    {
      "commit": "d0bbdb02b2c56b0227d82751a29ccd99d11ea12f",
      "tree": "5504cd8f97c06c46d0772a065173355b1ca460d8",
      "parents": [
        "829de65b9aa8d59cff7d8b4acd6c89682a1952a5",
        "5439223b5633679edcc255651e7062046004d75d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 01 11:04:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 01 11:04:15 2011 -0700"
      },
      "message": "Merge \"Use channel mask instead of channel count for track creation\""
    },
    {
      "commit": "5439223b5633679edcc255651e7062046004d75d",
      "tree": "683090bec6f1a9a0fe95609fe5becf54aa3b1f8a",
      "parents": [
        "3a4b8bb6756120cfdef2faa7c1966963ef011faf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 24 15:53:33 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 01 10:55:29 2011 -0700"
      },
      "message": "Use channel mask instead of channel count for track creation\n\nRecord and playback objects (resp AudioRecord and AudioTrack)\nare created using a channel mask, but this information is lost\nin the mixer because only the channel count is known to\nAudioFlinger. A channel count can always be derived from a\nchannel mask.\n\nThe change consists in:\n- disambiguiting variable names for channel masks and counts\n- passing the mask information from the client to AudioFlinger\n and the mixer.\n- when using the DIRECT ouput, only verifying the format of\n the track is compatible with the output\u0027s for PCM.\n\nChange-Id: I50d87bfb7d7afcabdf5f12d4ab75ef3a54132c0e\n"
    },
    {
      "commit": "a9d0febdd0f0502ec4f29f77b742e11ceae8a30e",
      "tree": "3b2e54ef6951b8adadd0640b5428f1aad5a18d83",
      "parents": [
        "da188fbe4b4d7b91e1440afe5a1279d0fd7a91eb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 25 19:37:03 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 31 15:23:25 2011 -0700"
      },
      "message": "Send estimated bandwidth value as informational event when cache fetcher pauses\n\no Application can make informed decision about the available network bandwidth\n  when cache fetcher pauses.\n\no Application can also adjust how frequently the bandwidth is estimated within\n  a range from one second to one minute.\n\nChange-Id: I90068001343e79da1886de03c565537787e1580b\n"
    },
    {
      "commit": "923da873c8a5bc1322a6e807c42c60d597ff8e05",
      "tree": "f5841493da26daf36e9414450978e9cb2e65ad31",
      "parents": [
        "2032eee0c178a15fd41cebbdec71c7622d2aab23",
        "8f18cf55747b8ab138661a841cbb1b2bd19f3d97"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 31 10:26:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 31 10:26:00 2011 -0700"
      },
      "message": "Merge \"Removed interface to load audio effects libraries\""
    },
    {
      "commit": "8f18cf55747b8ab138661a841cbb1b2bd19f3d97",
      "tree": "42f1d38ba83bec5eb4ddd08823c456b506f242c0",
      "parents": [
        "e8e833fbe8faaa0d49de517040bf01d18c7b9330"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 27 17:51:52 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 27 17:51:52 2011 -0700"
      },
      "message": "Removed interface to load audio effects libraries\n\nRemoved unused functions allowing dynamic loading of audio effects libraries\nfrom effects factory API.\n\nChange-Id: I06cc5a51dc10aca87c7a8687bbb874babd711eca\n"
    },
    {
      "commit": "73e0bc805a143d8cc2202fccb73230459edc6869",
      "tree": "59aeea0bcd592df160cf08606fa03cd5fa0a4211",
      "parents": [
        "48a542aabe2d58a0c3e7bac7f384d9951e5a26ed"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 17 22:54:42 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 27 17:04:55 2011 -0700"
      },
      "message": "9-axis sensor fusion with Kalman filter\n\nAdd support for 9-axis gravity and linear-acceleration sensors\nvirtual orientation sensor using 9-axis fusion\n\nChange-Id: I6717539373fce781c10e97b6fa59f68a831a592f\n"
    },
    {
      "commit": "0fb66c2b83084a16989afaf949d0101cb6505398",
      "tree": "82955066a3cd98e23ecfb4b33ba0beec715331d2",
      "parents": [
        "03edf6b36469a504bd17a5010c788c8d4e44085c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 19:16:02 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 27 15:15:00 2011 -0700"
      },
      "message": "New effect library API\n\nMoved and renamed media/EffectApi.h to hardware/audio_effect.h\nModified the effect library API to expose a library info structure\ncontaining an interface functions table.\nAlso removed enums for audio channels, audio format and devices\nfrom effect API and use values from system/audio.h instead.\n\nModified effects factory to support new library interface format and\nload libraries and efffects listed in audio_effects.conf file.\nThe file audio_effects.conf is first loaded from /vendor/etc and\nthen from /system/etc/audio_effects.conf if not found.\n\nModified existing effect libraries to implement the new library interface.\n\nChange-Id: Ie52351e071b6d352fa2fbc06c3846686f8c45df9\n"
    },
    {
      "commit": "54cb63e26e41b80c013b8665878b9c7c7fb328c1",
      "tree": "a3c15960d5aef66a6df3370cb5ad0b12a9fa1dee",
      "parents": [
        "da9837fb61c8aa53c67921682016d97655332089",
        "528c49f112dce5f9687f30a9751e783196eca0c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 14:27:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 14:27:46 2011 -0700"
      },
      "message": "am 528c49f1: am b96cbbd1: Add \"tv\" density for 720p screens.\n\n* commit \u0027528c49f112dce5f9687f30a9751e783196eca0c6\u0027:\n  Add \"tv\" density for 720p screens.\n"
    },
    {
      "commit": "b96cbbd11c4590bec846212c33361e02293f18b5",
      "tree": "ac02f12136339bb608c07d8b26eaae1cddccf792",
      "parents": [
        "ff7622992f39d8e401ab23c5ce6a84f318906e52"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 13:40:26 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 13:40:26 2011 -0700"
      },
      "message": "Add \"tv\" density for 720p screens.\n\nChange-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630\n"
    },
    {
      "commit": "da9837fb61c8aa53c67921682016d97655332089",
      "tree": "5b6771f3f923114dc942c98b5498098c2c593f3f",
      "parents": [
        "ef9be207152d54cbc1382121053e25414b3b2ed3",
        "c058d38602a1ffe00e14b4ab32c876c252eabe6d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 12:47:59 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 12:47:59 2011 -0700"
      },
      "message": "am c058d386: am ff762299: Merge \"Small fixes and cleanup of resource config handling.\" into honeycomb-mr2\n\n* commit \u0027c058d38602a1ffe00e14b4ab32c876c252eabe6d\u0027:\n  Small fixes and cleanup of resource config handling.\n"
    },
    {
      "commit": "3904d03dd01dcd43c446744e44b34615825d9679",
      "tree": "90a8c911753fe69f0ab5bbfe273c08c086f8839d",
      "parents": [
        "94250ac69c6e07534e4781d3479dccb79d8c366c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 12:09:11 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 12:09:11 2011 -0700"
      },
      "message": "Small fixes and cleanup of resource config handling.\n\nChange-Id: I402c31b68f2b4825cb4c610a65ee8e1da471c7bb\n"
    },
    {
      "commit": "73a4b2b3be14255f87c4108d4e414b9137da6510",
      "tree": "abcbd4946c4d9c45cea1144f493b06fb5cc7864e",
      "parents": [
        "31beb6db09174da843a4af243842c0d265f02402",
        "eb2f9c193d74c005a0c78e6dbed874809d55fc81"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 26 08:52:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 08:52:55 2011 -0700"
      },
      "message": "Merge \"Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.\""
    },
    {
      "commit": "98472cced0a66318a89ffe485bbebb80034f12be",
      "tree": "bd193ac1d94ba546af119390556aa96120a2e5b3",
      "parents": [
        "f9f01008624e2d28c15a90d942fa36f98c8c967d",
        "13bc8cde1c842bea1fa3000a48739a6e22f25a9c"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 25 20:11:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 20:11:25 2011 -0700"
      },
      "message": "Merge \"For out of band timed text support (timed text in a separate file).\""
    },
    {
      "commit": "13bc8cde1c842bea1fa3000a48739a6e22f25a9c",
      "tree": "7f2e05769603e6a58124cf5870d732e24ac735dd",
      "parents": [
        "560e97f8e0cb63a0fa6e88db6badc142a99517d2"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 11 11:24:09 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 25 17:53:29 2011 -0700"
      },
      "message": "For out of band timed text support (timed text in a separate file).\n\nChange-Id: I9e024a63eb9bf6f839deee3c7766a66e63126c96\n"
    },
    {
      "commit": "eb2f9c193d74c005a0c78e6dbed874809d55fc81",
      "tree": "01d0f911bf55af568dcef8e1bbb820f1a1f5275d",
      "parents": [
        "1b9b34adf704c2c059ca439ace0c0b67c8c272f3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 19 08:37:39 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed May 25 15:57:07 2011 -0700"
      },
      "message": "Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.\n\nChange-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5\n"
    },
    {
      "commit": "3c2fb0242b0ec21101959dfa08aad3162a523634",
      "tree": "5f338cb0714dbe36988431320f8919576d91009a",
      "parents": [
        "13412d31650366f41b1f3d9f429cb0a01dd575ef",
        "8148cc3e47e50c916066e2fed562618b5827188f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:46:53 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:46:53 2011 -0700"
      },
      "message": "am 8148cc3e: am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\n* commit \u00278148cc3e47e50c916066e2fed562618b5827188f\u0027:\n  Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n"
    },
    {
      "commit": "8e5799ed16ab605d8de775e1644f1fa59ff6627e",
      "tree": "cc7f1fd4b865123a2ee50ddebd628004e186112f",
      "parents": [
        "7d0fb57044576fd4bbaf9683997bab288c3b759c",
        "af685f3bb566f297deee1615d55d4f33d5580ba3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:42:20 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:42:20 2011 -0700"
      },
      "message": "am af685f3b: am 85a7f99c: Merge \"Refactor how timeouts are calculated. (DO NOT MERGE)\" into honeycomb-mr2\n\n* commit \u0027af685f3bb566f297deee1615d55d4f33d5580ba3\u0027:\n  Refactor how timeouts are calculated. (DO NOT MERGE)\n"
    },
    {
      "commit": "7d0fb57044576fd4bbaf9683997bab288c3b759c",
      "tree": "e5a83713aaaf0d82170bba4da24f32b5f7465f39",
      "parents": [
        "4e3ba25cc718bbc6db0a332c4105debc4b3552d3",
        "16330e249663fed890df0e95fce4016c2971120a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:42:06 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:42:06 2011 -0700"
      },
      "message": "am 16330e24: am 94e838f6: Merge \"Improve VelocityTracker numerical stability. (DO NOT MERGE)\" into honeycomb-mr2\n\n* commit \u002716330e249663fed890df0e95fce4016c2971120a\u0027:\n  Improve VelocityTracker numerical stability. (DO NOT MERGE)\n"
    },
    {
      "commit": "4e3ba25cc718bbc6db0a332c4105debc4b3552d3",
      "tree": "41ea26bf7a101268ac614d362393b7bd2705f4fb",
      "parents": [
        "cfb046dead49568de6f6808a697e0508ef39a3a6",
        "4bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:42:01 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:42:01 2011 -0700"
      },
      "message": "am 4bd89fb0: am 82e4373e: Merge \"Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)\" into honeycomb-mr2\n\n* commit \u00274bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1\u0027:\n  Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)\n"
    },
    {
      "commit": "86ea1f5f521981d075aef56f11693e4f3bc32fdb",
      "tree": "72e1e44513d3e9e204a4fbd2855a079822e949eb",
      "parents": [
        "a6dbfdd3a858aac52cc87f80f91e8eef7d613605"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 12 22:39:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed May 25 14:37:17 2011 -0700"
      },
      "message": "Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\nAdded a new PointerIcon API (hidden for now) for loading\npointer icons.\n\nFixed a starvation problem in the native Looper\u0027s sendMessage\nimplementation which caused new messages to be posted ahead\nof old messages sent with sendMessageDelayed.\n\nRedesigned the touch pad gestures to be defined in terms of\nmore fluid finger / spot movements.  The objective is to reinforce\nthe natural mapping between fingers and spots which means there\nmust not be any discontinuities in spot motion relative to\nthe fingers.\n\nRemoved the SpotController stub and folded its responsibilities\ninto PointerController.\n\nChange-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e\n"
    },
    {
      "commit": "a218715a7fca98c868feccee4751c94e38b676ff",
      "tree": "3386ef4297d74a48b940e2b9d61fdd6f9c209cd0",
      "parents": [
        "4ece6db47ec33ed439ae2177fbc0cc3e7e79cdca"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu May 19 13:33:00 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed May 25 12:27:33 2011 -0700"
      },
      "message": "SurfaceTexture: clean up some comments, tests, etc.\n\nThis change fixes up some stale comments, member variable names, log\nmessages and disables a failing test.\n\nChange-Id: Ic1d3344b18066cf710e4a42838b2417c6b1f2f6c\n"
    },
    {
      "commit": "b9783b49f4727a0365f2297bb903db8682855adf",
      "tree": "0d4831587eed29e6e2366280543ed0f226051807",
      "parents": [
        "10b364b4bea8537f955bbbb8b9b40061264b29c9",
        "c9cd2387b6938a6fbefc731d2177902266f2a130"
      ],
      "author": {
        "name": "Simon Wilson",
        "email": "simonwilson@google.com",
        "time": "Tue May 24 17:29:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 24 17:29:12 2011 -0700"
      },
      "message": "am c9cd2387: Merge changes I37f0f315,I8cbf6044,Ibb598931,I5262bf11 into gingerbread\n\n* commit \u0027c9cd2387b6938a6fbefc731d2177902266f2a130\u0027:\n  Fix a race that could cause GL commands to be executed from the wrong thread.\n  RefBase subclasses can now decide how they want to be destroyed.\n  Fix a race in SurfaceFlinger that could cause layers to be leaked forever.\n  Fix a race-condtion in SurfaceFlinger that could lead to a crash.\n"
    },
    {
      "commit": "b5b1fb25853eb2e00f981d3b0bb52acd50684c4f",
      "tree": "00f0ba0a582ea20541eb075827472d33231138ea",
      "parents": [
        "e372c17ba76163018cbc1b6972c9e6b0a8a8b5f4",
        "ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 24 14:26:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 24 14:26:18 2011 -0700"
      },
      "message": "Merge \"Support wrapping app processes to inject debug instrumentation. Bug: 4437846\""
    },
    {
      "commit": "ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3",
      "tree": "ae346479a6c069a3a57acecb18a0b0a563325e3f",
      "parents": [
        "cbc38e74f028d9e337eba0f3ed7c435310cc10c2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 16 17:08:42 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 24 12:01:25 2011 -0700"
      },
      "message": "Support wrapping app processes to inject debug instrumentation.\nBug: 4437846\n\nChange-Id: I4552501c693716b14714afb5c5248edaca9547ab\n"
    },
    {
      "commit": "e2c7715c772d5121397591b532d04a31b3ffcc99",
      "tree": "a528b89349ba2b367aeae8b442b5c696a7c8c99e",
      "parents": [
        "6895c4994350bc10a06481ecf42c4ba8abb3eedb",
        "bbca81334e3603c7328dc526bd63032b23d5261d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 24 11:27:11 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 24 11:27:11 2011 -0700"
      },
      "message": "resolved conflicts for merge of bbca8133 to master\n\nChange-Id: I81493674dceab848e41d380a77a37e5a9be06db6\n"
    },
    {
      "commit": "68d6075b4ad2205c10064c78cde552e3210cca91",
      "tree": "a8f8e79d5bddb76dd0578a02c17646a05021bbd9",
      "parents": [
        "5b2b4d9c0a56c4b5e869c828a6c36a1b9e27d61b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Mar 17 01:34:19 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon May 23 17:20:42 2011 -0700"
      },
      "message": "Refactor how timeouts are calculated. (DO NOT MERGE)\n\nAdded a timeout mechanism to EventHub and InputReader so that\nInputMappers can request timeouts to perform delayed processing of\ninput when needed.\n\nChange-Id: I89c1171c9326c6e413042e3ee13aa9f7f1fc0454\n"
    },
    {
      "commit": "5b2b4d9c0a56c4b5e869c828a6c36a1b9e27d61b",
      "tree": "0e00adeba7368949783dd598b57b70a4936f8e9b",
      "parents": [
        "96ad3979f328a1aa098917ca1c35575e85345526"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 14 19:39:54 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon May 23 17:19:59 2011 -0700"
      },
      "message": "Improve VelocityTracker numerical stability. (DO NOT MERGE)\n\nReplaced VelocityTracker with a faster and more accurate\nnative implementation.  This avoids the duplicate maintenance\noverhead of having two implementations.\n\nThe new algorithm requires that the sample duration be at least\n10ms in order to contribute to the velocity calculation.  This\nensures that the velocity is not severely overestimated when\nsamples arrive in bursts.\n\nThe new algorithm computes the exponentially weighted moving\naverage using weights based on the relative duration of successive\nsample periods.\n\nThe new algorithm is also more careful about how it handles\nindividual pointers going down or up and their effects on the\ncollected movement traces.  The intent is to preserve the last\nknown velocity of pointers as they go up while also ensuring\nthat other motion samples do not count twice in that case.\n\nBug: 4086785\nChange-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920\n"
    },
    {
      "commit": "96ad3979f328a1aa098917ca1c35575e85345526",
      "tree": "a703eeeda8430c955738efd047616bc6a47a32e1",
      "parents": [
        "40277df7c33c0fc381eec589c768fe86de4b4404"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 17:39:48 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon May 23 17:19:38 2011 -0700"
      },
      "message": "Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)\n\n1. Single finger tap performs a click.\n2. Single finger movement moves the pointer (hovers).\n3. Button press plus movement performs click or drag.\n   While dragging, the pointer follows the finger that is moving\n   fastest.  This is important if there are additional fingers\n   down on the touch pad for the purpose of applying force\n   to an integrated button underneath.\n4. Two fingers near each other moving in the same direction\n   are coalesced as a swipe gesture under the pointer.\n5. Two or more fingers moving in arbitrary directions are\n   transformed into touches in the vicinity of the pointer.\n   This makes scale/zoom and rotate gestures possible.\n\nAdded a native VelocityTracker implementation to enable intelligent\nswitching of the active pointer during drags.\n\nChange-Id: I7b7ddacc724fb1306e1590dbaebb740d3130d7cd\n"
    },
    {
      "commit": "bbca81334e3603c7328dc526bd63032b23d5261d",
      "tree": "c29dd1ed7c2119cd50bbc4e56be9ee36d89891c7",
      "parents": [
        "98a8231e838d7d624c5862d81d1975ef4f8d0d57",
        "4bb78889d04594c01a6af7f6d38c1764e9f575f9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 23 16:16:54 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 23 16:16:54 2011 -0700"
      },
      "message": "am 4bb78889: am 40277df7: Merge \"Add \"television\" mode.\" into honeycomb-mr2\n\n* commit \u00274bb78889d04594c01a6af7f6d38c1764e9f575f9\u0027:\n  Add \"television\" mode.\n"
    },
    {
      "commit": "9e7636681eda094dd328ce9bf54d0b0166be1e67",
      "tree": "daa994e6a3ed671ec6e09e31a8408bd7d6240871",
      "parents": [
        "fa21cb2e58838761157d3ee929a77e23b602bd01"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 19 18:03:31 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 23 16:13:48 2011 -0700"
      },
      "message": "RefBase subclasses can now decide how they want to be destroyed.\n\nThis adds a destroy() virtual on RefBase which\nsublasses can implement. destroy() is called\nin lieu of the destructor whenthe last strong\nref goes away.\n\nBug: 4483050\nChange-Id: I8cbf6044a6fd3f01043a45592b5a60fa1e5fade2\n"
    },
    {
      "commit": "e360bb6bd8ea84b8d37604fc11dfc744b18fb0de",
      "tree": "7e833a630e8108be1345d8595438eea5a30e7173",
      "parents": [
        "1b144e625fb0d34cd680c44cbcfb2deb8a76d4c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 20 16:11:04 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 23 15:11:08 2011 -0700"
      },
      "message": "Add \"television\" mode.\n\nChange-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b\n"
    },
    {
      "commit": "161e67ff3ba26408eea09221734ad2e29a1eed11",
      "tree": "6e98ff836fb5f134e01a7e9ef420ec35a78ad5d2",
      "parents": [
        "9e735541beed238d3b99d4bd284af1fc953c3775",
        "06a8ceacb0dc2713cb0bb2c93d2a750f2a58db68"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 21:44:52 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 21:44:52 2011 -0700"
      },
      "message": "resolved conflicts for merge of 06a8ceac to master\n\nChange-Id: Id51574c825affddfac14ad7214c5496d6a3d6e69\n"
    },
    {
      "commit": "16fa5aae96ec7bb0ecf1578197b64d477bb6946e",
      "tree": "fb7f8f56eb4984f404c30efa434c34495e9da66a",
      "parents": [
        "e219b5452c20b069b25109a8bedca8d37ec3ccb6",
        "6db8c505398a0979853f6c166e0a8bcafd9268f8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 19 19:41:37 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 19 19:41:37 2011 -0700"
      },
      "message": "Merge \"RefBase subclasses can now decide how they want to be destroyed.\""
    },
    {
      "commit": "6db8c505398a0979853f6c166e0a8bcafd9268f8",
      "tree": "af906178d8b458e0030034809bccc962bfdd59ac",
      "parents": [
        "14a2935809e73a9d824888dc837f2f017100fd26"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 19 18:03:31 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 19 19:40:01 2011 -0700"
      },
      "message": "RefBase subclasses can now decide how they want to be destroyed.\n\nThis adds a destroy() virtual on RefBase which\nsublasses can implement. destroy() is called\nin lieu of the destructor whenthe last strong\nref goes away.\n"
    },
    {
      "commit": "06a8ceacb0dc2713cb0bb2c93d2a750f2a58db68",
      "tree": "14cda7bbbdc5e6cabb492d7af1977a2f5548062b",
      "parents": [
        "90177e59e5211dd9ab33761ce800e8a86a49d1e2",
        "c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 19:34:21 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 19 19:34:21 2011 -0700"
      },
      "message": "am c851ea56: am 69cb8757: Add new \"-swNNNdp\" resource qualifier.\n\n* commit \u0027c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a\u0027:\n  Add new \"-swNNNdp\" resource qualifier.\n"
    },
    {
      "commit": "69cb87576ba163b61bb0e6477a3b7c57a9b11d40",
      "tree": "a44be0af3d008409403be133358bdcd628741c01",
      "parents": [
        "b9537db8d9ee27efb4a98415ad2d6b50c1806e5d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 18:13:32 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 18:23:29 2011 -0700"
      },
      "message": "Add new \"-swNNNdp\" resource qualifier.\n\nChange-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce\n"
    },
    {
      "commit": "8d161fe1eafe80e01d84d2be55ae47314f944721",
      "tree": "64cf77fb1a514dee37516d9e7e6de4908ea5c9ee",
      "parents": [
        "b22a9fd9bb32133cbc7dc4fc7752dbf68e52dffe",
        "5a6c3d491ccac07ef3f6a624a8a3e0c36959b661"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 18 09:30:01 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 18 09:30:01 2011 -0700"
      },
      "message": "am 5a6c3d49: am 07e9267d: Merge \"DO NOT MERGE For bug 4422428 Squashed commit of the following:\" into honeycomb-mr2\n\n* commit \u00275a6c3d491ccac07ef3f6a624a8a3e0c36959b661\u0027:\n  DO NOT MERGE For bug 4422428 Squashed commit of the following:\n"
    },
    {
      "commit": "07e9267d33bb199d0a2b8de221c64541bdf2465a",
      "tree": "a0d309ad5aabae2c5cfe1134b0e3589cae386949",
      "parents": [
        "30a76196c8f426b530a80166817d3280acb2b100",
        "331de5dd58b2115968d9fd2a9ce21a45db309d37"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 18 09:17:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 18 09:17:50 2011 -0700"
      },
      "message": "Merge \"DO NOT MERGE For bug 4422428 Squashed commit of the following:\" into honeycomb-mr2"
    },
    {
      "commit": "706804e2e4199a7cfcb7e491d7aca38885ff0f14",
      "tree": "15daedb982dfaa2a0f87152380aec8260a9a8358",
      "parents": [
        "b6aabcf6e383788a9613a494bd33913d998c4be4",
        "d9c2601afa46811bcb1345963d38010690981a01"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed May 18 08:54:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 18 08:54:40 2011 -0700"
      },
      "message": "Merge \"Add auto-white balance locking to the Camera API.\""
    },
    {
      "commit": "f84e4a657f2f8b5af085bb9694f1fca837d7cd1f",
      "tree": "753b197646c1d782e2d82304d3b9f98dfcc3c55d",
      "parents": [
        "52ee3eb4ebf108e593cc85b79d0aa1f651c69e35"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 17 22:39:06 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 17 22:39:06 2011 -0700"
      },
      "message": "Revert \"Add const to the finders method in MetaData.cpp\"\n\nThis reverts commit 78fed171d9d62b25aa846d7373a7040e3fd2241e.\n\nConflicts:\n\n\tinclude/media/stagefright/MPEG4Writer.h\n\nChange-Id: Ie6f497f67a473ad95b50bb949c1aa49e1804bac3\n"
    },
    {
      "commit": "9539d9f65a28b676e0a03322ad848b24786a515d",
      "tree": "5a21ee7567f748fa171a1e566e689afb5dabe04d",
      "parents": [
        "8318561e9a69f692531647fe28deecfee303a1dc"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Apr 28 16:19:45 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue May 17 16:58:37 2011 -0700"
      },
      "message": "libutils: add a binary blob cache implementation.\n\nThis change adds an implementation of a cache that stores key/value\npairs of unstructured binary blobs.\n\nChange-Id: Idd01fdabedfa3aed6d359a6efb0592967af52651\n"
    },
    {
      "commit": "0f32fb3ecfdfaa03acf880a356629d43da3fe2fe",
      "tree": "86fdf143c86349766715c0e2c3a4de014ec8003d",
      "parents": [
        "38442b6884fe7b6289d688b64a3c410dd3c0ac18"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat May 14 07:22:40 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 17 12:21:57 2011 -0700"
      },
      "message": "Make track informational event optional, depending on system property\n\no also add a track informational event to return the encoded data in kilo-bytes\n\nChange-Id: I7c383360d57048c8a3606d0b8141ba53e4f4b224\n"
    },
    {
      "commit": "d9c2601afa46811bcb1345963d38010690981a01",
      "tree": "c5121e532b90cf3fc802740a43bf35450ac1e8a6",
      "parents": [
        "12ec74c1a71dd0d40a31340fc76025712066ae70"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri May 13 10:19:59 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 17 10:52:42 2011 -0700"
      },
      "message": "Add auto-white balance locking to the Camera API.\n\nAdds a new camera parameter for locking auto-white balance to its\ncurrent value. Also adds a function for checking if auto-white balance\nlock is supported by the current platform. Lock semantics match that\nof the auto-exposure lock.\n\nHidden for now.\n\nChange-Id: Id59339a4be84d55c1b0b8473d765b6aa765999b2\n"
    },
    {
      "commit": "13a33169b71f447e7dbb3e67bcf5c47f3cce8cce",
      "tree": "9e6201a77f9bf536c5bf94b8621e6fef00c074f5",
      "parents": [
        "bfb6791934dae9888dc017f1057f5b9cf12f35d2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon May 09 16:56:25 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat May 14 07:18:43 2011 -0700"
      },
      "message": "Support platform and camera dependent recording start time offset\n\nrelated-to-bug: 4390777\n\nChange-Id: Icb52973ad4ac716f04fb103ef527915a966d06d5\n"
    },
    {
      "commit": "bfb6791934dae9888dc017f1057f5b9cf12f35d2",
      "tree": "35e63128061920b9a7ab55d86d8a59a3c2a5ef53",
      "parents": [
        "bf9f408b5917734ac3c07c722cc41563e04f1440",
        "a403a938e9308b47f470815e49a33a7060abc69b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri May 13 16:31:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 13 16:31:10 2011 -0700"
      },
      "message": "Merge \"Add support for platform-specific recording start time offset\""
    },
    {
      "commit": "987ab4833ecbafbdf750eb1b04e43693433c4783",
      "tree": "8c104cf0f33d66a7785cd6c94e798881386200a0",
      "parents": [
        "ae7bc6529a40cdc25c65c28b76266e0c873861c4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 11 19:09:25 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri May 13 16:29:19 2011 -0700"
      },
      "message": "Support for storing geo information in the recorded mp4/3gpp file.\n\no Geo data (latitude and longitude) is stored in udta box\n\nChange-Id: I76e4aeb741c4b339f3753d3d28190151f3ea4919\nrelated-to-bug: 4260295\n"
    },
    {
      "commit": "331de5dd58b2115968d9fd2a9ce21a45db309d37",
      "tree": "73bb7b21147d1c2c22ffb9895747d25c7dc6b2a6",
      "parents": [
        "a8138732a01b92f0a40f72050b74a3bd4cf6d215"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri May 13 14:10:18 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri May 13 15:09:24 2011 -0700"
      },
      "message": "DO NOT MERGE\nFor bug 4422428\nSquashed commit of the following:\n\ncommit ae2e13783db2284f40d3891e70e152dab941edfc\nAuthor: Gloria Wang \u003cgwang@google.com\u003e\nDate:   Fri May 13 11:43:11 2011 -0700\n\n    Add one more DRM error code. For bug 4422428.\n\n    Change-Id: I4e333f474c96c0e0f162dde4013ad32b336bebd6\n\ncommit 0f88249d0cb5221f622cf1d1ac3cdccefb8f58a2\nAuthor: Gloria Wang \u003cgwang@google.com\u003e\nDate:   Fri Apr 29 10:44:46 2011 -0700\n\n    Add DRM errors in the DRM frameworks to MediaErrors also.\n    For bug 4350156.\n\n    Change-Id: Ib5711ec642178a49203a448b7f5114e675d49394\n\nChange-Id: Ia02de462159400eef8c015d28531bf1dd6796a18\n"
    },
    {
      "commit": "7d334602168523e3baf3aab92310c566841ca035",
      "tree": "ac6fb5ed4525dbffa87cec597271163e3323ab53",
      "parents": [
        "65f47d88107b2e34e4bab1f5208bff3f73ce4e8a",
        "eea8c02bc8361be7807be969f24abeadf482fa19"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri May 13 14:02:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 13 14:02:50 2011 -0700"
      },
      "message": "Merge \"Add one more DRM error code. For bug 4422428.\""
    },
    {
      "commit": "eea8c02bc8361be7807be969f24abeadf482fa19",
      "tree": "bbaff4a2653f8606bad980b202f13b86d9be59ec",
      "parents": [
        "01defe403f3705ac5802e392ee18a78737c51fcb"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri May 13 11:43:11 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri May 13 13:53:15 2011 -0700"
      },
      "message": "Add one more DRM error code. For bug 4422428.\n\nChange-Id: I4e333f474c96c0e0f162dde4013ad32b336bebd6\n"
    },
    {
      "commit": "65f47d88107b2e34e4bab1f5208bff3f73ce4e8a",
      "tree": "f78d55c1374dc07e571eed2c1ad638c5fd4ba325",
      "parents": [
        "5684d6bc7e768e905d163cd94b92c977f15c6d89",
        "fe9f8ab03a63b1037f07dd85799fbea80ec6adaa"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 13 12:14:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 13 12:14:27 2011 -0700"
      },
      "message": "Merge \"Add initial API for stylus and mouse buttons.\""
    },
    {
      "commit": "fe9f8ab03a63b1037f07dd85799fbea80ec6adaa",
      "tree": "c0cfa91d0537321eeee0ede693fb414d8778a1a2",
      "parents": [
        "1abf1c59f8b15d5b4b198063b884e268bd79fb32"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 06 18:20:01 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 13 12:11:17 2011 -0700"
      },
      "message": "Add initial API for stylus and mouse buttons.\n\nAdded the concept of pointer properties in a MotionEvent.\nThis is currently used to track the pointer tool type to enable\napplications to distinguish finger touches from a stylus.\n\nButton states are also reported to application as part of touch events.\n\nThere are no new actions for detecting changes in button states.\nThe application should instead query the button state from the\nMotionEvent and take appropriate action as needed.\n\nA good time to check the button state is on ACTION_DOWN.\n\nAs a side-effect, applications that do not support multiple buttons\nwill treat primary, secondary and tertiary buttons identically\nfor all touch events.\n\nThe back button on the mouse is mapped to KEYCODE_BACK\nand the forward button is mapped to KEYCODE_FORWARD.\n\nAdded basic plumbing for the secondary mouse button to invoke\nthe context menu, particularly in lists.\n\nAdded clamp and split methods on MotionEvent to take care of\ncommon filtering operations so we don\u0027t have them scattered\nin multiple places across the framework.\n\nBug: 4260011\nChange-Id: Ie992b4d4e00c8f2e76b961da0a902145b27f6d83\n"
    },
    {
      "commit": "2e4a3236a7634d17f89288e9739a438ecbea0471",
      "tree": "45e1c4c61f4eb9775572d94a55dd91b071b84916",
      "parents": [
        "15f8a6a726658bfb195924bd5d7bb86684a22de0",
        "46a282f323bc05606e4fe1eba795bd9ac7c99819"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 13 11:21:26 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 13 11:21:26 2011 -0700"
      },
      "message": "am 46a282f3: am 0ed2e845: Merge \"DO NOT MERGE.  Integrate add new screen width/height in \"dp\" configs.\" into honeycomb-mr2\n\n* commit \u002746a282f323bc05606e4fe1eba795bd9ac7c99819\u0027:\n  DO NOT MERGE.  Integrate add new screen width/height in \"dp\" configs.\n"
    },
    {
      "commit": "ebff8f92f13513ce37bd74759eb1db63f2220590",
      "tree": "909da02ab7ff47483e227f032828dbdbe7f959af",
      "parents": [
        "a8138732a01b92f0a40f72050b74a3bd4cf6d215"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 18:07:47 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 18:39:51 2011 -0700"
      },
      "message": "DO NOT MERGE.  Integrate add new screen width/height in \"dp\" configs.\n\nYou can now specify resource configuration variants \"wNNNdp\"\nand \"hNNNdp\".  These are the minimum screen width/height in \"dp\"\nunits.  This allows you to do things like have your app adjust\nits layout based only on the about of horizontal space available.\n\nThis introduces a new configuration change flag for screen size.\nNote that this configuration change happens each time the orientation\nchanges.  Applications often say they handle the orientation change\nto avoid being restarted at a screen rotation, and this will now\ncause them to be restarted.  To address this, we assume the app can\nhandle this new config change if its target SDK version is \u003c ICS.\n\nChange-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4\n"
    },
    {
      "commit": "fb401ca7773bf19362faa5d66f6aa8244f112fb7",
      "tree": "84763f76c0f7f625f2e0ca1106f024bfac7a6723",
      "parents": [
        "11ace0015bd7e045358dadeabcb44f12f28fde0b",
        "20fd3f0d83d4665a6ac33a10f4a48a0f6f159068"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu May 12 15:52:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 12 15:52:12 2011 -0700"
      },
      "message": "am 20fd3f0d: am 4770c79c: Merge \"Tweak audio APIs for better forward/backward/sideways compatibility.\"\n\n* commit \u002720fd3f0d83d4665a6ac33a10f4a48a0f6f159068\u0027:\n  Tweak audio APIs for better forward/backward/sideways compatibility.\n"
    },
    {
      "commit": "34bb419e5946ab28112e9e27a4d1b3928d31e0e2",
      "tree": "3186b2ce206a101b19285660af602ec66bdbc831",
      "parents": [
        "b856f43ea7a3a5261a93e432e5ea80005e972530"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 11 14:15:23 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu May 12 14:09:57 2011 -0700"
      },
      "message": "update for new audio.h header location\n\nChange-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "da94c346a5b5f3ef7d36b031309aa438194e4957",
      "tree": "fc1231adafe646e49453b85ad12af0ca5dae02d3",
      "parents": [
        "c9e22e9affec97a8c68f838de29dc7f685d9247b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu May 12 09:46:49 2011 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu May 12 09:46:49 2011 -0700"
      },
      "message": "Tweak audio APIs for better forward/backward/sideways compatibility.\n\nChange-Id: I293e99107aed260db68edccad35cdc15ed88c1d3\n"
    }
  ],
  "next": "e4ba346f0f1bb153ec1f9da5c0a4fc96c301efda"
}
