)]}'
{
  "log": [
    {
      "commit": "bff405f91001237ec94ec64f86fa2370c4509559",
      "tree": "c492bfa8bacef42800f47b1638b1812275cecb6d",
      "parents": [
        "e63f20b5fe373822758182226d7512859d8e8356",
        "d8e8186c887fe47977721315f439465771a96374"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 18:16:50 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 18:16:50 2010 -0700"
      },
      "message": "resolved conflicts for merge of d8e8186c to master\n\nChange-Id: Ica3f6cd958717ea7033cab8b4bf9cd3425c1e1c5\n"
    },
    {
      "commit": "d8e8186c887fe47977721315f439465771a96374",
      "tree": "ff89a03f9a84484e3573508da6c72ecfbc4b04d6",
      "parents": [
        "f5bdeba197aba659e2dd3849a5bdfba8826c036d",
        "05105f7abe02b2dff91d6260b3628c8b97816bab"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 17:33:47 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 17:33:47 2010 -0700"
      },
      "message": "am 05105f7a: Update OBB API to include callbacks\n\nMerge commit \u002705105f7abe02b2dff91d6260b3628c8b97816bab\u0027 into gingerbread-plus-aosp\n\n* commit \u002705105f7abe02b2dff91d6260b3628c8b97816bab\u0027:\n  Update OBB API to include callbacks\n"
    },
    {
      "commit": "05105f7abe02b2dff91d6260b3628c8b97816bab",
      "tree": "f42676d818548d76b2c55045a1bcc4866d6feec1",
      "parents": [
        "ea2cf2f936b03f1720bc43863e41c89ea2a7903a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 22 17:29:43 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 17:23:26 2010 -0700"
      },
      "message": "Update OBB API to include callbacks\n\nAdd a callback for users of the StorageManager API to be able to receive\nnotifications when the requested operation completes for mountObb and\nunmountObb.\n\nAdd NDK API to get to ObbInfo like the Java API has.\n\nAlso update the docs for the API and remove the \"STOPSHIP\" comments.\n\nChange-Id: I23a4409c7f8b74d3169614beba920b4d667990a4\n"
    },
    {
      "commit": "ce635b55043dbc498ab1ef712b226922818cfe53",
      "tree": "a3569f04c5fc4f2c20b840b0500f445560e350fd",
      "parents": [
        "3bf613b2687d0cce13ce70a7a6650832f9656cfd",
        "d6c30e8c1521bc584f33500b8ee897dafdfec023"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 14:01:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 14:01:14 2010 -0700"
      },
      "message": "am d6c30e8c: am be045061: Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread\n\nMerge commit \u0027d6c30e8c1521bc584f33500b8ee897dafdfec023\u0027\n\n* commit \u0027d6c30e8c1521bc584f33500b8ee897dafdfec023\u0027:\n  Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n"
    },
    {
      "commit": "3bf613b2687d0cce13ce70a7a6650832f9656cfd",
      "tree": "fa65b2bad5497a059a5f8a87e085fdeb748a0fb9",
      "parents": [
        "1a3038586a3a46d0cdc487fea40ba4f7712d677d",
        "c889bbfa965f4ba90636f561c5e1353289d4cb06"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 14:00:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 14:00:36 2010 -0700"
      },
      "message": "am c889bbfa: am 4769f579: Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread\n\nMerge commit \u0027c889bbfa965f4ba90636f561c5e1353289d4cb06\u0027\n\n* commit \u0027c889bbfa965f4ba90636f561c5e1353289d4cb06\u0027:\n  Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n"
    },
    {
      "commit": "1a3038586a3a46d0cdc487fea40ba4f7712d677d",
      "tree": "d48a9261dcd7157a2b33f364be2e8074b45922f1",
      "parents": [
        "e8fd1952089b98e63410e85f734b2727eeee1450",
        "9d59186068891834272c2e3ee6f9c4228af24656"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 13:59:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 13:59:26 2010 -0700"
      },
      "message": "am 9d591860: am 3a9cc8ce: Merge \"Squashed commit of the following:\" into gingerbread\n\nMerge commit \u00279d59186068891834272c2e3ee6f9c4228af24656\u0027\n\n* commit \u00279d59186068891834272c2e3ee6f9c4228af24656\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "d6c30e8c1521bc584f33500b8ee897dafdfec023",
      "tree": "9bb9c55d4b334faa445ede21cee0942ab1ed63c8",
      "parents": [
        "c889bbfa965f4ba90636f561c5e1353289d4cb06",
        "be0450619528e65eebfa1d7eab78fde757d094cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 12:05:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 12:05:08 2010 -0700"
      },
      "message": "am be045061: Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread\n\nMerge commit \u0027be0450619528e65eebfa1d7eab78fde757d094cc\u0027 into gingerbread-plus-aosp\n\n* commit \u0027be0450619528e65eebfa1d7eab78fde757d094cc\u0027:\n  Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n"
    },
    {
      "commit": "be0450619528e65eebfa1d7eab78fde757d094cc",
      "tree": "08bd4cd3f2b9784e6fcbfb0ae0c6590f48534fd1",
      "parents": [
        "4769f57948455277d0670ef18f64824ca5d894c1",
        "2b359ed5b5ba4775609c13408b2cf1336c2cc45b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "message": "Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread"
    },
    {
      "commit": "2b359ed5b5ba4775609c13408b2cf1336c2cc45b",
      "tree": "4d8d85f3ab02bf47e197f645470e48340ce806c7",
      "parents": [
        "38ae220bb7c06e3cc82f96dada769c6b12a79d09"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "message": "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n\nChange-Id: I43875b6adaf96d4e982ef3dfc3d6c8f7034ac51d\nrelated-to-bug: 3036592\n"
    },
    {
      "commit": "c889bbfa965f4ba90636f561c5e1353289d4cb06",
      "tree": "24390aa68accf59410ba29f25010d91219c5eee1",
      "parents": [
        "9d59186068891834272c2e3ee6f9c4228af24656",
        "4769f57948455277d0670ef18f64824ca5d894c1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:48:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 11:48:44 2010 -0700"
      },
      "message": "am 4769f579: Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread\n\nMerge commit \u00274769f57948455277d0670ef18f64824ca5d894c1\u0027 into gingerbread-plus-aosp\n\n* commit \u00274769f57948455277d0670ef18f64824ca5d894c1\u0027:\n  Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n"
    },
    {
      "commit": "4769f57948455277d0670ef18f64824ca5d894c1",
      "tree": "956dafaf01e32a7cc1e350263bb2a41eaeb7edf5",
      "parents": [
        "3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7",
        "38ae220bb7c06e3cc82f96dada769c6b12a79d09"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "message": "Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread"
    },
    {
      "commit": "9d59186068891834272c2e3ee6f9c4228af24656",
      "tree": "53ef944ca56796e8f6aada14335ba19dc2f3991e",
      "parents": [
        "b763a6dc41dcce76585c56657903ae72c5422ae1",
        "3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:35:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 11:35:22 2010 -0700"
      },
      "message": "am 3a9cc8ce: Merge \"Squashed commit of the following:\" into gingerbread\n\nMerge commit \u00273a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7\u0027 into gingerbread-plus-aosp\n\n* commit \u00273a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7",
      "tree": "f531b978ba94698bcbbf5391cb63c5159c3a5ba1",
      "parents": [
        "08cf57d791e50ecafe2728a7617a6487aeb6d6d5",
        "c751eccad38cf46d7478eca85beefecd2c2b4c3b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:27:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:27:33 2010 -0700"
      },
      "message": "Merge \"Squashed commit of the following:\" into gingerbread"
    },
    {
      "commit": "38ae220bb7c06e3cc82f96dada769c6b12a79d09",
      "tree": "c411755233d0b39b4ffc97dadf0c6a6bcb8eff83",
      "parents": [
        "a16682b5e8ed635910eada23272ba6548922c02e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 09:16:21 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:26:03 2010 -0700"
      },
      "message": "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n\nrelated-to-bug: 3036592\nChange-Id: Ib142b171c829ed74156c0281d9d4543fcc96c802\n"
    },
    {
      "commit": "e65041225ec0bbc3d67a3b70cdc6d598a5760043",
      "tree": "8eb92db22f21de0a2843aa39b9988d15e00233d9",
      "parents": [
        "464fb74e28b6d76d5e741abcdbb714eea2d9b4d1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 14:52:15 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 16:10:17 2010 -0700"
      },
      "message": "Add support for transferring touch focus.\n\nPrerequisite for drag and drop.\n\nChange-Id: Iedbe93ed0f3e1c4083130fe66b4ba06d416afce0\n"
    },
    {
      "commit": "464fb74e28b6d76d5e741abcdbb714eea2d9b4d1",
      "tree": "806828fef18870b8c0a5cde7a6e679dce8b5a122",
      "parents": [
        "6d3ed72bf2fb9d958245c9d34443291a26128c59",
        "9785bf0f2b6b8758aed7ded3b996a2ef0be89919"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 14:40:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 14:40:38 2010 -0700"
      },
      "message": "am 9785bf0f: am 14a288da: Merge \"Add suuport for splitting touch events across windows.\" into gingerbread\n\nMerge commit \u00279785bf0f2b6b8758aed7ded3b996a2ef0be89919\u0027\n\n* commit \u00279785bf0f2b6b8758aed7ded3b996a2ef0be89919\u0027:\n  Add suuport for splitting touch events across windows.\n"
    },
    {
      "commit": "9785bf0f2b6b8758aed7ded3b996a2ef0be89919",
      "tree": "e444042c55ec1f06c8997a37b920d6d6b130d73d",
      "parents": [
        "761427f85b7b7478801dcb4e0fb2f1b824cf1268",
        "14a288da6a372230d9af41da12241fe500eec837"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 12:37:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 12:37:03 2010 -0700"
      },
      "message": "am 14a288da: Merge \"Add suuport for splitting touch events across windows.\" into gingerbread\n\nMerge commit \u002714a288da6a372230d9af41da12241fe500eec837\u0027 into gingerbread-plus-aosp\n\n* commit \u002714a288da6a372230d9af41da12241fe500eec837\u0027:\n  Add suuport for splitting touch events across windows.\n"
    },
    {
      "commit": "14a288da6a372230d9af41da12241fe500eec837",
      "tree": "2a15d375323bce1a89d48279ef228650550e8414",
      "parents": [
        "524ae7dd149c6b10814282dc3e2e55a4f755ad29",
        "01ce2e9eee41cc0c24b0d16465710a28ea337d5d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 12:33:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 12:33:14 2010 -0700"
      },
      "message": "Merge \"Add suuport for splitting touch events across windows.\" into gingerbread"
    },
    {
      "commit": "c751eccad38cf46d7478eca85beefecd2c2b4c3b",
      "tree": "5151726e535c2653987b57d6eaa3f2d8d5bbee5f",
      "parents": [
        "abaabb2c7994e5a5026c2e2bd860d7f21eed0451"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 12:04:43 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 12:04:43 2010 -0700"
      },
      "message": "Squashed commit of the following:\n\ncommit 29a4d3effb05a2e074cb0693316ab1977baeb0b6\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 12:01:32 2010 -0700\n\n    Fully working implementation of MPEG2TSWriter (for AAC and AVC sources).\n\n    Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84\n\ncommit f4dec4c3899f3be393508e180d6c07e249d3335e\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 10:36:31 2010 -0700\n\n    More reliable identification of MPEG2 transport streams. Don\u0027t keep scanning forever in case the stream does not have both audio and video tracks.\n\n    Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7\n\ncommit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 08:23:39 2010 -0700\n\n    test code\n\n    Change-Id: I16560a17661407d06497f99ff88230724bb898af\n\ncommit 64d988b24f49f179a90fa677be11c823959e734b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Sep 23 14:42:52 2010 -0700\n\n    First shot at supporting writing to an MPEG2 transport stream.\n\n    Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74\n\nChange-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc\n"
    },
    {
      "commit": "01ce2e9eee41cc0c24b0d16465710a28ea337d5d",
      "tree": "08e45a8ec47e63760655a1770dac367258511538",
      "parents": [
        "37cedce14bc0e68e8bf27c2cecb181728226e6ed"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 26 22:20:12 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 26 22:20:12 2010 -0700"
      },
      "message": "Add suuport for splitting touch events across windows.\n\nThis feature is currently used to enable dragging the start and end\nselection handles of a TextView at the same time.  Could be used for\nother things later.\n\nDeleted some dead code in ArrowKeyMovementMethod and CursorControllers.\n\nChange-Id: I930accd97ca1ca1917aab8a807db2c950fc7b409\n"
    },
    {
      "commit": "ba2bbcdcbc9781a8e93807b740cfde02b477c9a9",
      "tree": "061363b1fa25a76617ed93f51c22a5e48ab6ab1c",
      "parents": [
        "1c1797acff49857b41ea1e3630d23d940882791c"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sat Sep 25 17:58:15 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sat Sep 25 17:58:15 2010 -0700"
      },
      "message": "Fix the CameraHardwareInterface::setPreviewWindow comment.\n\nChange-Id: Ied7eb7872e581e23d9f6f02a551320cdd675e51e\n"
    },
    {
      "commit": "d95fec08916698f7bdd9f4b293d418ae4b4f60c5",
      "tree": "d41977f1c885afe6749debec7b6caff27b09e12b",
      "parents": [
        "960099572d97df03786927974e760070fca3e1ef",
        "495ad4f22096aa172d025c16c25497e7dad8f2bd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 18:13:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 18:13:22 2010 -0700"
      },
      "message": "am 495ad4f2: am beabe75a: Merge changes I1f7c4535,I741c68a2 into gingerbread\n\nMerge commit \u0027495ad4f22096aa172d025c16c25497e7dad8f2bd\u0027\n\n* commit \u0027495ad4f22096aa172d025c16c25497e7dad8f2bd\u0027:\n  simple test app for screen capture API\n  add support for [1974164] Be able to take a screen shot on the device\n"
    },
    {
      "commit": "495ad4f22096aa172d025c16c25497e7dad8f2bd",
      "tree": "b8e2e16c2058b96b563102abc46bfbba0863e352",
      "parents": [
        "c388844d50a67ecd8eb93d29d618bae1fa3a3c5d",
        "beabe75a842d521b005999460d3a6361ab32108e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 18:07:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 18:07:41 2010 -0700"
      },
      "message": "am beabe75a: Merge changes I1f7c4535,I741c68a2 into gingerbread\n\nMerge commit \u0027beabe75a842d521b005999460d3a6361ab32108e\u0027 into gingerbread-plus-aosp\n\n* commit \u0027beabe75a842d521b005999460d3a6361ab32108e\u0027:\n  simple test app for screen capture API\n  add support for [1974164] Be able to take a screen shot on the device\n"
    },
    {
      "commit": "beabe75a842d521b005999460d3a6361ab32108e",
      "tree": "0f94af077e03d50c02a52f1817b2ad638c5d0106",
      "parents": [
        "234e42df5fac958ed9f15aae6005dd72e4bdf08a",
        "dce21a3e274af1369ce284b7ee05b928a8bb3e11"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 18:02:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 24 18:02:10 2010 -0700"
      },
      "message": "Merge changes I1f7c4535,I741c68a2 into gingerbread\n\n* changes:\n  simple test app for screen capture API\n  add support for [1974164] Be able to take a screen shot on the device\n"
    },
    {
      "commit": "dcdab6aef1a4e24234982698908a24a9925ce9ab",
      "tree": "c660ca1552cbff42aaa76b329111875b75ea0706",
      "parents": [
        "0b783bc2e4ea2454fda4107d559eefee36b19623",
        "3e07c0007b10fbda945516acaf6b2a8787a6ca06"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 24 15:22:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 15:22:38 2010 -0700"
      },
      "message": "am 3e07c000: am 74865ef6: Merge \"Add locking around ZIP seeking\" into gingerbread\n\nMerge commit \u00273e07c0007b10fbda945516acaf6b2a8787a6ca06\u0027\n\n* commit \u00273e07c0007b10fbda945516acaf6b2a8787a6ca06\u0027:\n  Add locking around ZIP seeking\n"
    },
    {
      "commit": "ca5edbeba92b96913291792a4df984e158853b6d",
      "tree": "cef0f4174ca3d5e09a767787eec63b7a0cf7f2cf",
      "parents": [
        "5c6c5c7a43d44316395f5c35ab713372124b8b4c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 11:26:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 14:56:39 2010 -0700"
      },
      "message": "add support for [1974164] Be able to take a screen shot on the device\n\nscreenshots are taken using ISurfaceComposer::captureScreen() which returns\nthe size of the screenshot and an IMemoryHeap containing the data.\nscreenshots have limitations:\n- they will always fail if a secure window is up on screen\n- require GL_OES_framebuffer_object extension\n- in some situation, video planes won\u0027t been captured\n\nChange-Id: I741c68a2d2984fb139039301c3349e6780e2cd58\n"
    },
    {
      "commit": "3e07c0007b10fbda945516acaf6b2a8787a6ca06",
      "tree": "1e193cb9d61b5483c158596dd0709d106d616259",
      "parents": [
        "a1c7b096dfadc9ba7ee2ef432569eb3180f9bf34",
        "74865ef6600e2e81cecf6619ab7141df6a7dfeb9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 24 11:36:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 11:36:42 2010 -0700"
      },
      "message": "am 74865ef6: Merge \"Add locking around ZIP seeking\" into gingerbread\n\nMerge commit \u002774865ef6600e2e81cecf6619ab7141df6a7dfeb9\u0027 into gingerbread-plus-aosp\n\n* commit \u002774865ef6600e2e81cecf6619ab7141df6a7dfeb9\u0027:\n  Add locking around ZIP seeking\n"
    },
    {
      "commit": "6458fa0fce4bce7f3f9cccbacf9116f6f08abdf1",
      "tree": "e0ffbaae8f45022b61189e96f99faffc36cca3b4",
      "parents": [
        "7f459df9f94bc52e53d42894dea4702394fbad5c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 24 07:57:37 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 24 08:05:51 2010 -0700"
      },
      "message": "Add locking around ZIP seeking\n\nSince we switched to seeking to the LFH to verify its existence instead\nof a huge mmap of the file, we have to guarantee that another seek\ndoesn\u0027t happen before we finish our read on the LFH.\n\nChange-Id: If8135d9cb6f2f5cc4db734eafa4f6b5f6269c62a\n"
    },
    {
      "commit": "fdc85679cc300e9f7ee75040c25bef1826372ff0",
      "tree": "d3e00874739e423061101bc7e630408104bf337f",
      "parents": [
        "862d6c2cc97acb86bb5fe577b8b923d4638dd944",
        "4ec134cdba52b663506562c6406b07915820b007"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 15:57:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 15:57:13 2010 -0700"
      },
      "message": "am 4ec134cd: am cce0cd13: Merge \"Looper: use pthread_once for TLS key initialization.\" into gingerbread\n\nMerge commit \u00274ec134cdba52b663506562c6406b07915820b007\u0027\n\n* commit \u00274ec134cdba52b663506562c6406b07915820b007\u0027:\n  Looper: use pthread_once for TLS key initialization.\n"
    },
    {
      "commit": "4ec134cdba52b663506562c6406b07915820b007",
      "tree": "f6effbe756140b7b925c2246d842a26bd7689fb8",
      "parents": [
        "0b2affe8f05f887fcb6ae6314e2a0e586dabe9e1",
        "cce0cd138dd0dc338db59083052aca01a51bd52d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 15:52:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 15:52:09 2010 -0700"
      },
      "message": "am cce0cd13: Merge \"Looper: use pthread_once for TLS key initialization.\" into gingerbread\n\nMerge commit \u0027cce0cd138dd0dc338db59083052aca01a51bd52d\u0027 into gingerbread-plus-aosp\n\n* commit \u0027cce0cd138dd0dc338db59083052aca01a51bd52d\u0027:\n  Looper: use pthread_once for TLS key initialization.\n"
    },
    {
      "commit": "cce0cd138dd0dc338db59083052aca01a51bd52d",
      "tree": "3466953e4e229277dba9f5af3e92ea3c8887ea70",
      "parents": [
        "87d208f7ea7d8fc518d1403aae6d1ba1833bff13",
        "134b4ae90103a7b205cd84d0491a4868cb102a7c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 15:36:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 21 15:36:06 2010 -0700"
      },
      "message": "Merge \"Looper: use pthread_once for TLS key initialization.\" into gingerbread"
    },
    {
      "commit": "134b4ae90103a7b205cd84d0491a4868cb102a7c",
      "tree": "3f6a8d6cef9954bcabc05cedda8fc33596d084f7",
      "parents": [
        "34d3aeaf7f5dd744f46220f7730913468256ae9c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 15:11:18 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 15:26:51 2010 -0700"
      },
      "message": "Looper: use pthread_once for TLS key initialization.\n\nAlso fix a Valgrind complaint by zeroing out the entire epoll event\nstruct since otherwise the data field union would be partly\nuninitialized (but not in a harmful way).\n\nChange-Id: I2091ce517e87fcad7c9caf90e2c5e4854a7ca465\n"
    },
    {
      "commit": "41fd0a0fa98adf06cad78d168f3e5fe4ab272ea4",
      "tree": "2181adef969dcf0da0e57a75c6e41b5f2e43fd5f",
      "parents": [
        "d68e8d679c199d1cbef314e8bd545bcb62e36a88",
        "af90958184fc5cfa1a4190e28bcfc4fdd4a5bcd6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 21 15:22:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 15:22:00 2010 -0700"
      },
      "message": "am af909581: am 67738486: Merge \"Remove stagefright foundation\\\u0027s incompatible logging interface and update callsites.\" into gingerbread\n\nMerge commit \u0027af90958184fc5cfa1a4190e28bcfc4fdd4a5bcd6\u0027\n\n* commit \u0027af90958184fc5cfa1a4190e28bcfc4fdd4a5bcd6\u0027:\n  Remove stagefright foundation\u0027s incompatible logging interface and update callsites.\n"
    },
    {
      "commit": "af90958184fc5cfa1a4190e28bcfc4fdd4a5bcd6",
      "tree": "6c2ef68066d4652fdcec93a3f405960c0d9658a3",
      "parents": [
        "c1558df7778ec5bf9be5ecee9395d4684b6948e2",
        "67738486d9d1bdc2e6fb0c04698fd74de689acbc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 21 15:17:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 15:17:42 2010 -0700"
      },
      "message": "am 67738486: Merge \"Remove stagefright foundation\\\u0027s incompatible logging interface and update callsites.\" into gingerbread\n\nMerge commit \u002767738486d9d1bdc2e6fb0c04698fd74de689acbc\u0027 into gingerbread-plus-aosp\n\n* commit \u002767738486d9d1bdc2e6fb0c04698fd74de689acbc\u0027:\n  Remove stagefright foundation\u0027s incompatible logging interface and update callsites.\n"
    },
    {
      "commit": "6e3fa444c5b3970666707bb2b6d25e2615dafe80",
      "tree": "57a080a9aec58d0b92b2d6835483a0600694caf3",
      "parents": [
        "8217eac0a0b6d394139eefa85d5f467240427e98"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 21 13:13:15 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 21 15:12:19 2010 -0700"
      },
      "message": "Remove stagefright foundation\u0027s incompatible logging interface and update callsites.\n\nChange-Id: I45fba7d60530ea0f233ac3695a97306b6dc1795c\n"
    },
    {
      "commit": "d276720edb060617168388f44005f0960fa89ad1",
      "tree": "5dcf22a0d620dfa8cd06858715b8937c580f6487",
      "parents": [
        "92b328b67a694afc19071c807b80f100663fd5e4",
        "2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 10:44:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 10:44:38 2010 -0700"
      },
      "message": "am 2ad1ebca: am d45cb72a: Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nMerge commit \u00272ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd\u0027\n\n* commit \u00272ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd\u0027:\n  Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n"
    },
    {
      "commit": "2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd",
      "tree": "5cb0918085e3bf00d1b3671f8fe0f7fb4f7e9e06",
      "parents": [
        "e65735aff0f09a1c19b79c6d2b98ef39123da1d4",
        "d45cb72ac0d7d57829ffc9223decb89a5fc42ce2"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 08:57:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 08:57:15 2010 -0700"
      },
      "message": "am d45cb72a: Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nMerge commit \u0027d45cb72ac0d7d57829ffc9223decb89a5fc42ce2\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d45cb72ac0d7d57829ffc9223decb89a5fc42ce2\u0027:\n  Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n"
    },
    {
      "commit": "d45cb72ac0d7d57829ffc9223decb89a5fc42ce2",
      "tree": "231016c9dddc37dc8e126e60ec16385e9343b50e",
      "parents": [
        "92630c787d0ae34c7ae3cb29c2d261f1acaf18b9"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 20 16:15:32 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 08:46:32 2010 -0700"
      },
      "message": "Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nThis constant is not public yet. Continuous autofocus should\nbehave differently in still camera and camcorder. In camcorder,\nlens movement may be more smooth. And the triggers to start a\nnew focus search may be different. If there is a need,\nFOCUS_MODE_CONTINUOUS_PHOTO can be added in the future.\n\nChange-Id: I05df9e491aca37829be3df92a73b952f26c86a4a\n"
    },
    {
      "commit": "f1ec1ddd5072fa4f75c15be0ee1d82c17646500a",
      "tree": "ac476bd4e62cbb69eeaa01b741541f2fe291afc8",
      "parents": [
        "aca11c0cf401147a075f72f110e0e27336066127",
        "bc9599d48c79c18d306a13f51af9ef2aac92cdca"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 17 16:10:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 17 16:10:01 2010 -0700"
      },
      "message": "am bc9599d4: am 838e93ed: Merge \"Looper: Drop default parameters in favor of a safer overload.\" into gingerbread\n\nMerge commit \u0027bc9599d48c79c18d306a13f51af9ef2aac92cdca\u0027\n\n* commit \u0027bc9599d48c79c18d306a13f51af9ef2aac92cdca\u0027:\n  Looper: Drop default parameters in favor of a safer overload.\n"
    },
    {
      "commit": "872630590501cef9783f0669218c3e85e218db05",
      "tree": "7412bc47919b425714363d5eb0880fb11dc0d417",
      "parents": [
        "2c6f34480c5940e9b394222456c5e8c304a4a446",
        "d48a15c3fead59a1aa710a16bb5f923164475918"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 17 13:54:55 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 17 13:54:55 2010 -0700"
      },
      "message": "Merge \"Adding default profiles for specific levels.\""
    },
    {
      "commit": "bc9599d48c79c18d306a13f51af9ef2aac92cdca",
      "tree": "535efb39e1ab0169365891bea932cbeefdbb7ebc",
      "parents": [
        "6dcffb434fff42b956b604e24a5b5728e721b686",
        "838e93ed19879ce3d88b5be51630137d6a6999c6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 17 13:30:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 17 13:30:20 2010 -0700"
      },
      "message": "am 838e93ed: Merge \"Looper: Drop default parameters in favor of a safer overload.\" into gingerbread\n\nMerge commit \u0027838e93ed19879ce3d88b5be51630137d6a6999c6\u0027 into gingerbread-plus-aosp\n\n* commit \u0027838e93ed19879ce3d88b5be51630137d6a6999c6\u0027:\n  Looper: Drop default parameters in favor of a safer overload.\n"
    },
    {
      "commit": "d48a15c3fead59a1aa710a16bb5f923164475918",
      "tree": "a03bbc1d91b78d6a01873fd63a1129e54574f6fc",
      "parents": [
        "fb5a2d736573ab4b03d615a2dbc3dd84cc78f414"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Thu Sep 16 22:25:23 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 17 13:19:13 2010 -0700"
      },
      "message": "Adding default profiles for specific levels.\n\nThe low and high profiles should each match one of the\nspecific profiles. So we need to add the specific profiles\ncorresponding to the low/high profiles. This makes the\ndefault profile compliant to documentation + cts.\n\nAlso fixed javadoc to account time lapse profiles.\n\nChange-Id: I34e7307d00ce261c69dc10ead2900025c7f6d428\n"
    },
    {
      "commit": "7553cf74e67a83440139b34a098b90a2ad6ed86d",
      "tree": "f0edf06f1c85c6fa49d77468ff14383a4930b7f6",
      "parents": [
        "67a58a0f7c2902ec4f89a587e56a209a36dbda8d"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Wed Sep 15 15:08:49 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 17 09:50:27 2010 -0700"
      },
      "message": "Implemented frequent read returns for quick stop in time lapse.\n\nIf the frame capture interval is large, read will block for a long time.\nDue to the way the mediaRecorder framework works, a stop() call from\nmediaRecorder waits until the read returns, causing a long wait for\nstop() to return. To avoid this, we return a copy of the last read\nframe with the same time stamp if a frame is not available quickly.\nThis keeps the read() call from blocking too long. This method is\ntriggered when startQuickReadReturns() is called on\nCameraSourceTimeLapse.\n\nIn the still camera case, also using waitRelative on Condition\ninstaed of sleeping, so that we can wake it up.\nAlso for the idle check instead of sleeping, we now wait on a\ncondition variable, which is woken up when the last takePicture\ncallback gets called.\n\nChange-Id: Ia74386e175536aee0f44ae2f8b114c353d3d72f5\n"
    },
    {
      "commit": "a1361e48fa5ac353b70f90eef8c1ca63f66ded19",
      "tree": "54704d13b404313142c1af2df2624ff500aac975",
      "parents": [
        "0f5843069bd419fba4fb253986645dfbca0784b7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 18:28:12 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 18:51:15 2010 -0700"
      },
      "message": "Looper: Drop default parameters in favor of a safer overload.\n\nThe idea is that if you\u0027re writing code that wants fd/events/data on\nreturn from pollOnce() / pollAll() you should really pass in all of those\narguments.  When I changed the Looper API earlier, it was difficult\nto ensure that all callers were passing the right parameters since they\nwere relying on default parameters to some degree so usage mistakes\nwould not have been caught by the compiler.\n\nChange-Id: I1f2812894270aaf1515017ac1616b6b312d9b565\n"
    },
    {
      "commit": "711f82784fadb93d488b829c04bda35860903a67",
      "tree": "f7bab1fe553da915b1606b93317db27ff6b21240",
      "parents": [
        "3bf23a7b9f59e0ae38b728461f5f755b0be6883c",
        "6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 17:29:46 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 17:29:46 2010 -0700"
      },
      "message": "am 6f0ff46c: am 9c258710: Merge \"Fix app switch latency optimization.\" into gingerbread\n\nMerge commit \u00276f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25\u0027\n\n* commit \u00276f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25\u0027:\n  Fix app switch latency optimization.\n"
    },
    {
      "commit": "6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25",
      "tree": "ffd2b0ccc515aefc0f38cdea5e0b1f7241c9893e",
      "parents": [
        "b0abf3ea47b74296fd790843e789cfd101f58a00",
        "9c2587104ae259b9fa6a3525063197cc08e8820b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 17:15:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 17:15:48 2010 -0700"
      },
      "message": "am 9c258710: Merge \"Fix app switch latency optimization.\" into gingerbread\n\nMerge commit \u00279c2587104ae259b9fa6a3525063197cc08e8820b\u0027 into gingerbread-plus-aosp\n\n* commit \u00279c2587104ae259b9fa6a3525063197cc08e8820b\u0027:\n  Fix app switch latency optimization.\n"
    },
    {
      "commit": "54a1825121d006d4a4dcbbadf4eac9910f44ef8c",
      "tree": "70410aee79ef0d318b89aefb5737f0e8c097558b",
      "parents": [
        "24326f7223275ba9c85014b86d42040e3a7d2815"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 14:07:33 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 16:41:46 2010 -0700"
      },
      "message": "Fix app switch latency optimization.\n\nThis optimization was broken due to recent changes in how ANRs are handled.\n\nChange-Id: Ic99248a12755fadac8d4893e7d305b773e038d3d\n"
    },
    {
      "commit": "9b61dc564e673a116928838e42dae25bdf1e0796",
      "tree": "ee000e011404ec424fd8191b5849b811ffa61bef",
      "parents": [
        "6ca404d5213926ac58dc02d77293faa93b65a223"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 15 16:52:51 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 16 14:10:31 2010 -0700"
      },
      "message": "Add YUV420P color format support for video output from camera hal\n\nChange-Id: I5c8266348d0840361c8095ce351ac85c44d4068f\n"
    },
    {
      "commit": "707929d6f8f8ff2663da9982a99f943736b8be5c",
      "tree": "c68c3251dc53422c136ab6ec239033b60ec32e33",
      "parents": [
        "6cca469ed6e58444dc6264a353510250cacfcf09",
        "61cf67a220ba3205737c646c1c836a92074220de"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 13:05:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 13:05:50 2010 -0700"
      },
      "message": "am 61cf67a2: am 24326f72: Merge \"Input API review.\" into gingerbread\n\nMerge commit \u002761cf67a220ba3205737c646c1c836a92074220de\u0027\n\n* commit \u002761cf67a220ba3205737c646c1c836a92074220de\u0027:\n  Input API review.\n"
    },
    {
      "commit": "61cf67a220ba3205737c646c1c836a92074220de",
      "tree": "7d4aa868fcae530b5d5300c060a8f3b8f0ce95c1",
      "parents": [
        "9284b454e28a49f514f9caddaace15b91d41165c",
        "24326f7223275ba9c85014b86d42040e3a7d2815"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 13:01:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 13:01:54 2010 -0700"
      },
      "message": "am 24326f72: Merge \"Input API review.\" into gingerbread\n\nMerge commit \u002724326f7223275ba9c85014b86d42040e3a7d2815\u0027 into gingerbread-plus-aosp\n\n* commit \u002724326f7223275ba9c85014b86d42040e3a7d2815\u0027:\n  Input API review.\n"
    },
    {
      "commit": "24326f7223275ba9c85014b86d42040e3a7d2815",
      "tree": "6695aa7ef061a827c88956806d892ea09c70fc7c",
      "parents": [
        "b9eb949bcae977a3f86e8307f3854f157227c34c",
        "dc1ab4b5cc274b7d744c11a939bb5910becec5e0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 12:57:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 16 12:57:56 2010 -0700"
      },
      "message": "Merge \"Input API review.\" into gingerbread"
    },
    {
      "commit": "fa8186c71662ae9c869adbf379ccc2d917638881",
      "tree": "09ec6f08e79949096595440475f61ca2c6078dd8",
      "parents": [
        "fcec46b3d4fa08a36e904d7474a73032aa583ccd",
        "7642c82c291051919aad87c797e2dc1d77ed55e1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 21:42:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 15 21:42:28 2010 -0700"
      },
      "message": "am 7642c82c: am f4d788c9: Merge \"Make input dispatcher only ANR for foreground windows.\" into gingerbread\n\nMerge commit \u00277642c82c291051919aad87c797e2dc1d77ed55e1\u0027\n\n* commit \u00277642c82c291051919aad87c797e2dc1d77ed55e1\u0027:\n  Make input dispatcher only ANR for foreground windows.\n"
    },
    {
      "commit": "7642c82c291051919aad87c797e2dc1d77ed55e1",
      "tree": "feb2f3c9c5db6db8776494131b01680979d5c31a",
      "parents": [
        "9c43fffc3d4b4f0b6ae1b136c4c9e5d652a7f4f6",
        "f4d788c9309bc5480100d980608472e4cb04f309"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 18:57:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 15 18:57:48 2010 -0700"
      },
      "message": "am f4d788c9: Merge \"Make input dispatcher only ANR for foreground windows.\" into gingerbread\n\nMerge commit \u0027f4d788c9309bc5480100d980608472e4cb04f309\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f4d788c9309bc5480100d980608472e4cb04f309\u0027:\n  Make input dispatcher only ANR for foreground windows.\n"
    },
    {
      "commit": "519e024d1e682ca458cc2dab743589a12992c0e1",
      "tree": "1dfdac05031e352b7404a07f347b0444c70bc95b",
      "parents": [
        "3fd5fa4ca9dbdd5be46ec2952c7038cdd59e35d5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 15:18:56 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 18:52:08 2010 -0700"
      },
      "message": "Make input dispatcher only ANR for foreground windows.\n\nRedesigned the input dispatcher\u0027s ANR timeout mechanism so it is much\ncloser to Froyo\u0027s policy.  ANR is only ever signalled if the dispatcher\nis waiting on a window to finish processing its previous event(s) and\nthere is new pending input.\n\nIn the old code, we tracked the dispatch timeout separately for each\ninput channel.  This was somewhat complicated and also resulted in the\nsituation where applications could ANR long after the user had pushed\nthem into the background.\n\nChange-Id: I666ecada0952d4b95f1d67b9f733842b745c7f4b\n"
    },
    {
      "commit": "6704d310f994b30cdae835d1e8f875a4fafc0620",
      "tree": "fe5868188d38fc5006ed6319b5ac01808002be89",
      "parents": [
        "4d8024c498428f36d1a10bfac54be784072b2172",
        "310da64d78750cdba4349d7cc0a268c07155569d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 17:53:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 15 17:53:43 2010 -0700"
      },
      "message": "am 310da64d: am f182e8a8: fix a typo where the eventtags code were wrong\n\nMerge commit \u0027310da64d78750cdba4349d7cc0a268c07155569d\u0027\n\n* commit \u0027310da64d78750cdba4349d7cc0a268c07155569d\u0027:\n  fix a typo where the eventtags code were wrong\n"
    },
    {
      "commit": "310da64d78750cdba4349d7cc0a268c07155569d",
      "tree": "b129c419ae7daeb420463245912f051fe6a9f7d2",
      "parents": [
        "7ff945775210c60e6f113fb00903449cbb05c68a",
        "f182e8a8c2e726b376f3f4c0deb02dfdb6ae06a9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 12:53:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 15 12:53:59 2010 -0700"
      },
      "message": "am f182e8a8: fix a typo where the eventtags code were wrong\n\nMerge commit \u0027f182e8a8c2e726b376f3f4c0deb02dfdb6ae06a9\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f182e8a8c2e726b376f3f4c0deb02dfdb6ae06a9\u0027:\n  fix a typo where the eventtags code were wrong\n"
    },
    {
      "commit": "f182e8a8c2e726b376f3f4c0deb02dfdb6ae06a9",
      "tree": "914354535b65420c9f403e2e86c5ef1f5a7d89f4",
      "parents": [
        "9909b948ac83d2cf19f7eeb06748b85fcac2212a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 12:46:59 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 12:46:59 2010 -0700"
      },
      "message": "fix a typo where the eventtags code were wrong\n\nChange-Id: I517112a1475c10b71009a0aa9c3894c76a1f270f\n"
    },
    {
      "commit": "49478536b6b8b28f33398393bed5e939085af7af",
      "tree": "a83f41bc6da9dd267005ad23b0b32c6f40f860d0",
      "parents": [
        "a5ab8ce602ecfd897805e185c89a6eff0c78aabe",
        "14bc6b5d0677e5c454a67775c852f90389bb4567"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 12:32:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 15 12:32:29 2010 -0700"
      },
      "message": "am 14bc6b5d: am 09340a4b: Merge \"Replace epoll() with poll() and rename PollLoop to Looper.\" into gingerbread\n\nMerge commit \u002714bc6b5d0677e5c454a67775c852f90389bb4567\u0027\n\n* commit \u002714bc6b5d0677e5c454a67775c852f90389bb4567\u0027:\n  Replace epoll() with poll() and rename PollLoop to Looper.\n"
    },
    {
      "commit": "a5ab8ce602ecfd897805e185c89a6eff0c78aabe",
      "tree": "e393ed7e14ae9a42faaf542ccdeda36f6cacf7fa",
      "parents": [
        "19c5df745229374748f38c76a222ec8ce1d08e81",
        "48a862407dda482450bdfd5aa2a2cd8b3e8e38dd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 12:29:18 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 12:29:18 2010 -0700"
      },
      "message": "resolved conflicts for merge of 48a86240 to master\n\nChange-Id: I2305fef9f4dd46183337217d822df3c675b6b6e5\n"
    },
    {
      "commit": "dc1ab4b5cc274b7d744c11a939bb5910becec5e0",
      "tree": "b548d8f3afe385d196b250d208fcc529ac28ed0d",
      "parents": [
        "cee0b97eed0a460e2da58500e24d3e4dac5cb9f6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 18:03:38 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 20:46:14 2010 -0700"
      },
      "message": "Input API review.\n\nDrop currently unsupported input features.\nAdd documentation comments.\n\nChange-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592\n"
    },
    {
      "commit": "4e94c30ed5ddb79b168291b28bfad79eaed022ed",
      "tree": "68da325f20f2d0e02e40afaa72da5b25169cf0da",
      "parents": [
        "088146a4213f5099b8fcc93e1b75538c53f61404"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Tue Sep 14 16:49:08 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Tue Sep 14 16:49:08 2010 -0700"
      },
      "message": "Added command type to play recording sound.\n\nAdded CAMERA_CMD_PLAY_RECORDING_SOUND command type to play recording\nsound through sendCommand. This is currently needed by time lapse\nrecording using still mode capture, which disables the shutter sound\nbut needs to play the recording sound.\n\nChange-Id: I376aa40f45b6064fd862abc065456b06fc338020\n"
    },
    {
      "commit": "14bc6b5d0677e5c454a67775c852f90389bb4567",
      "tree": "5bdb785c2a486787fb2d4294980b51df69765d62",
      "parents": [
        "48a862407dda482450bdfd5aa2a2cd8b3e8e38dd",
        "09340a4bb99507d9b6bfbfc68a450d4d4f354d73"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 15:32:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 14 15:32:03 2010 -0700"
      },
      "message": "am 09340a4b: Merge \"Replace epoll() with poll() and rename PollLoop to Looper.\" into gingerbread\n\nMerge commit \u002709340a4bb99507d9b6bfbfc68a450d4d4f354d73\u0027 into gingerbread-plus-aosp\n\n* commit \u002709340a4bb99507d9b6bfbfc68a450d4d4f354d73\u0027:\n  Replace epoll() with poll() and rename PollLoop to Looper.\n"
    },
    {
      "commit": "09340a4bb99507d9b6bfbfc68a450d4d4f354d73",
      "tree": "603df9bc5628adab2095e8d90014e71d84690d51",
      "parents": [
        "b3ffc78f3432344702e6f5232067ab624083cad2",
        "4fe6c3e51be77e35f40872cdbca6c80f8f8b7ecb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 15:27:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 15:27:33 2010 -0700"
      },
      "message": "Merge \"Replace epoll() with poll() and rename PollLoop to Looper.\" into gingerbread"
    },
    {
      "commit": "48a862407dda482450bdfd5aa2a2cd8b3e8e38dd",
      "tree": "9cf822d456fab1858f266b491a81bc90868c36b5",
      "parents": [
        "b30f21882080bd4c0d7c3b25878151dd19ac3f94",
        "b3ffc78f3432344702e6f5232067ab624083cad2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 14 15:14:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 14 15:14:10 2010 -0700"
      },
      "message": "am b3ffc78f: Merge \"Add logging of various important graphics events\" into gingerbread\n\nMerge commit \u0027b3ffc78f3432344702e6f5232067ab624083cad2\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b3ffc78f3432344702e6f5232067ab624083cad2\u0027:\n  Add logging of various important graphics events\n"
    },
    {
      "commit": "088146a4213f5099b8fcc93e1b75538c53f61404",
      "tree": "ef4e7f1a9b97228a48a8ff3db316236d17237820",
      "parents": [
        "1510770165b7bc675e5171560e907c0269dbe0fa"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Sat Sep 11 19:31:10 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Tue Sep 14 13:57:59 2010 -0700"
      },
      "message": "Adding enable/disable option for sendCommand()\n\n- Added enum CAMERA_CMD_ENABLE_SHUTTER_SOUND which corresponds to\n  command type for enabling/disabling shutter sound.\n- The implementation checks if it is legal to disable shutter sound.\n  If it is, then any process can disable the sound. If not, then only\n  the mediaserver process is allowed to do this. Currently time lapse\n  capture needs this functionality to disable shutter sound when still\n  mode is used to capture time lapse video.\n\nChange-Id: Id147a3bcc6a345c2c6a6d52bf98fd8292386bb19\n"
    },
    {
      "commit": "4fe6c3e51be77e35f40872cdbca6c80f8f8b7ecb",
      "tree": "5cbcfad147ad1bf26deb384e41d27f4e6bfcdb80",
      "parents": [
        "c891d2b3529b9cf24ef4781a585cd4784815e711"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 13 23:17:30 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 01:59:45 2010 -0700"
      },
      "message": "Replace epoll() with poll() and rename PollLoop to Looper.\n\nAs part of this change, consolidated and cleaned up the Looper API so\nthat there are fewer distinctions between the NDK and non-NDK declarations\n(no need for two callback types, etc.).\n\nRemoved the dependence on specific constants from sys/poll.h such as\nPOLLIN.  Instead looper.h defines events like LOOPER_EVENT_INPUT for\nthe events that it supports.  That should help make any future\nunder-the-hood implementation changes easier.\n\nFixed a couple of compiler warnings along the way.\n\nChange-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae\n"
    },
    {
      "commit": "04262e9f842edf20168399b6a70f0d67e518fe69",
      "tree": "dd2c01550c43c4658f78d87a60d8d8407af9afe9",
      "parents": [
        "cc5494c9996f809e36539b24e8b6b67683383d29"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 13 22:57:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 13 23:16:58 2010 -0700"
      },
      "message": "Add logging of various important graphics events\n\nThere are 16 events logged in the event log:\nSF_APP_DEQUEUE_BEFORE\nSF_APP_DEQUEUE_AFTER\nSF_APP_LOCK_BEFORE\nSF_APP_LOCK_AFTER\nSF_APP_QUEUE\n\nSF_REPAINT\nSF_COMPOSITION_COMPLETE\nSF_UNLOCK_CLIENTS\nSF_SWAP_BUFFERS\nSF_REPAINT_DONE\n\nSF_FB_POST_BEFORE\nSF_FB_POST_AFTER\nSF_FB_DEQUEUE_BEFORE\nSF_FB_DEQUEUE_AFTER\nSF_FB_LOCK_BEFORE\nSF_FB_LOCK_AFTER\n\nall events log the buffer conserned and a timestamp in microseconds.\n\nby default the logging is not enabled, to turn it on:\nadb shell service call SurfaceFlinger 1006 i31 1\nadb shell setprop debug.graphic_log 1\n\nThe effect is immediate in SurfaceFlinger, but applications need to be\nrestarted.\n\nChange-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1\n"
    },
    {
      "commit": "0c7d077e9a35f02bbde08eeb19cf3b83aeafaf10",
      "tree": "310cd6806da3455675f2ebf8fa3336de2b8ffe31",
      "parents": [
        "cec7eb1c079331ba38ed4472abe26a55d6427324",
        "fde2ca180ea63ebd314770ec55b97e0a3c5a0788"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Sep 12 20:41:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 12 20:41:07 2010 -0700"
      },
      "message": "Merge changes I68379740,I9053218f\n\n* changes:\n  MediaFile: Add support for some popular non-media file types.\n  Media scanner support for tracking files of arbitrary type.\n"
    },
    {
      "commit": "c37255d5d0fd9e0ec02b0d7cb5c4b235e200d367",
      "tree": "6feb14e577a8ed66bf2c2afe6b39f47246b9cf49",
      "parents": [
        "6d000d4eb733fc6ad7fcd27a4022a41f8433306d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Sep 10 14:47:36 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Sep 12 23:21:44 2010 -0400"
      },
      "message": "Media scanner support for tracking files of arbitrary type.\n\nThe native media scanner no longer filters files based on file extension.\nAudio, video, image and playlist files are handled as before, but non-media\nfiles are now inserted into the \"files\" table, which was originally added\nto support MTP.\n\nChange-Id: I9053218fb6d2671a3bb181405c34442b94678afc\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b3787d57fffbb898f4767f7a94031cafe974a0b0",
      "tree": "305041731ad251326cd7e6c2a98500253ada83f9",
      "parents": [
        "2f761760459fe27c8e9f96569bb7f28fc5b58bab",
        "0f0541e40cfef51eb5c3769e53c1aa853b53aaf6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 17:15:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 12 17:15:19 2010 -0700"
      },
      "message": "am 0f0541e4: am b88102f5: Input dispatcher ANR handling enhancements.\n\nMerge commit \u00270f0541e40cfef51eb5c3769e53c1aa853b53aaf6\u0027\n\n* commit \u00270f0541e40cfef51eb5c3769e53c1aa853b53aaf6\u0027:\n  Input dispatcher ANR handling enhancements.\n"
    },
    {
      "commit": "0f0541e40cfef51eb5c3769e53c1aa853b53aaf6",
      "tree": "9f7ba67999b459df9ac19b6df6b5712da4163a13",
      "parents": [
        "7d5c0e660e52888f986acef2cecde8ddc9ca26c8",
        "b88102f5b7e51552a3576cf197b4c8cf96f193d1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 17:05:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 12 17:05:38 2010 -0700"
      },
      "message": "am b88102f5: Input dispatcher ANR handling enhancements.\n\nMerge commit \u0027b88102f5b7e51552a3576cf197b4c8cf96f193d1\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b88102f5b7e51552a3576cf197b4c8cf96f193d1\u0027:\n  Input dispatcher ANR handling enhancements.\n"
    },
    {
      "commit": "b88102f5b7e51552a3576cf197b4c8cf96f193d1",
      "tree": "c714dce33893a048f42a36e78b25dc0bc971b1c3",
      "parents": [
        "11fe181e16501103d7c0f70344661ea2ef5d3df9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 11:49:43 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 16:52:03 2010 -0700"
      },
      "message": "Input dispatcher ANR handling enhancements.\n\nThis change is essentially a rewrite of the main input dispatcher loop\nwith the target identification folded in.  Since the input dispatcher now\nhas all of the window state, it can make better decisions about\nwhen to ANR.\n\nAdded a .5 second deadline for processing app switch keys.  This behavior\npredates Gingerbread but had not previously been ported.\n\nFixed some timing inaccuracies in the ANR accounting that could cause\napplications to ANR sooner than they should have.\n\nAdded a mechanism for tracking key and motion events that have been\ndispatched to a window so that appropriate cancelation events can be\nsynthesized when recovering from ANR.  This change helps to keep\napplications in sync so they don\u0027t end up with stuck buttons upon\nrecovery from ANRs.\n\nAdded more comments to describe the tricky parts of PollLoop.\n\nChange-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1\n"
    },
    {
      "commit": "522632cde516001429549c60bd570c399ffad800",
      "tree": "6777277e2e606f9580282ac1ce0670bdf382e8c0",
      "parents": [
        "5976d24d6fad2a0d97a7d9ad31f1ceac15a2ea94"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 10 15:45:57 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 10 18:01:46 2010 -0700"
      },
      "message": "Exposing specific profile levels + hasProfile().\n\n- Exposing the specific resolution profile levels\n  QUALITY_{QCIF,CIF,480P,720P,1080P} and the new time lapse profiles\n  QUALITY_TIME_LAPSE_{LOW,HIGH,QCIF,CIF,480P,720P,1080P}\n- Unhiding the hasProfile() function used to test if a given profile exists.\n\nChange-Id: I5d8b9e1ba61718f304235e76d85244e428e68643\n"
    },
    {
      "commit": "55d39f20660d3c619f8342bbee4bbd11a30de8ba",
      "tree": "6e1fc0886985e4b05580c540e34d45216a93288a",
      "parents": [
        "795155ae42942b0eaa2aa81212a41722ca21b2fc",
        "9d619542bea7d4c376a5a8b4a55c795a796adef3"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 10 15:04:17 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 10 15:04:17 2010 -0700"
      },
      "message": "Merge \"Adding hasProfile.\""
    },
    {
      "commit": "35c8b532e576abc50fe7cdb42db0e22ccb1c7390",
      "tree": "40bec899e72afc0f48ea1fdcccf0fbdf101704ca",
      "parents": [
        "bcd3387eed8910c540d92f26fb6680e9e0ce0588",
        "4af0dfd6cbc13fa6a89ec1430cbe6f619cd64d8a"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 10 14:26:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 10 14:26:45 2010 -0700"
      },
      "message": "Merge \"Added specific resolution and time lapse profiles.\""
    },
    {
      "commit": "9d619542bea7d4c376a5a8b4a55c795a796adef3",
      "tree": "925230ba48a7fec87d014def9eee6cdc317b004b",
      "parents": [
        "4af0dfd6cbc13fa6a89ec1430cbe6f619cd64d8a"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Thu Sep 09 16:25:08 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 10 14:22:11 2010 -0700"
      },
      "message": "Adding hasProfile.\n\n- Added hasProfile to CamcorderProfile and JNI.\n- Added hasCamcorderProfile to MediaProfiles.\n- using android.hardware.Camera.CAMERA_ID_DEFAULT for default camera\n  in get().\n\nChange-Id: Ib57bb49ae79492d7cbc0ec6c7b6efcbf74f80013\n"
    },
    {
      "commit": "4af0dfd6cbc13fa6a89ec1430cbe6f619cd64d8a",
      "tree": "aaa4599e3227fe74ca166cfd39d38c1fd62d19ea",
      "parents": [
        "4a857e620fecd91d051d8e58f573b5ff30d81aaf"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Mon Sep 06 15:59:02 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 10 14:22:08 2010 -0700"
      },
      "message": "Added specific resolution and time lapse profiles.\n\n- Added enums QUALITY_{QCIF,480P,720P,1080P}\n  QUALITY_TIME_LAPSE_{LOW,HIGH,QCIF,480P,720P,1080P} in CamcorderProfile\n  and corresponding ones in MediaProfiles.\n- Added functions createDefaultCamcorderTimeLapseLowProfile,\n  createDefaultCamcorderTimeLapseHighProfile to set default values.\n- Moved javadoc for constants to the get() function.\n\nChange-Id: Ib8b3f8d29395dff77a397d1e6b44cfaf8c481d4d\n"
    },
    {
      "commit": "3d6b009db124615a09e2c6dcf25bf8352f6aaca9",
      "tree": "fd62f638908e2c4828a7e42a93912e492c588cc3",
      "parents": [
        "200c13d37fb394c218a3824c428a116207266316",
        "09f1e2b2151ea18c05b9138a0a5cb63af18ea373"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Sep 10 11:29:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 10 11:29:10 2010 -0700"
      },
      "message": "am 09f1e2b2: resolved conflicts for merge of 56aa3c76 to gingerbread-plus-aosp\n\nMerge commit \u002709f1e2b2151ea18c05b9138a0a5cb63af18ea373\u0027\n\n* commit \u002709f1e2b2151ea18c05b9138a0a5cb63af18ea373\u0027:\n  Initial contribution from Sony Corporation.\n"
    },
    {
      "commit": "09f1e2b2151ea18c05b9138a0a5cb63af18ea373",
      "tree": "a8867b197b5f31b9fc3d59dc724ffc9f1e43f3b3",
      "parents": [
        "94db0238a3b6cba3cbf0e037af74e898a4741204",
        "56aa3c761d4e8c618151e92135706838abd84a6c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Sep 10 09:53:43 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Sep 10 09:53:43 2010 -0700"
      },
      "message": "resolved conflicts for merge of 56aa3c76 to gingerbread-plus-aosp\n\nChange-Id: I3d36a665f93f976824592edf35f6d6a205cc7617\n"
    },
    {
      "commit": "9584a542e345fa18fc62eb0b5947f250226f211d",
      "tree": "d4b34b8882f317dfa718067407ed03e07d9b685f",
      "parents": [
        "e3aa6aa77014b5798f95f6c5817df85910ecaac3",
        "a2341a9f6addcd79723965ec5b1a1c5ae0f8bd65"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 08 18:06:11 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 08 18:06:11 2010 -0700"
      },
      "message": "Merge \"Purge Skia objects from GL caches as needed.\""
    },
    {
      "commit": "a2341a9f6addcd79723965ec5b1a1c5ae0f8bd65",
      "tree": "ce61e01a0719f9fc52e48be002fe1d57d3af9c68",
      "parents": [
        "9aaa8269a3e7291aab84d01c3fc9c744d8f2d2f4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 08 18:04:33 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 08 18:04:33 2010 -0700"
      },
      "message": "Purge Skia objects from GL caches as needed.\n\nChange-Id: I754c671cf790ad5ae8bf047ad328034217da4ecc\n"
    },
    {
      "commit": "e3aa6aa77014b5798f95f6c5817df85910ecaac3",
      "tree": "1191efdfffad53daa99abaefdbc8adb505764f32",
      "parents": [
        "13831586874fab1592a9d6f9134a693b0b27bae8",
        "306cd58ddcc0cb8487bc6e015f8c692eea47a334"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 08 17:57:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 08 17:57:56 2010 -0700"
      },
      "message": "am 306cd58d: am d353c840: Merge \"HW audio encoder expects timestamp via kKeyTime from each input buffer\" into gingerbread\n\nMerge commit \u0027306cd58ddcc0cb8487bc6e015f8c692eea47a334\u0027\n\n* commit \u0027306cd58ddcc0cb8487bc6e015f8c692eea47a334\u0027:\n  HW audio encoder expects timestamp via kKeyTime from each input buffer\n"
    },
    {
      "commit": "d353c840ad5bf1b4e6bfba0e10bcdc79223bcdf7",
      "tree": "63e02f1e03b8bea17ad4dd2b5d255b61052d080c",
      "parents": [
        "46b84d5b4a44dbab8e0f6ee11f3ab42e11ce97bb",
        "d015ccf62b4e87756e2f7785af92338d35a21c15"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 08 17:51:59 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 08 17:51:59 2010 -0700"
      },
      "message": "Merge \"HW audio encoder expects timestamp via kKeyTime from each input buffer\" into gingerbread"
    },
    {
      "commit": "d015ccf62b4e87756e2f7785af92338d35a21c15",
      "tree": "c16ad2eeac8bda1f98174ad96273aacc1b1cc414",
      "parents": [
        "4c7d3f28898f4e0d8e9f54537fb92948e650df7f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 08 15:07:21 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 08 17:28:57 2010 -0700"
      },
      "message": "HW audio encoder expects timestamp via kKeyTime from each input buffer\n\n- This fixes media server crashes on droid\n\nChange-Id: I7191cadc5275107425ec3ee3d437b2c5295858dc\n"
    },
    {
      "commit": "15ff01cdb4c4878936a903ea7699daf1fa2b5927",
      "tree": "ff7d847d495b7f6bd2a60d074562bcb25c3ff6d3",
      "parents": [
        "62ecf53538ce46662a71f3026cf3aa5b5224cd6a",
        "e126119c3a406bc564f2549aeb1416aff112689d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 08 17:22:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 08 17:22:54 2010 -0700"
      },
      "message": "am e126119c: am 95d86480: Merge \"Modify type of some environmental reverb parameters\" into gingerbread\n\nMerge commit \u0027e126119c3a406bc564f2549aeb1416aff112689d\u0027\n\n* commit \u0027e126119c3a406bc564f2549aeb1416aff112689d\u0027:\n  Modify type of some environmental reverb parameters\n"
    },
    {
      "commit": "95d5de06819e98e298892f0486ee7ff210bcdd8b",
      "tree": "d2b07a359e137b24217c1ee730557412bacda80f",
      "parents": [
        "d9c80ab31ac3755141765e2c030bd1404ff0b050"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 08 16:06:18 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 08 16:06:18 2010 -0700"
      },
      "message": "Modify type of some environmental reverb parameters\n\nChanged type of decay time, reverb delay and reflections delay parameters\nfrom signed to unsigned int to match OpenSL ES interface definition.\n\nAlso fixed some type casts in lvm reverb wrapper.\n\nChange-Id: I5ca5e76a87c2590f01f031f3168355586ef22556\n"
    },
    {
      "commit": "3dfc5721ad4dfe15962fd18daf038044cd09bf86",
      "tree": "253f204e886b072920f4c38f4751b0ff91d765e1",
      "parents": [
        "de6386b8a66eade182ffb0eee8124c0814de960c",
        "8723bb58b17a07b7ca036cc76d737c6c0f4b13c7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 14:38:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 08 14:38:09 2010 -0700"
      },
      "message": "am 8723bb58: am b21fb104: Fix key repeat delay.\n\nMerge commit \u00278723bb58b17a07b7ca036cc76d737c6c0f4b13c7\u0027\n\n* commit \u00278723bb58b17a07b7ca036cc76d737c6c0f4b13c7\u0027:\n  Fix key repeat delay.\n"
    },
    {
      "commit": "b380c4d7edc158788a85c906900232675c0164ac",
      "tree": "579f4e6e8cd611c0f95302e0e53b6739b2e4d84e",
      "parents": [
        "35dc79da11639117aab34d3278a7ae90984c0f87",
        "a05088c18d22f822e78e7b91d60f518dc3dc06fc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 13:02:55 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 13:02:55 2010 -0700"
      },
      "message": "resolved conflicts for merge of a05088c1 to master\n\nChange-Id: I7973f9f28586dec9b9659f8f662f40db7997a521\n"
    },
    {
      "commit": "b21fb104cc95fe7e5daf3b3626241e525c39a3f1",
      "tree": "5223ab6cdc459955d35add9af46210c8c6249a48",
      "parents": [
        "de2f3340d64e20e51029ff438f0d635d97b8a3e0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 07 10:44:57 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 12:28:43 2010 -0700"
      },
      "message": "Fix key repeat delay.\n\nChange-Id: I6216e082324ee29bf50e37acc673350ca5417c4d\n"
    },
    {
      "commit": "85a3176704b5bfbeece9bd928369fbb76eec7dc6",
      "tree": "1a84f21c037b514c5b6717b106f5a9a2c4fd6c99",
      "parents": [
        "c0b4f6d30d962d75125628317b5f5ea622531dfe"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 01 17:01:00 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 11:50:55 2010 -0700"
      },
      "message": "Add support for secure views.\n\nAdded the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the\ninput manager whenever another visible window is partly or wholly obscured\nthe target of a touch event so that applications can filter touches\naccordingly.\n\nAdded a \"filterTouchesWhenObscured\" attribute to View which can be used to\nenable filtering of touches when the view\u0027s window is obscured.\n\nChange-Id: I936d9c85013fd2d77fb296a600528d30a29027d2\n"
    },
    {
      "commit": "347262622b86410ff8a4ff3530ab3688b6a20b21",
      "tree": "f596d33ff54ab5169a7c52e19319b63d0e200e63",
      "parents": [
        "7dea769319701f4e883fc448507967b806b9b245",
        "a1205f07a6f0c745e8f42f16fe38c06af04143c7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 07 18:52:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 07 18:52:06 2010 -0700"
      },
      "message": "am a1205f07: am 2d3739d4: Merge \"Modify native ALooper to take an explicit ident.\" into gingerbread\n\nMerge commit \u0027a1205f07a6f0c745e8f42f16fe38c06af04143c7\u0027\n\n* commit \u0027a1205f07a6f0c745e8f42f16fe38c06af04143c7\u0027:\n  Modify native ALooper to take an explicit ident.\n"
    },
    {
      "commit": "42c03e579aade011b451e2a13ea3f44a2ef0056a",
      "tree": "1716fbd88e2beb816d303c3d3fa0ca1785b8db61",
      "parents": [
        "6e86915e8f5dfffa60ae5d1a4ca9aa74912fd026"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 07 15:28:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 07 15:46:55 2010 -0700"
      },
      "message": "Modify native ALooper to take an explicit ident.\n\nThe ALooper API now uses an explicit \"identifier\" for the integer\nthat is returned rather than implicitly using the fd.  This allows\nthe APIs that had the fd to be a little more sane.\n\nChange-Id: I8507f535ad484c0bdc4a1bd016d87bb09acd7ff0\n"
    },
    {
      "commit": "f5e1faf1ccee6698b7e51cd70ab382ee0c8bc5e1",
      "tree": "b258b3c38cd485089e02c64187702f05add33634",
      "parents": [
        "7e955e7ccef41fba8bed9f6b9d4fd59afb9007ae",
        "4a857e620fecd91d051d8e58f573b5ff30d81aaf"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 03 17:14:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 03 17:14:51 2010 -0700"
      },
      "message": "Merge changes I71f5b0fc,I92c7accb\n\n* changes:\n  Moving decision to use still camera to CameraSourceTimeLapse\n  pass auxiliary video parameters.\n"
    },
    {
      "commit": "4a857e620fecd91d051d8e58f573b5ff30d81aaf",
      "tree": "115280da6f02ce144863960052fe75340aa9225b",
      "parents": [
        "ab15bce98d44b67f221b6fb8a377744940dda46c"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Thu Sep 02 11:43:15 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Sep 03 17:09:36 2010 -0700"
      },
      "message": "Moving decision to use still camera to CameraSourceTimeLapse\n\nCameraSourceTimeLapse now decides whether to use still or video\ncamera automatically. It checks if the passed in size is a valid\npreview size and if it is, then uses the video camera else uses\nthe still camera.\n\nRemoved from StagefrightRecorder the support to set parameter\nuseStillCameraForTimeLapse.\n\nChange-Id: I71f5b0fc7080ca524792381efe918d22e41a7f36\n"
    },
    {
      "commit": "1ab9d1289b0e31033ba87490f185732e08bed7b5",
      "tree": "5ee30a851541809d9052966b7110b8e530c20bc4",
      "parents": [
        "a093659dd0ed5b17df1a5d7266345b50e6f1a023",
        "8e11c82247151085fa165c76bfbc157bc6091ca4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 03 14:54:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 03 14:54:28 2010 -0700"
      },
      "message": "am 8e11c822: am 9fee0b2a: Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer\\\u0027s setLooping setting.\n\nMerge commit \u00278e11c82247151085fa165c76bfbc157bc6091ca4\u0027\n\n* commit \u00278e11c82247151085fa165c76bfbc157bc6091ca4\u0027:\n  Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer\u0027s setLooping setting.\n"
    },
    {
      "commit": "a093659dd0ed5b17df1a5d7266345b50e6f1a023",
      "tree": "739e9c62cae44fc476472fb439e55a592ba013ea",
      "parents": [
        "9096a427ced8b020730cfce136a276ff00724485",
        "33a78149e00806d055ff214d300279963965a677"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Sep 03 14:42:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 03 14:42:06 2010 -0700"
      },
      "message": "Merge \"Add the new Stagefright ANativeWindow OMX codec API.\""
    },
    {
      "commit": "33a78149e00806d055ff214d300279963965a677",
      "tree": "cdacfed612894aacaf7d8aca82501cd9895bd9cd",
      "parents": [
        "0eb9b77eec4abb201a6c90cf543172df6473a19e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 30 16:48:38 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Sep 03 14:32:42 2010 -0700"
      },
      "message": "Add the new Stagefright ANativeWindow OMX codec API.\n\nThis change defines the two OMX_SetParameter calls that enable OMX codecs to\ninteract with ANativeWindows.  It also adds the plumbing to the IOMX, OMX, and\nOMXNodeInstance classes to use these new APIs.\n\nThis is try 2 for this change, after reverting the first one because it broke\nthe build.\n\nChange-Id: I94249b72bdb5d5719360f03d7935fcca4ece5028\n"
    },
    {
      "commit": "9fee0b2a02daa6fcf286ed930e45400dd3ba8dba",
      "tree": "ec5571f890b18ed4daf0c91d994e411911dea5fe",
      "parents": [
        "dc243482d6e104c4a3cddaa694c2ee3c628c2c20"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 03 14:09:21 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 03 14:31:50 2010 -0700"
      },
      "message": "Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer\u0027s setLooping setting.\n\nChange-Id: Ifb564c6cdf6137eac14869f9ca7d471f05a5556a\nrelated-to-bug: 2974691\n"
    },
    {
      "commit": "9b3569bc42a4c85e86724cea693368693fb76fe7",
      "tree": "13fd40a3ba766eede97e2e69490ddf2f003ccbce",
      "parents": [
        "2af574d815c3d687a7fe56f816342b022c0d711b",
        "bc1452a307ac61ca87bf78722701ac85100952af"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 03 11:37:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 03 11:37:14 2010 -0700"
      },
      "message": "am bc1452a3: am 7755cdd6: Remove unused/debugging code from MP4 file writer\n\nMerge commit \u0027bc1452a307ac61ca87bf78722701ac85100952af\u0027\n\n* commit \u0027bc1452a307ac61ca87bf78722701ac85100952af\u0027:\n  Remove unused/debugging code from MP4 file writer\n"
    },
    {
      "commit": "7755cdd69690ccbb42c6fd47b3e9c4594d4ade82",
      "tree": "1f0415e8cc750bd9f3ce33ae6efb25c5d40a43fe",
      "parents": [
        "46e63b346770efa14451b8e67b7f7636c4e5a76c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 02 10:49:55 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 03 10:13:19 2010 -0700"
      },
      "message": "Remove unused/debugging code from MP4 file writer\n\no also makes nal length in the recorded file modifiable at runtime\n\nChange-Id: I731b4dde7070d8d9628b36b523a5b2c011c7c2cf\n"
    }
  ],
  "next": "0e60f5304b51fe168b8c356b0cb3150b321a8d95"
}
