)]}'
{
  "log": [
    {
      "commit": "d10cd5765a2b706fc174f16b951d6b0a5d3740d3",
      "tree": "a3b21518ecfd0729e2f790745a088d7d6ee5cb1a",
      "parents": [
        "514c969ca72b081d84b5f563edf696c6642fa1fa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Oct 10 13:33:22 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 11:00:18 2010 -0700"
      },
      "message": "Always create OpenGL accelerated windows in RGBA 8888.\n\nBug #3081600\n\nThe OpenGL renderer in libhwui uses a single EGL context per process and\nthus create it with an RGBA 8888 EGL configuration. To ensure that all\nwindows are compatible with this configuration, this change modifies\nthe window manager and SurfaceFlinger.\n\nThe window manager now checks the window\u0027s flags and if the window is\nhardware accelerated, it forces the window\u0027s pixel format to be\ntranslucent when creating the surface. The window itself is still\nmarked as opaque if we know that the window will be opaque on screen.\nThis keeps existing optimizations in place.\n\nSimilarly in SurfaceFlinger, a translucent Surface can now be created\nwith the Surface.OPAQUE flag, indicating SurfaceFlinger that the surface\ndoes not require blending, despite its RGBA 8888 configuration.\n\nChange-Id: Ic747b6b12564ba064412d842117880fcc199eb7c\n"
    },
    {
      "commit": "9c9f1a3ba1bc19754e4d38cb27a537d4dfedc0fe",
      "tree": "fc519d8f2f97dc3fa6007f16e07cc05b09849109",
      "parents": [
        "e20c9e0264190f94324197a8271cf03811a4ca58"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 18:32:20 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 18:32:20 2010 -0700"
      },
      "message": "Track input state when transferring touch focus.\n\nCopies the input state to the destination window and sends synthesic\ncancelation events to the source window.\n\nChange-Id: Ia75820b0d756ed5d6cd22dce7830251ac85141ed\n"
    },
    {
      "commit": "e20c9e0264190f94324197a8271cf03811a4ca58",
      "tree": "e482829d555d313e57ead50bc24102897dde9b36",
      "parents": [
        "182e5cf105aa71effbdee15628f020214b54774c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 14:20:19 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 17:54:12 2010 -0700"
      },
      "message": "Fix an event injection bug when the policy is bypassed.\n\nAdded the concept of a \"trusted\" event to distinguish between events from\nattached input devices or trusted injectors vs. other applications.\nThis change enables us to move certain policy decisions out of the\ndispatcher and into the policy itself where they can be handled more\nsystematically.\n\nCherry pick of b931a1b4 from gingerbread into master.\n\nChange-Id: I700a5f07b8b227878cea9437a289a45a245c0424\n"
    },
    {
      "commit": "dd8b0c90400a1c59d4d71d768c02eed961596bc8",
      "tree": "824f5086cdab46a9484c41dc87e921e2ff4212a6",
      "parents": [
        "5d3f6073bfc62811f552a16be7d58483104a29a3",
        "41aabeb51305d19747687f246080f44fc2a74435"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 17:42:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 17:42:30 2010 -0700"
      },
      "message": "am 41aabeb5: am 1e6a3a53: Merge \"Added more robust tracking and cancelation of events.\" into gingerbread\n\nMerge commit \u002741aabeb51305d19747687f246080f44fc2a74435\u0027\n\n* commit \u002741aabeb51305d19747687f246080f44fc2a74435\u0027:\n  Added more robust tracking and cancelation of events.\n"
    },
    {
      "commit": "37de60c179449a706ea41fea8384063723b0cb63",
      "tree": "61d5bc5effb307f88ae74ed970a3e1667ba49c30",
      "parents": [
        "cb4e40768096412c7d068a9cf27b1f5155ddfa94",
        "2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sun Oct 10 17:14:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 17:14:53 2010 -0700"
      },
      "message": "am 2b4f1f4c: am f72dd019: Merge \"Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\" into gingerbread\n\nMerge commit \u00272b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7\u0027\n\n* commit \u00272b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7\u0027:\n  Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\n"
    },
    {
      "commit": "329430a54e152ad1f5e0003194728988661788bb",
      "tree": "0a77d3d71fc858ae611319eefd27a08e7c9ed2c3",
      "parents": [
        "438a17292a3edf779eb7aef5966c8c9e034235a8",
        "4f21e517d09b9d793d20d64547df330fba705b3c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Oct 10 16:06:04 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 16:06:04 2010 -0700"
      },
      "message": "am 4f21e517: am b37fcbfd: Merge \"Added getter for session Id to AudioSink\" into gingerbread\n\nMerge commit \u00274f21e517d09b9d793d20d64547df330fba705b3c\u0027\n\n* commit \u00274f21e517d09b9d793d20d64547df330fba705b3c\u0027:\n  Added getter for session Id to AudioSink\n"
    },
    {
      "commit": "41aabeb51305d19747687f246080f44fc2a74435",
      "tree": "98ac58495ec40abed5b08de8a1a2563ce93edb5b",
      "parents": [
        "0acb0d7a4b9cb684bff6e70b4c41002fb45adc04",
        "1e6a3a53fc4d56e3a0f86c8721dedfd46e738a32"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 10 14:50:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 14:50:38 2010 -0700"
      },
      "message": "am 1e6a3a53: Merge \"Added more robust tracking and cancelation of events.\" into gingerbread\n\nMerge commit \u00271e6a3a53fc4d56e3a0f86c8721dedfd46e738a32\u0027 into gingerbread-plus-aosp\n\n* commit \u00271e6a3a53fc4d56e3a0f86c8721dedfd46e738a32\u0027:\n  Added more robust tracking and cancelation of events.\n"
    },
    {
      "commit": "b699726018a0049665d8ad6b90dbc5af0e18f135",
      "tree": "e711b4de7efbb4473306a208befe0e834d90c39b",
      "parents": [
        "db56b9bd39e739474684987b83f386f50596aa5d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 08 22:31:17 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 10 14:45:51 2010 -0700"
      },
      "message": "Added more robust tracking and cancelation of events.\n\nThis change fixes several issues where events would be dropped in the\ninput dispatch pipeline in such a way that the dispatcher could not\naccurately track the state of the input device.\n\nGiven more robust tracking, we can now also provide robust cancelation\nof input events in cases where an application might otherwise become\nout of sync with the event stream due to ANR, app switch, policy decisions,\nor forced focus transitions.\n\nPruned some of the input dispatcher log output.\n\nMoved the responsibility for calling intercept*BeforeQueueing into\nthe input dispatcher instead of the input reader and added support for\nearly interception of injected events for events coming from trusted\nsources.  This enables behaviors like injection of media keys while\nthe screen is off, haptic feedback of injected virtual keys, so injected\nevents become more \"first class\" in a way.\n\nChange-Id: Iec6ff1dd21e5f3c7feb80ea4feb5382bd090dbd9\n"
    },
    {
      "commit": "584ad9af405e891aebaf3f29b150a91c7d5bc4f1",
      "tree": "0c1566b73960ace1bea2e192aa2e57ca3faed39c",
      "parents": [
        "ee04af3ed40103bc1e3ed5f6ab9e0094d893bceb",
        "1ef773ff9caf9c1b9ee32b634f1c80e9a065aa6a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Oct 10 13:36:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 10 13:36:13 2010 -0700"
      },
      "message": "Merge \"Move binder magic from the Surface class to GraphicBuffer.\""
    },
    {
      "commit": "1ef773ff9caf9c1b9ee32b634f1c80e9a065aa6a",
      "tree": "9f00c524f8d91b21fe99ce89c3a1d703fb236b1d",
      "parents": [
        "d6e9d7695b55414420c366528ba431eacdea5dfc"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Oct 07 13:46:55 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Oct 10 13:09:46 2010 -0700"
      },
      "message": "Move binder magic from the Surface class to GraphicBuffer.\n\n- Register buffers with Gralloc when unflattening a GraphicBuffer (rather than\ndoing it in the Surface class).\n- Add support for a GraphicBuffer that wraps an android_native_window_t*.\n\nChange-Id: I029ac086111bbac800e5ca37eb505f558b718cd8\n"
    },
    {
      "commit": "d5da367024c36b317b101fc066a7a4cf992c7d58",
      "tree": "87cf98a6514557be5427c462349a0ee9deb9a9dd",
      "parents": [
        "bcf74accafcdac6c7a940ce28982fc0ef08e111b",
        "22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 10 12:52:40 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 12:52:40 2010 -0700"
      },
      "message": "am 22cb4ef8: am d577cfd7: Merge \"Switch Looper back to using poll() instead of epoll().\" into gingerbread\n\nMerge commit \u002722cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5\u0027\n\n* commit \u002722cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5\u0027:\n  Switch Looper back to using poll() instead of epoll().\n"
    },
    {
      "commit": "bcf74accafcdac6c7a940ce28982fc0ef08e111b",
      "tree": "f093a5152dd151cf9e28c7d620e4e58e4a0140ce",
      "parents": [
        "06dfa35e3c5f379b14d2acbc584c8d8cb2e822c7",
        "9580b8ce6553ddde03db594fd4fd4f59ca61c382"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Sun Oct 10 12:51:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 12:51:00 2010 -0700"
      },
      "message": "am 9580b8ce: resolved conflicts for merge of e6ad0e47 to gingerbread-plus-aosp\n\nMerge commit \u00279580b8ce6553ddde03db594fd4fd4f59ca61c382\u0027\n\n* commit \u00279580b8ce6553ddde03db594fd4fd4f59ca61c382\u0027:\n  Update of DRM framework.\n"
    },
    {
      "commit": "06dfa35e3c5f379b14d2acbc584c8d8cb2e822c7",
      "tree": "6f85385f03eb1ec1dda1f6127145a054eac2a79d",
      "parents": [
        "22b379ad178fe256bbfe706e32f611466f656fd9",
        "bb70837397e3fb437b7b4443b37d7a83c11e6e43"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sun Oct 10 11:25:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 11:25:54 2010 -0700"
      },
      "message": "am bb708373: am 949f7d90: Merge \"Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\" into gingerbread\n\nMerge commit \u0027bb70837397e3fb437b7b4443b37d7a83c11e6e43\u0027\n\n* commit \u0027bb70837397e3fb437b7b4443b37d7a83c11e6e43\u0027:\n  Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\n"
    },
    {
      "commit": "72662b1abe7e76f5d880ffc44c561b3af63f89ad",
      "tree": "b2ecf72154e1d23fcb1d96b75c9affdd44ead4b4",
      "parents": [
        "7a2eff1fc79f3594ea4ef0f1c6aaa7a1d914dd1b",
        "45bd1159fa34b51ba077e0cde760d171ca092552"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sun Oct 10 11:16:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 11:16:01 2010 -0700"
      },
      "message": "am 45bd1159: am 02654f01: Merge \"On this particular device the hardware video decoder spits out buffers that don\\\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\" into gingerbread\n\nMerge commit \u002745bd1159fa34b51ba077e0cde760d171ca092552\u0027\n\n* commit \u002745bd1159fa34b51ba077e0cde760d171ca092552\u0027:\n  On this particular device the hardware video decoder spits out buffers that don\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\n"
    },
    {
      "commit": "997eaa2c7c6f7c59d145dab3e93431ea2e2a7dc7",
      "tree": "e2c981c36bfad2f95a0ab9f8be4b5ee8d3a4e9d8",
      "parents": [
        "4c0c81a30733ba677c16db14a54349d80c642b5b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Oct 09 01:16:58 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Oct 09 01:21:20 2010 -0700"
      },
      "message": "0-memcpy video recording framework\n\nPart III: Move startRecording() call earlier, asking camera hal\nto allocate video buffers before CameraSource.start() is called.\n\nChange-Id: I3f1d7d5636ca2644fe52af61f297d48c6b1ce89d\n"
    },
    {
      "commit": "0c128b67f066b2e691348d5375c2da47b84f69ac",
      "tree": "1ad86cd5d3bba568535b8e6c79a0585c50e58157",
      "parents": [
        "54ca811b29ceea6595b7e3d607a89ee625f0184c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 08 11:59:32 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 08 18:32:43 2010 -0700"
      },
      "message": "Move Camera specific logic out from StagefrightRecorder to CameraSource\n\no updated comments and streamlined the logic in\n  checkVideoSize() and checkFrameRate() as suggested\n\nChange-Id: I49d04ac7998d4a215997aa63555dfb6e814e38d3\n"
    },
    {
      "commit": "2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7",
      "tree": "398decc9b6a98cf073b75b230dbcd550363b7e3e",
      "parents": [
        "5dcf588a81a59142985736d8bb0430586f68ec08",
        "f72dd0190ee64914161d361be1213eda8cab7b90"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 11:18:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 11:18:03 2010 -0700"
      },
      "message": "am f72dd019: Merge \"Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\" into gingerbread\n\nMerge commit \u0027f72dd0190ee64914161d361be1213eda8cab7b90\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f72dd0190ee64914161d361be1213eda8cab7b90\u0027:\n  Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\n"
    },
    {
      "commit": "f72dd0190ee64914161d361be1213eda8cab7b90",
      "tree": "7d3193050b07d2c017ec6df20278038b02119f7b",
      "parents": [
        "b9bf545774b1f1dbd35c34c4060a6ebdd2bc843c",
        "10b9b3f3fe47cea0833fe2c7d5ed08a1185f9006"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 11:16:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 11:16:07 2010 -0700"
      },
      "message": "Merge \"Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\" into gingerbread"
    },
    {
      "commit": "10b9b3f3fe47cea0833fe2c7d5ed08a1185f9006",
      "tree": "db45ecb6b04d3acaf38d3cd8871ed70ef8c5bbe9",
      "parents": [
        "bb245d35b6e81d750a91815543973b0a5976352b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:16:24 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:16:24 2010 -0700"
      },
      "message": "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\n\nChange-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2\nrelated-to-bug: 3073955\n"
    },
    {
      "commit": "4f21e517d09b9d793d20d64547df330fba705b3c",
      "tree": "872e144dacbf5668fd8012c937f1feddb06cf0c9",
      "parents": [
        "d96a068cc7b3519a5b7d122a12025684b6f28c76",
        "b37fcbfd7f9d65b90b43e0242903030c5a6517b5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 08 08:30:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 08:30:03 2010 -0700"
      },
      "message": "am b37fcbfd: Merge \"Added getter for session Id to AudioSink\" into gingerbread\n\nMerge commit \u0027b37fcbfd7f9d65b90b43e0242903030c5a6517b5\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b37fcbfd7f9d65b90b43e0242903030c5a6517b5\u0027:\n  Added getter for session Id to AudioSink\n"
    },
    {
      "commit": "b3bdf3f0086f1d921720f6dc92cabc7b6f2ab63e",
      "tree": "21f02868e4a39ef36117dc7e0724e0ad5adf1247",
      "parents": [
        "36a182870527f1d71f482e9a280bc818a4609cb6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 07 18:23:03 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 07 18:23:03 2010 -0700"
      },
      "message": "Added getter for session Id to AudioSink\n\nAdded a method to expose the audio session id at AudioSink interface\nso that the AudioPlayer in stagefright can retrieve it.\n\nAlso:\n- Fixed audio effect send level not being initialized in mediaplayer.\n- Fixed compilation error when LOGV is enabled in mediaplayer JNI\n\nChange-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb\n"
    },
    {
      "commit": "22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5",
      "tree": "e725626a428d290ad091d2618c9c4f0694f4dd0a",
      "parents": [
        "9580b8ce6553ddde03db594fd4fd4f59ca61c382",
        "d577cfd73a223279f9a5af698f55edd38a3fe4db"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 07 15:46:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 15:46:57 2010 -0700"
      },
      "message": "am d577cfd7: Merge \"Switch Looper back to using poll() instead of epoll().\" into gingerbread\n\nMerge commit \u0027d577cfd73a223279f9a5af698f55edd38a3fe4db\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d577cfd73a223279f9a5af698f55edd38a3fe4db\u0027:\n  Switch Looper back to using poll() instead of epoll().\n"
    },
    {
      "commit": "9580b8ce6553ddde03db594fd4fd4f59ca61c382",
      "tree": "bac634abd9cb09389028cbc9c3c2d80adbb7f3d2",
      "parents": [
        "bb70837397e3fb437b7b4443b37d7a83c11e6e43",
        "e6ad0e477b5d4326487059e5d6c4697f97accbd1"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Oct 07 15:27:17 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Oct 07 15:27:17 2010 -0700"
      },
      "message": "resolved conflicts for merge of e6ad0e47 to gingerbread-plus-aosp\n\nChange-Id: I63b00932b0f8b975da31aa9a010369db2d49fd76\n"
    },
    {
      "commit": "bb70837397e3fb437b7b4443b37d7a83c11e6e43",
      "tree": "c99194c9284fffd07e07f8cf7f8daf2adef5692e",
      "parents": [
        "51501aa8703c15c6156ba14774f3ff41cde31700",
        "949f7d9066e09768e570686a5695aaba4a1dafd0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 14:02:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 14:02:26 2010 -0700"
      },
      "message": "am 949f7d90: Merge \"Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\" into gingerbread\n\nMerge commit \u0027949f7d9066e09768e570686a5695aaba4a1dafd0\u0027 into gingerbread-plus-aosp\n\n* commit \u0027949f7d9066e09768e570686a5695aaba4a1dafd0\u0027:\n  Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\n"
    },
    {
      "commit": "45bd1159fa34b51ba077e0cde760d171ca092552",
      "tree": "679c5f55c40aa310039761a7f22bb861d648b9c4",
      "parents": [
        "c0c2076e9a4dfd3b30b988d4ddd78abf9ed83166",
        "02654f01bc6bd2e581b4a1d2409ecea217294fa2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 14:02:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 14:02:01 2010 -0700"
      },
      "message": "am 02654f01: Merge \"On this particular device the hardware video decoder spits out buffers that don\\\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\" into gingerbread\n\nMerge commit \u002702654f01bc6bd2e581b4a1d2409ecea217294fa2\u0027 into gingerbread-plus-aosp\n\n* commit \u002702654f01bc6bd2e581b4a1d2409ecea217294fa2\u0027:\n  On this particular device the hardware video decoder spits out buffers that don\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\n"
    },
    {
      "commit": "d577cfd73a223279f9a5af698f55edd38a3fe4db",
      "tree": "30533a98b61ae7846db76ff39c91f73980ffda2e",
      "parents": [
        "949f7d9066e09768e570686a5695aaba4a1dafd0",
        "415d8c38199e258dfce92cdb0c69e056b3b51ef8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 07 13:29:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 07 13:29:56 2010 -0700"
      },
      "message": "Merge \"Switch Looper back to using poll() instead of epoll().\" into gingerbread"
    },
    {
      "commit": "415d8c38199e258dfce92cdb0c69e056b3b51ef8",
      "tree": "5bf6d167a19b272f2a153df6010a7dd6f58a274f",
      "parents": [
        "930d6c3cd5ad387489eb1d35a38beeafe54166b6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 05 15:35:37 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 07 13:26:39 2010 -0700"
      },
      "message": "Switch Looper back to using poll() instead of epoll().\n\nAdded a couple of micro-optimizations to avoid calling wake() unnecessarily\nand reduce JNI overhead slightly.\n\nFixed a minor issue where we were not clearing the \"next\" field of Messages\nreturned by the MessageQueue so the Message would hold on to its successor\nand potentially prevent the GC from collecting it if the message were leaked\nsomehow.\n\nChange-Id: I488d29417ce0cdd7d0e447cda76ec978ef7f811c\n"
    },
    {
      "commit": "a458719bb6ebbcce99d4dba43af4bd51c5a06216",
      "tree": "6749676e32e62171ac2ae40dea62ad5ac2303981",
      "parents": [
        "c5610a4c1308e2d52108131fbdef35e432a414b6",
        "56ee1080f004110bff622e5b60c243d9cabfe120"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 12:21:33 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 12:21:33 2010 -0700"
      },
      "message": "am 56ee1080: am 17bc4f65: Merge \"Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\" into gingerbread\n\nMerge commit \u002756ee1080f004110bff622e5b60c243d9cabfe120\u0027\n\n* commit \u002756ee1080f004110bff622e5b60c243d9cabfe120\u0027:\n  Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\n"
    },
    {
      "commit": "928b5bfa7db23cddc93624a6ff31ff208e8b24bf",
      "tree": "4d6dd5b5b085c4cf6000b4c0d51b6d53f11b5e06",
      "parents": [
        "13297fddcbac3247d78f4c7e6408fa6dd8011d9f",
        "56364bcd0d1a1b064db3e83fdb64f948ce5c2ad7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 07 12:20:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 12:20:45 2010 -0700"
      },
      "message": "am 56364bcd: am 78d15acf: Merge \"Make secure views tolerate IME overlays.\" into gingerbread\n\nMerge commit \u002756364bcd0d1a1b064db3e83fdb64f948ce5c2ad7\u0027\n\n* commit \u002756364bcd0d1a1b064db3e83fdb64f948ce5c2ad7\u0027:\n  Make secure views tolerate IME overlays.\n"
    },
    {
      "commit": "4c19bf9833f59f58a9aaea566f0eb98a7fb7e2ea",
      "tree": "98365cbdcad2ebb3095dcb71afdece89fc13ed07",
      "parents": [
        "02654f01bc6bd2e581b4a1d2409ecea217294fa2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 08 14:32:20 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 11:41:43 2010 -0700"
      },
      "message": "Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\n\nChange-Id: I7150e5e7342e1117c524856b204aadcb763e06ed\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "1e1941638398e5e3e1d7b9ad88e66f574576bcfa",
      "tree": "e6c89a82b8298503ff96a891e706a55d48c0d574",
      "parents": [
        "f8d2acdc57fd747278bb909c9e15b959e07d63b6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 06 16:43:57 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 09:19:25 2010 -0700"
      },
      "message": "On this particular device the hardware video decoder spits out buffers that don\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\n\nChange-Id: I1b8fe68c1766299844fe84ebbff49cb8b3e4cc7c\nrelated-to-bug: 3070094\n"
    },
    {
      "commit": "cf2bdd1fd88d7d10c6309fac5a44d5b44b9b12e4",
      "tree": "57af4aa11b766470bf5fedf9930f313414f8439b",
      "parents": [
        "b5c564fed2aa3b0c6b4b4f3289532f5f00ce4eca",
        "769bb2aaa400f9d5ece1b145a9aac2c544015f35"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 07 08:11:26 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 07 08:11:26 2010 -0700"
      },
      "message": "Merge \"0-memcpy video recording framework\""
    },
    {
      "commit": "769bb2aaa400f9d5ece1b145a9aac2c544015f35",
      "tree": "e93f9fd93104810a3993d2b6da73081a7062c24a",
      "parents": [
        "c9d5b31f84f5c8b5db690491031369556ed7fee9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 06 18:11:23 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 07 02:09:03 2010 -0700"
      },
      "message": "0-memcpy video recording framework\n\nPart II: proposed camera hal change\n\nChange-Id: I51663cf5de2b00f71e4ff1828080094676065444\n"
    },
    {
      "commit": "499f518400d54f2f14753a674edd95c5bb11acfd",
      "tree": "4a985755f7752b22cdea5d7cbaa4f5417d53da65",
      "parents": [
        "7930b5bc068e92a1eaaa6c890b77aebbdf01e259",
        "ff04e97faf75c435e453d4c1caf7eeac8b9c1ceb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 06 17:07:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 06 17:07:39 2010 -0700"
      },
      "message": "am ff04e97f: am f4619308: Merge \"fix [2835280] Add support for cancelling buffers to ANativeWindow\" into gingerbread\n\nMerge commit \u0027ff04e97faf75c435e453d4c1caf7eeac8b9c1ceb\u0027\n\n* commit \u0027ff04e97faf75c435e453d4c1caf7eeac8b9c1ceb\u0027:\n  fix [2835280] Add support for cancelling buffers to ANativeWindow\n"
    },
    {
      "commit": "8c4a042984ce9132810f6e79da732ea89e467d6f",
      "tree": "16d37ccdeb9fd09a0ca5711a23c4c602bc40b119",
      "parents": [
        "664d035829acd35f75fa82826d960efd72da3578",
        "a86a6c4e326bfdfc351dacca95b23bb78f78efbe"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 06 16:17:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 06 16:17:14 2010 -0700"
      },
      "message": "am a86a6c4e: am 6f1c7bda: Merge \"Fixed an issue where the reserved free space in the file writer was larger than intended\" into gingerbread\n\nMerge commit \u0027a86a6c4e326bfdfc351dacca95b23bb78f78efbe\u0027\n\n* commit \u0027a86a6c4e326bfdfc351dacca95b23bb78f78efbe\u0027:\n  Fixed an issue where the reserved free space in the file writer was larger than intended\n"
    },
    {
      "commit": "4f65ea60555ef01e6ca0cd64acc0ef698640c853",
      "tree": "b3078773f7d362251cab92b32ac8c12f25adb690",
      "parents": [
        "0f935ebfffee769c3c707813bf9db7d50996d785",
        "bfa33b9484e2c0a019ab81f30261b9696df23a9b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 17:02:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 05 17:02:42 2010 -0700"
      },
      "message": "am bfa33b94: am f84a5918: Merge \"Use pread() in ZipFileRO for Linux\" into gingerbread\n\nMerge commit \u0027bfa33b9484e2c0a019ab81f30261b9696df23a9b\u0027\n\n* commit \u0027bfa33b9484e2c0a019ab81f30261b9696df23a9b\u0027:\n  Use pread() in ZipFileRO for Linux\n"
    },
    {
      "commit": "56ee1080f004110bff622e5b60c243d9cabfe120",
      "tree": "afd1e67174d27ee1c67e751004b1e05009cdbfa8",
      "parents": [
        "cfc80bd5c1e4f0207357b288b1b7b8374a31ba70",
        "17bc4f65324a823598e7671256c815bf32ddcc95"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 14:13:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 05 14:13:16 2010 -0700"
      },
      "message": "am 17bc4f65: Merge \"Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\" into gingerbread\n\nMerge commit \u002717bc4f65324a823598e7671256c815bf32ddcc95\u0027 into gingerbread-plus-aosp\n\n* commit \u002717bc4f65324a823598e7671256c815bf32ddcc95\u0027:\n  Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\n"
    },
    {
      "commit": "c743f4506f88a14189449c719a6ec1cfe5f0f812",
      "tree": "f69dfc65287acea092d8769ca3e6f907567a4b6b",
      "parents": [
        "78d15acfb20269ce263ce19514a2c0e7a98409e2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 10:25:34 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 13:53:39 2010 -0700"
      },
      "message": "Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\n\nChange-Id: Id574a0203efcb5e565f1b0fe77869fc33b9a9d56\n"
    },
    {
      "commit": "56364bcd0d1a1b064db3e83fdb64f948ce5c2ad7",
      "tree": "0ae7fc29d1870e7b13694c7245df6d9ad19b2db3",
      "parents": [
        "f2cc2e522177683145b2daa0de0ed898b865824d",
        "78d15acfb20269ce263ce19514a2c0e7a98409e2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 05 13:17:04 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 05 13:17:04 2010 -0700"
      },
      "message": "am 78d15acf: Merge \"Make secure views tolerate IME overlays.\" into gingerbread\n\nMerge commit \u002778d15acfb20269ce263ce19514a2c0e7a98409e2\u0027 into gingerbread-plus-aosp\n\n* commit \u002778d15acfb20269ce263ce19514a2c0e7a98409e2\u0027:\n  Make secure views tolerate IME overlays.\n"
    },
    {
      "commit": "19dfc83c376d8f5ff3b128ee4c675790cffbc02d",
      "tree": "06b41715a604ca7dc09cc852c28a8cd2354a0fee",
      "parents": [
        "95037fb1a633f5bdeb4e0ece2d18a4974259c368"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 05 12:26:23 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 05 12:26:23 2010 -0700"
      },
      "message": "Make secure views tolerate IME overlays.\n\nChange-Id: I3cf09b9d91045f4d9c558b4aace482a7b0bbd3d8\n"
    },
    {
      "commit": "ff04e97faf75c435e453d4c1caf7eeac8b9c1ceb",
      "tree": "089714d6c07e5ec9e3bbf3cf5478c1dd264d8bc1",
      "parents": [
        "722665c5f76e81bed646490977ea30f38aaa00da",
        "f461930872beb4362998642c115691bdd2e94617"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 04 20:21:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 20:21:14 2010 -0700"
      },
      "message": "am f4619308: Merge \"fix [2835280] Add support for cancelling buffers to ANativeWindow\" into gingerbread\n\nMerge commit \u0027f461930872beb4362998642c115691bdd2e94617\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f461930872beb4362998642c115691bdd2e94617\u0027:\n  fix [2835280] Add support for cancelling buffers to ANativeWindow\n"
    },
    {
      "commit": "8ddd2c72ee7dd6f45e5375a197774b8671b982b7",
      "tree": "b3a346d011b76c96b986f831036ff95652f067cf",
      "parents": [
        "19058877df9bf94f197a72855f810f7f6bf8d068"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 01 16:22:41 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 04 20:10:11 2010 -0700"
      },
      "message": "fix [2835280] Add support for cancelling buffers to ANativeWindow\n\nThere is a new ANativeWindow::cancelBuffer() API that can be used to\ncancel any dequeued buffer, BEFORE it\u0027s been enqueued. The buffer is\nreturned to the list of availlable buffers. dequeue and cancel are not\nmutually thread safe, they must be called from the same thread or\nexternal synchronization must be used.\n\nChange-Id: I86cc7985bace8b6a93ad2c75d2bef5c3c2cb4d61\n"
    },
    {
      "commit": "bba3b8efbe7dc9dd6fa326103ef7ddefc28d5ba5",
      "tree": "5da8b6283591ad47c1edca60a110fb3837a2459b",
      "parents": [
        "9fa7926beaf6c7fe32159a7e41fae9f618ec7504",
        "19058877df9bf94f197a72855f810f7f6bf8d068"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 04 20:06:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 20:06:51 2010 -0700"
      },
      "message": "am 19058877: Merge \"refactored screenshot code\" into gingerbread\n\nMerge commit \u002719058877df9bf94f197a72855f810f7f6bf8d068\u0027 into gingerbread-plus-aosp\n\n* commit \u002719058877df9bf94f197a72855f810f7f6bf8d068\u0027:\n  refactored screenshot code\n"
    },
    {
      "commit": "19058877df9bf94f197a72855f810f7f6bf8d068",
      "tree": "f88763bcad2b9d97f19538bb0a4f40e83c4f8a8a",
      "parents": [
        "b9aacfdfb014cc0299f7999d2a8940cd60a4cc59",
        "597c7f67b5f2491c6098a1de241a3f0fd274688a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 04 20:04:42 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 04 20:04:42 2010 -0700"
      },
      "message": "Merge \"refactored screenshot code\" into gingerbread"
    },
    {
      "commit": "a86a6c4e326bfdfc351dacca95b23bb78f78efbe",
      "tree": "5c7b2072a20be1393f9e02144527d39a786ed5a9",
      "parents": [
        "c7bfb13fd92cda6ae5894ed2ee63e1ab4d7b25ee",
        "6f1c7bda39774fe3a1febf72b03c8ad481c1ea54"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 18:39:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 18:39:52 2010 -0700"
      },
      "message": "am 6f1c7bda: Merge \"Fixed an issue where the reserved free space in the file writer was larger than intended\" into gingerbread\n\nMerge commit \u00276f1c7bda39774fe3a1febf72b03c8ad481c1ea54\u0027 into gingerbread-plus-aosp\n\n* commit \u00276f1c7bda39774fe3a1febf72b03c8ad481c1ea54\u0027:\n  Fixed an issue where the reserved free space in the file writer was larger than intended\n"
    },
    {
      "commit": "6f1c7bda39774fe3a1febf72b03c8ad481c1ea54",
      "tree": "12cc1b22592ca6386e19a499479dd9532b351889",
      "parents": [
        "15f107b151deff1f25f1255bdbcb630ed576ac8d",
        "6a9e39ac55b32a2847546ef1784c2d6c91863a55"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 18:37:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 04 18:37:48 2010 -0700"
      },
      "message": "Merge \"Fixed an issue where the reserved free space in the file writer was larger than intended\" into gingerbread"
    },
    {
      "commit": "597c7f67b5f2491c6098a1de241a3f0fd274688a",
      "tree": "841774d2e67bfced0608d2344868c64ac566004e",
      "parents": [
        "541d942000c338a15dc4b361b15b72864640d2bf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 29 13:02:36 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 04 17:36:17 2010 -0700"
      },
      "message": "refactored screenshot code\n\nthe core screenshot function now can capture the screen at any lower resolution\nperforming bilinear filtering.\n\nwe also now have some client code to interface with the screenshot service.\n\nit\u0027s now possible to request a screenshot at a lower resolution.\n\nChange-Id: I33689bba98507ab928d0898b21596d0d2fe4b953\n"
    },
    {
      "commit": "bfa33b9484e2c0a019ab81f30261b9696df23a9b",
      "tree": "12be49b8e0bfced18747358526669e49ba5fa2ac",
      "parents": [
        "b3e95d9fc4365d20a39aa3ef61da537dabf5b800",
        "f84a5918f5e0572c0280fa705970ef7459b45393"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 04 17:12:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 17:12:10 2010 -0700"
      },
      "message": "am f84a5918: Merge \"Use pread() in ZipFileRO for Linux\" into gingerbread\n\nMerge commit \u0027f84a5918f5e0572c0280fa705970ef7459b45393\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f84a5918f5e0572c0280fa705970ef7459b45393\u0027:\n  Use pread() in ZipFileRO for Linux\n"
    },
    {
      "commit": "6a9e39ac55b32a2847546ef1784c2d6c91863a55",
      "tree": "62d33aedf7875659cd5cea087c563e50a3afd065",
      "parents": [
        "a29643a6455df7d3d615cdc45e11c437fe4b6cee"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 16:41:53 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 16:54:59 2010 -0700"
      },
      "message": "Fixed an issue where the reserved free space in the file writer was larger than intended\n\nThe problem was that even though user does not explicitly request the max file size\nlimit via MediaRecorder.setMaxFileSize(), the file writer sets an implicit file\nsize limit if 32-bit file offset is used on user\u0027s behalf. The reserved free space\nis estimated based on the file size, if the file size limit is set by the user.\n\nThe fix is to add an extra bool to tell the difference between an\nexplit requested file size and an implicit file limit and use that\nto set the estimated moov box size accordingly.\n\nChange-Id: I731aca6c7833aa764ed7b905edb77721577471b3\n"
    },
    {
      "commit": "259ec46e8e80a9f1d0b5c7a3865a498110a7f11b",
      "tree": "c2987b5a006425d41438227011f5b9b5a6febb15",
      "parents": [
        "106950f20bd352ed72ddf4490b2e19d305e36a74"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 04 14:20:14 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 04 15:17:19 2010 -0700"
      },
      "message": "Use pread() in ZipFileRO for Linux\n\nAssetManager instances are created by zygote and passed to all its\nchildren so that they don\u0027t have to individually open\nframeworks-res.apk. This creates a problem for determining the current\nfile offset when using lseek() on those files, because you can\u0027t\nguarantee the cross-process locking of a mutex. Luckily, Linux\nimplements pread() to get around this suckiness.\n\nThe problem is that only Linux implements this, so we have to keep the\nold locking for use on host builds with aapt and friends. aapt doesn\u0027t\nhave this same problem of sharing file descriptors across forked\nprocesses, so we can keep the local AutoMutex to protect accesses of\nthose files.\n\nChange-Id: Ibe9f11499a53fe345f50fbaea438815ec0fd363e\n"
    },
    {
      "commit": "6d95c0d941fa0d9ea50b74e60baf82956a4d4452",
      "tree": "89b9d1f34e4ccbba4ef98dfea8f3f8911dcc8b3d",
      "parents": [
        "51d2adab83837425dae8062b7ff2a5bd1e732dd9",
        "ac7540733cafcca5bdb1842e1ebcb396ba064583"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 04 07:54:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 07:54:06 2010 -0700"
      },
      "message": "am ac754073: am b58b2714: Merge \"ZipFileRO: moar logging and wrap close\" into gingerbread\n\nMerge commit \u0027ac7540733cafcca5bdb1842e1ebcb396ba064583\u0027\n\n* commit \u0027ac7540733cafcca5bdb1842e1ebcb396ba064583\u0027:\n  ZipFileRO: moar logging and wrap close\n"
    },
    {
      "commit": "ac7540733cafcca5bdb1842e1ebcb396ba064583",
      "tree": "3d155d892096e2f1a02119eb94a0bd775e3de687",
      "parents": [
        "1f34ffd7e36de5d1a12d4a3901c3ac4e4e56cb99",
        "b58b27142a936aa76897a7040c08b8a0989a685b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 04 07:41:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 07:41:11 2010 -0700"
      },
      "message": "am b58b2714: Merge \"ZipFileRO: moar logging and wrap close\" into gingerbread\n\nMerge commit \u0027b58b27142a936aa76897a7040c08b8a0989a685b\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b58b27142a936aa76897a7040c08b8a0989a685b\u0027:\n  ZipFileRO: moar logging and wrap close\n"
    },
    {
      "commit": "b58b27142a936aa76897a7040c08b8a0989a685b",
      "tree": "98a95c36bd1b042cfd3aa830c804d69cb3064174",
      "parents": [
        "5cab38ba11d976c54f28f4bdbced78040cba1cbb",
        "6cb241f9024c6923715cf4e9eeaf803a7d258750"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 04 07:28:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 04 07:28:20 2010 -0700"
      },
      "message": "Merge \"ZipFileRO: moar logging and wrap close\" into gingerbread"
    },
    {
      "commit": "dc549d60f98d809f626c99de614960409a847054",
      "tree": "bb40a8371811f1c591cc22afa331e57b3d091c9e",
      "parents": [
        "7d9c73fb6f6f79f7f92b77482a0edbd7b89f2564"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Sep 20 23:40:41 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Oct 04 22:14:53 2010 +0900"
      },
      "message": "Update of DRM framework.\n\n  - Change \"void\" type of return value to \"int\" for returning status.\n  - Add some of overloaded Java APIs which accept database Uri as input.\n  - Add asynchronous APIs\n  - Add OnEventListener and OnErrorListener for asynchronous APIs\n  - Disable debug log\n  - Change decrypt() API to accept an optional buffer needed by some of DRM schemes\n\nChanges are incorporated by Sony Corporation.\n\nChange-Id: I414a165e22cc79be6ea7cd28041788aa2b6b8f7c\n"
    },
    {
      "commit": "4fd446f7b7e55dec61f15bcba8f9984af49b9c31",
      "tree": "2d6ea2ee430a92a146d55c63960726cbf9618f88",
      "parents": [
        "2b282d312dfc359258934cb60e2c6bc833bb19a7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 30 10:50:51 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Oct 03 21:24:49 2010 -0700"
      },
      "message": "Video size retrieval/configuration support in camera hal\n\nThis is the first part of the camera hal change required for\n0-memcpy of input video frames for video recording.\n\no removed check in setVideoSize()/getVideoSize() for impl consistency\n\nChange-Id: I01274a62b9f9eaf32154d98f8d0bfedacf645698\n"
    },
    {
      "commit": "a4d45cda697dbd8fa164766b87163d1b0469bd81",
      "tree": "4d24c7155ac21ba0eb164798391cfb099dd58f14",
      "parents": [
        "0f5f2e4c27612e2cda231473aec0c06838ff3750",
        "ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 21:49:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 21:49:39 2010 -0700"
      },
      "message": "am ea58d1ba: am e951ef07: Merge \"Wait for initial device scan to finish before updating config.\" into gingerbread\n\nMerge commit \u0027ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1\u0027\n\n* commit \u0027ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1\u0027:\n  Wait for initial device scan to finish before updating config.\n"
    },
    {
      "commit": "0f5f2e4c27612e2cda231473aec0c06838ff3750",
      "tree": "e55ea53a7a492f40c19be493b6f063c8603e9b22",
      "parents": [
        "2874c3dec4f9ffd59b2be3de62c1148534396828",
        "e11b76d3efb056edea301d53a354d0730adf3520"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 21:49:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 21:49:29 2010 -0700"
      },
      "message": "am e11b76d3: am f6295b35: Merge \"Minor logging changes to input dispatcher to help with debugging.\" into gingerbread\n\nMerge commit \u0027e11b76d3efb056edea301d53a354d0730adf3520\u0027\n\n* commit \u0027e11b76d3efb056edea301d53a354d0730adf3520\u0027:\n  Minor logging changes to input dispatcher to help with debugging.\n"
    },
    {
      "commit": "ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1",
      "tree": "4c3f62752af1759b842444813fbda3c35a80c329",
      "parents": [
        "e11b76d3efb056edea301d53a354d0730adf3520",
        "e951ef07dd8cb36ec0e127e80f5d558b8a2d6125"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 19:03:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 19:03:42 2010 -0700"
      },
      "message": "am e951ef07: Merge \"Wait for initial device scan to finish before updating config.\" into gingerbread\n\nMerge commit \u0027e951ef07dd8cb36ec0e127e80f5d558b8a2d6125\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e951ef07dd8cb36ec0e127e80f5d558b8a2d6125\u0027:\n  Wait for initial device scan to finish before updating config.\n"
    },
    {
      "commit": "e11b76d3efb056edea301d53a354d0730adf3520",
      "tree": "7f25a0eb45fad5895e9eb23b8c802f92151af232",
      "parents": [
        "8788d140363ed921f49d366d67bd7164e63e54ae",
        "f6295b35db7a7c40d4fb1c981e231bebcf13e2ba"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 19:01:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 19:01:14 2010 -0700"
      },
      "message": "am f6295b35: Merge \"Minor logging changes to input dispatcher to help with debugging.\" into gingerbread\n\nMerge commit \u0027f6295b35db7a7c40d4fb1c981e231bebcf13e2ba\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f6295b35db7a7c40d4fb1c981e231bebcf13e2ba\u0027:\n  Minor logging changes to input dispatcher to help with debugging.\n"
    },
    {
      "commit": "7342bb9693f480f6c713b4a4f82a9ad9131cd667",
      "tree": "bd68c8bf4604123404347880da67c3f9c34935e7",
      "parents": [
        "f2f487183052865d50c004a835360be1728b5a52"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 18:55:43 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 18:55:43 2010 -0700"
      },
      "message": "Wait for initial device scan to finish before updating config.\n\nThis change narrows the opportunity for a race condition setting the\nresource Configuration while devices are being updated.\n\nChange-Id: I58efa563f4129ab0fce7108511d16a99dff7e451\n"
    },
    {
      "commit": "6cb241f9024c6923715cf4e9eeaf803a7d258750",
      "tree": "455507c53e8e0d20dee11d1888cebd67ff947523",
      "parents": [
        "306137d97f40a4f807c54a75210343c9262360d1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 18:28:28 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 18:30:59 2010 -0700"
      },
      "message": "ZipFileRO: moar logging and wrap close\n\nThere is apparently still a race upon reading the entry Local File\nHeader that can\u0027t be tracked down, so move the LFH check inside the\nmutex-protected block so we can call lseek again to see where we are\nwhen we log an error.\n\nAlso, close() can fail so use TEMP_FAILURE_RETRY on it so we don\u0027t\nunwittingly leak file descriptors when Mean Mr. EINTR comes a-knocking.\n\nChange-Id: I753abad0bd882fe28f7281c406fa76f64393ef4c\n"
    },
    {
      "commit": "f2f487183052865d50c004a835360be1728b5a52",
      "tree": "98965f96bbec354c7b93de0b83a882b43bf86d2a",
      "parents": [
        "0eaf3931a31c29f3a3883aab426b595c231c2a58"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 17:46:21 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 18:05:13 2010 -0700"
      },
      "message": "Minor logging changes to input dispatcher to help with debugging.\n\nAdded dumpsys reporting to EventHub.\nMade the formatting a bit clearer.\nAdded \u0027Locked\u0027 suffix to some internal methods of EventHub.\n\nChange-Id: Ic449560bcce378f6361895d27c66854e9724abb0\n"
    },
    {
      "commit": "efb8a3d6e058c8bc90bb9da6c58dde453f359851",
      "tree": "4c356bd35a137e560b1a563a9ceff6366d90ca9d",
      "parents": [
        "82a1372070e75df1a0201b22e33514bbb0d7b5e5",
        "57fa3e8b4c94125ddb5be015dd7fbde4a458894f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 17:08:34 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 17:08:34 2010 -0700"
      },
      "message": "am 57fa3e8b: am 9e32a438: Merge \"Support haptic feedback for virtual keys defined in key layout.\" into gingerbread\n\nMerge commit \u002757fa3e8b4c94125ddb5be015dd7fbde4a458894f\u0027\n\n* commit \u002757fa3e8b4c94125ddb5be015dd7fbde4a458894f\u0027:\n  Support haptic feedback for virtual keys defined in key layout.\n"
    },
    {
      "commit": "57fa3e8b4c94125ddb5be015dd7fbde4a458894f",
      "tree": "d5d40a016e04d93b5feccba38bbe33f4d08a5248",
      "parents": [
        "a4f1eb3d775533d9b28248022e0a5b4ec05fc2e4",
        "9e32a438fd87180692da55197972ecddb1a731d9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 16:16:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 16:16:23 2010 -0700"
      },
      "message": "am 9e32a438: Merge \"Support haptic feedback for virtual keys defined in key layout.\" into gingerbread\n\nMerge commit \u00279e32a438fd87180692da55197972ecddb1a731d9\u0027 into gingerbread-plus-aosp\n\n* commit \u00279e32a438fd87180692da55197972ecddb1a731d9\u0027:\n  Support haptic feedback for virtual keys defined in key layout.\n"
    },
    {
      "commit": "0eaf3931a31c29f3a3883aab426b595c231c2a58",
      "tree": "e79493c39fd735a3ff237fa43a1633abd5ef9910",
      "parents": [
        "10e2120bdd2d99e100db187d49ac6a8495c7f956"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 14:55:30 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 01 15:08:56 2010 -0700"
      },
      "message": "Support haptic feedback for virtual keys defined in key layout.\n\nChange-Id: I83e4108a87332692e03791dc066206becbc7941f\n"
    },
    {
      "commit": "2a471bb690c20533ccf20246be968f77c867c467",
      "tree": "c5ea338d412566c0013aa7d3f0c7e7b3695caaae",
      "parents": [
        "e15119fee611997e71dd711cd476c9fd572d9853",
        "38ed2e39c54a42dda8f00620f960788f569a3698"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 01 12:15:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 01 12:15:12 2010 -0700"
      },
      "message": "Merge \"refactored screenshot code\""
    },
    {
      "commit": "785c416ecf627a550c15f33800fe3091482b181a",
      "tree": "6224c4606fb35430cd96bf433b173ca1ae4a9c1b",
      "parents": [
        "13cc0a06fce4ec54574c9bf2084752961a144c24",
        "de12c3cf56e3f27b2efc60eeae8b5e422747f2b9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 19:47:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 19:47:21 2010 -0700"
      },
      "message": "am de12c3cf: am 220ab887: Merge \"Issue 3032913: improve AudioTrack recovery time\" into gingerbread\n\nMerge commit \u0027de12c3cf56e3f27b2efc60eeae8b5e422747f2b9\u0027\n\n* commit \u0027de12c3cf56e3f27b2efc60eeae8b5e422747f2b9\u0027:\n  Issue 3032913: improve AudioTrack recovery time\n"
    },
    {
      "commit": "52a4ac3f5ede7e781c97d787297d9e644dfef958",
      "tree": "c1a323ce007a52335d62fe87d60be8ffd8308ef2",
      "parents": [
        "dcad41988f660a74ce762f23a5d76c948974605a",
        "5d3cef8a6d1baec29512764b9e0ba240ccd7fcfe"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 30 18:12:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 18:12:28 2010 -0700"
      },
      "message": "am 5d3cef8a: am e0c12c88: Merge \"Move verbose logging of device capabilities to dumpsys.\" into gingerbread\n\nMerge commit \u00275d3cef8a6d1baec29512764b9e0ba240ccd7fcfe\u0027\n\n* commit \u00275d3cef8a6d1baec29512764b9e0ba240ccd7fcfe\u0027:\n  Move verbose logging of device capabilities to dumpsys.\n"
    },
    {
      "commit": "de12c3cf56e3f27b2efc60eeae8b5e422747f2b9",
      "tree": "cbfc1763688551dc77514f7f6e4d8f07d10b1e7d",
      "parents": [
        "4309b52fe19de5241113d8f9ebcdf52741e086a9",
        "220ab8877b234e6807b7f6d9028ba55d23220301"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 17:47:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 17:47:07 2010 -0700"
      },
      "message": "am 220ab887: Merge \"Issue 3032913: improve AudioTrack recovery time\" into gingerbread\n\nMerge commit \u0027220ab8877b234e6807b7f6d9028ba55d23220301\u0027 into gingerbread-plus-aosp\n\n* commit \u0027220ab8877b234e6807b7f6d9028ba55d23220301\u0027:\n  Issue 3032913: improve AudioTrack recovery time\n"
    },
    {
      "commit": "4712baab81d0b683bc22668d2278c9daff92797e",
      "tree": "e2af5c484425ede13606e62569ad615b184d2d8f",
      "parents": [
        "0a972acf85ce0cf7bba5a77628e9cf59a0946bd0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 16:12:31 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 17:21:23 2010 -0700"
      },
      "message": "Issue 3032913: improve AudioTrack recovery time\n\nThis issue showed that when an AudioTrack underruns during a too long period\nof time and is therefore disabled by audioflinger mixer, it takes an additional\ndelay of up to 3 seconds to recover.\nThis fix adds a simple mechanism to recover immediately when the client application\nis ready to write data again in the AudioTrack buffer\n\nAlso throttle warnings on record overflows\n\nChange-Id: I8b2c71578dd134b9e60a15ee4d91b70f3799cb3d\n"
    },
    {
      "commit": "5d3cef8a6d1baec29512764b9e0ba240ccd7fcfe",
      "tree": "c6d4d8897432b817a210424db0c11e82ce82c30b",
      "parents": [
        "cfba8c0337e9a8d55389bcae7caa7a8db230f711",
        "e0c12c8803a7e2457098afc5dbf00e501d725fa0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 30 15:57:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 15:57:29 2010 -0700"
      },
      "message": "am e0c12c88: Merge \"Move verbose logging of device capabilities to dumpsys.\" into gingerbread\n\nMerge commit \u0027e0c12c8803a7e2457098afc5dbf00e501d725fa0\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e0c12c8803a7e2457098afc5dbf00e501d725fa0\u0027:\n  Move verbose logging of device capabilities to dumpsys.\n"
    },
    {
      "commit": "ef3d7e861154c1ce1b8f86292138fc36c30232a3",
      "tree": "fd94e6c198b41d9fb36d4b15d3c7cad188a2c620",
      "parents": [
        "99f8c5ee621d78a24583a10e459ba40aab511a17"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 30 14:33:04 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 30 15:34:48 2010 -0700"
      },
      "message": "Move verbose logging of device capabilities to dumpsys.\n\nChange-Id: I5d55eaebfdf049bd1ac1e7bab2758886cfefc9d7\n"
    },
    {
      "commit": "38ed2e39c54a42dda8f00620f960788f569a3698",
      "tree": "bf7d48a3bb3c372e7348cab154cb73301ce4a87f",
      "parents": [
        "e17c054d34676c25f03b4eb0d8daebe41b84bf6e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 29 13:02:36 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 29 16:55:15 2010 -0700"
      },
      "message": "refactored screenshot code\n\nthe core screenshot function now can capture the screen at any lower resolution\nperforming bilinear filtering.\n\nwe also now have some client code to interface with the screenshot service.\n\nit\u0027s now possible to request a screenshot at a lower resolution.\n\nChange-Id: I5a3b0e431421800e3aad601d9af8f94adffbc71f\n"
    },
    {
      "commit": "bff405f91001237ec94ec64f86fa2370c4509559",
      "tree": "c492bfa8bacef42800f47b1638b1812275cecb6d",
      "parents": [
        "e63f20b5fe373822758182226d7512859d8e8356",
        "d8e8186c887fe47977721315f439465771a96374"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 18:16:50 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 18:16:50 2010 -0700"
      },
      "message": "resolved conflicts for merge of d8e8186c to master\n\nChange-Id: Ica3f6cd958717ea7033cab8b4bf9cd3425c1e1c5\n"
    },
    {
      "commit": "d8e8186c887fe47977721315f439465771a96374",
      "tree": "ff89a03f9a84484e3573508da6c72ecfbc4b04d6",
      "parents": [
        "f5bdeba197aba659e2dd3849a5bdfba8826c036d",
        "05105f7abe02b2dff91d6260b3628c8b97816bab"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 17:33:47 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 17:33:47 2010 -0700"
      },
      "message": "am 05105f7a: Update OBB API to include callbacks\n\nMerge commit \u002705105f7abe02b2dff91d6260b3628c8b97816bab\u0027 into gingerbread-plus-aosp\n\n* commit \u002705105f7abe02b2dff91d6260b3628c8b97816bab\u0027:\n  Update OBB API to include callbacks\n"
    },
    {
      "commit": "05105f7abe02b2dff91d6260b3628c8b97816bab",
      "tree": "f42676d818548d76b2c55045a1bcc4866d6feec1",
      "parents": [
        "ea2cf2f936b03f1720bc43863e41c89ea2a7903a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 22 17:29:43 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 17:23:26 2010 -0700"
      },
      "message": "Update OBB API to include callbacks\n\nAdd a callback for users of the StorageManager API to be able to receive\nnotifications when the requested operation completes for mountObb and\nunmountObb.\n\nAdd NDK API to get to ObbInfo like the Java API has.\n\nAlso update the docs for the API and remove the \"STOPSHIP\" comments.\n\nChange-Id: I23a4409c7f8b74d3169614beba920b4d667990a4\n"
    },
    {
      "commit": "ce635b55043dbc498ab1ef712b226922818cfe53",
      "tree": "a3569f04c5fc4f2c20b840b0500f445560e350fd",
      "parents": [
        "3bf613b2687d0cce13ce70a7a6650832f9656cfd",
        "d6c30e8c1521bc584f33500b8ee897dafdfec023"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 14:01:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 14:01:14 2010 -0700"
      },
      "message": "am d6c30e8c: am be045061: Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread\n\nMerge commit \u0027d6c30e8c1521bc584f33500b8ee897dafdfec023\u0027\n\n* commit \u0027d6c30e8c1521bc584f33500b8ee897dafdfec023\u0027:\n  Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n"
    },
    {
      "commit": "3bf613b2687d0cce13ce70a7a6650832f9656cfd",
      "tree": "fa65b2bad5497a059a5f8a87e085fdeb748a0fb9",
      "parents": [
        "1a3038586a3a46d0cdc487fea40ba4f7712d677d",
        "c889bbfa965f4ba90636f561c5e1353289d4cb06"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 14:00:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 14:00:36 2010 -0700"
      },
      "message": "am c889bbfa: am 4769f579: Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread\n\nMerge commit \u0027c889bbfa965f4ba90636f561c5e1353289d4cb06\u0027\n\n* commit \u0027c889bbfa965f4ba90636f561c5e1353289d4cb06\u0027:\n  Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n"
    },
    {
      "commit": "1a3038586a3a46d0cdc487fea40ba4f7712d677d",
      "tree": "d48a9261dcd7157a2b33f364be2e8074b45922f1",
      "parents": [
        "e8fd1952089b98e63410e85f734b2727eeee1450",
        "9d59186068891834272c2e3ee6f9c4228af24656"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 13:59:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 13:59:26 2010 -0700"
      },
      "message": "am 9d591860: am 3a9cc8ce: Merge \"Squashed commit of the following:\" into gingerbread\n\nMerge commit \u00279d59186068891834272c2e3ee6f9c4228af24656\u0027\n\n* commit \u00279d59186068891834272c2e3ee6f9c4228af24656\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "d6c30e8c1521bc584f33500b8ee897dafdfec023",
      "tree": "9bb9c55d4b334faa445ede21cee0942ab1ed63c8",
      "parents": [
        "c889bbfa965f4ba90636f561c5e1353289d4cb06",
        "be0450619528e65eebfa1d7eab78fde757d094cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 12:05:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 12:05:08 2010 -0700"
      },
      "message": "am be045061: Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread\n\nMerge commit \u0027be0450619528e65eebfa1d7eab78fde757d094cc\u0027 into gingerbread-plus-aosp\n\n* commit \u0027be0450619528e65eebfa1d7eab78fde757d094cc\u0027:\n  Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n"
    },
    {
      "commit": "be0450619528e65eebfa1d7eab78fde757d094cc",
      "tree": "08bd4cd3f2b9784e6fcbfb0ae0c6590f48534fd1",
      "parents": [
        "4769f57948455277d0670ef18f64824ca5d894c1",
        "2b359ed5b5ba4775609c13408b2cf1336c2cc45b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "message": "Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread"
    },
    {
      "commit": "2b359ed5b5ba4775609c13408b2cf1336c2cc45b",
      "tree": "4d8d85f3ab02bf47e197f645470e48340ce806c7",
      "parents": [
        "38ae220bb7c06e3cc82f96dada769c6b12a79d09"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "message": "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n\nChange-Id: I43875b6adaf96d4e982ef3dfc3d6c8f7034ac51d\nrelated-to-bug: 3036592\n"
    },
    {
      "commit": "c889bbfa965f4ba90636f561c5e1353289d4cb06",
      "tree": "24390aa68accf59410ba29f25010d91219c5eee1",
      "parents": [
        "9d59186068891834272c2e3ee6f9c4228af24656",
        "4769f57948455277d0670ef18f64824ca5d894c1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:48:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 11:48:44 2010 -0700"
      },
      "message": "am 4769f579: Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread\n\nMerge commit \u00274769f57948455277d0670ef18f64824ca5d894c1\u0027 into gingerbread-plus-aosp\n\n* commit \u00274769f57948455277d0670ef18f64824ca5d894c1\u0027:\n  Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n"
    },
    {
      "commit": "4769f57948455277d0670ef18f64824ca5d894c1",
      "tree": "956dafaf01e32a7cc1e350263bb2a41eaeb7edf5",
      "parents": [
        "3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7",
        "38ae220bb7c06e3cc82f96dada769c6b12a79d09"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "message": "Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread"
    },
    {
      "commit": "9d59186068891834272c2e3ee6f9c4228af24656",
      "tree": "53ef944ca56796e8f6aada14335ba19dc2f3991e",
      "parents": [
        "b763a6dc41dcce76585c56657903ae72c5422ae1",
        "3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:35:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 11:35:22 2010 -0700"
      },
      "message": "am 3a9cc8ce: Merge \"Squashed commit of the following:\" into gingerbread\n\nMerge commit \u00273a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7\u0027 into gingerbread-plus-aosp\n\n* commit \u00273a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7",
      "tree": "f531b978ba94698bcbbf5391cb63c5159c3a5ba1",
      "parents": [
        "08cf57d791e50ecafe2728a7617a6487aeb6d6d5",
        "c751eccad38cf46d7478eca85beefecd2c2b4c3b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:27:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:27:33 2010 -0700"
      },
      "message": "Merge \"Squashed commit of the following:\" into gingerbread"
    },
    {
      "commit": "38ae220bb7c06e3cc82f96dada769c6b12a79d09",
      "tree": "c411755233d0b39b4ffc97dadf0c6a6bcb8eff83",
      "parents": [
        "a16682b5e8ed635910eada23272ba6548922c02e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 09:16:21 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:26:03 2010 -0700"
      },
      "message": "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n\nrelated-to-bug: 3036592\nChange-Id: Ib142b171c829ed74156c0281d9d4543fcc96c802\n"
    },
    {
      "commit": "e65041225ec0bbc3d67a3b70cdc6d598a5760043",
      "tree": "8eb92db22f21de0a2843aa39b9988d15e00233d9",
      "parents": [
        "464fb74e28b6d76d5e741abcdbb714eea2d9b4d1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 14:52:15 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 16:10:17 2010 -0700"
      },
      "message": "Add support for transferring touch focus.\n\nPrerequisite for drag and drop.\n\nChange-Id: Iedbe93ed0f3e1c4083130fe66b4ba06d416afce0\n"
    },
    {
      "commit": "464fb74e28b6d76d5e741abcdbb714eea2d9b4d1",
      "tree": "806828fef18870b8c0a5cde7a6e679dce8b5a122",
      "parents": [
        "6d3ed72bf2fb9d958245c9d34443291a26128c59",
        "9785bf0f2b6b8758aed7ded3b996a2ef0be89919"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 14:40:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 14:40:38 2010 -0700"
      },
      "message": "am 9785bf0f: am 14a288da: Merge \"Add suuport for splitting touch events across windows.\" into gingerbread\n\nMerge commit \u00279785bf0f2b6b8758aed7ded3b996a2ef0be89919\u0027\n\n* commit \u00279785bf0f2b6b8758aed7ded3b996a2ef0be89919\u0027:\n  Add suuport for splitting touch events across windows.\n"
    },
    {
      "commit": "9785bf0f2b6b8758aed7ded3b996a2ef0be89919",
      "tree": "e444042c55ec1f06c8997a37b920d6d6b130d73d",
      "parents": [
        "761427f85b7b7478801dcb4e0fb2f1b824cf1268",
        "14a288da6a372230d9af41da12241fe500eec837"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 12:37:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 12:37:03 2010 -0700"
      },
      "message": "am 14a288da: Merge \"Add suuport for splitting touch events across windows.\" into gingerbread\n\nMerge commit \u002714a288da6a372230d9af41da12241fe500eec837\u0027 into gingerbread-plus-aosp\n\n* commit \u002714a288da6a372230d9af41da12241fe500eec837\u0027:\n  Add suuport for splitting touch events across windows.\n"
    },
    {
      "commit": "14a288da6a372230d9af41da12241fe500eec837",
      "tree": "2a15d375323bce1a89d48279ef228650550e8414",
      "parents": [
        "524ae7dd149c6b10814282dc3e2e55a4f755ad29",
        "01ce2e9eee41cc0c24b0d16465710a28ea337d5d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 27 12:33:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 12:33:14 2010 -0700"
      },
      "message": "Merge \"Add suuport for splitting touch events across windows.\" into gingerbread"
    },
    {
      "commit": "c751eccad38cf46d7478eca85beefecd2c2b4c3b",
      "tree": "5151726e535c2653987b57d6eaa3f2d8d5bbee5f",
      "parents": [
        "abaabb2c7994e5a5026c2e2bd860d7f21eed0451"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 12:04:43 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 12:04:43 2010 -0700"
      },
      "message": "Squashed commit of the following:\n\ncommit 29a4d3effb05a2e074cb0693316ab1977baeb0b6\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 12:01:32 2010 -0700\n\n    Fully working implementation of MPEG2TSWriter (for AAC and AVC sources).\n\n    Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84\n\ncommit f4dec4c3899f3be393508e180d6c07e249d3335e\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 10:36:31 2010 -0700\n\n    More reliable identification of MPEG2 transport streams. Don\u0027t keep scanning forever in case the stream does not have both audio and video tracks.\n\n    Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7\n\ncommit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 08:23:39 2010 -0700\n\n    test code\n\n    Change-Id: I16560a17661407d06497f99ff88230724bb898af\n\ncommit 64d988b24f49f179a90fa677be11c823959e734b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Sep 23 14:42:52 2010 -0700\n\n    First shot at supporting writing to an MPEG2 transport stream.\n\n    Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74\n\nChange-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc\n"
    },
    {
      "commit": "01ce2e9eee41cc0c24b0d16465710a28ea337d5d",
      "tree": "08e45a8ec47e63760655a1770dac367258511538",
      "parents": [
        "37cedce14bc0e68e8bf27c2cecb181728226e6ed"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 26 22:20:12 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 26 22:20:12 2010 -0700"
      },
      "message": "Add suuport for splitting touch events across windows.\n\nThis feature is currently used to enable dragging the start and end\nselection handles of a TextView at the same time.  Could be used for\nother things later.\n\nDeleted some dead code in ArrowKeyMovementMethod and CursorControllers.\n\nChange-Id: I930accd97ca1ca1917aab8a807db2c950fc7b409\n"
    },
    {
      "commit": "ba2bbcdcbc9781a8e93807b740cfde02b477c9a9",
      "tree": "061363b1fa25a76617ed93f51c22a5e48ab6ab1c",
      "parents": [
        "1c1797acff49857b41ea1e3630d23d940882791c"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sat Sep 25 17:58:15 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sat Sep 25 17:58:15 2010 -0700"
      },
      "message": "Fix the CameraHardwareInterface::setPreviewWindow comment.\n\nChange-Id: Ied7eb7872e581e23d9f6f02a551320cdd675e51e\n"
    },
    {
      "commit": "d95fec08916698f7bdd9f4b293d418ae4b4f60c5",
      "tree": "d41977f1c885afe6749debec7b6caff27b09e12b",
      "parents": [
        "960099572d97df03786927974e760070fca3e1ef",
        "495ad4f22096aa172d025c16c25497e7dad8f2bd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 18:13:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 18:13:22 2010 -0700"
      },
      "message": "am 495ad4f2: am beabe75a: Merge changes I1f7c4535,I741c68a2 into gingerbread\n\nMerge commit \u0027495ad4f22096aa172d025c16c25497e7dad8f2bd\u0027\n\n* commit \u0027495ad4f22096aa172d025c16c25497e7dad8f2bd\u0027:\n  simple test app for screen capture API\n  add support for [1974164] Be able to take a screen shot on the device\n"
    },
    {
      "commit": "495ad4f22096aa172d025c16c25497e7dad8f2bd",
      "tree": "b8e2e16c2058b96b563102abc46bfbba0863e352",
      "parents": [
        "c388844d50a67ecd8eb93d29d618bae1fa3a3c5d",
        "beabe75a842d521b005999460d3a6361ab32108e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 18:07:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 18:07:41 2010 -0700"
      },
      "message": "am beabe75a: Merge changes I1f7c4535,I741c68a2 into gingerbread\n\nMerge commit \u0027beabe75a842d521b005999460d3a6361ab32108e\u0027 into gingerbread-plus-aosp\n\n* commit \u0027beabe75a842d521b005999460d3a6361ab32108e\u0027:\n  simple test app for screen capture API\n  add support for [1974164] Be able to take a screen shot on the device\n"
    },
    {
      "commit": "beabe75a842d521b005999460d3a6361ab32108e",
      "tree": "0f94af077e03d50c02a52f1817b2ad638c5d0106",
      "parents": [
        "234e42df5fac958ed9f15aae6005dd72e4bdf08a",
        "dce21a3e274af1369ce284b7ee05b928a8bb3e11"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 18:02:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 24 18:02:10 2010 -0700"
      },
      "message": "Merge changes I1f7c4535,I741c68a2 into gingerbread\n\n* changes:\n  simple test app for screen capture API\n  add support for [1974164] Be able to take a screen shot on the device\n"
    },
    {
      "commit": "dcdab6aef1a4e24234982698908a24a9925ce9ab",
      "tree": "c660ca1552cbff42aaa76b329111875b75ea0706",
      "parents": [
        "0b783bc2e4ea2454fda4107d559eefee36b19623",
        "3e07c0007b10fbda945516acaf6b2a8787a6ca06"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 24 15:22:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 15:22:38 2010 -0700"
      },
      "message": "am 3e07c000: am 74865ef6: Merge \"Add locking around ZIP seeking\" into gingerbread\n\nMerge commit \u00273e07c0007b10fbda945516acaf6b2a8787a6ca06\u0027\n\n* commit \u00273e07c0007b10fbda945516acaf6b2a8787a6ca06\u0027:\n  Add locking around ZIP seeking\n"
    },
    {
      "commit": "ca5edbeba92b96913291792a4df984e158853b6d",
      "tree": "cef0f4174ca3d5e09a767787eec63b7a0cf7f2cf",
      "parents": [
        "5c6c5c7a43d44316395f5c35ab713372124b8b4c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 11:26:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 24 14:56:39 2010 -0700"
      },
      "message": "add support for [1974164] Be able to take a screen shot on the device\n\nscreenshots are taken using ISurfaceComposer::captureScreen() which returns\nthe size of the screenshot and an IMemoryHeap containing the data.\nscreenshots have limitations:\n- they will always fail if a secure window is up on screen\n- require GL_OES_framebuffer_object extension\n- in some situation, video planes won\u0027t been captured\n\nChange-Id: I741c68a2d2984fb139039301c3349e6780e2cd58\n"
    },
    {
      "commit": "3e07c0007b10fbda945516acaf6b2a8787a6ca06",
      "tree": "1e193cb9d61b5483c158596dd0709d106d616259",
      "parents": [
        "a1c7b096dfadc9ba7ee2ef432569eb3180f9bf34",
        "74865ef6600e2e81cecf6619ab7141df6a7dfeb9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 24 11:36:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 11:36:42 2010 -0700"
      },
      "message": "am 74865ef6: Merge \"Add locking around ZIP seeking\" into gingerbread\n\nMerge commit \u002774865ef6600e2e81cecf6619ab7141df6a7dfeb9\u0027 into gingerbread-plus-aosp\n\n* commit \u002774865ef6600e2e81cecf6619ab7141df6a7dfeb9\u0027:\n  Add locking around ZIP seeking\n"
    }
  ],
  "next": "6458fa0fce4bce7f3f9cccbacf9116f6f08abdf1"
}
