)]}'
{
  "log": [
    {
      "commit": "9b5782baf0a8a2d7afc7129453beb5df7abe7650",
      "tree": "0330952a7225ad4b42a32fa049a22faccc3ad549",
      "parents": [
        "55801e41e6d7306d75d8134dd69d7d8cbbfbc63c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Aug 28 16:20:50 2012 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Aug 28 16:20:50 2012 -0700"
      },
      "message": "A vendor ril depends on a native screen shot code.\n\nAdd a temporary shim until the vendor fixes the ril.\n\nBug: 7073467\nChange-Id: Ia95a58bd90677c03406c988d1c29ae785f8662f2\n"
    },
    {
      "commit": "3ee454a7bef8bd3d1c9cdd9d17108eb80ebadf2a",
      "tree": "008181467301126011532e5a7e7ac703b54c81d1",
      "parents": [
        "a50b51c03aca449920fc8581a738032a7bce7150"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 27 16:28:24 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 27 17:43:43 2012 -0700"
      },
      "message": "Eradicate DisplayID.\n\nDisplayDevices are now keyed of the wp\u003cIBinder\u003e the client uses.\nDisplayID has now become DisplayType which is just used to identify\nphysical displays (as opposed to virtual displays such as wifi displays).\n\nChange-Id: I0c5968f2c902dcd699a7e0afacf833ff070c12ea\n"
    },
    {
      "commit": "a50b51c03aca449920fc8581a738032a7bce7150",
      "tree": "1a8e8a4ef6c7fe48c9790c5960be013c2fd913e5",
      "parents": [
        "1ae49e3fef34ee38f8dfeb08b5914e3362af3b2f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 17:06:39 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 17:20:53 2012 -0700"
      },
      "message": "Compatibility work around for bad graphics driver dependency.\n\nThis is a compatibility shim for one product whose drivers\nare depending on SurfaceComposerClient::getDisplayInfo(\nint, DisplayInfo*) when it really shouldn\u0027t.\n\nRevert this patch when the problem has been resolved.\n\nBug: 7065398\nChange-Id: I6542691b81fd1b1e1d79500a62e82d40a3d51db7\n"
    },
    {
      "commit": "1ae49e3fef34ee38f8dfeb08b5914e3362af3b2f",
      "tree": "61e54572966f9d19e8350d3441d9d59e235eff3d",
      "parents": [
        "e310c3949f7de7183ef43e751526a5dc4cf0d74c",
        "380223bf1b340e7503177254a60d5982f95ab793"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 17:17:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 17:17:09 2012 -0700"
      },
      "message": "Merge \"Remove unused \"layer\" argument from show().\" into jb-mr1-dev"
    },
    {
      "commit": "e310c3949f7de7183ef43e751526a5dc4cf0d74c",
      "tree": "3b70c75d02162024963146bbc44aaec1419c5104",
      "parents": [
        "f671385e71644b6f34a06f425aff8dd16ffc0105",
        "9d4e3d2f42e93e2d12bacabe97d307d30c3c20dd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 17:16:36 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 17:16:37 2012 -0700"
      },
      "message": "Merge \"Banish DisplayID from the SurfaceFlinger API.\" into jb-mr1-dev"
    },
    {
      "commit": "380223bf1b340e7503177254a60d5982f95ab793",
      "tree": "7470d7e9b12987706d47b0112815f670452bb885",
      "parents": [
        "9d4e3d2f42e93e2d12bacabe97d307d30c3c20dd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 26 22:49:35 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 14:40:17 2012 -0700"
      },
      "message": "Remove unused \"layer\" argument from show().\n\nChange-Id: I8944a9f4a27c330b11e5e837c69b88c8f84145ba\n"
    },
    {
      "commit": "9d4e3d2f42e93e2d12bacabe97d307d30c3c20dd",
      "tree": "3db010ef45a3793c5b09887ae321b4a8095a5001",
      "parents": [
        "225c66a48cdc3acef21ee380dc134449749d3cb3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 24 20:00:51 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 14:40:17 2012 -0700"
      },
      "message": "Banish DisplayID from the SurfaceFlinger API.\n\nUse only display tokens in the API to refer to new displays.\n\nDon\u0027t require the caller to specify the display when creating\na surface (since in general a surface could be shown on\nany display).\n\nThis is intended to be a minimum change just to update the API.\nNote that SurfaceFlinger still uses DisplayID in a few places\ninternally that might cause some features not to work properly\nwhen there are multiple displays (LayerScreenshot, for example).\n\nChange-Id: I3d91eec2da406eefd97bcd53655d403ad865a7e6\n"
    },
    {
      "commit": "f671385e71644b6f34a06f425aff8dd16ffc0105",
      "tree": "2f93161074ea25d8462ccd90cc2181ec5d8259ed",
      "parents": [
        "225c66a48cdc3acef21ee380dc134449749d3cb3",
        "9801575a65f2f9d0bdc924ec0a4bbfb6ef071bbe"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 27 08:17:48 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 27 08:17:48 2012 -0700"
      },
      "message": "am 9801575a: am 908c8ff5: Merge \"Fixed clang build error for libgui\"\n\n* commit \u00279801575a65f2f9d0bdc924ec0a4bbfb6ef071bbe\u0027:\n  Fixed clang build error for libgui\n"
    },
    {
      "commit": "9801575a65f2f9d0bdc924ec0a4bbfb6ef071bbe",
      "tree": "577fd438f8a27e1e6f7221620a08d9dbc6c89e27",
      "parents": [
        "21938749faf2c4dd0c77bee3dec1f7a85780c85a",
        "908c8ff55482b723eddec54c6308e54a136a3e49"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 27 08:15:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 27 08:15:12 2012 -0700"
      },
      "message": "am 908c8ff5: Merge \"Fixed clang build error for libgui\"\n\n* commit \u0027908c8ff55482b723eddec54c6308e54a136a3e49\u0027:\n  Fixed clang build error for libgui\n"
    },
    {
      "commit": "225c66a48cdc3acef21ee380dc134449749d3cb3",
      "tree": "b0eae1a1f04f1c363f7c5e7b20fef9b5334c67dc",
      "parents": [
        "13a082e160c2d1d8006b93a555a57035213d568b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 24 16:55:29 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 24 17:16:10 2012 -0700"
      },
      "message": "Revert \"put back the unused virtuals in Vector\u003c\u003e\"\n\nThis reverts commit 1648d4c13ba2eff3ea14cd87ee94028458a39f97.\n\nBug: 6977192\n\nChange-Id: Idbb6b239aaed4fb1c054ce943f6ba06ede3492bb\n"
    },
    {
      "commit": "490aee0fc5012acf2bf0b1dfe9c09e6fcca606fc",
      "tree": "97fed915e84c3697091a9897fdb459f814071cfd",
      "parents": [
        "9b6a395e65ff88ab79fe92d6f112c434441ca606",
        "9fea3421ffddf6480f57f55a25936a886043d909"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Aug 24 11:11:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 11:11:07 2012 -0700"
      },
      "message": "Merge \"SurfaceTexture: inherit from ConsumerBase (try 2)\" into jb-mr1-dev"
    },
    {
      "commit": "114e968482a02b9153d9a236376efb5cd43f4a9a",
      "tree": "55f04990bbd899aac0aa8ef856d5396c151f71e6",
      "parents": [
        "349149b52a424c212e33d165bc146bc0337ea4c4"
      ],
      "author": {
        "name": "Tareq A. Siraj",
        "email": "tareq.a.siraj@intel.com",
        "time": "Thu Jul 26 16:04:24 2012 -0400"
      },
      "committer": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Aug 23 14:08:57 2012 -0400"
      },
      "message": "Fixed clang build error for libgui\n\nFixed the order of the statements in ANDROID_SINGLETON_STATIC_INSTANCE\nmacro so that the templated static member variable initialization\ncomes before the instantiation of the Singleton class. This\nfixes the clang compile error.\n\nChange-Id: Ic47d17e152b657f2dff3191ccc3770753fdf002b\nAuthor: Tareq A. Siraj \u003ctareq.a.siraj@intel.com\u003e\nReviewed-by: Edwin Vane \u003cedwin.vane@intel.com\u003e\n"
    },
    {
      "commit": "9f54ac38860761ef62d9bb8282d54ff51a1a68a3",
      "tree": "523fa44114ec0ad898d7acef6f38931d32c8f3b6",
      "parents": [
        "04930445031c5f41707806182bb7a152e64ddede"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Aug 21 17:03:18 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Aug 21 19:07:30 2012 -0700"
      },
      "message": "ui/Fence: change the TIMEOUT_NEVER value to -1\n\nChange-Id: I3ef0a4c06f80990b53a8bf2eda6edbfcbefd0f34\n"
    },
    {
      "commit": "04930445031c5f41707806182bb7a152e64ddede",
      "tree": "a0468dff20e28828ac302c864a415773127aa2ef",
      "parents": [
        "3f3956236aac97b6aa25fa89f0983d5e9d065fdb",
        "e232fdca2a62dc5e81b550f5be8710e36174e7a6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 21 16:46:05 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 16:46:05 2012 -0700"
      },
      "message": "Merge \"Add BufferItemConsumer, a simple BufferQueue consumer.\" into jb-mr1-dev"
    },
    {
      "commit": "9fea3421ffddf6480f57f55a25936a886043d909",
      "tree": "a624dbef8abd005bbbe57715b234fee4240b32c2",
      "parents": [
        "317357fdf7a2b542dfdaa06f42ff7f5f0153f9a3"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Aug 07 18:03:04 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Aug 21 16:41:03 2012 -0700"
      },
      "message": "SurfaceTexture: inherit from ConsumerBase (try 2)\n\nThis change makes SurfaceTexture inherit from ConsumerBase.  It removes all of\nthe functionality from SurfaceTexture that is now provided by the base class.\nThis includes fixes for two bugs that were found after checking this change in\nthe first time and then reverting it.\n\nChange-Id: Ie2d9f4f27cfef26fdac341de3152e842b01a58d2\n"
    },
    {
      "commit": "e232fdca2a62dc5e81b550f5be8710e36174e7a6",
      "tree": "567431349bc9770cb9282a2633015cc5237407fa",
      "parents": [
        "f57e7540d4cf799f18fe87d3536c55f1e0064931"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 21 13:37:35 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 21 15:46:35 2012 -0700"
      },
      "message": "Add BufferItemConsumer, a simple BufferQueue consumer.\n\nBufferItemConsumer allows for acquiring BufferQueue\u0027s BufferItems,\nwhich contain all the data and metadata the BufferQueue has for a\ngiven graphics buffer.\n\nThis consumer is useful when direct access to the native buffer_handles\nis needed by the client.\n\nAlso includes a minor cleanup of CpuConsumer\u0027s use of \u0027virtual\u0027.\n\nBug: 6243944\nChange-Id: If7dc4192b15ac499555f1eda42a85140f2434795\n"
    },
    {
      "commit": "1648d4c13ba2eff3ea14cd87ee94028458a39f97",
      "tree": "2120c7f37840a4b1e1040ad9367669bcc3a43fc2",
      "parents": [
        "317357fdf7a2b542dfdaa06f42ff7f5f0153f9a3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 20 17:03:29 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 20 21:23:15 2012 -0700"
      },
      "message": "put back the unused virtuals in Vector\u003c\u003e\n\nsome binaries are using these private APIs and broke\n(as they should!) with this change. Temporarily restore the\nvirtuals to work around this.\n\nBug: 6977550\nChange-Id: I7c37f24b16e4d586b89205c493db5169cf87e024\n"
    },
    {
      "commit": "317357fdf7a2b542dfdaa06f42ff7f5f0153f9a3",
      "tree": "8673989edad2fb5f19bf81d1aa8c95e79125a589",
      "parents": [
        "84a9a3c0ec35915d3cc40e9e889d4032e189894a",
        "f4ce7803fe71c9a9433ff1ba2e79db13a7e46290"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 20 16:48:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 16:48:07 2012 -0700"
      },
      "message": "Merge \"get rid of mirrorItemAt() which isn\u0027t used anywhere\" into jb-mr1-dev"
    },
    {
      "commit": "84a9a3c0ec35915d3cc40e9e889d4032e189894a",
      "tree": "f262a545d384d4e9a4ae1709e1592f565d89dbac",
      "parents": [
        "729f48082e2c7660e94830e52006f7af4efb747a",
        "f57e7540d4cf799f18fe87d3536c55f1e0064931"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 20 16:18:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 16:18:11 2012 -0700"
      },
      "message": "Merge \"CpuConsumer: inherit from ConsumerBase\" into jb-mr1-dev"
    },
    {
      "commit": "f57e7540d4cf799f18fe87d3536c55f1e0064931",
      "tree": "a6b8e1fe1fb257a41fdf7bc0c9ee35d7aa6d0bb1",
      "parents": [
        "13233e067b8f71adc3a0ade5f442265e1f27084b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 20 15:44:40 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 20 15:44:40 2012 -0700"
      },
      "message": "CpuConsumer: inherit from ConsumerBase\n\nChange-Id: I55178b1d673ffa0fbc6e63ef47642c64d4d03228\n"
    },
    {
      "commit": "f4ce7803fe71c9a9433ff1ba2e79db13a7e46290",
      "tree": "efaba9b587f2373048d9e82652af7ff32aa4e4a7",
      "parents": [
        "b3d68efa7e807070ed63cfad3f7576055c58eeba"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 20 14:21:29 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 20 15:25:19 2012 -0700"
      },
      "message": "get rid of mirrorItemAt() which isn\u0027t used anywhere\n\nChange-Id: Id6f2dbeed21cabc127d39538c0ff464077ada83f\n"
    },
    {
      "commit": "729f48082e2c7660e94830e52006f7af4efb747a",
      "tree": "aa786c00e041954ecf68d0a4be23dc4b7a5a45fe",
      "parents": [
        "f7f6345068fe0644bf296b88a687b361eae0cc98",
        "ce7a6c0fc9d75b80da030d1790321e84475f956a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 20 14:33:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 14:33:24 2012 -0700"
      },
      "message": "Merge \"Revert \"SurfaceTexture: inherit from ConsumerBase\"\" into jb-mr1-dev"
    },
    {
      "commit": "ce7a6c0fc9d75b80da030d1790321e84475f956a",
      "tree": "f8d3a92d5c056a8e00d129381c4f74c51d4a082e",
      "parents": [
        "ed059a8d754770c3cf28b78dba30f7a6ba475dbe"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 20 14:28:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 14:28:53 2012 -0700"
      },
      "message": "Revert \"SurfaceTexture: inherit from ConsumerBase\"\n\nThis reverts commit ed059a8d754770c3cf28b78dba30f7a6ba475dbe\n\nChange-Id: I72542c2595771a40c2c88251e0d6eb54e305b99b\n"
    },
    {
      "commit": "483bccd0d9f7e5e7aa452e9e3e53056387f4b25c",
      "tree": "cb381633384a19a10064536b60a571f8c6fb2076",
      "parents": [
        "f8d33c652b930abbfb0722f3a2928cbc2ea71078"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 20 14:28:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 14:28:21 2012 -0700"
      },
      "message": "Revert \"SurfaceTexture: call ConsumerBase::freeBufferLocked\"\n\nThis reverts commit f8d33c652b930abbfb0722f3a2928cbc2ea71078\n\nChange-Id: I1ff2e1cc85824a8fac1051f573d2931db81af511\n"
    },
    {
      "commit": "f8d33c652b930abbfb0722f3a2928cbc2ea71078",
      "tree": "0e9e364438f492dc2cb1c2968d7fbc0958f99440",
      "parents": [
        "2c7eb92b6394427bfe81962668d46194959bc722"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 20 11:30:44 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 20 11:30:44 2012 -0700"
      },
      "message": "SurfaceTexture: call ConsumerBase::freeBufferLocked\n\nThis change fixes SurfaceTexture::freeBufferLocked so that it calls the base\nclass implementation.\n\nChange-Id: I45d76fb2eb02c1fa6e4e917823ead83e2086bd15\n"
    },
    {
      "commit": "2c7eb92b6394427bfe81962668d46194959bc722",
      "tree": "cb381633384a19a10064536b60a571f8c6fb2076",
      "parents": [
        "cd60f99aba9e750700a967db30b74a29145739cf",
        "ed059a8d754770c3cf28b78dba30f7a6ba475dbe"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Aug 17 15:35:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 17 15:35:17 2012 -0700"
      },
      "message": "Merge \"SurfaceTexture: inherit from ConsumerBase\" into jb-mr1-dev"
    },
    {
      "commit": "818b46058aa3006e1d3c178abd36d4f10823f5d9",
      "tree": "741368663f57ef8ed8dd4f46cc1e781686885a8b",
      "parents": [
        "111b2d89221722d38f5b5b3ba65904ec22421839"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 16 20:57:39 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 16 20:58:57 2012 -0700"
      },
      "message": "display states can\u0027t share the dirty flags\n\nChange-Id: Ifade9f2f1a0df9a36aede77a6cf5eee4be534f98\n"
    },
    {
      "commit": "ed059a8d754770c3cf28b78dba30f7a6ba475dbe",
      "tree": "bde20ea117d55ce9fab31604bfb6280272014695",
      "parents": [
        "3559b07a885bcdff51a6dffb8e3a5ac5adf3a220"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Aug 07 18:03:04 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Aug 16 18:11:02 2012 -0700"
      },
      "message": "SurfaceTexture: inherit from ConsumerBase\n\nThis change makes SurfaceTexture inherit from ConsumerBase.  It removes all of\nthe functionality from SurfaceTexture that is now provided by the base class.\n\nChange-Id: I4a881df42810a14ee32d4ef7c8772a8f2510f4c7\n"
    },
    {
      "commit": "f0083bf5288e0d430b0dc5cbc4b4852bce2ff1af",
      "tree": "0050b3fcea9ee008bb05b4f95b67031f19860eb6",
      "parents": [
        "20128300e0cb7f459a60cfbcddb48190ce6545ed",
        "6f12d573251528086636707dde2fb01a8b7199b8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 13 23:35:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 13 23:35:08 2012 -0700"
      },
      "message": "Merge \"Add a very simple helper function to log slow functions.\" into jb-mr1-dev"
    },
    {
      "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": "6f12d573251528086636707dde2fb01a8b7199b8",
      "tree": "460216732eecae5597ada876286a95a231e86a3c",
      "parents": [
        "e57f292595bec48f65c8088b00ff6beea01217e9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 10 20:44:39 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 10 22:03:55 2012 -0700"
      },
      "message": "Add a very simple helper function to log slow functions.\n\nChange-Id: I2e2e072206d02b572a330dd25857c161b5b563bf\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"
    }
  ],
  "next": "555f89d8df316cdc5a25dbedb8614c2ac7a5e0a9"
}
