)]}'
{
  "log": [
    {
      "commit": "6f8a3dfa6bda25d98e9a3001c046496575212648",
      "tree": "1f129f2b460b28c40b894f60ccaef51a205d6ee5",
      "parents": [
        "d2affae13dfdb116adaee1bb10aaaac80a885481",
        "941533186c70d80c014859d3f09b518d31f535bf"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 12 17:26:46 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 17:26:46 2010 -0800"
      },
      "message": "Merge \"Add comment block matching the type defines added by RS.\""
    },
    {
      "commit": "941533186c70d80c014859d3f09b518d31f535bf",
      "tree": "e02c7f7fb68f2afce6df3e5078d63f6ded3953a5",
      "parents": [
        "965e37ec88609c36a3c5461ece459a96abb6f7ca"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 12 17:24:28 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 12 17:25:47 2010 -0800"
      },
      "message": "Add comment block matching the type defines added by RS.\n"
    },
    {
      "commit": "a9886c580b299984e62303a995bf7b13276b5bc8",
      "tree": "f481a1e98fc053de7e8d3ce8c0ec6534890dd3fb",
      "parents": [
        "7f66d6e63dc79709ea308440ec57906980046531"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 14:09:24 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 14:37:42 2010 -0800"
      },
      "message": "Totally remove Unicode.cpp and rely on ICU\n\nUnicode.cpp used a packed data table for character data that essentially\nduplicated ICU\u0027s functionality.\n\nChange-Id: Ia68fe4ac94e89dc68d9a3f45f33f6e648a5500b7\n"
    },
    {
      "commit": "7f66d6e63dc79709ea308440ec57906980046531",
      "tree": "40d508171cb703c42b91a292cc69bfc0044a0a49",
      "parents": [
        "96898b38fa72957963fd768b379df5d2860a7f3c",
        "128ce4b24ad0ee2c2ed56af9a0d800d7dc6111c0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 14:09:03 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 14:09:03 2010 -0800"
      },
      "message": "Merge changes I128ce4b2,I5cbb940c\n\n* changes:\n  real fix for [2440014] launcher2 crashing in loop during boot\n  Revert \"Revert \"RenderScript should not depend on libsurfaceflinger_client.so\"\"\n"
    },
    {
      "commit": "128ce4b24ad0ee2c2ed56af9a0d800d7dc6111c0",
      "tree": "f777da7ff4020a608a97e071a4bada2917cd8ec8",
      "parents": [
        "5cbb940cf6b1fd2b44d66bc40e5c3e8429bbd741"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 14:04:35 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 14:04:35 2010 -0800"
      },
      "message": "real fix for [2440014] launcher2 crashing in loop during boot\n\nSurface* cannot be casted to void* and then to android_native_window_t*\n"
    },
    {
      "commit": "564bfc27f253694183f5972cdda6357c66bd7bbd",
      "tree": "b9af3f503d7183a8f9f1cf5fe99fcf391eaa0c89",
      "parents": [
        "965e37ec88609c36a3c5461ece459a96abb6f7ca"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 13:01:16 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 13:01:16 2010 -0800"
      },
      "message": "Excise code from Unicode.cpp that was dead\n\nRemove some utility functions for discovering character data\nthat ICU probably took over a while ago.\n\nChange-Id: I97abe4de2f51eb2bf48679941258bc501184c3dc\n"
    },
    {
      "commit": "5cbb940cf6b1fd2b44d66bc40e5c3e8429bbd741",
      "tree": "b159bd272cdb42a6c9a68a547334a38a2f0b8798",
      "parents": [
        "90762d35a99e32ed22cdfb1f81252544ee22e30b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 12:00:38 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 12:00:38 2010 -0800"
      },
      "message": "Revert \"Revert \"RenderScript should not depend on libsurfaceflinger_client.so\"\"\n\nThis reverts commit a0659aa36c987e28e29778bd97e75fe52152c60e.\n"
    },
    {
      "commit": "a0659aa36c987e28e29778bd97e75fe52152c60e",
      "tree": "b3cb8b2888c171060e94a787381cfa3303dda100",
      "parents": [
        "470969346d7958f859d97d1a136b4ecc11e2a464"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Feb 12 18:21:26 2010 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Feb 12 18:21:26 2010 +0800"
      },
      "message": "Revert \"RenderScript should not depend on libsurfaceflinger_client.so\"\n\nThis reverts commit 88b55fb090ace1a835f890758866f42f03795c12.\n"
    },
    {
      "commit": "88b55fb090ace1a835f890758866f42f03795c12",
      "tree": "06f73ef2db182b1b1d7312af52b3dae83b741faa",
      "parents": [
        "000479f9e325b4e426a67033abd92d47da412725"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 14:57:11 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 14:57:11 2010 -0800"
      },
      "message": "RenderScript should not depend on libsurfaceflinger_client.so\n"
    },
    {
      "commit": "000479f9e325b4e426a67033abd92d47da412725",
      "tree": "16b93ea777744aa24ffe7d3a191bb90529ad4ce5",
      "parents": [
        "28a5dc229ed25c771cde25668928edc788073029"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 09 17:46:37 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 13:16:22 2010 -0800"
      },
      "message": "split libsurfaceflinger_client and libcamera_client out of libui\n"
    },
    {
      "commit": "8dd9ca3e971c6f69b58ca201a313c61f94fa93ef",
      "tree": "f5f35b453c803072dba74880b85f795e8ab36a8a",
      "parents": [
        "586f3b5d32c0464a4e69c92f89865eea672ab665"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 18:09:36 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 18:09:36 2010 -0800"
      },
      "message": "Change default mode.\n"
    },
    {
      "commit": "586f3b5d32c0464a4e69c92f89865eea672ab665",
      "tree": "5ee6dbfb9e195cf9b5060e4c3936ac286489250d",
      "parents": [
        "1d317d1453348d66e41c8b677a27340803139d4b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 18:07:37 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 18:07:37 2010 -0800"
      },
      "message": "Add java benchmark to imageProcessing.\n"
    },
    {
      "commit": "1d317d1453348d66e41c8b677a27340803139d4b",
      "tree": "810fb0d11ba3ac678cdf38b8c23a7c9f6875c1d4",
      "parents": [
        "aa82768b8c6b6e81bb048d2d72b6586eb66b5b5d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 16:58:16 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 16:58:16 2010 -0800"
      },
      "message": "Cleanup image processing example script.\n"
    },
    {
      "commit": "a5cbed967d98926a89c8da6ea76635a9c597e579",
      "tree": "a9bb3b31c55254c57a80ccdd0f8db058b7b294ed",
      "parents": [
        "05b2f71ebd8c3e46cd0ca91d8b2313d2a3e530c2",
        "ec2746c33f10d4cd24823d217fa26a4b9f3eab76"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 15:04:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 10 15:04:56 2010 -0800"
      },
      "message": "Merge \"Fix ImageProcessing example.\""
    },
    {
      "commit": "ec2746c33f10d4cd24823d217fa26a4b9f3eab76",
      "tree": "98065e07c812eda33ef86c9755d5b6cede743b80",
      "parents": [
        "704ff64b099406bb328898a7443921f22dbffd6d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 15:03:24 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 15:03:24 2010 -0800"
      },
      "message": "Fix ImageProcessing example.\n"
    },
    {
      "commit": "ca35953c9064114cb09181e8bffddb2f7c2d8d53",
      "tree": "ac8dcfc6ce2c46bb87ec6812f7562c72c5d8fa69",
      "parents": [
        "a18e90176a8e2442837d0503fbfd4adb9df0818f",
        "ca9d9dc8271017e60e3a0e477e416283433e721c"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Feb 10 00:07:35 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 10 00:07:36 2010 -0800"
      },
      "message": "Merge \"Remove some logs.\""
    },
    {
      "commit": "ca9d9dc8271017e60e3a0e477e416283433e721c",
      "tree": "f5a35bcabc242a980c5f11bc3c4ef6f7db569d70",
      "parents": [
        "7406e53c4c152267bff799b0bb5d7edb6ece404f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Feb 10 13:01:48 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Feb 10 13:02:17 2010 +0800"
      },
      "message": "Remove some logs.\n"
    },
    {
      "commit": "be14332227f1265fb5196ed3f38fb6a2a1e0a39d",
      "tree": "dfd94d43203a854a332315d12405b8cc4a080cba",
      "parents": [
        "739e1f8cdaee7ad448086f61412d118cb18152c5",
        "ff723b6c43d5a8fd0ae0e0732f5d47012d74e01d"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Feb 09 20:49:06 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 20:49:06 2010 -0800"
      },
      "message": "Merge \"Add exposure compensation parameter.\""
    },
    {
      "commit": "b687581d4cf67fe8f25bac4333b513bcba2f3cb2",
      "tree": "36fb2ee184e50a0074d048e9e4b06b0d366cf136",
      "parents": [
        "c4893b71e56a6c945f58fa2540900d17f07b45c3",
        "704ff64b099406bb328898a7443921f22dbffd6d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 09 17:08:50 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 17:08:50 2010 -0800"
      },
      "message": "Merge \"Preview seperating RenderScript into RenderScript and RenderScriptGL\""
    },
    {
      "commit": "704ff64b099406bb328898a7443921f22dbffd6d",
      "tree": "f5ec300c4d3bd6cdb6225909b4435d44a4a226dd",
      "parents": [
        "5bec3aa2c6bcde7f81ca77b0887296bf05a745c8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 09 16:05:07 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 09 16:05:07 2010 -0800"
      },
      "message": "Preview seperating RenderScript into RenderScript and RenderScriptGL\n"
    },
    {
      "commit": "ba637f87367878b1cebaf1b23a62f077e9c8006f",
      "tree": "9917b377f08efa7cd1d4f17fac4251d9882e509e",
      "parents": [
        "4eaef139cf72e8f260ec4cf165c42f579cf6127d",
        "66c77a5b42517b15c933431e12445b856d804ce5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 09 15:26:44 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 15:26:44 2010 -0800"
      },
      "message": "Merge \"Add support for physically rotated displays\""
    },
    {
      "commit": "ff723b6c43d5a8fd0ae0e0732f5d47012d74e01d",
      "tree": "ebb57244605ea16e2206ec479b8bc5f11d435beb",
      "parents": [
        "7406e53c4c152267bff799b0bb5d7edb6ece404f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Feb 09 13:38:19 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Feb 09 18:28:50 2010 +0800"
      },
      "message": "Add exposure compensation parameter.\n\nbug:2375993\n"
    },
    {
      "commit": "5bec3aa2c6bcde7f81ca77b0887296bf05a745c8",
      "tree": "d67e8e7222d091bdbeb8e41e0306273ec48f1a89",
      "parents": [
        "0066b084b9ac10842769b3cbf755482560d21cd8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Feb 08 16:31:39 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Feb 08 16:32:29 2010 -0800"
      },
      "message": "Fix fountain and put the demos back in the optional build.\n"
    },
    {
      "commit": "66c77a5b42517b15c933431e12445b856d804ce5",
      "tree": "2e275ec566e062c9b28ba5be5b0304157784d86b",
      "parents": [
        "0066b084b9ac10842769b3cbf755482560d21cd8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 08 15:49:35 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 08 15:49:35 2010 -0800"
      },
      "message": "Add support for physically rotated displays\n\nThis feature is currently controled by a system property.\n\"ro.sf.hwrotation\" can be set to either 90 or 270. It\u0027ll cause\nSF to rotate the screen by 90 and 270 degres respectively.\n\nThat is, if the driver reports 800x480 for instance, and\nro.sf.hwrotation is set to 90, applications will \"see\" a\n480x800 display and will run in portrait.\n\nThis is implemented by introducing an extra \"display\"\ntransformation in the GraphicPlane.\n"
    },
    {
      "commit": "fcdd394f3b25e336a3ff55960b695bc0943d4d3d",
      "tree": "bd575f5fd0a49e51a5d4a7624a07433486b03f7f",
      "parents": [
        "42d99d211f547a2b5a4632e62b38ac16a1ad481c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 04 17:13:06 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 04 17:13:06 2010 -0800"
      },
      "message": "Add support for direct EGLImageKHR use with pushbuffer API\n\nWe now always first try to use the EGLImageKHR directly before\nmaking a copy with copybit. The copy may be needed when\nEGLImage doesn\u0027t support the requested format, which is\ncurrently the case with YUV.\n"
    },
    {
      "commit": "7eae31cab43a36b6feccf523f212968619abe599",
      "tree": "f430871c3730c4b3d05b54a5a7a5384741563c4b",
      "parents": [
        "6c8d2760736a0753dad96b4bb8f98c7d075e6d54"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Jan 31 14:19:38 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Jan 31 17:03:10 2010 +0800"
      },
      "message": "Add float support for set and get in CameraParameters.\n\nbug:2375989\nbug:2375987\n"
    },
    {
      "commit": "6c8d2760736a0753dad96b4bb8f98c7d075e6d54",
      "tree": "5df1fac94e122b86f92095d697d4da8bb737d210",
      "parents": [
        "4c4300c71229638183d814ab8374e09f722910f5"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jan 27 22:55:14 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Jan 30 20:36:04 2010 +0800"
      },
      "message": "Add focal length and view angle API.\n\nbug:2375989,2375987\n"
    },
    {
      "commit": "6faf7893b6307a3295993380d61af49f2cda965c",
      "tree": "0b96c41270e160fbafb2956f8a91ec3ef1772b67",
      "parents": [
        "bf124e7e41f7850ac1b7be808221a462db6f3447"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jan 25 19:00:00 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 29 14:51:06 2010 -0800"
      },
      "message": "Simplify the MemoryDealer implementation\n\nAt some point the implementation became complicated because of\nSurfaceFlinger\u0027s special needs, since we are now relying on gralloc\nwe can go back to much simpler MemoryDealer.\n\nRemoved HeapInterface and AllocatorInterface, since those don\u0027t need\nto be paramterized anymore. Merged SimpleMemory and Allocation.\nMade SimplisticAllocator non virtual.\n\nRemoved MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)\n\nRemoved a lot of unneeded code.\n"
    },
    {
      "commit": "f145108a68bf4123ae03544d80ce4fef84320005",
      "tree": "8b352fde58e04ce6fffcc14383eac0a0d1e79008",
      "parents": [
        "1ad05dcbf506d489a99ecd9f308874d2a453db29"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 28 13:42:59 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 28 13:42:59 2010 -0800"
      },
      "message": "Remove verbose log from AudioPolicyManagerBase.\n"
    },
    {
      "commit": "2060b637f793c1ac969aad85ab0b8e27351ab711",
      "tree": "aa08aa5fb83a1d757e34d357324b0adbc745b0a4",
      "parents": [
        "0ebff76e95aab7f6827ce1a8c25f1b4ad87a9029",
        "5dbfe93b3f15f3a837836d024958635fd8f9ad14"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 27 14:48:29 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 14:48:29 2010 -0800"
      },
      "message": "Merge \"Fix some minor bugs with GL state setup that were exposed by Droids driver.\""
    },
    {
      "commit": "5dbfe93b3f15f3a837836d024958635fd8f9ad14",
      "tree": "7a86155c3054d0b7fe0d655e2f2dd21754b05330",
      "parents": [
        "445cc0e4bfd5b9460fb1cdccd22d8d54a49e5da1"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 27 14:41:43 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 27 14:41:43 2010 -0800"
      },
      "message": "Fix some minor bugs with GL state setup that were exposed by Droids driver.\n"
    },
    {
      "commit": "0ebff76e95aab7f6827ce1a8c25f1b4ad87a9029",
      "tree": "877df1054ffe46b509da0d7ac1ade93e854e8714",
      "parents": [
        "e6dca5c29b569ec245c665341bd8794abf6a02e9",
        "0986e7907ffc8387b04fb201e285784bcd11b9b7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 27 14:21:20 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 14:21:20 2010 -0800"
      },
      "message": "Merge \"Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync\""
    },
    {
      "commit": "89e02edf6f92c034942b697be4eccea46930cdfb",
      "tree": "849781b00d72345d5fb9a5774f2ccb608a2a13d9",
      "parents": [
        "02735bc9b7686e56957cdec9c10660c4a6dd1090",
        "d1d7706fce19a9a0cf71ff9b65f3aba9b89eeb3b"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Jan 27 09:20:19 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 09:20:19 2010 -0800"
      },
      "message": "Merge \"Add support for setting camera display orientation.\""
    },
    {
      "commit": "0986e7907ffc8387b04fb201e285784bcd11b9b7",
      "tree": "96733235d1e92e0f329ded11b9b55c0d67a4ca83",
      "parents": [
        "7d3a558b9ebf2256517ec99cd09c066cc7dbc92c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 19 17:37:09 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 26 18:40:39 2010 -0800"
      },
      "message": "Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync\n\nAdded getRenderPosition() API to IAudioFlinger to retreive number of audio frames\nwritten by AudioFlinger to audio HAL and by DSP to DAC.\n\nAdded getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames\nwritten by DSP to DAC.\n\nExposed AudioTrack::getPosition() to AudioSink() to make it available to media player.\n\nRemoved excessive log in AudioHardwareGeneric.\n"
    },
    {
      "commit": "122b309481f5e606b9af4c8266d1dd75e5b1bc8c",
      "tree": "7e013756999584d479911686ee50e98d130a3517",
      "parents": [
        "508370f0cb5d3e03b1bcf04f1164ea1f384f496f",
        "a1d302e867cc86d1e9c91a2fd613af9f1eb76574"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 26 11:34:48 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 26 11:34:48 2010 -0800"
      },
      "message": "Merge \"Turn the debugging back on.\""
    },
    {
      "commit": "a1d302e867cc86d1e9c91a2fd613af9f1eb76574",
      "tree": "867ca225100bc0af350823684b9fac1d02779d53",
      "parents": [
        "df48b571144ed0b0a09c735f997cc408c3d22b2b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 26 11:34:09 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 26 11:34:09 2010 -0800"
      },
      "message": "Turn the debugging back on.\n"
    },
    {
      "commit": "d1d7706fce19a9a0cf71ff9b65f3aba9b89eeb3b",
      "tree": "e4945abf24f406374fcc51fec3935fe3aeb57195",
      "parents": [
        "09ac3c3cbc6278af127cffedb9d534449e63b683"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jan 22 17:49:48 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jan 26 11:07:07 2010 -0800"
      },
      "message": "Add support for setting camera display orientation.\n"
    },
    {
      "commit": "c8b60d1932bb9f294550584126fc5b58a6312406",
      "tree": "0c27776ee9b05f09a0ad306c7ad6e65961f94169",
      "parents": [
        "996dddff64f90d8469e24107c44bfd618cf0c2dd"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Jan 26 10:27:15 2010 -0800"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Jan 26 10:28:52 2010 -0800"
      },
      "message": "Revert \"Fix failure to open AVRCP input device due to EPERM.\"\n\nThis reverts commit e6b1bbd8acca3f6e174c24cf4eb23a66db2d08a2.\n"
    },
    {
      "commit": "a667fda9f54f4fd44e3eb53e159b3129e0aa36fa",
      "tree": "35ec05626d342546d6826e1560304981d5efc43f",
      "parents": [
        "5dffc6bb2ac918e7d101fd2f14cf0d4fdbd32e05",
        "425324e97bba75cd69bb6c81de6248529540e6fe"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Jan 25 18:12:47 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 25 18:12:47 2010 -0800"
      },
      "message": "am 425324e9: am e834722f: Merge \"Fix failure to open AVRCP input device due to EPERM.\" into eclair\n\nMerge commit \u0027425324e97bba75cd69bb6c81de6248529540e6fe\u0027\n\n* commit \u0027425324e97bba75cd69bb6c81de6248529540e6fe\u0027:\n  Fix failure to open AVRCP input device due to EPERM.\n"
    },
    {
      "commit": "23f25cda0c73f8eb878844dea32fb0bd419edca2",
      "tree": "c1945d31c382864db8da0b829ccb017d2c31bbd6",
      "parents": [
        "bb04b631b60e0286c02e0fd4dd7ab764a001e0ce"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 25 08:49:09 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 25 14:00:10 2010 -0800"
      },
      "message": "Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.\n\nModified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream\ntype is playing.\n\nChanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.\n"
    },
    {
      "commit": "df48b571144ed0b0a09c735f997cc408c3d22b2b",
      "tree": "3c4b6ccdf272b3dde00725c83078306a7df57e9b",
      "parents": [
        "882652bf0d78ef06635621a11a07690b7c682a7b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jan 25 12:31:24 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jan 25 12:41:19 2010 -0800"
      },
      "message": "Cleanup seperation of Legacy and user attribs.  All user programs now use the new names.  Legacy vertex attribs are given default names.\n"
    },
    {
      "commit": "acf77033bbd4682566bcd3c535f4f1e94d23f962",
      "tree": "7b30406823645b725a6fde30fc1af9ae72957b77",
      "parents": [
        "60e8495c1699f6f4d4046a3394b1eafdeefe6d64"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Jan 25 15:18:18 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Jan 25 15:20:23 2010 +0800"
      },
      "message": "Change key to KEY_SUPPORTED_JPEG_THUMBNAIL_SIZES for consistency.\n\nbug:2375986\n"
    },
    {
      "commit": "60e8495c1699f6f4d4046a3394b1eafdeefe6d64",
      "tree": "9d872cd7a3aaf1e87352e813e4a434ca25e03c6b",
      "parents": [
        "5ecf8dd55d13e21e0d3abc03b7372181e504748d",
        "ac127dc31bd071ed522f5cd48a910065756c8ded"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jan 22 18:08:23 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 22 18:08:23 2010 -0800"
      },
      "message": "Merge \"Add support for 180/270 degrees rotation.\""
    },
    {
      "commit": "ac127dc31bd071ed522f5cd48a910065756c8ded",
      "tree": "cfeba59fe0f2680256e38fb95a906e8b3ca5680b",
      "parents": [
        "7c45147f3537bc777a04545a6f0bc70550df5269"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jan 22 16:30:39 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jan 22 16:30:39 2010 -0800"
      },
      "message": "Add support for 180/270 degrees rotation.\n"
    },
    {
      "commit": "f226e9f27baa5a29aacffab87e0c0fc52d59fe13",
      "tree": "6e5c930152fbfbe66b757a956600255cf90759ef",
      "parents": [
        "a93e4591496d5415e4cf9412ae2dc54b05b4214b",
        "116e541eacde53f8c83e1136229d8653bad6bf61"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 22 11:52:08 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 22 11:52:08 2010 -0800"
      },
      "message": "Merge \"return an error when Surface::lock() is called while the surface is already locked.\""
    },
    {
      "commit": "116e541eacde53f8c83e1136229d8653bad6bf61",
      "tree": "ecd8217237bb75f16857bc206efc89161cffde0c",
      "parents": [
        "2d41cb9433ef3845560a252a5cf8226e1d78209a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 22 11:47:55 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 22 11:47:55 2010 -0800"
      },
      "message": "return an error when Surface::lock() is called while the surface is already locked.\n"
    },
    {
      "commit": "e1ceec234c618729cc7bd35fecb11744b52c1cc8",
      "tree": "d478c2160bfb90b429f13089a92d182ddf0b62e0",
      "parents": [
        "177b580f56e91bc5519b8772e696b14f8b5757e2"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jan 21 17:31:06 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jan 21 20:20:08 2010 -0800"
      },
      "message": "Add an orientation parameter for overlay, so we can do camera preview in portrait mode.\n"
    },
    {
      "commit": "2d41cb9433ef3845560a252a5cf8226e1d78209a",
      "tree": "17e90268c8669ce664baf31fee77de124f795b48",
      "parents": [
        "a1a1798599361f5f1db8fe612606323c801f4f6c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 21 16:04:56 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 21 16:29:34 2010 -0800"
      },
      "message": "fix [2324665] texture leak in surfaceflinger when using camera\n"
    },
    {
      "commit": "a1a1798599361f5f1db8fe612606323c801f4f6c",
      "tree": "4915d622048e70b4b0093f4b073795793a69dc1c",
      "parents": [
        "04ce08f34e39928a5b8e9ea59134f255c9ff08f6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 21 16:27:30 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 21 16:27:30 2010 -0800"
      },
      "message": "fix a texture leak introduced recently.\n\ncreate the texture name once and for all for a given BufferSource\nand make sure to recreate it when we\u0027re forced to delete the texture.\n"
    },
    {
      "commit": "e6b1bbd8acca3f6e174c24cf4eb23a66db2d08a2",
      "tree": "6f56ac4d7205d451885c5eaf258dd28b3d45f23f",
      "parents": [
        "8c166512a7e6ffaf87e41cd3a85d55993648fe9b"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jan 20 19:36:49 2010 -0800"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jan 20 19:56:24 2010 -0800"
      },
      "message": "Fix failure to open AVRCP input device due to EPERM.\n\nSleep for 100us and try to open the input device again if it fails, with a\nmaximum of 10 attempts.\n\nWe need the retry logic because setting permissions on a new input device is\nracy. The init process watches for new input device (via uevent) and sets the\npermission on them in devices.c:make_device(). However at the same time\nEventHub.cpp watches for new input devices from the system_server process, and\nimmediately tries to open them. I can\u0027t see a simple way to avoid this race\ncondition.\n\nAs best as I can tell this race condition has always exisited.\nThere must have been some timing change that happened recently that causes us\nto hit this race condition much more often. See repro notes in referenced bug.\n\nBug: 2375632\n"
    },
    {
      "commit": "973fbb1591b94c83fe1d62593c3e26eaf82741f3",
      "tree": "16b4b86276410f93501e236eea8df4ea60e592d1",
      "parents": [
        "6fb0f22b294f5ded0a60e49e0725d38419fe89b2",
        "d23fa27630c3756216dc64cbb8518af49c60ce34"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 20 15:08:33 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 20 15:08:33 2010 -0800"
      },
      "message": "Merge \"fix [2363362] [Sapphire] Corrupted raw picture displayed during snapshot\""
    },
    {
      "commit": "6fb0f22b294f5ded0a60e49e0725d38419fe89b2",
      "tree": "eb669b6d99df1a39059f93f30863a9c075edbfb2",
      "parents": [
        "af07b591bbb39df30f6018c5a64791552a06ed00",
        "d2832fb4154771e42f7a4fdb8286ac85827ebe9d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 20 15:08:27 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 20 15:08:27 2010 -0800"
      },
      "message": "Merge \"part of fix for [2363362] [Sapphire] Corrupted raw picture displayed during snapshot\""
    },
    {
      "commit": "af07b591bbb39df30f6018c5a64791552a06ed00",
      "tree": "5478d2d8470a956360a0d8514ff3a3370f519ec8",
      "parents": [
        "8be346429c18929d4c429b81a4b6fff9dce661b0",
        "b3699b14be3a3db1d75ea4c38853b0a53d14b1be"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Jan 20 14:35:52 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 20 14:35:52 2010 -0800"
      },
      "message": "am b3699b14: am 836e1666: Merge \"add drawSpriteScreenspaceCropped to renderscript\" into eclair\n\nMerge commit \u0027b3699b14be3a3db1d75ea4c38853b0a53d14b1be\u0027\n\n* commit \u0027b3699b14be3a3db1d75ea4c38853b0a53d14b1be\u0027:\n  add drawSpriteScreenspaceCropped to renderscript\n"
    },
    {
      "commit": "d23fa27630c3756216dc64cbb8518af49c60ce34",
      "tree": "446109f0bc9c55db46a32845cfe1dec38841d3fe",
      "parents": [
        "d2832fb4154771e42f7a4fdb8286ac85827ebe9d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 20 14:31:53 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 20 14:31:53 2010 -0800"
      },
      "message": "fix [2363362] [Sapphire] Corrupted raw picture displayed during snapshot\n\nhandled all cases where the scale factor of a video is out of bounds of\nsupported scale factors in copybit.\n"
    },
    {
      "commit": "d2832fb4154771e42f7a4fdb8286ac85827ebe9d",
      "tree": "2f3fa8a8835a53a2fa2f054f6c14673440baa88e",
      "parents": [
        "3bc0346b3da584fcb529807b697ff6a22af18bb4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 20 13:56:07 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 20 14:07:44 2010 -0800"
      },
      "message": "part of fix for [2363362] [Sapphire] Corrupted raw picture displayed during snapshot\n\nmake sure to fallback properly to software when copybit operation fails.\nwith this change, the preview image will at least be displayed in b\u0026w\n(since GL doesn\u0027t support the yuv format). This would also fix\n2363506, but that one is now handled more cleanly.\n"
    },
    {
      "commit": "3bc0346b3da584fcb529807b697ff6a22af18bb4",
      "tree": "8e6283d51c24bb4e56d8b4fb171d36fb6bb714c7",
      "parents": [
        "06b3ff7d5a7903d6804d295110820c121629ee4d",
        "7323e545c8778beb6736a09a5d2c9f81b451e13f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 20 13:44:53 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 20 13:44:53 2010 -0800"
      },
      "message": "Merge \"fix [2363506] [Sapphire] Video playback broken\""
    },
    {
      "commit": "7323e545c8778beb6736a09a5d2c9f81b451e13f",
      "tree": "fe646ab161afb72a497b4fb5823a4eabfc6374a9",
      "parents": [
        "425500913aee9885a0f2de1dc5de82910035091e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 20 13:24:14 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 20 13:24:14 2010 -0800"
      },
      "message": "fix [2363506] [Sapphire] Video playback broken\n\ndon\u0027t try to use copybit for incompatible buffers\n"
    },
    {
      "commit": "243bf50e1e582d280829bc0e16bfb6d43c70c32f",
      "tree": "0ee121149b0daf1ab7cd5d0b791361e614899be7",
      "parents": [
        "d738a4d3942ebf56a34d37772228014ec5c2fbdd",
        "cef3cd79489fa7897ffbacbc4e435651fb04f10d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 20 10:03:36 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 20 10:03:36 2010 -0800"
      },
      "message": "Merge \"Create base class for audio policy manager.\""
    },
    {
      "commit": "e20e3b41db0bc8bb68f40e8a60b351933028ffd6",
      "tree": "ccefcc3fe0b359c08a862a83ae96d2419aac6d78",
      "parents": [
        "fc35343cfe29e32301df941c3a3dfd5458e32395"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 19 17:53:54 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 19 17:53:54 2010 -0800"
      },
      "message": "Fix RS mipmap generation for 8 bit alpha textures.\n"
    },
    {
      "commit": "6656c1be2b2f5d266645742e6d4c7f910b3f30b3",
      "tree": "0e22cefd8e9196617292bf95330615484f410046",
      "parents": [
        "5e083024269e7c5bf904301a98fa6eade6fec094"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jan 14 15:59:35 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jan 14 16:00:04 2010 -0500"
      },
      "message": "add drawSpriteScreenspaceCropped to renderscript\n"
    },
    {
      "commit": "22550a19431919915a1cb454fcc1ffa5d5b6eb5c",
      "tree": "1a008703aea95e5c5ba45c1eae986b169042bbb1",
      "parents": [
        "52952b1bcab28f655775efbad8f2e2b41d06a34b",
        "e17e365b71030ff2d839c63ac6e5d044b4b15773"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 13 14:54:20 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 14:54:20 2010 -0800"
      },
      "message": "Merge \"Remove excessive logging, fix error in GLSL uniform generation.\""
    },
    {
      "commit": "e17e365b71030ff2d839c63ac6e5d044b4b15773",
      "tree": "cd695af26a1de783afafd45c7f237a35b11a63a3",
      "parents": [
        "ea87e96959895ef94cc3aa9576f41a660d2bbf03"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 13 14:52:46 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 13 14:52:46 2010 -0800"
      },
      "message": "Remove excessive logging, fix error in GLSL uniform generation.\n"
    },
    {
      "commit": "cef3cd79489fa7897ffbacbc4e435651fb04f10d",
      "tree": "fd0d5f2763f08b01314ec7015c0a2e027e916c20",
      "parents": [
        "a77f93f76a40128ecc3d017ead6d1105f96b282a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 10 01:03:50 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 13 09:25:13 2010 -0800"
      },
      "message": "Create base class for audio policy manager.\n\nFirst implementations of audio policy manager in Eclair branch have shown that most code is common to all platforms.\nCreating AudioPolicyManagerBase base class will improve code maintainability and readability.\n\nAudio policy manager code for platforms using generic audio previously in AudioPolicyManagerGeneric is replaced by AudioPolicyManagerBase.\nAudio policy manager test code previously in AudioPolicyManagerGeneric is moved to AudioPolicyManagerBase.\n\nAlso added a wake lock for delayed commands in AudioPolicyService.\n"
    },
    {
      "commit": "b9c56e39689e650afcebed4da38ad79c7b6cfcdf",
      "tree": "895cf93edd31343c6894a7d32ffee75fe0c32dcc",
      "parents": [
        "9643b1e49c31c13fe0ac4bd9d8bb39e5859287f2",
        "ea87e96959895ef94cc3aa9576f41a660d2bbf03"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 12 15:39:57 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 12 15:39:57 2010 -0800"
      },
      "message": "Merge \"Implement type generation for user uniforms in vertex shader.\""
    },
    {
      "commit": "ea87e96959895ef94cc3aa9576f41a660d2bbf03",
      "tree": "651c5131fada7c1a2ab55c71e3d6b71901f0832c",
      "parents": [
        "917cd4fcda61c63429d73639284f34bb85c97f37"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 12 12:12:28 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 12 12:12:28 2010 -0800"
      },
      "message": "Implement type generation for user uniforms in vertex shader.\n"
    },
    {
      "commit": "980a938c1c9a6a5791a8240e5a1e6638ab28dc77",
      "tree": "75a3a1347b5423cc98859d3976076cea3dc22564",
      "parents": [
        "0a0289420227fee51406cf4cc508f09d8ecdd2f4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:06:28 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:11:38 2010 -0800"
      },
      "message": "Deprecate fill_parent and introduce match_parent.\nBug: #2361749.\n"
    },
    {
      "commit": "f5d95cbc1a6974afeb4d3155bdaa8dae55722a39",
      "tree": "a999860303c704ecfd8ac0848a005fc0b8447dc3",
      "parents": [
        "51d3e798985944a3be1aafb1e01216a6627625e0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jan 07 21:48:32 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jan 08 15:46:24 2010 -0500"
      },
      "message": "less log spew\n"
    },
    {
      "commit": "917cd4fcda61c63429d73639284f34bb85c97f37",
      "tree": "d0daed9ee16db49a43e5d5b3de7fc7d7b02af5ae",
      "parents": [
        "6286953eced16648d18e1efc57c3b089c49b5608"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jan 07 16:25:08 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jan 07 16:26:42 2010 -0800"
      },
      "message": "Fix npot but where mipmap level sizes were rounding in the wrong direction.  Should always be floor.\n"
    },
    {
      "commit": "6286953eced16648d18e1efc57c3b089c49b5608",
      "tree": "e2e683664592acd3d8571a9d1e86395cc636503c",
      "parents": [
        "edc5189c33de03f3e2f5f73edc0e007992b933c9"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jan 07 15:40:45 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jan 07 16:26:42 2010 -0800"
      },
      "message": "Change user attribs to look for empty slot rather than using them in order.  Prevents conflict with numbered legacy slots.\n"
    },
    {
      "commit": "74e02ef2000ff2783e526d6916e2f0b5d517593e",
      "tree": "cd25a361e97f0991b8222096623b23c2e58b2775",
      "parents": [
        "5e3f6caeb08c54fb79f427a528e084711652bbdb"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 06 15:10:29 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 06 15:10:29 2010 -0800"
      },
      "message": "Support npot on es 2.0 HW.\n"
    },
    {
      "commit": "a09a6e145b778861f7abee86ce17e59507ed221e",
      "tree": "15221ba7d657a5a75ec3f6ae2804c1b79a07a969",
      "parents": [
        "432bff01ec67533dbbb6ed27cb190c99e83ea226"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 06 11:57:52 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 06 12:01:51 2010 -0800"
      },
      "message": "More complete support for named attribs.  Adds user typed attribs as available to programVertex.  Non user attribs are not treated like user for GL2 for simplicity.\n"
    },
    {
      "commit": "ca328e70ed7a64b42b24fc3ca35149aec173d0b8",
      "tree": "b39905f661cc87274fc0cf22a5b026833e03c405",
      "parents": [
        "5aded76004408491dbaeb12e183359f9ecfe7412"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 05 11:09:50 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 05 11:40:22 2010 -0800"
      },
      "message": "explicit set an \"optional\" tag\n"
    },
    {
      "commit": "e17964e150e459bacced5658ae36fe1c56082e37",
      "tree": "d9a3f9bf24dcc509d8475e978c262d702cfb0bf3",
      "parents": [
        "7d46f612a25fc9f190358e9bd807b71d424ce7d2"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jan 04 16:52:27 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jan 04 16:52:27 2010 -0800"
      },
      "message": "Add RS support for generic attribs as input to vertex programs.\n"
    },
    {
      "commit": "7d46f612a25fc9f190358e9bd807b71d424ce7d2",
      "tree": "cb58b4fa0f0870bf79a23c4155306893439f42c8",
      "parents": [
        "718cd1f322ee5b62b6a49cb36195bcb18a5ab711"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 23 14:56:19 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 23 14:56:19 2009 -0800"
      },
      "message": "Disable excessive RS logging.\n"
    },
    {
      "commit": "718cd1f322ee5b62b6a49cb36195bcb18a5ab711",
      "tree": "f2f8c9db5a8141eafa2f1547634d7586fdc6ef04",
      "parents": [
        "ceedafacdb87307234c84196a12eeb6e657d6220"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 23 14:35:29 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 23 14:35:29 2009 -0800"
      },
      "message": "Element restructuring.  Add support for new basic Element types including the RS objects and vectors(2-4).  In theory this paves the way for maintaining type info for RS objects, passing elements for GLSL uiforms/attribs/varyings, and supporting nested structures.\n\nThis will break some apps, checkings for other projects will follow to unbreak them.\n"
    },
    {
      "commit": "b9a44165c765524ce4eaa822e7764a0af5ac9c83",
      "tree": "7d68e1359c72688d573d86badeb59e2b2ae7216f",
      "parents": [
        "fddd8f96f34b622cbdd0d891f8a7f5b7e18fdbf8",
        "0c5cc224b052654ee38d39effce427a47697481b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 10:01:39 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 22 10:01:39 2009 -0800"
      },
      "message": "am 0c5cc224: am d20a55af: Merge change Iccfa50fe into eclair\n\nMerge commit \u00270c5cc224b052654ee38d39effce427a47697481b\u0027\n\n* commit \u00270c5cc224b052654ee38d39effce427a47697481b\u0027:\n  Fix issue 2323920: Notification \u0026 A2DP audio stutter.\n"
    },
    {
      "commit": "8ac9f8d1c708dc8bb853f7697f10051031eb73c5",
      "tree": "fa01ca6b36a08093fa24668723c17ff1189513c1",
      "parents": [
        "e4c2a37624612c9708d0767f8643a10502e6887a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 18 05:47:48 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 09:06:46 2009 -0800"
      },
      "message": "Fix issue 2323920: Notification \u0026 A2DP audio stutter.\n\nModified AudioFlinger duplicating output thread so that audio tracks are not mixed until both outputs (A2DP and hardware) have exited standby mode. This avoids to have one output far ahead of the other and audio frames dropped because the compensation mechanism cannot keep up.\nAlso calculate the maximum wait time in OutputTrack::write() based the on smallest frame count of all output threads instead of the frame count of the thread the OutputTrack is connected to. This avoids starving the thread with the smallest frame count by waiting too long on the other thread.\nSince the frame count was reduced on hardware output to reduce latency the difference between A2DP and hardware outputs frame counts had become problematic.\nAlso increased the number of overflow buffers to cope with bigger timing differences among outputs.\n"
    },
    {
      "commit": "68afd01ec9fd37774d8291192952a25e5605b6fb",
      "tree": "b75c5b23b57446285d9c14a5d789722b916ea1e8",
      "parents": [
        "8bb41dd61474e977aa61048ba8f733a984a3b22d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 17 16:55:08 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 17 16:55:08 2009 -0800"
      },
      "message": "Move texture bindings to base program object.  Change ProgramFragment creation to require a texture format in 1.0 mode.\n"
    },
    {
      "commit": "7b7f29a35ce15d682ff688ea11b5a516075131f3",
      "tree": "58a41d51b5f73fe21eaf4a98e1431913cff1f3ab",
      "parents": [
        "ce9adcce02ef528cf5a65c3650099aa54ebb712a"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 16 14:24:17 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 16 14:24:17 2009 -0800"
      },
      "message": "Fix live wallpaper many.  Z coordinate was being ignored for draw quad call.\n"
    },
    {
      "commit": "ce9adcce02ef528cf5a65c3650099aa54ebb712a",
      "tree": "0f7a423d186d588d0324ed6c9c5b7524e06bac44",
      "parents": [
        "5dad8b4d1fda37b7b4763ef7361c5eb92131cb7e"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 16 14:13:06 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Dec 16 14:13:06 2009 -0800"
      },
      "message": "Fix emulated glColor in es2 mode.\n"
    },
    {
      "commit": "5dad8b4d1fda37b7b4763ef7361c5eb92131cb7e",
      "tree": "1cd2619209c2c459ceba2bb5243594e3fabc1bea",
      "parents": [
        "d6542507e73e1d7f3380cb4657a0745772818002"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 19:10:11 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 19:10:11 2009 -0800"
      },
      "message": "Place shader logging behind prop to declutter logs.\n"
    },
    {
      "commit": "7e5ab3b177b10fee304d011b3a4b9ee03e2b18b5",
      "tree": "87e037e70a81ed8d250eff1c20ae8f799c62c7c6",
      "parents": [
        "b686ec70445226d3f865b6e838b3f2cdf034ca31"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 13:27:04 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 13:27:04 2009 -0800"
      },
      "message": "Continue es2 shader dev\n\nConflicts:\n\n\tgraphics/java/android/renderscript/Program.java\n\tgraphics/java/android/renderscript/ProgramVertex.java\n"
    },
    {
      "commit": "0011bcf57ff711a221a3a4c73f2a79125111647d",
      "tree": "e2030624a41f8c6f07856841d98bc088b1cb2640",
      "parents": [
        "11fbdf50206abc9d21fd72ce7536648f083b9148"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 12:58:36 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Dec 15 12:58:36 2009 -0800"
      },
      "message": "Continue development of es2.0 user shader support for renderscript.  This change cleans up ProgramVertex creation and adds support for passing input, output, and constant type info.\n"
    },
    {
      "commit": "3b7d39bb51f851ddee441fa34884495217e477f9",
      "tree": "ae1568c9e64155d2d164a5f80910145d603d772e",
      "parents": [
        "97f2578e8cf154ba08f2f4219a8ff1cd97613192"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Dec 14 12:57:40 2009 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Dec 14 12:59:49 2009 -0800"
      },
      "message": "Implement RS tracked defered texture and buffer object uploads.\n"
    },
    {
      "commit": "0ba88469102c8fc7af3bbacfb96789aed194bc6c",
      "tree": "0e8435f342067e5185141529880c467ec259397e",
      "parents": [
        "7a4fb7376b6819f609b8f462c56329eff50fcb6d",
        "2378f1413426987ccfe9d6ed5f856bb01c9d7c30"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 06:30:53 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 11 06:30:53 2009 -0800"
      },
      "message": "am 2378f141: am b63d91c6: am f9b0e826: fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly\n\nMerge commit \u00272378f1413426987ccfe9d6ed5f856bb01c9d7c30\u0027\n\n* commit \u00272378f1413426987ccfe9d6ed5f856bb01c9d7c30\u0027:\n  fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly\n"
    },
    {
      "commit": "57e9a3fa2f2f955343be3c04aeb08de742acac8c",
      "tree": "89f4ff3f9cb941d87fe119c929f994e91fe8a06b",
      "parents": [
        "24a4f2224bf88945fc3ae6a284bb01ba0ba5d83b",
        "871f9de3554ccfd2028837dea97b76fcaf5ffedb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 01:39:53 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 11 01:39:53 2009 -0800"
      },
      "message": "am 871f9de3: am 02472639: am 083a557c: fix [2319255] crash in openGL : from the media recorder stress test.\n\nMerge commit \u0027871f9de3554ccfd2028837dea97b76fcaf5ffedb\u0027\n\n* commit \u0027871f9de3554ccfd2028837dea97b76fcaf5ffedb\u0027:\n  fix [2319255] crash in openGL : from the media recorder stress test.\n"
    },
    {
      "commit": "b63d91c6fc90ee8f71bad9380b45dfe6b5d96f57",
      "tree": "f3aec3ab490d1e3f7a93a0e875ba2c855893f0d7",
      "parents": [
        "8fb0faf3cc2f792db8cf38fe5ab67c5eab7baa5c",
        "f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 01:16:08 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 11 01:16:08 2009 -0800"
      },
      "message": "am f9b0e826: fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly\n\nMerge commit \u0027f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2\u0027 into eclair-mr2\n\n* commit \u0027f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2\u0027:\n  fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly\n"
    },
    {
      "commit": "f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2",
      "tree": "3754aea1ac6f237145cddaadd66fba56d8abd939",
      "parents": [
        "7eb6ec1f44ade4c7bf3d23cbcfe29a17bbd940b1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 00:56:10 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 11 00:56:10 2009 -0800"
      },
      "message": "fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly\n\nWhen a surface is removed from the screen while it holds a \"freeze lock\", the\nrelease of that lock happens in the destructor as a \"safety net\". However, it\ndoesn\u0027t trigger an update at that point.\n\nMake sure that \"freeze locks\" are released from the transaction at the point\na surface is removed from the screen (if it\u0027s not on screen, it shouldn\u0027t\nprevent the screen to redraw, and therefore cannot hold a freeze lock).\nThe refresh corresponding to that transaction will pick it up as soon as possible.\n"
    },
    {
      "commit": "24a4f2224bf88945fc3ae6a284bb01ba0ba5d83b",
      "tree": "e98addcfa49f7f2651ce3f817474e708d011b357",
      "parents": [
        "28b811144eb47ab446ed2cf5fc5cfa793e38c822",
        "1e1d44924a334637f9fb47ca8796625bd86cb66a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 10 23:46:34 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 23:46:34 2009 -0800"
      },
      "message": "am 1e1d4492: am 218aa945: Merge change I6478884a into eclair-mr2\n\nMerge commit \u00271e1d44924a334637f9fb47ca8796625bd86cb66a\u0027\n\n* commit \u00271e1d44924a334637f9fb47ca8796625bd86cb66a\u0027:\n  Add string resource type inspection\n"
    },
    {
      "commit": "55e070baa145ca8fdd2bd724ab8b54844e01baef",
      "tree": "6bc3ed5057722d49de5f0ca8833dc8d3a3d548a6",
      "parents": [
        "595acee989c68e01142b7449144840b36ec9ab0e",
        "abcb37038a4981e935e516dd4d56cecd1f6fcb39"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 23:42:13 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 23:42:13 2009 -0800"
      },
      "message": "am abcb3703: am 75ca58d6: am 76169da0: fix [2315900] Monochrome camera preview screen after launching camera\n\nMerge commit \u0027abcb37038a4981e935e516dd4d56cecd1f6fcb39\u0027\n\n* commit \u0027abcb37038a4981e935e516dd4d56cecd1f6fcb39\u0027:\n  fix [2315900] Monochrome camera preview screen after launching camera\n"
    },
    {
      "commit": "024726391ad1536c5fa4af3f786141e200efed54",
      "tree": "c91d6d1401f55fdc9d9259be9708a9ac4ca2969b",
      "parents": [
        "218aa94581293876a4283f8d5908843c8f818e3a",
        "083a557c25e0032bc4900f335b6643d0badd09ce"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 19:48:05 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 19:48:05 2009 -0800"
      },
      "message": "am 083a557c: fix [2319255] crash in openGL : from the media recorder stress test.\n\nMerge commit \u0027083a557c25e0032bc4900f335b6643d0badd09ce\u0027 into eclair-mr2\n\n* commit \u0027083a557c25e0032bc4900f335b6643d0badd09ce\u0027:\n  fix [2319255] crash in openGL : from the media recorder stress test.\n"
    },
    {
      "commit": "218aa94581293876a4283f8d5908843c8f818e3a",
      "tree": "b76fdd7443fc8055786b7461701ab027a0e195d6",
      "parents": [
        "9de0dba37cdb74a21e561c5235757318f1812e3d",
        "bb79f64b89bd7be7019035a0347c681e6f39fe6b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 18:05:19 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 18:05:19 2009 -0800"
      },
      "message": "Merge change I6478884a into eclair-mr2\n\n* changes:\n  Add string resource type inspection\n"
    },
    {
      "commit": "75ca58d6f877541516f4f2710b4bed39fa7c4266",
      "tree": "be55b2cc1e100589fa765c1d7042cab519126acd",
      "parents": [
        "6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b",
        "76169da0e84b0fcf621aeac6141af3ee85bc7c1e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 17:40:41 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 17:40:41 2009 -0800"
      },
      "message": "am 76169da0: fix [2315900] Monochrome camera preview screen after launching camera\n\nMerge commit \u002776169da0e84b0fcf621aeac6141af3ee85bc7c1e\u0027 into eclair-mr2\n\n* commit \u002776169da0e84b0fcf621aeac6141af3ee85bc7c1e\u0027:\n  fix [2315900] Monochrome camera preview screen after launching camera\n"
    },
    {
      "commit": "aad442ec278e6528bf1b96bd02c05d2914d033f9",
      "tree": "4c69dc9b6c5f58c6131deb2a4b743d16b07dd4b5",
      "parents": [
        "54db799ada726ccfffc94c5bb4e33e895bfb25b8",
        "b62954b66542e3e2654d97a81123c51805bceca7"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 10 17:15:13 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 17:15:13 2009 -0800"
      },
      "message": "am b62954b6: am 8f31c230: am 57ce0888: Merge change Id22c0137 into eclair\n\nMerge commit \u0027b62954b66542e3e2654d97a81123c51805bceca7\u0027\n\n* commit \u0027b62954b66542e3e2654d97a81123c51805bceca7\u0027:\n  Throttle low priority RS threads by sleeping once per frame to avoid starving other apps.\n"
    },
    {
      "commit": "54db799ada726ccfffc94c5bb4e33e895bfb25b8",
      "tree": "3f19b80d40e538ce3b1d26ee5bd42e53da628707",
      "parents": [
        "80ffd8c5ae598c679ff491e7a7168ef96fe54c45",
        "d1b8019a69d186df74f072cc51b413e34c3016f4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 17:15:02 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 17:15:02 2009 -0800"
      },
      "message": "am d1b8019a: am ae5bd2b9: am d8c752ef: Merge change Ib548dbb2 into eclair\n\nMerge commit \u0027d1b8019a69d186df74f072cc51b413e34c3016f4\u0027\n\n* commit \u0027d1b8019a69d186df74f072cc51b413e34c3016f4\u0027:\n  improve video performance to minimize the tearing effect seen in 720p movies\n"
    },
    {
      "commit": "8f31c23021a3f8164eee08cf904c3f083ddfc3d2",
      "tree": "e8a04c30bad81e1b6ea73e896905ec2b04cbd4a0",
      "parents": [
        "ae5bd2b9cc36a21b890ded808d9374ab02364d1d",
        "57ce0888fcb1376b385c3dab5e4262793acaaf16"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Dec 10 16:45:22 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 16:45:22 2009 -0800"
      },
      "message": "am 57ce0888: Merge change Id22c0137 into eclair\n\nMerge commit \u002757ce0888fcb1376b385c3dab5e4262793acaaf16\u0027 into eclair-mr2\n\n* commit \u002757ce0888fcb1376b385c3dab5e4262793acaaf16\u0027:\n  Throttle low priority RS threads by sleeping once per frame to avoid starving other apps.\n"
    },
    {
      "commit": "ae5bd2b9cc36a21b890ded808d9374ab02364d1d",
      "tree": "2d53d20f33e74c6f9c439aa83280c2d760938fc0",
      "parents": [
        "326d808b858359464b2ffeb84f2e0a8e0c79b600",
        "d8c752ef74bc6d8b412defe35caf1a19be15eb8b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 16:43:09 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 16:43:09 2009 -0800"
      },
      "message": "am d8c752ef: Merge change Ib548dbb2 into eclair\n\nMerge commit \u0027d8c752ef74bc6d8b412defe35caf1a19be15eb8b\u0027 into eclair-mr2\n\n* commit \u0027d8c752ef74bc6d8b412defe35caf1a19be15eb8b\u0027:\n  improve video performance to minimize the tearing effect seen in 720p movies\n"
    },
    {
      "commit": "083a557c25e0032bc4900f335b6643d0badd09ce",
      "tree": "9857c00ce37ca5faa422d7c710f7175b0cd3ff9e",
      "parents": [
        "b9b45a5e26ed020a39a507a173d9f29e336cf989"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 15:52:29 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 10 15:59:08 2009 -0800"
      },
      "message": "fix [2319255] crash in openGL : from the media recorder stress test.\n\nnever call eglCreateImageKHR() with a NULL native buffer, which can\nhappen in OOM conditions.\n"
    },
    {
      "commit": "bb79f64b89bd7be7019035a0347c681e6f39fe6b",
      "tree": "d938e21a91d0d71dba49f89e36920f6654284536",
      "parents": [
        "159f0015418955501d8cf2744b0393db2e73f394"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 10 14:20:15 2009 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 10 14:22:08 2009 -0800"
      },
      "message": "Add string resource type inspection\n\nAllows \"aapt dump --values resource\" to print out whether a string in a\nResStringPool is in UTF-8 or UTF-16 encoding.\n\nChange-Id: I6478884a70a3b46fee862dece6cb33454fc34843\n"
    },
    {
      "commit": "8415afdb706c94cc297195a0dd5b5a62726d66e4",
      "tree": "3de02552f3dac9ab30937003dfd1e69051d765e0",
      "parents": [
        "b2b4a3cc7815b7132af8e48839b3779a38c6db6a",
        "ea483723b3cc630cf5b5b6fda7b08d9592bdbbde"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 10 09:20:51 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 09:20:51 2009 -0800"
      },
      "message": "am ea483723: am 9fbb534e: Merge change Iafbeb31b into eclair-mr2\n\nMerge commit \u0027ea483723b3cc630cf5b5b6fda7b08d9592bdbbde\u0027\n\n* commit \u0027ea483723b3cc630cf5b5b6fda7b08d9592bdbbde\u0027:\n  Maybe really fix windows build.\n"
    }
  ],
  "next": "02909d44d5b283991bdd392fcccae12986ddc6c1"
}
