)]}'
{
  "log": [
    {
      "commit": "7e5ab3b177b10fee304d011b3a4b9ee03e2b18b5",
      "tree": "87e037e70a81ed8d250eff1c20ae8f799c62c7c6",
      "parents": [
        "b686ec70445226d3f865b6e838b3f2cdf034ca31"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 13:27:04 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 13:27:04 2009 -0800"
      },
      "message": "Continue es2 shader dev\n\nConflicts:\n\n\tgraphics/java/android/renderscript/Program.java\n\tgraphics/java/android/renderscript/ProgramVertex.java\n"
    },
    {
      "commit": "0011bcf57ff711a221a3a4c73f2a79125111647d",
      "tree": "e2030624a41f8c6f07856841d98bc088b1cb2640",
      "parents": [
        "11fbdf50206abc9d21fd72ce7536648f083b9148"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 12:58:36 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 12:58:36 2009 -0800"
      },
      "message": "Continue development of es2.0 user shader support for renderscript.  This change cleans up ProgramVertex creation and adds support for passing input, output, and constant type info.\n"
    },
    {
      "commit": "3b7d39bb51f851ddee441fa34884495217e477f9",
      "tree": "ae1568c9e64155d2d164a5f80910145d603d772e",
      "parents": [
        "97f2578e8cf154ba08f2f4219a8ff1cd97613192"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Dec 14 12:57:40 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Dec 14 12:59:49 2009 -0800"
      },
      "message": "Implement RS tracked defered texture and buffer object uploads.\n"
    },
    {
      "commit": "0ba88469102c8fc7af3bbacfb96789aed194bc6c",
      "tree": "0e8435f342067e5185141529880c467ec259397e",
      "parents": [
        "7a4fb7376b6819f609b8f462c56329eff50fcb6d",
        "2378f1413426987ccfe9d6ed5f856bb01c9d7c30"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 06:30:53 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 11 06:30:53 2009 -0800"
      },
      "message": "am 2378f141: am b63d91c6: 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 \u00272378f1413426987ccfe9d6ed5f856bb01c9d7c30\u0027\n\n* commit \u00272378f1413426987ccfe9d6ed5f856bb01c9d7c30\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": "57e9a3fa2f2f955343be3c04aeb08de742acac8c",
      "tree": "89f4ff3f9cb941d87fe119c929f994e91fe8a06b",
      "parents": [
        "24a4f2224bf88945fc3ae6a284bb01ba0ba5d83b",
        "871f9de3554ccfd2028837dea97b76fcaf5ffedb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 01:39:53 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 11 01:39:53 2009 -0800"
      },
      "message": "am 871f9de3: am 02472639: am 083a557c: fix [2319255] crash in openGL : from the media recorder stress test.\n\nMerge commit \u0027871f9de3554ccfd2028837dea97b76fcaf5ffedb\u0027\n\n* commit \u0027871f9de3554ccfd2028837dea97b76fcaf5ffedb\u0027:\n  fix [2319255] crash in openGL : from the media recorder stress test.\n"
    },
    {
      "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": "24a4f2224bf88945fc3ae6a284bb01ba0ba5d83b",
      "tree": "e98addcfa49f7f2651ce3f817474e708d011b357",
      "parents": [
        "28b811144eb47ab446ed2cf5fc5cfa793e38c822",
        "1e1d44924a334637f9fb47ca8796625bd86cb66a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 10 23:46:34 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 23:46:34 2009 -0800"
      },
      "message": "am 1e1d4492: am 218aa945: Merge change I6478884a into eclair-mr2\n\nMerge commit \u00271e1d44924a334637f9fb47ca8796625bd86cb66a\u0027\n\n* commit \u00271e1d44924a334637f9fb47ca8796625bd86cb66a\u0027:\n  Add string resource type inspection\n"
    },
    {
      "commit": "55e070baa145ca8fdd2bd724ab8b54844e01baef",
      "tree": "6bc3ed5057722d49de5f0ca8833dc8d3a3d548a6",
      "parents": [
        "595acee989c68e01142b7449144840b36ec9ab0e",
        "abcb37038a4981e935e516dd4d56cecd1f6fcb39"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 23:42:13 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 23:42:13 2009 -0800"
      },
      "message": "am abcb3703: am 75ca58d6: am 76169da0: fix [2315900] Monochrome camera preview screen after launching camera\n\nMerge commit \u0027abcb37038a4981e935e516dd4d56cecd1f6fcb39\u0027\n\n* commit \u0027abcb37038a4981e935e516dd4d56cecd1f6fcb39\u0027:\n  fix [2315900] Monochrome camera preview screen after launching camera\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": "aad442ec278e6528bf1b96bd02c05d2914d033f9",
      "tree": "4c69dc9b6c5f58c6131deb2a4b743d16b07dd4b5",
      "parents": [
        "54db799ada726ccfffc94c5bb4e33e895bfb25b8",
        "b62954b66542e3e2654d97a81123c51805bceca7"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 10 17:15:13 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 17:15:13 2009 -0800"
      },
      "message": "am b62954b6: am 8f31c230: am 57ce0888: Merge change Id22c0137 into eclair\n\nMerge commit \u0027b62954b66542e3e2654d97a81123c51805bceca7\u0027\n\n* commit \u0027b62954b66542e3e2654d97a81123c51805bceca7\u0027:\n  Throttle low priority RS threads by sleeping once per frame to avoid starving other apps.\n"
    },
    {
      "commit": "54db799ada726ccfffc94c5bb4e33e895bfb25b8",
      "tree": "3f19b80d40e538ce3b1d26ee5bd42e53da628707",
      "parents": [
        "80ffd8c5ae598c679ff491e7a7168ef96fe54c45",
        "d1b8019a69d186df74f072cc51b413e34c3016f4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 17:15:02 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 17:15:02 2009 -0800"
      },
      "message": "am d1b8019a: am ae5bd2b9: am d8c752ef: Merge change Ib548dbb2 into eclair\n\nMerge commit \u0027d1b8019a69d186df74f072cc51b413e34c3016f4\u0027\n\n* commit \u0027d1b8019a69d186df74f072cc51b413e34c3016f4\u0027:\n  improve video performance to minimize the tearing effect seen in 720p movies\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": "8415afdb706c94cc297195a0dd5b5a62726d66e4",
      "tree": "3de02552f3dac9ab30937003dfd1e69051d765e0",
      "parents": [
        "b2b4a3cc7815b7132af8e48839b3779a38c6db6a",
        "ea483723b3cc630cf5b5b6fda7b08d9592bdbbde"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 10 09:20:51 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 09:20:51 2009 -0800"
      },
      "message": "am ea483723: am 9fbb534e: Merge change Iafbeb31b into eclair-mr2\n\nMerge commit \u0027ea483723b3cc630cf5b5b6fda7b08d9592bdbbde\u0027\n\n* commit \u0027ea483723b3cc630cf5b5b6fda7b08d9592bdbbde\u0027:\n  Maybe really fix windows build.\n"
    },
    {
      "commit": "02909d44d5b283991bdd392fcccae12986ddc6c1",
      "tree": "6e7beaf71d8deb3aa682d4e08340a41c1e3b4e61",
      "parents": [
        "55b295197369dabecc1d9a4baf59a1056a124cd6",
        "b901f0c6dd4c833e4d5a0aa409066d25762abbbb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 10 09:12:16 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 09:12:16 2009 -0800"
      },
      "message": "am b901f0c6: am 484fe4d6: Merge change I06fb2c1c into eclair-mr2\n\nMerge commit \u0027b901f0c6dd4c833e4d5a0aa409066d25762abbbb\u0027\n\n* commit \u0027b901f0c6dd4c833e4d5a0aa409066d25762abbbb\u0027:\n  Hopefully fix Windows build\n"
    },
    {
      "commit": "30cee478b79c960cc17b172f8620eaaaeef7cb7b",
      "tree": "3706cd063703f4a963ee21dc4b4c9850141ed3be",
      "parents": [
        "630432e4249ca775e28eedeeb28d1f367ca45296",
        "5cd6fcd518d47d1974a10fccf3c3d5431a83307a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 10 07:06:45 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:06:45 2009 -0800"
      },
      "message": "am 5cd6fcd5: am e6c0e993: Merge change I129483f8 into eclair-mr2\n\nMerge commit \u00275cd6fcd518d47d1974a10fccf3c3d5431a83307a\u0027\n\n* commit \u00275cd6fcd518d47d1974a10fccf3c3d5431a83307a\u0027:\n  Optional use of UTF-8 strings in resource bundles\n"
    },
    {
      "commit": "314664d2479a55b182035f0585eadd40a0e6833d",
      "tree": "e9b3af06b61b6038d83871779b9ef52e3aa6e00d",
      "parents": [
        "5b214e0f9670af7dad5dc40189778f9f4e6d41a8",
        "68a3b8b66044d0a9fa901ad306fc6db6d13f94d3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 10 07:05:18 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:05:18 2009 -0800"
      },
      "message": "am 68a3b8b6: am 24eca800: Merge change I887f355f into eclair-mr2\n\nMerge commit \u002768a3b8b66044d0a9fa901ad306fc6db6d13f94d3\u0027\n\n* commit \u002768a3b8b66044d0a9fa901ad306fc6db6d13f94d3\u0027:\n  Propagate background scheduling class across processes.\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": "f997e3a0f9775330ba0d37cf32f627f33b79b79c",
      "tree": "a1a309a8a4e8a1e610b87ebf38b947c40d920d19",
      "parents": [
        "dd3e79014151614a80f3f30b68cecb894502e514",
        "bf831e0de0fd1636a7ee2670faed208f96f23f65"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 18:35:06 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:35:06 2009 -0800"
      },
      "message": "am bf831e0d: am 38f6bdc4: am 0a08029f: Fix issue  2306779: Runtime restart - Init failed at android.media.ToneGenerator.\n\nMerge commit \u0027bf831e0de0fd1636a7ee2670faed208f96f23f65\u0027\n\n* commit \u0027bf831e0de0fd1636a7ee2670faed208f96f23f65\u0027:\n  Fix issue  2306779: Runtime restart - Init failed at android.media.ToneGenerator.\n"
    },
    {
      "commit": "feab08b9014a049c3bcd54f4e57ca36095a75593",
      "tree": "3ddf79077c27f039ea6df41ba0a7b23d0a4c4492",
      "parents": [
        "e204b9f84fd9924f70bd4d1e2171873ad9c42f6d",
        "e30bae7f8ef0489788c155ae44d9a57beca1acf5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 18:33:53 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:33:53 2009 -0800"
      },
      "message": "am e30bae7f: am b8341cf7: am 6d42d806: Merge change I9cc489a2 into eclair\n\nMerge commit \u0027e30bae7f8ef0489788c155ae44d9a57beca1acf5\u0027\n\n* commit \u0027e30bae7f8ef0489788c155ae44d9a57beca1acf5\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": "aa096cd9fba6c981b41c1080da166e8cbb4bb4ec",
      "tree": "b76d8fd29cfa65a487c8b18e22318439cf4db480",
      "parents": [
        "1936d6ec87571ab5dd4d4d9fb10d8b358c7fe613",
        "0c15b889317e9569282e4513db598369a0506b40"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Dec 07 18:30:40 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:30:40 2009 -0800"
      },
      "message": "am 0c15b889: am 401f4220: am 0019215f: Revert \"When using MDP, we needed to use a texture for diming.\"\n\nMerge commit \u00270c15b889317e9569282e4513db598369a0506b40\u0027\n\n* commit \u00270c15b889317e9569282e4513db598369a0506b40\u0027:\n  Revert \"When using MDP, we needed to use a texture for diming.\"\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": "1d51165f49872f2e7f352c1ed51aa7c4d076338e",
      "tree": "4569a29d14211ee4265fa2a9486c4af52250f4f4",
      "parents": [
        "8bf73ff274800ce75a222cd9693e733cbd821aaf",
        "20208ff643b33956c93d1f3fa1fa2c2d06fc7d02"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Fri Dec 04 04:28:12 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:28:12 2009 -0800"
      },
      "message": "am 20208ff6: am 9b565d5b: am cef8d031: Merge change I00d0b54a into eclair\n\nMerge commit \u002720208ff643b33956c93d1f3fa1fa2c2d06fc7d02\u0027\n\n* commit \u002720208ff643b33956c93d1f3fa1fa2c2d06fc7d02\u0027:\n  surfaceflinger: remove un-cached buffer hack for SGX\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": "a65168a0d3d03f8907b99d7418364a87f80d4568",
      "tree": "9a1e0a2ccfcbdef55449d63d232dddd3b973be98",
      "parents": [
        "af942bf8b35253e5f989c4cbd2ff7de108a55e13",
        "2aa107917b5a7e6de720a34c4701de55ee9772eb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 02 20:46:21 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 20:46:21 2009 -0800"
      },
      "message": "am 2aa10791: am 96dac84b: am 121a31ac: Merge change Id86beb99 into eclair\n\nMerge commit \u00272aa107917b5a7e6de720a34c4701de55ee9772eb\u0027\n\n* commit \u00272aa107917b5a7e6de720a34c4701de55ee9772eb\u0027:\n  fix [2291418] Camera preview cannot work in Emulator\n"
    },
    {
      "commit": "2f065852d63f6e289a83e252cd01b4e15d183290",
      "tree": "638f72420af70b6b1b4d04ec355c16a92fe21965",
      "parents": [
        "67fd40f51b93509185267a1b897acaa2151fd464",
        "52d390e8892967c1fad717a00731c0a25e268686"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 02 20:28:16 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 20:28:16 2009 -0800"
      },
      "message": "am 52d390e8: am 6076046a: am 1ac56b60: Merge change Iac196e17 into eclair\n\nMerge commit \u002752d390e8892967c1fad717a00731c0a25e268686\u0027\n\n* commit \u002752d390e8892967c1fad717a00731c0a25e268686\u0027:\n  Fix issue 2292062: Audio freezes for three seconds when choosing ringtones with a headset connected and music playing.\n"
    },
    {
      "commit": "67fd40f51b93509185267a1b897acaa2151fd464",
      "tree": "a10ceffb6694a7c8240ea528f2c8372558ef15cd",
      "parents": [
        "736f0092ff473b7ee8963c6786417c7a5084ab67",
        "44dcf411b01bdbd0ae2aeef3e958403a1096f36b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 02 20:27:37 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 20:27:37 2009 -0800"
      },
      "message": "am 44dcf411: am f764dae4: am 33ad0f9e: Merge change I0e44976a into eclair\n\nMerge commit \u002744dcf411b01bdbd0ae2aeef3e958403a1096f36b\u0027\n\n* commit \u002744dcf411b01bdbd0ae2aeef3e958403a1096f36b\u0027:\n  fix [2297155] SurfaceFlinger\u0027s freeze-timeout doesn\u0027t work\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": "2b9d7b1d6041c43c72e5970c0a186949c9a7a700",
      "tree": "c6fa7c36a103cd5dd0df65230c808017942304b2",
      "parents": [
        "871465fdd57472c8114cd7b2a7c59c966b617dbe",
        "a628e0238519a596e2d10981aae0aab65418f271"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 01 18:51:13 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 01 18:51:13 2009 -0800"
      },
      "message": "am a628e023: am 102f4dbb: am 8e4a110b: Merge change I5469a4ac into eclair\n\nMerge commit \u0027a628e0238519a596e2d10981aae0aab65418f271\u0027\n\n* commit \u0027a628e0238519a596e2d10981aae0aab65418f271\u0027:\n  fixed [2260070] display stopped updating\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": "54c0ec14e016e4a1bf3ceab40ed6ca5447da4725",
      "tree": "343acd699d50a4090b451d05135aa7887a6a7984",
      "parents": [
        "5154ae7665743b114c71f90dcc577dc50c63b398"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Nov 30 14:49:55 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Nov 30 15:34:03 2009 -0800"
      },
      "message": "Beging GL2 user shaders.  Switch master to using GL2 by default.\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": "7efde12a03b8d56c9344d5586d76336806638f11",
      "tree": "4f4d0abf93f76c65c087382ed523456babce083f",
      "parents": [
        "703d18b658e6d51a5494dbaef20077af5921189d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Nov 25 15:12:01 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Nov 25 15:14:50 2009 -0800"
      },
      "message": "Fix film\n"
    },
    {
      "commit": "bb51c40d89c7dbdee7d7507fdfe0a64e8f4f87a9",
      "tree": "55de9e729267eb463e07599b6b809fb4635c9472",
      "parents": [
        "3fdee335fe95ab94ef1ee619ad37f9369447fde5"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Nov 25 13:22:07 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Nov 25 13:22:07 2009 -0800"
      },
      "message": "Begin gl2 support.  Renderscript still uses GL1.1 by default.  However, 2.0 can be enabled and will render most tests correctly.\n"
    },
    {
      "commit": "3fdee335fe95ab94ef1ee619ad37f9369447fde5",
      "tree": "14facf2ff590893151732de04db32ffa883bd529",
      "parents": [
        "be02501de757eeee382d8bebcbf23f3251244292",
        "3f6ee1a180268ca2e30723ce2c45b81c2e671abb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 25 11:17:03 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 25 11:17:03 2009 -0800"
      },
      "message": "am 3f6ee1a1: am 1565d2ef: Merge change I4ad9ec48 into eclair-mr2\n\nMerge commit \u00273f6ee1a180268ca2e30723ce2c45b81c2e671abb\u0027\n\n* commit \u00273f6ee1a180268ca2e30723ce2c45b81c2e671abb\u0027:\n  Fix A2dpAudioInterface getParameters.\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": "02395a27888aa98e305647f273f6aa0a0716d5dd",
      "tree": "b53a5c2cdd44dbca9ed5ab630692c3b59697865b",
      "parents": [
        "e9719c8d38a9555d463e597c391aaceca7952cae",
        "40f92fe967f36d524d173b7819dc875af2cd9971"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 24 15:02:25 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 24 15:02:25 2009 -0800"
      },
      "message": "am 40f92fe9: am 1e22cffa: am 63851404: Merge change Ibf0c320a into eclair\n\nMerge commit \u002740f92fe967f36d524d173b7819dc875af2cd9971\u0027\n\n* commit \u002740f92fe967f36d524d173b7819dc875af2cd9971\u0027:\n  When using MDP, we needed to use a texture for diming.\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": "0a2e7a39632cb5e98b1e9ae593609bbdda829dc2",
      "tree": "d79893c80cf6190f31ff800fa7a7587cc100026f",
      "parents": [
        "5bb9771ec74b6e8db7136c1b10aefececcb33719",
        "e4df64bdaaf86fb7d06715de122a97d723d7fea2"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 24 12:57:57 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 24 12:57:57 2009 -0800"
      },
      "message": "am e4df64bd: am 66358e24: am 9dab667e: Force a crash under conditions where white square bug in all apps is likely to occur.\n\nMerge commit \u0027e4df64bdaaf86fb7d06715de122a97d723d7fea2\u0027\n\n* commit \u0027e4df64bdaaf86fb7d06715de122a97d723d7fea2\u0027:\n  Force a crash under conditions where white square bug in all apps is likely to occur.\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": "79e2646504f1b931bcdadc02d41f869ac024d1e9",
      "tree": "7d6d1a43bc50b33794adac6c9ce67b14b67f6295",
      "parents": [
        "9e7cd27daf888239109256cd28759d52263787d3",
        "9f96a37aabbffffe719c1dfb73b5c437f190bcf0"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Nov 23 16:29:46 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 16:29:46 2009 -0800"
      },
      "message": "am 9f96a37a: am 6a2500a3: am 39dbb099: Merge change I36176536 into eclair\n\nMerge commit \u00279f96a37aabbffffe719c1dfb73b5c437f190bcf0\u0027\n\n* commit \u00279f96a37aabbffffe719c1dfb73b5c437f190bcf0\u0027:\n  Fix ref counting bug that could cause memory leak in allApps.\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": "0b74d40ac13ae2162dca4519935fc0805d9aa8c5",
      "tree": "d8fb092c707ef31067bf138680342a3913d24aec",
      "parents": [
        "71372be6c29dbbbeea381bbbb1e2e84439a5de4a",
        "8652646105a6ace559280b579ee8935541ada6c1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 21 00:29:36 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 21 00:29:36 2009 -0800"
      },
      "message": "am 86526461: am 949c572a: am e7800946: Merge change I49f02be9 into eclair\n\nMerge commit \u00278652646105a6ace559280b579ee8935541ada6c1\u0027\n\n* commit \u00278652646105a6ace559280b579ee8935541ada6c1\u0027:\n  Issue 2265163: Audio still reported routed through earpiece on sholes\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": "5973cbc163e9d12782c7003bc2b89884cc535311",
      "tree": "7a1948a1a239ee7abf476e9f65de0fdccb5e4e2a",
      "parents": [
        "39cabc69d0afc7cb28541dcd3fada217d3ce3e58",
        "e71db6579c2afe06fe95dd88217a667d18fe4e20"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 20 15:31:17 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 20 15:31:17 2009 -0800"
      },
      "message": "am e71db657: am f2900600: am 1824ec8c: Merge change If2b0bbed into eclair\n\nMerge commit \u0027e71db6579c2afe06fe95dd88217a667d18fe4e20\u0027\n\n* commit \u0027e71db6579c2afe06fe95dd88217a667d18fe4e20\u0027:\n  Debugging for issue #2228381 android.view.InflateException\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": "5e04bbc7613da127ad830c51113d161cef4c3296",
      "tree": "c217870091ea58a2903ccbbd119cdcc881c2a4eb",
      "parents": [
        "cc829a652ba3c0caaca8a6bdbab1c3385fa49c83",
        "9aaf01b9d03e931c9d37858562ea47dbaf44a3be"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 17:45:20 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 17:45:20 2009 -0800"
      },
      "message": "am 9aaf01b9: am 793810f6: am 23aa34a7: Merge change I137dac6f into eclair\n\nMerge commit \u00279aaf01b9d03e931c9d37858562ea47dbaf44a3be\u0027\n\n* commit \u00279aaf01b9d03e931c9d37858562ea47dbaf44a3be\u0027:\n  backout a workaround that is not needed anymore\n"
    },
    {
      "commit": "0fd4a3007c9ef9250d9fb2fb490ec6f357d725b1",
      "tree": "1eeb1e051fa7808475bceb4c51c6afa9aa4af0f1",
      "parents": [
        "9bc2167ea21960c691ef90b66a830d9b5e0bf419",
        "ce18c9680e3c151dcd4df5cdaa9fa352ad134691"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 17:44:33 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 17:44:33 2009 -0800"
      },
      "message": "am ce18c968: am fc64165e: am 74a331b5: Merge change I4c29c948 into eclair\n\nMerge commit \u0027ce18c9680e3c151dcd4df5cdaa9fa352ad134691\u0027\n\n* commit \u0027ce18c9680e3c151dcd4df5cdaa9fa352ad134691\u0027:\n  fix [2269022] The raw picture displayed post shutter seems to have low-resolution\n"
    },
    {
      "commit": "857d2b156536c7120532661cf581bf491e3d06b3",
      "tree": "3ec9f31b51a502dcbbab25cebe85fad877304c22",
      "parents": [
        "35e3d527d37bcaf1aaf1620e4b3364b1b1f2d3a6",
        "93f409b5f7992767594107b7f468143e4a89a8c1"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 19 17:43:24 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 17:43:24 2009 -0800"
      },
      "message": "am 93f409b5: am d581b1a8: am ddac83a5: Fix extended logging for object dumping.\n\nMerge commit \u002793f409b5f7992767594107b7f468143e4a89a8c1\u0027\n\n* commit \u002793f409b5f7992767594107b7f468143e4a89a8c1\u0027:\n  Fix extended logging for object dumping.\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": "f5fac58f50eda336cd996b7eda240eee0e423674",
      "tree": "999130056c3f581f764d9f335d47158a8da71402",
      "parents": [
        "9390931b6ec800a5c670592c9b0f196705ad1817",
        "d10824dadc658e20ed85cd47fe4364b659a7fe2a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 17 18:53:07 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 17 18:53:07 2009 -0800"
      },
      "message": "Merge change Id10824da\n\n* changes:\n  Fix film init\n"
    },
    {
      "commit": "d10824dadc658e20ed85cd47fe4364b659a7fe2a",
      "tree": "467c4d2be70439db0bd0978830391979874d3bc0",
      "parents": [
        "948415fdd9bfee77aa46deae76f8602788befe6d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 17 17:52:43 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 17 18:51:58 2009 -0800"
      },
      "message": "Fix film init\n"
    },
    {
      "commit": "9390931b6ec800a5c670592c9b0f196705ad1817",
      "tree": "0fed36f3eb6d77082d8417a22f9e5ba5de4f5595",
      "parents": [
        "f9cf96ae1d342b1af659041e1bc5d464126f8e49",
        "948415fdd9bfee77aa46deae76f8602788befe6d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 17 18:51:25 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 17 18:51:25 2009 -0800"
      },
      "message": "Merge change I948415fd\n\n* changes:\n  Delete the old rollo sample which is obsolete.\n"
    },
    {
      "commit": "948415fdd9bfee77aa46deae76f8602788befe6d",
      "tree": "2ea38e1596a79700b78e519dfef3393d80c410b4",
      "parents": [
        "0c2fcf7230b5cc563ce3b902da83346bab8b3875"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 17 14:24:45 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 17 18:50:09 2009 -0800"
      },
      "message": "Delete the old rollo sample which is obsolete.\n"
    },
    {
      "commit": "644a0e320d4bda1871f38858e63aad2c9864570f",
      "tree": "dbe08bd7d8c08e8366b51a1c835e755ccbd856ac",
      "parents": [
        "e30c29feea0300dbf5355d08bbf90c0f85584e87",
        "f630904134a81e9e5edbd7b2bd77e402c180782f"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 17 18:07:54 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 17 18:07:54 2009 -0800"
      },
      "message": "resolved conflicts for merge of f6309041 to master\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": "277c2de96975de1da236a2042d9318db254206a3",
      "tree": "1cafeb5f62a2cae63ed7cb593c9e118e57ba34d0",
      "parents": [
        "04b963ad7c43e98760ddb57f703255b8a8caab59",
        "af3e233fe3222990440433d5f90a6a310d0170e3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 17 07:33:19 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 17 07:33:19 2009 -0800"
      },
      "message": "am af3e233f: am fc36afcb: am f998c4a2: Merge change I1c0bebbc into eclair\n\nMerge commit \u0027af3e233fe3222990440433d5f90a6a310d0170e3\u0027\n\n* commit \u0027af3e233fe3222990440433d5f90a6a310d0170e3\u0027:\n  fix [2262591] Junk on screen in ERD46\n"
    },
    {
      "commit": "41301259fb0a6bc0aa9da861e876c18d3bf719c4",
      "tree": "18cbb97fd0e92ea809d9ad20f9f8455957148384",
      "parents": [
        "e4c4843c71917c8734a02669bc8f7c38a85845ee",
        "234e509a67eb32606f3051d21eb3ea25b272d80d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 17 07:31:07 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 17 07:31:07 2009 -0800"
      },
      "message": "am 234e509a: am 22186a2c: am ec8178eb: Merge change I9c1bad53 into eclair\n\nMerge commit \u0027234e509a67eb32606f3051d21eb3ea25b272d80d\u0027\n\n* commit \u0027234e509a67eb32606f3051d21eb3ea25b272d80d\u0027:\n  Add setPriority to allow wallpapers to run at lower cpu priority than default.\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": "f24824231831fe0cfc0d3e2b3e7f0e9c8a7eab54",
      "tree": "b59cffc149903d9435f0a4c2e9fbc033aadd395d",
      "parents": [
        "20f004d6a36ce573e71d69f4edfd54e5df95221b",
        "6df012ad2639918f3256340ceb9c07bccfa04cdf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Nov 14 01:13:05 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 14 01:13:05 2009 -0800"
      },
      "message": "am 6df012ad: am cc96ede2: am 20aec2dd: Merge change I830df4b1 into eclair\n\nMerge commit \u00276df012ad2639918f3256340ceb9c07bccfa04cdf\u0027\n\n* commit \u00276df012ad2639918f3256340ceb9c07bccfa04cdf\u0027:\n  addresses several bugs: 2206097, 2166583, 2261119, 2216759\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": "ed63ce412f651eae991c4d174b36203e4051d6ca",
      "tree": "ee75811ace35728b246d0072ce65496ecfe06d53",
      "parents": [
        "690922527e65b379a5fa059e3482face183b35d8",
        "70a37eac62e887d16c4964b805a612d41254ca7f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 13 17:41:49 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 13 17:41:49 2009 -0800"
      },
      "message": "am 70a37eac: am 35ede78e: am 91e40e78: Merge change I18e02606 into eclair\n\nMerge commit \u002770a37eac62e887d16c4964b805a612d41254ca7f\u0027\n\n* commit \u002770a37eac62e887d16c4964b805a612d41254ca7f\u0027:\n  fix some aspects of [2258746] native crash in launcher2\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": "4f2ef8c857ae0cf8964aeaa451a2c751d416f38f",
      "tree": "ba5e37148a2d1f544ca6fd5120c6600b0b2383af",
      "parents": [
        "bfdece49cf34eda8d5f1e8bfb9437ccaf62ebe41",
        "99e03a3f94ff8bbd68599e7f43517dbc25421fe9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 13 10:53:15 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 13 10:53:15 2009 -0800"
      },
      "message": "am 99e03a3f: am 6efdbcc3: am fddfb9ae: Merge change Iad79689a into eclair\n\nMerge commit \u002799e03a3f94ff8bbd68599e7f43517dbc25421fe9\u0027\n\n* commit \u002799e03a3f94ff8bbd68599e7f43517dbc25421fe9\u0027:\n  Improvements for issue 2197683:\tEnglish IME key-press latency is noticeably higher on passion than sholes\n"
    },
    {
      "commit": "16536c27d4084d142a6c84223c8f0f8ee8496a43",
      "tree": "c89bb2fbf1ced26c9a77ec6ffae752a36c8ecb18",
      "parents": [
        "52349182e1ce746afd48cfb1426f6830e9345c29",
        "bd328d0113ae29bd351d39faedc6c4e7957db4ad"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Fri Nov 13 10:52:47 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 13 10:52:47 2009 -0800"
      },
      "message": "am bd328d01: am 9b942117: am 5f8f1487: Merge change Ia0a40883 into eclair\n\nMerge commit \u0027bd328d0113ae29bd351d39faedc6c4e7957db4ad\u0027\n\n* commit \u0027bd328d0113ae29bd351d39faedc6c4e7957db4ad\u0027:\n  Modify the binder to request 1M - 2 pages instead of 1M.  The backing store\n"
    }
  ],
  "next": "d7bc5e9891c8515437533d940b602bc9b288dcc2"
}
