)]}'
{
  "log": [
    {
      "commit": "8683fca395d01734ec7946e9f0595ec5d7b754c6",
      "tree": "fe3f6b92245be46902760c129e395c94589b9895",
      "parents": [
        "e57f292595bec48f65c8088b00ff6beea01217e9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Aug 12 19:37:16 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 13 02:46:05 2012 -0700"
      },
      "message": "improve [un]marshalling of non-binder objects\n\nthis change introduces a new class LightFlattenable\u003c\u003e which is\na protocol to flatten simple objects that don\u0027t require\nbinders or file descriptors; the benefit of this protocol is that\nit doesn\u0027t require the objects to have a virtual table and give us\na consitant way of doing this.\n\nwe also introduce an implementation of this protocol for\nPOD structures, LightFlattenablePod\u003c\u003e.\n\nParcel has been update to handle this protocol automatically.\n\nSensor, Rect, Point and Region now use this new protocol.\n\nChange-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a\n"
    },
    {
      "commit": "e57f292595bec48f65c8088b00ff6beea01217e9",
      "tree": "2db8aac9c9056e099ad70d7ce70eb0ac7a8223ae",
      "parents": [
        "ef7b9c7eac036cc1230c64821039d18f8cbd2c1c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 09 16:29:12 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 10 17:32:33 2012 -0700"
      },
      "message": "make multi-display more real\n\n- displays are represented by a binder on the client side\n- c++ clients can now create and modify displays\n\nChange-Id: I203ea5b4beae0819d742ec5171c27568f4e8354b\n"
    },
    {
      "commit": "3165cc21cfea781988407b19bd83292b19f05f55",
      "tree": "c15822a2e6e291d2b33bffb31769b4c2ec003d20",
      "parents": [
        "1e26087493ac0e7d7dc6dea8ad85cfef08b3271f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 08 19:42:09 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 10 13:18:24 2012 -0700"
      },
      "message": "libgui includes refactoring\n\nChange-Id: I1d24ec17f5003ec2abab5f7472daaff4cc4cc2d3\n"
    },
    {
      "commit": "69973992d531ae7df20916c6fb3034b08a6d53c4",
      "tree": "4d2110fe566da6598c9a1ac297cf4540497e20a8",
      "parents": [
        "599d48825f040c074027ffaf9e4b5490428adacb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 09 19:39:15 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 10 13:15:00 2012 -0700"
      },
      "message": "improve Vector\u003c\u003e safety checks\n\n- make errors that will always cause a memory corruption always fatal\n  (for eg: KeyedVector\u003c\u003e::editValue{For|At}() failure)\n- make other errors fatal in debug mode, those that can be caught by\n  the caller.\n- fix typos\n\nChange-Id: I65cc7d81035c37ce2906fc4500c50e5d5b5c49eb\n"
    },
    {
      "commit": "14bd369e4b711bfb267279c2161358542ed75b29",
      "tree": "638d97d8374ad43338d8ccf7b41c9a3e50bffe98",
      "parents": [
        "92516c84ef2a167524007a0584fb26018b5cb9c4",
        "45cb2ba1d52d81e20702b62610422fb09aaedeae"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 06 19:15:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 06 19:15:51 2012 -0700"
      },
      "message": "Merge changes Ic3d35a93,I46ec942d into jb-mr1-dev\n\n* changes:\n  SurfaceTexture: fix an out of bounds array access\n  surfaceflinger: refactor FrambufferSurface\n"
    },
    {
      "commit": "1a4d883dcc1725892bfb5c28dec255a233186524",
      "tree": "f62c82a907154a122adc89bdd2389f6797828975",
      "parents": [
        "028a7572c81f91e4039b694cde1f55fdb3e483c7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Aug 02 20:11:05 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 06 18:55:01 2012 -0700"
      },
      "message": "surfaceflinger: refactor FrambufferSurface\n\nThis change refactors the FramebufferSurface class to inherit from the new\nConsumerBase class.\n\nBug: 6620200\nChange-Id: I46ec942ddb019658e3c5e79465548b171b2261f2\n"
    },
    {
      "commit": "53095e25d69206bea1ac15a7382ab8b61155c0c1",
      "tree": "f641f279b761815507493003f851dc628362a748",
      "parents": [
        "028a7572c81f91e4039b694cde1f55fdb3e483c7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Aug 05 12:41:16 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Aug 05 12:41:16 2012 -0700"
      },
      "message": "libutils cleanup: remove unused or seldom used code from misc.{cpp|h}\n\nChange-Id: I72206f16619d81887e3b85603494563faab3b445\n"
    },
    {
      "commit": "92efd84f37ce5a8aae74dc9086f825a67b6894e9",
      "tree": "a943214d564f8f702491aeac0b21149a38dcf1b6",
      "parents": [
        "92a979a92c34b7de609ce2b1662c73bb8a2728b9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 02 21:27:56 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 03 13:22:58 2012 -0700"
      },
      "message": "screen-off animation won\u0027t be handled by SF anymore\n\nChange-Id: Idc41386804ae7d7eb981c36e1bc55c270870c8d0\n"
    },
    {
      "commit": "92a979a92c34b7de609ce2b1662c73bb8a2728b9",
      "tree": "cd480c10867c43b49b634ba712f0216ca915200f",
      "parents": [
        "fcb239d3dac8bc80f28177f1951611c1d43286ff"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 02 18:32:23 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 02 22:24:12 2012 -0700"
      },
      "message": "We now have a real list of displays.\n\ndisplays can be dynamically added or removed, and the\nlist is part of the SF\u0027s transaction.\n\nChange-Id: I4186ea39f1317c0e7c044f869004017738968fab\n"
    },
    {
      "commit": "747c480b0e3cf9401ff53421be6a82b23fdc04c2",
      "tree": "5dec2bd0b82021367c1707faaf11be7a0b4b719b",
      "parents": [
        "657ea79b623101bd0ae540267645ecfd9a3e07ba",
        "72a36d876d81f0336173bc92996570db96cabd96"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Sat Jul 28 09:55:54 2012 -0700"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Sat Jul 28 09:55:54 2012 -0700"
      },
      "message": "Merge remote-tracking branch \u0027goog/jb-dev-mako\u0027 into jb-mr1-dev\n\nConflicts:\n\tinclude/media/hardware/CryptoAPI.h\n\nChange-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e\n"
    },
    {
      "commit": "c666cae2d5995097ec49a87e375e2afdd92802b7",
      "tree": "235abd54f4c3c6ed2c6b59bbade55a6459f13ed8",
      "parents": [
        "028508cad5ef63ef9fbd42c14e76658e4fd9ebf2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 25 18:56:13 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 25 21:13:10 2012 -0700"
      },
      "message": "get rid of the shared-memory control block\n\nChange-Id: If814060aca1d2ff2619d4adcd57296983d207f7f\n"
    },
    {
      "commit": "8785578391eacd4192333d7b0ce3afedd7d163e6",
      "tree": "62249d4b8556b12eede54e09c9b5a5f34f9e52ec",
      "parents": [
        "8b33f032327f8de0dcc0e6d0d43ed80f834b51f6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 24 21:41:09 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 24 21:42:27 2012 -0700"
      },
      "message": "add a layerStack attribute to Layers.\n\nthis attribute can be set through a regular transaction using\nSurfaceComposerClient (just like any other attribute, eg: position or size)\n\nChange-Id: I701a47c677ea6442ca713728a93335328cd2b172\n"
    },
    {
      "commit": "8b33f032327f8de0dcc0e6d0d43ed80f834b51f6",
      "tree": "d6228a0088740fe5f5c73f405f353bffd121bbae",
      "parents": [
        "921e6ac4b7610a178285898d191eb0e3afe906c0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 24 20:43:54 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 24 20:43:54 2012 -0700"
      },
      "message": "update SF binder protocol to support setting display attributes\n\nno change of functionality -- the old behavior is implemented\non top of this new protocol.\nthis new protocol will allow, eventually, to pass informations\nabout displays and layer stacks.\n\nChange-Id: Ic6c2295e61ec8ecbc8ce01ab7664e35d928202fc\n"
    },
    {
      "commit": "074cd0c0765d1aec5a4ff5ac460f0685ae067fb1",
      "tree": "318371eaf5d0e59babc3338889b83e3d5731c742",
      "parents": [
        "df5cbd76224ea1facb7cfb499f4d522e55753774"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Jul 19 09:17:24 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Jul 19 16:06:21 2012 -0700"
      },
      "message": "Add elapsedRealtimeNano(), and use CLOCK_BOOTTIME where possible.\n\nChange-Id: I4231c8ca32663e6e2cb5b7c126d091f837373807\n"
    },
    {
      "commit": "e64a4035523aa5e15091a4b6b15612a5bcd1ad01",
      "tree": "38e0c067e759420bb366bb08539e13cf73049527",
      "parents": [
        "0bc64be3f5198f8dda1ced21bbc957a1d76efbb7"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jul 17 14:38:28 2012 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jul 17 15:17:02 2012 -0700"
      },
      "message": "Merge from jb-dev for \"sample video corruption in MediaCodec mode.\" DO NOT MERGE\n\njb-dev commit: fa2b8f243eb048fb2b8e5a14356190f69eb31a36\n\nChange-Id: Ic2a28663d25e3007c95e15ecbb0d44b820045f85\nrelated-to-bug: 6732061\n"
    },
    {
      "commit": "3ad182ff6343cf3fa997038163fac3e9957d0368",
      "tree": "32e13888403c771687455fc0ceea0f640c51d6a8",
      "parents": [
        "f0048f96040671c1597b157a36e4959a0662708e",
        "6d7e32c672189ef2b900fc5467dbf603f84dce54"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 16:18:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 16:18:23 2012 -0700"
      },
      "message": "Merge \"Remove unused layer flags.\""
    },
    {
      "commit": "6d7e32c672189ef2b900fc5467dbf603f84dce54",
      "tree": "31b3b887ced52674edef77d27cb0b2d07530a947",
      "parents": [
        "6501e9944df131b3b7e293007084735dfa217f24"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 16:05:50 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 16:05:50 2012 -0700"
      },
      "message": "Remove unused layer flags.\n\nChange-Id: Ia85365f18770a9a2c0a0e30ae56b6c2226d41be6\n"
    },
    {
      "commit": "fefad4367476aeda48970843f1741938a850e4cb",
      "tree": "5690f450041e885a5af3c548e26382e858411195",
      "parents": [
        "74bf0721471accbf604143e000f6c444d63d376b",
        "6501e9944df131b3b7e293007084735dfa217f24"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 15:53:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 15:53:12 2012 -0700"
      },
      "message": "Merge \"Remove freeze(), unfreeze() and setFreezeTint().\""
    },
    {
      "commit": "74bf0721471accbf604143e000f6c444d63d376b",
      "tree": "54e94c0ba48564f375cd2c13fe184bcfc09d1e69",
      "parents": [
        "85324d954674a556927f6afb2fc5827979d4d63e",
        "f9176a93a5c9061fe001c91bca50dd0a58d54f10"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 15:53:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 15:53:07 2012 -0700"
      },
      "message": "Merge \"Remove freezeDisplay(), which is no-op.\""
    },
    {
      "commit": "6501e9944df131b3b7e293007084735dfa217f24",
      "tree": "2849339f6af82a543c3e75edae089bd2c46b9e0e",
      "parents": [
        "f9176a93a5c9061fe001c91bca50dd0a58d54f10"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 15:38:18 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 15:38:18 2012 -0700"
      },
      "message": "Remove freeze(), unfreeze() and setFreezeTint().\n\nThis is all dead code.\n\nChange-Id: I646673aac793a6ec45021c370a2450f0ea4fbcce\n"
    },
    {
      "commit": "f9176a93a5c9061fe001c91bca50dd0a58d54f10",
      "tree": "f4b0455ebf6dc7f5a722917866e254934eff0c29",
      "parents": [
        "4bb0164f8ac26a71113f44b4d482cf8167b5b5ee"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 14:58:11 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 14:58:11 2012 -0700"
      },
      "message": "Remove freezeDisplay(), which is no-op.\n\nChange-Id: I2b70249a1545636fd6d98b58057b22f9529cad21\n"
    },
    {
      "commit": "85324d954674a556927f6afb2fc5827979d4d63e",
      "tree": "35270c7fa8b79882e9a9c5d122b03c393a858291",
      "parents": [
        "4bb0164f8ac26a71113f44b4d482cf8167b5b5ee",
        "647336c76e8da68fb44ca52ec14a8a2c6d5735bb"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jul 13 17:54:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 13 17:54:30 2012 -0700"
      },
      "message": "am 647336c7: am e0daeb39: Fixed sample video corrupted in MediaCodec mode.\n\n* commit \u0027647336c76e8da68fb44ca52ec14a8a2c6d5735bb\u0027:\n  Fixed sample video corrupted in MediaCodec mode.\n"
    },
    {
      "commit": "e0daeb3933e034f037630715e4cd2ecb3880498b",
      "tree": "ed265497973bc659ef3ccaa5e88fca6954f0a675",
      "parents": [
        "f455c9a267332960334794428c2abc5f716ee6ea"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jul 10 19:57:26 2012 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jul 13 11:34:10 2012 -0700"
      },
      "message": "Fixed sample video corrupted in MediaCodec mode.\n\nChange-Id: Ibe11a83199f3db1ba6266a1a9e11c7fc24ceb554\nrelated-to-bug: 6732061\n"
    },
    {
      "commit": "4fec873a98f7b4380720cd1ad006f74c8cdc73da",
      "tree": "5d21495a3f4e9f87bf20c6a3d3ea0db83cbe33c0",
      "parents": [
        "e7db724bed5d1e5086801df7705d9b1f2a071785"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 29 14:12:52 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 10 14:29:27 2012 -0700"
      },
      "message": "one more step towards multiple display support\n\n- remove dependency on cached state in validateVisibility\n- get rid of mVertices and mTransformedBounds\n- get rid of validateVisibility\n- get rid of unlockPageFlip\n- handleTransaction now returns a dirty region\n- computevisibileregion now uses window-manager space\n"
    },
    {
      "commit": "0bc64be3f5198f8dda1ced21bbc957a1d76efbb7",
      "tree": "4fa7dd1ad90ea500c918122c63a5d9019aafe9c9",
      "parents": [
        "07912f50930cf8cea2bc5f8f94e014c31af583b6"
      ],
      "author": {
        "name": "Naseer Ahmed",
        "email": "naseer@codeaurora.org",
        "time": "Fri Jun 29 12:02:32 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jul 09 22:04:19 2012 -0700"
      },
      "message": "libs/ui: Add support for triple framebuffers\n\nChange-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750\n"
    },
    {
      "commit": "dc5b485f74edf2d2f31c62054eb6c180421a3ade",
      "tree": "f33c9322cadc2895f0e0f28c1968d796c423c8c6",
      "parents": [
        "b42b1ac1587aebda5e2f334d95b620271fafba4e"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Jun 29 15:21:18 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sat Jun 30 21:38:51 2012 -0700"
      },
      "message": "Pass fence to HWC on first use of buffer\n\nAlso do a CPU-wait on the fence before using it for GL composition.\n\nChange-Id: I0f645a42a44803276cae11b904e5a26d65871562\n"
    },
    {
      "commit": "b42b1ac1587aebda5e2f334d95b620271fafba4e",
      "tree": "5852fb46f80587194d109b3baa04a91af443181b",
      "parents": [
        "c777b0b3b9b0ea5d8e378fccde6935765e28e329"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 28 14:27:53 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sat Jun 30 21:38:51 2012 -0700"
      },
      "message": "Return fence from acquireBuffer\n\nChange-Id: Iab22054c1dc4fd84affab3cc5bbdcd5a1e689666\n"
    },
    {
      "commit": "c777b0b3b9b0ea5d8e378fccde6935765e28e329",
      "tree": "83ef3d6288766dc474bb9a77ebc947b0857865df",
      "parents": [
        "02a7be74dd0c4eb47a522cb0f646736cb6d0de01"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 28 12:52:05 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sat Jun 30 21:38:51 2012 -0700"
      },
      "message": "Pass fences with buffers from SurfaceTextureClient\n\nChange-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3\n"
    },
    {
      "commit": "962174da0303d94180af7648faf90e112b851192",
      "tree": "f6b295d954514cfadb78e61411b69a30b56a8c6c",
      "parents": [
        "33264868ba0aaccb9d4b5e5a067a79a43633f6ec",
        "f9783af225aa3b41ec0af36f90941a714269abb7"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Jun 29 09:54:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 29 09:54:08 2012 -0700"
      },
      "message": "Merge \"Return fence to client in dequeuBuffer\""
    },
    {
      "commit": "f9783af225aa3b41ec0af36f90941a714269abb7",
      "tree": "6d6ff4e211848dddf2314da20cf27548b2bf83c6",
      "parents": [
        "b7c839b1103f72f8eb89fc0e19f7805969fc622f"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Jun 25 13:54:23 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 28 17:08:42 2012 -0700"
      },
      "message": "Return fence to client in dequeuBuffer\n\nChange-Id: Ic19750793ad993f0e85391f3cabd743ba565d4c9\n"
    },
    {
      "commit": "3094df359d1e6e2ae8ca4e935cc093f563804c96",
      "tree": "e103ad608725652ec640963481151b59432c7475",
      "parents": [
        "852db07d69352ec5f75e16a6e5059f05faabdaf5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 18 18:06:45 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 28 15:51:08 2012 -0700"
      },
      "message": "First prototype atttempting to support an external display\n\nboth API and implementation will change, this is just a prototype\nintended to show feasability.\n\nSurfaceFlinger is passed an ISurfaceTexture through a new\ncallback, it is in turn used to create an EGLSurface which\nsurfaceflinger will draw into in addition to the main screen.\n\nChange-Id: Id0bbb0b854bb7bae44d57246a90b65d4567f9a21\n"
    },
    {
      "commit": "f78575400977f644cf0b12beb2fa5fc278b6ed4c",
      "tree": "075c491472c6584c30920dbb26f8c97811e2f882",
      "parents": [
        "ef19414bd8b77a26f5751f3845be79025a8263fe"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 14 15:26:33 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 21 22:21:12 2012 -0700"
      },
      "message": "Pass fences from BufferQueue to SurfaceTextureClient\n\nISurfaceTexture::dequeueBuffer now returns the buffer\u0027s fence for the\nclient to wait on. For BufferQueue, this means passing it through\nBinder so it can be returned to the SurfaceTextureClient. Now\nSurfaceTextureClient is responsible for waiting on the fence in\ndequeueBuffer instead of BufferQueue: one step closer to the goal.\n\nChange-Id: I677ae758bcd23acee2d784b8cec11b32cccc196d\n"
    },
    {
      "commit": "ef19414bd8b77a26f5751f3845be79025a8263fe",
      "tree": "9624b3d718e065747bedff50cb969151d675a471",
      "parents": [
        "a74cbc06493ed941a8a54f2f1d0074f03fc9aafb"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 14 14:45:17 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 21 22:21:12 2012 -0700"
      },
      "message": "Transfer HWC release fences to BufferQueue\n\nAfter a HWC set, each SurfaceFlinger Layer retrieves the release fence\nHWC returned and gives it to the layer\u0027s SurfaceTexture. The\nSurfaceTexture accumulates the fences into a merged fence until the\nnext updateTexImage, then passes the merged fence to the BufferQueue\nin releaseBuffer.\n\nIn a follow-on change, BufferQueue will return the fence along with\nthe buffer slot in dequeueBuffer. For now, dequeueBuffer waits for the\nfence to signal before returning.\n\nThe releaseFence default value for BufferQueue::releaseBuffer() is\ntemporary to avoid transient build breaks with a multi-project\ncheckin. It\u0027ll disappear in the next change.\n\nChange-Id: Iaa9a0d5775235585d9cbf453d3a64623d08013d9\n"
    },
    {
      "commit": "07912f50930cf8cea2bc5f8f94e014c31af583b6",
      "tree": "f85c9fa40c4c50a7f2969ce3a9a70b9adff135f3",
      "parents": [
        "a67e418e1fda219f6cc0a7e420bcf5cc4f9fe710"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Jun 20 18:20:52 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Jun 21 15:26:38 2012 -0700"
      },
      "message": "Add vendor specific color format to OMX_IVCommon.h\n\n- Add Qualcomm specific color format to OMX_IVCommon.h\n\nChange-Id: I77a7196307d079348a50d7bb67c80cd2642a72df\n"
    },
    {
      "commit": "d8e812ce6fe9ae0388e98b08456e1d18b9498239",
      "tree": "49d694305ba98c49997e8d92ece28da939ad13ed",
      "parents": [
        "f25e183a70bd631f75dce51e85b7d568472a0cdb"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 13 16:32:25 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Jun 20 15:48:30 2012 -0700"
      },
      "message": "Update ANativeWindow clients for sync\n\nThis change updates the uses of ANativeWindow to use the new ANW functions that\naccept and return Sync HAL fence file descriptors.\n\nChange-Id: I3ca648b6ac33f7360e86754f924aa072f95242f6\n"
    },
    {
      "commit": "f25e183a70bd631f75dce51e85b7d568472a0cdb",
      "tree": "adeaf3920d889c4caffca6884d83bf6b0d9c0b3f",
      "parents": [
        "aa049f0d19684cf92f2f6510133a33138845dcd3"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 13 16:31:43 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Jun 20 15:48:30 2012 -0700"
      },
      "message": "libui: add the Fence class\n\nThis change adds the Fence class to libui for to wrap the libsync\nfunctionality.\n\nChange-Id: I93a31baeee608b93c14da807a32013dabf783f84\n"
    },
    {
      "commit": "db403e8ff0d7727015e1a5009bab20eb7ec205bc",
      "tree": "d3f1ecdf0c9aae3a7990b4c525a8bbfbd78d2592",
      "parents": [
        "d50fdb02091e7d258ed9701af5f57d1b2b15cd61"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 18 16:47:56 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 18 16:47:56 2012 -0700"
      },
      "message": "split-up Client.h out of SurfaceFlinger.h\n\nChange-Id: I1993bf23e417163749d886283563a93d50b361b4\n"
    },
    {
      "commit": "d3076aca0f6106dbc6c5a1588f560c62567752a4",
      "tree": "f8b5ef4959d8545e75500b1ec0d40851a55b5a85",
      "parents": [
        "b6d00dcf3e0c65b1642ad0011c1b4605b80a56e1",
        "3e87601170141229d661df93e2f59e1ced73474b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 15 15:34:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 15:34:55 2012 -0700"
      },
      "message": "Merge \"Implement SurfaceFlinger\u0027s ANW on top of BufferQueue\""
    },
    {
      "commit": "b6d00dcf3e0c65b1642ad0011c1b4605b80a56e1",
      "tree": "22ba520f4eec463242db90a11791712dea461368",
      "parents": [
        "3e8b853d67c737abdb363f9c978e7d83eac4d888",
        "0512af11f4b790fb032dc7c344dcdac527faf8ad"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 15 12:00:28 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 15 12:00:28 2012 -0700"
      },
      "message": "am 0512af11: am 16272efb: Add ASSIST keycode.\n\n* commit \u00270512af11f4b790fb032dc7c344dcdac527faf8ad\u0027:\n  Add ASSIST keycode.\n"
    },
    {
      "commit": "16272efb7af0692266fecdc53b2c6d995bf397b7",
      "tree": "3aa1d600d15795eedff127217b55804fe21980df",
      "parents": [
        "2d15fcab3e3588cfddb6c7b180faecd3eccce2e5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 15 11:46:11 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 15 11:46:11 2012 -0700"
      },
      "message": "Add ASSIST keycode.\n\nBug: 6594275\nChange-Id: I032b055207d16bfff93ee8a350c0dc52b9102926\n"
    },
    {
      "commit": "3e87601170141229d661df93e2f59e1ced73474b",
      "tree": "e079df58541938d0854cabb2a1394c221a2dc98f",
      "parents": [
        "04d7eaf138678ef591076ff02b896f93394bcfaf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 07 17:52:54 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 13 18:07:47 2012 -0700"
      },
      "message": "Implement SurfaceFlinger\u0027s ANW on top of BufferQueue\n\nSF now has its own implementation of ANW for the\nframebuffer and it uses BufferQueue. FramebufferNativeWindow\nis now only used by stand-alone apps.\n\nChange-Id: Iddeb24087df62bd92b0f78e391dda9b97ddc859c\n"
    },
    {
      "commit": "8e533069e5721e55cb9768e140e16546c3a4a8b6",
      "tree": "711922166d28d1eb8b4a38e1e0798b59f64ca405",
      "parents": [
        "1e339878c128ef47271278779c2685a8dfa49cd1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 07 13:17:52 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 07 16:28:30 2012 -0700"
      },
      "message": "surfaceflinger: replace early suspend with binder call from PowerManager\n\nSurfaceFlinger will no longer directly synchronize with early suspend.\nInstead, PowerManagerService will synchronize with SurfaceFlinger to\nensure that a black frame has been drawn on the display, and then\ntrigger all early suspend handlers.\n\nChange-Id: I07acdd628440d23fdb69db94319ec5d65d3f4919\n"
    },
    {
      "commit": "9a6b4c73face8005352fc0db1ecf09b2b8bdedcb",
      "tree": "70844ffb6345ad48449072a4b266436a5b2eb5a1",
      "parents": [
        "ad7b3760ced1c5ca40b3641e97911803810a839b",
        "d5085da3c0c103bba0c2c927382f7d414275b661"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 18:43:27 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 31 18:43:27 2012 -0700"
      },
      "message": "am d5085da3: am 4467bba7: Merge \"Support looper callbacks based on smart pointers.\" into jb-dev\n\n* commit \u0027d5085da3c0c103bba0c2c927382f7d414275b661\u0027:\n  Support looper callbacks based on smart pointers.\n"
    },
    {
      "commit": "ad7b3760ced1c5ca40b3641e97911803810a839b",
      "tree": "70c9adc10d3d8e4c62f1627697ef8b1dbbb2e5b8",
      "parents": [
        "27d928474d05c8cf976d9da88be876feda7e10f3",
        "805867612c0c11d3bb494cbf454cbb2de21a1b75"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 18:43:26 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 31 18:43:26 2012 -0700"
      },
      "message": "am 80586761: am dad23789: Merge \"Delete unused poll() code.\" into jb-dev\n\n* commit \u0027805867612c0c11d3bb494cbf454cbb2de21a1b75\u0027:\n  Delete unused poll() code.\n"
    },
    {
      "commit": "27d928474d05c8cf976d9da88be876feda7e10f3",
      "tree": "1c6ce97482e0d19380ab48f6b44006852a3c6761",
      "parents": [
        "1737e57a861326e96f3de19090975564f98a8fda",
        "dce1547d65877b89cec4e52ee8e5b39830911d00"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 18:43:26 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 31 18:43:26 2012 -0700"
      },
      "message": "am dce1547d: am 9e2e781a: Merge \"Remove unused statistics code.\" into jb-dev\n\n* commit \u0027dce1547d65877b89cec4e52ee8e5b39830911d00\u0027:\n  Remove unused statistics code.\n"
    },
    {
      "commit": "4467bba73a91161da01d5d969cf7ba3e2309d989",
      "tree": "6a55d3c7cdaead402555f9c3215f6007a321a906",
      "parents": [
        "dad2378911a244607afa3899928c429b340031cb",
        "af567f73ac828b9c319c12fd92760c4c92f0dfa4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 18:39:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 18:39:13 2012 -0700"
      },
      "message": "Merge \"Support looper callbacks based on smart pointers.\" into jb-dev"
    },
    {
      "commit": "dad2378911a244607afa3899928c429b340031cb",
      "tree": "b6f2ebb151ef8f4e234dc365486b469451572657",
      "parents": [
        "9e2e781acaead54d0fb095d55a1c44b32563248f",
        "588d5c8280c89c646aa7c8c54900225ee04176ea"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 18:39:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 18:39:06 2012 -0700"
      },
      "message": "Merge \"Delete unused poll() code.\" into jb-dev"
    },
    {
      "commit": "9e2e781acaead54d0fb095d55a1c44b32563248f",
      "tree": "e8b2dd30a5c35e371a43be9d527f5f901d9d0f81",
      "parents": [
        "e31564d8eb0ab67e167a888eccce20f5b4e4ef45",
        "1ea51bf519bdfc0e04daa88b8788f06105c5599b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 18:39:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 18:39:02 2012 -0700"
      },
      "message": "Merge \"Remove unused statistics code.\" into jb-dev"
    },
    {
      "commit": "af567f73ac828b9c319c12fd92760c4c92f0dfa4",
      "tree": "d96e75e7ebc76ca05bcbd785dfa730af408fd028",
      "parents": [
        "588d5c8280c89c646aa7c8c54900225ee04176ea"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 16:15:35 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 17:16:21 2012 -0700"
      },
      "message": "Support looper callbacks based on smart pointers.\n\nBug: 6559630\nChange-Id: I5a667f219f431838638acefbc9fa6afa610971bd\n"
    },
    {
      "commit": "1737e57a861326e96f3de19090975564f98a8fda",
      "tree": "acd09043f3ea4f596c9d8abe4dad373122c9c46f",
      "parents": [
        "1401ad526c62afafe1747aed94b51c177e593cce"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu May 31 15:49:43 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu May 31 15:57:39 2012 -0700"
      },
      "message": "Add camera as an ATRACE tag\n\nChange-Id: Ib4f22d593836c4b973d122efa114d359f1529914\n"
    },
    {
      "commit": "588d5c8280c89c646aa7c8c54900225ee04176ea",
      "tree": "677ef7ffe61f0536cbd56b1debde92ce985e284d",
      "parents": [
        "1ea51bf519bdfc0e04daa88b8788f06105c5599b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 30 19:21:12 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 30 19:21:12 2012 -0700"
      },
      "message": "Delete unused poll() code.\n\nWe don\u0027t need this code anymore and it is just in the way.\n\nBug: 6559630\nChange-Id: I1dc9decf85d5ea1feab159c2985da6c20baffdd5\n"
    },
    {
      "commit": "1ea51bf519bdfc0e04daa88b8788f06105c5599b",
      "tree": "51e1b1989ed3861eb36e90fdf2d0c20bd2e1d93c",
      "parents": [
        "e10824965c64663b8878b808206ee382c7ab6af8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 30 19:17:47 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 30 19:17:47 2012 -0700"
      },
      "message": "Remove unused statistics code.\n\nBug: 6559630\nChange-Id: Iacdf4bb4c1c125c09305cbd8cb443c7c80cfc010\n"
    },
    {
      "commit": "2466e402a054669ecda0d2b0dcb9cc08c4a9559a",
      "tree": "436d0e97446b87806ff52504b93a57196f0265f1",
      "parents": [
        "9f36ebdb5b68d680e13814fd5712c0d4ab9488ff",
        "584fcb3218e07d7b4cc0aeaef41faa4e891b45a4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 29 19:53:52 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 29 19:53:52 2012 -0700"
      },
      "message": "am 584fcb32: am 2c8207e9: add the ability to reject buffers in SurfaceTexture::updateTexImage\n\n* commit \u0027584fcb3218e07d7b4cc0aeaef41faa4e891b45a4\u0027:\n  add the ability to reject buffers in SurfaceTexture::updateTexImage\n"
    },
    {
      "commit": "2c8207e9627fe6c7a90e31fae8d71ae49df56845",
      "tree": "7a03095f78529e8b9f519530effce170b4921715",
      "parents": [
        "702634a4dad85cfc292618ac91eda6c00f42b7c5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 23 17:56:42 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 23 18:01:33 2012 -0700"
      },
      "message": "add the ability to reject buffers in SurfaceTexture::updateTexImage\n\nSurfaceFlinger is using this new feature to reject buffers that\ndon\u0027t have the right size.\n\nBug: 6498869\nChange-Id: I8a7250a47db6c082a357b703feb3b9d0fc8d3443\n"
    },
    {
      "commit": "a07d473c11da1389d4b5989577488f11f6d7cd61",
      "tree": "8013c74baf0ab5f4f191cde8fa5cc9ed6b06f504",
      "parents": [
        "a74eb25cbc42a9dde0df6b2303fda9027f77f393",
        "e804aa4819a764e1f3929f4c578e9a44593a1467"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 15 17:29:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 17:29:17 2012 -0700"
      },
      "message": "am e804aa48: Merge \"Move CameraParameters header to join rest of camera library.\" into jb-dev\n\n* commit \u0027e804aa4819a764e1f3929f4c578e9a44593a1467\u0027:\n  Move CameraParameters header to join rest of camera library.\n"
    },
    {
      "commit": "e804aa4819a764e1f3929f4c578e9a44593a1467",
      "tree": "8086b5c8b699c7982273628cef9daa4951a94027",
      "parents": [
        "dd73996552938ac5165a35f09d389abedcf421ef",
        "41caf6dff296488cbfedbf49f0a133ac4cf958b3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 15 17:21:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 17:21:33 2012 -0700"
      },
      "message": "Merge \"Move CameraParameters header to join rest of camera library.\" into jb-dev"
    },
    {
      "commit": "41caf6dff296488cbfedbf49f0a133ac4cf958b3",
      "tree": "dc5300265304a72f5f1da37b7b8b007ec3ca1193",
      "parents": [
        "bd1132249479e52ddd128171da24327358e2191c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 15 15:34:42 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 15 15:47:11 2012 -0700"
      },
      "message": "Move CameraParameters header to join rest of camera library.\n\nCameraParameters was moved over to frameworks/native before\nframeworks/av was created, since it is referenced by HAL\nimplementations. Move it to frameworks/av to keep it together with its\nimplementation.\n\nBug: 6500863\nChange-Id: Iffd890c861a334930da71a2722553572bad1cb54\n"
    },
    {
      "commit": "a74eb25cbc42a9dde0df6b2303fda9027f77f393",
      "tree": "e4c96e55f37147cfd3773400c343b3b42245c7ef",
      "parents": [
        "8d057994a0061f56614ff020a2af1d59c894a7d0",
        "dd73996552938ac5165a35f09d389abedcf421ef"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue May 15 11:44:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:44:04 2012 -0700"
      },
      "message": "am dd739965: Merge changes I32fbc2b6,Ifd0ed05b into jb-dev\n\n* commit \u0027dd73996552938ac5165a35f09d389abedcf421ef\u0027:\n  SurfaceFlinger: recompute visible regions less\n  libgui: remove setPostTransformCrop\n"
    },
    {
      "commit": "8d057994a0061f56614ff020a2af1d59c894a7d0",
      "tree": "d1b99f117796fa66b7fb76f8d3fbf53f63203e62",
      "parents": [
        "15e23859ba8dc3d64eb384b72521a834c86648dd",
        "bd1132249479e52ddd128171da24327358e2191c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 15 11:37:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:37:41 2012 -0700"
      },
      "message": "am bd113224: Merge \"Fix log spam about CPU frequency on one device\" into jb-dev\n\n* commit \u0027bd1132249479e52ddd128171da24327358e2191c\u0027:\n  Fix log spam about CPU frequency on one device\n"
    },
    {
      "commit": "15e23859ba8dc3d64eb384b72521a834c86648dd",
      "tree": "586db5f737f26645e7bbb5f2c26335f00358f89f",
      "parents": [
        "4c24461035ee99618cfd179fba826e4498e98979",
        "9cab4ca1ca74068e50192296badd0ae7a61f3927"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 15 11:37:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:37:41 2012 -0700"
      },
      "message": "am 9cab4ca1: Merge \"minor Rect.h cleanup\" into jb-dev\n\n* commit \u00279cab4ca1ca74068e50192296badd0ae7a61f3927\u0027:\n  minor Rect.h cleanup\n"
    },
    {
      "commit": "dd73996552938ac5165a35f09d389abedcf421ef",
      "tree": "d50e7843d5af1e61930e5cab02434f2cb2972029",
      "parents": [
        "bd1132249479e52ddd128171da24327358e2191c",
        "cbad735d8cc4ff360341bf12d8c388edcbc78ce3"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue May 15 11:33:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 11:33:42 2012 -0700"
      },
      "message": "Merge changes I32fbc2b6,Ifd0ed05b into jb-dev\n\n* changes:\n  SurfaceFlinger: recompute visible regions less\n  libgui: remove setPostTransformCrop\n"
    },
    {
      "commit": "e41b318bc4708e1dee9364e73215ff0d51fb76a1",
      "tree": "89c3d100e1d08cc687f77221721aac6e3a175e01",
      "parents": [
        "d58ae6f59483f986d693021f5895d6230af05d99"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 16 17:54:33 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon May 14 18:04:01 2012 -0700"
      },
      "message": "Add a BufferQueue CPU consumer.\n\nAimed for use cases where gralloc buffers need to be consumed by CPU\nusers, such as camera image data streams.\n\nThe CpuConsumer is a synchronous queue, which exposes raw pointers to\nthe underlying graphics buffers to applications. Multiple buffers may\nbe acquired at once, up to the limit set at time of construction.\n\nChange-Id: If1d99f12471438e95a69696e40685948778055fd\n"
    },
    {
      "commit": "bd1132249479e52ddd128171da24327358e2191c",
      "tree": "a82cb977d87872dc02d6d759ff38c2638f79bda9",
      "parents": [
        "9cab4ca1ca74068e50192296badd0ae7a61f3927",
        "542af12d10e5923a6e811c72e2bbe4e7507b6448"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 14 17:06:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 17:06:48 2012 -0700"
      },
      "message": "Merge \"Fix log spam about CPU frequency on one device\" into jb-dev"
    },
    {
      "commit": "542af12d10e5923a6e811c72e2bbe4e7507b6448",
      "tree": "5e4840966c6ade07f9bfbfc28f6b0546e971a7b0",
      "parents": [
        "b194ec926bf3fb3c546244b135f602ceb3a0a6b0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 14 10:49:17 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 14 16:55:26 2012 -0700"
      },
      "message": "Fix log spam about CPU frequency on one device\n\nPrevious kernels have allowed opening the CPU frequency file regardless\nwhether the CPU is up or not.  This fixes some log spam on one device\nwith dynamic hot plug CPU feature, which does not allow opening the CPU\nfrequency file if CPU is down.\n\nAlso, since the file descriptors are global and have long lives, add\nthe close-on-exec flag.\n\nChange-Id: Ia14a2b9e20038dfb96a573920176a47a96bd3f5a\n"
    },
    {
      "commit": "b7a6b96301c00c630610df4cb55a45d666200817",
      "tree": "bf11ba4058b36d840af9ddf45c8111d0064d4f9a",
      "parents": [
        "b194ec926bf3fb3c546244b135f602ceb3a0a6b0"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun May 13 19:41:35 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon May 14 15:41:22 2012 -0700"
      },
      "message": "libgui: remove setPostTransformCrop\n\nThis change removes the setPostTransformCrop function from\nSurfaceTextureClient.  It also includes a small logging fix in BufferQueue.\n\nBug: 6299171\nChange-Id: Ifd0ed05b95dad6085e7a8267fda4d69b76ea3bad\n"
    },
    {
      "commit": "b82203a6601728a507bc3e7d5b2b042356004aae",
      "tree": "5527409b71b50363824a9c945ad8a30ea837d3bc",
      "parents": [
        "b194ec926bf3fb3c546244b135f602ceb3a0a6b0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 13 20:02:04 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 13 20:02:04 2012 -0700"
      },
      "message": "minor Rect.h cleanup\n\nadd getBounds(), getWidth(), getHeight(), width() and height()\nare kept for backward compatibility.\n\nChange-Id: I83837abf17dc2f8bded1beff73430e8c7d9bbdb3\n"
    },
    {
      "commit": "b194ec926bf3fb3c546244b135f602ceb3a0a6b0",
      "tree": "8281eed5f8bde5a59c3d53099e413efddd045a1a",
      "parents": [
        "f15a83f5814219c167f87cb8aaea622fc8493499"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri May 11 04:42:59 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri May 11 04:42:59 2012 -0700"
      },
      "message": "libutils: add a tracing tag for video\n\nChange-Id: Icbecc7184844e95ee81a558b0a54d5513d5cf59f\n"
    },
    {
      "commit": "f15a83f5814219c167f87cb8aaea622fc8493499",
      "tree": "131d3c92aa0f1e75b110b187b8ee6859be5d0bc5",
      "parents": [
        "f30fd01497a53cbff8692721026c3f7b6830158e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu May 10 20:43:55 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri May 11 03:16:02 2012 -0700"
      },
      "message": "SurfaceFlinger: add a crop to the layer state\n\nThis change adds a crop rectangle specified in window coordinates to the layer\nstate.  The all window pixels outside this crop rectangle are treated as though\nthey were fully transparent.  This change also adds the plumbing necessary for\nWindowManager to set that crop.\n\nChange-Id: I582bc445dc8c97d4c943d4db8d582a6ef5a66081\n"
    },
    {
      "commit": "3c32e5da5b3f12bd498ae7016604b20ba61f5756",
      "tree": "af103b480fef8f804c6541c2bae2a9763773a0b0",
      "parents": [
        "555f89d8df316cdc5a25dbedb8614c2ac7a5e0a9",
        "224c78405f14b95416d2278e317b98cdb97497cc"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 10 09:53:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 09:53:44 2012 -0700"
      },
      "message": "Merge \"OMX IL header additions for FLAC\" into jb-dev"
    },
    {
      "commit": "224c78405f14b95416d2278e317b98cdb97497cc",
      "tree": "e6ffa2ad054c1a992582475532ea22798c240c6c",
      "parents": [
        "06e51a0aaf76fe53cef20c3345cf1ebda2b3461e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 30 10:27:25 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 09 16:35:50 2012 -0700"
      },
      "message": "OMX IL header additions for FLAC\n\nBug 5525503\n\nChange-Id: I8d305d5351d3780f8ca933b8e602f2bf88e9ac78\n"
    },
    {
      "commit": "555f89d8df316cdc5a25dbedb8614c2ac7a5e0a9",
      "tree": "0fdfb7381cd68f8fbdccad45417653e0231bb3d1",
      "parents": [
        "161534a3c5ee77bc91e7a73ffb6274f35324f8b5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 08 18:54:22 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 14:53:26 2012 -0700"
      },
      "message": "Add callback hack to find out when to reload system properties.\n\nEvery IBinder object can accept a new transaction to tell it that\nit might want to reload system properties, and in the process\nanyone can register a callback to be executed when this happens.\n\nUse this to reload the trace property.\n\nThis is very much ONLY for debugging.\n\nChange-Id: I55c67c46f8f3fa9073bef0dfaab4577ed1d47eb4\n"
    },
    {
      "commit": "82c53806ada5c314124431ec0a49fa15a6b5f1d6",
      "tree": "f1549a37961dc1f073f04afa2f03c2653e9ffd5a",
      "parents": [
        "cae7c0b955efba6986d9e1fe5a68e48e7a2f806b",
        "5c1139fea3cc0fd9847a6594d853a458152b2fbc"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed May 09 12:52:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 12:52:25 2012 -0700"
      },
      "message": "Merge \"SurfaceTexture: improve texture matrix computation\" into jb-dev"
    },
    {
      "commit": "cae7c0b955efba6986d9e1fe5a68e48e7a2f806b",
      "tree": "4be30113008a6692eb6348c135d15d6d4e4eefe3",
      "parents": [
        "59df82f355ac4bb3c08f678432a38c3ef29b3637",
        "d72f233ffa125856a44976a50a66ceb669f49ab2"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed May 09 12:51:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 12:51:57 2012 -0700"
      },
      "message": "Merge \"libgui: Add support for post-xform crops.\" into jb-dev"
    },
    {
      "commit": "59df82f355ac4bb3c08f678432a38c3ef29b3637",
      "tree": "4d676b14435ca337665b9e447a8645ab2561d711",
      "parents": [
        "34c65888d1842315e987045594e2999442c78f1d",
        "59332804306c054082a39e9b004146bd03ae1d30"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed May 09 12:51:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 12:51:39 2012 -0700"
      },
      "message": "Merge \"libui: add the Rect::transform method\" into jb-dev"
    },
    {
      "commit": "5c1139fea3cc0fd9847a6594d853a458152b2fbc",
      "tree": "b2be36d18d22c46c5d9accf5e4a1c4ad38d5c50a",
      "parents": [
        "d72f233ffa125856a44976a50a66ceb669f49ab2"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue May 08 16:56:34 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue May 08 17:08:33 2012 -0700"
      },
      "message": "SurfaceTexture: improve texture matrix computation\n\nThis change reduces the shrinking of the crop rectangle in some cases.  It adds\na way to inform the SurfaceTexture that its texture will be used without\nbilinear interpolation, and uses knowledge of the pixel format to avoid\nshrinking unecessarily.\n\nChange-Id: I72365f39f74ecb7fcc51b4cf42f2d0fa97727212\n"
    },
    {
      "commit": "d72f233ffa125856a44976a50a66ceb669f49ab2",
      "tree": "fbc8f965d4601b08825c86aa040450b60471ffa3",
      "parents": [
        "59332804306c054082a39e9b004146bd03ae1d30"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon May 07 13:50:11 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue May 08 17:08:33 2012 -0700"
      },
      "message": "libgui: Add support for post-xform crops.\n\nThis change adds support for specifying a crop rectangle to a\nSurfaceTextureClient that is in post-transformed coordinate space.\n\nChange-Id: I247901de343e71b32850f7ae3bac62dfa612ad3d\nBug: 6299171\n"
    },
    {
      "commit": "59332804306c054082a39e9b004146bd03ae1d30",
      "tree": "1f6f9489a157b30a586467663e8ce4648bfdc457",
      "parents": [
        "3410a85b15a4d2579b5e77144f275a30ad880a65"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon May 07 13:49:17 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon May 07 15:25:52 2012 -0700"
      },
      "message": "libui: add the Rect::transform method\n\nThis change adds a method to Rect to transform a rectangle by a graphics HAL\ntransform.\n\nChange-Id: Ic0d0988e731bdb5662faee41a5927b1242891658\nBug: 6299171\n"
    },
    {
      "commit": "5b38a1dfe8e90734fc878ef47df1bd967480a946",
      "tree": "d0fcf9242c0929e773031a4b06bdef927bd9604e",
      "parents": [
        "3410a85b15a4d2579b5e77144f275a30ad880a65"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 07 11:08:31 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 07 11:08:31 2012 -0700"
      },
      "message": "Add audio tag to systrace\n\nChange-Id: I4a558c43e4ccd81a4ed94684c5fad6b3c486bd14\n"
    },
    {
      "commit": "081c80c2e0f97fb50595b138271d14892aea1b4a",
      "tree": "912356cbef8fd8ff037ccc4b6474d56175dd65c0",
      "parents": [
        "5c8a608497f12ecea4d6e8f1f286baf57c161ea3"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Thu May 03 15:04:37 2012 -0700"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Thu May 03 15:04:37 2012 -0700"
      },
      "message": "Add System Tracing capability to Sync Manager\n\nSee also: Change-Id: Ia8bc01adbba345a568405b0ac8ade96e56b40cc1\n\nChange-Id: I2678974cf85464fbc09072b06f647a0787e6e23f\n"
    },
    {
      "commit": "627f471812871d4a3d02abe87e190ffe24e0ff41",
      "tree": "d84ca5e096a414767a1bd141f1355ba7cd6e5368",
      "parents": [
        "90fe9d0dbdfc9c161731088e5c7aea5dd66a5237",
        "1cb93ba130241dbb70b81a1fa4d2704386c6dae8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 26 15:24:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 15:24:00 2012 -0700"
      },
      "message": "Merge \"Add traces for window manager and activity manager.\" into jb-dev"
    },
    {
      "commit": "1cb93ba130241dbb70b81a1fa4d2704386c6dae8",
      "tree": "b5533b16f56ff9762171bfd020c6f51c5adce7fc",
      "parents": [
        "6b8bef64f7ed94a45c1b03f65f4bffb9eba86889"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 26 14:15:10 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 26 14:15:10 2012 -0700"
      },
      "message": "Add traces for window manager and activity manager.\n\nChange-Id: I6677ca64164f234efc7856ddd173ad6989b4f59e\n"
    },
    {
      "commit": "8e846fd6b3e09f5a52f47311e97b8d8f683833d4",
      "tree": "eb4b78bfad93bf506107f56776ea0882484472eb",
      "parents": [
        "6b8bef64f7ed94a45c1b03f65f4bffb9eba86889"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Apr 24 16:06:50 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Apr 25 22:04:04 2012 -0700"
      },
      "message": "Define OMX_AUDIO_AACObjectELD\n\nChange-Id: Icfbcbddb46fc0bf185e00b193462bc9e035c222b\n"
    },
    {
      "commit": "efc7ab6dcea8c22ddd7c0259ef4ab4bbf1e93044",
      "tree": "b9cef83bc407b4aa08a170d861c899c79bcb5b42",
      "parents": [
        "f4b322801d872b64f6c7dd2d2ffc1e4f8e993eef"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Apr 17 19:36:18 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 24 17:34:38 2012 -0700"
      },
      "message": "libgui: Add plumbing for active rectangle\n\nThis change adds the plumbing to SurfaceTextureClient, BufferQueue, and\nSurfaceTexture to get the active rectangle passed to the ANativeWindow to\nthe buffer consumer.\n\nChange-Id: I35da0889b266327ebb079b6a7136fa3e2e8b00e6\n"
    },
    {
      "commit": "2488b20aec097accb20a853d9876bb0a5dc04636",
      "tree": "56766085934db536118db60a85b7fadd94f99be6",
      "parents": [
        "24202f5676c32edeef6544cf36e06b9fc970dbde"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Apr 20 17:19:28 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 23 20:06:02 2012 -0700"
      },
      "message": "add a way to query whether an ANativeWindow consumer is running ahead of the producer\n\nChange-Id: Ibccfa1feb56db2ab11f0c0934ce2d570a2b65ae2\n"
    },
    {
      "commit": "24202f5676c32edeef6544cf36e06b9fc970dbde",
      "tree": "bfeaa065a551e9b4fedd8357c83da1b9b469b206",
      "parents": [
        "a0db308c3d62301ae41b2e2bcf295c4ee4c7b08e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 23 14:28:58 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 23 20:06:02 2012 -0700"
      },
      "message": "update the binder protocol for connect to match that of queueBuffer\n\nindeed, connect and queueBuffer return the same data, so it\u0027s\neasier to have them use the same protocol.\n\nChange-Id: I4f9fa3be0a80c9ab0a7a4039b282ae843aab02e1\n"
    },
    {
      "commit": "a0db308c3d62301ae41b2e2bcf295c4ee4c7b08e",
      "tree": "1a4822c37b80fc383a837679e8a8da775cd460e3",
      "parents": [
        "bce2d744b7dae4b242e0c79e95efd6ea717653d6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 23 13:59:36 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 23 20:06:02 2012 -0700"
      },
      "message": "remove SurfaceTexture::connect()\n\nuse BufferQueue::connect() instead\n\nChange-Id: I04aab7cf11304bf962cde38470747f3b19ddba42\n"
    },
    {
      "commit": "0f00cca1681c6fab9ad2ac9d93536213ba36e399",
      "tree": "48b7aa0b4f49d0a9c4d2045449ca6adebf44992b",
      "parents": [
        "64a1e08b86d72cb375f9dfdf4eb6307f71817350",
        "a26e1cfbbcb7dc5e0b1cd79a815362d6a048ef26"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 17:11:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 17:11:51 2012 -0700"
      },
      "message": "Merge \"Scheduling group cleanup\""
    },
    {
      "commit": "64a1e08b86d72cb375f9dfdf4eb6307f71817350",
      "tree": "ed3cdc1483a0e66d139d29335be06cd8b3e828f0",
      "parents": [
        "4a8111bc8c7e659164f75dcfe9efcd33582f3669"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 19 17:31:53 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 19 17:32:03 2012 -0700"
      },
      "message": "SF doesn\u0027t need more than a few binder threads\n\nChange-Id: Ic4659fb81f9990cc7caf84a496a8ae659a1d16a9\n"
    },
    {
      "commit": "383190e475d7bdbe90359dbb99721041773a8646",
      "tree": "20644b63688fd26bccdc5579a7267b06b6337b02",
      "parents": [
        "56a2bbe70876c1ac4e18b3740722c01d69bca2fd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 19 12:55:36 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 19 13:49:56 2012 -0700"
      },
      "message": "Allow the crypto plugin to specify error detail if it returns an error\n\nin the range ERROR_DRM_VENDOR_MIN..ERROR_DRM_VENDOR_MAX.\n\nChange-Id: Ic5d53e98cf6d98d92ad305d51f848e03d0bf3a84\nrelated-to-bug: 6365261\n"
    },
    {
      "commit": "a26e1cfbbcb7dc5e0b1cd79a815362d6a048ef26",
      "tree": "d7fa5a89b2e0f6f1334b8a9b693add9ee78f9537",
      "parents": [
        "56a2bbe70876c1ac4e18b3740722c01d69bca2fd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 16 07:15:23 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 19 11:32:59 2012 -0700"
      },
      "message": "Scheduling group cleanup\n\nRemove C++ APIs androidSetThreadSchedulingGroup and\nandroidGetThreadSchedulingGroup, and the ANDROID_TGROUP_* constants.\n\nFormer callers of these should now use the C APIs set_sched_policy and\nget_sched_policy, and the SP_* constants.\n\nNote: debug.sys.noschedgroups is not supported by the C APIs,\nthis needs to be discussed.\n\nChange-Id: I32bbfc539ef4090faf9ef0320380e8cca9eae07c\n"
    },
    {
      "commit": "9798ff28b80051185e432230000eb663d3cc8453",
      "tree": "b9ff19b32a0736ecdc7572e049c549b9ca9176ab",
      "parents": [
        "6c47034f5ec30041c54d8f0479b01bce566440df",
        "1b80f793d2328dd94a151411a1cc3a676121ffc7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 18 18:36:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 18:36:16 2012 -0700"
      },
      "message": "Merge \"add set thread count\""
    },
    {
      "commit": "1b80f793d2328dd94a151411a1cc3a676121ffc7",
      "tree": "b0cff08b9879946de7b4218fd09c1467e39e5c46",
      "parents": [
        "aa1667f006b8900c63f9b8de6883f06dc3980b91"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 17 16:11:08 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 18 17:50:03 2012 -0700"
      },
      "message": "add set thread count\n\nChange-Id: I70f02908d8362a465eb8a2a24356f6989847f7ba\n"
    },
    {
      "commit": "85b217668d6840c8e6a109adfb99461313676f8d",
      "tree": "2da4657f1fb3a37e1e7ee0b9abbc2aa5e78d5ace",
      "parents": [
        "aa1667f006b8900c63f9b8de6883f06dc3980b91"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Apr 13 15:16:31 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 18 10:56:06 2012 -0700"
      },
      "message": "Remove fixed USAGE_HW_TEXTURE flag from BufferQueue.\n\nUSAGE_HW_TEXTURE applies to SurfaceTexture, not to all uses of\nBufferQueue. Refactor accordingly.\n\nChange-Id: Ic7add5e1f2bbec3d3e796ba7f15eaa0633945d8f\n"
    },
    {
      "commit": "992b4c556b111fac50cd07f0f0e06fedfb0301e5",
      "tree": "ec29f2407de1648a7c7e38a305635c98b4113195",
      "parents": [
        "9aa74dbc7070aa396bc425ea3feae3d26e5393f6",
        "a8be8fa0966521afe78324351e805b4a8351dbd9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 18:20:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 18:20:55 2012 -0700"
      },
      "message": "Merge \"Support tokenizing arbitrary content.\""
    },
    {
      "commit": "a8be8fa0966521afe78324351e805b4a8351dbd9",
      "tree": "b2d93d0e2dc83517c4ff744d54e8651d7e0e0a7c",
      "parents": [
        "172a62a224967beee9e35e02a5b2fb2705dd2cc0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 18:19:50 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 18:19:50 2012 -0700"
      },
      "message": "Support tokenizing arbitrary content.\n\nBug: 6110399\nChange-Id: I37be63b68934fd451e6dffbf7d6079553619c0a3\n"
    },
    {
      "commit": "4851e21d2ae4bbb2cdb0873c0e91e8e0bf7a81a8",
      "tree": "ea5058c8d21c2c22f3b7877b9a828242564decf1",
      "parents": [
        "3aecbb0715cb6928e0530ff1e4caa9c0993cc371",
        "6acafadea0ef48acff794d12f5a64a81bcd7ef7c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 17 10:04:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 10:04:42 2012 -0700"
      },
      "message": "Merge \"Add webview tracing bit\""
    },
    {
      "commit": "3aecbb0715cb6928e0530ff1e4caa9c0993cc371",
      "tree": "fa74d2ee33fab79da3a3c96b3a4721f6949392a6",
      "parents": [
        "0c8ecacb370b5f7ee6f0fc1fb2ae978f9b670c6d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 16 18:40:30 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 16 18:40:30 2012 -0700"
      },
      "message": "fix Region const_iterator.\n\n- it returned an empty rect when the region was empty, instead\nof returning an empty list of rect.\n\n- also fixed an infinite loop when boolean_operation was given\nan empty list of rects\n\nChange-Id: I62225c7dcd2832025bb8f12e6cb3762f2a7b36cb\n"
    },
    {
      "commit": "6acafadea0ef48acff794d12f5a64a81bcd7ef7c",
      "tree": "b91d6c1b6a73b402c51fca72b9692fd7cbc06657",
      "parents": [
        "172a62a224967beee9e35e02a5b2fb2705dd2cc0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 16 16:09:16 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 16 16:09:16 2012 -0700"
      },
      "message": "Add webview tracing bit\n\nChange-Id: I82e54f5eeb2666a255e372fd3bfcc54c1b3d76a0\n"
    },
    {
      "commit": "ac6035a12aec38eeb14d0c13636ec980066d9a8f",
      "tree": "bf61a3af5d1ba7e4f14de1c23a32aed5aed30a81",
      "parents": [
        "fca660cf730161f823e770ad1693fab441477edd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 12 16:32:37 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Apr 13 16:04:44 2012 -0700"
      },
      "message": "s/w rendered apps can now use n-buffering (n\u003e2)\n\nBug: 6311881\nChange-Id: I6e52e281e8d432430aad011f6d9dcf35d7b4ac7d\n"
    },
    {
      "commit": "016c8cbce4dde21f2703b9865f52d16b8d5d5ae2",
      "tree": "70b2f2867998a07541eb206642b54e918cbf08e1",
      "parents": [
        "3bc59682cd3e330f8cc0a38a20a0e37e083671ee"
      ],
      "author": {
        "name": "Daniel Lam",
        "email": "dalam@google.com",
        "time": "Tue Apr 03 15:54:58 2012 -0700"
      },
      "committer": {
        "name": "Daniel Lam",
        "email": "dalam@google.com",
        "time": "Thu Apr 12 17:49:03 2012 -0700"
      },
      "message": "Enabled cropping support in SurfaceTexture\n\nSurfaceTexture will modify the crop rect so it matches\nthe desired output aspect ratio when the scaling\nmode is NATIVE_WINDOW_SCALING_MODE_CROP.  Added a test\nfor this new scaling mode.\n\nChange-Id: I60f24dcbc294b65cd10a393d9e27d40f07d27bb6\n"
    }
  ],
  "next": "55a701459de964ae3504264a6b8c4dc37f54a9e8"
}
