)]}'
{
  "log": [
    {
      "commit": "b63d91c6fc90ee8f71bad9380b45dfe6b5d96f57",
      "tree": "f3aec3ab490d1e3f7a93a0e875ba2c855893f0d7",
      "parents": [
        "8fb0faf3cc2f792db8cf38fe5ab67c5eab7baa5c",
        "f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 01:16:08 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 11 01:16:08 2009 -0800"
      },
      "message": "am f9b0e826: fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly\n\nMerge commit \u0027f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2\u0027 into eclair-mr2\n\n* commit \u0027f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2\u0027:\n  fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly\n"
    },
    {
      "commit": "f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2",
      "tree": "3754aea1ac6f237145cddaadd66fba56d8abd939",
      "parents": [
        "7eb6ec1f44ade4c7bf3d23cbcfe29a17bbd940b1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 00:56:10 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 00:56:10 2009 -0800"
      },
      "message": "fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly\n\nWhen a surface is removed from the screen while it holds a \"freeze lock\", the\nrelease of that lock happens in the destructor as a \"safety net\". However, it\ndoesn\u0027t trigger an update at that point.\n\nMake sure that \"freeze locks\" are released from the transaction at the point\na surface is removed from the screen (if it\u0027s not on screen, it shouldn\u0027t\nprevent the screen to redraw, and therefore cannot hold a freeze lock).\nThe refresh corresponding to that transaction will pick it up as soon as possible.\n"
    },
    {
      "commit": "024726391ad1536c5fa4af3f786141e200efed54",
      "tree": "c91d6d1401f55fdc9d9259be9708a9ac4ca2969b",
      "parents": [
        "218aa94581293876a4283f8d5908843c8f818e3a",
        "083a557c25e0032bc4900f335b6643d0badd09ce"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 19:48:05 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 19:48:05 2009 -0800"
      },
      "message": "am 083a557c: fix [2319255] crash in openGL : from the media recorder stress test.\n\nMerge commit \u0027083a557c25e0032bc4900f335b6643d0badd09ce\u0027 into eclair-mr2\n\n* commit \u0027083a557c25e0032bc4900f335b6643d0badd09ce\u0027:\n  fix [2319255] crash in openGL : from the media recorder stress test.\n"
    },
    {
      "commit": "218aa94581293876a4283f8d5908843c8f818e3a",
      "tree": "b76fdd7443fc8055786b7461701ab027a0e195d6",
      "parents": [
        "9de0dba37cdb74a21e561c5235757318f1812e3d",
        "bb79f64b89bd7be7019035a0347c681e6f39fe6b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 18:05:19 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 18:05:19 2009 -0800"
      },
      "message": "Merge change I6478884a into eclair-mr2\n\n* changes:\n  Add string resource type inspection\n"
    },
    {
      "commit": "75ca58d6f877541516f4f2710b4bed39fa7c4266",
      "tree": "be55b2cc1e100589fa765c1d7042cab519126acd",
      "parents": [
        "6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b",
        "76169da0e84b0fcf621aeac6141af3ee85bc7c1e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 17:40:41 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 17:40:41 2009 -0800"
      },
      "message": "am 76169da0: fix [2315900] Monochrome camera preview screen after launching camera\n\nMerge commit \u002776169da0e84b0fcf621aeac6141af3ee85bc7c1e\u0027 into eclair-mr2\n\n* commit \u002776169da0e84b0fcf621aeac6141af3ee85bc7c1e\u0027:\n  fix [2315900] Monochrome camera preview screen after launching camera\n"
    },
    {
      "commit": "8f31c23021a3f8164eee08cf904c3f083ddfc3d2",
      "tree": "e8a04c30bad81e1b6ea73e896905ec2b04cbd4a0",
      "parents": [
        "ae5bd2b9cc36a21b890ded808d9374ab02364d1d",
        "57ce0888fcb1376b385c3dab5e4262793acaaf16"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 10 16:45:22 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 16:45:22 2009 -0800"
      },
      "message": "am 57ce0888: Merge change Id22c0137 into eclair\n\nMerge commit \u002757ce0888fcb1376b385c3dab5e4262793acaaf16\u0027 into eclair-mr2\n\n* commit \u002757ce0888fcb1376b385c3dab5e4262793acaaf16\u0027:\n  Throttle low priority RS threads by sleeping once per frame to avoid starving other apps.\n"
    },
    {
      "commit": "ae5bd2b9cc36a21b890ded808d9374ab02364d1d",
      "tree": "2d53d20f33e74c6f9c439aa83280c2d760938fc0",
      "parents": [
        "326d808b858359464b2ffeb84f2e0a8e0c79b600",
        "d8c752ef74bc6d8b412defe35caf1a19be15eb8b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 16:43:09 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 16:43:09 2009 -0800"
      },
      "message": "am d8c752ef: Merge change Ib548dbb2 into eclair\n\nMerge commit \u0027d8c752ef74bc6d8b412defe35caf1a19be15eb8b\u0027 into eclair-mr2\n\n* commit \u0027d8c752ef74bc6d8b412defe35caf1a19be15eb8b\u0027:\n  improve video performance to minimize the tearing effect seen in 720p movies\n"
    },
    {
      "commit": "083a557c25e0032bc4900f335b6643d0badd09ce",
      "tree": "9857c00ce37ca5faa422d7c710f7175b0cd3ff9e",
      "parents": [
        "b9b45a5e26ed020a39a507a173d9f29e336cf989"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 15:52:29 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 15:59:08 2009 -0800"
      },
      "message": "fix [2319255] crash in openGL : from the media recorder stress test.\n\nnever call eglCreateImageKHR() with a NULL native buffer, which can\nhappen in OOM conditions.\n"
    },
    {
      "commit": "bb79f64b89bd7be7019035a0347c681e6f39fe6b",
      "tree": "d938e21a91d0d71dba49f89e36920f6654284536",
      "parents": [
        "159f0015418955501d8cf2744b0393db2e73f394"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 10 14:20:15 2009 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 10 14:22:08 2009 -0800"
      },
      "message": "Add string resource type inspection\n\nAllows \"aapt dump --values resource\" to print out whether a string in a\nResStringPool is in UTF-8 or UTF-16 encoding.\n\nChange-Id: I6478884a70a3b46fee862dece6cb33454fc34843\n"
    },
    {
      "commit": "76169da0e84b0fcf621aeac6141af3ee85bc7c1e",
      "tree": "f1d58c4a189844408fc15b6c6dad1776c392031a",
      "parents": [
        "86ed86d2260932bdf2217b1d8431ac9e04d47534"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 09 14:32:56 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 09 15:26:29 2009 -0800"
      },
      "message": "fix [2315900] Monochrome camera preview screen after launching camera\n\nthis was introduced by a recent change. when we try to figure out the size of\nthe yuv-\u003ergb temporary buffer, the output resolution has not been computed yet\nand an invalid buffer size is used. most of the time the allocation fails\nand the system reverts to \"standard\" GL will uses onle the Y plane.\n\nthe allocation of the temporary buffer is moved to onDraw(), the first\ntime it is called, by that time, the window is positioned properly.\n"
    },
    {
      "commit": "57ce0888fcb1376b385c3dab5e4262793acaaf16",
      "tree": "c21de7ba4665684bbc2270bb7079be7fd93e2ebb",
      "parents": [
        "d8c752ef74bc6d8b412defe35caf1a19be15eb8b",
        "b9d5c574ff11a9470b92c5b9a62da6a655d9ef7a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 09 11:07:16 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 09 11:07:16 2009 -0800"
      },
      "message": "Merge change Id22c0137 into eclair\n\n* changes:\n  Throttle low priority RS threads by sleeping once per frame to avoid starving other apps.\n"
    },
    {
      "commit": "b9d5c574ff11a9470b92c5b9a62da6a655d9ef7a",
      "tree": "34cf34d887ef839c36fd14fa034ef71156137fd7",
      "parents": [
        "d59fb6e7435b57d83662b196f5430e6f2bc5427b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 09 11:05:45 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 09 11:05:45 2009 -0800"
      },
      "message": "Throttle low priority RS threads by sleeping once per frame to avoid starving other apps.\n"
    },
    {
      "commit": "afbeb31bffd54ecd332da5d3751b42da02b62330",
      "tree": "b501dd35589cf87547a16de82e7ea9a8fb6a96fb",
      "parents": [
        "484fe4d6f45d5dc42c378baaad3fdad7d6ae612f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 08 19:45:59 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 08 19:45:59 2009 -0800"
      },
      "message": "Maybe really fix windows build.\n"
    },
    {
      "commit": "b548dbb22595edc843f1d78ce97bafab1e626a89",
      "tree": "2b601bd8bc22ff4eb87db57fc1c624e8be12c2eb",
      "parents": [
        "90d1b745ec4a7ccd15cdcc185420bf2000b4f7a3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 08 19:29:38 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 08 19:29:38 2009 -0800"
      },
      "message": "improve video performance to minimize the tearing effect seen in 720p movies\n\nalways rescale videos to their target size using copybit during yuv-\u003ergb\nconversion. this improves performance of the GPU pass and doesn\u0027t require\nlinear filtering to be enabled. Also always use 16-bits buffers.\n\nthe average processing time for 720p dropped from ~50ms to ~30ms\n"
    },
    {
      "commit": "06fb2c1c398d91787440978bf358bb9808cc2928",
      "tree": "e7a71ef944a31e1b8fdab4b6351336014cc0383a",
      "parents": [
        "b882b361f123e4ef7870c99e8a9fd9e1be48e396"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 08 16:38:01 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 08 16:38:01 2009 -0800"
      },
      "message": "Hopefully fix Windows build\n"
    },
    {
      "commit": "e6c0e99334bc2f47e5d36db253ac8f166047c03b",
      "tree": "67a2ab651f0bb32587d2b074e45a7095630fb07d",
      "parents": [
        "1270e2e22b0b3f0705cee2b82788d8dc3fb03cdb",
        "19138468caf7050d482dc15f35a344eab11bb756"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 13:41:38 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 13:41:38 2009 -0800"
      },
      "message": "Merge change I129483f8 into eclair-mr2\n\n* changes:\n  Optional use of UTF-8 strings in resource bundles\n"
    },
    {
      "commit": "887f355f99ff83d568ef2885a4fdcaae475583df",
      "tree": "c4788aa9ac8f37c6a02fc6b3a6874b71efb0f759",
      "parents": [
        "259e3384face72ea8e30696d7bae492d37d44e8b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 07 17:59:37 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 07 19:11:14 2009 -0800"
      },
      "message": "Propagate background scheduling class across processes.\n\nThis is a very simply implementation: upon receiving an IPC, if the handling\nthread is at a background priority (the driver will have taken care of\npropagating this from the calling thread), then stick it in to the background\nscheduling group.  Plus an API to turn this off for the process, which is\nused by the system process.\n\nThis also pulls some of the code for managing scheduling classes out of\nthe Process JNI wrappers and in to some convenience methods in thread.h.\n"
    },
    {
      "commit": "19138468caf7050d482dc15f35a344eab11bb756",
      "tree": "ea1f96c5bcab356355ab05d315abfa66a7f888c4",
      "parents": [
        "6be01bf207077ffbdcd3879250171a26ec805835"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Dec 04 09:38:48 2009 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Dec 07 15:14:15 2009 -0800"
      },
      "message": "Optional use of UTF-8 strings in resource bundles\n\nAllows the use of UTF-8 for packing resources instead of the\ndefault of UTF-16 for Java. When strings are extracted from the\nResStringPool, they are converted to UTF-16 and the result is\ncached for subsequent calls.\n\nWhen using aapt to package, add in the \"-8\" switch to pack the\nresources using UTF-8. This will result in the value, key, and\ntype strings as well as the compiled XML string values taking\nsignificantly less space in the final application package in\nmost scenarios.\n\nChange-Id: I129483f8b3d3b1c5869dced05cb525e494a6c83a\n"
    },
    {
      "commit": "38f6bdc4187f27f86c7f77c88095c663e005dbf4",
      "tree": "b2c2be033a08aae91a9466ae11645743d997499f",
      "parents": [
        "8c7ab034692eea550b97bebd7746e1a82735bbbd",
        "0a08029fc9a370c6ef2a2a6fd1d800d9159b61f8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 12:36:30 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 12:36:30 2009 -0800"
      },
      "message": "am 0a08029f: Fix issue  2306779: Runtime restart - Init failed at android.media.ToneGenerator.\n\nMerge commit \u00270a08029fc9a370c6ef2a2a6fd1d800d9159b61f8\u0027 into eclair-mr2\n\n* commit \u00270a08029fc9a370c6ef2a2a6fd1d800d9159b61f8\u0027:\n  Fix issue  2306779: Runtime restart - Init failed at android.media.ToneGenerator.\n"
    },
    {
      "commit": "0a08029fc9a370c6ef2a2a6fd1d800d9159b61f8",
      "tree": "09a95de3a82940953eaa587768422d5be2b0cebb",
      "parents": [
        "6d42d80653f2c41f3e72a878a1d9a6f9693b89f7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 10:53:10 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 12:30:22 2009 -0800"
      },
      "message": "Fix issue  2306779: Runtime restart - Init failed at android.media.ToneGenerator.\n\nThe ToneGenerator failed to initialize because no more tracks were available in AudioFlinger mixer.\n\nAll tracks were used because the duplicating output was failing to free the tracks on audio hardware output mixer when exiting due to a misplaced test on output activity: output tracks where only freed if the duplicating output was active when exiting.\n\nThe fix consists in freeing the output tracks when the duplicating thread is destroyed without condition.\n"
    },
    {
      "commit": "b8341cf7c8b0b4af14ea87a4c2335e28865adff1",
      "tree": "1cac06cd89253fc26cb610848cb4ddc2b1b9c4be",
      "parents": [
        "8e6d79e2b570d73b620a4f5a98d461329e5f2477",
        "6d42d80653f2c41f3e72a878a1d9a6f9693b89f7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 11:03:17 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 11:03:17 2009 -0800"
      },
      "message": "am 6d42d806: Merge change I9cc489a2 into eclair\n\nMerge commit \u00276d42d80653f2c41f3e72a878a1d9a6f9693b89f7\u0027 into eclair-mr2\n\n* commit \u00276d42d80653f2c41f3e72a878a1d9a6f9693b89f7\u0027:\n  Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent \"error 8\" state on future attempts and breaks voice search.\n"
    },
    {
      "commit": "6d42d80653f2c41f3e72a878a1d9a6f9693b89f7",
      "tree": "4bd87da69a44a4f4430b4d5715aaf6a0f26c0029",
      "parents": [
        "8445f367070514dce3154be73827107b8a93f234",
        "9cc489a2196e449dbe090ad9bdbc5cedd0b8334f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 07 11:00:54 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 07 11:00:54 2009 -0800"
      },
      "message": "Merge change I9cc489a2 into eclair\n\n* changes:\n  Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent \"error 8\" state on future attempts and breaks voice search.\n"
    },
    {
      "commit": "9cc489a2196e449dbe090ad9bdbc5cedd0b8334f",
      "tree": "6f6faede20b355f2a89bd45f2cd05d7d02d3e1db",
      "parents": [
        "ae952b3bcc3eb744cceb5cd0ae65b2c7a83f9de7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Dec 05 05:20:01 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 05:37:47 2009 -0800"
      },
      "message": "Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent \"error 8\" state on future attempts and breaks voice search.\n\nFixed AudioFlinger::openInput() broken in change ddb78e7753be03937ad57ce7c3c842c52bdad65e\nso that an invalid IO handle (0) is returned in case of failure.\nApplied the same correction to openOutput().\nModified RecordThread start procedure so that a failure occuring during the first read from audio input stream is detected and causes\nthe record start to fail.\nModified RecordThread stop procedure to make sure that audio input stream fd is closed before we exit the stop function.\n\nFixed AudioRecord JAVA and JNI implementation to take status of native AudioRecord::start() into account\nand not change mRecordingState to RECORDSTATE_RECORDING if start fails.\n"
    },
    {
      "commit": "401f422078581ae741b68d879609e57a4b227455",
      "tree": "0b0c03af23b41ce8e87cbfc160f8af81421d992d",
      "parents": [
        "05a22548dfbf697f9df7c53451c126999ed9a6f0",
        "0019215fc395ef12c191049b1903eeabf70859cf"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Dec 07 01:36:26 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 01:36:26 2009 -0800"
      },
      "message": "am 0019215f: Revert \"When using MDP, we needed to use a texture for diming.\"\n\nMerge commit \u00270019215fc395ef12c191049b1903eeabf70859cf\u0027 into eclair-mr2\n\n* commit \u00270019215fc395ef12c191049b1903eeabf70859cf\u0027:\n  Revert \"When using MDP, we needed to use a texture for diming.\"\n"
    },
    {
      "commit": "0019215fc395ef12c191049b1903eeabf70859cf",
      "tree": "f691468aed52d45ebd4e571a9ab09a11169aacc1",
      "parents": [
        "ae952b3bcc3eb744cceb5cd0ae65b2c7a83f9de7"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Dec 07 00:17:06 2009 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Dec 07 00:17:06 2009 -0800"
      },
      "message": "Revert \"When using MDP, we needed to use a texture for diming.\"\n\nThis reverts commit bf0c320afbf6bf2441916755ecb443b64afbe73f.\n"
    },
    {
      "commit": "5c49a9080df9e46193efa8326318c86bc8976eea",
      "tree": "6c893da9ec2f59ddfd43d2df0f832006368407b2",
      "parents": [
        "5d0806c9c3e0e6c8673ac4238f8ec2e0f82ad7e6",
        "c73ec39bd0e9ff983eb2fc17a863100825721d49"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 16:15:46 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 16:15:46 2009 -0800"
      },
      "message": "Merge change Ic73ec39b into eclair\n\n* changes:\n  DO NOT MERGE. Implement WAR which should prevent the white square bug from appearing on user devices.  If we see a 0 texture id during bind for rendering, attempt to re-upload.  If this fails log debug info and restart the app.\n"
    },
    {
      "commit": "c73ec39bd0e9ff983eb2fc17a863100825721d49",
      "tree": "eb5ca7b5864527536f053444d0fa74fe603315b2",
      "parents": [
        "678c2e35768a5426b4ad8f67c836008e7751a353"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 03 15:43:18 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 03 15:43:18 2009 -0800"
      },
      "message": "DO NOT MERGE. Implement WAR which should prevent the white square bug from appearing on user devices.  If we see a 0 texture id during bind for rendering, attempt to re-upload.  If this fails log debug info and restart the app.\n"
    },
    {
      "commit": "9b565d5bf38e77774956524f137d509471ae5fb2",
      "tree": "18495f4f4551cdabfd90ecfc4db76266d6ab5299",
      "parents": [
        "eefe7b1b3e24a84a62f1b711cc9fa4aaca4a62c6",
        "cef8d031e842b773bbd6481b517996a185391e92"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 03 15:35:55 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 15:35:55 2009 -0800"
      },
      "message": "am cef8d031: Merge change I00d0b54a into eclair\n\nMerge commit \u0027cef8d031e842b773bbd6481b517996a185391e92\u0027 into eclair-mr2\n\n* commit \u0027cef8d031e842b773bbd6481b517996a185391e92\u0027:\n  surfaceflinger: remove un-cached buffer hack for SGX\n"
    },
    {
      "commit": "00d0b54af1a6405366a659b34f0022dedf054ddf",
      "tree": "cd53e14a0a9770aa035ad0ffec6792908f3c7936",
      "parents": [
        "0a42b811aea490a9a605b75f0320101f6eafd283"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 03 14:08:19 2009 -0800"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 03 14:09:31 2009 -0800"
      },
      "message": "surfaceflinger: remove un-cached buffer hack for SGX\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "96dac84be4143d83b13648045b9af31ac0f81004",
      "tree": "8576e37837c03ecc455fd4ac2883b4d3b35481c9",
      "parents": [
        "f72fb68bf32014b075fe577c8495c2c8a86476a9",
        "121a31ac3901fcb81c808da2b4a9a7cf66c12b7c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 02 17:50:45 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 17:50:45 2009 -0800"
      },
      "message": "am 121a31ac: Merge change Id86beb99 into eclair\n\nMerge commit \u0027121a31ac3901fcb81c808da2b4a9a7cf66c12b7c\u0027 into eclair-mr2\n\n* commit \u0027121a31ac3901fcb81c808da2b4a9a7cf66c12b7c\u0027:\n  fix [2291418] Camera preview cannot work in Emulator\n"
    },
    {
      "commit": "d86beb99a7c9625daad01c4aaa5eaf4ca3ac2194",
      "tree": "b4bbba929ebc29b2ccb1aef1b7c44e115769e772",
      "parents": [
        "cc6ff2bc6011294367d9a8c644f811449e952eb7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 02 16:23:11 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 02 16:23:11 2009 -0800"
      },
      "message": "fix [2291418] Camera preview cannot work in Emulator\n\nThe image buffer used by glTexImage2d() would be uninitialized when no copybit engine\ncan be found.\nWe now always initialize images, since the abscence of copybit is not necessarily fatal.\n"
    },
    {
      "commit": "6076046a11d2cd3733e4c7d108b3b26d167ae731",
      "tree": "57b4c75edb7ea3c855b1b96216b280fe1cf266c5",
      "parents": [
        "f764dae4a5f662660bea0657746622b6672b24a9",
        "1ac56b602aa6a1ac54c608e5a8b76f44638db23b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 02 09:48:52 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 09:48:52 2009 -0800"
      },
      "message": "am 1ac56b60: Merge change Iac196e17 into eclair\n\nMerge commit \u00271ac56b602aa6a1ac54c608e5a8b76f44638db23b\u0027 into eclair-mr2\n\n* commit \u00271ac56b602aa6a1ac54c608e5a8b76f44638db23b\u0027:\n  Fix issue 2292062: Audio freezes for three seconds when choosing ringtones with a headset connected and music playing.\n"
    },
    {
      "commit": "f764dae4a5f662660bea0657746622b6672b24a9",
      "tree": "9b771f17ea28b5c4394a5d8acf7751376aa930e3",
      "parents": [
        "cfc2915d926cee14380b54d0960262e748eed4f5",
        "33ad0f9ec8d47660b16ced45242a45f369fe2547"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 02 09:47:48 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 09:47:48 2009 -0800"
      },
      "message": "am 33ad0f9e: Merge change I0e44976a into eclair\n\nMerge commit \u002733ad0f9ec8d47660b16ced45242a45f369fe2547\u0027 into eclair-mr2\n\n* commit \u002733ad0f9ec8d47660b16ced45242a45f369fe2547\u0027:\n  fix [2297155] SurfaceFlinger\u0027s freeze-timeout doesn\u0027t work\n"
    },
    {
      "commit": "1ac56b602aa6a1ac54c608e5a8b76f44638db23b",
      "tree": "37d2d8f0256961d8446129f1c11013300ada9f31",
      "parents": [
        "33ad0f9ec8d47660b16ced45242a45f369fe2547",
        "ac196e175dd64eca99aeff244ba2db008a746ddc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 01 22:39:33 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 01 22:39:33 2009 -0800"
      },
      "message": "Merge change Iac196e17 into eclair\n\n* changes:\n  Fix issue 2292062: Audio freezes for three seconds when choosing ringtones with a headset connected and music playing.\n"
    },
    {
      "commit": "0e44976aa425b0c2a0dcf6ec8db918e6a6f51b1a",
      "tree": "7e487de610df348f73fb7695c06392aee469b02d",
      "parents": [
        "f27eb3264d4b5d3fd154834a709a9a53cc878b58"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 01 17:23:28 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 01 17:23:28 2009 -0800"
      },
      "message": "fix [2297155] SurfaceFlinger\u0027s freeze-timeout doesn\u0027t work\n\nThere was bug in the logic that calculated the relative timeout, the start time was\nreset each time an event was received, which caused the timeout to never occur if\nan application was constantly redrawing.\n\nNow we always check for a timeout when we come back from the waitEvent() and\nprocess the \"anti-freeze\" if needed, regardless of whether an event was received.\n"
    },
    {
      "commit": "102f4dbb2396e779c588862cfb748ebfc333340d",
      "tree": "327212989dfe7a9f8528515d48f8f7fe0e15c278",
      "parents": [
        "c711e06c1869b1e5be5b7a9826470564268328ac",
        "8e4a110b3e146b30b804d7e2cd0825bf56bd7d0f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 01 17:10:08 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 01 17:10:08 2009 -0800"
      },
      "message": "am 8e4a110b: Merge change I5469a4ac into eclair\n\nMerge commit \u00278e4a110b3e146b30b804d7e2cd0825bf56bd7d0f\u0027 into eclair-mr2\n\n* commit \u00278e4a110b3e146b30b804d7e2cd0825bf56bd7d0f\u0027:\n  fixed [2260070] display stopped updating\n"
    },
    {
      "commit": "ac196e175dd64eca99aeff244ba2db008a746ddc",
      "tree": "94df309ae7e307d03418e2a37cedd9eb80b0f67b",
      "parents": [
        "0bd1eeaf90d854c487feb8ee35c5c74af28ebc74"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 01 02:17:41 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 01 02:17:41 2009 -0800"
      },
      "message": "Fix issue 2292062: Audio freezes for three seconds when choosing ringtones with a headset connected and music playing.\n\nThe problem comes from a deadlock with AudioPolicyService mutex: When the second ringtone starts,\nthis mutex is locked by AudioPolicyService::startOutput() which in turn calls setParameters() to change the output device.\nAudioflinger::ThreadBase::setParameters() signals the parameter change to the AudioFlinger mixer thread and waits for a condition\nindicating that the parameter change has been processed.\nAt the same time, the mixer thread detects that the audio track corresponding to the first ring tone has been killed and calls its destructor.\nThis calls AudioPolicyService::releaseOutput() which tries to lock the AudioPolicyService mutex.\nIf this happens before the mixer thread can process the setParameters() command we are deadlocked.\nThe deadlock ends because setParameters() uses a timeout when waiting for the condition.\n\nThis regression was introduced by change 33736 fixing issue 2265163.\n\nThe fix consists in calling AudioPolicyService::releaseOutput() from Track::destroy() instead of from Track destructor: as detroy() is never called from the mixer thread loop (as opposed to the destructor) the deadlock described above cannot occur.\n"
    },
    {
      "commit": "5469a4ac1c5073bde2c7caf8540a459c8fb759cd",
      "tree": "094c694a0ce3ac242554cbc6e5ef50c1ff987ec9",
      "parents": [
        "bb3bb57a6330f71323fcd7e93e88dbdab55daec3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 30 11:15:41 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 30 11:15:41 2009 -0800"
      },
      "message": "fixed [2260070] display stopped updating\n\nalways check that the visible region isn\u0027t empty after all visible regions are recomputed\nclear he freeze-lock if it is.\n"
    },
    {
      "commit": "4ad9ec488c3e680dcd16b39582cb1d4907d2735e",
      "tree": "51689b76d930c3ffa53087fb1245024b0ef36405",
      "parents": [
        "a2d259aa4a06eb92af2ef4530ae065497a581496"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 25 06:08:44 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 25 06:08:44 2009 -0800"
      },
      "message": "Fix A2dpAudioInterface getParameters.\n\nA2dpAudioInterface::getParameters() was prepending a \u0027;\u0027 to the key value pair returned from underlying AudioHardwareInterface.\n"
    },
    {
      "commit": "638514048141bf9f28a4bede77b83c3238f5c194",
      "tree": "a472468e8e5e3f53ebdd0e81f72c70703eae495f",
      "parents": [
        "35cdb484928b34fd517e49e200aa79aa64b4eeb4",
        "bf0c320afbf6bf2441916755ecb443b64afbe73f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 24 14:26:28 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 24 14:26:28 2009 -0800"
      },
      "message": "Merge change Ibf0c320a into eclair\n\n* changes:\n  When using MDP, we needed to use a texture for diming.\n"
    },
    {
      "commit": "9dab667e03632181e487a04a8a170b3fa0bd5037",
      "tree": "801dac7a03b27058d8247f9d8034df252c897f16",
      "parents": [
        "99f7b56fbea7e3e112fd0b570818b42a8ebd4ef5"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 24 12:26:35 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 24 12:26:35 2009 -0800"
      },
      "message": "Force a crash under conditions where white square bug in all apps is likely to occur.\n"
    },
    {
      "commit": "bf0c320afbf6bf2441916755ecb443b64afbe73f",
      "tree": "3146d73b6db983d6c385dea14f70bab8a5f53135",
      "parents": [
        "16cc72bdef471ffeee3f61eba8262783de248b04"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 23 22:40:42 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 23 22:41:36 2009 -0800"
      },
      "message": "When using MDP, we needed to use a texture for diming.\n"
    },
    {
      "commit": "361765361ae70a17fe4de64b8c1a3299a84e212d",
      "tree": "b65d76c2ad139ee97b8dd9fb3e929f23ab078a7c",
      "parents": [
        "0d631b9b58db54bee58da717b38b8020bc3d0437"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Nov 23 15:27:33 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Nov 23 15:28:55 2009 -0800"
      },
      "message": "Fix ref counting bug that could cause memory leak in allApps.\n"
    },
    {
      "commit": "e7800946a42c0ebe8e0b3f6eba04a96a9641aaff",
      "tree": "4761b4ea0b5fb01d1a90eb069a1839e6c6445ab4",
      "parents": [
        "256da9fb007ac0722a5b1854befda7e7bed2564e",
        "49f02be9d7fafb8841f75394a90f1409c6f82c1f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 21 00:18:24 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 21 00:18:24 2009 -0800"
      },
      "message": "Merge change I49f02be9 into eclair\n\n* changes:\n  Issue 2265163: Audio still reported routed through earpiece on sholes\n"
    },
    {
      "commit": "b8d81679553ee33f6ae5281310abf2effca4ffcd",
      "tree": "5e37b0771168cf54a419780587e2656efcac48a7",
      "parents": [
        "9ed314cefb5ec711dfcb5527a2a0a6b87a643c24"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 20 14:26:42 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 20 14:26:42 2009 -0800"
      },
      "message": "Debugging for issue #2228381 android.view.InflateException\n\nBinary XML file line #37: Error inflating class \u003cunknown\u003e after adding a secondary account\n\nNow that I have these debug logs, I want to keep them since they will make\ndebugging these kinds of issues a lot easier in the future.  (Note in this\ncase there was no problem in the framework.)\n\nChange-Id: If2b0bbeda4706b7c5dc1ba4a5db04b74f40e1543\n"
    },
    {
      "commit": "49f02be9d7fafb8841f75394a90f1409c6f82c1f",
      "tree": "610ce96e47ae1e2c8ead39ba58e43380b6537633",
      "parents": [
        "e4260f4e7da4da32bfab2737018cf9cf75215894"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 19 09:00:56 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 19 23:57:45 2009 -0800"
      },
      "message": "Issue 2265163: Audio still reported routed through earpiece on sholes\n\nThis is a second attempt to fix the audio routed to earpiece syndrom.\nThe root cause identified this time is the crash of an application having an active AudioTrack playing on the VOICE_CALL stream type.\nWhen this happens, the AudioTrack destructor is not called and the audio policy manager is not notified of the track stop.\nResults a situation where the VOICE_CALL stream is considered as always in use by audio policy manager which makes that audio is routed to earpiece.\n\nThe fix consists in moving the track start/stop/close notification to audio policiy manager from AudioTrack to AudioFlinger Track objet.\nThe net result is that in the case of a client application crash, the AudioFlinger TrackHandle object (which implements the remote side of the IAudioTrack binder interface) destructor is called which in turn destroys the Track object and we can notify the audio policy manager of the track stop and removal.\n\nThe same modification is made for AudioRecord although no bug related to record has been reported yet.\nAlso fixed a potential problem if record stop is called while the record thread is exiting.\n"
    },
    {
      "commit": "137dac6f10a1a727268bbea60955882baceeaaca",
      "tree": "e316635c53c6282f3d1d3ad256faedc790fdc070",
      "parents": [
        "74a331b5dd1d39da44b608743c36ab3523f598d2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 15:52:28 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 15:52:28 2009 -0800"
      },
      "message": "backout a workaround that is not needed anymore\n\nwe had to add a call to glFinish() before glReadPixels() because of a bug in the GL ES\ndriver of a certain device. This is not needed anymore.\n"
    },
    {
      "commit": "74a331b5dd1d39da44b608743c36ab3523f598d2",
      "tree": "2ec6973d00db87138c752a356c6dc815a941731b",
      "parents": [
        "f854e0770207e93ef9d1bf6d50ed18537a107ca4",
        "4c29c9487e47c5f0a23790e670dc3dc7a215d04c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 19 15:44:13 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 19 15:44:13 2009 -0800"
      },
      "message": "Merge change I4c29c948 into eclair\n\n* changes:\n  fix [2269022] The raw picture displayed post shutter seems to have low-resolution\n"
    },
    {
      "commit": "4c29c9487e47c5f0a23790e670dc3dc7a215d04c",
      "tree": "b25d30c958fa14be7749a5453b471cd4535cc2eb",
      "parents": [
        "5994cd2898ad3c76d1f5068137a884024f521163"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 14:46:26 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 14:46:26 2009 -0800"
      },
      "message": "fix [2269022] The raw picture displayed post shutter seems to have low-resolution\n\nMake sure to always enable linear filtering in LayerBuffer. This change doesn\u0027t affect\ndevices using overlays.\n"
    },
    {
      "commit": "ddac83a516e939b55f20b226365596760159c9df",
      "tree": "3bab56f356a81b0860aae0ca5f0c1a2d60195553",
      "parents": [
        "5994cd2898ad3c76d1f5068137a884024f521163"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 19 13:08:17 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 19 13:08:17 2009 -0800"
      },
      "message": "Fix extended logging for object dumping.\n"
    },
    {
      "commit": "715333b832fb448c32165c7d97d408a3fa43f7cb",
      "tree": "af4da1824b78ad114d993ce6f523373046e3d514",
      "parents": [
        "f0166e4dd0907e487531960e36f516406d265b73"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 17 17:26:46 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 17 17:26:46 2009 -0800"
      },
      "message": "Add support for dumping RS objects to aid in debugging of white blocks bug.\n"
    },
    {
      "commit": "f998c4a289b3ed10bafcf581618d2cc8a8f69806",
      "tree": "3686ad4e70be87dc15955db2b768bb838d77785c",
      "parents": [
        "1162fd77a8ff8467c96204c00bcaf941aef6aa85",
        "1c0bebbc9548dfe929f0f9db4473eb93af9339f5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 16 15:05:16 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 16 15:05:16 2009 -0800"
      },
      "message": "Merge change I1c0bebbc into eclair\n\n* changes:\n  fix [2262591] Junk on screen in ERD46\n"
    },
    {
      "commit": "1c0bebbc9548dfe929f0f9db4473eb93af9339f5",
      "tree": "6a42ca05daf36ae91814f50c20ac6f101ca23a59",
      "parents": [
        "19e420c52dbe42e5b4b8b3580a5e7908cebec89d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 16 14:55:36 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 16 14:55:36 2009 -0800"
      },
      "message": "fix [2262591] Junk on screen in ERD46\n\nsince we\u0027re using the GPU for composition, don\u0027t use a texture for dimming,\ninstead simply use an alpha-blended quad.\n\nalso workaround what looks like a GL driver bug by calling glFinish() before\nglReadPixels().\n"
    },
    {
      "commit": "7d787b4722eaeb79cab42c36060336e092b77b5f",
      "tree": "4473dfb24df1040538d3ea222649a5ec5d4fd1d0",
      "parents": [
        "04c585e3bcb75c85ceeacf2fd94ea4194f332404"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Sun Nov 15 12:14:26 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Sun Nov 15 12:14:26 2009 -0800"
      },
      "message": "Add setPriority to allow wallpapers to run at lower cpu priority than default.\n"
    },
    {
      "commit": "830df4b16971527b07a829cf80a0c9e07a89b89a",
      "tree": "895d0c7a9734a5da6da54e8882e5c3462192c229",
      "parents": [
        "91e40e7838d183cb2a9e750edf0a6572f21da21d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 13 18:54:14 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 13 18:54:14 2009 -0800"
      },
      "message": "addresses several bugs: 2206097, 2166583, 2261119, 2216759\n\n2206097: Broken suggestions while composing message\n2166583: Color artifacts with MDP dithering\n2261119: Passion transition animations are rough\n2216759: Screen flicker when dropdown list in background window shows or hides\n\nThis is part of enabling GPU composition instead of using the MDP. This change\nis dependent on another change in the vendor project.\n\nSpecifically this change disables the use of EGLImageKHR for s/w buffers\nfor cache coherency reasons. memcpy is used instead.\n"
    },
    {
      "commit": "18e026066a95e5d63c2ece8007883b46599373ca",
      "tree": "e7c8d0f1e1cc5283222d635c595da3a2ce1bfc5f",
      "parents": [
        "73f8aa678055598738dfba54c60a1674bcbf02b1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 13 15:26:29 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 13 15:26:29 2009 -0800"
      },
      "message": "fix some aspects of [2258746] native crash in launcher2\n\nSurface::validate() could sometimes dereference a null pointer before checking it wasn\u0027t null.\nThis will prevent the application to crash when given bad parameters or used incorrectly.\nHowever, the bug above probably has another cause.\n"
    },
    {
      "commit": "fddfb9ae03a2730ac5ce27fa4c47b7d3a0285d0f",
      "tree": "3ec21d76715c79bd5faa79dcc1de9e540c8b274d",
      "parents": [
        "1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54",
        "059b4be2a5a5b3fd410f8263e5f5928689c97af7"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 12 22:53:28 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 12 22:53:28 2009 -0800"
      },
      "message": "Merge change Iad79689a into eclair\n\n* changes:\n  Improvements for issue 2197683:\tEnglish IME key-press latency is noticeably higher on passion than sholes\n"
    },
    {
      "commit": "5f8f1487be78064e8d653dd2d105d8dd444d6a35",
      "tree": "7387c11d6ad7a3457582bd184e7b38d6143b83fa",
      "parents": [
        "11fea858b2f2d3f9c40a4da848d7bcee47edde04",
        "a0a40883d0f4bdc0694b236353ad66a4b4ca92fa"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 12 21:29:13 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 12 21:29:13 2009 -0800"
      },
      "message": "Merge change Ia0a40883 into eclair\n\n* changes:\n  Modify the binder to request 1M - 2 pages instead of 1M.  The backing store in the kernel requires a guard page, so 1M allocations fragment memory very badly.  Subtracting a couple of pages so that they fit in a power of two allows the kernel to make more efficient use of its virtual address space.\n"
    },
    {
      "commit": "a0a40883d0f4bdc0694b236353ad66a4b4ca92fa",
      "tree": "826c961cc86ada8cb745258031b137be2f871600",
      "parents": [
        "b602c328c24f82d61038ac1222bd40a3cc7bc900"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Fri Oct 30 18:39:55 2009 -0700"
      },
      "committer": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Nov 12 16:31:12 2009 -0800"
      },
      "message": "Modify the binder to request 1M - 2 pages instead of 1M.  The backing store\nin the kernel requires a guard page, so 1M allocations fragment memory very\nbadly.  Subtracting a couple of pages so that they fit in a power of\ntwo allows the kernel to make more efficient use of its virtual address space.\n\nSigned-off-by: Rebecca Schultz Zavin \u003crebecca@android.com\u003e\n"
    },
    {
      "commit": "eb4b031804f42d52645d0d74f8ebc806f85a043b",
      "tree": "03b23878f972d71ddb329d80387f42a29df4966d",
      "parents": [
        "59175ac269df2a584241e9786dc70ac35cb973e3"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 12 16:09:45 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 12 16:09:45 2009 -0800"
      },
      "message": "Make default vertex program correctly track surface size.\n"
    },
    {
      "commit": "3bc47d438171dce294e816366d53bc9eca772c5b",
      "tree": "58c41bf03b538359d7dd70fcd8362195a5405445",
      "parents": [
        "b602c328c24f82d61038ac1222bd40a3cc7bc900"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 12 15:10:25 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 12 15:10:47 2009 -0800"
      },
      "message": "Defer EGL init until the surface changed call comes in.  Pass w,h along with surface for verification of driver state.\n"
    },
    {
      "commit": "b602c328c24f82d61038ac1222bd40a3cc7bc900",
      "tree": "4b7d06d4c8d46c146e0b3c1e55a5b8a96152c7af",
      "parents": [
        "dffa96f7349a44a5d587656fce5c55386d44b150",
        "85e677572b21e1ae47df9bb31d352effa51b4a46"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 12 13:37:30 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 12 13:37:30 2009 -0800"
      },
      "message": "Merge change I31c52bef into eclair\n\n* changes:\n  Revert change incorrectly submitted as part of change #32153.\n"
    },
    {
      "commit": "90daccf3fd17553209b8951e4e80144f32ab7238",
      "tree": "76a2f42dbc6c2926fcee58a9a35be4904b2a0330",
      "parents": [
        "3e584fc944e3d694b4233450f386bd2a930420bf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 05 23:08:00 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 11 16:44:43 2009 -0800"
      },
      "message": "fix [2143798] Need to figure out how to do video on Passion w/ GPU\n\nThis builds on the EGLImage solution. We simply use copybit to convert from the\nYUV frame into an EGLImage created for that purpose and proceed with the\nregular EGLImage code.\nWe need to do this because \"regular\" GL doesn\u0027t support YUV textures.\n\nWe could improve upon this by detecting exacly what the GL supports and bypass\nthis extra step if not required, but we\u0027ll do this later if needed.\n"
    },
    {
      "commit": "baed7274814e09498761ca60c065903e055a3f30",
      "tree": "5f0d1fa68677ceb9df57cf4c06e518df56331258",
      "parents": [
        "b9c40a65c7fb2121d3076a522248574162bf5f8c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Nov 11 15:36:06 2009 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Nov 11 15:36:06 2009 -0800"
      },
      "message": "Don\u0027t feed the timezone to RenderScript time functions, let the library figure it out.\n\nBug #2211070.\n\nChange-Id: I5975651fd12399fb8dfe283dfdfaa17569738c7b\n"
    },
    {
      "commit": "059b4be2a5a5b3fd410f8263e5f5928689c97af7",
      "tree": "6363048e00350303104d48e0c5f0bad36c13ad90",
      "parents": [
        "b9c40a65c7fb2121d3076a522248574162bf5f8c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 09 23:32:22 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 11 12:13:27 2009 -0800"
      },
      "message": "Improvements for issue 2197683:\tEnglish IME key-press latency is noticeably higher on passion than sholes\n\nThis change goes with a kernel driver change that reduces the audio buffer size from 4800 bytes (~27ms) to 3072 bytes (~17ms).\n- The AudioFlinger modifcations in change 0bca68cfff161abbc992fec82dc7c88079dd1a36 have been removed: the short sleep period was counter productive when the AudioTrack is using the call back thread as it causes to many preemptions.\n- AudioFlinger mixer thread now detects long standby exit time and in this case anticipates start by writing 0s as soon as a track is enabled even if not ready for mixing.\n- AudioTrack::start() is modified to start call back thread before starting the IAudioTrack so that thread startup time is masked by IAudioTrack start and mixer thread wakeup time.\n"
    },
    {
      "commit": "73b603546de3dfee89b9dc9dc725d5c9e12ce40a",
      "tree": "a11eac769038fd2d0b6c84a1843ea66808847749",
      "parents": [
        "93572eef41f94f023037482f194db0ab07d0c33a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 09 04:45:39 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 09 04:45:39 2009 -0800"
      },
      "message": "AudioFlinger: delete Track object when createTrack() fails due to lack of tracks in AudioMixer.\n\nThis problem was encountered as a side effect of issue 2245298.\n"
    },
    {
      "commit": "93572eef41f94f023037482f194db0ab07d0c33a",
      "tree": "8362ca4d04d144c27a9141f774655d88e22f3f68",
      "parents": [
        "644693f4caf2364a0e811dca13304788e2c8fee8",
        "3fdb1267c1623773b4eb5e1b06d5859019275e40"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Nov 08 22:58:34 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Nov 08 22:58:34 2009 -0800"
      },
      "message": "Merge change Ifb9d6df3 into eclair\n\n* changes:\n  More log for issue 2242381.\n"
    },
    {
      "commit": "1dacdd482894bee9fbc1993cbb525fb800750222",
      "tree": "1d60f5999e6217165b7d72d01a24b00584c9af43",
      "parents": [
        "3f857b78fc68e5d700139bdc6078c5333b62a9bc"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Sun Nov 08 14:29:02 2009 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Sun Nov 08 14:29:02 2009 -0800"
      },
      "message": "Reset binder service threads\u0027 cgroup/priority after command completion\n\nTo prevent buggy command implementations from poisoning binder threads\u0027\nscheduling class \u0026 priority for future command execution, we now reset the\ncgroup and thread priority to foreground/normal when a binder service thread\nfinishes executing the designated command.\n\nChange-Id: Ibc0ab2485751453f6dc96fdb4eb877fd02796e3f\n"
    },
    {
      "commit": "3fdb1267c1623773b4eb5e1b06d5859019275e40",
      "tree": "131abbc4c398b9008f42a9ba09163c478375c166",
      "parents": [
        "638d86535264b24b54698fca7e18e68571fe0bad"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 07 00:01:32 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 07 01:18:20 2009 -0800"
      },
      "message": "More log for issue 2242381.\n\nAdded more log in system dump for AudioFlinger and AudioPolicyService to help debug issue 2242381 and other issues where the audio driver hangs.\n"
    },
    {
      "commit": "97b30e2f6239a3ca2b9489ce09320aaf317f9fc8",
      "tree": "db3a8d2c8720cfc9dc303048afb2064e297bda2d",
      "parents": [
        "9eaff61adf15b4e6cced7da3d7c239e2fc41f8ed"
      ],
      "author": {
        "name": "Evan Millar",
        "email": "emillar@google.com",
        "time": "Fri Nov 06 11:25:23 2009 -0800"
      },
      "committer": {
        "name": "Evan Millar",
        "email": "emillar@google.com",
        "time": "Fri Nov 06 11:25:23 2009 -0800"
      },
      "message": "Revert jparks code from IPCThreadState.\n"
    },
    {
      "commit": "85e677572b21e1ae47df9bb31d352effa51b4a46",
      "tree": "9a9adf72cf7906721aba892ae58a228d09afbe19",
      "parents": [
        "f20e9a88a36ced533e96b8873a3321b4d51585ca"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Nov 05 15:49:22 2009 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Nov 05 15:49:22 2009 -0800"
      },
      "message": "Revert change incorrectly submitted as part of change #32153.\n\nChange-Id: I31c52beff03c0d038a257fc151eff3b8da60eddc\n"
    },
    {
      "commit": "f20e9a88a36ced533e96b8873a3321b4d51585ca",
      "tree": "881f372a7632ac5d2a4a014cbbc49a5de93e4303",
      "parents": [
        "bfa68abc955ed1fe6cf6d98e42f344a8d623fab7",
        "ae8dd29c035fffa6e302bd485d0552f97db39127"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 05 18:42:14 2009 -0500"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 05 18:42:14 2009 -0500"
      },
      "message": "Merge change Idf40f3b0 into eclair\n\n* changes:\n  Prevent crash in Home when using widgets whose ids collide with Home\u0027s resources.\n"
    },
    {
      "commit": "ae8dd29c035fffa6e302bd485d0552f97db39127",
      "tree": "d9a191e0fd8a775d8fbf25081da3563c5c1e0f9d",
      "parents": [
        "4ab2c7770c8e55072ee7a083fa84e318e07c8c3e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Nov 05 13:36:15 2009 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Nov 05 15:40:35 2009 -0800"
      },
      "message": "Prevent crash in Home when using widgets whose ids collide with Home\u0027s\nresources.\n\nBug #2228943.\n\nApproved by mcleron, triaged by ryanpc.\n\nChange-Id: Idf40f3b09502ae5d0d3b9a6a72c265a2de2ffca2\n"
    },
    {
      "commit": "0e27b5cadbc9cff87258f14ac40d9c4b365849b3",
      "tree": "228b6d6dd83cd2b4739960dac00ee1dc864aecc2",
      "parents": [
        "f476c480cdf41be9989c3cfbc3b92038d11e7569"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 05 12:44:58 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 05 12:44:58 2009 -0800"
      },
      "message": "Fix texture upload bug for narrow texture of less than 32bpp.\n"
    },
    {
      "commit": "2867746d7b59579ecf7b2de41e42fc1ca88d04d9",
      "tree": "3060ea65ae476e8a2d866ce276efee571d725410",
      "parents": [
        "7ed0ceeba54712f76e9a4f2dd4c9197d76813488"
      ],
      "author": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Wed Nov 04 14:25:26 2009 -0800"
      },
      "committer": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Wed Nov 04 14:25:26 2009 -0800"
      },
      "message": "When a thread is about to be put back onto the thread pool ensure that it is in the foreground cgroup.\n"
    },
    {
      "commit": "efd9b6fb2e0f31b50db089352118e5daeb268879",
      "tree": "9b1099e2c01a1d1843093dbd2db74171e39028e9",
      "parents": [
        "83665194abceeb7681cb7ac49a4b71aa6e96b1b1"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 03 13:58:36 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 03 14:15:28 2009 -0800"
      },
      "message": "Support applications changing the surface attached to the RS.\n"
    },
    {
      "commit": "83665194abceeb7681cb7ac49a4b71aa6e96b1b1",
      "tree": "faae45c0dbbf457142b6286a3022d96565b4c1bd",
      "parents": [
        "c6e88afb3eda9da97f65b2a2f32e6a12c18301ba",
        "9d5e03db9929271f56ac4a0078d9474d7011efcd"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 03 16:56:31 2009 -0500"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 03 16:56:31 2009 -0500"
      },
      "message": "Merge change I9d5e03db into eclair\n\n* changes:\n  Fix RS bugs.  We were holding a pointer to the script text from the java vm. Move freeing of objects to before context teardown to allow allocations to clean up their data.\n"
    },
    {
      "commit": "c6e88afb3eda9da97f65b2a2f32e6a12c18301ba",
      "tree": "e83c3e99f889787430da9da39b4df737550936a4",
      "parents": [
        "b96a9d9296925fef6a1c0e5ad4d847d96bf9acb5",
        "dabcf4151adeb1376ce3b6c9f4b060f9b7fd8a16"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 03 16:29:22 2009 -0500"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 03 16:29:22 2009 -0500"
      },
      "message": "Merge change If2fdad3b into eclair\n\n* changes:\n  Add a warning when we leave threads in the binder thread pool in the background scheduling group.\n"
    },
    {
      "commit": "dabcf4151adeb1376ce3b6c9f4b060f9b7fd8a16",
      "tree": "1fcf1df262a9bc4b707c33e5ab7139c5a23b6f9a",
      "parents": [
        "d2c68794364120d0531667e797f078416ebef3f5"
      ],
      "author": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Tue Nov 03 12:14:38 2009 -0800"
      },
      "committer": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Tue Nov 03 13:10:15 2009 -0800"
      },
      "message": "Add a warning when we leave threads in the binder thread pool in the background scheduling group.\n"
    },
    {
      "commit": "9d5e03db9929271f56ac4a0078d9474d7011efcd",
      "tree": "8052ee61aa0c6b7a1fc1ebdfcee1ea8f32a3dd5b",
      "parents": [
        "c4918c30147d72c44e9a2a9fe7b9cbe88948677a"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 03 11:25:42 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 03 11:25:42 2009 -0800"
      },
      "message": "Fix RS bugs.  We were holding a pointer to the script text from the java vm. Move freeing of objects to before context teardown to allow allocations to clean up their data.\n"
    },
    {
      "commit": "f4ee40e26ec43e17359ff5788565349a9aa71908",
      "tree": "dca4b87fd01acc9c0897e3d5553e3cbcd11cc585",
      "parents": [
        "8637759a1d34a4adda292579d5f8790587659235"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 02 10:29:02 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 03 09:33:35 2009 -0800"
      },
      "message": "Log for issue 2203561.\n\nImplemented AudioPolicyService dump().\nAdded detailed dump for AudioPolicyManageriGeneric when AudioPolicyService is dumped.\n"
    },
    {
      "commit": "8637759a1d34a4adda292579d5f8790587659235",
      "tree": "5146d928142d0c3f246d9cb968db8f5302767bab",
      "parents": [
        "483d29c0ddc9f4c110a8a8788ccd978010d55aa4",
        "36d0184e089831b74de6005f01da9e7b26679bb9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 02 21:26:54 2009 -0500"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 02 21:26:54 2009 -0500"
      },
      "message": "Merge change I36d0184e into eclair\n\n* changes:\n  fix[2228133] pixelflinger ignores the \"vertical stride\" leading to artifacts when playing back video\n"
    },
    {
      "commit": "36d0184e089831b74de6005f01da9e7b26679bb9",
      "tree": "8a6cb7b2f9e5c53db29bc818a403b26add0c66fe",
      "parents": [
        "989b76aadd92538c7ab4ca00c34508b42fda8cef"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 02 17:48:33 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 02 17:48:33 2009 -0800"
      },
      "message": "fix[2228133] pixelflinger ignores the \"vertical stride\" leading to artifacts when playing back video\n\nwe lost the concept of vertical stride when moving video playback to EGLImage.\nHere we bring it back in a somewhat hacky-way that will work only for the\nsoftgl/mdp backend.\n"
    },
    {
      "commit": "dfc7244aa874ae31cc13758e1e2cf6112f7a66b4",
      "tree": "1df29e6222cdebda7880d145104f62a92346281d",
      "parents": [
        "a229cedadd6c3b8ab7f2d8b7b45638753e834992"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Nov 02 16:02:43 2009 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Nov 02 16:36:45 2009 -0800"
      },
      "message": "libbinder: MemoryHeapPmem: honor the NO_CACHING flag when creating a client heap\n\nChange-Id: Ia7beb800f5a24beaa4b7f3032b486d4ed1991b23\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "03e778b913adfb450889c51adf042388ada7c5f8",
      "tree": "265288f146f049a7619ee55e8b1c5a39d05ccac2",
      "parents": [
        "d4649b2f8ea8285a4eb3c47e87520c7835e6c672",
        "c4918c30147d72c44e9a2a9fe7b9cbe88948677a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 02 18:05:55 2009 -0500"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 02 18:05:55 2009 -0500"
      },
      "message": "Merge change Ic4918c30 into eclair\n\n* changes:\n  Fix a build break.  Too many branches to keep track of.\n"
    },
    {
      "commit": "c4918c30147d72c44e9a2a9fe7b9cbe88948677a",
      "tree": "7cfd2562d264ec28b68dda8102c90ea7e4022e06",
      "parents": [
        "b7a6c4340a35b7cc4ceeeccf6cc01ed82c99a8ba"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Nov 02 15:05:04 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Nov 02 15:05:04 2009 -0800"
      },
      "message": "Fix a build break.  Too many branches to keep track of.\n"
    },
    {
      "commit": "d4649b2f8ea8285a4eb3c47e87520c7835e6c672",
      "tree": "989351c280eca4db14de2ddc069bd03c230b0d5b",
      "parents": [
        "1d9246e8bb8de624e14c55dce57e93da18cfd7a8",
        "baef6141a3239c7dd9bad0e2cd8a9ece5eef5a7e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 02 17:55:43 2009 -0500"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 02 17:55:43 2009 -0500"
      },
      "message": "Merge change Ibaef6141 into eclair\n\n* changes:\n  libbinder: add a NO_CACHING flag to MemoryHeapBase\n"
    },
    {
      "commit": "b7a6c4340a35b7cc4ceeeccf6cc01ed82c99a8ba",
      "tree": "1c359a6e0e15c5843c7835b48c2ac6513aa4f1c4",
      "parents": [
        "ee98c24020c1634b02cde6d333968f04a0de941f"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Nov 02 14:25:10 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Nov 02 14:25:10 2009 -0800"
      },
      "message": "Fix some leaks.  This fixes the major malloc memory leak in allApps.  Still tracking some much more minor issues.\n"
    },
    {
      "commit": "0bca68cfff161abbc992fec82dc7c88079dd1a36",
      "tree": "cd25d6d4e1e1b1b0471849b2f47c744358955c38",
      "parents": [
        "9efd523c4611c0cf10e712453a699c083a01064c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 30 11:09:39 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 02 00:13:56 2009 -0800"
      },
      "message": "Fix issue 197683: English IME key-press latency is noticeably higher on passion than sholes. Part 2.\n\nReduce sleep time in AudioFlinger mixer thread when no data has been written to output to speed up startup time when  exiting standby.\n\nThe rest of the modifications for this issues is in kernel driver:\n commit 0dbb0ee136ed8de757df1ae26d84556c1751deae for buffer size modification from 8192 to 4800 bytes.\nAnother kernel improvement that is not submitted yes will reduce delay when audio output is exiting standby.\n"
    },
    {
      "commit": "baef6141a3239c7dd9bad0e2cd8a9ece5eef5a7e",
      "tree": "50df32f2a31006f4ea4572cffdf390012541027b",
      "parents": [
        "05cb5610fdfb7b69cf90a9230853e59b4ae5e219"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Oct 29 22:55:00 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 30 18:35:47 2009 -0700"
      },
      "message": "libbinder: add a NO_CACHING flag to MemoryHeapBase\n\nThe NO_CACHING flag translates to opening a memory region with O_SYNC.\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "9baef73c9b2ea17a4eba997c45e944ac6b9af835",
      "tree": "8952ecb7c0fe6b116a751082387637f12241629f",
      "parents": [
        "d01767f8b7038108f9125cd2122b117db9919824",
        "d8b28e4fcddcacdbd2b69584a4e3aa12f52e8229"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:16 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:16 2009 -0400"
      },
      "message": "Merge change Id8b28e4f into eclair\n\n* changes:\n  fix [2225964] Android runtime restarted in surfaceflinger/BlurFilter.cpp\n"
    },
    {
      "commit": "d01767f8b7038108f9125cd2122b117db9919824",
      "tree": "ec6353d79a856b6227eeeb474fd9c653cc142d95",
      "parents": [
        "f989c1140bbc84480498df38abec0fafff04e6ee",
        "0b0722f980f40e1ac0929a7f1a6e2df7af983478"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:10 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:10 2009 -0400"
      },
      "message": "Merge change I56779290 into eclair\n\n* changes:\n  fix[2222341] Soft reset while going back from camcorder settings\n"
    },
    {
      "commit": "f989c1140bbc84480498df38abec0fafff04e6ee",
      "tree": "88fa9b4256d04c5971c6652e04d8bdf9eeea26a9",
      "parents": [
        "1864d01f2be0e82da7d8844fa91bee8880282041",
        "f007a2faa1d765e9b53553a8214179b253e3cbbd"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:03 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:03 2009 -0400"
      },
      "message": "Merge change If007a2fa into eclair\n\n* changes:\n  return proper error code from eglCreateImageKHR\n"
    },
    {
      "commit": "0b0722f980f40e1ac0929a7f1a6e2df7af983478",
      "tree": "f420562ab6642a7a4fa82e7db0443d10280ef4f2",
      "parents": [
        "f007a2faa1d765e9b53553a8214179b253e3cbbd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 18:29:30 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 14:48:50 2009 -0700"
      },
      "message": "fix[2222341] Soft reset while going back from camcorder settings\n\nadd a way to convert a mapped \"pushbuffer\" buffer to a gralloc handle\nwhich then can be safely used by surfaceflinger, without including\ngralloc_priv.h\n"
    },
    {
      "commit": "08c19beee4c8a2fce3f9d2baa78c9d436bedf65d",
      "tree": "11dc0de528135805a14cd6e63ec4c574160eb101",
      "parents": [
        "824838d74eb0316f6987a1d98d2d9e9fa8d4e15b"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Oct 29 10:19:34 2009 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Oct 30 10:24:06 2009 -0700"
      },
      "message": "DO NOT MERGE: Another gcc 4.0.3 workaround.\n\nTemporarily make a function public that doesn\u0027t need to be.  When\nhost gcc-4.0.3 is gone from the build servers we can undo this.\n\n(Cherry-picked from eclair-mr2.)\n"
    },
    {
      "commit": "d8b28e4fcddcacdbd2b69584a4e3aa12f52e8229",
      "tree": "2be58bf1eca9c94caeb66a388ef1747d52b94005",
      "parents": [
        "ec1f1e3df1ca5e73e262df479bf91a92f3ccafde"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 20:24:44 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 20:24:44 2009 -0700"
      },
      "message": "fix [2225964] Android runtime restarted in surfaceflinger/BlurFilter.cpp\n\ncrash was due to an unintialized variable, which caused the wrong bluring\nformat to be used and caused a memory overrrun.\n"
    },
    {
      "commit": "f007a2faa1d765e9b53553a8214179b253e3cbbd",
      "tree": "7928e89551e22c634ab697673072128e2a2444ff",
      "parents": [
        "ec1f1e3df1ca5e73e262df479bf91a92f3ccafde"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 28 21:00:29 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 16:45:41 2009 -0700"
      },
      "message": "return proper error code from eglCreateImageKHR\n"
    },
    {
      "commit": "911458a081e098b7b289ed7135e1719733d7e12d",
      "tree": "041c812e679f09c011fa1933efbdc9b00d317b95",
      "parents": [
        "fb872d1af3c775114ac7d241eb1924a9aafbb9df"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 28 15:10:56 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 28 15:10:56 2009 -0700"
      },
      "message": "Fix x offset for boxed textures\n"
    },
    {
      "commit": "73e17015d3cd67c93ccad5d63d31c439ff6fa694",
      "tree": "fa9da336128184f055b012c6e94f4bd13917623a",
      "parents": [
        "8321bdf4dd85b81224d84b0d7a2f53218bf1a250",
        "9042b4564de5477b18e680c7dce13b587a681dd9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 28 02:42:12 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 28 02:42:12 2009 -0400"
      },
      "message": "Merge change I8d2de438 into eclair\n\n* changes:\n      fix [2143798] Need to figure out how to do video\n"
    },
    {
      "commit": "7136220b54e68e0c7faac30577ed20b7482481fd",
      "tree": "fb54db17d9c13daa8c2910309465be13470eb8cf",
      "parents": [
        "3333fa4f3d2e1bd3842fe7d41d19557ff9a98372"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Oct 27 14:44:31 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Oct 27 14:44:31 2009 -0700"
      },
      "message": "Fix egl cleanup code on context teardown.\n"
    }
  ],
  "next": "9042b4564de5477b18e680c7dce13b587a681dd9"
}
