)]}'
{
  "log": [
    {
      "commit": "2da9eb7175e59a4ad8b9cec185f9cfdf8e075859",
      "tree": "40d9bb596b5ae3de67c9e311892e706dd934f9dc",
      "parents": [
        "4481c35567d8564b52f0af5aa7c010ff8c3ff4a8",
        "82428a862f325238cfb5646bbd65de3f1a11e7cc"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jul 06 09:22:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 09:22:05 2011 -0700"
      },
      "message": "Merge \"- Retrieve is_drm in MediaMetadataRetriever. - Add one more column in MediaStore to indicate whether a   media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager\""
    },
    {
      "commit": "4431c05f136bc1073b368221e3515aaf7fe8424e",
      "tree": "d93ce746f59b3bdd16dd3acae3de81676e21f802",
      "parents": [
        "324a1f6a125637269d3955e5a0935d3eb873b015",
        "60d47796ccfb3db3ab73017897f648678daddc83"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 05 15:08:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 05 15:08:31 2011 -0700"
      },
      "message": "Merge \"Thread ID zero for androidSetThreadSchedulingGroup\""
    },
    {
      "commit": "6894a2947eb1f9d499fd7f1a1ec4e7098e07d25d",
      "tree": "5aaf199228185826ea5deb9200adfc1633519994",
      "parents": [
        "63acea6ad4a9316e1450dea47840f45df4aaed25"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 01 17:59:27 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 01 19:08:15 2011 -0700"
      },
      "message": "Workaround apps that make assumptions about pointer ids.\n\nModified the touch input mapper to assign pointer ids sequentially\nstarting from 0 instead of using the tracking id or slot index\nsupplied by the driver.  Applications should not depend on this\nordering but some do.  (sigh)\n\nBug: 4980884\nChange-Id: I0dfeb3ac27c57a7102a13c960c760e2a02eb7669\n"
    },
    {
      "commit": "82428a862f325238cfb5646bbd65de3f1a11e7cc",
      "tree": "409603a51c7b948ccbdda01548f6d35afe767b91",
      "parents": [
        "d0c18aabac682709e47b9b4a2fdd19cbb6820b7c"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jun 27 11:09:00 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jul 01 16:52:28 2011 -0700"
      },
      "message": "- Retrieve is_drm in MediaMetadataRetriever.\n- Add one more column in MediaStore to indicate whether a\n  media file is drm-protected.\n- Remove old DRM code from Ringtone\n- Use the new DRM code in RingtoneManager\n\nChange-Id: I1311fd1c04841c2cd47df6c901589966cf55a692\n"
    },
    {
      "commit": "dfba1773c911c4d97838923334c5a879424387bf",
      "tree": "c64ef5f7b4b8b2b8261f3d06f1b6c0a9c31eb1a9",
      "parents": [
        "e02dd02bb8de073e03603df240d085267f014e5a",
        "603d739b5a444c52b63f1ec7cd2098034151ad25"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 14:28:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 14:28:10 2011 -0700"
      },
      "message": "Merge \"Charge network traffic to the uid of the process using the MediaPlayer.\""
    },
    {
      "commit": "5725d404602095be91d7a0a6bcdeeddd773b4761",
      "tree": "b7f58d258f8cb9c7e691fd5f055edab68773fc4a",
      "parents": [
        "f91040e2df1a52dc41fd62a82afc0b214abc1c8d",
        "cd8cd351d48e29760eb372ad0988a672413757d3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 01 14:03:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 14:03:45 2011 -0700"
      },
      "message": "Merge \"Add extended metadata buffer support by defining different types of metadata buffers\""
    },
    {
      "commit": "603d739b5a444c52b63f1ec7cd2098034151ad25",
      "tree": "16f400b743b887a612f124aec561c4cf3e92a781",
      "parents": [
        "5faaadffbfb272f6a5f686834dadaf5408cf0ed2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 30 15:47:02 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 13:18:43 2011 -0700"
      },
      "message": "Charge network traffic to the uid of the process using the MediaPlayer.\n\nChange-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067\nrelated-to-bug: 4517282\n"
    },
    {
      "commit": "42fb5d64b9a4f4be5163c67374cca5eaa7226791",
      "tree": "8fadd35075fdc2d32b3b0d9e5dbfb3ee0e5b2182",
      "parents": [
        "5faaadffbfb272f6a5f686834dadaf5408cf0ed2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 29 15:53:28 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 09:28:51 2011 -0700"
      },
      "message": "Support a \"secure input buffer\" mode for use by Widevine DRM in OMXCodec.\n\nChange-Id: Ie03b285265099dbac9b12f3f41d9ad758d0b50ad\n"
    },
    {
      "commit": "ea458f190b5f496f80bf98a6ccaca2d46274cebc",
      "tree": "4aceeeabcd27777a0aac4bcd2719b3fc7de89306",
      "parents": [
        "ce43bc48588408e72aaa47ac1483837d5bfd1f59",
        "c9ec69eb6f07881e1d0582156e5697eff69f5546"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Jun 30 18:38:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 30 18:38:18 2011 -0700"
      },
      "message": "Merge \"Minor fix in SurfaceTexture\""
    },
    {
      "commit": "c9ec69eb6f07881e1d0582156e5697eff69f5546",
      "tree": "e2f7e8aa3ace307cf0771c620b3abb6e137ef93f",
      "parents": [
        "c18e7e73158f794064fed5017c6c1c9a288673bd"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jun 24 09:56:27 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Jun 30 15:41:19 2011 -0700"
      },
      "message": "Minor fix in SurfaceTexture\n\nChange-Id: Ic859715becf3e6d5107bd8beb8c577034d00ec52\n"
    },
    {
      "commit": "272aaa382f95c38221739f2287c29e414523a5cc",
      "tree": "53b22ed4bd672af3edc9fc9d3e1c5d63661a37b1",
      "parents": [
        "5231b0af515db51c722d4764ecf9412c145c93b6",
        "439863f3b3e725b5de1cba4940a21900369961c0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "message": "Merge \"SF transactions are now O(1) wrt IPC instead of O(N).\""
    },
    {
      "commit": "439863f3b3e725b5de1cba4940a21900369961c0",
      "tree": "90ab56432c2436c3392b02ba08876c86796a36ef",
      "parents": [
        "f1bfa84ccf61cad2b6ea9f2e6a612a54a38b79bc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 28 19:09:31 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 15:05:41 2011 -0700"
      },
      "message": "SF transactions are now O(1) wrt IPC instead of O(N).\n\nChange-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43\n"
    },
    {
      "commit": "9e1fb41b4fbfbd190560cf48f24939703a13eca5",
      "tree": "8621dd8dd0a0e32e8883dbdaa02b1610018b05c4",
      "parents": [
        "5c226b835812630d9dc67ca02ca03dddaee5b6c7",
        "aa11965bd55b8344104ebb0c9ebf39ee0cced03f"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Wed Jun 29 13:48:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 13:48:39 2011 -0700"
      },
      "message": "Merge \"Add a linear transform library to libutils\""
    },
    {
      "commit": "aa11965bd55b8344104ebb0c9ebf39ee0cced03f",
      "tree": "f5ccad9b1e3f186483349b1fd03b16e230ec71e9",
      "parents": [
        "fa487ca830cb150be5822d8d73c3d832672f7108"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Tue Jun 28 17:43:30 2011 -0700"
      },
      "committer": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Tue Jun 28 17:43:30 2011 -0700"
      },
      "message": "Add a linear transform library to libutils\n\nChange-Id: Icdec5a6bebd9d8f24b3f335f8ec8b09a5810a774\n"
    },
    {
      "commit": "cd8cd351d48e29760eb372ad0988a672413757d3",
      "tree": "1d410233d76166b2a68eb33fcf0d899e4c3b0909",
      "parents": [
        "8229b467fc32e4c8dc1cfc65865b85c49ba3de6f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 27 16:30:55 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 28 17:35:02 2011 -0700"
      },
      "message": "Add extended metadata buffer support by defining different types of metadata buffers\n\nChange-Id: I6aa6b5da004c240c9986f6b9036950e234c8bd42\n"
    },
    {
      "commit": "cde732451070479dd999583f602693c36cdc65c7",
      "tree": "70bae023bad6b15d1edc061ac5a7af09acac2334",
      "parents": [
        "61b9fae046bd766dc951262f728a12784e5ec6ff",
        "068dbbf7ee7ed22a4595e7afaa2be6d57c2774f6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 14:49:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 14:49:35 2011 -0700"
      },
      "message": "Merge \"Support for writing output data to a provided callback function instead of a file\""
    },
    {
      "commit": "068dbbf7ee7ed22a4595e7afaa2be6d57c2774f6",
      "tree": "c67e8b5c84174756c205da41a03a100492e3c80e",
      "parents": [
        "d11eccf3a861fdaa754907a28cc0da554b9aa7b7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 15:47:56 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 14:44:57 2011 -0700"
      },
      "message": "Support for writing output data to a provided callback function instead of a file\n\nin MPEG2TSWriter\n\nChange-Id: Ie54a5677c7b789a973aa50b7f197c6db238425bc\n"
    },
    {
      "commit": "3cf7cf575138bcbe5b49c32eb4ae401f92e4c8f7",
      "tree": "f4712df1099d1cfa1ccf9f98825a9e84b1e7d258",
      "parents": [
        "d11eccf3a861fdaa754907a28cc0da554b9aa7b7",
        "9fb5976367911d0ab42d296238f0f06d517e867d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 28 12:55:03 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 12:55:03 2011 -0700"
      },
      "message": "Merge changes I9fb59763,I8b2c6e00\n\n* changes:\n  SurfaceTexture: consume buffers after err checks\n  SurfaceTexture: change onFrameAvailable behavior\n"
    },
    {
      "commit": "e366f52b1520f13306d5fef1c3c8a2b2c653d935",
      "tree": "3b4fc6abef0e786bddbdd316b5cb19385e3ba321",
      "parents": [
        "84e297238f53f83c9e7de499e711b997d09514e0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:51:41 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:51:41 2011 -0700"
      },
      "message": "Multiple changes to ACodec/codec tools:\n\nMake sure sf2 does not coalesce input buffers, generalize ACodec\u0027s codec\ninstantiation based on OMXCodec\u0027s list of eligible component names.\n\nSome changes/additions to the \"sf2\" commandline tool\n\nMake surface options consistent with stagefright tool, i.e. use \u0027-S\u0027 instead of \u0027-s\u0027\nNew option \u0027-R\u0027 renders surface-allocated buffers.\n\nAlso fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified.\n\nChange-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae\n"
    },
    {
      "commit": "84e297238f53f83c9e7de499e711b997d09514e0",
      "tree": "226910c0fe5d20d85a9322d0075e97b7a820fb57",
      "parents": [
        "7654b20e6c517ad7aab04b5361b4821e54424f7f"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jun 27 13:12:47 2011 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jun 28 07:43:27 2011 -0700"
      },
      "message": "Remove native EventRecurrence parser\n\nSwitch over to the new parser.\n\nBug 4575374\n\nChange-Id: If78d8042fb266182900398f7fc464a048c779966\n"
    },
    {
      "commit": "0dd593f22352a0863223fa4ea7e37e926b99282e",
      "tree": "58d445ed41c6aea8184848490a9f47a2aa31a876",
      "parents": [
        "abb04eec06bce358826e4cb6b5f852424ece8005"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 27 16:05:52 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 27 17:42:15 2011 -0700"
      },
      "message": "PermissionCache caches permission checks\n\nThis is intended to absorb the cost of the IPC\nto the permission controller.\nCached permission checks cost about 3us, while\nfull blown ones are two orders of magnitude slower.\n\nCAVEAT: PermissionCache can only handle system\npermissions safely for now, because the cache is\nnot purged upon global permission changes.\n\nChange-Id: I8b8a5e71e191e3c01e8f792f253c379190eee62e\n"
    },
    {
      "commit": "bd5404d0312752e7c8946e8540129f0d2d97bcd7",
      "tree": "abdb05720d7149f0adee32a0f4ae9712cb57d78e",
      "parents": [
        "932e4e613987658383e23fa151c3f5b87d07f028"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jun 26 18:27:47 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 27 15:45:39 2011 -0700"
      },
      "message": "SurfaceTexture: change onFrameAvailable behavior\n\nThis change alters the conditions under which the onFrameAvailable\ncallback gets called by the C++ SurfaceTexture class.  The new behavior\nis to call the callback whenever a frame gets queued that will be\nvisible to the buffer consumer.  This means that buffers queued in\nsynchronous mode always trigger the callback, as those buffers will\nremain pending until they are consumed.  Buffers queued in asynchronous\nmode will only trigger the callback if there was not previously an\nunconsumed buffer pending.\n\nThe new behavior means that a consumer should perform a draw operation\nexactly once for every onFrameAvailable call that it recieves.  This\nchange also modifies SurfaceFlinger and the SurfaceTexture JNI to\nsupport of the new behavior.\n\nChange-Id: I8b2c6e00961d3d58b11c6af50b555b6e4c5f5b40\n"
    },
    {
      "commit": "f24c4cd0f204068a17f61f1c195ccf140c6c1d67",
      "tree": "8bba9602587565eeb9c475f4ccad2e20727ffd41",
      "parents": [
        "ed9bbf27babc7e90a81b229cade498e931ff3dd2"
      ],
      "author": {
        "name": "Anu Sundararajan",
        "email": "sanuradha@ti.com",
        "time": "Wed Jun 22 15:58:59 2011 -0500"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 27 13:48:51 2011 -0700"
      },
      "message": "MemoryHeapBase: Save and binderize the offset\n\nThe offset that is used in the creation of the MemoryHeapBase must be saved, so\nthat it can be used to recreate the Heap when an IMemory object is passed\nacross process boundary through the binder.\n\nChange-Id: Ie618fb5c0718e6711f55ed9235616fd801e648dc\nSigned-off-by: Anu Sundararajan \u003csanuradha@ti.com\u003e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "42419ce28a09eb63e29a8fef87e6f5534f41902f",
      "tree": "f4c758095b56ee9257e90acc4050da046783663d",
      "parents": [
        "14f14863c508ff38fb2fe925c89e2bb2228fcffe"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jun 01 17:22:24 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Jun 27 15:44:57 2011 +0800"
      },
      "message": "Add framework support for camcorder zoom.\n\nThe purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to\nallow applications using the camera during recording.\n\nCamera service allows only one client at a time. Since camcorder application\nneeds to own the camera to do things like zoom, the media recorder cannot\naccess the camera directly during recording. So ICameraRecordingProxy is a proxy\nof ICamera, which allows the media recorder to start/stop the recording and\nrelease recording frames. ICameraRecordingProxyListener is an interface that\nallows the recorder to receive video frames during recording.\n\nICameraRecordingProxy\n  startRecording()\n  stopRecording()\n  releaseRecordingFrame()\n\nICameraRecordingProxyListener\n  dataCallbackTimestamp()\n\nThe camcorder app opens the camera and starts the preview. The app passes\nICamera and ICameraRecordingProxy to the media recorder by\nMediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in\nMediaRecorder::start(). After setup, the recorder disconnects from camera\nservice. The recorder calls ICameraRecordingProxy::startRecording() and\npasses a ICameraRecordingProxyListener to the app. The app connects back to\ncamera service and starts the recording. The app owns the camera and can do\nthings like zoom. The media recorder receives the video frames from the\nlistener and releases them by ICameraRecordingProxy::releaseRecordingFrame.\nThe recorder calls ICameraRecordingProxy::stopRecording() to stop the\nrecording.\n\nThe call sequences are as follows:\n1. The app: Camera.unlock().\n2. The app: MediaRecorder.setCamera().\n3. Start recording\n   (1) The app: MediaRecorder.start().\n   (2) The recorder: ICamera.unlock() and ICamera.disconnect().\n   (3) The recorder: ICameraRecordingProxy.startRecording().\n   (4) The app: ICamera.reconnect().\n   (5) The app: ICamera.startRecording().\n4. During recording\n   (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()\n   (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().\n5. Stop recording\n   (1) The app: MediaRecorder.stop()\n   (2) The recorder: ICameraRecordingProxy.stopRecording().\n   (3) The app: ICamera.stopRecording().\n\nbug:2644213\n\nChange-Id: I15269397defc25cbbcae16abc071c8349c123122\n"
    },
    {
      "commit": "138f33bceff0d9ed45fcb806417cdb438544ab4e",
      "tree": "e9c41d0c595a91fa4eff29feea83cb8619c8d54a",
      "parents": [
        "f95d7f546705c9745407c16dbbc08920cde51d54",
        "0904d0af81e8a0a5404d6c03f4dcea02bea8170d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 23 21:31:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 21:31:33 2011 -0700"
      },
      "message": "Merge \"Add allowSynchronousMode to SurfaceTexture constructor.\""
    },
    {
      "commit": "0904d0af81e8a0a5404d6c03f4dcea02bea8170d",
      "tree": "30ed521b5552efb6baeac987de69ea73e83fcdba",
      "parents": [
        "62250fbcd15dc46fd37341f9843e87585e132f05"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 23 21:21:47 2011 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 23 21:21:47 2011 -0700"
      },
      "message": "Add allowSynchronousMode to SurfaceTexture constructor.\n\nChange-Id: I54f30a3c16bbe6b813f3bcd1d389da5627531304\n"
    },
    {
      "commit": "d35df4412bc2218bb0d22522bd366123b8e6400c",
      "tree": "7ec2de6c24a6d328ac0c031c2b82d3fdf96d6871",
      "parents": [
        "fe35597064cec2a290c0107727000788c336ae31"
      ],
      "author": {
        "name": "Anu Sundararajan",
        "email": "sanuradha@ti.com",
        "time": "Wed Jun 22 12:24:46 2011 -0500"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Jun 23 18:35:24 2011 -0700"
      },
      "message": "Integrating TI OMAP4 Video Decoder\n\nAdded the video decoder component name to kDecoderInfo.\nSet the quirks for the video decoder.\nAdd a new color format to OMX_IVCommon.h to denote TI OMAP4 NV12 color format.\nAdded a color conversion routine [ from NV12 to RGB ] for thumbnail generation.\n\nChange-Id: I6b23c36441645ef65ec7406ba262d19f89cf64fd\nSigned-off-by: Devaraj Rangasamy \u003cdev@ti.com\u003e\nSigned-off-by: Sreenidhi Koti \u003csreenidhi@ti.com\u003e\nSigned-off-by: Anu Sundararajan \u003csanuradha@ti.com\u003e\n"
    },
    {
      "commit": "5510a153bf3e02b6b6230e006aaa11e53085d3e1",
      "tree": "36e146b00e0069ba571dfd686828013c5ff055ec",
      "parents": [
        "52da3a43284a07d79580cbac281ad24a9382a4d1",
        "1e1b13e62e38d6efc7cef4b496b3119bd45ee2c2"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jun 23 16:17:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 16:17:55 2011 -0700"
      },
      "message": "Merge \"- Public part of the Metadata API. - Modify the media framework test for Metadata.\""
    },
    {
      "commit": "1e1b13e62e38d6efc7cef4b496b3119bd45ee2c2",
      "tree": "7e7979f36b9f18b65548009b62a7e8f18f2aaaec",
      "parents": [
        "0ff6d7ee17de33d314ef726e7506b39c64a3ed35"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jun 23 10:39:51 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jun 23 15:28:36 2011 -0700"
      },
      "message": "- Public part of the Metadata API.\n- Modify the media framework test for Metadata.\n\nChange-Id: Ib8fa4991f114e1bb88a17ca662844b9b8e1d0faf\n"
    },
    {
      "commit": "0694cfe49a889788e185a265deed0c231fe31f4b",
      "tree": "d391cd89d74c7fcaf9045cd974c6a028b8b05b9e",
      "parents": [
        "090117774a4eeca850cca9ceac41cd8187772c81",
        "4e8a5c922c287ec97fec847194e930f8598a1941"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Thu Jun 23 14:45:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 14:45:30 2011 -0700"
      },
      "message": "Merge \"Add method to create a ParcelSurfaceTexture from android.view.Surface.\""
    },
    {
      "commit": "60d47796ccfb3db3ab73017897f648678daddc83",
      "tree": "87e3bfde59e5edb34e139e15414d7e05ebab41f0",
      "parents": [
        "df02afe8355e1e7a6f8f02549f41a166c3ee6932"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 22 17:42:23 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 22 17:45:30 2011 -0700"
      },
      "message": "Thread ID zero for androidSetThreadSchedulingGroup\n\nAlready implemented by androidSetThreadPriority but not documented\n\nChange-Id: I85302b17092952065f3f3a4214d8d8abdd465dbd\n"
    },
    {
      "commit": "4e8a5c922c287ec97fec847194e930f8598a1941",
      "tree": "4cb995f8d142f646a8c99d9818b6cdee456de398",
      "parents": [
        "0f5d8441ef3ee88855df71b15d81f4c14f12d63d"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Wed Jun 22 15:52:53 2011 -0700"
      },
      "committer": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Wed Jun 22 16:18:09 2011 -0700"
      },
      "message": "Add method to create a ParcelSurfaceTexture from android.view.Surface.\n\nChange-Id: I05e343ab7e327478f60322af9373574b70c148f5\n"
    },
    {
      "commit": "eaa5d8f9c0117bdaa20fd0a57921156bb0c06345",
      "tree": "c13a068713110273e182b34406cb4ec144fc1756",
      "parents": [
        "8969d9924c662ab4cdacc342bbdc33756db730be"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue May 31 16:08:47 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jun 22 11:32:19 2011 -0700"
      },
      "message": "Timed text display format support:\n1. Extract 3GPP global format descriptions\n2. Extract 3GPP local format descriptions\n3. Define data structure (TimedText) for applications to\nretrieve the format metadata\n\nChange-Id: I6eac2a78df29ee15beee456656331fdd83b24e8e\n"
    },
    {
      "commit": "c972c795cfdb0d16d664510b5041e43cfdc2a5ac",
      "tree": "ec8f0e4686903bdb3351f7d2129984d20ff8032d",
      "parents": [
        "b2af97e9a11119a257289cb8c539b5de79093052",
        "aff74054189a4276a250eac91ac301ab2df37ae3"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 20 15:34:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 20 15:34:00 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: fix a NULL ptr dereference.\""
    },
    {
      "commit": "aff74054189a4276a250eac91ac301ab2df37ae3",
      "tree": "9ff93cb4a6667ffd4692e07cab3f5b4125729a2d",
      "parents": [
        "f71e5469441286c6f466043e64a7f6492557cbd9"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 20 12:04:09 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 20 14:16:49 2011 -0700"
      },
      "message": "SurfaceTexture: fix a NULL ptr dereference.\n\nThis change adds a NULL check when searching the slot list in\nSurfaceTextureClient for the slot corresponding to a buffer being\nqueued or canceled.\n\nBug: 4645023\nChange-Id: I806cbc1e34da118ea33a83c4f25ce8193ba1c3ad\n"
    },
    {
      "commit": "e04f826fef44b85108be85fb6d3a16c35a9e5c29",
      "tree": "13afd43678741a6439d23a966950cd7c6d40bdaa",
      "parents": [
        "a27ad3cca3f17e394ce96011422a0131c15939a9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 15 20:41:15 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 15 20:55:49 2011 -0700"
      },
      "message": "Use rand() for MinGW\n\nThe version of MinGW we use doesn\u0027t have nrand48() which is really lame,\nbut we need to use libutils in the Windows SDK.\n\nChange-Id: If854c03dbf02bc29e79f49e4539f08c2bf057517\n"
    },
    {
      "commit": "f0b517d9d287e86e6e57a372ddcb070cec1fe1c0",
      "tree": "c3d35cd950666f37a31dda6c49faaf4631b13281",
      "parents": [
        "a7932ae77eadccc6b7a6491cd3657e49b09431ab",
        "f1df0407c6c399cdc9e222efe2d50176d7853100"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 11:51:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 14 11:51:24 2011 -0700"
      },
      "message": "Merge \"may fix build on some version of gcc\""
    },
    {
      "commit": "f1df0407c6c399cdc9e222efe2d50176d7853100",
      "tree": "a134fb5b75f7d3fb0a742082d4d748cc30a8f879",
      "parents": [
        "2714abff5cc50b1487c0979c99cc685f5ea113b1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 11:50:22 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 11:50:22 2011 -0700"
      },
      "message": "may fix build on some version of gcc\n\nChange-Id: Ia88787c0432ec84d51fe505fd6a2b6f98ebe8f33\n"
    },
    {
      "commit": "114420f5315c72e9cbd41cd4ae7472ef24ef1b94",
      "tree": "5f7813399474e7bf5715a7f7e41cb608b889ee2a",
      "parents": [
        "fd1235fc34c72cafd1b5aa0ab634804b7e2b41c2",
        "cc5278a3e258b30903102b718fb1cd832e79bb2b"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Tue Jun 14 11:18:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 14 11:18:30 2011 -0700"
      },
      "message": "Merge \"Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.\""
    },
    {
      "commit": "922261deab46b93641eadd9bc337fa72f8a5d734",
      "tree": "9728dbd9e79c18efd5bc491039d7df714b0dc4d3",
      "parents": [
        "82f0a85c3ba81cb6932d956c1c8cc5a99e89052a",
        "290029d19a9d314e925b73e19453ab0497602f80"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 13 19:43:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 19:43:59 2011 -0700"
      },
      "message": "Merge \"audio: update for audio/audio_policy header names/locations\""
    },
    {
      "commit": "decbe327d1515dd6c9fd1b6773f57b0a879f9149",
      "tree": "c569409f1cc461e367b7fe21493a7f33b45a07ee",
      "parents": [
        "2714abff5cc50b1487c0979c99cc685f5ea113b1",
        "4108b1edc61ef91c63bc94a699f9a95e65c3e684"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 13 18:47:03 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 18:47:03 2011 -0700"
      },
      "message": "Merge \"Add B frame support for MPEG4Writer\""
    },
    {
      "commit": "eb99f0d9f05dd37f988a815e6bc01bbd7152c31a",
      "tree": "eab0217d74f5887e680f0dbc57aca49acba2913a",
      "parents": [
        "a934219ca8d23a63e5a9f443fafd6d4ac9847c71"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jun 12 18:05:53 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 18:39:45 2011 -0700"
      },
      "message": "fix RefBase so it retains binary-compatibility with gingerbread\n\nBug: 4595257\nChange-Id: I0d5e10f497e3f39868bff58f6ded510c38b44b12\n"
    },
    {
      "commit": "290029d19a9d314e925b73e19453ab0497602f80",
      "tree": "832511818ed878842cefe5459b12aef6423b4cb1",
      "parents": [
        "10e78c9df09378c7d1ef1be9a8c42659ccce1eb7"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 13 18:16:26 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 13 18:16:26 2011 -0700"
      },
      "message": "audio: update for audio/audio_policy header names/locations\n\nChange-Id: I36c49352eee57559403cd1597f56a8485a360289\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "4108b1edc61ef91c63bc94a699f9a95e65c3e684",
      "tree": "8095c0b5606ecfa61301539c7f66255ada3a67bb",
      "parents": [
        "622d5441975fa16636d3304d42d27659af14cb49"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 07 19:45:54 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 13 17:06:29 2011 -0700"
      },
      "message": "Add B frame support for MPEG4Writer\n\no requires the support of negative ctts duration values (ctts version 1)\n\nChange-Id: Ib14130c9359c3bff3c76f20a7380d468a065dcaf\n"
    },
    {
      "commit": "7bb843ca0777111dae7daf8f1b0705817cf523c4",
      "tree": "10545edc3ce21f38282d5e67e5bc08ff729884b3",
      "parents": [
        "dfc7958a2eafba52db90743a4707eed1d780b63b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:20:59 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 15:51:35 2011 -0700"
      },
      "message": "unify SurfaceTexture and Surface\n\nAdd the concept of synchronous dequeueBuffer in SurfaceTexture\nImplement {Surface|SurfaceTextureClient}::setSwapInterval()\nAdd SurfaceTexture logging\nfix onFrameAvailable\n"
    },
    {
      "commit": "cc5278a3e258b30903102b718fb1cd832e79bb2b",
      "tree": "9d5116e42006858d5ed5bb7fddafe22a2f7cb045",
      "parents": [
        "8aec83eb15a94b8027bbe7b6358cdf2468fd2b5c"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Fri Jun 10 13:05:32 2011 -0700"
      },
      "committer": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Mon Jun 13 14:27:39 2011 -0700"
      },
      "message": "Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.\n\nThis adds support for setting a SurfaceTexture as the MediaPlayer video\nsink by using a ParcelSurfaceTexture object. The goal is to enable a\nSurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then\nbe set on the MediaPlayer.\n\nChange-Id: Ife5689ce673eb4bee1c377019db761685217b71d\n"
    },
    {
      "commit": "dfc7958a2eafba52db90743a4707eed1d780b63b",
      "tree": "842497b93890e32563cf187ec4060bf7ff1121d3",
      "parents": [
        "fde45f58644c351ad9f662bc272fc5ac57d9c6a9",
        "9539d9f65a28b676e0a03322ad848b24786a515d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 12:32:46 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 12:32:46 2011 -0700"
      },
      "message": "Merge \"libutils: add a binary blob cache implementation.\""
    },
    {
      "commit": "bd3e537980027f4502a13c204b3c7b9d10adad31",
      "tree": "c0579407ae43b5fac78e640d339c4adfe5dd7b79",
      "parents": [
        "28b6711c4c7449e597f57e016e5bc4741e115f9a",
        "9deb930ebf7db317e7abec59b37a88c47999f9cf"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 11:14:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 11:14:57 2011 -0700"
      },
      "message": "Merge changes I56779420,I044e44e1,Ic5adfa29,Ied541ab8\n\n* changes:\n  SurfaceTexture: add some GL-\u003eGL tests.\n  SurfaceTexture: fix up a comment.\n  SurfaceTexture: add getTransformMatrix tests.\n  SurfaceTexture: fix a getTransformMatrix crash.\n"
    },
    {
      "commit": "4e03d327d6310cd2c5ca3ecd55f91363b555de71",
      "tree": "c11d3fb0a2333a27b22962c653ad5805e29f0961",
      "parents": [
        "15e0d9f5e0700fa7dc0ecd0f07d5fea6f9597ca0"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jun 12 14:11:39 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 10:50:13 2011 -0700"
      },
      "message": "SurfaceTexture: fix up a comment.\n\nChange-Id: I044e44e17319e08af657a7ec9fa39100876fe862\n"
    },
    {
      "commit": "eadfb673e7b346af02a925ad04494100db1ebbf7",
      "tree": "6ff88f77a6762f00a868807706f1e995d16373ae",
      "parents": [
        "fe93010446e68c747f4af727cbc48eaf63131689"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jun 12 17:03:06 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 13 10:50:12 2011 -0700"
      },
      "message": "SurfaceTexture: fix a getTransformMatrix crash.\n\nThis change moves the computation of the transform matrix out of\ngetTransformMatrix and instead performs the computation when\nupdateTexImage gets called.  This is needed in order for\ngetTransformMatrix to succeed even if the buffers have been freed (e.g.\nby changing the buffer count) because the computation depends upon the\nproperties of the current GraphicBuffer.\n\nChange-Id: Ied541ab8747b7ad604f862717135f9a16a816be9\nBug: 4490420\n"
    },
    {
      "commit": "041120754aa59ddd28927fa6c5db0c90bb8f5e95",
      "tree": "6e2bc633ab17347da11c06ebaffaf1b33f81d6fe",
      "parents": [
        "622d5441975fa16636d3304d42d27659af14cb49",
        "9dbd7d818916dca77e53ababdaf05311d5c7bce2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 13 10:30:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 10:30:29 2011 -0700"
      },
      "message": "Merge \"Remove redundant memory barrier\""
    },
    {
      "commit": "9dbd7d818916dca77e53ababdaf05311d5c7bce2",
      "tree": "bfabae474c823f0772712a322265af2d980959ef",
      "parents": [
        "679dd99cdce72683816e6ac75e4f0e68ca6ad51c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 02 08:59:28 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 10 17:07:46 2011 -0700"
      },
      "message": "Remove redundant memory barrier\n\npthread_create already includes the necessary memory barriers:\n - parent at pthread_create : pthread_mutex_unlock(start_mutex)\n - child at __thread_entry : pthread_mutex_lock(start_mutex)\n\nAdd lock around uses of mThread.\n\nAdded comments:\n - uses of mThread require lock\n - androidCreateRawThreadEtc returned ID is not safe for direct use from non-parent threads.\n\nChange-Id: I18cb296b41ddaf64cf127b57aab31154319b5970\n"
    },
    {
      "commit": "6b592723c9a9fc816a8ab75c935e8cd20ff65a0e",
      "tree": "00b93945a1c8051172316575208f14c355e663c3",
      "parents": [
        "08b992c88e60a95b629a70cd197b3d3b9b27fb8d",
        "f51ded0f8f593d17af82946eb65c05fc04f688b4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 10 12:45:36 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 10 12:45:36 2011 -0700"
      },
      "message": "resolved conflicts for merge of f51ded0f to master\n\nChange-Id: Ida356524a68aeb2b9b0013dfbb6ab4bd11e616e2\n"
    },
    {
      "commit": "4532c5e49cc0d029c53a3aee3e0b1fdf8ffd2ec4",
      "tree": "306c63d43fe52f5ea151b57ea5edf06b2c94505f",
      "parents": [
        "be674b18644cda56ba56a78ac7147711861e8dc8",
        "050316184b01c0d1a01c46afae7429b89a27c31b"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 10 10:05:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 10 10:05:04 2011 -0700"
      },
      "message": "Merge \"Add ParcelSurfaceTexture Java class to enable ISurfaceTexture sharing via Binder.\""
    },
    {
      "commit": "f51ded0f8f593d17af82946eb65c05fc04f688b4",
      "tree": "32b39d7d93170aed01c11e7353afc53a2b306cb4",
      "parents": [
        "5a8455c3c625201f3ae6b9ce32913bf97ba61cc8",
        "a8d7ea067cf22baeee2ff0a33e5a8c5a35936942"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 16:06:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 09 16:06:07 2011 -0700"
      },
      "message": "am a8d7ea06: am 220cd77d: Merge \"Enforce public resource restriction on bag parents.\" into honeycomb-mr2\n\n* commit \u0027a8d7ea067cf22baeee2ff0a33e5a8c5a35936942\u0027:\n  Enforce public resource restriction on bag parents.\n"
    },
    {
      "commit": "426431adcc220b6adfbe1d9530247f897e60fa36",
      "tree": "e9dd34ae5151de5bf9f57edb3055d0d228e1f006",
      "parents": [
        "1d3173c3dc93bb4f2efc5b059fec8e7577b3258a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 11:29:08 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 15:27:39 2011 -0700"
      },
      "message": "Enforce public resource restriction on bag parents.\n\nNeed to put some more styles in the SDK to avoid breaking apps.\n\nAlso, welcome Android 3.2.\n\nChange-Id: Ia31d07c9b1b91ad868d8630437fdc1b5ae24f37d\n"
    },
    {
      "commit": "050316184b01c0d1a01c46afae7429b89a27c31b",
      "tree": "b21b202cd5345f3989b512b74b227f3fc910383a",
      "parents": [
        "890e013c05ed62bea9781168f3f65efebcbac4d5"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Mon Jun 06 16:02:47 2011 -0700"
      },
      "committer": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Thu Jun 09 11:59:23 2011 -0700"
      },
      "message": "Add ParcelSurfaceTexture Java class to enable ISurfaceTexture sharing via Binder.\n\nThis adds a new ParcelSurfaceTexture.java class that can be instantiated with\na SurfaceTexture and used to send the corresponding ISurfaceTexture interface\nto another process via Binder. The ParcelSurfaceTexture java object can then\nbe used to create an ANativeWindow based on the SurfaceTextureClient interface.\n\nChange-Id: Ie38ea948b866e52f36a6d0f6cde19b54a8546817\n"
    },
    {
      "commit": "fddf5d9f48d0864a30fcc2706616f6aa6cb06c61",
      "tree": "4cf6b1091a3914612f9e3532d185624c62800464",
      "parents": [
        "b19fcf3e9c6b9c8c2885b9ac7f7f836a0e2d6d22"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 07 15:52:25 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 08 16:04:26 2011 -0700"
      },
      "message": "Make dumpsys(media.player) more useful by having AwesomePlayer populate it.\n\nChange-Id: I12ba7d542331a8293d67a0d47378b8be4f777759\n"
    },
    {
      "commit": "72c7362080c355c538ae2c46ac03501689e73736",
      "tree": "ece506fbc4beeacc5bff2a6266dbb2d00e203f8f",
      "parents": [
        "051e8f2bfa3ada8ee64d8a4f4d69ad9286209516",
        "61220e880ac4d9d76b7fd50744439e68e929c697"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Tue Jun 07 17:52:30 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 07 17:52:30 2011 -0700"
      },
      "message": "am 61220e88: am bbbab26e: am 2c180499: Merge \"Revert velocity damping. Bug: 4364920\" into honeycomb-mr2\n\n* commit \u002761220e880ac4d9d76b7fd50744439e68e929c697\u0027:\n  Revert velocity damping. Bug: 4364920\n"
    },
    {
      "commit": "a4a48a484fe862787cf2fbe1314deab8ac375951",
      "tree": "eafe490eb4ce35414011e8082a64d9a762769bd2",
      "parents": [
        "4da7b10c45dfa86be5636444b2c3caebc462659c",
        "bde61a5731cdfef76a0691f8bd53b880606f5f6e"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jun 07 04:05:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 07 04:05:35 2011 -0700"
      },
      "message": "Merge \"Improve android.hardware.Camera.Area javadoc.\""
    },
    {
      "commit": "bde61a5731cdfef76a0691f8bd53b880606f5f6e",
      "tree": "59e8a563a902aba4524af1ffcbc9443514033923",
      "parents": [
        "b2450ce105086d1ac82d273a5292d9581c6ddec4"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jun 07 18:23:14 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jun 07 19:00:03 2011 +0800"
      },
      "message": "Improve android.hardware.Camera.Area javadoc.\n\nbug:4553469\nChange-Id: Iae88af354fee4925cb7978572c27f6dd5595ca59\n"
    },
    {
      "commit": "61220e880ac4d9d76b7fd50744439e68e929c697",
      "tree": "7416218992489a1ddebdafb535d2d65a0dc8cf76",
      "parents": [
        "55cc25c12c45e8ffb65d2275cc0b6941b68db9df",
        "bbbab26ebe9bc789ba9abac757895a6c31de7cc5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:36:49 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 20:36:49 2011 -0700"
      },
      "message": "am bbbab26e: am 2c180499: Merge \"Revert velocity damping. Bug: 4364920\" into honeycomb-mr2\n\n* commit \u0027bbbab26ebe9bc789ba9abac757895a6c31de7cc5\u0027:\n  Revert velocity damping. Bug: 4364920\n"
    },
    {
      "commit": "2c1804998b6a3f1f9f5f301ccf813363825ab4cf",
      "tree": "402728e71a7bfd55b0dd1b2414ff8229442fb3b2",
      "parents": [
        "b92dcf9c062064dcca9298b089d95a3ce1ba2e75",
        "ac55c2b1ea5c4a1284bf06744380bf32e6aeb7d6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:32:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 06 20:32:18 2011 -0700"
      },
      "message": "Merge \"Revert velocity damping. Bug: 4364920\" into honeycomb-mr2"
    },
    {
      "commit": "ac55c2b1ea5c4a1284bf06744380bf32e6aeb7d6",
      "tree": "4bda0a1efedd7851c45ac63d54b3ca4b773a7320",
      "parents": [
        "cb5ffcf0e41d2597401208221c61589547a00f3d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:23:54 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:23:54 2011 -0700"
      },
      "message": "Revert velocity damping.\nBug: 4364920\n\nVelocity damping proved to be a bad idea because it would\ncause a significant ramp in velocity at the beginning of\na gesture, instead of the desired smooth behavior.  Oh well.\n\nChange-Id: Ie631946f47ef2492bd71fbed1ab44bbb39a875a8\n"
    },
    {
      "commit": "219451363d7c9e657cb856bebce34bc29d7876fa",
      "tree": "023a29129d3fc3eef930d6a2712c262809d85eb4",
      "parents": [
        "de7fc15ff45e7a7dad6304908cc6b87f3f154bf8"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 06 16:36:05 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 06 18:04:17 2011 -0700"
      },
      "message": "CameraParameters: add PIXEL_FORMAT_RGBA8888\n\nChange-Id: I2780e936f5b4628d506ac4e6947b78ef831fbde8\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "24855c09173a6caaec7dcedd0c2d7ce15121d39b",
      "tree": "1b72c39ca375da3f4c43ba5afcf9cde70dd7a53d",
      "parents": [
        "b16b020dd32147fbaaf7de47d5de16bfee10967a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 06 09:55:15 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 06 15:14:25 2011 -0700"
      },
      "message": "merge various SF fixes from gingerbread to honeycomb-mr2 (DO NOT MERGE)\n\n  Fix a race that could cause GL commands to be executed from the wrong thread.\n  RefBase subclasses can now decide how they want to be destroyed.\n  Fix a race in SurfaceFlinger that could cause layers to be leaked forever.\n  Fix a race-condtion in SurfaceFlinger that could lead to a crash.\n\ninitial cherry-pick:\nresolved conflicts for merge of b9783b49 to honeycomb-plus-aosp\n\nChange-Id: I2a335e03fff219e35c18a7b0089b3a11d636576f\n"
    },
    {
      "commit": "b2fd84ad1d470d607af4a83da378d4e317421634",
      "tree": "7f3004f80d6e46b33317676d8d11b79aa3c6bb69",
      "parents": [
        "fc51aaec82ecedb554d158e4284761c9348d09fd",
        "b9783b49f4727a0365f2297bb903db8682855adf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 06 09:55:15 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 06 09:55:15 2011 -0700"
      },
      "message": "resolved conflicts for merge of b9783b49 to honeycomb-plus-aosp\n\nChange-Id: I1d86ea56b3d1d1b69f6671e5b0df0ca3f0c79643\n"
    },
    {
      "commit": "d4c6a5be8068101870be473b4842f0ad9b87c598",
      "tree": "4fbdb14ff670cbea966d2c5ccbbe93e233384d90",
      "parents": [
        "b571a7a05338ef2c909917da9b53ddc4f4383f66",
        "38c07129c42222a764d784327d0a63f4cfc1331b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 03 17:43:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 03 17:43:20 2011 -0700"
      },
      "message": "Merge \"Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h\""
    },
    {
      "commit": "a742f854901b8306d3696c9e9b7881c207130a01",
      "tree": "f5dc2db12546bd5a0835fb62058882f7587f3e7c",
      "parents": [
        "bb718776a1f77c293d22140775706655a1605807",
        "56503b8ddfe5c82407da32e18061e725f668432d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Fri Jun 03 15:30:33 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 03 15:30:33 2011 -0700"
      },
      "message": "am 56503b8d: am 8186a5f0: am 10c3f367: Merge \"Implement pointer acceleration.\" into honeycomb-mr2\n\n* commit \u002756503b8ddfe5c82407da32e18061e725f668432d\u0027:\n  Implement pointer acceleration.\n"
    },
    {
      "commit": "38c07129c42222a764d784327d0a63f4cfc1331b",
      "tree": "88d63c9b0c1e8747cfee86ac1d639b546cc85620",
      "parents": [
        "5f8d23e7f2d74be34080f091e92437f5722c749f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 03 12:43:48 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 03 12:44:48 2011 -0700"
      },
      "message": "Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h\n\nChange-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b\n"
    },
    {
      "commit": "56503b8ddfe5c82407da32e18061e725f668432d",
      "tree": "fac35d1a321012aae79461f57b58703a7effac42",
      "parents": [
        "b9040e774920c4641c154df2a358100cf78a2bd3",
        "8186a5f065fac2b82c90cd18d79cd234bc221402"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 17:33:55 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 17:33:55 2011 -0700"
      },
      "message": "am 8186a5f0: am 10c3f367: Merge \"Implement pointer acceleration.\" into honeycomb-mr2\n\n* commit \u00278186a5f065fac2b82c90cd18d79cd234bc221402\u0027:\n  Implement pointer acceleration.\n"
    },
    {
      "commit": "8a7d44e8248cf7078da6094068b039dacc0a3971",
      "tree": "dbb6847bc8af2033321069e3ff1a2e0506f0ba14",
      "parents": [
        "0e5e16a656b0002f377f1bcda2e43a97206e4046",
        "54cb63e26e41b80c013b8665878b9c7c7fb328c1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 16:44:52 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 16:44:52 2011 -0700"
      },
      "message": "resolved conflicts for merge of 54cb63e2 to master\n\nChange-Id: I5b741a1781e3f76c03fc1534ffce871117effd10\n"
    },
    {
      "commit": "0e5e16a656b0002f377f1bcda2e43a97206e4046",
      "tree": "8559a3390986053feb375f09caa34439da7271ab",
      "parents": [
        "2170a992daa97c25fc9c5f946a63121b3bee9a35",
        "da9837fb61c8aa53c67921682016d97655332089"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 16:24:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 16:24:12 2011 -0700"
      },
      "message": "am da9837fb: am c058d386: am ff762299: Merge \"Small fixes and cleanup of resource config handling.\" into honeycomb-mr2\n\n* commit \u0027da9837fb61c8aa53c67921682016d97655332089\u0027:\n  Small fixes and cleanup of resource config handling.\n"
    },
    {
      "commit": "19c97d46fb57f87ff45d9e6ea7122b4eb21ede8c",
      "tree": "4cb7adbcc382269d7b0eeddd0043b9a9e0c71a7a",
      "parents": [
        "2969b51132b80c873663aa2472b21d3e95845927"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed Jun 01 12:33:19 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 14:12:05 2011 -0700"
      },
      "message": "Implement pointer acceleration.\n\nBug: 4124987\nChange-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50\n"
    },
    {
      "commit": "6c2cb3061d031b5d8ccc095ecc038959d4489709",
      "tree": "6e34b1e44029816c4a660bb852acc2e32fddd301",
      "parents": [
        "108a61cac5b7d6b8d6ce4dfca367888b94bf7ef9",
        "443287068bec5ca73b76a08e499da6f0de3b670a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 02 10:22:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 02 10:22:50 2011 -0700"
      },
      "message": "Merge \"Do not call getEstimatedBandwidth if the streaming is not HTTP-based\""
    },
    {
      "commit": "443287068bec5ca73b76a08e499da6f0de3b670a",
      "tree": "e02f7e1d2797bdd61e7a6532c222f4b422082f17",
      "parents": [
        "50e51b81b1cf2778b99682d918ec1288a3a2593e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 01 15:27:20 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 02 10:13:52 2011 -0700"
      },
      "message": "Do not call getEstimatedBandwidth if the streaming is not HTTP-based\n\nChange-Id: I4ab6c57e5b2b989676b8dfbb98402d10a5752261\n"
    },
    {
      "commit": "993fccec5bd0355835f0457064a28c2c13eecc60",
      "tree": "0eb56a54bed12b02122832758998888e70a86258",
      "parents": [
        "50e51b81b1cf2778b99682d918ec1288a3a2593e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 16:46:29 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 16:46:29 2011 -0700"
      },
      "message": "Remove unnecessary level of priority indirection\n\nChange-Id: I942d43973c20a7ace8b0d3f78b4da97e45e996c6\n"
    },
    {
      "commit": "e46a86fcb6a0849fc05c4cade6cb94aad0325295",
      "tree": "6e56bb08bc09a3e73d1b7e6b0cab5d7d226d6463",
      "parents": [
        "2225e4b7049fa3fb9d39a068b8268b63c952d7c1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 15:20:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 01 15:20:35 2011 -0700"
      },
      "message": "Revert \"Use AudioTrack::event_type not int in callback\"\n\nThis reverts commit 2225e4b7049fa3fb9d39a068b8268b63c952d7c1"
    },
    {
      "commit": "2225e4b7049fa3fb9d39a068b8268b63c952d7c1",
      "tree": "e4acaa9a05334d2e930677a5f5adf8314d1706c9",
      "parents": [
        "2978cef0a77550ea3a364ffbf42fc43f2029070e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 04 17:18:16 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 13:50:23 2011 -0700"
      },
      "message": "Use AudioTrack::event_type not int in callback\n\nChange-Id: Ifefc708d46874e04fd0d01cb6e2d43b987ee796c\n"
    },
    {
      "commit": "d0bbdb02b2c56b0227d82751a29ccd99d11ea12f",
      "tree": "5504cd8f97c06c46d0772a065173355b1ca460d8",
      "parents": [
        "829de65b9aa8d59cff7d8b4acd6c89682a1952a5",
        "5439223b5633679edcc255651e7062046004d75d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 01 11:04:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 01 11:04:15 2011 -0700"
      },
      "message": "Merge \"Use channel mask instead of channel count for track creation\""
    },
    {
      "commit": "5439223b5633679edcc255651e7062046004d75d",
      "tree": "683090bec6f1a9a0fe95609fe5becf54aa3b1f8a",
      "parents": [
        "3a4b8bb6756120cfdef2faa7c1966963ef011faf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 24 15:53:33 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 01 10:55:29 2011 -0700"
      },
      "message": "Use channel mask instead of channel count for track creation\n\nRecord and playback objects (resp AudioRecord and AudioTrack)\nare created using a channel mask, but this information is lost\nin the mixer because only the channel count is known to\nAudioFlinger. A channel count can always be derived from a\nchannel mask.\n\nThe change consists in:\n- disambiguiting variable names for channel masks and counts\n- passing the mask information from the client to AudioFlinger\n and the mixer.\n- when using the DIRECT ouput, only verifying the format of\n the track is compatible with the output\u0027s for PCM.\n\nChange-Id: I50d87bfb7d7afcabdf5f12d4ab75ef3a54132c0e\n"
    },
    {
      "commit": "a9d0febdd0f0502ec4f29f77b742e11ceae8a30e",
      "tree": "3b2e54ef6951b8adadd0640b5428f1aad5a18d83",
      "parents": [
        "da188fbe4b4d7b91e1440afe5a1279d0fd7a91eb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 25 19:37:03 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 31 15:23:25 2011 -0700"
      },
      "message": "Send estimated bandwidth value as informational event when cache fetcher pauses\n\no Application can make informed decision about the available network bandwidth\n  when cache fetcher pauses.\n\no Application can also adjust how frequently the bandwidth is estimated within\n  a range from one second to one minute.\n\nChange-Id: I90068001343e79da1886de03c565537787e1580b\n"
    },
    {
      "commit": "923da873c8a5bc1322a6e807c42c60d597ff8e05",
      "tree": "f5841493da26daf36e9414450978e9cb2e65ad31",
      "parents": [
        "2032eee0c178a15fd41cebbdec71c7622d2aab23",
        "8f18cf55747b8ab138661a841cbb1b2bd19f3d97"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 31 10:26:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 31 10:26:00 2011 -0700"
      },
      "message": "Merge \"Removed interface to load audio effects libraries\""
    },
    {
      "commit": "8f18cf55747b8ab138661a841cbb1b2bd19f3d97",
      "tree": "42f1d38ba83bec5eb4ddd08823c456b506f242c0",
      "parents": [
        "e8e833fbe8faaa0d49de517040bf01d18c7b9330"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 27 17:51:52 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 27 17:51:52 2011 -0700"
      },
      "message": "Removed interface to load audio effects libraries\n\nRemoved unused functions allowing dynamic loading of audio effects libraries\nfrom effects factory API.\n\nChange-Id: I06cc5a51dc10aca87c7a8687bbb874babd711eca\n"
    },
    {
      "commit": "73e0bc805a143d8cc2202fccb73230459edc6869",
      "tree": "59aeea0bcd592df160cf08606fa03cd5fa0a4211",
      "parents": [
        "48a542aabe2d58a0c3e7bac7f384d9951e5a26ed"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 17 22:54:42 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 27 17:04:55 2011 -0700"
      },
      "message": "9-axis sensor fusion with Kalman filter\n\nAdd support for 9-axis gravity and linear-acceleration sensors\nvirtual orientation sensor using 9-axis fusion\n\nChange-Id: I6717539373fce781c10e97b6fa59f68a831a592f\n"
    },
    {
      "commit": "0fb66c2b83084a16989afaf949d0101cb6505398",
      "tree": "82955066a3cd98e23ecfb4b33ba0beec715331d2",
      "parents": [
        "03edf6b36469a504bd17a5010c788c8d4e44085c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 17 19:16:02 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 27 15:15:00 2011 -0700"
      },
      "message": "New effect library API\n\nMoved and renamed media/EffectApi.h to hardware/audio_effect.h\nModified the effect library API to expose a library info structure\ncontaining an interface functions table.\nAlso removed enums for audio channels, audio format and devices\nfrom effect API and use values from system/audio.h instead.\n\nModified effects factory to support new library interface format and\nload libraries and efffects listed in audio_effects.conf file.\nThe file audio_effects.conf is first loaded from /vendor/etc and\nthen from /system/etc/audio_effects.conf if not found.\n\nModified existing effect libraries to implement the new library interface.\n\nChange-Id: Ie52351e071b6d352fa2fbc06c3846686f8c45df9\n"
    },
    {
      "commit": "54cb63e26e41b80c013b8665878b9c7c7fb328c1",
      "tree": "a3c15960d5aef66a6df3370cb5ad0b12a9fa1dee",
      "parents": [
        "da9837fb61c8aa53c67921682016d97655332089",
        "528c49f112dce5f9687f30a9751e783196eca0c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 14:27:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 14:27:46 2011 -0700"
      },
      "message": "am 528c49f1: am b96cbbd1: Add \"tv\" density for 720p screens.\n\n* commit \u0027528c49f112dce5f9687f30a9751e783196eca0c6\u0027:\n  Add \"tv\" density for 720p screens.\n"
    },
    {
      "commit": "b96cbbd11c4590bec846212c33361e02293f18b5",
      "tree": "ac02f12136339bb608c07d8b26eaae1cddccf792",
      "parents": [
        "ff7622992f39d8e401ab23c5ce6a84f318906e52"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 13:40:26 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 13:40:26 2011 -0700"
      },
      "message": "Add \"tv\" density for 720p screens.\n\nChange-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630\n"
    },
    {
      "commit": "da9837fb61c8aa53c67921682016d97655332089",
      "tree": "5b6771f3f923114dc942c98b5498098c2c593f3f",
      "parents": [
        "ef9be207152d54cbc1382121053e25414b3b2ed3",
        "c058d38602a1ffe00e14b4ab32c876c252eabe6d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 12:47:59 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 12:47:59 2011 -0700"
      },
      "message": "am c058d386: am ff762299: Merge \"Small fixes and cleanup of resource config handling.\" into honeycomb-mr2\n\n* commit \u0027c058d38602a1ffe00e14b4ab32c876c252eabe6d\u0027:\n  Small fixes and cleanup of resource config handling.\n"
    },
    {
      "commit": "3904d03dd01dcd43c446744e44b34615825d9679",
      "tree": "90a8c911753fe69f0ab5bbfe273c08c086f8839d",
      "parents": [
        "94250ac69c6e07534e4781d3479dccb79d8c366c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 12:09:11 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 12:09:11 2011 -0700"
      },
      "message": "Small fixes and cleanup of resource config handling.\n\nChange-Id: I402c31b68f2b4825cb4c610a65ee8e1da471c7bb\n"
    },
    {
      "commit": "73a4b2b3be14255f87c4108d4e414b9137da6510",
      "tree": "abcbd4946c4d9c45cea1144f493b06fb5cc7864e",
      "parents": [
        "31beb6db09174da843a4af243842c0d265f02402",
        "eb2f9c193d74c005a0c78e6dbed874809d55fc81"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 26 08:52:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 08:52:55 2011 -0700"
      },
      "message": "Merge \"Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.\""
    },
    {
      "commit": "98472cced0a66318a89ffe485bbebb80034f12be",
      "tree": "bd193ac1d94ba546af119390556aa96120a2e5b3",
      "parents": [
        "f9f01008624e2d28c15a90d942fa36f98c8c967d",
        "13bc8cde1c842bea1fa3000a48739a6e22f25a9c"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 25 20:11:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 20:11:25 2011 -0700"
      },
      "message": "Merge \"For out of band timed text support (timed text in a separate file).\""
    },
    {
      "commit": "13bc8cde1c842bea1fa3000a48739a6e22f25a9c",
      "tree": "7f2e05769603e6a58124cf5870d732e24ac735dd",
      "parents": [
        "560e97f8e0cb63a0fa6e88db6badc142a99517d2"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 11 11:24:09 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 25 17:53:29 2011 -0700"
      },
      "message": "For out of band timed text support (timed text in a separate file).\n\nChange-Id: I9e024a63eb9bf6f839deee3c7766a66e63126c96\n"
    },
    {
      "commit": "eb2f9c193d74c005a0c78e6dbed874809d55fc81",
      "tree": "01d0f911bf55af568dcef8e1bbb820f1a1f5275d",
      "parents": [
        "1b9b34adf704c2c059ca439ace0c0b67c8c272f3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 19 08:37:39 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed May 25 15:57:07 2011 -0700"
      },
      "message": "Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.\n\nChange-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5\n"
    },
    {
      "commit": "3c2fb0242b0ec21101959dfa08aad3162a523634",
      "tree": "5f338cb0714dbe36988431320f8919576d91009a",
      "parents": [
        "13412d31650366f41b1f3d9f429cb0a01dd575ef",
        "8148cc3e47e50c916066e2fed562618b5827188f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:46:53 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:46:53 2011 -0700"
      },
      "message": "am 8148cc3e: am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\n* commit \u00278148cc3e47e50c916066e2fed562618b5827188f\u0027:\n  Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n"
    },
    {
      "commit": "8e5799ed16ab605d8de775e1644f1fa59ff6627e",
      "tree": "cc7f1fd4b865123a2ee50ddebd628004e186112f",
      "parents": [
        "7d0fb57044576fd4bbaf9683997bab288c3b759c",
        "af685f3bb566f297deee1615d55d4f33d5580ba3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:42:20 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:42:20 2011 -0700"
      },
      "message": "am af685f3b: am 85a7f99c: Merge \"Refactor how timeouts are calculated. (DO NOT MERGE)\" into honeycomb-mr2\n\n* commit \u0027af685f3bb566f297deee1615d55d4f33d5580ba3\u0027:\n  Refactor how timeouts are calculated. (DO NOT MERGE)\n"
    },
    {
      "commit": "7d0fb57044576fd4bbaf9683997bab288c3b759c",
      "tree": "e5a83713aaaf0d82170bba4da24f32b5f7465f39",
      "parents": [
        "4e3ba25cc718bbc6db0a332c4105debc4b3552d3",
        "16330e249663fed890df0e95fce4016c2971120a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:42:06 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:42:06 2011 -0700"
      },
      "message": "am 16330e24: am 94e838f6: Merge \"Improve VelocityTracker numerical stability. (DO NOT MERGE)\" into honeycomb-mr2\n\n* commit \u002716330e249663fed890df0e95fce4016c2971120a\u0027:\n  Improve VelocityTracker numerical stability. (DO NOT MERGE)\n"
    },
    {
      "commit": "4e3ba25cc718bbc6db0a332c4105debc4b3552d3",
      "tree": "41ea26bf7a101268ac614d362393b7bd2705f4fb",
      "parents": [
        "cfb046dead49568de6f6808a697e0508ef39a3a6",
        "4bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:42:01 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:42:01 2011 -0700"
      },
      "message": "am 4bd89fb0: am 82e4373e: Merge \"Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)\" into honeycomb-mr2\n\n* commit \u00274bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1\u0027:\n  Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)\n"
    },
    {
      "commit": "86ea1f5f521981d075aef56f11693e4f3bc32fdb",
      "tree": "72e1e44513d3e9e204a4fbd2855a079822e949eb",
      "parents": [
        "a6dbfdd3a858aac52cc87f80f91e8eef7d613605"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 12 22:39:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed May 25 14:37:17 2011 -0700"
      },
      "message": "Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\nAdded a new PointerIcon API (hidden for now) for loading\npointer icons.\n\nFixed a starvation problem in the native Looper\u0027s sendMessage\nimplementation which caused new messages to be posted ahead\nof old messages sent with sendMessageDelayed.\n\nRedesigned the touch pad gestures to be defined in terms of\nmore fluid finger / spot movements.  The objective is to reinforce\nthe natural mapping between fingers and spots which means there\nmust not be any discontinuities in spot motion relative to\nthe fingers.\n\nRemoved the SpotController stub and folded its responsibilities\ninto PointerController.\n\nChange-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e\n"
    },
    {
      "commit": "a218715a7fca98c868feccee4751c94e38b676ff",
      "tree": "3386ef4297d74a48b940e2b9d61fdd6f9c209cd0",
      "parents": [
        "4ece6db47ec33ed439ae2177fbc0cc3e7e79cdca"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu May 19 13:33:00 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed May 25 12:27:33 2011 -0700"
      },
      "message": "SurfaceTexture: clean up some comments, tests, etc.\n\nThis change fixes up some stale comments, member variable names, log\nmessages and disables a failing test.\n\nChange-Id: Ic1d3344b18066cf710e4a42838b2417c6b1f2f6c\n"
    }
  ],
  "next": "b9783b49f4727a0365f2297bb903db8682855adf"
}
