)]}'
{
  "log": [
    {
      "commit": "686200cb5f3e80c0b0519ec14cc54b280a560863",
      "tree": "c15a2e68f60ad61bf2b3cae397bedb779c36de4f",
      "parents": [
        "070ce94b9fd91d1bb22161a85178440cb46d8ece",
        "f3503c2c30dc0b7eb7603998469f437136497c5c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 26 12:08:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 26 12:08:07 2011 -0700"
      },
      "message": "Merge \"remove dead code and member variables.\""
    },
    {
      "commit": "f3503c2c30dc0b7eb7603998469f437136497c5c",
      "tree": "934ebd5f0c8da99a02cb7a4df77d908c54d34f02",
      "parents": [
        "9a817a35f11cb118209a3238451603258ae7f105"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 25 19:56:08 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 25 20:03:43 2011 -0700"
      },
      "message": "remove dead code and member variables.\n\nalso fix some comments and improve debugging logs.\n\nChange-Id: I83e55309f306332b59e1ec46104c4a7fffbf3c97\n"
    },
    {
      "commit": "d50aef50f640723e95ca270441161dfb042115d0",
      "tree": "8acec272063a9d3fa95f2a39320aebe2478bb93d",
      "parents": [
        "0d1d96272025f30f40c49c387f2fe9daaf6133c9",
        "ecfa1d3a7941a4f1a9c381c9c7419ecd0bd86967"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 25 11:46:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 11:46:51 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: enable RGB external textures\""
    },
    {
      "commit": "5518dd92d38edd5902482841413722aa654cc2e7",
      "tree": "8fed33fc854d72b0000c8ad99565f8377c7e6607",
      "parents": [
        "63d050034df5eedc9586e393d56444cd34681bd1",
        "0de171b0d490a5928d54d2fb67c912d140aac643"
      ],
      "author": {
        "name": "Ted Bonkenburg",
        "email": "tedbo@google.com",
        "time": "Mon Jul 25 10:24:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 10:24:30 2011 -0700"
      },
      "message": "Merge \"Add support for creating a Surface from a a SurfaceTexture.\""
    },
    {
      "commit": "0de171b0d490a5928d54d2fb67c912d140aac643",
      "tree": "abba5dd93cbdc076224ea3da2a92254c553a8112",
      "parents": [
        "7699c18a079d232280c2701fb20d36f75d379e03"
      ],
      "author": {
        "name": "Ted Bonkenburg",
        "email": "tedbo@google.com",
        "time": "Fri Jul 15 15:10:10 2011 -0700"
      },
      "committer": {
        "name": "Ted Bonkenburg",
        "email": "tedbo@google.com",
        "time": "Fri Jul 22 16:36:44 2011 -0700"
      },
      "message": "Add support for creating a Surface from a a SurfaceTexture.\n\nThe Surface is already using SurfaceTexture internally and it is parcelable. This\nis intended to replace and phase out ParcelSurfaceTexture in favor of creating a\nnew Surface.java object from an existing SurfaceTexture.\n\nChange-Id: I8e2dd86614523da6abed6403e1d705a68fa19fdf\n"
    },
    {
      "commit": "ecfa1d3a7941a4f1a9c381c9c7419ecd0bd86967",
      "tree": "6e23317bd8e8ac08a9e4e5ae1d553bb97319cb60",
      "parents": [
        "95b404228547eb771700e6cbb927adc282aebccd"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jul 19 17:58:43 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 22 15:45:18 2011 -0700"
      },
      "message": "SurfaceTexture: enable RGB external textures\n\nThis change removes support for conditionally using the GL_TEXTURE_2D\ntarget for SurfaceTexture textures with RGB buffers.  It also enables\nand fixes the RGB-based SurfaceTexture tests.\n\nChange-Id: I9a251a981cf66af6b048b2e4c3fe7231e4774f4d\n"
    },
    {
      "commit": "5ef59bc764d6bcd0ccf0a266d7d9ab792668a3e9",
      "tree": "aa5b98091b69c5f5d65618acd90b0e6ebf543ec3",
      "parents": [
        "b71a4beb1afb3f91201cd416e8e56733ba17913e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jul 19 12:08:33 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 22 14:20:41 2011 -0700"
      },
      "message": "SurfaceTexture: add the abandon method.\n\nThis change adds the \u0027abandon\u0027 method to the SurfaceTexture C++ class.\nThis method may be used to put the SurfaceTexture in an abandoned state,\ncausing all ISurfaceTexture methods to fail.\n\nChange-Id: Ibd261f7b73f44e2bec36a8508bf92113cfb7cf95\n"
    },
    {
      "commit": "b71a4beb1afb3f91201cd416e8e56733ba17913e",
      "tree": "69de7d9ab6c450f601d485280e61d96740db8860",
      "parents": [
        "e333d3c8243e11b094cec816cb9b41e2b8504582"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 21 14:31:31 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 22 14:03:31 2011 -0700"
      },
      "message": "SurfaceTexture: add a deadlock scenario test\n\nThis change adds a test to ensure that a GL driver that\u0027s blocking on a\ncall to dequeueBuffer does not block other GL threads from rendering and\nqueueing buffers.\n\nChange-Id: Ifdd234effc534b6a9cf8522ca87f64da5bb0bbd6\n"
    },
    {
      "commit": "95b404228547eb771700e6cbb927adc282aebccd",
      "tree": "62d76526ca0de57fa4b524eb7bf818e4f7168478",
      "parents": [
        "6dcf2d77767f73608caa316db534a1df64a2b272",
        "075db95875db320d4e2ed05be0301ff3cc6023e1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 22 13:34:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 13:34:57 2011 -0700"
      },
      "message": "Merge changes I799532f7,I5cffa6eb\n\n* changes:\n  SurfaceTexture: fix a comment\n  SurfaceTexture: remove getAllocator\n"
    },
    {
      "commit": "45b63dd11c10927122e3eb3eae5ac702cb24f5b8",
      "tree": "e9ced0732f120c5bf4d2d52a1221c1375e04e90e",
      "parents": [
        "0eecc27714d10b640bd8d40af8d1fb20aa3d29a0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 21 14:50:29 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 21 14:50:29 2011 -0700"
      },
      "message": "Fix a few issues with NATIVE_WINDOW_TRANSFORM_HINT\n\n- fixed uninitialized variable\n- set hint to indentity when transform is too complex\n- make sure FrameBufferNativeWindow doesn\u0027t fail on needed perform commands\n\nBug: 4487161\nChange-Id: I7cb2b0869b72404732eca7cb2d145ff669e2ed9b\n"
    },
    {
      "commit": "5c23a2c72d1c3d2c423355ae301e0822e1662b9f",
      "tree": "401a131a26ad11e7fdc9b91cfbaf699675c4b481",
      "parents": [
        "d7a374f6f8f52a88d7e9a4660d9bf9037cf0b659"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jul 19 14:32:36 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 21 14:32:56 2011 -0700"
      },
      "message": "SurfaceTexture: remove getAllocator\n\nThis change removes the SurfaceTexture::getAllocator method, as it\u0027s no\nlonger needed.  Proper refcounting of the Gralloc buffers is now handled\nby the IGraphicBufferAlloc binder marshalling code.\n\nChange-Id: I5cffa6ebfc1bc5828fb7ce0e0a5b2f55cd8479da\n"
    },
    {
      "commit": "50c24a2000c785f8be2367e1fc7938a5eda5c9e8",
      "tree": "4f6b33dae6fad115e014290b2535c0b931c9d0a1",
      "parents": [
        "f07b8a3f691be39083fb5163f9456bcfa566f93f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 20 16:46:11 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 20 16:53:13 2011 -0700"
      },
      "message": "clean-up. get rid ofunused code and members in Surface[Control].cpp\n\nChange-Id: Ia7790ae28af2c2ac99eae01c2c5044ace4a490a4\n"
    },
    {
      "commit": "f07b8a3f691be39083fb5163f9456bcfa566f93f",
      "tree": "885f9fcbb020c630c2b0ea20b13ca2ee850e5f3b",
      "parents": [
        "ff86f37b95327538b97b6b8ef5d3c6ed0cd7f902"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 19 15:24:46 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 19 15:24:46 2011 -0700"
      },
      "message": "implement: \"Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation\"\n\nBug: 4487161\nChange-Id: I883f34efe542c2a566d04966f873374f40c50092\n"
    },
    {
      "commit": "ff86f37b95327538b97b6b8ef5d3c6ed0cd7f902",
      "tree": "59deccf2daa7d8c8167574cacf878a4ee279f149",
      "parents": [
        "09d7ed7b395d66be97c6bcb052039f5c0dce646c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 18 16:15:08 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 19 13:05:12 2011 -0700"
      },
      "message": "use SurfaceTexture new scaling mode in SF\n\nSF now obeys SurfaceTexture\u0027s scaling mode instead\nof inferring it from the buffer\u0027s size\n\nChange-Id: I4d50e9851abedd7e64bfcfc8af9eefb9fb668529\n"
    },
    {
      "commit": "09d7ed7b395d66be97c6bcb052039f5c0dce646c",
      "tree": "f707f6e46bd9a0edeaac9b33bffe054a64e3062c",
      "parents": [
        "9d29d155c51a26d789cce2c4c24c659487c63554"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 13 15:24:42 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 19 13:05:11 2011 -0700"
      },
      "message": "Add set_scaling_mode() to ANativeWindow.\n\nThis allows to specify the scaling mode independently from\nthe buffer size.\n\nChange-Id: Iaa2baa660445531a97d3fac192e580f4929c5d3b\n"
    },
    {
      "commit": "f4f79ac42a318145397327cd6a0d1f421c6c00f0",
      "tree": "280f4e7dc20924530e1e71dc3f8b628e0b37ffd4",
      "parents": [
        "10e6f34a67b77c17286e2438485bac5f63776116",
        "5263454243e3be173dee11130c312d1420e0397b"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 18 15:00:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 18 15:00:54 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: add a multi-SurfaceTexture test\""
    },
    {
      "commit": "949be32b671304d5281ac0abbf30dcf4ebaa9eaf",
      "tree": "f12cbc9997bd2270f1a7604ba4d78739688975c3",
      "parents": [
        "8d96f19692815aa14979c811a130b38eafc1bf65"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 13 17:39:11 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 15 17:47:08 2011 -0700"
      },
      "message": "move lock/unlock implementaion outside of Surface into SurfaceTextureClient\n\nThis makes ANativeWindow_lock/ANativeWindow_unlockAndPost work\nwith ANativeWindows implemented by Surface and SurfaceTextureClient.\n\nAlso, Surface now inherits directly from SurfaceTextureClient.\n\nBug: 5003724\nChange-Id: I9f285877c7bae9a262e9a7af91c2bae78804b2ef\n"
    },
    {
      "commit": "97912d0b9d3ffc8412d10661a88931a68fa4c5d3",
      "tree": "8461f22254daea045b95c14b5d47756b80f4453f",
      "parents": [
        "339abf1fbac25321cea9d39de14b6a6b4e326120",
        "ec7ea37a0e910afae2490ff743d7f6165ae67408"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 15 12:35:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 12:35:34 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: fix SurfaceTextureGLToGLTest\""
    },
    {
      "commit": "d2734a5daae91869949218a322a35e7423e59a9a",
      "tree": "def9e702ef61d4d2929fcdcd150994e420045d5c",
      "parents": [
        "4838151d181a5989d51a42e6dcbba6d66d7b5165"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 14 20:20:58 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 14 20:20:58 2011 -0700"
      },
      "message": "fix a typo in ISurfaceTexture IPC code\n\nChange-Id: Ied1d9ddb0d849b17219d0ea3d333ce12be849419\n"
    },
    {
      "commit": "06b54d7184e015256ad1817e381f61eb7514a3e2",
      "tree": "8e88a243d1d426e97890c6ed716fe53b379d2c09",
      "parents": [
        "b3a26f4d94f390d4baeac0fc11ccb9d451b67dbd",
        "9709687463dc5f1255f435e57b3d2beed8b70330"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 17:54:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 17:54:27 2011 -0700"
      },
      "message": "Merge changes Id9aa1003,I8c154189\n\n* changes:\n  SurfaceTexture: make (dis)connect into an IPC\n  SurfaceTexture: add support for new connect values\n"
    },
    {
      "commit": "9709687463dc5f1255f435e57b3d2beed8b70330",
      "tree": "3a3a66468d3cc2d7b86871eb2f17acea86af7907",
      "parents": [
        "a775f0d4193dffc336b295dc06056f81801eba9e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jul 13 19:12:20 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 17:48:32 2011 -0700"
      },
      "message": "SurfaceTexture: make (dis)connect into an IPC\n\nThis change makes the ANativeWindow connect and disconnect calls result\nin an IPC to the SurfaceTexture object.  This will allow us to prevent\nmultiple simultaneous connections from different processes.\n\nChange-Id: Id9aa1003b1335b96ca6bd4a1f5a67aa433d42efb\n"
    },
    {
      "commit": "ec7ea37a0e910afae2490ff743d7f6165ae67408",
      "tree": "c3b705aac9bad389e6041417bd2dd4d2b99eb37f",
      "parents": [
        "d44e1b6033eed29718f2e7e3540e4884929941a5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 17:11:47 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 17:11:47 2011 -0700"
      },
      "message": "SurfaceTexture: fix SurfaceTextureGLToGLTest\n\nThis change fixes a couple different issues in the\nSurfaceTextureGLToGLTest test fixture:\n  - incorrect use of conditions\n  - move logging after the locks are acquired\n  - call the parent class\u0027s TearDown method\n  - clean up the SurfaceTexture before eglTerminate gets called\n\nChange-Id: I6960e5ab7f144225f01a2089d3f849c99fed0b38\n"
    },
    {
      "commit": "a775f0d4193dffc336b295dc06056f81801eba9e",
      "tree": "5d07068845e61df1022efed01bc678b774d6e7a8",
      "parents": [
        "d44e1b6033eed29718f2e7e3540e4884929941a5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jul 13 12:57:23 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 15:03:33 2011 -0700"
      },
      "message": "SurfaceTexture: add support for new connect values\n\nThis change adds support to SurfaceTextureClient for the new enum values\nthat can be passed to the ANativeWindow connect call.\n\nChange-Id: I8c15418909e43a15673a9b22a5eb40df6923b273\n"
    },
    {
      "commit": "8c55a9a57e4f13ec420c3de7b3abfdcf454f6633",
      "tree": "f72fd5b0d50af585d7d4c644f84a288dffbc2946",
      "parents": [
        "067b873f7cc3d1b3e83604b78f8c0dc769f870b1",
        "bd882b1c8708686d373c56e07e6bb8b1cb6ffd9e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "message": "Merge \"Remove the simulator target from all makefiles. Bug: 5010576\""
    },
    {
      "commit": "bd882b1c8708686d373c56e07e6bb8b1cb6ffd9e",
      "tree": "b17fbae7a6ff475ab37be48046d0540d594f84fb",
      "parents": [
        "3f9dd287b99340efaaa257759e71a8f81b2ed113"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "message": "Remove the simulator target from all makefiles.\nBug: 5010576\n\nChange-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8\n"
    },
    {
      "commit": "5263454243e3be173dee11130c312d1420e0397b",
      "tree": "8b442b651c871cd886c3855ee9286bd6143e2a72",
      "parents": [
        "d44e1b6033eed29718f2e7e3540e4884929941a5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 11 19:00:51 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 11 19:06:39 2011 -0700"
      },
      "message": "SurfaceTexture: add a multi-SurfaceTexture test\n\nThis change adds a test that does simple, unverified GL rendering to\nmultiple SurfaceTextures.\n\nChange-Id: I51a41d68ae5a27e01ae93842242897b0d3558ca6\n"
    },
    {
      "commit": "97eae025ad857e33dce5b3d1d4fd5fe5813d2a80",
      "tree": "e383a743c76a50a1d201ba9d8b34606c661b6787",
      "parents": [
        "d44e1b6033eed29718f2e7e3540e4884929941a5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 01 13:12:07 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 11 12:31:45 2011 -0700"
      },
      "message": "EGL: fix the ANativeWindow size/fmt override\n\nThis change fixes how the Android EGL layer overrides the size and\nformat of an ANativeWindow in eglCreateWindowSurface.  The new behavior\nis to leave the size untouched when overriding the format.  The previous\nbehavior was to reset the ANativeWindow to use the default size set by\nthe ANativeWindow implementation.\n\nIt also adds two new \u0027perform\u0027 methods to the ANativeWindow interface:\nset_buffers_dimensions and set_buffers_format, and redefines the\nbehavior of set_buffers_geometry to be the combination of these two new\nmethods.\n\nAdditionally, this change adds an error check for the return value of\nthe new native_window_set_buffers_format call, which required adding a\n(stub) handler for to FramebufferNativeWindow.\n\nChange-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1\n"
    },
    {
      "commit": "19a695c477e563b79056aeb8400ce622cbd54f85",
      "tree": "5147de0b0548799c9de6f5a81dfa8fbd51541baf",
      "parents": [
        "eea5be5447c759fcc11e587504ae172a4665db78",
        "413b3f7382048919933542604515250ca7bf19de"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 07 14:42:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 14:42:12 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: enable newly passing tests.\""
    },
    {
      "commit": "413b3f7382048919933542604515250ca7bf19de",
      "tree": "0468c6a06eef02b09600c3657f46c25e76b3e5d5",
      "parents": [
        "34e7813e962de99df9813014678ef5901227c5f1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jul 06 14:47:47 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jul 06 14:47:47 2011 -0700"
      },
      "message": "SurfaceTexture: enable newly passing tests.\n\nThis change enables the following four SurfaceTextures tests:\n  UpdateTexImageBeforeFrameFinishedWorks\n  UpdateTexImageAfterFrameFinishedWorks\n  RepeatedUpdateTexImageBeforeFrameFinishedWorks\n  RepeatedUpdateTexImageAfterFrameFinishedWorks\n\nChange-Id: I7632630bc97873e50d4a765ffc44a86f16ae62f1\n"
    },
    {
      "commit": "994e7619a676716de1b018b79946d415f2a305d3",
      "tree": "710ee922c6bffe0f11979c2be7ce020cb58f27a2",
      "parents": [
        "eec0f7ebac85d3d1b1151e62b2ed0f25c138d447"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 15:27:27 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 15:41:32 2011 -0700"
      },
      "message": "fix ScreenshotsOfProtectedBuffersFail\n\n- put the test window at the front most screen position\n- use RGBA_8888 which is a mandatory format\n- handle devices that don\u0027t support the protected usage flags\n\nBug: 4950464\n\nChange-Id: I0005fb667cfe094e5978816e2924b294c5ef817e\n"
    },
    {
      "commit": "eec0f7ebac85d3d1b1151e62b2ed0f25c138d447",
      "tree": "51e127d4082b8f5aaee347fbc195b74789762450",
      "parents": [
        "23b444a2e4e808262c22fa5254db9861eb961879"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 14:53:49 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 14:53:49 2011 -0700"
      },
      "message": "return an error code with gralloc buffer allocation failures\n\nChange-Id: I471e5d37ea7a42fc8a0f93446ee3b4229da37807\n"
    },
    {
      "commit": "ea458f190b5f496f80bf98a6ccaca2d46274cebc",
      "tree": "4aceeeabcd27777a0aac4bcd2719b3fc7de89306",
      "parents": [
        "ce43bc48588408e72aaa47ac1483837d5bfd1f59",
        "c9ec69eb6f07881e1d0582156e5697eff69f5546"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Jun 30 18:38:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 30 18:38:18 2011 -0700"
      },
      "message": "Merge \"Minor fix in SurfaceTexture\""
    },
    {
      "commit": "c9ec69eb6f07881e1d0582156e5697eff69f5546",
      "tree": "e2f7e8aa3ace307cf0771c620b3abb6e137ef93f",
      "parents": [
        "c18e7e73158f794064fed5017c6c1c9a288673bd"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jun 24 09:56:27 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Jun 30 15:41:19 2011 -0700"
      },
      "message": "Minor fix in SurfaceTexture\n\nChange-Id: Ic859715becf3e6d5107bd8beb8c577034d00ec52\n"
    },
    {
      "commit": "439863f3b3e725b5de1cba4940a21900369961c0",
      "tree": "90ab56432c2436c3392b02ba08876c86796a36ef",
      "parents": [
        "f1bfa84ccf61cad2b6ea9f2e6a612a54a38b79bc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 28 19:09:31 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 15:05:41 2011 -0700"
      },
      "message": "SF transactions are now O(1) wrt IPC instead of O(N).\n\nChange-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43\n"
    },
    {
      "commit": "1b6230983186cca4977efe6a3c49261d327495cd",
      "tree": "65edfbc26f9965d465ed1ef51b567b2ec44b44bc",
      "parents": [
        "5b0eb1778af2d455ede77028884b336644ff90ff"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 17 11:39:18 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 28 13:18:07 2011 -0700"
      },
      "message": "SurfaceTexture: add a CPU -\u003e GL sync test.\n\nThis change adds a test to verify that proper synchronization is done\nwhen using SurfaceTexture to use CPU generated images as OpenGL ES\ntextures in \u0027synchronous mode\u0027.  Synchronous mode is particularly tricky\nbecause SurfaceTexture will allow the buffer that\u0027s currently bound to\nthe GL texture to be dequeued.  We rely on Gralloc\u0027s lock function to\nblock until this buffer is no longer being used by the OpenGL ES.\n\nChange-Id: I1c4e37f3e9d60ab9a0905a90a1f5060fda8e485c\n"
    },
    {
      "commit": "9fb5976367911d0ab42d296238f0f06d517e867d",
      "tree": "98c01d0b42d77db071fba25d8c3e98dacfaa2dfc",
      "parents": [
        "bd5404d0312752e7c8946e8540129f0d2d97bcd7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 27 15:41:52 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 27 15:45:40 2011 -0700"
      },
      "message": "SurfaceTexture: consume buffers after err checks\n\nThis change moves the point at which queued buffers get consumed to\nafter any error checks that could cause updateTexImage to fail.  This\nway, if updateTexImage returns an error the buffer remains queued.\n"
    },
    {
      "commit": "bd5404d0312752e7c8946e8540129f0d2d97bcd7",
      "tree": "abdb05720d7149f0adee32a0f4ae9712cb57d78e",
      "parents": [
        "932e4e613987658383e23fa151c3f5b87d07f028"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jun 26 18:27:47 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 27 15:45:39 2011 -0700"
      },
      "message": "SurfaceTexture: change onFrameAvailable behavior\n\nThis change alters the conditions under which the onFrameAvailable\ncallback gets called by the C++ SurfaceTexture class.  The new behavior\nis to call the callback whenever a frame gets queued that will be\nvisible to the buffer consumer.  This means that buffers queued in\nsynchronous mode always trigger the callback, as those buffers will\nremain pending until they are consumed.  Buffers queued in asynchronous\nmode will only trigger the callback if there was not previously an\nunconsumed buffer pending.\n\nThe new behavior means that a consumer should perform a draw operation\nexactly once for every onFrameAvailable call that it recieves.  This\nchange also modifies SurfaceFlinger and the SurfaceTexture JNI to\nsupport of the new behavior.\n\nChange-Id: I8b2c6e00961d3d58b11c6af50b555b6e4c5f5b40\n"
    },
    {
      "commit": "0904d0af81e8a0a5404d6c03f4dcea02bea8170d",
      "tree": "30ed521b5552efb6baeac987de69ea73e83fcdba",
      "parents": [
        "62250fbcd15dc46fd37341f9843e87585e132f05"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 23 21:21:47 2011 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 23 21:21:47 2011 -0700"
      },
      "message": "Add allowSynchronousMode to SurfaceTexture constructor.\n\nChange-Id: I54f30a3c16bbe6b813f3bcd1d389da5627531304\n"
    },
    {
      "commit": "4e8a5c922c287ec97fec847194e930f8598a1941",
      "tree": "4cb995f8d142f646a8c99d9818b6cdee456de398",
      "parents": [
        "0f5d8441ef3ee88855df71b15d81f4c14f12d63d"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Wed Jun 22 15:52:53 2011 -0700"
      },
      "committer": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Wed Jun 22 16:18:09 2011 -0700"
      },
      "message": "Add method to create a ParcelSurfaceTexture from android.view.Surface.\n\nChange-Id: I05e343ab7e327478f60322af9373574b70c148f5\n"
    },
    {
      "commit": "dba3968ab27a6d2ca4cc7e07f0d23e918ba61606",
      "tree": "59c56f87498b6dae15f52d1d980270e8855b772e",
      "parents": [
        "c972c795cfdb0d16d664510b5041e43cfdc2a5ac"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 15 14:24:38 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 20 15:42:57 2011 -0700"
      },
      "message": "SurfaceTexture: make tests use a large framebuffer.\n\nThis change makes the SurfaceTexture GL tests use a large (512x512)\nframebuffer.  The tests now use glViewport to render to a region of the\nframebuffer with a size matching that of the texture being drawn.  The\nNpot test pixel checks must be changed because now the rendered region\nis the same size as the texture.\n\nChange-Id: Icc41803189c25e33ba1da7d2470720f0a11f3e4b\n"
    },
    {
      "commit": "c972c795cfdb0d16d664510b5041e43cfdc2a5ac",
      "tree": "ec8f0e4686903bdb3351f7d2129984d20ff8032d",
      "parents": [
        "b2af97e9a11119a257289cb8c539b5de79093052",
        "aff74054189a4276a250eac91ac301ab2df37ae3"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 20 15:34:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 20 15:34:00 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: fix a NULL ptr dereference.\""
    },
    {
      "commit": "aff74054189a4276a250eac91ac301ab2df37ae3",
      "tree": "9ff93cb4a6667ffd4692e07cab3f5b4125729a2d",
      "parents": [
        "f71e5469441286c6f466043e64a7f6492557cbd9"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 20 12:04:09 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 20 14:16:49 2011 -0700"
      },
      "message": "SurfaceTexture: fix a NULL ptr dereference.\n\nThis change adds a NULL check when searching the slot list in\nSurfaceTextureClient for the slot corresponding to a buffer being\nqueued or canceled.\n\nBug: 4645023\nChange-Id: I806cbc1e34da118ea33a83c4f25ce8193ba1c3ad\n"
    },
    {
      "commit": "537cf4a6a375f25e4ed0fef286965c864878f6c2",
      "tree": "e50693807e727b068345a46d5f0889fc470d332e",
      "parents": [
        "b82f85bbfdac6bf6d4e59d91886f40678d20000b"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 14 17:04:29 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 15 12:44:01 2011 -0700"
      },
      "message": "SurfaceTexture: enable a test that now passes.\n\nThis change enables the QueryFormatAfterSettingWorks.\n\nChange-Id: Ic868011a36a6c86c8646880246cd5b6960a13364\n"
    },
    {
      "commit": "b82f85bbfdac6bf6d4e59d91886f40678d20000b",
      "tree": "5ca03445a580526423916b7bb5b3d6cf61bfa253",
      "parents": [
        "f71e5469441286c6f466043e64a7f6492557cbd9"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 14 15:41:45 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 15 12:44:01 2011 -0700"
      },
      "message": "SurfaceTexture: enable a test that is now passing.\n\nThis change enables the TexturingFromCpuFilledYV12BufferPow2 test.\n\nChange-Id: Ib356ee3d2f8979f34f849fd4090f598295e2e92e\n"
    },
    {
      "commit": "fba5fcf367ddbeb0ab804a60e0cb9bb42f5f7fb0",
      "tree": "0e7477120706ff54f38bf1392582c5e117a46ebe",
      "parents": [
        "d23398d40c415a5ac056de0b0a07f9a03843a148"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 19:06:52 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 14 13:45:53 2011 -0700"
      },
      "message": "SurfaceTexture: increase the test\u0027s Surface layer.\n\nThis change increases the Surface layer used for displaying the test\nresults so that the tests will be visible over other windows in the\nsystem.\n\nChange-Id: I47f147f8743ff2a39d57d551811668371202bd31\n"
    },
    {
      "commit": "d23398d40c415a5ac056de0b0a07f9a03843a148",
      "tree": "404a2dc831bd84abfddd4d18d2ee2ef7666993b2",
      "parents": [
        "3c7d846c26eaacfb6e1e33256f7447a12923ccc1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Mar 17 16:32:52 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 14 13:45:53 2011 -0700"
      },
      "message": "SurfaceTexture: add some RGBA_8888 tests.\n\nChange-Id: Id09915c98a00eca1209b7dab32039a06d260908e\n"
    },
    {
      "commit": "3c7d846c26eaacfb6e1e33256f7447a12923ccc1",
      "tree": "b07c5f7aa3b2958707cad9706e4bc23c905ec6f0",
      "parents": [
        "ff24bf439ff6dfffcbcd1456a24f264f7c40f77a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Apr 06 15:43:16 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 14 13:45:52 2011 -0700"
      },
      "message": "SurfaceTextureClient: minor test refactoring.\n\nChange-Id: Iabc6d27ca35d30d896c6aef65c4f1b5a1eed47b8\n"
    },
    {
      "commit": "44ce622fc393ded35c68b7b871461521397431f0",
      "tree": "ac9d7329c08136f77f359752d0323fd9e77441fc",
      "parents": [
        "849d78973c25b73f65490ff64023e17317a2b29c",
        "acce04ea933940a777fac097b61d55f8d61fd5d1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 14 13:39:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 14 13:39:05 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: add a format querying test.\""
    },
    {
      "commit": "0991a7fb12ce62bff0ea5aed6c4c92c106747158",
      "tree": "77b1a3ba29338f4b010d98c35fa9aa34b6e5b723",
      "parents": [
        "3f71cfc14990e28c0de1af81933bf3f6e25c00f9",
        "9b8e1962d65589073b004889195245e757fb0e12"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 17:20:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 17:20:53 2011 -0700"
      },
      "message": "Merge changes I9b8e1962,I7bb843ca\n\n* changes:\n  Temporarily don\u0027t return the current buffer in synchronous mode\n  unify SurfaceTexture and Surface\n"
    },
    {
      "commit": "9b8e1962d65589073b004889195245e757fb0e12",
      "tree": "37bb0c331b24cc85b4e0e6354e44f13518bdba8d",
      "parents": [
        "7bb843ca0777111dae7daf8f1b0705817cf523c4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 04 18:28:07 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 15:51:35 2011 -0700"
      },
      "message": "Temporarily don\u0027t return the current buffer in synchronous mode\n\nactivate synchronous mode by default.\n"
    },
    {
      "commit": "7bb843ca0777111dae7daf8f1b0705817cf523c4",
      "tree": "10545edc3ce21f38282d5e67e5bc08ff729884b3",
      "parents": [
        "dfc7958a2eafba52db90743a4707eed1d780b63b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:20:59 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 15:51:35 2011 -0700"
      },
      "message": "unify SurfaceTexture and Surface\n\nAdd the concept of synchronous dequeueBuffer in SurfaceTexture\nImplement {Surface|SurfaceTextureClient}::setSwapInterval()\nAdd SurfaceTexture logging\nfix onFrameAvailable\n"
    },
    {
      "commit": "acce04ea933940a777fac097b61d55f8d61fd5d1",
      "tree": "1f60cda51b55bb56a40419e20a8b74eb758534e8",
      "parents": [
        "bd3e537980027f4502a13c204b3c7b9d10adad31"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jun 12 13:56:15 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 15:01:05 2011 -0700"
      },
      "message": "SurfaceTexture: add a format querying test.\n\nThis change adds a test to verify that querying the format of a\nSurfaceTextureClient immediately after setting it returns the correct\nresult.  The test is currently disabled because it does not pass.\n\nChange-Id: I5bddb39c5bf96d6104624094383d410ed913e9f3\n"
    },
    {
      "commit": "323badd7ddc1574e8e4954735d05befc27cfddad",
      "tree": "c1b52e4e1a5c1f715629231d9746a242df5f399f",
      "parents": [
        "43bdc23b13ba473824a74d3df67704d6d9c543c7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 13:43:51 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 13:43:51 2011 -0700"
      },
      "message": "SurfaceTexture: disable a deadlocking test.\n\nThis change disables the UpdateTexImageAfterFrameFinishedWorks test\nbecause it\u0027s currently causing deadlocks on some devices.\n\nChange-Id: Ic9186db207e8d656f3af5d86fa138c7d96393c55\n"
    },
    {
      "commit": "43bdc23b13ba473824a74d3df67704d6d9c543c7",
      "tree": "b2e960e297e743e505d32d432511a70d8314357f",
      "parents": [
        "bd3e537980027f4502a13c204b3c7b9d10adad31"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 13:41:01 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 13:41:01 2011 -0700"
      },
      "message": "SurfaceTexture: add a pixel tolerance to the tests.\n\nThis change adds a default tolerance of 2 to all the pixel value checks\nin the SurfaceTexture tests.\n\nChange-Id: Id5a7cdffdfae16076e2daf4964a3326105b5ae2c\n"
    },
    {
      "commit": "9deb930ebf7db317e7abec59b37a88c47999f9cf",
      "tree": "5307637660912b842f417e4ab3610732f2d84431",
      "parents": [
        "4e03d327d6310cd2c5ca3ecd55f91363b555de71"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 08 09:40:45 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 10:50:13 2011 -0700"
      },
      "message": "SurfaceTexture: add some GL-\u003eGL tests.\n\nThis change adds some tests to verify streaming images from one GL\nthread to another via SurfaceTexture.  Currently the tests do not\nvalidate the correctness of the streamed images, but rather simply\nverify that this streaming does not cause a deadlock.  3 of the 4 tests\nare currently disabled because they do cause deadlocks on some devices.\n\nChange-Id: I5677942053190063b97f370dba96c116711bc3bb\n"
    },
    {
      "commit": "15e0d9f5e0700fa7dc0ecd0f07d5fea6f9597ca0",
      "tree": "8836161a609c4d4d465b70bd848e1c0877f972f2",
      "parents": [
        "eadfb673e7b346af02a925ad04494100db1ebbf7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 07 15:23:23 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 10:50:13 2011 -0700"
      },
      "message": "SurfaceTexture: add getTransformMatrix tests.\n\nThis change adds a test verifying that with no transform set on the\nSurfaceTextureClient, the SurfaceTexture will return an identity\ntransform matrix.  It also verifies this same effect in the presence of\nan additional call to native_window_set_buffer_count just before the\ncall to getTransformMatrix.\n\nBug: 4490420\nChange-Id: Ic5adfa29b5696cc2b451433834e3758ef20c5edd\n"
    },
    {
      "commit": "eadfb673e7b346af02a925ad04494100db1ebbf7",
      "tree": "6ff88f77a6762f00a868807706f1e995d16373ae",
      "parents": [
        "fe93010446e68c747f4af727cbc48eaf63131689"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jun 12 17:03:06 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 10:50:12 2011 -0700"
      },
      "message": "SurfaceTexture: fix a getTransformMatrix crash.\n\nThis change moves the computation of the transform matrix out of\ngetTransformMatrix and instead performs the computation when\nupdateTexImage gets called.  This is needed in order for\ngetTransformMatrix to succeed even if the buffers have been freed (e.g.\nby changing the buffer count) because the computation depends upon the\nproperties of the current GraphicBuffer.\n\nChange-Id: Ied541ab8747b7ad604f862717135f9a16a816be9\nBug: 4490420\n"
    },
    {
      "commit": "73e0bc805a143d8cc2202fccb73230459edc6869",
      "tree": "59aeea0bcd592df160cf08606fa03cd5fa0a4211",
      "parents": [
        "48a542aabe2d58a0c3e7bac7f384d9951e5a26ed"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 17 22:54:42 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 27 17:04:55 2011 -0700"
      },
      "message": "9-axis sensor fusion with Kalman filter\n\nAdd support for 9-axis gravity and linear-acceleration sensors\nvirtual orientation sensor using 9-axis fusion\n\nChange-Id: I6717539373fce781c10e97b6fa59f68a831a592f\n"
    },
    {
      "commit": "dd386ccb9039a6ece8ebeda0dfd2e81156057229",
      "tree": "b490099790e854cc76e13504e329f2e1afb0a7fa",
      "parents": [
        "44e9e0d825aef362a3413dfd63812962f5de1b1a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue May 24 18:39:46 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed May 25 12:27:33 2011 -0700"
      },
      "message": "SurfaceTexture: disable a failing test.\n\nThe SurfaceTextureSyncModeWaitRetire test was disabled.  It is failing\nbecause of the synchronization hacks that were added to SurfaceTexture\nto work around bugs in vendor device drivers.\n\nChange-Id: I09a74538bfe14a04833acb6847471e00826cc7fc\n"
    },
    {
      "commit": "44e9e0d825aef362a3413dfd63812962f5de1b1a",
      "tree": "a9f39b6996e0b4092c37b0841da1adfcb3d61ad7",
      "parents": [
        "a218715a7fca98c868feccee4751c94e38b676ff"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon May 23 18:44:04 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed May 25 12:27:33 2011 -0700"
      },
      "message": "SurfaceTexture: fix an error check in dequeueBuffer.\n\nThis change fixes the MIN_UNDEQUEUED_BUFFERS error check in\ndequeueBuffer.  The check should only be performed if a buffer has been\nqueued since the last time the buffer count was changed by the client.\nThe check must be applied conditionally because video decoders require\nall the bufferes to be dequeued and registered before beginning the\ndecode.\n\nChange-Id: I08d96b380544e395c2fcf0f3983a199bfd695b09\n"
    },
    {
      "commit": "a218715a7fca98c868feccee4751c94e38b676ff",
      "tree": "3386ef4297d74a48b940e2b9d61fdd6f9c209cd0",
      "parents": [
        "4ece6db47ec33ed439ae2177fbc0cc3e7e79cdca"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu May 19 13:33:00 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed May 25 12:27:33 2011 -0700"
      },
      "message": "SurfaceTexture: clean up some comments, tests, etc.\n\nThis change fixes up some stale comments, member variable names, log\nmessages and disables a failing test.\n\nChange-Id: Ic1d3344b18066cf710e4a42838b2417c6b1f2f6c\n"
    },
    {
      "commit": "bca2d5b3df1394ae2bdfe1e9b65a75276754eadb",
      "tree": "72c76450b58818ef684b545ae31129703bb86e8b",
      "parents": [
        "90eb1053c1f3621ebe6817fb70aa22f27f83a849"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed May 18 10:38:40 2011 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed May 18 14:37:51 2011 -0700"
      },
      "message": "Disable error report temporarily to enable inline video\n\nbug:4435022\n\nChange-Id: I06f05a4781ad432ab71db93f0815eb89cd2e7a69\n"
    },
    {
      "commit": "e845c352c8eb93412fa7caedb5435d3597c795d0",
      "tree": "615a7bacd4bf4112fb9fc443d565ab1805c7fed9",
      "parents": [
        "7f3289c95ec489651f1c04f1a71cfc7a8b535805"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 11 15:05:29 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 11 18:01:51 2011 -0700"
      },
      "message": "fix onFrameAvailable\n\nChange-Id: I391fe9f6684ac9fd4f91416ce18b583f7087d966\n"
    },
    {
      "commit": "7f3289c95ec489651f1c04f1a71cfc7a8b535805",
      "tree": "1f1358ac1757de4e6aca689ee5c9ac12ea108c32",
      "parents": [
        "402ff24aa199a2587498b694e2be67ceb1265c69"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 09 19:08:33 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 11 18:01:51 2011 -0700"
      },
      "message": "Add SurfaceTexture logging\n\nChange-Id: If1b74be5230813fb76429935d88b9d4a7c41700c\n"
    },
    {
      "commit": "402ff24aa199a2587498b694e2be67ceb1265c69",
      "tree": "90d37bedbae4aaf34029c23cd7569fe7bde27ae9",
      "parents": [
        "a6b717b52a79c83e66247ab49050ddf07b4d5126"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 02 19:51:12 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 11 18:01:51 2011 -0700"
      },
      "message": "Implement {Surface|SurfaceTextureClient}::setSwapInterval()\n\nChange-Id: I8382e346ddaa2c4c8ff56ac3ffd7f0109572f188\n"
    },
    {
      "commit": "a6b717b52a79c83e66247ab49050ddf07b4d5126",
      "tree": "758169ab548f1c72a332e9d0851a6d65cc0088d3",
      "parents": [
        "5bbb1cf9d7f9ecb8a2fc5ca8ba51c222c2aaff16"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 26 14:57:10 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 11 18:01:51 2011 -0700"
      },
      "message": "new tests for SurfaceTexture synchronous mode\n\nChange-Id: Icfdaa625238246f8d0224efe28fdf2c1c24203f8\n"
    },
    {
      "commit": "5bbb1cf9d7f9ecb8a2fc5ca8ba51c222c2aaff16",
      "tree": "960bc168b38e085af1c584784bf08b66224c0bf0",
      "parents": [
        "ed3894c07a67b3e35d07084c4a8b410908bfedc5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 21 18:52:51 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 11 18:01:51 2011 -0700"
      },
      "message": "Add the concept of synchronous dequeueBuffer in SurfaceTexture\n\nChange-Id: Ic94cbab092953243a0746e04bbe1b2eb0cc930ef\n"
    },
    {
      "commit": "ed3894c07a67b3e35d07084c4a8b410908bfedc5",
      "tree": "d6be3a0f844843e230bf10e285896d3a6336e167",
      "parents": [
        "0297dcae8fddb18ab9e28ba1858a57a8aec3ef32"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:20:59 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 11 18:01:51 2011 -0700"
      },
      "message": "unify SurfaceTexture and Surface\n\nChange-Id: I49da2f5d8408e4cd7e148cfb777bb4ff68cd8f37\n"
    },
    {
      "commit": "0297dcae8fddb18ab9e28ba1858a57a8aec3ef32",
      "tree": "956126b5b62743efbdfbaa63268662e9a3a8aa80",
      "parents": [
        "f605a5aae5856d0c6114f36659ff9e8c5f3b5c19"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 25 20:22:14 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 11 18:01:51 2011 -0700"
      },
      "message": "Fix a bug where setgeometry couldn\u0027t be undone\n\nThis change the binder protocol between SurfaceTextureClient\nand SurfaceTexture. dequeueBuffer() now takes the requested\nparameters for the buffer. SurfaceTexture decides if the\nbuffer needs to be reallocated and does the allocation\nif needed. In that case it returns BUFFER_NEEDS_REALLOCATION\nto tell SurfaceTextureClient that it needs to call\nrequestBuffer (which all parameters have been removed) to\nacquire a pointer to the buffer.\n\ndequeueBuffer and requestBuffer could be folded into a single\nIPC call, but we chose to optimize the case where buffers are\nnot created and avoid some complexity in the marshalling code.\n\nChange-Id: I097a7f6f40a3491e10f3f3742eab33999286c304\n"
    },
    {
      "commit": "b2a153adc9860616acdb96d7cdd64494d5a2a0f2",
      "tree": "3e87a5d9681d86ad68c14222774f77bc4bd3ae4a",
      "parents": [
        "be0cc36525f090032d1b84d95e1d8ba5fc714fc2"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Sun May 01 11:33:26 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 03 16:40:14 2011 -0700"
      },
      "message": "frameworks/base: android_native_buffer_t -\u003e ANativeWindowBuffer\n\nChange-Id: Idc2eabaa805bb6d308ebb315872623f28d428417\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "4d7c1ce651bd5e283e694fa34641e1dc080613c0",
      "tree": "cfb1f708b760f20b08ec81a6bc4d25c59ec8cc04",
      "parents": [
        "9c7ac0d142eaf4b083a309299ab023932a9bb109"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Apr 14 16:54:38 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 03 15:49:40 2011 -0700"
      },
      "message": "frameworks/base: make the ANativeWindow query() method const\n\nquery() does not modify the object\u0027s data, so it needs to be a const method\n\nChange-Id: I67c40a3c865461e6f1cc2193fd2d74286ff6ac8f\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "ca2773bc456dfaf84685f75c4a20e26269879e87",
      "tree": "8a4550f0745e9dd2df01bae25acdad0eb27dc608",
      "parents": [
        "ab036058ac7a07eac113a49a34a02f565700fdd1",
        "8f9f2fd43b95ef250d74ba95baf32fd13ca2bff5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Apr 28 15:03:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 28 15:03:56 2011 -0700"
      },
      "message": "Merge \"libgui: enable tests in the \u0027tests\u0027 build.\""
    },
    {
      "commit": "926340cf56c9a2d21008d050a4e0f1390cf648bf",
      "tree": "a639bdb00ff61894130ecddd3d5a3bfb4e12892b",
      "parents": [
        "f076aa5594840baf70fd78a00d1152bd13dfb80c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 27 18:57:33 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 27 18:58:46 2011 -0700"
      },
      "message": "Fix uninitialized variable in SurfaceTexture\n\nChange-Id: Ie77cdad481fc0522ff5ea3b7e14ce94e07150793\n"
    },
    {
      "commit": "8f9f2fd43b95ef250d74ba95baf32fd13ca2bff5",
      "tree": "61e5301ecd28724e55902c547d3d0e833da5138e",
      "parents": [
        "a5679c8ad4242b08f09cb2a6573a9a1218d7064c"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Apr 26 17:26:37 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Apr 26 17:26:37 2011 -0700"
      },
      "message": "libgui: enable tests in the \u0027tests\u0027 build.\n\nThis change makes the libgui makefile recurse into the tests directory\nso that the tests get built by a top-level make when\nTARGET_BUILD_VARIANT\u003dtests.\n\nChange-Id: I6f623cc4b86dfeb00b9d21823316dbd9def23110\n"
    },
    {
      "commit": "6fad64c747040e6abcc6a57b99e5ba9293ee4d99",
      "tree": "d43c999efa712e5171414c94d1d1a9effe044c0b",
      "parents": [
        "88eb5c07f567c30195d4940167cabc50bf2c1e34"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 26 14:57:40 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 26 15:03:27 2011 -0700"
      },
      "message": "Report errors when eglCreateImageKHR fails\n\nChange-Id: Ica39b72ac2505675e619ef4994bd67b98bf6e7da\n"
    },
    {
      "commit": "7868c64fffd164dccf06411372b922dfea26c0e6",
      "tree": "8981cd17712aed03ccc89ab27319929f65d4e31d",
      "parents": [
        "5dbf2ed575c424a0d65e70458d5a02eb21872b33"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Apr 25 16:41:11 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Apr 25 16:41:11 2011 -0700"
      },
      "message": "EGL: Allow creating a SurfaceTexture EGLSurface.\n\nThis change removes the check that disallowed the creation of an\nEGLSurface that would send frames to a SurfaceTexture.\n\nChange-Id: I44c6d5df503cc676a88144d72d39b414692ce4c9\n"
    },
    {
      "commit": "5dbf2ed575c424a0d65e70458d5a02eb21872b33",
      "tree": "89ee926b4a18d0abf2464fa2eeec046238c7395e",
      "parents": [
        "a13802d8805c2af2fae4d64e3dee99abd73ecfa9"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Apr 25 16:40:05 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Apr 25 16:40:05 2011 -0700"
      },
      "message": "libgui: Fix the tests so they build.\n\nChange-Id: I7205b0819e5801ac549109ff562c3ab1b113d176\n"
    },
    {
      "commit": "9638e5c167be321643bf3f3ee39e3fb45541fb3b",
      "tree": "ec79a54e7f44db04b4b5cc7f09ba944f6836a258",
      "parents": [
        "2a231f8435dba525c838779e0fd44710ea23cd98"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:19:32 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:26:11 2011 -0700"
      },
      "message": "Get rid of the \"pid\" parameter from createSurface\n\nChange-Id: I28635e3f803e6abe965d79998e305f54a202465d\n"
    },
    {
      "commit": "578492e999b3919cfc587024c5f86d6837c3aa7c",
      "tree": "362cb7ad4c104098f8994e6aa03917b95281e1fe",
      "parents": [
        "4af51a14febf0c6caf844f4620c423c6dd46bfab",
        "27cd07ca8006fd80d85379ada416874bfa78aa88"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 18 19:51:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 18 19:51:26 2011 -0700"
      },
      "message": "Merge \"changes to SurfaceTexture needed for unification with SF\""
    },
    {
      "commit": "27cd07ca8006fd80d85379ada416874bfa78aa88",
      "tree": "b84ecf49433b440242072cc186ba6944c7b372b7",
      "parents": [
        "7797e647fc8fcd5091b9449c0044f5cb70db5b47"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 11 21:19:55 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 11 21:19:55 2011 -0700"
      },
      "message": "changes to SurfaceTexture needed for unification with SF\n\n- implement connect/disconnect\n- implement missing query\n- handle texture_2d in addition to texture_external_oes\n\nChange-Id: I971a70821f00f22b01f5337de4a7d451177fec4d\n"
    },
    {
      "commit": "5f05f99aaedaba18c426fac287bcb18d56dbe881",
      "tree": "791dab7fb51fb0e49663e9af9f8ac9f44f9242ec",
      "parents": [
        "7797e647fc8fcd5091b9449c0044f5cb70db5b47"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Apr 08 19:10:43 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Apr 08 19:28:04 2011 -0700"
      },
      "message": "Fix a GraphicBuffer leak in SurfaceTexture\n\nThis leak was intentional, it was there to deal with the fact that\nsome gralloc implementations don\u0027t track buffer handles with\nfile-descriptors so buffers needed to stay alive until there were\nregistered, which is not guaranteed by binder transactions.\n\nIn this new implementation, we use a small BBinder holding a\nreference to the buffer, which with tuck into the parcel. This forces\nthe reference to stay alive until the parcel is destroyed, which\nis guaranteed (by construction) to happen after the buffer is\nregistered.\n\nthis allows the public facing API to not expose the previous hack.\n\nChange-Id: I1dd6cd83679a2b7457ad628169e2851acc027143\n"
    },
    {
      "commit": "c8a04b536bb8ad12a87e6dd68d66cff1e7fcd7e7",
      "tree": "8e8018a9898f9785eeef5e8484c93d51cee4f052",
      "parents": [
        "fb96b5ece35ed3c0f3e682d1f9864d7700fe63fc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 05 15:44:20 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 05 20:11:55 2011 -0700"
      },
      "message": "remove more unused references to ISurface\n\nChange-Id: I2201f1ca2bb8f203a081d94a0134f798778dfbef\n"
    },
    {
      "commit": "e5a1bffd9106b1d82259de1a202e1f2f28742392",
      "tree": "5db6b7eb4b1b32395aae1950e2bcec1c6a80fd4d",
      "parents": [
        "616fb9a38a5b558b1245b0e7f6dc0c4e5ef1a985"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Mar 31 19:10:24 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Apr 01 14:43:35 2011 -0700"
      },
      "message": "SurfaceTexture can now force the client to request a buffer\n\nSurfaceTexture now has the concept of default size a new method,\nsetDefaultBufferSize() to set it. When the default size is\nchanged, dequeueBuffer() will return a value telling the\nclient that it must ask for a new buffer.\n\nThe above only applies if the client has not\noverriden the buffer size with setGeometry.\n\nChange-Id: I520dc40363054b7e37fdb67d6a2e7bce70326e81\n"
    },
    {
      "commit": "696257ccf315a1da042787c5b2d1f80c7146fc94",
      "tree": "39c185c6f97540243e5d071e545343822f46f2cc",
      "parents": [
        "1be6cce70175bd90744498d5fca95e3f9eec1cf6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 25 18:42:40 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 25 18:42:40 2011 -0700"
      },
      "message": "merge libsurfaceflinger_client into libgui\n\nthis is the first step in unifying surfacetexture and surface.\nfor this reason the header files were not moved, as most of them\nwill eventually go away.\n\nNOTE: currently we keep libsurfaceflinger_client.so as an empty\nlibrary to workaround prebuilt binaries wrongly linking against\nit.\n\nChange-Id: I130f0de2428e8579033dc41394d093f4e1431a00\n"
    },
    {
      "commit": "c5f94d8a4779050125145396ca83fbc862c7ed6b",
      "tree": "83d016c9670032683faa39fda755b236a9010954",
      "parents": [
        "262564df9613e8950fb3828ecc6dfffe79cc1b31"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Feb 18 11:02:42 2011 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Mar 17 13:10:03 2011 -0700"
      },
      "message": "Add support for timestamps into SurfaceTexture.\n\nAPI addition: The timestamps are represented as nanoseconds from some\narbitrary time point. Like the SurfaceTexture transform matrix, the\ntimestamp retrieved by getTimestamp is for the last frame sent to the\nGL texture using updateTexImage().\n\nCamera HAL change: Expect vendors to set these timestamps using\nnative_window_set_buffers_timestamp().  For now, they are\nautogenerated by SurfaceTextureClient if set_buffers_timestamp() is\nnever called, but such timing is likely not accurate enough to pass a\nCTS test.\n\nbug:3300707\n\nChange-Id: Ife131a0c2a826ac27342e11b8a6c42ff49e1bea7\n"
    },
    {
      "commit": "bae716bc153962c3ac79660bf32e5c50f0de343d",
      "tree": "2ee7aa6eddbd9789b1b561143927c274004e0977",
      "parents": [
        "75597105e6e03f656bdc1e40acac44afb9a3b01b"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 15:34:04 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 15 10:37:37 2011 -0700"
      },
      "message": "SurfaceTexture: disallow unsupported uses.\n\nThis change makes the ANativeWindow_lock NDK function error out if it is\npassed an ANativeWindow with a concrete type that is not Surface.  It\nalso makes eglCreateWindowSurface fail if it is passed a\nSurfaceTextureClient as its \u0027window\u0027 argument.\n\nBug: 4087277\nChange-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c\n"
    },
    {
      "commit": "f95a9f019daa0631e6d6ddc826ad9cfe787c42ce",
      "tree": "8e2998c5efebb67a007cfcbe7f2e110d97abbf92",
      "parents": [
        "c4ca7c511499693f13622b135637f600ec913e57"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 15:08:53 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 17:47:11 2011 -0700"
      },
      "message": "SurfaceTextureClient: Add ISurfaceTexture getter.\n\nThis change adds a getter method to SurfaceTextureClient to get the\nISurfaceTexture object with which the SurfaceTextureClient is\ncommunicating.\n\nBug: 4086509\nChange-Id: Ifec621e0fe5392a5be56b2348fdc54067cbebcdd\n"
    },
    {
      "commit": "c4ca7c511499693f13622b135637f600ec913e57",
      "tree": "10256c7257fc9c93ee4d53f8cdba2386d7b9a9e6",
      "parents": [
        "122dd0999f09eedbe42e619b64276633bea60e6a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 15:00:06 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 17:47:11 2011 -0700"
      },
      "message": "ANativeWindow: add query for the concrete type.\n\nThis change adds a query to the ANativeWindow interface for getting the\nconcrete type of the ANativeWindow.\n\nBug: 4086509\nChange-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178\n"
    },
    {
      "commit": "f3cedb602197a6255e3a7b005cc368577d75bf3a",
      "tree": "6ef1c6c1f18af099260804a44d4f9b3ab4232b98",
      "parents": [
        "6cd4656bf11d45ebac40a382c0c8bcb9a21f00cc"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Mar 10 16:24:46 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 11:30:16 2011 -0700"
      },
      "message": "SurfaceTexture: fix transform matrix computation.\n\nThis change fixes the transform matrix computation in SurfaceTexture\nwhen a crop rectangle is specified by the image producer.  It also adds\na test for this case as well as a basic test for the uncropped case.\n\nBug: 4070775\nChange-Id: I1481c9ce9d08fe7f2bff86d3afdeab7d4002b157\n"
    },
    {
      "commit": "d2acedf18c9a3527f6e3dc5d578a85fdc0ad4338",
      "tree": "06a23415d1486f5d7fb3e6d64640a1977f65dd86",
      "parents": [
        "6cc2bbe5cf8c959239d35972c0acac494e5c1559"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 08 12:18:54 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 08 16:49:51 2011 -0800"
      },
      "message": "ANativeWindow: add queues-to-window-composer check.\n\nThis change adds a new \u0027method\u0027 to the ANativeWindow interface to check\nwhether buffers queued to the window will be sent directly to the system\nwindow compositor.\n\nChange-Id: I4d4b199e328c110b68b250029aea650f03c8724d\nBug: 3495535\n"
    },
    {
      "commit": "96dcc978430f0daf6d73fee96a01779ed537a0ce",
      "tree": "683c5986dd007030e5a98e57aa6c0764d19da51b",
      "parents": [
        "8e79442c4fdabd2f82d0ed8e23d394816edee495"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Feb 27 14:10:20 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 28 12:24:40 2011 -0800"
      },
      "message": "Add the MIN_UNDEQUEUED_BUFFERS query to ANW.\n\nThis change adds a new query to ANativeWindow for getting the minimum\nnumber of buffers that must be left un-dequeued during the steady-state\noperation of the ANativeWindow.\n\nChange-Id: Ie8c461fc26b02ecde02ddb4f95bf763662cf1551\nRelated-Bug: 3356050\n"
    },
    {
      "commit": "f7398e2808675d134460196054397237c502891a",
      "tree": "bd04a34d4c259c3f7f43d687cf5382f1ed2fefa5",
      "parents": [
        "e160c7b9f1841ae4a81fc66c36f2f43662bc4128",
        "c7839751aa1de52e0c3aab7dd1518b0fc8f2ee0a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 07 13:47:02 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 07 13:47:02 2011 -0800"
      },
      "message": "am c7839751: am c2efcd2c: Merge \"Initialize the SurfaceTexture transform fields.\" into honeycomb\n\n* commit \u0027c7839751aa1de52e0c3aab7dd1518b0fc8f2ee0a\u0027:\n  Initialize the SurfaceTexture transform fields.\n"
    },
    {
      "commit": "267222630184d08ba06949d1199a13e2e83fe068",
      "tree": "88157daf6c7e0010d0e70c81f8a554750c86c576",
      "parents": [
        "b85787411085bbea0ac725135cae02a4167b7aa7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Feb 04 13:46:38 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Feb 04 13:46:38 2011 -0800"
      },
      "message": "Initialize the SurfaceTexture transform fields.\n\nChange-Id: I2c25f15949253a1dbe493fef440e5ef118c40e71\nrelated-bug: 3426067\n"
    },
    {
      "commit": "a257be1895218e5c3e153313db9dd703fd9cc84f",
      "tree": "457726588b7e414388795ed24f1c38a67dc96dd6",
      "parents": [
        "9d3fb3717f2acec71a3330e448ecf63ee997b1f8",
        "421d94c20321e1de528416b279bf148baba47b39"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Feb 02 16:21:24 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 02 16:21:24 2011 -0800"
      },
      "message": "am 421d94c2: am ecb4b3f0: Merge \"Pass the IGraphicBufferAlloc to SurfaceTextureClient.\" into honeycomb\n\n* commit \u0027421d94c20321e1de528416b279bf148baba47b39\u0027:\n  Pass the IGraphicBufferAlloc to SurfaceTextureClient.\n"
    },
    {
      "commit": "83bac216a7ba8493a7916e40b2555e73c3a5cc1a",
      "tree": "ff57384d2f89f0dd958add05408179b537dc973f",
      "parents": [
        "b799314e64d5afe050aeee394f0c29d7728c1e22"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Feb 02 15:31:47 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Feb 02 15:31:47 2011 -0800"
      },
      "message": "Pass the IGraphicBufferAlloc to SurfaceTextureClient.\n\nThis change passes a reference to the IGraphicBufferAlloc binder object\nto SurfaceTextureClient objects.  When STC objects are created they\nquery their associated ISurfaceTexture object for the\nIGraphicBufferAlloc that the SurfaceTexture uses to allocate buffers.\nHaving the SurfaceTextureClient hold this reference prevents the\nGraphicBufferAlloc in SurfaceFlinger from freeing the allocated buffers\nbefore the SurfaceTextureClient is done with them.\n\nChange-Id: Ib8e30e8b37fdd60438cbb4cb7e9174d0ba6d661c\nrelated-bug: 3362519\n"
    },
    {
      "commit": "79d01fe8232c67a18aeb8784c2b8783358ec4e44",
      "tree": "43830cfbb9359478145c443a9a5edc44f3abd14f",
      "parents": [
        "a3b5960f6f28a81cd63abd69adcdfb5dcc05aa30"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jan 26 11:52:02 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jan 31 15:35:29 2011 -0800"
      },
      "message": "Clear GL errors before updating a SurfaceTexture.\n\nChange-Id: Ibdac657ae9e9ccae53c63abed9caf1f1513915c2\n"
    },
    {
      "commit": "2ece4cdc3fd0f8a45a889c711dba7165729e8ca5",
      "tree": "a76c7f3eed692edcce369a6ae198202fdd1c7500",
      "parents": [
        "0982dc6488a921d9d54d23b9180a9acf33c61526"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jan 28 18:21:54 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jan 28 18:21:54 2011 -0800"
      },
      "message": "Reset ANativeWindow crop on buffer geometry changes.\n\nThis changes the ANativeWindow API and the two implementations to reset\nthe window\u0027s crop rectangle to be uncropped when the window\u0027s buffer\ngeometry is changed.\n\nBug: 3359604\nChange-Id: I64283dc8382ae687787ec0bebe6a5d5b4a0dcd6b\n"
    },
    {
      "commit": "6913062faabb1eb84e20de1e8e8e42a4932fde70",
      "tree": "22d592dac54c8d236684f2673bbdfc79be208c03",
      "parents": [
        "a9f27fa631ab21d52c75842ccaacc1cbcd75fca0"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jan 28 12:03:52 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jan 28 12:08:18 2011 -0800"
      },
      "message": "Quiet the SurfaceFlingerClient dequeueBuffer error.\n\nThis is a temporary WAR for the case where dequeueBuffer is called when\nall the buffers owned by a SurfaceTexture are not available - either\nthey\u0027re the current texture buffer or the next one.  Currently, an error\nis returned in that case, and this change just prevents that error from\nbeing logged.  In the future this will be fixed to not return an error\nin that case.\n\nBug: 3356050\nChange-Id: Ic6cc304881a63ce134cfd0bcb4265e3e3fa94b6a\n"
    },
    {
      "commit": "376590d668e22a918439877b55faf075427b13f3",
      "tree": "d55b9baf0efec6a49de60786cc996f6ef699d067",
      "parents": [
        "0fb736c0937d9d65001e0176d90e1011226594bf"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jan 13 14:43:36 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jan 16 17:28:39 2011 -0800"
      },
      "message": "Implement SurfaceTexture frame-available callback.\n\nThis change implements the onFrameAvailable callback for the\nSurfaceTexture java class.  It includes the C++ SurfaceTexture code as\nwell as the JNI and Java code to enable the callback.\n\nChange-Id: Ifd8b8e7ad46ee70cba6da1c2e96dab8045d1ea30\n"
    },
    {
      "commit": "0fb736c0937d9d65001e0176d90e1011226594bf",
      "tree": "5473f148978fd8ea96b1583dcfdfbcd5bdcdcaf9",
      "parents": [
        "39de45846cd9431e9fc1ee44591152bc566f9858"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jan 14 13:53:31 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jan 16 16:35:01 2011 -0800"
      },
      "message": "Fix SurfaceTexture transform matrix.\n\nChange-Id: I31520c547cafa5cc85cd0f73883ab3a9ff4648e2\n"
    }
  ],
  "next": "4559ea41d849714aba4dffeeb13aa9ee648b7327"
}
