)]}'
{
  "log": [
    {
      "commit": "83c09685f2e62bc3cf7e71bc61d903f4b9ccaeb4",
      "tree": "c8bc2824e0d2e2b353b3d16ecf5836ab8fd9e67c",
      "parents": [
        "dd830c21149c336139b28560c0e6fba9f3d0e0fc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 23 17:50:18 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Dec 29 13:19:53 2010 -0800"
      },
      "message": "Add initial support for cursor-based pointing devices.\n\nSome parts stubbed out but you can plug in a mouse and move\na green cursor around to interact with the UI.\n\nChange-Id: I80d597a7f11d3bd92041890f74b3c77326975e6e\n"
    },
    {
      "commit": "34ad57f0e844cd97f59d4ab22087d60d58650ba4",
      "tree": "c254d651eeb62d76fc7fe5ab852b237857bd7b09",
      "parents": [
        "96abab264e4d96071dc169b4828e950c1ae59681"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Dec 21 09:32:36 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Dec 21 09:32:36 2010 -0800"
      },
      "message": "resubmitting Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9\n\nChange-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9 was reverted\ndue to a bug. fixed the bug and resubmitting it here\n"
    },
    {
      "commit": "5274e84e88d2cba20ad3cb21c55c1758b4da8af4",
      "tree": "3e5de42a2c88daf93578136684d265d0e3c3f54d",
      "parents": [
        "6551a2d065b98acb2efa1834846b364b62dcd35f"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Dec 20 14:23:48 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Dec 20 14:23:48 2010 -0800"
      },
      "message": "Revert \"bug:2448371 cursorwindow size moved to resource xml file.\"\n\nThis reverts commit 2594bae1f551d758c5c88771310d1ee3dc2c71ac.\n"
    },
    {
      "commit": "2594bae1f551d758c5c88771310d1ee3dc2c71ac",
      "tree": "a3628391acd770e4744a33673e65a92d1385fb73",
      "parents": [
        "4c7cc34127efa3308e1a09b28728868911b79789"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sun Dec 19 00:21:10 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Dec 20 13:08:08 2010 -0800"
      },
      "message": "bug:2448371 cursorwindow size moved to resource xml file.\n\nlet cursor window size be set per device in device resources file.\ndefault is 1MB.\nfor SR, it is 2MB.\nit can be set to any value (in kB) in the device resource\nstrings.xml file\n\nChange-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9\n"
    },
    {
      "commit": "076e05b488e40fdd946f0d35137fe66a576efe09",
      "tree": "c2b732777b51e1f6d8ba92047c2446bd0f2d0582",
      "parents": [
        "dcaa10cd361a543cfa93bbb5c53444f437bd07a4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 16 12:54:24 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 16 15:35:36 2010 -0800"
      },
      "message": "MediaScanner: Add support for scanning empty directories\n\nCurrently the media scanner does not create database entries for directories\nunless they contain a file that is scanned.\nFixing this so we provide a consistent view of the world to MTP.\n\nChange-Id: Ia776acfeae23192183e7192d63cdc34d830ea889\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "687b32d83e0145b0a684e3a9704ab50939260d60",
      "tree": "06e0e2efc101c5ff2434eaa942c125b88e676dfa",
      "parents": [
        "6a4d0a6af20d4ba88f8eeb658c68757c0926cbc5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 17:18:20 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:08:26 2010 -0800"
      },
      "message": "Properly announce decoder output format changes, make sure AMessage::dup does.\n\nChange-Id: Ia77f6b6d5e5c5055583740dfe876b8a3c22be9b6\n"
    },
    {
      "commit": "a15874665fa785c82afa9f2e8cb3512470c297cb",
      "tree": "0a2d5bc416eb12e5d4c4c21dfb4e7111389b7a8c",
      "parents": [
        "ebf90ac7a82c9a0fa5c02702ccba36bc5082240f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 15:17:42 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 15:18:26 2010 -0800"
      },
      "message": "Initial support for a true streaming player for mpeg2 transport streams.\n\nChange-Id: I153eec439d260a5524b21270e16d36940ec3161a\n"
    },
    {
      "commit": "52e6ada69e0cdc4366f97cef12d8ce93c52c3b24",
      "tree": "886362a7280b263bd522599988086c093e7dfe7e",
      "parents": [
        "aa0e56f9f2f353f969a7230eb8d038fffff4d6da",
        "06f9ebf4f6178d6b6970cace263ee180d4b61d36"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 14 15:51:32 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 14 15:51:32 2010 -0800"
      },
      "message": "Merge \"minor clean-up. SurfaceFlinger doesn\u0027t need libpixelflinger.so.\""
    },
    {
      "commit": "aa0e56f9f2f353f969a7230eb8d038fffff4d6da",
      "tree": "87df07b03fcce81cdbcfb5551922edd4d6772055",
      "parents": [
        "ab9b6285a06f15b2dfc961e56acfb00d5c600a7f",
        "f7d63cf2cbab403b14778ec45839107078e20824"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 14 15:51:22 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 14 15:51:22 2010 -0800"
      },
      "message": "Merge \"dump callstack on Surface use error\""
    },
    {
      "commit": "0bd5243b751c9cad317758158f79b3347e7948af",
      "tree": "0c019af51a9067ae0292b6e0cf95c0829539c83d",
      "parents": [
        "48ea8d836276c04528d8e7dfebd59d27a627ce66"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Dec 13 16:52:35 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Dec 14 09:28:16 2010 -0800"
      },
      "message": "Framework-side support for Dalvik \"isSensitiveThread\" hook.\n\nUsed in lock contention stats.\n\nBug: 3226270\nChange-Id: Ie6f58d130a29079a59bdefad40b80304d9bc3623\n"
    },
    {
      "commit": "06f9ebf4f6178d6b6970cace263ee180d4b61d36",
      "tree": "9abc50dcbf3cee3ba65dc95bf59f9eb647a208c3",
      "parents": [
        "f7d63cf2cbab403b14778ec45839107078e20824"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Dec 13 16:47:31 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Dec 13 16:47:31 2010 -0800"
      },
      "message": "minor clean-up. SurfaceFlinger doesn\u0027t need libpixelflinger.so.\n\nChange-Id: I3bdca74351c8e480a05084bc412a96c5f685221d\n"
    },
    {
      "commit": "2144f6316d9c993ba20c7de2a6cac35265291cc5",
      "tree": "97bb957fca144202183ad1a3beaa970e1ab04271",
      "parents": [
        "086c0611d3680fbc2951f2b469bf78257ef4aed7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Dec 11 10:43:41 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Dec 11 10:57:03 2010 -0800"
      },
      "message": "Revert \"Allows the authoring engine to skip frame.\"\n\no Skipping frames could lead to a lot of issues such as I frames is lost etc.\n  It is not being used anyway.\n\nThis reverts commit 53d4e0d58e2d5c18f6e026c705af833b9bdd7aba.\n\nConflicts:\n\n\tmedia/libstagefright/AudioSource.cpp\n\tmedia/libstagefright/CameraSource.cpp\n\nChange-Id: I3abba1647de48db25bdc369066eb2a7ae4dedec2\n"
    },
    {
      "commit": "0cfb45a4232f8ccb58b8136ff8628d9978582154",
      "tree": "7adfd6771bb1bacd0d68e2d44c5765e93932738b",
      "parents": [
        "54ca4587872c46ba7dfc4925e1e35061119ddcbf",
        "3dd25a6bf71bd535bf9dbbe16234229ff45414a0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 10 16:30:46 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 10 16:30:46 2010 -0800"
      },
      "message": "Merge \"[3258939] Need snapshot to limit which layers are included\""
    },
    {
      "commit": "3dd25a6bf71bd535bf9dbbe16234229ff45414a0",
      "tree": "16194108cb3fdc84bd42631d81eaf1a518cfecb9",
      "parents": [
        "957d85ec046651a8b0549b62021079ddcc0b8f53"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 10 16:22:31 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 10 16:22:31 2010 -0800"
      },
      "message": "[3258939] Need snapshot to limit which layers are included\n\nChange-Id: Id7351a0e3f53dde99b291cffba553d89fd4d7ca9\n"
    },
    {
      "commit": "f7d63cf2cbab403b14778ec45839107078e20824",
      "tree": "b476d75af36e5a6fbbd0e1a7161a4fe3598114b0",
      "parents": [
        "957d85ec046651a8b0549b62021079ddcc0b8f53"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 10 15:37:48 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 10 15:37:48 2010 -0800"
      },
      "message": "dump callstack on Surface use error\n\nChange-Id: I38e260dd47349b9af3a999dda683a083a94be16d\n"
    },
    {
      "commit": "74920cb1a84907f8732d67f4fae7a4768665d5d2",
      "tree": "3de44e605897479b668e431887f6c266bc3b193f",
      "parents": [
        "337885be6e0eadda2d54977104c5738b03f6fb34"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 09 11:08:14 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 10 07:19:13 2010 -0800"
      },
      "message": "We requires camera hal\u0027s implementation should not track the ref count of any outstanding video frames and ignore\nreleaseRecordingFrame() call after it receives disableMsgType(CAMERA_MSG_VIDEO_FRAME).\n\nChange-Id: I2ecb9b3b11dab6bf868ccf8effda1b8df5bcde3c\n"
    },
    {
      "commit": "19f9eda28a1bd182a5f7bba9dde015b29ab04d25",
      "tree": "6f50da25906fa72cc7610c253ef1a441e4de1cdc",
      "parents": [
        "e5c16ab5a8b4e12aff03a88d3c3c6eac03b609c3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:40:01 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:48:28 2010 -0800"
      },
      "message": "fix [3259708] Graphic Buffer Mapper does not support YV12\n\nremove a bunch of a code that was there only to support broken gralloc implementations\n\nChange-Id: I3c1a9172224cbcc283601abfbbd695a20815451f\n"
    },
    {
      "commit": "d2112306330ce0c162bee4b864991962ca2b655a",
      "tree": "d169f93867e853220c40d38826fe81b4a1ad9eff",
      "parents": [
        "ff3c470778a69d262470e9707fce58dd485c6cc9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 19:38:17 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:13:59 2010 -0800"
      },
      "message": "remove support for PUSH_BUFFER surfaces and overlays\n\nthe same functionality is now supported through\nthe h/w composer HAL, and YUV support in the GPU.\n\nChange-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf\n"
    },
    {
      "commit": "94720d7ec40d2b5ee200d95a46588cdb0fb30e66",
      "tree": "48c53514ce6f4eb1012a38ec8fd9b422d7937897",
      "parents": [
        "882754e8cc5833e19696271d612b4b9eabcc5bb3"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Dec 01 16:38:01 2010 -0800"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Dec 08 15:40:11 2010 -0800"
      },
      "message": "surfaceflinger: add support for gralloc dump hooks\n\nChange-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c\n"
    },
    {
      "commit": "1542af35976ce121b8a69812ab8dec7b71a0b283",
      "tree": "ae7c8471d4c48b835f67a979f45dd5025b6c5c3c",
      "parents": [
        "f4ade58b3eb24c20337ba9608a4b2008fb4a017d",
        "ddb76c4644756b31be948d70aaa8ee541dd94999"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Dec 08 14:46:22 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 08 14:46:22 2010 -0800"
      },
      "message": "Merge \"Change assets to use 64-bit API\""
    },
    {
      "commit": "ddb76c4644756b31be948d70aaa8ee541dd94999",
      "tree": "782d260d2da982941148be7c1a0a0780749cdfdc",
      "parents": [
        "8028a951c3aa74990907efb9376d1093d84084af"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 24 12:56:06 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Dec 08 11:21:30 2010 -0800"
      },
      "message": "Change assets to use 64-bit API\n\nThe asset system and supporting libraries were using off_t instead of\noff64_t to access files larger than 2GB (32-bit signed). This change\nreplaces all off_t with off64_t and lseek64.\n\nThere is a new utils/Compat.h added for Mac OS compatibility.\n\nAlso fixed some size-related compiler warnings.\n\nBug: 3205336\nChange-Id: I9097b3cb7a602e811fe52f245939d8975da55e9e\n"
    },
    {
      "commit": "f69583cde5e4e8c3337c2196f8102f987ef9ea61",
      "tree": "e3f030006ee8a7c976ed0b4dcb7e1419d8a782d8",
      "parents": [
        "5e17a1a18c47d2e37e8b93582caa30d147924293",
        "bbbcf65532c905b71f5c731551b15e9bd2fc26e0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 08 09:09:25 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 08 09:09:25 2010 -0800"
      },
      "message": "Merge \"Better buffer status management and verification in OMXCodec.\""
    },
    {
      "commit": "bbbcf65532c905b71f5c731551b15e9bd2fc26e0",
      "tree": "3d0f06349105f88a071c6bb352b8d2b18da06daa",
      "parents": [
        "b0fa4f2c6f20a873370d9d50d9f77a4ea705270d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 07 14:25:54 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 08 09:07:28 2010 -0800"
      },
      "message": "Better buffer status management and verification in OMXCodec.\n\nChange-Id: I90410f2ac0d8ff86076a239dc6e281b1bc4d8643\n"
    },
    {
      "commit": "49ed71db425c5054e3ad9526496a7e116c89556b",
      "tree": "3d3b28bdaf76d5cc531fd3b52fcbb0efb32a05ba",
      "parents": [
        "f30c8287525ac049d4d7589a330be5713256046b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Dec 06 17:13:33 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Dec 07 17:35:26 2010 -0800"
      },
      "message": "Add support for fallback keycodes.\n\nThis change enables the framework to synthesize key events to implement\ndefault behavior when an application does not handle a key.\nFor example, this change enables numeric keypad keys to perform\ntheir associated special function when numlock is off.\n\nThe application is informed that it is processing a fallback keypress\nso it can choose to ignore it.\n\nAdded a new keycode for switching applications.\n\nAdded ALT key deadkeys.\n\nNew default key mappings:\n- ESC -\u003e BACK\n- Meta+ESC -\u003e HOME\n- Alt+ESC -\u003e MENU\n- Meta+Space -\u003e SEARCH\n- Meta+Tab -\u003e APP_SWITCH\n\nFixed some comments.\nFixed some tests.\n\nChange-Id: Id7f3b6645f3a350275e624547822f72652f3defe\n"
    },
    {
      "commit": "f30c8287525ac049d4d7589a330be5713256046b",
      "tree": "57485c30f1f124146eed3361ceeeb25324a835a6",
      "parents": [
        "2460a5fa23ca36b91f5759d49339911461833c2d",
        "48f42f8c3fbd33b2f46c6290ff5963dd58938cf9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 17:24:03 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 07 17:24:03 2010 -0800"
      },
      "message": "am 48f42f8c: am 4153bf3a: Merge \"[3171580] don\\\u0027t automatically log GraphicBuffer allocation failures\" into gingerbread\n\n* commit \u002748f42f8c3fbd33b2f46c6290ff5963dd58938cf9\u0027:\n  [3171580] don\u0027t automatically log GraphicBuffer allocation failures\n"
    },
    {
      "commit": "48f42f8c3fbd33b2f46c6290ff5963dd58938cf9",
      "tree": "0c01be4789618cc40496eab0d4919b1d3703d329",
      "parents": [
        "03dc51b1a07c7d79f1d12751b19ebda044857333",
        "4153bf3a259624a2f2dc497b77b225a1fb517abc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 14:20:09 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 07 14:20:09 2010 -0800"
      },
      "message": "am 4153bf3a: Merge \"[3171580] don\\\u0027t automatically log GraphicBuffer allocation failures\" into gingerbread\n\n* commit \u00274153bf3a259624a2f2dc497b77b225a1fb517abc\u0027:\n  [3171580] don\u0027t automatically log GraphicBuffer allocation failures\n"
    },
    {
      "commit": "b0fa4f2c6f20a873370d9d50d9f77a4ea705270d",
      "tree": "0c8ebe0201b2ba0dbda5d4089be04cffd17cbdcf",
      "parents": [
        "3b64772d18a0399cd03f1a03981b918391337921",
        "ae9d5072534de65d9ea41def2e1b4258a1731ca4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 07 10:12:47 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 07 10:12:47 2010 -0800"
      },
      "message": "Merge \"API Support for both synchronous and queued commands, optionally associated metadata.\""
    },
    {
      "commit": "ae9d5072534de65d9ea41def2e1b4258a1731ca4",
      "tree": "830c5d190218294b95df9b1e84dc395d8779c7a6",
      "parents": [
        "b5590846c035a28399818451201aaf1256913ec3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 06 10:36:06 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 06 12:45:50 2010 -0800"
      },
      "message": "API Support for both synchronous and queued commands, optionally associated metadata.\n\nChange-Id: Idb90d64cb638942210c5822b3cba2f05b087d601\n"
    },
    {
      "commit": "5df53fe2f038bc23f2e3c452dc8398c8bdd08d30",
      "tree": "bf971ac81017ef67dc0387768f6002e420233dcb",
      "parents": [
        "933a4bb4ffccc4235e913b401d752789f58bfc06"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Dec 05 14:25:34 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Dec 05 16:08:30 2010 -0800"
      },
      "message": "Remove check if the target video resolution is not supported by CameraSource\nand clean up Camera is CameraSource could not created.\n\nbug - 3254411\n\nChange-Id: I43497c450e7007de5ce027e2912b1421119e8887\n"
    },
    {
      "commit": "e869aee382cfe01d42dffba4912458a16bb791fb",
      "tree": "4ad59036b474196ca5033fada6604ebde97b7997",
      "parents": [
        "e2abd103a2d311738ff1dd1e1d9b8e6c52aa870c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 03 17:33:09 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 03 17:33:09 2010 -0800"
      },
      "message": "[3171580] don\u0027t automatically log GraphicBuffer allocation failures\n\nsome of these failures are not fatal and even expected in some cases\nso they should not emit a dump in the log in those cases.\n\nChange-Id: Idcfa252e3bfa9d74e27fe4ad8f8623aa01aa9c5e\n"
    },
    {
      "commit": "faf09ba9405ff019b5ca7e2317debe4ff269d4f8",
      "tree": "4e455c7318659101ff36e280abb91be3689fb778",
      "parents": [
        "848024f744729a131a461f3d13151b2d0393de17"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 02 17:42:08 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 03 15:32:47 2010 -0800"
      },
      "message": "Prepare for publishing MediaMetadataRetriever as public API\n\nstep one:\no replaced captureFrame with getFrameAtTime\no removed getMode\n\nbug - 2433195\n\nChange-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12\n"
    },
    {
      "commit": "592f4dd8c173f774ac3735211b301e51856d5175",
      "tree": "a54b81d49f33605574f837da1ab079f22c3c37f7",
      "parents": [
        "3b7fec8d56e0634d4c7795258f03023f4885f723",
        "33b2264ea9ab0f1980c49698729a0ab3c51d07fe"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Dec 03 11:23:48 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 03 11:23:48 2010 -0800"
      },
      "message": "Merge \"Move disk usage utilities to its own library\""
    },
    {
      "commit": "9065504a63d6bf37bf621191fda1d1fe4da76ee3",
      "tree": "500948db3ef54c52fc65f52f4ab4a220e4504009",
      "parents": [
        "d6a46103bfbed17451abf0fb608d7b778597846c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 02 13:50:46 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 02 16:01:32 2010 -0800"
      },
      "message": "Improve support for external keyboards.\n\nUse Vendor ID, Product ID and optionally the Version to\nlocate keymaps and configuration files for external devices.\n\nMoved virtual key definition parsing to native code so that\nEventHub can identify touch screens with virtual keys and load\nthe appropriate key layout file.\n\nCleaned up a lot of old code in EventHub.\n\nFixed a regression in ViewRoot\u0027s fallback event handling.\n\nFixed a minor bug in FileMap that caused it to try to munmap\nor close invalid handled when released if the attempt to map\nthe file failed.\n\nAdded a couple of new String8 conveniences for formatting strings.\n\nModified Tokenizer to fall back to open+read when mmap fails since\nwe can\u0027t mmap sysfs files as needed to open the virtual key\ndefinition files in /sys/board_properties/.\n\nChange-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6\n"
    },
    {
      "commit": "5faa078aeb9ec841b9905530c2b7e2bcd0a678b3",
      "tree": "5b7a8d3bf0200b03c372ee5b62335059cb39aa98",
      "parents": [
        "7423c09f7a8cf4c7a5cf6856e7e8eb40bb67cac6",
        "4ddca9baccad95eb884114ce11723c07372286e2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 01 11:01:00 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 01 11:01:00 2010 -0800"
      },
      "message": "Merge \"Add preferred preview size support in the camera framework\""
    },
    {
      "commit": "4ddca9baccad95eb884114ce11723c07372286e2",
      "tree": "64f805bee71f09a5e10ba1c851477432a90c2eea",
      "parents": [
        "0b44476a23660baabc1984c2fa8ee2c0c114460b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 29 16:51:55 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 30 22:28:27 2010 -0800"
      },
      "message": "Add preferred preview size support in the camera framework\n\nbug - 3237021\n\nChange-Id: Ica8a3ae5cfbee462b74de98770e33277186c9a2b\n"
    },
    {
      "commit": "1f2451007c660091b7b090c1ea332f9044515d2d",
      "tree": "eddeaa59b0443b271353cd731e9ce7ce5b1cd993",
      "parents": [
        "47e6b1b5eef8ee99872f278f66bc498c4fcca0d8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 18 20:53:46 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 30 18:50:17 2010 -0800"
      },
      "message": "Ensure the ShortcutManager uses the correct key character map.\n\nThe ShortcutManager used to only receive the key code of the key event\nthat triggered the shortcut.  This change now provides the shortcut\nmanager with the whole key event so it can look up the associated\ncharacter using the correct key character map.\n\nTo make this more efficient, added a mechanism for recycling\nkey events.  At the moment it is only used by key events owned by the\nsystem process, since clients of the existing API (such as Views)\nmight continue to hold on to key events after dispatch has finished so\nthey would break if the key event were recycled by the framework.\n\nDeprecated KeyCharacterMap.BUILT_IN_KEYBOARD.\n\nChange-Id: I4313725dd63f2be01c350c005a41c7fde9bc67e8\n"
    },
    {
      "commit": "47e6b1b5eef8ee99872f278f66bc498c4fcca0d8",
      "tree": "ef5a7c87b8dca433ea9707c1289ae7c8d2ba3787",
      "parents": [
        "735206f121cb2a11b3397870e6565178627e0aa3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 29 17:37:49 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 30 17:15:49 2010 -0800"
      },
      "message": "Support non-orientation aware keyboards and other devices.\n\nFixed a bug with dpad keys on external keyboards being rotated\naccording to the display orientation by adding a new input device\nconfiguration property called \"keyboard.orientationAware\".\n\nAdded a mechanism for overriding the key layout and key character\nmap in the input device configuration file using the new\n\"keyboard.layout\" and \"keyboard.characterMap\" properties.\n\nAlso added \"trackball.orientationAware\", \"touch.orientationAware\" and\n\"touch.deviceType\" configuration properties.\n\nRewrote the configuration property reading code in native code\nso that it can be used by EventHub and other components.\n\nAdded basic support for installable idc, kl, and kcm files\nin /data/system/devices.  However, there is no provision for\ncopying files there yet.\n\nDisabled long-press character pickers on full keyboards so that\nkey repeating works as expected.\n\nChange-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791\n"
    },
    {
      "commit": "33b2264ea9ab0f1980c49698729a0ab3c51d07fe",
      "tree": "0c30e474c5ddb66c8bc0bcdc44126447f26afd92",
      "parents": [
        "0b44476a23660baabc1984c2fa8ee2c0c114460b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Nov 30 13:49:32 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Nov 30 16:51:13 2010 -0800"
      },
      "message": "Move disk usage utilities to its own library\n\nDisk usage calculation will happen in more places now, so move the\ninstalld calculation utilities out to its own library that only gets\nbuilt for the target.\n\nChange-Id: Idceb6bd663ca6ab3d38fa00e57ee74a25b784855\n"
    },
    {
      "commit": "6bdbcd748ee64c7d66547c89673b415197a3001f",
      "tree": "76261b3f8b4fe6af167e91b97dd749f5d4747df1",
      "parents": [
        "a111187a5b4dc5d287e29ced7d65e8d20edca140",
        "52b52cdfb7502d5a0fd7bba21d1daa3e36a54e42"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 24 10:58:46 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 24 10:58:46 2010 -0800"
      },
      "message": "Merge \"Support streaming data across binder boundaries.\""
    },
    {
      "commit": "29fc2c9705e1bb8ae098fca016032d2325031587",
      "tree": "2b7e7ed7a40e3d31fa843094f31ecfb4fb257a19",
      "parents": [
        "93fbae34ce8b6a1907b6f1daf42f17e3f0025346"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Nov 24 10:26:50 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Nov 24 10:26:50 2010 -0800"
      },
      "message": "Allow status bar panels to be on top of the status bar.\n\nChange-Id: I3c74ece5f7042e6302717f4263746d59d5447ec9\n"
    },
    {
      "commit": "52b52cdfb7502d5a0fd7bba21d1daa3e36a54e42",
      "tree": "040a33d75806c53592501343999f16c4c3cf114c",
      "parents": [
        "57914381a80c9f19cf5227b4af9e822fa0c74ea9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 23 11:41:34 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 23 14:46:13 2010 -0800"
      },
      "message": "Support streaming data across binder boundaries.\n\nChange-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc\n"
    },
    {
      "commit": "35f2d3997efe62ce7660ac558578ac5ca834f357",
      "tree": "9f6031e2e4bb9665e619bc881839477c14898a21",
      "parents": [
        "c0ec802e96788c3002b737b02707875049758f98",
        "24a90c2674270fee0783bafa54fd5d845bdf0c18"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 22 21:29:08 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 22 21:29:08 2010 -0800"
      },
      "message": "am 24a90c26: am d9334934: Merge \"Update of DRM Framework.\"\n\n* commit \u002724a90c2674270fee0783bafa54fd5d845bdf0c18\u0027:\n  Update of DRM Framework.\n"
    },
    {
      "commit": "24a90c2674270fee0783bafa54fd5d845bdf0c18",
      "tree": "e666edcc7ed926f5eb2f6c4c23974095f7514c8a",
      "parents": [
        "8484e57f3006dd3aa925792e6414387c233c1a8d",
        "d93349342a89a25c7a884e8543c6adc048c5f86d"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 22 21:25:56 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 22 21:25:56 2010 -0800"
      },
      "message": "am d9334934: Merge \"Update of DRM Framework.\"\n\n* commit \u0027d93349342a89a25c7a884e8543c6adc048c5f86d\u0027:\n  Update of DRM Framework.\n"
    },
    {
      "commit": "4a0ff4de7954295ef7a1fd595c999240523860f8",
      "tree": "a0b4ff19bc46a7e3d7860bcfb1c8c9d4bf2518bd",
      "parents": [
        "747698664d52691c9f2604f1d52dda4a02735616",
        "1bb0ffd0981bec26f906bc62d449e136111af4f8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 22 15:40:29 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 22 15:40:29 2010 -0800"
      },
      "message": "Merge \"Squashed commit of the following:\""
    },
    {
      "commit": "1bb0ffd0981bec26f906bc62d449e136111af4f8",
      "tree": "91c6a21c85bd5dc4b74663fa4c665f81d0d67a09",
      "parents": [
        "1ca562635117e10fae0888689909e6c39d66b0a4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 22 13:06:35 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 22 14:05:21 2010 -0800"
      },
      "message": "Squashed commit of the following:\n\ncommit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Nov 22 12:57:04 2010 -0800\n\n    set_surface_crop doesn\u0027t seem to work right yet, stop using it in the SoftwareRenderer.\n\n    Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42\n\ncommit 4767b52bee3a54ae117a8708d6832276a44e6a6a\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Nov 22 11:14:57 2010 -0800\n\n    info-\u003emMediaBuffer may still be NULL at this point...\n\n    Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f\n\ncommit 0cef79874e1f1ddb10b7402177a87d3cffc7de92\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Nov 22 10:55:12 2010 -0800\n\n    QCOM\u0027s YVU420 color format conversion has now been tested.\n\n    Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67\n\ncommit 84fe05a6c969ede0ce8a85a530e110afca07c7a7\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Nov 22 09:59:50 2010 -0800\n\n    Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle.\n\n    Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc\n\ncommit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 16:11:06 2010 -0800\n\n    Revamped Software Renderer respects the crop rectangle.\n\n    Removed obsolete ADRENO support code.\n\n    Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535\n\ncommit 8abbc6a5608bff650f968540f24a2eab75f254ed\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 16:10:41 2010 -0800\n\n    The metadata retriever now respects the crop rectangle while capturing a video frame.\n\n    Change-Id: Id3377176060086d16717f62c77ce26fabe899050\n\ncommit 2d42e4466609d304e88bd2cdd6eb7b297340cc21\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 16:09:50 2010 -0800\n\n    Changed ColorConverter APIs to be more general.\n\n    Clients can now refer to crop rectangles in both source and destination.\n\n    Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04\n\ncommit 273184303d54a54febd3e9c3dd4df30507ea78b5\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 15:04:06 2010 -0800\n\n    The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg\n\n    Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4\n\ncommit 2d43390328cadf4ba94c1c3c02e4fb30baa29690\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 14:36:55 2010 -0800\n\n    The AVC software decoder now properly advertises the cropping rectangle.\n\n    Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b\n\ncommit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 13:40:39 2010 -0800\n\n    OMXCodec now signals a format change if the cropping rectangle changes.\n\n    ...and puts the cropping info into its output format.\n\n    Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2\n\ncommit efe0323947029df1c502599ccc288c8d676dfd31\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 11:29:39 2010 -0800\n\n    Stagefright\u0027s MetaData object now supports rectangle items.\n\n    Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504\n\nChange-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70\n"
    },
    {
      "commit": "83d97c8c7ddff9374f876bef48758414a7775cb1",
      "tree": "8c34611cbbd6c2e84c886ed86d8bed154f39fc33",
      "parents": [
        "18439bee6f8b525abe3f1fac69bc4cea184e1565",
        "5fc3edb13edb058f14e6550d295ce3e50e5ebf8c"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 22 10:48:30 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 22 10:48:30 2010 -0800"
      },
      "message": "Merge \"64-bit file size/offset support for DRM framework\""
    },
    {
      "commit": "4e911849caa9a4c3fe7ba9d820930465ba54de29",
      "tree": "6dffb14c59691a50d926b6433c3fcbc3365a6663",
      "parents": [
        "482a1b16cb805920b427f0b1adca300571fda92d",
        "fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 19:20:59 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 19 19:20:59 2010 -0800"
      },
      "message": "am fb6f4505: am 589e8381: Merge \"Improve camera documentation.\" into gingerbread\n\n* commit \u0027fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6\u0027:\n  Improve camera documentation.\n"
    },
    {
      "commit": "fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6",
      "tree": "dcfccf0790d94f47758de9c0bc6b06a94fe7444f",
      "parents": [
        "d3b5510b8505c6c653469193a40f6431272085f3",
        "589e838116b0dffa696fa39336d0588124877f98"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 18:17:24 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 19 18:17:24 2010 -0800"
      },
      "message": "am 589e8381: Merge \"Improve camera documentation.\" into gingerbread\n\n* commit \u0027589e838116b0dffa696fa39336d0588124877f98\u0027:\n  Improve camera documentation.\n"
    },
    {
      "commit": "04d070f2937ae4dd72d9d87407b9abf7f664660e",
      "tree": "2a955761a7f7bfbb2e267dfce2ef48b237c98112",
      "parents": [
        "8c62c1d6b9738cf55411f155a061814bd886ac76",
        "2747e0e07ff7ec2ba808298e8d96536d72d211cb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 19 16:49:10 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 19 16:49:10 2010 -0800"
      },
      "message": "Merge \"Removed uncessary FILE structure pointer for I/O\""
    },
    {
      "commit": "d48124e0fe511265024a61abee67d8ed6ac61592",
      "tree": "911d23e19005be9476454a576f2601e3ddb1013d",
      "parents": [
        "855e4c98846a4264b7a27ad68cfa66c12ac0591c",
        "f3d6dd0782e3135885efdc26cb86cf0bf811749f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 19 15:58:24 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 19 15:58:24 2010 -0800"
      },
      "message": "Merge \"Fix issue 3157123.\""
    },
    {
      "commit": "5fc3edb13edb058f14e6550d295ce3e50e5ebf8c",
      "tree": "e6f75eb8cbed46e3368ec25e684ca0429f520260",
      "parents": [
        "a3326781352888ff80fcf920cf93fd738bb69e66"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Nov 19 15:19:36 2010 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Nov 19 15:52:32 2010 -0800"
      },
      "message": "64-bit file size/offset support for DRM framework\n\nChange-Id: I0ba7147607825234df9fa28732e1bba344e82e79\n"
    },
    {
      "commit": "f3d6dd0782e3135885efdc26cb86cf0bf811749f",
      "tree": "bff3e49ad215f9573b7b89990e974a944d4c4a98",
      "parents": [
        "9c950b41c5531e6735f3d13f5b46ae89d59b3b8c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 18 08:40:16 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 19 15:49:42 2010 -0800"
      },
      "message": "Fix issue 3157123.\n\nUse a Mutex wherever atomic operations were used in AudioTrack,\nAudioRecord, AudioFlinger and AudioEffect classes.\n\nChange-Id: I6f55b2cabdcd93d64ef19446735b8f33720f8dbc\n"
    },
    {
      "commit": "a6210d061bb79e5c10ed88c99111df51e52e4472",
      "tree": "c789bd306c908846fcfa1e8b6b74435daddc9974",
      "parents": [
        "7ffd0871e6b8d7ab9443bef6e8b2a31674d1f623"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 19 13:13:07 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 19 13:52:19 2010 -0800"
      },
      "message": "Fix SDK build on Windows due to use of mmap.\n\nChange-Id: Id4bd9a6f932285c93c5853e540efc20b99876564\n"
    },
    {
      "commit": "2747e0e07ff7ec2ba808298e8d96536d72d211cb",
      "tree": "fa83a99a342b7633027ac349a1d592c098545c08",
      "parents": [
        "9803d7f87054ad67b62011e5b84e8963c5930e51"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 18 20:59:13 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 19 10:48:22 2010 -0800"
      },
      "message": "Removed uncessary FILE structure pointer for I/O\n\no also move the fd owner from caller to callee in the Writers\n\nChange-Id: I510ccfdd0fcc58f1777fea4ed1349fd251852c65\n"
    },
    {
      "commit": "dc91865622e3cc9ff0bb33b83f1d3b38cd7a6d7a",
      "tree": "910ec95f6e2716cf6911da7247eaee49dc149933",
      "parents": [
        "14ac9546367d4df37eead55f6762b944b49f33b2"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 16 13:56:11 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Fri Nov 19 22:02:51 2010 +0900"
      },
      "message": "Update of DRM Framework.\n\n-Access permission handling\n  Introduce an internal function which allows the desired process to\n  access decryption flow. This new function is just for reference and\n  each OEM manufacturer should implement/replace with their solutions.\n-New API, getMetadata()\n  This API is for retrieving media metadata from container-based DRM,\n  such as OMA forward-lock content. This API asks DRM agent to retrieve\n  media metadata hiddein inside of DRM special container.\n-New API, acquireRights()\n  This API wraps acquireDrmInfo() and processDrmInfo().\n  If DRM agent has valid implementation of both APIs,\n  Application can acquire DrmRights only by calling this API.\n-Bug fix in event loop of OnInfoListener.\n  Separate OnInfo event loop from mail thread loop so as to avoid\n  the issue that message is not dispatched when mail thread is busy.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: I04ee3e0988152a71e221f2256d83253749a29da0\n"
    },
    {
      "commit": "99a3f3e4e06b4370101ca97cc11dbe81d772fefa",
      "tree": "3e16b0910ff4ee8bcc53941fcc851f396e4bd628",
      "parents": [
        "671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 15:56:16 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 16:20:04 2010 +0800"
      },
      "message": "Improve camera documentation.\n\nbug:3212606\nChange-Id: Iee7106e4665c08a4c75471114010b75d63ac74ce\n"
    },
    {
      "commit": "71d4ecb185bbe9e699aa85c65c98427a67a3fb12",
      "tree": "b2c144abbc4a880c51f07b6c2b304176f0d9f93c",
      "parents": [
        "9db9a29109c48eac201b6f0011b5dc7596071cb5",
        "b1262a8b1dd23abad64465f9ffd25c44facdf4d2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 18 18:19:30 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 18 18:19:30 2010 -0800"
      },
      "message": "Merge \"64-bit file size/offset support for media framework\""
    },
    {
      "commit": "dd4e4603efef2c3df0e26835935f74e1e0e7deb2",
      "tree": "2ba66f799846ce2707dad9e4c5bb98e50c1291c7",
      "parents": [
        "2a26037ddd2d4c3150e3d8ca5d7caf23deae35d5",
        "6b53e8daa69cba1a2a5a7c95a01e37ce9c53226c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 18 14:20:30 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 18 14:20:30 2010 -0800"
      },
      "message": "Merge \"Added support for full PC-style keyboards.\""
    },
    {
      "commit": "b1262a8b1dd23abad64465f9ffd25c44facdf4d2",
      "tree": "cd19da06f0cc2c92ec35e1086d126c3546cc5584",
      "parents": [
        "83ed1ae073556f4971bf8f3a5cbcd2d37e1dd2bb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 16 14:04:54 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 18 14:12:24 2010 -0800"
      },
      "message": "64-bit file size/offset support for media framework\n\nChange-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10\n"
    },
    {
      "commit": "3d1c5a27884ef01772b187ff250daadb7678572e",
      "tree": "c1edb7f2e597b1bda9ee1b44eeae8f69b47678c0",
      "parents": [
        "0c400f0a68d4b48516fbe0dbae05e500598317f1",
        "43cd12dae2bbfd128e58a836f2627907d5a92381"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Nov 18 11:18:35 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 18 11:18:35 2010 -0800"
      },
      "message": "Merge \"Add getUri() for streaming\""
    },
    {
      "commit": "43cd12dae2bbfd128e58a836f2627907d5a92381",
      "tree": "d5d25277ee3265ed047fb264a0418bd519b6c673",
      "parents": [
        "4e74e181d1f06b31ebe98589dbe2ee9ddb722173"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Nov 09 15:06:51 2010 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Nov 18 09:55:35 2010 -0800"
      },
      "message": "Add getUri() for streaming\n\nChange-Id: I56e15e67cc5f4d0f41c9e2985404a4d89d757e7e\n"
    },
    {
      "commit": "6b53e8daa69cba1a2a5a7c95a01e37ce9c53226c",
      "tree": "db912c6cdf230ef7f2cf406c545b3bbae3f09ea2",
      "parents": [
        "a914f340ae5b267dc3ab36c1156c795b8fa18f5d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 10 16:03:06 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 18 09:49:03 2010 -0800"
      },
      "message": "Added support for full PC-style keyboards.\n\nBREAKING CHANGE: Redesigned the key character map format to\naccomodate full keyboards with more comprehensive suite of modifiers.\nOld key character maps will not work anymore and must be updated.\nThe new format is plain text only and it not compiled to a binary\nfile (so the \"kcm\" tool will be removed in a subsequent check-in).\n\nAdded FULL keyboard type to support full PC-style keyboards.\n\nAdded SPECIAL_FUNCTION keyboard type to support special function\nkeypads that do not have any printable keys suitable for typing\nand only have keys like HOME and POWER\n\nAdded a special VIRTUAL_KEYBOARD device id convention that maps\nto a virtual keyboard with a fixed known layout.  This is designed\nto work around issues injecting input events on devices whose\nbuilt-in keyboard does not have a useful key character map (ie.\nwhen the built-in keyboard is a special function keyboard only.)\n\nModified several places where events were being synthesized\nto use the virtual keyboard.\n\nRemoved support for the \"qwerty\" default layout.\nThe new default layout is \"Generic\".  For the most part \"qwerty\"\nwas being used as a backstop in case the built-in keyboard did\nnot have a key character map (probably because it was a special\nfunction keypad) and the framework needed to be able to inject\nkey events anyways.  The latter issue is resolved by using the\nspecial VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.\n\nAdded the concept of a key modifier behavior so that\nMetaKeyKeyListener can distinguish between keyboards that use\nchorded vs. toggled modifiers.\n\nWrote more robust key layout and key character map parsers\nto enable support for new keyboard features and user installable\nkey maps.\n\nFixed a bug in InputReader generating key ups when keys\nare released out of sequence.\n\nUpdated tons of documentation.\n\nCurrently QwertyKeyListener is being used for full keyboards\nwith autotext and capitalization disabled.  This mostly works\nbut causes some problems with character pickers, etc.\nThese issues will be resolved in subsequent changes.\n\nChange-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354\n"
    },
    {
      "commit": "d80661c129010f89e3b305797e1712f3d3481467",
      "tree": "51ff4a5182d245020633b54c21573ecb698105a9",
      "parents": [
        "0d9b02c47b7b52b963f09a01fee9717c49d6e06e",
        "5e0690745a45f99d12d940dd4aaae814b00a429e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Nov 17 17:36:11 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 17 17:36:11 2010 -0800"
      },
      "message": "am 5e069074: am a15e4886: Merge \"Framebuffer: Support variable number of framebuffers in the UI\"\n\n* commit \u00275e0690745a45f99d12d940dd4aaae814b00a429e\u0027:\n  Framebuffer: Support variable number of framebuffers in the UI\n"
    },
    {
      "commit": "5e0690745a45f99d12d940dd4aaae814b00a429e",
      "tree": "e3ec2e16e969670170e68c438343fbceed182491",
      "parents": [
        "1a2344b8b2c374cb32ff4af020666e6910ff2a8f",
        "a15e4886de8f75f3cb137f51743d330414c910e8"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Nov 17 17:29:48 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 17 17:29:48 2010 -0800"
      },
      "message": "am a15e4886: Merge \"Framebuffer: Support variable number of framebuffers in the UI\"\n\n* commit \u0027a15e4886de8f75f3cb137f51743d330414c910e8\u0027:\n  Framebuffer: Support variable number of framebuffers in the UI\n"
    },
    {
      "commit": "05b07fd204cc9cc340dc579db17008bf9e8161fd",
      "tree": "94cb3ddb9cae774750cf40c6d6c58f848e257272",
      "parents": [
        "1bf397ffbdaae9a5354c9bb0b5121c4a9f1c8c76",
        "8f677d66d9c3ba34c97e69b2bb9e161f129af0ee"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Nov 17 09:49:23 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 17 09:49:23 2010 -0800"
      },
      "message": "Merge \"Add new audio mode for audio communications other than telelphony.\""
    },
    {
      "commit": "c23dabfb20f1059f42b1fb80956ccc77c72e39e0",
      "tree": "f9903f4aa09e2ffb2e9723f39c6872bc76284afe",
      "parents": [
        "af376a5427424a560a0d1a5924c527715762672a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 16 13:05:53 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 16 13:05:53 2010 -0800"
      },
      "message": "Remove all traces of legacy renderer support in stagefright.\n\nChange-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d\n"
    },
    {
      "commit": "8f677d66d9c3ba34c97e69b2bb9e161f129af0ee",
      "tree": "c38d12165c0d6eead961d2fc4e8915a0bf936f93",
      "parents": [
        "75663ceec407dbab5740460b6e7ae7ae9403e5a0"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 15 12:11:32 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 16 10:23:37 2010 -0800"
      },
      "message": "Add new audio mode for audio communications other than telelphony.\n\nThe audio mode MODE_IN_CALL signals the system the device a phone\n call is currently underway. There was no way for audio video\n chat or VoIP applications to signal a call is underway, but not\n using the telephony resources. This change introduces a new mode\n to address this. Changes in other parts of the system (java\n and native) are required to take this new mode into account.\nThe generic AudioPolicyManager is updated to not use its phone\n state variable directly, but to use two new convenience methods,\n isInCall() and isStateInCall(int) instead.\n\nChange-Id: Id744cd26520ea1d1a4795eabe6a1f0c58789af76\n"
    },
    {
      "commit": "b763fa1d7c7de7ee33ab359e3105accafe5a2fdc",
      "tree": "21734ae6662baa9e3b093ba70da6131038b375c6",
      "parents": [
        "ee4a7d86823605e98711d46adb9b7ed302f82346",
        "300ba6846949f5b21c6d93d7698dbc39716cf832"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Nov 15 11:11:22 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 15 11:11:22 2010 -0800"
      },
      "message": "Merge \"Split UTF functions from String8/16\""
    },
    {
      "commit": "8ec2d9add9f25198b9ea7023c7c772ae17f72ea4",
      "tree": "43a85c40ed38a3806ac4f7890dc9069134fa2a44",
      "parents": [
        "98d50a0be8a61fa1d093136b57bc5712be795c2b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 10 18:42:40 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 15 08:36:42 2010 -0800"
      },
      "message": "Remove legacy PV stuff\n\nChange-Id: I60ffea7c65592df4b3a80c590c863f1f79b371fd\n"
    },
    {
      "commit": "300ba6846949f5b21c6d93d7698dbc39716cf832",
      "tree": "f00aed47d06332a09aa6909a6605b0743661c981",
      "parents": [
        "d781089731127bd9199d47f53b170895868b8750"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Nov 09 14:37:23 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Nov 12 15:53:40 2010 -0800"
      },
      "message": "Split UTF functions from String8/16\n\nSplit out all the UTF-8/16/32 handling code from String8/16 to its own\nfile to allow better reuse of code.\n\nChange-Id: If9ce63920edc75472c38da4adce0d13cda9ad2f7\n"
    },
    {
      "commit": "a9d02bf6020e195acc18b16508c62f8be20dc207",
      "tree": "9f1180028cc632ec81cc2bf9cd617e55cda19a9e",
      "parents": [
        "b0b5b17442a5f13f88b85d59314a88b26e0d5801",
        "aac193cf38ac084eea0f6367b98f6304d1ec38f2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 12 15:33:41 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 12 15:33:41 2010 -0800"
      },
      "message": "Merge \"Separate the key for audio sampling rate and video frame rate in MetaData.h\""
    },
    {
      "commit": "46e75294d540fe807d78aec2582ae02cc38c7d42",
      "tree": "260678b7532242c8dd31e3aba47710e9516a3c12",
      "parents": [
        "1a22bdb01ac4068c2876fe2d02f3c4c729669a1c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 10 16:53:45 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 12 14:53:43 2010 -0800"
      },
      "message": "Enable touch splitting for all windows by default.\n\nNew default only applies to applications with targetSdkVersion \u003e\u003d\nHONEYCOMB.  Old applications default to no touch splitting for\ntheir windows.\n\nIn addition, enabled split touch for various system windows.\n\nBug: 3049580\nChange-Id: Idc8da9baa2cd8e1e4e76af8967d7b6a5ccb94427\n"
    },
    {
      "commit": "1a22bdb01ac4068c2876fe2d02f3c4c729669a1c",
      "tree": "c1b2427e4edc1aa1e06fbc03e8c7360d4955471d",
      "parents": [
        "62e2fa24cd6ec81ce301d1f3005b6153b8ce9743"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 09 14:06:52 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Nov 12 14:35:52 2010 -0800"
      },
      "message": "Add support for audio recording source in generic audio policy mgr.\n\nUpdate the platform-independent audio policy manager to pass the\n nature of the audio recording source to the audio policy client\n interface through the AudioPolicyClientInterface::setParameters()\n method.\n\nChange-Id: I6b4fd0f8a3acea0d7d30bbad98edd1977dc012bf\n"
    },
    {
      "commit": "aac193cf38ac084eea0f6367b98f6304d1ec38f2",
      "tree": "bc1b46f221b79bc6e4edc3232b4a42bbdc92e7c2",
      "parents": [
        "a4e28d181942018ba8759989799a28fa88764ce3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 10 20:43:53 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 11 22:11:20 2010 -0800"
      },
      "message": "Separate the key for audio sampling rate and video frame rate in MetaData.h\n\nChange-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040\n"
    },
    {
      "commit": "3adf490a5aaa2e87676c8985b566fcb0dfeb74b9",
      "tree": "8d851498f455a4aaee22743eb93c0d4ec4eb724a",
      "parents": [
        "e7bdbf2aa7eb4cacfd3985cba6a12c3b1caf11a0"
      ],
      "author": {
        "name": "Jason Bayer",
        "email": "bayer@google.com",
        "time": "Tue Nov 09 14:54:55 2010 -0800"
      },
      "committer": {
        "name": "Jason Bayer",
        "email": "bayer@google.com",
        "time": "Thu Nov 11 18:36:11 2010 -0800"
      },
      "message": "Add new keycodes initially used for GoogleTV devices.\n\nChange-Id: I1b901037d6d401931dd3ec6f7d5e1e6ad165d1c9\n"
    },
    {
      "commit": "7ab17a3426d3565f72c6832bb650d1709cbf52cf",
      "tree": "90e188808e39d3447b880ca20cac6b2fad137921",
      "parents": [
        "e1ccfb7f6e63f639988d9b50f060612f96c49c3f",
        "6c925d00e131e40811897e0ddc332d6f5bc83178"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 11 15:26:21 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 11 15:26:21 2010 -0800"
      },
      "message": "Merge \"Implement reducing the buffer count of a Surface.\""
    },
    {
      "commit": "d781089731127bd9199d47f53b170895868b8750",
      "tree": "21dab382492824db054b2350128dd5018d19e1e8",
      "parents": [
        "798a9d2eb1d2421f904ab61f05e4b70a5095d31a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 11 00:33:05 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 11 14:08:52 2010 -0800"
      },
      "message": "Add color format query support to QueryCodecs()\n\nChange-Id: Ic8589649cd09392a1b969a30082b4c9c4e6cc6a7\n"
    },
    {
      "commit": "6c925d00e131e40811897e0ddc332d6f5bc83178",
      "tree": "813fca5b0cff6cdc7e2a6c15a12b3ae777b12d3d",
      "parents": [
        "0b440fc34da7f53fcec24cc8c907b959218b957d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 02 11:51:32 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 11 14:06:38 2010 -0800"
      },
      "message": "Implement reducing the buffer count of a Surface.\n\nChange-Id: I7f979c60c06d654aa8265002836277434bc1a64f\nBug: 3095167\n"
    },
    {
      "commit": "31b9375f45e19c1408f45af497286b795604c9ec",
      "tree": "b7f1d516ad7098080cde9392fb606b3909ac3179",
      "parents": [
        "a6689ddbba5d7d5e9ad7a07ae84a187497f18121"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 10 21:11:41 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 11 11:26:16 2010 -0800"
      },
      "message": "Fix memory leak when 0-memcpy quirk is used\n\no minor change to the original patch by Andreas:\n  call restorePatchedDataPointer() method only if kAvoidMemcopyInputRecordingFrames is turned on\n\nChange-Id: Idf3710e6f759d37d28e866613f98d39215722cb9\n"
    },
    {
      "commit": "820b9e0d3b6f94fe0b524aebf756ce25df273e6a",
      "tree": "01b706b917c8396834d10222483d671b5ba7a625",
      "parents": [
        "2b425d3c9b39603054febe0c2135b05764748158"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 08 18:38:14 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 09 14:32:43 2010 -0800"
      },
      "message": "Add recording source for voice communication\n\nAdd a recording source used to designate a recording stream for\nvoice communications such as VoIP.\n\nChange-Id: I4091d67069b1a0170c1a5ca5e6acd51eb0aa08f9\n"
    },
    {
      "commit": "b9d7e01eb8f2024ed2051e18644401d43fdb9311",
      "tree": "827a2af4c2cef218c79050b5da3803bd71377e37",
      "parents": [
        "dfa448f759e0e91b788e2620a4cf7187b893d24e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 09 11:15:47 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 09 11:48:29 2010 -0800"
      },
      "message": "Rotation support\n\n- We only support 0, 90, 180, and 270 degree clockwise rotation\n\n- Some players are known to ignore composition matrix in the MP4 file,\n  although this is part of the MP4 file standard.\n  Both QT and YT are supporting the rotation\n\nThe original patch (65a73f4e8c79d05c0d9001b660325748d4ecf37b) was not merged.\nThe only change I made is to reuse the same kKeyRotation in MetaData.h;\nand thus do not neeed to use kKeyRotationDegree.\n\nChange-Id: Ib328716d4842201c4adf57e4ddfe1f1ac1ae4d8a\n"
    },
    {
      "commit": "2bff83930d9575f0bd08da72385fdbfd97b9a1b8",
      "tree": "8557c1134dc22cdc0f2f96f8b7c5be00398146d5",
      "parents": [
        "e3cfa1b8b22c07a58add42b27913c7d49913a166"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 20:01:12 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 20:09:22 2010 -0800"
      },
      "message": "Fix a build break due to the missing kKeyRotation\n\nChange-Id: I6bf030c946abe7a95f8f7bc464e6507fb02cf39c\n"
    },
    {
      "commit": "d1959717c28766d4a7fecedd703a79e17c532da8",
      "tree": "e25564af0c90925d3e84a54e386336f93d060f2b",
      "parents": [
        "76526a1f55edb2ac77dfb810b001ba3687efa7ef",
        "c4a2ead2aa5ab4403553e4956ba71b44782f0c84"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 19:25:41 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 08 19:25:41 2010 -0800"
      },
      "message": "am c4a2ead2: am d2d62d04: Merge \"Support extracting thumbnail from rotated video tracks\" into gingerbread\n\n* commit \u0027c4a2ead2aa5ab4403553e4956ba71b44782f0c84\u0027:\n  Support extracting thumbnail from rotated video tracks\n"
    },
    {
      "commit": "c4a2ead2aa5ab4403553e4956ba71b44782f0c84",
      "tree": "76125bcc8afc160abdb4748dfd66686f58b0fb53",
      "parents": [
        "d962bca66fb99d437f065e9a7c66e7fe9abac20e",
        "d2d62d04fc387e2f51d414e101a3e8e3c45f415e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 18:19:40 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 08 18:19:40 2010 -0800"
      },
      "message": "am d2d62d04: Merge \"Support extracting thumbnail from rotated video tracks\" into gingerbread\n\n* commit \u0027d2d62d04fc387e2f51d414e101a3e8e3c45f415e\u0027:\n  Support extracting thumbnail from rotated video tracks\n"
    },
    {
      "commit": "53ebc72fd83f83bb5536d5917390aae03b7f5cad",
      "tree": "1fe4af89aa72abfd2c969789cd0b98fe0b4737fd",
      "parents": [
        "17ae359721ba74399e785369346509b776999d1f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 16:04:27 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 16:52:59 2010 -0800"
      },
      "message": "Support extracting thumbnail from rotated video tracks\n\nChange-Id: Ife0a2536aaac5ff1efdf1035b9d2c892773ee16c\n"
    },
    {
      "commit": "1a542c7b8ed0be049869a12d1e01e2604d052ac2",
      "tree": "ed1b5acbe31240e259689a6496ed1cf2dfa5dd1b",
      "parents": [
        "3915bb845b032dc184dba5e60970b803390ca3ed"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 09:48:20 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 13:02:58 2010 -0800"
      },
      "message": "The CHEEK_TOUCH stuff never worked.  Remove it.\n\nBug: 3104906\nChange-Id: Ia37236ba1775fc3ec8c111e2e0b85b105e0dea6a\n"
    },
    {
      "commit": "3915bb845b032dc184dba5e60970b803390ca3ed",
      "tree": "198a47c1d4ada990ef04d563b5e0caaec35abc18",
      "parents": [
        "60029771d26ca3c51288c3d92cab1d3537147acd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 05 15:02:16 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 08 12:49:43 2010 -0800"
      },
      "message": "Tell system server whether the app handled input events.\n\nRefactored ViewRoot, NativeActivity and related classes to tell the\ndispatcher whether an input event was actually handled by the application.\n\nThis will be used to move more of the global default key processing\ninto the system server instead of the application.\n\nChange-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28\n"
    },
    {
      "commit": "2e1a8967243a88d73f3b3485b07a02aa4f8d16d9",
      "tree": "51d2379d88e270d6c401e505521237ff3ce96c7a",
      "parents": [
        "d8166a719e192a026bf25a82b8eb6212823950a3",
        "31dc911aee2b50752c0eb7785176075cdaed139c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 08 11:50:14 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 08 11:56:08 2010 -0800"
      },
      "message": "resolved conflicts for merge of 31dc911a to gingerbread-plus-aosp\n\nChange-Id: I2f51b2120b3c552566d91a7dc498a5e8b130205f\n"
    },
    {
      "commit": "d8166a719e192a026bf25a82b8eb6212823950a3",
      "tree": "3f6f516a25016b93365922631c05818ccd7ebc9d",
      "parents": [
        "bb97d7bbf33393af842de1d8fd8512a24c73b6b3",
        "1653e261e84922facfe27d3d8acc455ed2b6b6da"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Nov 06 14:22:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 06 14:22:05 2010 -0700"
      },
      "message": "am 1653e261: Merge \"Rotation support\" into gingerbread\n\n* commit \u00271653e261e84922facfe27d3d8acc455ed2b6b6da\u0027:\n  Rotation support\n"
    },
    {
      "commit": "31dc911aee2b50752c0eb7785176075cdaed139c",
      "tree": "11c30987b79659d1c25d867a473b8997c61ea7d4",
      "parents": [
        "1653e261e84922facfe27d3d8acc455ed2b6b6da"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 04 11:50:27 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 05 17:03:17 2010 -0700"
      },
      "message": "Support post-decode video rotation.\n\nChange-Id: Ia371316e73a57e44610de86adce3eaa560afbf84\n"
    },
    {
      "commit": "65a73f4e8c79d05c0d9001b660325748d4ecf37b",
      "tree": "84b658d31134be344fc440355196b7932373471d",
      "parents": [
        "ce22d608733953e367a590efd9c7656a68ffc24d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 16 18:39:28 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 05 15:47:52 2010 -0700"
      },
      "message": "Rotation support\n\n- We only support 0, 90, 180, and 270 degree clockwise rotation\n\n- Some players are known to ignore composition matrix in the MP4 file,\n  although this is part of the MP4 file standard.\n  Both QT and YT are supporting the rotation\n\nChange-Id: I1b7f66a801e9d9c49d889c9b06dd6173fa7e76c4\n"
    },
    {
      "commit": "32af3a2f56203acc66c8051e20c99a3914d1cec9",
      "tree": "ed9c47d4d696988ca5b4e68a0d00ffc192378c13",
      "parents": [
        "d145ca7669e1945745c69663ed2a7778f1319b4b",
        "05c2fd50d2030e20d6a4cacc6931e453cd2de5c4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 05 18:18:30 2010 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 05 18:18:30 2010 +0000"
      },
      "message": "Merge \"Use meta data in the media recording framework\""
    },
    {
      "commit": "91460d7f49e92e13e2acccdf8be10934e9e770fe",
      "tree": "e549aff4d8cda5d1d42fc980a992ac22c0d565d8",
      "parents": [
        "aac9e0df287bac2fa15394edf25a6d121aba9886",
        "c2c22e7e20a3b10c180c2fed2bf24aedef8ed269"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Nov 05 17:45:26 2010 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 05 17:45:26 2010 +0000"
      },
      "message": "Merge \"Add support for WV DRM\""
    },
    {
      "commit": "c2c22e7e20a3b10c180c2fed2bf24aedef8ed269",
      "tree": "ac1ed8b7a2841e75fe6b012016bcf1ac93919ffb",
      "parents": [
        "a25c0305bca20c09e71f65036b81601f360507af"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 01 15:53:16 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Nov 05 10:33:58 2010 -0700"
      },
      "message": "Add support for WV DRM\n\nChange-Id: I0408c5e0a488f112a84337b21b0cd4613a4da461\n"
    },
    {
      "commit": "05c2fd50d2030e20d6a4cacc6931e453cd2de5c4",
      "tree": "7e6e9eecbdfc75d3b81335b72f731a70dfe90fff",
      "parents": [
        "0ed714a95d1c9c11c3ef8aebd5be4276d1be8740"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 02 13:20:11 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 04 17:40:02 2010 -0700"
      },
      "message": "Use meta data in the media recording framework\n\no This patch allows us to do 720p video recording\n\nChange-Id: I2ea37e80a59630145396b08ebcdc6ee71df53333\n"
    },
    {
      "commit": "f0c5c1e8ce765c66d24bc9d00904fd350b99d16a",
      "tree": "b820acdc100c17af51177694d45eee3a578f3390",
      "parents": [
        "de04e5242ad7d95c392070e1a4f7acdf3809b91a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 01 16:04:31 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Nov 03 16:15:10 2010 -0700"
      },
      "message": "Fix a MediaBuffer leak in Stagefright.\n\nChange-Id: I548e60b07cf1676476874b156cfbc4ffefdfa2b9\n"
    },
    {
      "commit": "84043438cfa7f0f934cb8884315e9db2fd3c7e2c",
      "tree": "ef0a53f647c528e949a30ad2a5f79882029be0fa",
      "parents": [
        "db2403ff3251bebb5dd6bdb98f826a8e04dc6ed1"
      ],
      "author": {
        "name": "Rodrigo Obregon",
        "email": "robregon@ti.com",
        "time": "Wed Nov 03 15:16:18 2010 -0500"
      },
      "committer": {
        "name": "Rodrigo Obregon",
        "email": "robregon@ti.com",
        "time": "Wed Nov 03 15:16:18 2010 -0500"
      },
      "message": "Framebuffer: Support variable number of framebuffers in the UI\n\nThis change defines a macro NUM_FRAME_BUFFERS to set\nthe desired number of framebuffers to be used by the UI,\ninstead of hard-coding 2 framebuffers.\n\nAditional logic has been  added to handle the initialization\nand destruction of NUM_FRAME_BUFFERS buffers.\n\nChange-Id: I3a4bfec3e0f453432f2ffebf084c00f574d3be46\nSigned-off-by: Rodrigo Obregon \u003crobregon@ti.com\u003e\n"
    },
    {
      "commit": "e3afc288ddddeda4e771be71f15b166f8aaa01e1",
      "tree": "9cfd8dce0f49fc1f89049847fddec28746e7c9b0",
      "parents": [
        "cc82f3ae3cef7e5dac7992a10aeb8e147e12eb27",
        "a8d7b7477d99dd2671e6232e157da9954bf4699f"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Nov 03 11:39:04 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Nov 03 11:39:04 2010 -0700"
      },
      "message": "resolved conflicts for merge of a8d7b747 to master\n\nChange-Id: I8a4b72c9f9a10de8bbc285e00e2dd5cb9f498349\n"
    },
    {
      "commit": "a3f5b615d7adc5a644cbedd55100deba562ec0ac",
      "tree": "2f3cce676494fbdb8eb56e561881873f8f9ce4b9",
      "parents": [
        "0ce0f72c1eb92cf654667c15477f19b4a7e84cd1",
        "f3847e875eb1c58094a2d159a2a6f3f0b381d77a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 03 09:25:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 03 09:25:08 2010 -0700"
      },
      "message": "am f3847e87: Merge \"DO NOT MERGE\" into gingerbread\n\n* commit \u0027f3847e875eb1c58094a2d159a2a6f3f0b381d77a\u0027:\n  DO NOT MERGE\n"
    },
    {
      "commit": "6786fccf5a7979ca1b6fe4360ef47a9c9bbec9bb",
      "tree": "ee2d525a2d3a52fb98250755f946edee9104b40c",
      "parents": [
        "a87ea46cb023763e0a9b0222da20b0a354f79d8d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 02 18:43:03 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 02 19:30:01 2010 -0700"
      },
      "message": "DO NOT MERGE\n\nFix premature release of recording frames when physical address or metadata is stored in input video buffers\n\n- bug 3158459\n\nChange-Id: If297189d2a87fc3abfda68c29ac75b490b30a902\n"
    }
  ],
  "next": "b0418da0e7594a8c2164a46985c5f1993632e010"
}
