)]}'
{
  "log": [
    {
      "commit": "e92963c3f97e3b06226ec2a054012b59c744dca0",
      "tree": "07a5cab35487444ca48e0344a6ba272b53297c65",
      "parents": [
        "2d6bb33800e35b452a42a8ee0e35043d790b0b22",
        "cf7e3a5984e1709004d3e1138780d60f97f46e75"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 11 18:30:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 18:30:29 2011 -0700"
      },
      "message": "Merge \"Fix typo in an assert\u0027s log\""
    },
    {
      "commit": "cf7e3a5984e1709004d3e1138780d60f97f46e75",
      "tree": "9c0d9cadab1a2ddc91a56b0a16a23f026c1ccb09",
      "parents": [
        "e544a1dbc9a3a4277ef26f6c7a066e7b443829ec"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 11 16:26:18 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 11 16:26:18 2011 -0700"
      },
      "message": "Fix typo in an assert\u0027s log\n\nChange-Id: I94883a23a0a92eaf3e4976f942f747a2137499ac\n"
    },
    {
      "commit": "308f9f6b248402c67d73c3ad48f5b6b888bab7b7",
      "tree": "cf57cc66cbd45cb7506691ab1492882066731bee",
      "parents": [
        "f21f07627df3ad4381fdd3daf47289eeda9754d3",
        "97eae025ad857e33dce5b3d1d4fd5fe5813d2a80"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 11 15:47:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 15:47:20 2011 -0700"
      },
      "message": "Merge \"EGL: fix the ANativeWindow size/fmt override\""
    },
    {
      "commit": "501c4671e73a484c1f01d94f4f5fff124c05f197",
      "tree": "2c2f30011f0828af0425d5fc46aa007c9edb22f5",
      "parents": [
        "9b40a61ce98b6adce4df046fce8d67d64630b379",
        "10e89712863f5b91a2982dc1783fbdfe39c1485d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 13:37:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 13:37:53 2011 -0700"
      },
      "message": "Merge \"Eliminate single-process mode. Bug: 5010576\""
    },
    {
      "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": "ef72ff220c8bf6c8d7753f30ddaad89d4d8cada9",
      "tree": "4df5fab2db41a0ba3acc139f21627058b2262d9d",
      "parents": [
        "e723caee39fd154c4b9da93e0461a8aedc328cee"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Jul 11 15:32:24 2011 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Jul 11 15:32:24 2011 +0800"
      },
      "message": "Use resource entry name instead of mangled name.\n\nChange-Id: I833fa1b529fe505ce20ede12b7f4b5952a6ac1f0\n"
    },
    {
      "commit": "e723caee39fd154c4b9da93e0461a8aedc328cee",
      "tree": "4153a6895ea42f3462eef69a02a420a4bb50eba5",
      "parents": [
        "ddafb64f94053aeafcaf6b6cb6073ed4cb56dacb"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Sun Jul 10 19:39:03 2011 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Jul 11 07:57:24 2011 +0800"
      },
      "message": "Fix typo: mFieldCount -\u003e mPragmaCount.\n\nChange-Id: I081a521c13a78bc5ec1bf9faecb066bed5ca8ab4\n"
    },
    {
      "commit": "10e89712863f5b91a2982dc1783fbdfe39c1485d",
      "tree": "7a268e40e03cfb2b65d3764b73d0ea42172965fa",
      "parents": [
        "b7440a140b650932bf31cf51d3b87c3249e3b682"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 18:52:57 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 19:54:07 2011 -0700"
      },
      "message": "Eliminate single-process mode.\nBug: 5010576\n\nChange-Id: Id450dc83efed4897d1e4ff451530fed14457aace\n"
    },
    {
      "commit": "3b240117d110e261de430127534f7bb460f67dab",
      "tree": "06b6b9dea16e87be6f24283d4127f7a0182fb7c1",
      "parents": [
        "e5f5e82027f551d70eecdcbafec864ed07fb67b1",
        "40c4b86b72d416585335940f928124426d715e59"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:53:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 08 16:53:23 2011 -0700"
      },
      "message": "Merge \"Align paths on pixel boundaries when rasterizing in bitmaps. Bug #5003739\""
    },
    {
      "commit": "40c4b86b72d416585335940f928124426d715e59",
      "tree": "c756ad5004f059a975f4ded4d544717ae732bfb1",
      "parents": [
        "d4b5795e5efd05be7e482e013dfdec519ad2601e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:50:15 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:50:15 2011 -0700"
      },
      "message": "Align paths on pixel boundaries when rasterizing in bitmaps.\nBug #5003739\n\nChange-Id: I3dfbf4eb92e2c870f33c96947a7d6439e3730965\n"
    },
    {
      "commit": "1861786a97209ed75010a54cca5167593dbfec21",
      "tree": "42aab3fccc20cd655d1d9ac4c1e6ad6108766ffa",
      "parents": [
        "0aaa30dc4859a8f181809eca13a6ec6ed61f3a9e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 06 16:35:30 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 08 14:37:05 2011 -0700"
      },
      "message": "Fix EGLUtils::selectConfigForPixelFormat()\n\n- renderscript now calls EGL directly instead of relying on this function\n- surfaceflinger also does its own EGLConfig selection\n- selectConfigForPixelFormat stays for legacy reason (many tests use it) but\nit now only tries to match the alpha channel of the format rather than the\nformat itself.\n\nthis will allow implementations who don\u0027t support the exact formats\ndefined in the HAL to work properly.\n\nBug: 4998223\n\nChange-Id: Ic664dfc14d5072a514b6f77a115d1521bfc1578f\n"
    },
    {
      "commit": "44476779aec2082b902a04394281206511b64322",
      "tree": "42c0da490b075d05f026c4f261e6f74200a7d826",
      "parents": [
        "7cec24f747ce5bc70a82b951a93ba649dfefb0e6",
        "b2479153b743df9e54f7e17c7132a5ecd87fa453"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 11:58:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 08 11:58:18 2011 -0700"
      },
      "message": "Merge \"Correctly position layers.\""
    },
    {
      "commit": "b2479153b743df9e54f7e17c7132a5ecd87fa453",
      "tree": "9c57ccc10e57d9743dfa0bbc92b41ba0a060c85b",
      "parents": [
        "cfacbeadffb5dccbf0434d9c05b19430a5237c3b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 11:57:29 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 11:57:29 2011 -0700"
      },
      "message": "Correctly position layers.\n\nChange-Id: I1678b1c5bdab140b44e56556c50ab8329255f18a\n"
    },
    {
      "commit": "e92096fa6ad01eb022386d2ca536d99bc068e817",
      "tree": "ba91f71972ba7d5e9bfc9856b796e4f84b650048",
      "parents": [
        "7024e0b9020e4ec2d544d687c98c30bd21c2526c",
        "ec19b4a764d512091a780fc93ced567dfbf80914"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:28:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 21:28:41 2011 -0700"
      },
      "message": "Merge \"Use NEAREST filtering mode for TextureView.getBitmap().\""
    },
    {
      "commit": "ec19b4a764d512091a780fc93ced567dfbf80914",
      "tree": "d984af1d55edf6bb305ca36617db679bc546f23a",
      "parents": [
        "9ace8f5e79e76893fe4ca9e4d10f6c4056330485"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:05:04 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:27:14 2011 -0700"
      },
      "message": "Use NEAREST filtering mode for TextureView.getBitmap().\n\nChange-Id: I4649062bbdf18ebba7924bdf578f39ad8f6576ac\n"
    },
    {
      "commit": "69abbd8791f57f39a861c6f569da2f712bb6b5db",
      "tree": "d8d4ce3c11d5fe99468a77126ce473ba310016e7",
      "parents": [
        "4a6d113ba0f33ce5dc14e59463e928ba309e1c2e",
        "9ace8f5e79e76893fe4ca9e4d10f6c4056330485"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 20:55:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 20:55:08 2011 -0700"
      },
      "message": "Merge \"Use NEAREST filtering for layers whenever possible.\""
    },
    {
      "commit": "9ace8f5e79e76893fe4ca9e4d10f6c4056330485",
      "tree": "dac712f57ecba04e50aac7c5934498d9be89c8a1",
      "parents": [
        "f61970fc79e9c5cf340fa942597628242361864a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 20:50:11 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 20:50:11 2011 -0700"
      },
      "message": "Use NEAREST filtering for layers whenever possible.\n\nChange-Id: Id5bee1bd4a322cf93e8000b08e18f1e1b058648e\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": "5161eb7b233cf3b806046fd935f248b3844d9bd7",
      "tree": "59ec630bb655b3c66819a8ce35dfa0b0101f7da7",
      "parents": [
        "55aaccd7e8e3f5a4b0f4333c6bd2404eeac7bbb1",
        "697283e9177ee5730bf5c652c3c05d3aa3838ace"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 06 11:37:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 11:37:53 2011 -0700"
      },
      "message": "Merge \"Add Thread::join\""
    },
    {
      "commit": "7893c5e83c72566a049bb25f633bb7e361801342",
      "tree": "ee49e767874240f93834bbf7e85a461481ea76c7",
      "parents": [
        "7eef784ea9764c9ca86efb730fcdceda51a0ea87",
        "994e7619a676716de1b018b79946d415f2a305d3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 06 11:10:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 11:10:06 2011 -0700"
      },
      "message": "Merge \"fix ScreenshotsOfProtectedBuffersFail\""
    },
    {
      "commit": "7eef784ea9764c9ca86efb730fcdceda51a0ea87",
      "tree": "4d4000dea1fe292a305b8892185ee3516c05f7f4",
      "parents": [
        "5f517c149fd64c0631913d55617cb2cf369384a0",
        "eec0f7ebac85d3d1b1151e62b2ed0f25c138d447"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 06 11:09:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 11:09:55 2011 -0700"
      },
      "message": "Merge \"return an error code with gralloc buffer allocation failures\""
    },
    {
      "commit": "4431c05f136bc1073b368221e3515aaf7fe8424e",
      "tree": "d93ce746f59b3bdd16dd3acae3de81676e21f802",
      "parents": [
        "324a1f6a125637269d3955e5a0935d3eb873b015",
        "60d47796ccfb3db3ab73017897f648678daddc83"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 05 15:08:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 05 15:08:31 2011 -0700"
      },
      "message": "Merge \"Thread ID zero for androidSetThreadSchedulingGroup\""
    },
    {
      "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": "272aaa382f95c38221739f2287c29e414523a5cc",
      "tree": "53b22ed4bd672af3edc9fc9d3e1c5d63661a37b1",
      "parents": [
        "5231b0af515db51c722d4764ecf9412c145c93b6",
        "439863f3b3e725b5de1cba4940a21900369961c0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "message": "Merge \"SF transactions are now O(1) wrt IPC instead of O(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": "9e1fb41b4fbfbd190560cf48f24939703a13eca5",
      "tree": "8621dd8dd0a0e32e8883dbdaa02b1610018b05c4",
      "parents": [
        "5c226b835812630d9dc67ca02ca03dddaee5b6c7",
        "aa11965bd55b8344104ebb0c9ebf39ee0cced03f"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Wed Jun 29 13:48:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 13:48:39 2011 -0700"
      },
      "message": "Merge \"Add a linear transform library to libutils\""
    },
    {
      "commit": "e9e860762b58a2d3475b2b677db53864000c524c",
      "tree": "45070a445ccbe84dddc31ea3e10d130dd9da5a79",
      "parents": [
        "cf93ed0d0ab3e158f89ff53ac302942f9deff479",
        "8134681b25dfff814ffeaad8ff70e84316c1869f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 28 20:17:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 20:17:59 2011 -0700"
      },
      "message": "Merge \"Improve input event consistency invariants.\""
    },
    {
      "commit": "8134681b25dfff814ffeaad8ff70e84316c1869f",
      "tree": "f18a057883c84db1dddd63767dff0b226d8a3e43",
      "parents": [
        "53ca3f13e70fda98aa9f39bb0c15afaf435e3904"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 28 20:08:48 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 28 20:10:40 2011 -0700"
      },
      "message": "Improve input event consistency invariants.\n\nFixed some issues where inconsistent streams of events could\nbe generated by the dispatcher, particularly when switching from\nhovering with one device to hovering with another.\n\nFixed a bug where the touch pad would fail to generate a new\nHOVER_MOVE following a tap event.  As a result, the hover event\nstream would not resume until the user touched the touch pad\nagain.\n\nChange-Id: I444dce84641fb12e56a0af84c931520771d6c493\n"
    },
    {
      "commit": "aa11965bd55b8344104ebb0c9ebf39ee0cced03f",
      "tree": "f5ccad9b1e3f186483349b1fd03b16e230ec71e9",
      "parents": [
        "fa487ca830cb150be5822d8d73c3d832672f7108"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Tue Jun 28 17:43:30 2011 -0700"
      },
      "committer": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Tue Jun 28 17:43:30 2011 -0700"
      },
      "message": "Add a linear transform library to libutils\n\nChange-Id: Icdec5a6bebd9d8f24b3f335f8ec8b09a5810a774\n"
    },
    {
      "commit": "2a319a03b53197f91438d06fa78f3859ab09046d",
      "tree": "bb8b23853f58cc2a7341b06b094a6c49ddb9ec1d",
      "parents": [
        "8229b467fc32e4c8dc1cfc65865b85c49ba3de6f",
        "1b6230983186cca4977efe6a3c49261d327495cd"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 28 14:27:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 14:27:17 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: add a CPU -\u003e GL sync test.\""
    },
    {
      "commit": "8229b467fc32e4c8dc1cfc65865b85c49ba3de6f",
      "tree": "08a55f9c1ff9005916ed0bf175a6e164b22eb836",
      "parents": [
        "64c044f30e53d6c8a1ece5a59863b871b9fd838e",
        "9ff3cb57ee46ac5242a7d8f08e0c66189fda2e66"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 28 14:03:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 14:03:20 2011 -0700"
      },
      "message": "Merge \"Fix parameter order evaluation issue.\""
    },
    {
      "commit": "9ff3cb57ee46ac5242a7d8f08e0c66189fda2e66",
      "tree": "09e73432da50b6d8b70beef7755e775ff46327a9",
      "parents": [
        "3602153e320134ced447ad2ed8f4d667d55195d7"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 28 14:02:11 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 28 14:02:11 2011 -0700"
      },
      "message": "Fix parameter order evaluation issue.\n\nThis problem was affecting Android builds with gcc/x86.\n\nChange-Id: Ibb7978413c89bd1ac09f0d1ea78f5cb4fe61f6ed\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": "3cf7cf575138bcbe5b49c32eb4ae401f92e4c8f7",
      "tree": "f4712df1099d1cfa1ccf9f98825a9e84b1e7d258",
      "parents": [
        "d11eccf3a861fdaa754907a28cc0da554b9aa7b7",
        "9fb5976367911d0ab42d296238f0f06d517e867d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 28 12:55:03 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 12:55:03 2011 -0700"
      },
      "message": "Merge changes I9fb59763,I8b2c6e00\n\n* changes:\n  SurfaceTexture: consume buffers after err checks\n  SurfaceTexture: change onFrameAvailable behavior\n"
    },
    {
      "commit": "84e297238f53f83c9e7de499e711b997d09514e0",
      "tree": "226910c0fe5d20d85a9322d0075e97b7a820fb57",
      "parents": [
        "7654b20e6c517ad7aab04b5361b4821e54424f7f"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jun 27 13:12:47 2011 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jun 28 07:43:27 2011 -0700"
      },
      "message": "Remove native EventRecurrence parser\n\nSwitch over to the new parser.\n\nBug 4575374\n\nChange-Id: If78d8042fb266182900398f7fc464a048c779966\n"
    },
    {
      "commit": "0dd593f22352a0863223fa4ea7e37e926b99282e",
      "tree": "58d445ed41c6aea8184848490a9f47a2aa31a876",
      "parents": [
        "abb04eec06bce358826e4cb6b5f852424ece8005"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 27 16:05:52 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 27 17:42:15 2011 -0700"
      },
      "message": "PermissionCache caches permission checks\n\nThis is intended to absorb the cost of the IPC\nto the permission controller.\nCached permission checks cost about 3us, while\nfull blown ones are two orders of magnitude slower.\n\nCAVEAT: PermissionCache can only handle system\npermissions safely for now, because the cache is\nnot purged upon global permission changes.\n\nChange-Id: I8b8a5e71e191e3c01e8f792f253c379190eee62e\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": "f24c4cd0f204068a17f61f1c195ccf140c6c1d67",
      "tree": "8bba9602587565eeb9c475f4ccad2e20727ffd41",
      "parents": [
        "ed9bbf27babc7e90a81b229cade498e931ff3dd2"
      ],
      "author": {
        "name": "Anu Sundararajan",
        "email": "sanuradha@ti.com",
        "time": "Wed Jun 22 15:58:59 2011 -0500"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 27 13:48:51 2011 -0700"
      },
      "message": "MemoryHeapBase: Save and binderize the offset\n\nThe offset that is used in the creation of the MemoryHeapBase must be saved, so\nthat it can be used to recreate the Heap when an IMemory object is passed\nacross process boundary through the binder.\n\nChange-Id: Ie618fb5c0718e6711f55ed9235616fd801e648dc\nSigned-off-by: Anu Sundararajan \u003csanuradha@ti.com\u003e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "42419ce28a09eb63e29a8fef87e6f5534f41902f",
      "tree": "f4c758095b56ee9257e90acc4050da046783663d",
      "parents": [
        "14f14863c508ff38fb2fe925c89e2bb2228fcffe"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jun 01 17:22:24 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Jun 27 15:44:57 2011 +0800"
      },
      "message": "Add framework support for camcorder zoom.\n\nThe purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to\nallow applications using the camera during recording.\n\nCamera service allows only one client at a time. Since camcorder application\nneeds to own the camera to do things like zoom, the media recorder cannot\naccess the camera directly during recording. So ICameraRecordingProxy is a proxy\nof ICamera, which allows the media recorder to start/stop the recording and\nrelease recording frames. ICameraRecordingProxyListener is an interface that\nallows the recorder to receive video frames during recording.\n\nICameraRecordingProxy\n  startRecording()\n  stopRecording()\n  releaseRecordingFrame()\n\nICameraRecordingProxyListener\n  dataCallbackTimestamp()\n\nThe camcorder app opens the camera and starts the preview. The app passes\nICamera and ICameraRecordingProxy to the media recorder by\nMediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in\nMediaRecorder::start(). After setup, the recorder disconnects from camera\nservice. The recorder calls ICameraRecordingProxy::startRecording() and\npasses a ICameraRecordingProxyListener to the app. The app connects back to\ncamera service and starts the recording. The app owns the camera and can do\nthings like zoom. The media recorder receives the video frames from the\nlistener and releases them by ICameraRecordingProxy::releaseRecordingFrame.\nThe recorder calls ICameraRecordingProxy::stopRecording() to stop the\nrecording.\n\nThe call sequences are as follows:\n1. The app: Camera.unlock().\n2. The app: MediaRecorder.setCamera().\n3. Start recording\n   (1) The app: MediaRecorder.start().\n   (2) The recorder: ICamera.unlock() and ICamera.disconnect().\n   (3) The recorder: ICameraRecordingProxy.startRecording().\n   (4) The app: ICamera.reconnect().\n   (5) The app: ICamera.startRecording().\n4. During recording\n   (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()\n   (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().\n5. Stop recording\n   (1) The app: MediaRecorder.stop()\n   (2) The recorder: ICameraRecordingProxy.stopRecording().\n   (3) The app: ICamera.stopRecording().\n\nbug:2644213\n\nChange-Id: I15269397defc25cbbcae16abc071c8349c123122\n"
    },
    {
      "commit": "44f8d6bd155cf6357b501137ddbe8403e4d904ba",
      "tree": "b5f025dd8b2261cf8d7ca143bc37dfc42511c6d5",
      "parents": [
        "4c60c541de2399d92610b8a7f7f105a42c1ed2a9",
        "4a5a71518a71a44dbccb3af9a08b82056ea748b3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:54:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 24 17:54:25 2011 -0700"
      },
      "message": "Merge \"Don\u0027t set texture parameters on every frame.\""
    },
    {
      "commit": "4a5a71518a71a44dbccb3af9a08b82056ea748b3",
      "tree": "d04dafb488a7bfde32e153980a6831c84f93833e",
      "parents": [
        "80429c458506485904715180d10584092a5cd082"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:53:53 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:53:53 2011 -0700"
      },
      "message": "Don\u0027t set texture parameters on every frame.\n\nChange-Id: Iec368405ad6a4ccfd569a0b3b4d681871a770396\n"
    },
    {
      "commit": "4c60c541de2399d92610b8a7f7f105a42c1ed2a9",
      "tree": "972f483dd4bcf3085ae166570ed3b59eb4f5e6f8",
      "parents": [
        "01ecdcc7560366baf3e4e5746f366f92f9975797",
        "80429c458506485904715180d10584092a5cd082"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:21:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 24 17:21:26 2011 -0700"
      },
      "message": "Merge \"Properly tear down TextureView\""
    },
    {
      "commit": "80429c458506485904715180d10584092a5cd082",
      "tree": "7a7daee4889e2f9dd679a98b12e38ccb2dbed743",
      "parents": [
        "58f4edb7701bf20925468fa5fd1a06a461ff085b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:20:32 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:20:32 2011 -0700"
      },
      "message": "Properly tear down TextureView\n\nChange-Id: Ic23cd9257889d0abe8cc3fc1d04a66d0505e383e\n"
    },
    {
      "commit": "78a7f12043b5c54b6a0bf76e5b987f0cef6518dc",
      "tree": "6751344ff8a7f5b078e04de2c374b907a05993cf",
      "parents": [
        "c1ba416af5d902ff9b9db7627ab73ec2baff427c",
        "28cdb9e104e03680d61c3e6dd654d1beff51427d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 24 15:15:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 24 15:15:51 2011 -0700"
      },
      "message": "Merge \"Fix settings restore\""
    },
    {
      "commit": "28cdb9e104e03680d61c3e6dd654d1beff51427d",
      "tree": "d3f75c93366e41e3fecb647cb39e75dc4dea3d53",
      "parents": [
        "40e44467e2a32e77f6d874281a1c8185794850ff"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 24 15:06:48 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 24 15:06:48 2011 -0700"
      },
      "message": "Fix settings restore\n\nAlso correct the debug-mode logging of error locations in backup data.\nBug 4914182\n\nChange-Id: Ie7dda0192afa819e42490b7ffd2d3db6f11968f6\n"
    },
    {
      "commit": "02ccac69fd1c0a03c24c5f3ace0ad4bed337b1fd",
      "tree": "60531b505178d4fb169abc83567d5d8db4f14ed0",
      "parents": [
        "b0b1b11b965598cb8fb724e636ebb58a77d437b5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 13:20:23 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 13:20:23 2011 -0700"
      },
      "message": "Code cleanup\n\nChange-Id: I64c346004e0adf9a776d0315534d4fe445f0c0ca\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": "cf86dc2997825005cff81b4b253c3b63bca8ee97",
      "tree": "72235425fa94c9d301b65dde065b68416c0770f1",
      "parents": [
        "7c1747c13c75eb0197db979d48cb4f9c59d52201",
        "e352f05d3afb1d8fd372a68a76d1ae4a256b17de"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 17:08:02 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 17:08:02 2011 -0700"
      },
      "message": "Merge \"Move divsi3, modsi3, udivsi3, umodsi3 to libbcc.\""
    },
    {
      "commit": "7c1747c13c75eb0197db979d48cb4f9c59d52201",
      "tree": "190ec1ba61349ae60d48b1f857c60f1eb8c45bfb",
      "parents": [
        "95c0f924b28651f45c13a971e718572d15a2682b",
        "3d782666d73c3ce0ffb77e71db7309bc3297ecb8"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 17:07:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 17:07:10 2011 -0700"
      },
      "message": "Merge \"Remove verbose logging, update test app and docs.\""
    },
    {
      "commit": "e352f05d3afb1d8fd372a68a76d1ae4a256b17de",
      "tree": "e2514b07925bfa99a9f66f9db025ab6707264212",
      "parents": [
        "3d782666d73c3ce0ffb77e71db7309bc3297ecb8"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 16:49:00 2011 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 16:49:00 2011 -0700"
      },
      "message": "Move divsi3, modsi3, udivsi3, umodsi3 to libbcc.\n\nBUG\u003d3435530\n\nChange-Id: I4e90a6cdf5af534f93d83093ea31b1defd1e896c\n"
    },
    {
      "commit": "3d782666d73c3ce0ffb77e71db7309bc3297ecb8",
      "tree": "dc4c36400b60d9f803edc7382568455de555a531",
      "parents": [
        "8969d9924c662ab4cdacc342bbdc33756db730be"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 16:18:28 2011 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 16:18:28 2011 -0700"
      },
      "message": "Remove verbose logging, update test app and docs.\n\nChange-Id: I6659c5e51a747011239128dc2682a5d78aecfa26\n"
    },
    {
      "commit": "0694cfe49a889788e185a265deed0c231fe31f4b",
      "tree": "d391cd89d74c7fcaf9045cd974c6a028b8b05b9e",
      "parents": [
        "090117774a4eeca850cca9ceac41cd8187772c81",
        "4e8a5c922c287ec97fec847194e930f8598a1941"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Thu Jun 23 14:45:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 14:45:30 2011 -0700"
      },
      "message": "Merge \"Add method to create a ParcelSurfaceTexture from android.view.Surface.\""
    },
    {
      "commit": "697283e9177ee5730bf5c652c3c05d3aa3838ace",
      "tree": "a17ef92257437f6e130a2c73a53e92fc4bdca5a2",
      "parents": [
        "0ff6d7ee17de33d314ef726e7506b39c64a3ed35"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 23 12:55:29 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 23 12:55:29 2011 -0700"
      },
      "message": "Add Thread::join\n\nThis new API will be used by applications that previously used the\nlower-level pthread APIs (including pthread_join).  Centralizing on the\nThread class instead of pthread will permit additional functionality to\nbe added later in only one location.\n\nChange-Id: I8460169ac9c61ac9f85752405ed54c94651058d7\n"
    },
    {
      "commit": "a9489274d67b540804aafb587a226f7c2ae4464d",
      "tree": "2e181f440cfdda41da82e3763523b437af0fcf8f",
      "parents": [
        "d586ad9c9fec80aa1d24d6b53cd2c8d5b47fe868"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 20:58:11 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 20:58:11 2011 -0700"
      },
      "message": "Add the ability to specify the opacity of a TextureView\n\nTextureView assumes its content is opaque by default.\n\nChange-Id: Iba873423566a5b67c388081838bd910dceba32ba\n"
    },
    {
      "commit": "60d47796ccfb3db3ab73017897f648678daddc83",
      "tree": "87e3bfde59e5edb34e139e15414d7e05ebab41f0",
      "parents": [
        "df02afe8355e1e7a6f8f02549f41a166c3ee6932"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 22 17:42:23 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 22 17:45:30 2011 -0700"
      },
      "message": "Thread ID zero for androidSetThreadSchedulingGroup\n\nAlready implemented by androidSetThreadPriority but not documented\n\nChange-Id: I85302b17092952065f3f3a4214d8d8abdd465dbd\n"
    },
    {
      "commit": "d586ad9c9fec80aa1d24d6b53cd2c8d5b47fe868",
      "tree": "285a0e4d4d7b471a8a3c8e41957283dcb9f09f43",
      "parents": [
        "83c033de06cd2af243ecf8e2c4b87cd2de2b786e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 16:14:36 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 17:10:00 2011 -0700"
      },
      "message": "Fix another memory leak in OpenGLRenderer\n\nChange-Id: I23ed56891452a05cf3ca13f6919c4fef90d5ff4e\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": "f6a63ae3a7004a8eca87fca5a66cfb6aef4e86b5",
      "tree": "dda8a54686dc15261602a0953c8564fb2322ffdb",
      "parents": [
        "c989d867f2580a99cde25fab0e49e445aea33f2f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 15:13:09 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 15:13:09 2011 -0700"
      },
      "message": "Fix memory leak in OpenGLRenderer.\n\nWhen creating a display list, matrices are duplicated locally. They\nwere however never deleted, thus causing apps to slowly leak memory\n(a matrix is about 40 bytes.)\n\nChange-Id: Iac465b720d4c4c9b5ca3fce870c0c912c14a74ab\n"
    },
    {
      "commit": "2d90f953b82dae140bd0a351cca398a1aa8c4162",
      "tree": "58742a4977c67395b384e0fb414c9c3a91bcd05c",
      "parents": [
        "419091185f3c9c2d22c0673daca38c92985244c5",
        "71767c5577c9708a5e0eeefca89cb2c85f8aeac6"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jun 21 17:11:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 21 17:11:04 2011 -0700"
      },
      "message": "Merge \"First cut of atomics for renderscript.\""
    },
    {
      "commit": "71767c5577c9708a5e0eeefca89cb2c85f8aeac6",
      "tree": "da2685cd493725413d01019943c16b228d02dd19",
      "parents": [
        "ea1ca952c625d51dc71e1cc3d955b239921888c7"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jun 21 16:42:30 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jun 21 17:07:18 2011 -0700"
      },
      "message": "First cut of atomics for renderscript.\n\nChange-Id: Iefc0228d802e6f5348ae787553c9252fb90ba110\n\nupdate atomic patch.\n\nChange-Id: Idd0596439c092f570b6b226e9a9c7102ddffe88e\n"
    },
    {
      "commit": "dba35bb98db03dcc01f8da6221822b329a23bac5",
      "tree": "cd7ae2cf2997fff769c35e8eb677e1d24e34af2d",
      "parents": [
        "ea1ca952c625d51dc71e1cc3d955b239921888c7",
        "dba3968ab27a6d2ca4cc7e07f0d23e918ba61606"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 21 14:40:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 21 14:40:29 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: make tests use a large framebuffer.\""
    },
    {
      "commit": "1a3b2f627cf33f5c1be1de0dff2e4a29dada3702",
      "tree": "721dd4a85197995ed457bce7c8f2986f03f4ee5f",
      "parents": [
        "bad9d3a6b651b241b06cb74e2a18018a46ddf11a",
        "faa32b33b50ad941f631716dd0915e936bdc3ac5"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jun 20 17:26:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 20 17:26:48 2011 -0700"
      },
      "message": "Merge \"First cut at RSTextureView.\""
    },
    {
      "commit": "faa32b33b50ad941f631716dd0915e936bdc3ac5",
      "tree": "67bf6410bf4d030c19c0083dbbe60bf3672c80e2",
      "parents": [
        "3106a9b7f5c5c6a62d3fa5772d8c2bb41d22c6eb"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jun 20 16:58:04 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jun 20 16:58:04 2011 -0700"
      },
      "message": "First cut at RSTextureView.\n\nChange-Id: I920950f33079b6bb7e48bb8970201ab9737bb021\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": "98769300af3580723f99415bba0f790e874fb27b",
      "tree": "386aa0d40bb838df92024f41ca9b8381ffa658fb",
      "parents": [
        "1a81a16a967173729839d3802a5527ff074f9af9",
        "d6b2a00dd43257d1498b09175bff63663f6cb861"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 17:47:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 17 17:47:59 2011 -0700"
      },
      "message": "Merge \"Add error checking to LayerRenderer::copyLayer\""
    },
    {
      "commit": "d6b2a00dd43257d1498b09175bff63663f6cb861",
      "tree": "458956fbcc18eb53ddc81fd7a4d1bf64ee3c7a92",
      "parents": [
        "98029c825b9234e6b90721d910cc180885fcab1d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 17:45:59 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 17:45:59 2011 -0700"
      },
      "message": "Add error checking to LayerRenderer::copyLayer\n\nThis method is invoked by TextureView.getBitmap() and failures must be\ncaught to avoid leaving the GL context in a potentially bad state.\n\nChange-Id: I620de395ba1bc20154de58c81963223dc55cac78\n"
    },
    {
      "commit": "ee452bcc06c6a42ecc78a154bb4fb9366e9178eb",
      "tree": "797463b97d578cb4ba54625bd98b7a90567246c6",
      "parents": [
        "405efeeeab6c1c0a76f6903881fdea0ee0b58259",
        "98029c825b9234e6b90721d910cc180885fcab1d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 15:49:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 17 15:49:22 2011 -0700"
      },
      "message": "Merge \"Fix rendering issue with paths when the stroke width is 0\""
    },
    {
      "commit": "98029c825b9234e6b90721d910cc180885fcab1d",
      "tree": "0091be00b155882643ffe2a3f88d6df1c297aa3f",
      "parents": [
        "5d5d1ff2d5daadec48c6c95e86d6d644390c02e6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 15:47:07 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 15:47:07 2011 -0700"
      },
      "message": "Fix rendering issue with paths when the stroke width is 0\n\nChange-Id: I5d8ac23dc69e9e17df4ef6b5195186b5207e2524\n"
    },
    {
      "commit": "54ed6107903d596cd3d1610f0cb5c0b041c02573",
      "tree": "ab7030760d228b51a792b1e3f87105a6d31d6315",
      "parents": [
        "ce14a04b2c9269261e841b962b4ff2d71b1610c3",
        "537cf4a6a375f25e4ed0fef286965c864878f6c2"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 17 10:45:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 17 10:45:15 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: enable a test that now passes.\""
    },
    {
      "commit": "ce14a04b2c9269261e841b962b4ff2d71b1610c3",
      "tree": "b78dc51115f99ca79ec8e79f093da2ccfc04b848",
      "parents": [
        "f2288c960cce22ea3971d79f6aa13ed61c699176",
        "b82f85bbfdac6bf6d4e59d91886f40678d20000b"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 17 10:45:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 17 10:45:01 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: enable a test that is now passing.\""
    },
    {
      "commit": "9347d9ad92b0467a1ad56423ecfbba39ed66ac5c",
      "tree": "32d2461f7c0cb9bb8a0313d7b01c0e5c72f6502a",
      "parents": [
        "4bd44535feac75fffd2c941183de02c983523f43",
        "8650c32907b74b945dd6cc9a5bf41c12fde005df"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Jun 16 15:15:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 16 15:15:14 2011 -0700"
      },
      "message": "Merge \"Adding ability to read back fbo data to renderscript\""
    },
    {
      "commit": "8650c32907b74b945dd6cc9a5bf41c12fde005df",
      "tree": "8e9ce46c618473181503ef0f6da8684878093ff8",
      "parents": [
        "f71e5469441286c6f466043e64a7f6492557cbd9"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Jun 16 11:05:13 2011 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Jun 16 11:05:13 2011 -0700"
      },
      "message": "Adding ability to read back fbo data to renderscript\n\nChange-Id: Ie684c26cbcde22f2483b43415dfc39a3de22c5a1\n"
    },
    {
      "commit": "e04f826fef44b85108be85fb6d3a16c35a9e5c29",
      "tree": "13afd43678741a6439d23a966950cd7c6d40bdaa",
      "parents": [
        "a27ad3cca3f17e394ce96011422a0131c15939a9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 15 20:41:15 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 15 20:55:49 2011 -0700"
      },
      "message": "Use rand() for MinGW\n\nThe version of MinGW we use doesn\u0027t have nrand48() which is really lame,\nbut we need to use libutils in the Windows SDK.\n\nChange-Id: If854c03dbf02bc29e79f49e4539f08c2bf057517\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": "370a71bcaf5bc4874f1b7daadc091adc256fe234",
      "tree": "03c290d2b12f60295cdaee2ce2d650365d2b6f6c",
      "parents": [
        "7af75afb2c8608dbe73509036eefd3281d646a5f",
        "1d24aaa4b47ac005c0a673a06c373f85b1e43caf"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 14 17:54:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 14 17:54:25 2011 -0700"
      },
      "message": "Merge \"Bug 4608375\""
    },
    {
      "commit": "77a811610f99e21da7f88dafef60d09f345d0506",
      "tree": "f9342ace8ae4541f75c17a3f8531d3c6090de474",
      "parents": [
        "113543c909baadb911cfda6acef056137e16f191"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 14 16:45:55 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 14 17:06:53 2011 -0700"
      },
      "message": "Add TextureView.getBitmap()\n\nThis API can be used to get a Bitmap copy of the content of a\nTextureView.\n\nChange-Id: I07522216c353720fba5cab333174f58f484eb911\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": "9b309b99f75be646bf0536ed85e14facf962e891",
      "tree": "cb371eb158f6f87a9ff5b13762812b7f4dc79eab",
      "parents": [
        "f0b517d9d287e86e6e57a372ddcb070cec1fe1c0",
        "304b1f5497155bcf91e7b855cfab7a675e80bf26"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jun 14 13:14:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 14 13:14:57 2011 -0700"
      },
      "message": "Merge \"Allocation copy functions.\""
    },
    {
      "commit": "304b1f5497155bcf91e7b855cfab7a675e80bf26",
      "tree": "3a73f3855d29591f9b74f4967d594ec2476262b1",
      "parents": [
        "bd3e537980027f4502a13c204b3c7b9d10adad31"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jun 14 11:13:19 2011 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jun 14 11:13:19 2011 -0700"
      },
      "message": "Allocation copy functions.\n\nChange-Id: Idce6d44a4f4bb2e399284a40c0f90dc1bff912fd\n"
    },
    {
      "commit": "1d24aaa4b47ac005c0a673a06c373f85b1e43caf",
      "tree": "689f5a8057751eaaabfcb21e74f788e2427e4106",
      "parents": [
        "622d5441975fa16636d3304d42d27659af14cb49"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 14 10:35:34 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 14 10:41:50 2011 -0700"
      },
      "message": "Bug 4608375\n\nUpdate priority and policy together for audio threads\n\nChange-Id: Ib3b07b32586c222c4aacbf23414ae8b05db502be\n"
    },
    {
      "commit": "ad4e03d6978054db19f1267af2b8c1072272f3fe",
      "tree": "d70a0646aecba6b6b9157db262656061353e2a4a",
      "parents": [
        "6e4ba2bf35c3c45dc829e5a863fa437d976d86f0",
        "54be1cdf3d63095512120fa7ced5c16e462abffa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 13 19:07:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 19:07:22 2011 -0700"
      },
      "message": "Merge \"Batch glCopyTexImage() calls to get about 15 fps back on SGX.\""
    },
    {
      "commit": "54be1cdf3d63095512120fa7ced5c16e462abffa",
      "tree": "01f454747cc08f12375ae1ce458b0ef07beecbef",
      "parents": [
        "40b62576ffeea06e481cae40db89455c2ddf8a63"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 13 19:04:27 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 13 19:04:27 2011 -0700"
      },
      "message": "Batch glCopyTexImage() calls to get about 15 fps back on SGX.\n\nChange-Id: I04079e070739c1e46df3e90fc388c335e2a7d2b9\n"
    },
    {
      "commit": "eb99f0d9f05dd37f988a815e6bc01bbd7152c31a",
      "tree": "eab0217d74f5887e680f0dbc57aca49acba2913a",
      "parents": [
        "a934219ca8d23a63e5a9f443fafd6d4ac9847c71"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jun 12 18:05:53 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 18:39:45 2011 -0700"
      },
      "message": "fix RefBase so it retains binary-compatibility with gingerbread\n\nBug: 4595257\nChange-Id: I0d5e10f497e3f39868bff58f6ded510c38b44b12\n"
    },
    {
      "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": "716a38adcbc3ce61238e2c866d8cf865a3522518",
      "tree": "a75b99eed983af93543c317c88800d7b0cea4b15",
      "parents": [
        "49edc107b593a6e28f8331d563b4fe3b78beb34f",
        "323badd7ddc1574e8e4954735d05befc27cfddad"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 14:48:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 14:48:11 2011 -0700"
      },
      "message": "Merge changes Ic9186db2,Id5a7cdff\n\n* changes:\n  SurfaceTexture: disable a deadlocking test.\n  SurfaceTexture: add a pixel tolerance to the tests.\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"
    }
  ],
  "next": "43bdc23b13ba473824a74d3df67704d6d9c543c7"
}
