)]}'
{
  "log": [
    {
      "commit": "0df689495a02c4a34943330099404bd8860981c9",
      "tree": "04a6a78a88c5f7e6022b9f98727da961b040dd20",
      "parents": [
        "2b056c6e6759d63045c22556c5418a08fcb3f80c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 05 17:06:40 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 16 12:22:07 2012 -0700"
      },
      "message": "AudioTrack: relax check on minimum buffer size\n\nCurrent AudioTrack implementation enforces that the requested audio\nbuffer size is at least corresponding the audio latency.\nThis requirement is too strong and leads to problems with current\nstagefright and AudioSink implementations when playing over output\nstreams with long latency.\n\nUltimately, the AudioSink design should be changed to specify a minimum\nbuffer size in time or frames units but not in buffer count units.\n\nChange-Id: I8ba603956f92ac49143a8249572665aa548f2f0f\n\nConflicts:\n\n\tmedia/libmedia/AudioTrack.cpp\n"
    },
    {
      "commit": "bb1e7d4324ff43491c526c77f405bbbf0cece611",
      "tree": "235d607f7473ec35ba7db47e9fc371166f143398",
      "parents": [
        "6f1dd757cb158d17c76baeb170f7db2271802ef8",
        "77cec6132aea6ed98812125f5ad5f79e889cf658"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 29 17:46:35 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 17:46:35 2011 -0800"
      },
      "message": "Merge changes I7e973a35,Ib3386fcc into ics-mr1\n\n* changes:\n  SurfaceTexture: add EGL_KHR_fence_sync option\n  SurfaceTexture: add a blit-to-FBO test\n"
    },
    {
      "commit": "6f1dd757cb158d17c76baeb170f7db2271802ef8",
      "tree": "e965c66766e6d362eca7e7b4474107740874dc7f",
      "parents": [
        "f296ee697409b4b55bef17d534edbc24a4619f0f",
        "6deb4b538ecf5cbd4418492bfb6b79df67eedfb7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 29 17:25:09 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 17:25:09 2011 -0800"
      },
      "message": "Merge \"SurfaceMediaSource: use the vid enc usage bit\" into ics-mr1"
    },
    {
      "commit": "77cec6132aea6ed98812125f5ad5f79e889cf658",
      "tree": "57535ce4ed1806290cb04f8434d324dec7995df2",
      "parents": [
        "d6c938f04ec1e39dcbcf4d5adfcbdfbac0484540"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 14 14:51:01 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 29 17:09:01 2011 -0800"
      },
      "message": "SurfaceTexture: add EGL_KHR_fence_sync option\n\nThis change adds a compile-time option for SurfaceTexture to use the\nEGL_KHR_fence_sync extension to synchronize access to Gralloc buffers.\n\nBug: 5122031\nChange-Id: I7e973a358631fff5308acf377581b811911fe790\n"
    },
    {
      "commit": "d12dc28460f622ab29e83fa688ad83a8263e9417",
      "tree": "47fa98e5e289300bbb65f48af427b4d6d68fa54b",
      "parents": [
        "351143fb0e2fcfb7dc2ef1045d693c71eb0ea329",
        "d03e7d62d5a5eda07e19b0bbc1eaa6ed82d860c5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 29 14:09:03 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 14:09:03 2011 -0800"
      },
      "message": "Merge \"If an error occurs that prevents us from reallocating buffers during a format change\" into ics-mr1"
    },
    {
      "commit": "351143fb0e2fcfb7dc2ef1045d693c71eb0ea329",
      "tree": "e62eb07e221bd3d64ecaffbcbe5483dc89d1df6b",
      "parents": [
        "405a4e34032f8a07028138266fe9f79f6753b466",
        "a10613fea8e9d8a73385d37ad92f9c56d8828ce6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 29 14:08:45 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 14:08:45 2011 -0800"
      },
      "message": "Merge \"Updated (internal) API for IStreamSource to signal discontinuities\" into ics-mr1"
    },
    {
      "commit": "6651a638348c15e89e265b0a53c775cac9beafa2",
      "tree": "f42e59d99363cada07cdb6f4bff69fa51bfae2ad",
      "parents": [
        "500afb87a7a8b5928ef1a5196bdfd0bcc2b87e4a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 28 12:59:11 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 29 12:17:22 2011 -0800"
      },
      "message": "Fix application launch shortcuts.\n\nImproved quick launch bookmarks to support category-based shortcuts\ninstead of hardcoding package and class names for all apps.\n\nAdded a set of Intent categories for typical applications on the\nplatform.\n\nAdded support for some of the HID application launch usages to\nreduce reliance on quick launch for special purpose keys.  Some\nkeyboard vendors have hardcoded launch keys that synthesize\n\"Search + X\" type key combos.  The goal is to encourage them\nto stop doing this by implementing more of HID.\n\nBug: 5674723\nChange-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593\n"
    },
    {
      "commit": "a10613fea8e9d8a73385d37ad92f9c56d8828ce6",
      "tree": "5be4f71fbf79a2f5e1131d63b53a647ecc072f15",
      "parents": [
        "fed7a99a5294856d930e18225898828bd6755be1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 29 11:57:35 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 29 11:59:10 2011 -0800"
      },
      "message": "Updated (internal) API for IStreamSource to signal discontinuities\n\nChange-Id: Idd4b9d8e7cec16b3e3c91c70e75144d42be30f96\nrelated-to-bug: 5553055\n"
    },
    {
      "commit": "d03e7d62d5a5eda07e19b0bbc1eaa6ed82d860c5",
      "tree": "e64d854927bfab0c6c1982002a2a071004d5aaf6",
      "parents": [
        "e35581ad5ad635f9dcfe4ab6a432c48b46b782cd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 28 10:54:12 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 28 10:54:12 2011 -0800"
      },
      "message": "If an error occurs that prevents us from reallocating buffers during a format change\n\nwe need to transition to executing state anyway to be able to properly flush/shutdown\nin the future.\n\nChange-Id: Ie48bc09ea31942009ae3a5a45aabc9ffad9fb91f\nrelated-to-bug: 5655016\n"
    },
    {
      "commit": "cb6fbc89c25298643ab342b4a228e772b0e56978",
      "tree": "66e96e1e6c7aa64d5bb6a84e10b46213fbf296a0",
      "parents": [
        "631885746868cbf03f89e655a6f4fac96449e8a4",
        "0ba8660ea6d88a1809508c31bd3b1da8e8dfabd3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 22 08:39:11 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 22 08:39:11 2011 -0800"
      },
      "message": "Merge \"Report a runtime error instead of asserting on malformed avc configuration data.\" into ics-mr1"
    },
    {
      "commit": "02740dc49df86fc94c872454aa9db98737d5e8c8",
      "tree": "bab33b5f465661bb12f982222bb678024b0893ac",
      "parents": [
        "1766b0e25de5a66f9d0f6e73a2c342272fcadc71",
        "96af14d9b013496accf40a85a66fefcba3ac0111"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 21 20:28:27 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 21 20:28:27 2011 -0800"
      },
      "message": "Merge \"Fix log spamming during time lapse video recording\" into ics-mr1"
    },
    {
      "commit": "6deb4b538ecf5cbd4418492bfb6b79df67eedfb7",
      "tree": "c7a3bb6bdbe11d49b220c53b4d1eed518b29d560",
      "parents": [
        "b8d20d028ca590f6a9c57e0e8fee5e5f80e9ae54"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 21 16:51:47 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 21 17:48:19 2011 -0800"
      },
      "message": "SurfaceMediaSource: use the vid enc usage bit\n\nThis change makes SurfaceMediaSource add the VIDEO_ENC usage bit when\nallocating its GraphicBuffers rather than the HW_TEXTURE bit.\n\nChange-Id: Ie20e225c894fdbc31cad6bb82b3b64c7e98074eb\n"
    },
    {
      "commit": "87f3265bb082160efdfdfb87a79698c67ebad447",
      "tree": "a9eb05cf1cb1a6d59d1dafe806c843aee10daa76",
      "parents": [
        "c10a94c4b8b42ef75168ad140fdb97d6cca3d2eb"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sat Nov 19 18:04:43 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 21 14:37:29 2011 -0800"
      },
      "message": "EGL: default to swap interval 1\n\nThis change explicitly sets swap interval 1 on the window when an\nEGLSurface is created to render to it.\n\nChange-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03\n"
    },
    {
      "commit": "96af14d9b013496accf40a85a66fefcba3ac0111",
      "tree": "0d77b5fc0a82fc4b82bb1b1df83a92473cc0fb69",
      "parents": [
        "7859c1842c1f2e3c43415dfb5337a0b005bdb1c4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Nov 20 09:45:44 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 21 12:09:51 2011 -0800"
      },
      "message": "Fix log spamming during time lapse video recording\n\nChange-Id: I4fc0809203684ebb02eaf217d7abad00aefc898f\n\nrelated-to-bug: 5626569\n"
    },
    {
      "commit": "0ba8660ea6d88a1809508c31bd3b1da8e8dfabd3",
      "tree": "9e7a57f403f0bbe83e7c785b814cb03bc016c009",
      "parents": [
        "dea90a0e1c9c1d15657024893b6793dc21bc27ef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 18 12:22:59 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 18 12:22:59 2011 -0800"
      },
      "message": "Report a runtime error instead of asserting on malformed avc configuration data.\n\nChange-Id: Ibcd9c3fb5b6532eba843ed80ecdcdacaf50d8845\nrelated-to-bug: 5641069\n"
    },
    {
      "commit": "90cbbd1f7f510e7c173f706919492a95e91a87e7",
      "tree": "228bd0b3b540cdbdb52cea0a6c0fdd9bf33563b2",
      "parents": [
        "302afb93d4fd908949ac796eda8343f9683e616a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 17 18:46:09 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 17 18:46:09 2011 -0800"
      },
      "message": "attempt to fix bug 5313580\n\nthe working theory here is that a Surface object has become non-promotable\nbecause it lost its last reference; later Surface::readFromParcel is called\nthe previous surface is found in the cache, but can\u0027t be promoted. this causes\na new Surface object to be created which will promptly try to connect to the\nCPU_API -- this in turn will fail because the previous (now dead) surface is\nstill connected.\n\nTo fix this, we make sure to disconnect from the SurfaceTexture when\nSurface[TextureClient] is destroyed.\n\nChange-Id: I422234868a05d7b7d283e9d5a85f7ab79e65d8a9\n"
    },
    {
      "commit": "fd6b64f6ad040b4d550a5219a2576997e2c0e85d",
      "tree": "6d1557564d97571409783c88b3b88a34152c418c",
      "parents": [
        "7dc81e06e4d0554683595e8d2e318837548e249a",
        "f1e868f68204bf469a0c162b84af0e651d513ac8"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Nov 16 11:34:30 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 16 11:34:30 2011 -0800"
      },
      "message": "Merge \"SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call\" into ics-mr1"
    },
    {
      "commit": "3e7497b4eccd3db1d6ff0ce1f1f2db11f9a8eeef",
      "tree": "14b19d7f750f12c4168bb582c1cd99e93afd454a",
      "parents": [
        "cdec187a27b2acc34cd4df26b836b83362527d6a",
        "1e08fe90df18930691b0c2ec22e5db25d7fcb4cf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 15 19:17:09 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 15 19:17:09 2011 -0800"
      },
      "message": "Merge \"Eliminate hw.keyboards system properties.\" into ics-mr1"
    },
    {
      "commit": "1e08fe90df18930691b0c2ec22e5db25d7fcb4cf",
      "tree": "772ffaafe6917d37ee65f5ed3d653230557bdc80",
      "parents": [
        "9058435dc1a741030c042c4d6f2512f5d1605e5d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 15 17:48:10 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 15 18:00:10 2011 -0800"
      },
      "message": "Eliminate hw.keyboards system properties.\n\nStop using system properties to publish information about\nthe key character map path.  Instead, we can retrieve it\non demand by asking the window manager.\n\nIt was possible to exhaust the supply of system properties\nwhen repeatedly adding and removing input devices.\n\nBug: 5532806\nChange-Id: Idd361a24ad7db2edc185c8546db7fb05f9c28669\n"
    },
    {
      "commit": "f1e868f68204bf469a0c162b84af0e651d513ac8",
      "tree": "23a997a5d68fb46652460aa233ec3dd0133652f3",
      "parents": [
        "6a54a997e3dc71c5b9c5a1c7829bc3eb35404e92"
      ],
      "author": {
        "name": "Sunita Nadampalli",
        "email": "sunitan@ti.com",
        "time": "Wed Nov 09 18:23:41 2011 -0600"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 15 11:43:35 2011 -0800"
      },
      "message": "SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call\n\nSurface Texture dequeue logic is modified to return the oldest of the\nfree buffers to Client on dequeue call.\n\nCurrently dequeue method is returning the first buffer index which is free.\nThe parsing is done in ascending order of the buffer slot indices.\nThis leads to returning the buffer which has been just queued to composer,\nand hence display, and this defeats the purpose of having minimum dequeue count\nas 2 in asynchrnouse mode.\n\nThis is fixed by checking all the free slots and returning the oldest buffer.\n\nChange-Id: Ibbac10593c3994c278c601af0480b171635ecdd4\nSigned-off-by: Sunita Nadampalli \u003csunitan@ti.com\u003e\n"
    },
    {
      "commit": "481ffa505bb1d8f5089ea98e3b5960d409b6819c",
      "tree": "e27a4ae290b172cb6afc4d7559e32994e810762d",
      "parents": [
        "ce33622aed7fb25a14ef957cdc78b78cc4602be9",
        "7eb531970305f938c8e3bdc564bed6156fbd8f06"
      ],
      "author": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Tue Nov 15 09:42:37 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 15 09:42:37 2011 -0800"
      },
      "message": "Merge \"Fix for issue  5309336 -add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage.\" into ics-mr1"
    },
    {
      "commit": "7eb531970305f938c8e3bdc564bed6156fbd8f06",
      "tree": "afc50650e68ed32d453950ec32eff0904e969945",
      "parents": [
        "88089ccc79ee7ba5f48ade9bb73a99cf05f6ec62"
      ],
      "author": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Thu Nov 10 14:54:26 2011 -0800"
      },
      "committer": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Mon Nov 14 13:02:59 2011 -0800"
      },
      "message": "Fix for issue  5309336\n-add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage.\n\nChange-Id: I41ffbc192fcce4c7635e5b0a1f2835852e5ee509\n"
    },
    {
      "commit": "b89d88f531ee39927f8f554baaae5ecc9101ba9d",
      "tree": "c00601c0b328a2670e449a3afb296bd7ea30eadd",
      "parents": [
        "c51bb4d394dd47e48abc8a6d9cbc740f821546ff"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 10 14:34:26 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 11 18:44:35 2011 -0800"
      },
      "message": "Define, document, and test the behavior of very large SurfaceTextures\n\nupdateTexImage() now throws a runtime exception when its native\ncounterpart fails\n\nBug: 5506633\n\nChange-Id: I151a6f685d465966e7df4df624412ab2da62e95f\n"
    },
    {
      "commit": "77c500c9a1f763b31fb5a03c803b3523fcb72310",
      "tree": "9feafc0d06b27223cd189b22d7bf7bc2c82c11ef",
      "parents": [
        "785fd3685a69e5b3ef9c0958dcf4ae85f818e78d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 09 00:48:56 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 10 11:40:11 2011 -0800"
      },
      "message": "Add support for retrieving location information in mp4/3gpp files\n\nChange-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687\nrelated-to-bug: 5560253\n"
    },
    {
      "commit": "26f70db99f483be36caa7a4c84fec5de50bec034",
      "tree": "bb5e0c42bc4d564b8919a2c4fb302026a89582e6",
      "parents": [
        "99015a2464a40097c3e23e07cdf69da0f886aa66",
        "95be24585f46229f551c529104b5e92fa4316b38"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 08 08:48:31 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 08:48:31 2011 -0800"
      },
      "message": "Merge \"Remove surface legacy APIs and code.\" into ics-mr1"
    },
    {
      "commit": "88061d6b38cfb4bf374039846b753a3b21ac61e1",
      "tree": "0d4656659add969e8015e5019d85d2bf18d89940",
      "parents": [
        "2ccc47b89868d4f39683e0e2bd057ce95d7d1217",
        "5462bc6318b4b70e7a58c66994e2bd79f59d9739"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Nov 05 02:35:57 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 05 02:35:57 2011 +0000"
      },
      "message": "am 5462bc63: Fix a leak in Parcel::writeBlob.\n\n* commit \u00275462bc6318b4b70e7a58c66994e2bd79f59d9739\u0027:\n  Fix a leak in Parcel::writeBlob.\n"
    },
    {
      "commit": "5462bc6318b4b70e7a58c66994e2bd79f59d9739",
      "tree": "4c5c4b7980974adb8c5fc11df32e1a523cd94306",
      "parents": [
        "348297abc0e03fb87a1d22465020b580d83fdd61"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 04 19:01:44 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 04 19:26:03 2011 -0700"
      },
      "message": "Fix a leak in Parcel::writeBlob.\n\nWas mistakenly assuming that Parcel::writeFileDescriptor took\nownership of the fd that was passed in.  It does not!\nAdded some comments and a default parameter to allow the caller\nto specify whether it wishes the Parcel to take ownership.\n\nBug: 5563374\nChange-Id: I5a12f51d582bf246ce90133cce7690bb9bca93f6\n"
    },
    {
      "commit": "236aea3579787961fdd41d87574760b63323c0c1",
      "tree": "d5dfbcbe10eb5e2d7e0535973c675a795e435cc2",
      "parents": [
        "3f9ce4c22ae9b4f0f2208c29f8c93d6ad652a1dc",
        "9d9768dbd7d8fe7af55fbd570dff9cf79a4d1807"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 03 11:51:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 03 11:51:23 2011 -0700"
      },
      "message": "Merge changes Ibc99cb1c,Ie1f4f6f8 into ics-mr1\n\n* changes:\n  BlobCache: implement cache serialization\n  BlobCache: remove the mutex locking\n"
    },
    {
      "commit": "11ba6da460572b9ce9cb9dc0d5a76b710e7efdb3",
      "tree": "40faf71c301e1e374c1555b4a38e45d8716a940d",
      "parents": [
        "ff93e417a217703a635d8601b835853e07233afd",
        "4b6353ea0265bfed52d0637abd1b17596ce25ff0"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Nov 01 04:05:45 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 01 04:05:45 2011 +0000"
      },
      "message": "am 4b6353ea: Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0\n\n* commit \u00274b6353ea0265bfed52d0637abd1b17596ce25ff0\u0027:\n  Update camera continuous autofocus javadoc.\n"
    },
    {
      "commit": "4b6353ea0265bfed52d0637abd1b17596ce25ff0",
      "tree": "12db2c3540b8604641509a5597b231636bdcdfff",
      "parents": [
        "af675222f6340a8a9edbe9e8635014a18521e5e0",
        "0f4f97b70f6ad59b32e78720ba7357733bdef3e9"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 31 21:04:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 31 21:04:01 2011 -0700"
      },
      "message": "Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0"
    },
    {
      "commit": "9d9768dbd7d8fe7af55fbd570dff9cf79a4d1807",
      "tree": "8de623b36e6c49a695fe17760f2011dd4e42bb5c",
      "parents": [
        "94c1f148bb655a3dd3c2a2167476239b41305ff0"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu May 12 17:39:03 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Oct 31 18:49:32 2011 -0700"
      },
      "message": "BlobCache: implement cache serialization\n\nThis change adds serialization and deserialization functionality to\nBlobCache, conforming to the Flattenable interface.\n\nChange-Id: Ibc99cb1c3d015f363d57d0713eabccec07ff975e\n"
    },
    {
      "commit": "94c1f148bb655a3dd3c2a2167476239b41305ff0",
      "tree": "0a7bf345bb97a55b7cdcfa2c29d1493734027e92",
      "parents": [
        "62015f5d0d1104dfc682b3eb3b6c0be4f63b985a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Oct 30 18:10:41 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Oct 31 18:48:31 2011 -0700"
      },
      "message": "BlobCache: remove the mutex locking\n\nThis change removes the mutex from the BlobCache class.  The caller must\nbe responsible for thread synchronization in order to properly implement\nthe Flattenable interface, which is coming soon.  Otherwise would be the\npotential for the cache contents to change between the call to the\ngetFlattenedSize and flatten methods.  Because the caller must do this\nsynchronization anyway there\u0027s no reason to also some synchronization\ninside BlobCache.\n\nChange-Id: Ie1f4f6f82b78744f46a41ce863cac0cad276a20e\n"
    },
    {
      "commit": "95be24585f46229f551c529104b5e92fa4316b38",
      "tree": "657706c23c41575c0a6bb092d2b7f42d3e67ea3b",
      "parents": [
        "27ed12492dfbec6ec67b66ff3cf60febce370b01"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 25 13:45:00 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 28 09:39:23 2011 -0700"
      },
      "message": "Remove surface legacy APIs and code.\n\nAll surfaces are now supported through surface textures.\n\nChange-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6\n"
    },
    {
      "commit": "fc9592f8a5f2f75207e5e532655ac294eb2b334b",
      "tree": "b9067a99e0d90eff2f54c9d2cc2150c0036c734b",
      "parents": [
        "859bf0f2efb7b5518055893c17aa3a6437023633",
        "08479ceeba56c460fb52f60a24df27776f1936c3"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 28 02:14:01 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 28 02:14:01 2011 +0000"
      },
      "message": "am 08479cee: Merge \"Stagefright: ANW::connect in MediaPlayerService\" into ics-mr0\n\n* commit \u002708479ceeba56c460fb52f60a24df27776f1936c3\u0027:\n  Stagefright: ANW::connect in MediaPlayerService\n"
    },
    {
      "commit": "0f4f97b70f6ad59b32e78720ba7357733bdef3e9",
      "tree": "e5c7ce8445d6c74dc463530f5bf4070ee1ad3e69",
      "parents": [
        "763480fbcabedfc2f425484ed74bc1e2e1392176"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Oct 27 18:07:01 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 28 00:38:02 2011 +0800"
      },
      "message": "Update camera continuous autofocus javadoc.\n\nSuppose applications call autoFocus in CAF picture mode. If\nCAF is in the middle of scanning, the picture is very likely to\nbe blurry. Change focus callback to return when the scanning\nfinishes.\n\nbug:5514415\nChange-Id: Ibcb8f92a5263d7dbd7cce54df3617fb21c6255d4\n"
    },
    {
      "commit": "2fa0ac2e44f553e29b0d83a5dd87f7dda5422811",
      "tree": "557bc34832113716b320acc208ecdd584d83b793",
      "parents": [
        "ed12460301cf0e04ac61993aaf1142f75f504814"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 26 18:36:31 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 26 18:40:00 2011 -0700"
      },
      "message": "Stagefright: ANW::connect in MediaPlayerService\n\nThis change moves the ANativeWindow connect and disconnect logic from\nMediaPlayer to MediaPlayerService::Client.\n\nBug: 5502654\nChange-Id: Ifc43b98b01ad8f35d62d7ece43110724ec7fda3d\n"
    },
    {
      "commit": "5ded5fc55f2da2af0a76a9ddc52d27948b227037",
      "tree": "56d574dfaee8cd32f7f732a90e247f5cedafc1f5",
      "parents": [
        "6f444425fe1bb62e12973c5df6a3161bc2aa2ce7",
        "b7b4eaaa05284634d50d581d924a250f1194f66d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 26 20:34:38 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 26 20:34:38 2011 +0000"
      },
      "message": "am b7b4eaaa: Merge \"Stagefright: push blank buffers when tearing down\" into ics-mr0\n\n* commit \u0027b7b4eaaa05284634d50d581d924a250f1194f66d\u0027:\n  Stagefright: push blank buffers when tearing down\n"
    },
    {
      "commit": "c0e4293794e9658da1ce9849a42c66ce19ef5f07",
      "tree": "b898e7f88b43b44cbac4f673471015c676b8d08b",
      "parents": [
        "be25d5b05639c8475b7faf312959923db86efa5d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Oct 25 14:50:16 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Oct 25 18:35:02 2011 -0700"
      },
      "message": "Stagefright: push blank buffers when tearing down\n\nThis change makes OMXCodec push RGB 565 buffers filled with black to an\nANativeWindow when tearing down after decoding to protected gralloc\nbuffers.  This allows the OMX tear down to zero out any protected\nbuffers that were used without the possibility that the buffer is still\nbeing used by SurfaceFlinger or HWComposer.\n\nBug: 5483222\nChange-Id: I8acedd81a7bb67dfdc2fd15733e3375b6ce8d560\n"
    },
    {
      "commit": "149a14931e5aa4beb8c4263995f01437a8918465",
      "tree": "ca6e2d3cdc8c93d963fb22329c02f6d1f4910c98",
      "parents": [
        "c919cd77eee93b55e0ab2f8495d200b9defdf2c0",
        "23d644202a44383bf008ff86f6faa3ea7e447290"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Oct 19 22:38:45 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 19 22:38:45 2011 -0700"
      },
      "message": "am 23d64420: Merge \"Stagefright: idle OMX after ANW errors\" into ics-mr0\n\n* commit \u002723d644202a44383bf008ff86f6faa3ea7e447290\u0027:\n  Stagefright: idle OMX after ANW errors\n"
    },
    {
      "commit": "23d644202a44383bf008ff86f6faa3ea7e447290",
      "tree": "c04b81c6d8a70590e02dd347c021a2a6e536c3e0",
      "parents": [
        "44630c72651803ba1dedba3b5352cad8a8a62ace",
        "6607b39baa05ee85a0857c3f95ff9224517b2abc"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Oct 19 22:37:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 19 22:37:18 2011 -0700"
      },
      "message": "Merge \"Stagefright: idle OMX after ANW errors\" into ics-mr0"
    },
    {
      "commit": "6607b39baa05ee85a0857c3f95ff9224517b2abc",
      "tree": "762f143a7abc692a1ef2f25d2356f1774e8bfab7",
      "parents": [
        "5310a731eab664352044781d4b107b4837ea77ac"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 19 21:14:13 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 19 21:22:19 2011 -0700"
      },
      "message": "Stagefright: idle OMX after ANW errors\n\nThis change fixes an issue in Stagefright where the state of an OMXCodec\nobject can get out of sync with the state of the OMX component.  In\nparticular, if one of the ANativeWindow functions failed and put the\nOMXCodec into the ERROR state, this would cause Stagefright to skip\ndoing the Executing -\u003e Idle transition.  Without this transition the\nfreeBuffersOnPort call would never be made, and the MediaBuffers would\nend up being leaked (which would also leak the Gralloc buffers they\nreference).\n\nBug: 5333695\nChange-Id: I85ea0cf92d18e7ef6d35c7d1e2a7b4e2c9745d34\n"
    },
    {
      "commit": "2696d0520f9b928264caa5f98c2e6b1e749f9a11",
      "tree": "f47181e115c3ba1cda5c88d75beb84ba9cd7e96c",
      "parents": [
        "3254774b923378116cc7f9706431bd56f08bdd38",
        "70ac412b2fe7be2507189a9fdfb30c43b36d56ac"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Oct 18 23:00:08 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 18 23:00:08 2011 -0700"
      },
      "message": "am 70ac412b: Merge \"Add a LayerScreenshot\" into ics-mr0\n\n* commit \u002770ac412b2fe7be2507189a9fdfb30c43b36d56ac\u0027:\n  Add a LayerScreenshot\n"
    },
    {
      "commit": "0ab84ef507f23505a72798fbe25cf4bb2c507ea3",
      "tree": "ea360721418d5b13c376c4f2bcbb4066ebb65f93",
      "parents": [
        "526f0a0e158cf46c244edc57624c15ebce26c71f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 13 16:02:48 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 20:21:47 2011 -0700"
      },
      "message": "Add a LayerScreenshot\n\nA LayerScreenshot is a special type of layer that contains a screenshot of\nthe screen acquired when its created. It works just like LayerDim.\n\nMake sure to call compositionComplete() after rendering into a FBO.\n\nBug: 5446982, 5467587, 5466259\nChange-Id: I5d8a1b4c327f9973d950cd4f4c0bca7f62825cd4\n"
    },
    {
      "commit": "72cdc6d488578c7e54523e65ff622bdcb89b7b94",
      "tree": "ddb78c6f63b3a717dec67c5cfdcd35da9256a12b",
      "parents": [
        "2789e257fcdf5947e00726bd7c7a1a88adde7e95",
        "9a0732af1bd96a7d8247dee124a7da389137a52f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 17 15:52:31 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 15:52:31 2011 -0700"
      },
      "message": "am 9a0732af: Merge \"SensorManager reconnects to sensor service when the later dies\" into ics-mr0\n\n* commit \u00279a0732af1bd96a7d8247dee124a7da389137a52f\u0027:\n  SensorManager reconnects to sensor service when the later dies\n"
    },
    {
      "commit": "9a0732af1bd96a7d8247dee124a7da389137a52f",
      "tree": "c048fb43392d7b020e802d4037c93a554f3e25f1",
      "parents": [
        "31603aacbb54b98cbee498412f6a5eb9dd4a2788",
        "de6c44e90681cbdb754e55721953fc828ec8e2aa"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 17 15:50:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 15:50:36 2011 -0700"
      },
      "message": "Merge \"SensorManager reconnects to sensor service when the later dies\" into ics-mr0"
    },
    {
      "commit": "a3dca6fdaacf9ffea4a844848a53c1adeb089897",
      "tree": "584269bf3494ddddfbbacfb57a6a6e43225fe144",
      "parents": [
        "f7ae86f61ba7b326a33e53c3bbb87ebf212f543d",
        "840b8a678537519c27ddf2f818494eaa20a135d4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 17 11:32:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 11:32:19 2011 -0700"
      },
      "message": "am 840b8a67: Revert \"Add a LayerScreenshot\"\n\n* commit \u0027840b8a678537519c27ddf2f818494eaa20a135d4\u0027:\n  Revert \"Add a LayerScreenshot\"\n"
    },
    {
      "commit": "f21dd1eabe5bf4da0dc0d9c23144aa997c05a56d",
      "tree": "c964eebbf3c2ea6c50532d57fd895989956f33a7",
      "parents": [
        "c831f6c9799e13d7fde167abfa9c03eb5ab0827c",
        "7f7362c02bcde8750e24781f5c7199f9551301c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 11:32:08 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 11:32:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://android-git:29418/platform/frameworks/base\n"
    },
    {
      "commit": "7f7362c02bcde8750e24781f5c7199f9551301c5",
      "tree": "83be1a0caf529baec9f7cd21870f5a6329caa182",
      "parents": [
        "bddddf47291a1d93a6907ca943fb299d775fd9c0",
        "de14ecaebcb958f542f50cff08109926aad2c685"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Oct 17 11:31:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 11:31:39 2011 -0700"
      },
      "message": "Merge changes I4e5ff00c,Id5e3ca1d,I97cbba61\n\n* changes:\n  SurfaceFlinger: Remove display freezing code\n  SurfaceFlinger: add some layer update tests\n  SurfaceFlinger: make sync transactions explicit\n"
    },
    {
      "commit": "4b1415ebd9bf39fa3e4ee62eef14cf613ea37dec",
      "tree": "737939cf238ef3111e396d247c84fa65478be424",
      "parents": [
        "bddddf47291a1d93a6907ca943fb299d775fd9c0",
        "57337eb78e65c160fb9c46a01e04c476d1bfdca1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 17 11:30:33 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 11:30:33 2011 -0700"
      },
      "message": "am 57337eb7: Merge \"Add a LayerScreenshot\" into ics-mr0\n\n* commit \u002757337eb78e65c160fb9c46a01e04c476d1bfdca1\u0027:\n  Add a LayerScreenshot\n"
    },
    {
      "commit": "840b8a678537519c27ddf2f818494eaa20a135d4",
      "tree": "f3b32ab3ba51f342b5b9d6e37dbce835739dd4a0",
      "parents": [
        "4fb6416e3a21031a88921a784ae62b13d8a1a39f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 23:54:25 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 23:54:25 2011 -0700"
      },
      "message": "Revert \"Add a LayerScreenshot\"\n\nThis reverts commit d6809f40cf61203573ec5dbc437f695cd132cc18.\n"
    },
    {
      "commit": "de6c44e90681cbdb754e55721953fc828ec8e2aa",
      "tree": "9cd3aeef0b48317abda405f001bea32157cd8af6",
      "parents": [
        "4fb6416e3a21031a88921a784ae62b13d8a1a39f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 22:15:23 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 22:15:23 2011 -0700"
      },
      "message": "SensorManager reconnects to sensor service when the later dies\n\nif system process ever restarted, processes using a SensorManager\nwould loose the ability to use it, resulting to a crash.\nwe now listen for sensor service death and reconnected if necessary.\n\nBug: 5445240\nChange-Id: Ia47f8b26cdcecb729fa22bf11d55e10fcaef8cfc\n"
    },
    {
      "commit": "a39a055304968e799c49e99b700399667eab006a",
      "tree": "7596ce656909c7cde2d6df3d988ae561bb1332b2",
      "parents": [
        "436e270fbb607d62d59e3694ff46c87fa156f78b",
        "5e5d6d8ba04d7579df840cda055cd5dfa9d7666f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 14 21:05:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 14 21:05:58 2011 -0700"
      },
      "message": "Merge \"Deprecate local-only CursorWindows.\""
    },
    {
      "commit": "de14ecaebcb958f542f50cff08109926aad2c685",
      "tree": "5534cd6e9505a6b544e9abc1a93952449ea16f8e",
      "parents": [
        "4f1924380cff7424e23beb82b1b7d448941e2441"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 14 16:44:08 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 14 16:44:08 2011 -0700"
      },
      "message": "SurfaceFlinger: Remove display freezing code\n\nThis change removes the dead code from SurfaceFlinger that resulted from\ndisabling support for freezing the display.\n\nChange-Id: I4e5ff00c94b4c7a79af2f65c9850c135210068ed\n"
    },
    {
      "commit": "122aa6bae9f72015e6d50e78d4d47a95e05d3f49",
      "tree": "363131575744911fd326f10eaf30c4e0913014e0",
      "parents": [
        "708fd1a5f90483153a0ec43c8f5588141acaba0e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 12 17:39:00 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 14 16:11:51 2011 -0700"
      },
      "message": "SurfaceFlinger: make sync transactions explicit\n\nThis change enables a layer or orientation update transaction sent to\nSurfaceFlinger to explicitly request a synchronous transaction.\n\nChange-Id: I97cbba610c13679849f66114b216fa6dbf12f2a9\n"
    },
    {
      "commit": "d6809f40cf61203573ec5dbc437f695cd132cc18",
      "tree": "f7c0278119e2264719eb13d66756fc39df4b35df",
      "parents": [
        "22dad40d3e8ce54a00f337ea06b9b0bbfbd3fd6b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 13 16:02:48 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 14 14:32:48 2011 -0700"
      },
      "message": "Add a LayerScreenshot\n\nA LayerScreenshot is a special type of layer that contains a screenshot of\nthe screen acquired when its created. It works just like LayerDim.\n\nBug: 5446982\nChange-Id: I7814aff2380e7e146937f2b641907be2a30c76cc\n"
    },
    {
      "commit": "0eb6ef1798362d15696618debdb2478b386398c5",
      "tree": "b8fb88c8fcc85ed6f33bcc7ace0188dc72772ecd",
      "parents": [
        "df3975c5aee17cc365b854e616d8831b45809db0",
        "bc554956128d69d8d2e60365fb6cffe6facf659b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 13 10:03:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 10:03:26 2011 -0700"
      },
      "message": "Merge \"Support for an MPEG2 Program Stream extractor.\""
    },
    {
      "commit": "7a3ba4d732d5ce394aab9783e4099b2e71f1903f",
      "tree": "3ff108c0340688afde41e9c2ed5fee904a3de25d",
      "parents": [
        "2507f7801eb3d12ee31661c919f0d507ef49adfb",
        "514a6cfb7f7085b266f457155ff63373d2dff8ee"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Oct 12 23:36:14 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 12 23:36:14 2011 -0700"
      },
      "message": "am 514a6cfb: Merge \"Improve camera javadoc and fix some errors.\" into ics-mr0\n\n* commit \u0027514a6cfb7f7085b266f457155ff63373d2dff8ee\u0027:\n  Improve camera javadoc and fix some errors.\n"
    },
    {
      "commit": "5e5d6d8ba04d7579df840cda055cd5dfa9d7666f",
      "tree": "b9c47baaa3b62795dfc12645da4bed2eb5d3ec13",
      "parents": [
        "5b2dda3be5cc903aafb77ce7902c14d76eb26a9b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 12 15:41:34 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 12 22:19:41 2011 -0700"
      },
      "message": "Deprecate local-only CursorWindows.\n\nThere is no difference and has never really been a difference\nbetween local-only and remotable CursorWindows.  By removing the\ndistinction officially in the API, we will make it easier to\nimplement CrossProcessCursor correctly.  CrossProcessCursor\nis problematic currently because it\u0027s not clear whether a call\nto getWindow() will return a local-only window or a remotable window.\nAs a result, the bulk cursor adaptor has special case handling\nfor AbstractWindowedCursors vs. ordinary CrossProcessCursors\nso that it can set a remotable window before the cursor fills it.\nAll these problems go away if we just forget about local-only\nwindows being special in any way.\n\nChange-Id: Ie59f517968e33d0ecb239c3c4f60206495e8f376\n"
    },
    {
      "commit": "53b30912d3e8598c05e47308981971e958e98db2",
      "tree": "41707ae460d30f43a5265ab05cce0af7cbcaed8a",
      "parents": [
        "63c8a47b7fb8244e8ee9fbcf40a77a30a9c98ca9"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Oct 12 19:43:51 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Oct 13 12:04:05 2011 +0800"
      },
      "message": "Improve camera javadoc and fix some errors.\n\nbug:5169599\nChange-Id: Ic2205770753ff462135f884fee0a888ca8ec832d\n"
    },
    {
      "commit": "19de9efcc4b0367cd6cfde78c90d2d3b213814e9",
      "tree": "e3aca1e653b4e87f488bb56938f9dbf95ea6c258",
      "parents": [
        "dc8f43294ab1da58f78ac516b372c1a698a01ecf",
        "7953745dd565167113f8cbfc461bc0521d32d870"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 12 13:50:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 13:50:11 2011 -0700"
      },
      "message": "Merge \"Reduce the size of libhwui by 50%\""
    },
    {
      "commit": "7953745dd565167113f8cbfc461bc0521d32d870",
      "tree": "f45d34b4b7a6c19c0a639be68e6455a116a93bca",
      "parents": [
        "0bbd8d8273c1dde9e0504f67bd8eb159bef2406a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 12 13:48:51 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 12 13:48:51 2011 -0700"
      },
      "message": "Reduce the size of libhwui by 50%\n\nThis change removes unnessary symbols. All symbols are hidden by\ndefault, public APIs with exported symbols are explicitly marked\nwith ANDROID_API.\n\nChange-Id: I692fde432a86c12108de1cfd1f6504919a7d5f3f\n"
    },
    {
      "commit": "075e4c3d2e6a8a9eb3506dfedc8da938fb65fb65",
      "tree": "3ad3b103a9c8f8d1447405e6475c7ccb2bc63229",
      "parents": [
        "87228cd7bb9a39e2bb33a767d214c8d834f840df",
        "e2909e121c45d58fe587849b1474c80745fcd2b9"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 12 13:03:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 13:03:11 2011 -0700"
      },
      "message": "Merge \"SurfaceFlinger: update orientation via transactions\" into ics-mr0"
    },
    {
      "commit": "0a2735928030229b3340074eb11c2423342fda93",
      "tree": "62b20e5f403e1d18d89f0a9a8be292fa514c1f94",
      "parents": [
        "421648ed06a2c944bc6a5fa866d461761533005b",
        "037abb8bb064c2878858c9b69978f6754f242627"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 12 10:37:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 10:37:57 2011 -0700"
      },
      "message": "Merge \"Add video stabilization control to Camera parameters.\" into ics-mr0"
    },
    {
      "commit": "037abb8bb064c2878858c9b69978f6754f242627",
      "tree": "0def5073e8e5023a5b76bd76f85a4358a91464d9",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 11 12:41:58 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 12 10:34:10 2011 -0700"
      },
      "message": "Add video stabilization control to Camera parameters.\n\nHardware video stabilization reduces camera shake in preview\nand in recorded videos. It has no effect on still image capture.\n\nConvenience accessor methods hidden for now.\n\nChange-Id: Ie18450bff662b2ef98b85d19719beefc180975fc\n"
    },
    {
      "commit": "e2909e121c45d58fe587849b1474c80745fcd2b9",
      "tree": "00ec207d638a9815966e4d7f2c4808dcdd28d9b6",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Oct 10 15:48:06 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Oct 11 13:34:01 2011 -0700"
      },
      "message": "SurfaceFlinger: update orientation via transactions\n\nThis change merges the ISurfaceComposer::setOrientation functionality\ninto ISurfaceComposer::setTransactionState.  It enables the window\nmanager to atomically update both the display orientation and the\nposition and size of the windows in a single transaction with\nSurfaceFlinger.\n\nBug: 5439574\nChange-Id: I18a8ccc564d7d760ef8afb2d015ccdb7a7963900\n"
    },
    {
      "commit": "0cde89f5f025b7826be009ebb9673b970e180e32",
      "tree": "ee6a4c95c0b07890353a813afb15a52334384f0d",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 10 14:50:10 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 11 11:03:19 2011 -0700"
      },
      "message": "Use ashmem for CursorWindows.\nBug: 5332296\n\nThe memory dealer introduces additional delays for reclaiming\nthe memory owned by CursorWindows because the Binder object must\nbe finalized.  Using ashmem instead gives CursorWindow more\ndirect control over the lifetime of the shared memory region.\n\nThe provider now allocates the CursorWindows and returns them\nto clients with a read-only protection bit set on the ashmem\nregion.\n\nImproved the encapsulation of CursorWindow.  Callers shouldn\u0027t\nneed to care about details like how string fields are allocated.\n\nRemoved the compile-time configuration of string and numeric\nstorage modes to remove some dead weight.\n\nChange-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd\n"
    },
    {
      "commit": "d0ff68da6a606602235fb8749473999e3d1bde53",
      "tree": "d77988a2bfec755a4cf116d333fe188f55fe723c",
      "parents": [
        "aa32c30b81134fc7ebd9408f4757d1dc4410f338"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 07 13:28:18 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 07 13:28:18 2011 -0700"
      },
      "message": "Fix regression in CursorWindow.copyStingToBuffer.\nBug: 5332296\n\nChange-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99\n"
    },
    {
      "commit": "3bc6bbc92cd2095f42039b5aadd0a14d0e5d9230",
      "tree": "39b62affe30e0c2895a0f8a52212a7f91bd80dd7",
      "parents": [
        "3b2faf68e5a66ac67b28d6f79d4ba213b6c0d09c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 06 13:11:04 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 06 14:40:13 2011 -0700"
      },
      "message": "Clean up CursorWindow code.\nBug: 5332296\n\nThe code is functionally equivalent, but a little more efficient\nand much easier to maintain.\n\nChange-Id: I90670a13799df05831843a5137ab234929281b7c\n"
    },
    {
      "commit": "db62a245f968159ea5ff8ad99afb4cd035e2304d",
      "tree": "09cbb61511de7a81a17b57edb11e8898ee38f2c5",
      "parents": [
        "b4e7d4ca7502bb8ff599229ec90c1bf5b481f2f7"
      ],
      "author": {
        "name": "Lakshman Gowda",
        "email": "lakshman79@ti.com",
        "time": "Thu Sep 29 17:47:35 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 05 10:29:27 2011 -0700"
      },
      "message": "Set crop params to ANative Window during Initialization.\n\nThe native_window_set_crop() is called when port reconfig event callback comes from decoder\u0027s and\ncrop parameters are changed from default getconfig() OMX_IndexConfigCommonOutputCrop values.\nSince the default crop params are same as port reconfig crop params, the native_window_set_crop()\nis not called, hence resulting in displaying the whole frame(paddedWidth x paddedHeight).\nBy calling native_window_set_crop() during initilaization of output port of decoder ensures\nin setting up ANative window to crop region.\n\nChange-Id: I68926464a1f5c7e6053804615c8b9bd32ea85688\nSigned-off-by: Lakshman Gowda \u003clakshman79@ti.com\u003e\n"
    },
    {
      "commit": "c04db7e06737c5b9bae276ac462858d44002672e",
      "tree": "bc987fad458ca9609339478f4aac28971646d760",
      "parents": [
        "2588a07730ff511329c87b5f61b20419b2443d48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 03 21:09:35 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 03 21:09:35 2011 -0700"
      },
      "message": "Fix handling of \"allow fds\" state.\n\nDidn\u0027t take into account nesting of bundles.  Boo.\n\nChange-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01\n"
    },
    {
      "commit": "6579a9d6fe2302fa149452f66c4062ebc60c2523",
      "tree": "ec270840b71b6dc492748ee7da073e7b50547130",
      "parents": [
        "7d657e5cfacec1f0be845c86dd4336e7efde5ede"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 21:17:56 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 03 17:28:13 2011 -0700"
      },
      "message": "Transfer large bitmaps using ashmem.\nBug: 5224703\n\nChange-Id: If385a66adf4c6179a0bb49c0e6d09a9567e23808\n"
    },
    {
      "commit": "9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d",
      "tree": "08d24c5413fa49ac6386f8b396f29e297e728fbd",
      "parents": [
        "8ebf1efd66516340bedbf0d0a19d5e96cc28fa20"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 28 23:19:47 2011 -0400"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 03 16:58:41 2011 -0700"
      },
      "message": "Add mechanism for Parcel to not allow FDs to be written to it.\n\nThis is to help implement issue #5224703.\n\nChange-Id: I026a5890495537d15b57fe61227a640aac806d46\n"
    },
    {
      "commit": "bc554956128d69d8d2e60365fb6cffe6facf659b",
      "tree": "8a84036682044f96b5b5aade1b18add9c40e86f3",
      "parents": [
        "ce0a7ade96ddbdcb342e0b382e9d3ea43962cafd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 14:12:44 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 30 15:26:31 2011 -0700"
      },
      "message": "Support for an MPEG2 Program Stream extractor.\n\nChange-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41\n"
    },
    {
      "commit": "8606fefa219d63d0a0f3df1b9dcf49cfbfa5b3e5",
      "tree": "b2d21dc0e83e944c544937be3bbf91e76ae9e875",
      "parents": [
        "ce0a7ade96ddbdcb342e0b382e9d3ea43962cafd"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Sep 28 12:13:31 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Sep 30 14:19:41 2011 -0700"
      },
      "message": "SurfaceTexture: parameterize the texture target\n\nThis change adds a hack to allow Android Browser to use a SurfaceTexture\nto stream RGBA images to a GL_TEXTURE_2D texture object.\n\nChange-Id: Idb90064d5d4b920959ef3be7451362ac5012460e\n"
    },
    {
      "commit": "9a6ed36ba55a206934937cfafca7e797e8c6ea00",
      "tree": "5a4edaf522cfaa16037f4298d842602bafe9df32",
      "parents": [
        "1402bb19012d4fc7595da2586bec9e6f428b36fb"
      ],
      "author": {
        "name": "Gilles-Arnaud Bleu-Laine",
        "email": "gilles@ti.com",
        "time": "Thu Sep 15 21:30:13 2011 -0500"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 30 10:46:12 2011 -0700"
      },
      "message": "Gracefuly return on detecting wrong AAC format from corrupted files\n\nReturn BAD_VALUE error upon detection of wrongly formatted files.\nThe client should abort the initialization upon error detection.\n\nThe current CHECK() interrupts the configurecodec() preventing a graceful\nexit.\n\nChange-Id: Ic79313fa76a63284897df5d91635de87d06f3100\nSigned-off-by: Gilles-Arnaud Bleu-Laine \u003cgilles@ti.com\u003e\n"
    },
    {
      "commit": "3e408f39ef1c0513908a3b73da5ce6f4164e85d9",
      "tree": "bd82b382b4d57aa40362b376dd9473114584b7cf",
      "parents": [
        "9a3d51ed1090d459666c3257923b16eca842bb10"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "message": "Support AMR, G.711 and vorbis audio in ACodec and friends.\n\nChange-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983\n"
    },
    {
      "commit": "feb158b3cbd0dada89b0437c3e09699ba3f982de",
      "tree": "a610312c9d024fe83a910ea4d7964e5af74812c5",
      "parents": [
        "ab7ed38d5fea82db64eb90bad9d4c646d61d15df",
        "5b315da4e8a3746376af480c8fe01f98cbc34b33"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Sep 27 14:24:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 14:24:09 2011 -0700"
      },
      "message": "Merge changes Ib302d79e,Ib4ee085f\n\n* changes:\n  SurfaceFlinger: set layer names on SurfaceTextures\n  SurfaceTexture: add name support\n"
    },
    {
      "commit": "928baf1f5480f67c1916a933d691e38de4f0a575",
      "tree": "bab54f6848e44f3722502ce31c5734bede91e5e2",
      "parents": [
        "3bade9504a648ce7606b876dc7d71b4684e279c9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 10:53:29 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 10:53:29 2011 -0700"
      },
      "message": "Propagate error signalled by the source all the way to the output EOS notification.\n\nChange-Id: I30e959a6d669f09745c59fbdebee08f869511cf7\nrelated-to-bug: 5372901\n"
    },
    {
      "commit": "b6377170960d40e66858d8b4d335a95eac773762",
      "tree": "b0737e61622e7184ae35abf71702c9bb87e5def4",
      "parents": [
        "56c58f66b97d22fe7e7de1f7d9548bcbe1973029"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Sun Sep 25 14:30:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 25 14:30:21 2011 -0700"
      },
      "message": "Revert \"Transfer large bitmaps using ashmem. Bug: 5224703\"\n\nThis reverts commit 56c58f66b97d22fe7e7de1f7d9548bcbe1973029\n\nThis CL was causing the browser to crash when adding bookmarks, visiting the bookmarks page, and sharing pages (see bug http://b/issue?id\u003d5369231"
    },
    {
      "commit": "56c58f66b97d22fe7e7de1f7d9548bcbe1973029",
      "tree": "55ab40fcdfe77696388886aed84e33372de51192",
      "parents": [
        "4c253119db0ce753e46ec3809b54b9e357d363db"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 21:17:56 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 21:20:47 2011 -0700"
      },
      "message": "Transfer large bitmaps using ashmem.\nBug: 5224703\n\nChange-Id: Ic7481dd9f173986f085a8bbdcc59bbe9830d7a44\n"
    },
    {
      "commit": "e448f557f620ae30dcead7a4423059dfb7d70add",
      "tree": "7e2c1b78a4087bcbecf905d004fe2955dbb283da",
      "parents": [
        "ec26232d70a342aa88e8190818b1b2973b20186e",
        "3d9a9e55df85c720573e69ec3062efc331ea69bb"
      ],
      "author": {
        "name": "Wei Huang",
        "email": "weih@google.com",
        "time": "Fri Sep 23 10:05:22 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 23 10:05:22 2011 -0700"
      },
      "message": "am 3d9a9e55: Merge \"Update camera javadoc about AE and AWB lock.\" into ics-factoryrom\n\n* commit \u00273d9a9e55df85c720573e69ec3062efc331ea69bb\u0027:\n  Update camera javadoc about AE and AWB lock.\n"
    },
    {
      "commit": "44a052203e6c1c5453a74ebe94607b5c71b136ec",
      "tree": "73d2c4ce575e0d33bfeca4c626151d0ede0baaa5",
      "parents": [
        "5840639fd18c334c0df30ae03b270c452fee0a61"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Sep 16 17:30:26 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Sep 22 17:49:10 2011 -0700"
      },
      "message": "SurfaceTexture: add name support\n\nThis change adds support for setting a string that can be used to\nidentify a SurfaceTexture object in log messages.\n\nChange-Id: Ib4ee085f36c8830dc964c05ef1654f5a55dfcd60\n"
    },
    {
      "commit": "b4f95be03e018df825356fe2cd363797c66303f1",
      "tree": "a596311a33c8ed9233fb349697f80b05ea33bbb8",
      "parents": [
        "90fb9aa93a350d5571a378923c2566f48e44ad3e"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 22 11:43:28 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 22 18:19:02 2011 +0800"
      },
      "message": "Update camera javadoc about AE and AWB lock.\n\n- Autofocus does not lock AE and AWB.\n- stopPreview and takePicture do not clear AE and AWB locks.\n\nbug:5356404\n\nChange-Id: I55d9b35f4ff746ecd2bff112c2674f1aa2543aca\n"
    },
    {
      "commit": "01a98ddbdfbaf1f0d2bc602537e6e314364902a3",
      "tree": "ce904db3ee0772e0e2a35882a6cf86c7b9fcd84e",
      "parents": [
        "04ef5b8dd7262ee90b56df9c992f103695d0a21c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 20 15:08:29 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 21 19:26:15 2011 -0700"
      },
      "message": "Handle orientation changes more systematically.\nBug: 4981385\n\nSimplify the orientation changing code path in the\nWindowManager.  Instead of the policy calling setRotation()\nwhen the sensor determined orientation changes, it calls\nupdateRotation(), which figures everything out.  For the most\npart, the rotation actually passed to setRotation() was\nmore or less ignored and just added confusion, particularly\nwhen handling deferred orientation changes.\n\nEnsure that 180 degree rotations are disallowed even when\nthe application specifies SCREEN_ORIENTATION_SENSOR_*.\nThese rotations are only enabled when docked upside-down for\nsome reason or when the application specifies\nSCREEN_ORIENTATION_FULL_SENSOR.\n\nEnsure that special modes like HDMI connected, lid switch,\ndock and rotation lock all cause the sensor to be ignored\neven when the application asks for sensor-based orientation\nchanges.  The sensor is not relevant in these modes because\nsome external factor (or the user) is determining the\npreferred rotation.\n\nCurrently, applications can still override the preferred\nrotation even when there are special modes in play that\nmight say otherwise.  We could tweak this so that some\nspecial modes trump application choices completely\n(resulting in a letter-boxed application, perhaps).\nI tested this sort of tweak (not included in the patch)\nand it seems to work fine, including transitions between\napplications with varying orientation.\n\nDelete dead code related to animFlags.\n\nHandle pausing/resuming orientation changes more precisely.\nEnsure that a deferred orientation change is performed when\na drag completes, even if endDragLw() is not called because the\ndrag was aborted before the drop happened.  We pause\nthe orientation change in register() and resume in unregister()\nbecause those methods appear to always be called as needed.\n\nChange-Id: If0a31de3d057251e581fdee64819f2b19e676e9a\n"
    },
    {
      "commit": "44bfbbe501880f42105c49d479d4c109af420dbf",
      "tree": "210dfd17031866a1590472264ca5bd92ce53e6b4",
      "parents": [
        "0799e951a68de6da496752975fb1c3a5bd61ce28",
        "83b186a246e8ffd52b91a17c0019dd8c9c9d21b1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 20 14:02:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 20 14:02:44 2011 -0700"
      },
      "message": "Merge \"fix the float Rect in OpenGLRenderer to handle NANs\""
    },
    {
      "commit": "3907c79aebf8621a5a4880c9e66db3c49a44f359",
      "tree": "57278dd5e12f6788d4d624cc75ec969476dafdfe",
      "parents": [
        "cb61187783b2a995cfb56ea6c4a396ebff13ff0f",
        "92d0a64b909cd95e8f4ce587438b0cc6d2daeaa0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 20:09:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 19 20:09:00 2011 -0700"
      },
      "message": "am 92d0a64b: Merge \"Add QVGA resolution to CamcorderProfile\" into ics-factoryrom\n\n* commit \u002792d0a64b909cd95e8f4ce587438b0cc6d2daeaa0\u0027:\n  Add QVGA resolution to CamcorderProfile\n"
    },
    {
      "commit": "07b9ae33127212fd9e15f96fa89b7d4cab81e55e",
      "tree": "2649cc7409bb00e3037451e156931cee3cafe837",
      "parents": [
        "79aa40302b643ee6c6227ee354a1b1378e721568"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 16:27:31 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 19:32:26 2011 -0700"
      },
      "message": "Add QVGA resolution to CamcorderProfile\n\nChange-Id: Icebbafb68d8164370f98a2c36699845d10ef081b\nrelated-to-bug: 5145483\n"
    },
    {
      "commit": "83b186a246e8ffd52b91a17c0019dd8c9c9d21b1",
      "tree": "0cd1c181c99cb42a8775a27b7911e62d20945ddd",
      "parents": [
        "4b5441a7201a2f28becf3ab7fb33694f137e1998"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 19 16:00:46 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 19 16:50:07 2011 -0700"
      },
      "message": "fix the float Rect in OpenGLRenderer to handle NANs\n\n- we want functions like isEmpty() to return true if NANs are\ninvolved in the Rect\n\n- also clean-up the intersect familly of calls\n\n- minor cleanup in the int32_t Rect as well\n\nThese played a role in http://b/5331198.\n\nBug: 5331198\n\nChange-Id: I5369725ab482e4b83da9f1bd4cee5256e5de75b2\n"
    },
    {
      "commit": "bcba155942705de42174871fc1215b3f4655797b",
      "tree": "eea9f615be119d03fee1060dae391ff1841fd3b8",
      "parents": [
        "5908eaef126c746aa88448b53cdc69623dee4fb4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 15 12:21:40 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 16 09:33:22 2011 -0700"
      },
      "message": "A new API \"androidGetThreadPriority\"\n\nChange-Id: I6baeead8c70460863343fd557250635fb1e6a170\n"
    },
    {
      "commit": "93578af23ecfb8f5b6001346d63c6214cdec5d17",
      "tree": "8510331c6755707fbc9af5ab83a49c91641e1812",
      "parents": [
        "a0b1cc0fb193805803cdd2b62dd0bd1e6607aa16",
        "b59ab9f41faafb358afb4f951de96f34a656e0b4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 14 21:27:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 21:27:25 2011 -0700"
      },
      "message": "Merge \"Velocity Tracker II: The Revenge of Velocity Tracker Bug: 5265529\""
    },
    {
      "commit": "b59ab9f41faafb358afb4f951de96f34a656e0b4",
      "tree": "2fe7eefa2f4a044df7440378691264b644fc93f5",
      "parents": [
        "aab55bf3e323b73062bd932682886b19c062a8a0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 14 10:53:18 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 14 19:16:37 2011 -0700"
      },
      "message": "Velocity Tracker II: The Revenge of Velocity Tracker\nBug: 5265529\n\nRewrote the velocity tracker to fit a polynomial curve\nto pointer movements using least squares linear regression.\nThe velocity is simply the first derivative of this polynomial.\n\nClients can also obtain an Estimator that describes the\ncomplete terms of the estimating polynomial including\nthe coefficient of determination which provides a measure\nof the quality of the fit (confidence).\n\nEnhanced PointerLocation to display the movement curve predicted\nby the estimator in addition to the velocity vector.\n\nBy default, the algorithm computes a 2nd degree (quadratic)\npolynomial based on a 100ms recent history horizon.\n\nChange-Id: Id377bef44117fce68fee2c41f90134ce3224d3a1\n"
    },
    {
      "commit": "1318864fa7ce6c85aaf629b1db08c79e4d0cf41e",
      "tree": "0a55adab2711acd93131bf933dd5b8f638c2a7d9",
      "parents": [
        "e71ffeb7e0eaa181130aaaad18a94ef3ab73ecb1",
        "0209da1cb177888af6c58e9bcc13c5d9665d6354"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "message": "Merge \"Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\""
    },
    {
      "commit": "3f0c821740305c352eb355ba3d72906a7a97751c",
      "tree": "37e771ac039d0b0578bc7266ea9122771edf7c99",
      "parents": [
        "d4fdc0f5621098d89c686a0edbfc22247005c46c",
        "7e8626fd7580dc5e0d4b4e4ceef0988067b60037"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "message": "Merge \"Issue 5298399: Lost speech after a crash in gTalk.\""
    },
    {
      "commit": "7e8626fd7580dc5e0d4b4e4ceef0988067b60037",
      "tree": "f0737733bd57b2f217abe1154143e40ec5ec5e0a",
      "parents": [
        "3705b22c9704050dfb46d784ae84e9d7f9357ad4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 15:04:17 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:33:29 2011 -0700"
      },
      "message": "Issue 5298399: Lost speech after a crash in gTalk.\n\nFixed problem in AudioTrack::restoreTrack_l() causing a permanent\nfailure if the IAudioTrack interface to AudioFlinger could not be\nrestored at the first attempt.\n\nChange-Id: I039d4fe2dca8d3baf71f1a6c51119f27a67b6611\n"
    },
    {
      "commit": "0209da1cb177888af6c58e9bcc13c5d9665d6354",
      "tree": "881903a5c7f6df847531cdb98a4d7ffffaf2431d",
      "parents": [
        "62bb0cdc746e850c2d2d5da4f6c7a38f8782f4bc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 12 19:56:23 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 13 11:00:17 2011 -0700"
      },
      "message": "Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\n\nChange-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb\nrelated-to-bug: 5300618\n"
    },
    {
      "commit": "d41108c91fcf2f7a47b733c61ee5983cf22bd6a8",
      "tree": "dd9c47c44c3fbabd34dd29f5711f3ba1e7b2e49c",
      "parents": [
        "92bda84b11ba2aec98036313784444d9f5aebc9a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "message": "Turn an another assertion into a runtime error in ACodec\u0027s implementation\n\nChange-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd\nrelated-to-bug: 5284760\n"
    },
    {
      "commit": "6c048260f30d9bba1a83c4f79388cd6b3109be7d",
      "tree": "f33b3872e68745cfb7e8bfbcd43a3d35ad1e1fb9",
      "parents": [
        "48b391480519c5d6cb4428af6b29b1e3405e4601",
        "13c7197da8a16f77f6398708a6314c80cb01e0d1"
      ],
      "author": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Sun Sep 11 16:48:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 11 16:48:32 2011 -0700"
      },
      "message": "Merge \"Revert encryption mapping for device wipes.\""
    },
    {
      "commit": "0e23c2efb03c8eac7e2bcd6aad61cfc4b15340fc",
      "tree": "99bc808252196a7813ea1b75af26c85708c65ac1",
      "parents": [
        "51322732739b355dd842abc9cef34df8613b2626",
        "581761d4aa0133fe7354cc9e4a5dd3d9d7258c5f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 09 17:01:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 17:01:25 2011 -0700"
      },
      "message": "Merge \"Tweak VelocityTracker. Bug: 5265529\""
    },
    {
      "commit": "581761d4aa0133fe7354cc9e4a5dd3d9d7258c5f",
      "tree": "b54e8f590d67a5a90d1ec19f66f58a47acee4fa4",
      "parents": [
        "bfcb60ab0f696c8ef70830c365550e62fe2808bf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 09 15:39:35 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 09 16:04:09 2011 -0700"
      },
      "message": "Tweak VelocityTracker.\nBug: 5265529\n\nCalculate the velocity using the most recent touch sample as the\npoint of reference instead of the oldest.  This change more heavily\nweights recent touch samples and reduces the sample time window\nused for calculation.  This significantly improves the accuracy\nof fling gesture detection.\n\nChange-Id: Ib1940933e786e5f6a731552a99bcd9400741d55f\n"
    },
    {
      "commit": "973f553be4aabf9656d6c1596b47767896677b0a",
      "tree": "0a41919bfce6237a4bb6332e6c463d630c34e738",
      "parents": [
        "7b8d7cb59cfdc492df920b0c48960a691994f598"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Sep 07 23:55:27 2011 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Sep 09 15:36:42 2011 -0700"
      },
      "message": "Make MediaScanner skip certain directories\n\nThe list of directories to skip are configurable via setprop.\nThe main motivation is that some test data folder takes long time\nto scan, and media scanner may compete for CPU time against perf\ntests therefore skewing the results.\n\nBug: 5263115\nChange-Id: I568213e2a4babf6033021c1d336ef0347c0e3315\n"
    }
  ],
  "next": "13c7197da8a16f77f6398708a6314c80cb01e0d1"
}
