)]}'
{
  "log": [
    {
      "commit": "cef3cd79489fa7897ffbacbc4e435651fb04f10d",
      "tree": "fd0d5f2763f08b01314ec7015c0a2e027e916c20",
      "parents": [
        "a77f93f76a40128ecc3d017ead6d1105f96b282a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 10 01:03:50 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 13 09:25:13 2010 -0800"
      },
      "message": "Create base class for audio policy manager.\n\nFirst implementations of audio policy manager in Eclair branch have shown that most code is common to all platforms.\nCreating AudioPolicyManagerBase base class will improve code maintainability and readability.\n\nAudio policy manager code for platforms using generic audio previously in AudioPolicyManagerGeneric is replaced by AudioPolicyManagerBase.\nAudio policy manager test code previously in AudioPolicyManagerGeneric is moved to AudioPolicyManagerBase.\n\nAlso added a wake lock for delayed commands in AudioPolicyService.\n"
    },
    {
      "commit": "b9c56e39689e650afcebed4da38ad79c7b6cfcdf",
      "tree": "895cf93edd31343c6894a7d32ffee75fe0c32dcc",
      "parents": [
        "9643b1e49c31c13fe0ac4bd9d8bb39e5859287f2",
        "ea87e96959895ef94cc3aa9576f41a660d2bbf03"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 12 15:39:57 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 12 15:39:57 2010 -0800"
      },
      "message": "Merge \"Implement type generation for user uniforms in vertex shader.\""
    },
    {
      "commit": "ea87e96959895ef94cc3aa9576f41a660d2bbf03",
      "tree": "651c5131fada7c1a2ab55c71e3d6b71901f0832c",
      "parents": [
        "917cd4fcda61c63429d73639284f34bb85c97f37"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 12 12:12:28 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 12 12:12:28 2010 -0800"
      },
      "message": "Implement type generation for user uniforms in vertex shader.\n"
    },
    {
      "commit": "980a938c1c9a6a5791a8240e5a1e6638ab28dc77",
      "tree": "75a3a1347b5423cc98859d3976076cea3dc22564",
      "parents": [
        "0a0289420227fee51406cf4cc508f09d8ecdd2f4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:06:28 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:11:38 2010 -0800"
      },
      "message": "Deprecate fill_parent and introduce match_parent.\nBug: #2361749.\n"
    },
    {
      "commit": "f5d95cbc1a6974afeb4d3155bdaa8dae55722a39",
      "tree": "a999860303c704ecfd8ac0848a005fc0b8447dc3",
      "parents": [
        "51d3e798985944a3be1aafb1e01216a6627625e0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jan 07 21:48:32 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jan 08 15:46:24 2010 -0500"
      },
      "message": "less log spew\n"
    },
    {
      "commit": "917cd4fcda61c63429d73639284f34bb85c97f37",
      "tree": "d0daed9ee16db49a43e5d5b3de7fc7d7b02af5ae",
      "parents": [
        "6286953eced16648d18e1efc57c3b089c49b5608"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jan 07 16:25:08 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jan 07 16:26:42 2010 -0800"
      },
      "message": "Fix npot but where mipmap level sizes were rounding in the wrong direction.  Should always be floor.\n"
    },
    {
      "commit": "6286953eced16648d18e1efc57c3b089c49b5608",
      "tree": "e2e683664592acd3d8571a9d1e86395cc636503c",
      "parents": [
        "edc5189c33de03f3e2f5f73edc0e007992b933c9"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jan 07 15:40:45 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jan 07 16:26:42 2010 -0800"
      },
      "message": "Change user attribs to look for empty slot rather than using them in order.  Prevents conflict with numbered legacy slots.\n"
    },
    {
      "commit": "74e02ef2000ff2783e526d6916e2f0b5d517593e",
      "tree": "cd25a361e97f0991b8222096623b23c2e58b2775",
      "parents": [
        "5e3f6caeb08c54fb79f427a528e084711652bbdb"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 06 15:10:29 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 06 15:10:29 2010 -0800"
      },
      "message": "Support npot on es 2.0 HW.\n"
    },
    {
      "commit": "a09a6e145b778861f7abee86ce17e59507ed221e",
      "tree": "15221ba7d657a5a75ec3f6ae2804c1b79a07a969",
      "parents": [
        "432bff01ec67533dbbb6ed27cb190c99e83ea226"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 06 11:57:52 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 06 12:01:51 2010 -0800"
      },
      "message": "More complete support for named attribs.  Adds user typed attribs as available to programVertex.  Non user attribs are not treated like user for GL2 for simplicity.\n"
    },
    {
      "commit": "ca328e70ed7a64b42b24fc3ca35149aec173d0b8",
      "tree": "b39905f661cc87274fc0cf22a5b026833e03c405",
      "parents": [
        "5aded76004408491dbaeb12e183359f9ecfe7412"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 05 11:09:50 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 05 11:40:22 2010 -0800"
      },
      "message": "explicit set an \"optional\" tag\n"
    },
    {
      "commit": "e17964e150e459bacced5658ae36fe1c56082e37",
      "tree": "d9a3f9bf24dcc509d8475e978c262d702cfb0bf3",
      "parents": [
        "7d46f612a25fc9f190358e9bd807b71d424ce7d2"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jan 04 16:52:27 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jan 04 16:52:27 2010 -0800"
      },
      "message": "Add RS support for generic attribs as input to vertex programs.\n"
    },
    {
      "commit": "7d46f612a25fc9f190358e9bd807b71d424ce7d2",
      "tree": "cb58b4fa0f0870bf79a23c4155306893439f42c8",
      "parents": [
        "718cd1f322ee5b62b6a49cb36195bcb18a5ab711"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 23 14:56:19 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 23 14:56:19 2009 -0800"
      },
      "message": "Disable excessive RS logging.\n"
    },
    {
      "commit": "718cd1f322ee5b62b6a49cb36195bcb18a5ab711",
      "tree": "f2f8c9db5a8141eafa2f1547634d7586fdc6ef04",
      "parents": [
        "ceedafacdb87307234c84196a12eeb6e657d6220"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 23 14:35:29 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 23 14:35:29 2009 -0800"
      },
      "message": "Element restructuring.  Add support for new basic Element types including the RS objects and vectors(2-4).  In theory this paves the way for maintaining type info for RS objects, passing elements for GLSL uiforms/attribs/varyings, and supporting nested structures.\n\nThis will break some apps, checkings for other projects will follow to unbreak them.\n"
    },
    {
      "commit": "b9a44165c765524ce4eaa822e7764a0af5ac9c83",
      "tree": "7d68e1359c72688d573d86badeb59e2b2ae7216f",
      "parents": [
        "fddd8f96f34b622cbdd0d891f8a7f5b7e18fdbf8",
        "0c5cc224b052654ee38d39effce427a47697481b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 10:01:39 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 22 10:01:39 2009 -0800"
      },
      "message": "am 0c5cc224: am d20a55af: Merge change Iccfa50fe into eclair\n\nMerge commit \u00270c5cc224b052654ee38d39effce427a47697481b\u0027\n\n* commit \u00270c5cc224b052654ee38d39effce427a47697481b\u0027:\n  Fix issue 2323920: Notification \u0026 A2DP audio stutter.\n"
    },
    {
      "commit": "8ac9f8d1c708dc8bb853f7697f10051031eb73c5",
      "tree": "fa01ca6b36a08093fa24668723c17ff1189513c1",
      "parents": [
        "e4c2a37624612c9708d0767f8643a10502e6887a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 18 05:47:48 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 09:06:46 2009 -0800"
      },
      "message": "Fix issue 2323920: Notification \u0026 A2DP audio stutter.\n\nModified AudioFlinger duplicating output thread so that audio tracks are not mixed until both outputs (A2DP and hardware) have exited standby mode. This avoids to have one output far ahead of the other and audio frames dropped because the compensation mechanism cannot keep up.\nAlso calculate the maximum wait time in OutputTrack::write() based the on smallest frame count of all output threads instead of the frame count of the thread the OutputTrack is connected to. This avoids starving the thread with the smallest frame count by waiting too long on the other thread.\nSince the frame count was reduced on hardware output to reduce latency the difference between A2DP and hardware outputs frame counts had become problematic.\nAlso increased the number of overflow buffers to cope with bigger timing differences among outputs.\n"
    },
    {
      "commit": "68afd01ec9fd37774d8291192952a25e5605b6fb",
      "tree": "b75c5b23b57446285d9c14a5d789722b916ea1e8",
      "parents": [
        "8bb41dd61474e977aa61048ba8f733a984a3b22d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 17 16:55:08 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 17 16:55:08 2009 -0800"
      },
      "message": "Move texture bindings to base program object.  Change ProgramFragment creation to require a texture format in 1.0 mode.\n"
    },
    {
      "commit": "7b7f29a35ce15d682ff688ea11b5a516075131f3",
      "tree": "58a41d51b5f73fe21eaf4a98e1431913cff1f3ab",
      "parents": [
        "ce9adcce02ef528cf5a65c3650099aa54ebb712a"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 16 14:24:17 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 16 14:24:17 2009 -0800"
      },
      "message": "Fix live wallpaper many.  Z coordinate was being ignored for draw quad call.\n"
    },
    {
      "commit": "ce9adcce02ef528cf5a65c3650099aa54ebb712a",
      "tree": "0f7a423d186d588d0324ed6c9c5b7524e06bac44",
      "parents": [
        "5dad8b4d1fda37b7b4763ef7361c5eb92131cb7e"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 16 14:13:06 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 16 14:13:06 2009 -0800"
      },
      "message": "Fix emulated glColor in es2 mode.\n"
    },
    {
      "commit": "5dad8b4d1fda37b7b4763ef7361c5eb92131cb7e",
      "tree": "1cd2619209c2c459ceba2bb5243594e3fabc1bea",
      "parents": [
        "d6542507e73e1d7f3380cb4657a0745772818002"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 19:10:11 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 19:10:11 2009 -0800"
      },
      "message": "Place shader logging behind prop to declutter logs.\n"
    },
    {
      "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"
    }
  ],
  "next": "4c29c9487e47c5f0a23790e670dc3dc7a215d04c"
}
