)]}'
{
  "log": [
    {
      "commit": "103198a10cc22a49270a787d04b8ab484d2ec235",
      "tree": "e630f2eaf512c5ab0394d737d1c67715f05a2b7b",
      "parents": [
        "d688e5af1c95a8b5a482c146cd789c2be45f9663",
        "b598fb90727be45e926a11abefc319819a733540"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jan 12 14:57:29 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 12 14:57:29 2011 -0800"
      },
      "message": "Merge \"Implement crop \u0026 transform for SurfaceTexture.\" into honeycomb"
    },
    {
      "commit": "11eab056dd0133a390169d3581edf3eef26d6a54",
      "tree": "efcb4b7e4e289be17db5ed1356f365e0e18f87e6",
      "parents": [
        "1415bb7a948e0add9f6beb6dccbea70e9d2bedd0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 06 12:20:35 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 14:14:11 2011 -0800"
      },
      "message": "Publish MediaMetadataRetriever.java as public API\n\no Removed setMode() methods and related mode constants\no Removed some of the unused the metadata keys\no Updated the javadoc\n\no part of a multi-project change.\n\nbug - 2433195\n\nChange-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438\n"
    },
    {
      "commit": "b598fb90727be45e926a11abefc319819a733540",
      "tree": "12457615a7573c7e2beaab0631ff6d204909d571",
      "parents": [
        "7a8f01abf98b6212358ea0e0401879093d2c0f93"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jan 09 16:33:17 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jan 12 11:28:38 2011 -0800"
      },
      "message": "Implement crop \u0026 transform for SurfaceTexture.\n\nThis change adds support for the setCrop and setTransform methods of the\nSurfaceTexture C++ class.  The crop and transform for the current\ntexture will be accessed by applications as a single texture coordinate\ntransform matrix.\n\nChange-Id: I6482bf96f680e5c175364e848936db3908d6c8f8\n"
    },
    {
      "commit": "fbab3b67afc904450613204400d9e8779feb5659",
      "tree": "dfbfe3cbe7754bb41942f6a26e8a284a2121920f",
      "parents": [
        "ffe3f1cb16d37e56ab69ad345f47c6d3f52b916c",
        "d369dc42506ec003f1839bb9e27edada411324b5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jan 10 12:30:33 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 10 12:30:33 2011 -0800"
      },
      "message": "Merge \"Fix a bug in SurfaceTexture::setBufferCount.\" into honeycomb"
    },
    {
      "commit": "748ba9a9512dee65d5b09cfe26a34ded753f4aab",
      "tree": "219bfa7d2f9d89063d89dfb02dd3c0a5bc088fe6",
      "parents": [
        "9cac3c31d29134f9bf4de10765b81ed45c13d31a",
        "7caa130a98baa64768dcd409bc110ce9acb0cbff"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 11:26:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 10 11:26:38 2011 -0800"
      },
      "message": "Merge \"NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.\" into honeycomb"
    },
    {
      "commit": "7caa130a98baa64768dcd409bc110ce9acb0cbff",
      "tree": "251f888c616e61c6a59101ea15165dcc3b4a5294",
      "parents": [
        "aa6b9f55d60702211dd2d08403c7296347f0bd7d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 10:38:31 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 10:38:31 2011 -0800"
      },
      "message": "NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.\n\nChange-Id: I99b4223ad6ecfd8839a3c0e737fef3165565d76d\nrelated-to-bug: 3336496\n"
    },
    {
      "commit": "681e89c08264af948735d00552c4bd08180b06b4",
      "tree": "411b93b4f29c85ca922bbb6544320a54fab08fcb",
      "parents": [
        "aa6b9f55d60702211dd2d08403c7296347f0bd7d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 08:55:02 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 08:57:50 2011 -0800"
      },
      "message": "Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object\n\nbug - 3336424\n\nChange-Id: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89\n"
    },
    {
      "commit": "d369dc42506ec003f1839bb9e27edada411324b5",
      "tree": "3b4f8881a614aa1e44ff337ee136b8eb8306ed2a",
      "parents": [
        "7dc00d5eb27de41f93a7e232b3cd374c84eb77d1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jan 09 13:25:39 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jan 09 16:40:06 2011 -0800"
      },
      "message": "Fix a bug in SurfaceTexture::setBufferCount.\n\nWe need to reset mCurrentTexture and mLastQueued in setBufferCount\nbecause it frees all of the buffers associated with the buffer slots.\n\nChange-Id: Ie2f834ec1c07ce7a4ab9b2b5fc5fe8c294010c60\n"
    },
    {
      "commit": "ee35aff74494e6c0b718e219427af6a6c573b928",
      "tree": "4e67db5f8013c5430b1cfb435469c90aabdb7199",
      "parents": [
        "ccdf3853b505f56a8bc52ee038dfe07aa87eb088"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 11:12:17 2011 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 07 12:42:07 2011 -0800"
      },
      "message": "Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add\nsupport for two common ways of specifying album artist in ogg files.\nb/3311831\n\n(cherry-picked from GB because of weird automerger failure)\n\nChange-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f\n"
    },
    {
      "commit": "478353e23188cdd6f3dd3674f122b50ec37438b4",
      "tree": "6efc6d698b584c8bc5e0428624eb18b75ea3b15e",
      "parents": [
        "1932fef94a14d0a1b86213864a2bcc690e0faa5e",
        "ff2dc46c121c166f10684da069d07ae11d4f9b9a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jan 06 13:36:47 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 06 13:36:47 2011 -0800"
      },
      "message": "Merge \"Add camera service support for SurfaceTexture.\" into honeycomb"
    },
    {
      "commit": "ff2dc46c121c166f10684da069d07ae11d4f9b9a",
      "tree": "7d0c7c8843a38a3248035893409b7261e93e531f",
      "parents": [
        "68e4a7ac849b681b1fb769857fc04f64262480c4"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Dec 20 11:51:31 2010 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jan 06 13:31:53 2011 -0800"
      },
      "message": "Add camera service support for SurfaceTexture.\n\nThis change enables the use of a SurfaceTexture in place of a Surface as\nthe destination of camera preview frames.\n\nChange-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb\n"
    },
    {
      "commit": "1932fef94a14d0a1b86213864a2bcc690e0faa5e",
      "tree": "4bdd44f22782447b3bd30f9273634ad1476d1ffc",
      "parents": [
        "cc9585fb38534f0c882cf58d3db9038198beb1b1",
        "c0dbe3a4457020bdba6ce311d383faecb7950a90"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 13:26:51 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 06 13:26:51 2011 -0800"
      },
      "message": "Merge \"Colorconverter may not support some src/dst bitmap configurations.\" into honeycomb"
    },
    {
      "commit": "68e4a7ac849b681b1fb769857fc04f64262480c4",
      "tree": "c13a745fc7c54db14529326e1ade56c44d1b922a",
      "parents": [
        "0a53d5c81b5553d6063b8133492275ce88186978"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Dec 20 11:27:26 2010 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jan 06 13:20:47 2011 -0800"
      },
      "message": "Add the SurfaceTexture C++ implementation.\n\nThis change adds the C++ implementation of SurfaceTexture and related\nclasses. The goal of this is for a SurfaceTexture to be passed to\ncamera service or Stagefright in place of a Surface to allow camera\npreview or decoded video frames to be streamed to an OpenGL ES texture\nthat an application can use.\n\nChange-Id: I55c83a7017f1ecb81c9c9e3252cbd118b914296c\n"
    },
    {
      "commit": "0a53d5c81b5553d6063b8133492275ce88186978",
      "tree": "dc6573bc4f7011bc5e7be5e6a976f684e52ac061",
      "parents": [
        "42edf0f8cf8ca85dd5010558ff399e2c9a4c779c"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Dec 20 11:21:07 2010 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jan 06 13:12:35 2011 -0800"
      },
      "message": "Add the ISurfaceComposer::createGraphicBuffer IPC.\n\nThis change adds a new binder method to the ISurfaceComposer interface.\nThis IPC is intended to allow SurfaceFlinger clients to allocate gralloc\nbuffers using SurfaceFlinger as a proxy to gralloc.\n\nChange-Id: Ide9fc283aec5da6268ba62cfed0c3319a50b640d\n"
    },
    {
      "commit": "c0dbe3a4457020bdba6ce311d383faecb7950a90",
      "tree": "dc45eb16d59ec3687f218fd4f679700df547710f",
      "parents": [
        "eec06d3679db96ec41a017d542c878f3b7070b0e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 11:26:54 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 12:42:33 2011 -0800"
      },
      "message": "Colorconverter may not support some src/dst bitmap configurations.\n\nLet it return an appropriate error code instead of asserting.\n\nChange-Id: I7fe0dfa169e1cbdecb04c5fcbe8501e73362d05e\nrelated-to-bug: 3328212\n"
    },
    {
      "commit": "6c30cfb0c5da16c44cc69b2d2282012aed903dc4",
      "tree": "d7b6ff0c1f6893c6841814de53822f0e48bd0c06",
      "parents": [
        "93fde2109ee9022f84431e85b1419371d18db860",
        "a8ce773607c26dd4336f57856afce507fb98a279"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 17:57:55 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 05 17:57:55 2011 -0800"
      },
      "message": "am a8ce7736: am 35e8dcb9: Merge \"Suppress the recording sound in the recorded video\" into gingerbread\n\n* commit \u0027a8ce773607c26dd4336f57856afce507fb98a279\u0027:\n  Suppress the recording sound in the recorded video\n"
    },
    {
      "commit": "a8ce773607c26dd4336f57856afce507fb98a279",
      "tree": "68cacac6f4874a07c4cfbfeceaec5e375aa41bc4",
      "parents": [
        "3a2c6bf0fcae9421cccf113ff972df7aaeb6d3e9",
        "35e8dcb9df8c3d77ede120e3f1aaf842b2928639"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 17:55:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 05 17:55:27 2011 -0800"
      },
      "message": "am 35e8dcb9: Merge \"Suppress the recording sound in the recorded video\" into gingerbread\n\n* commit \u002735e8dcb9df8c3d77ede120e3f1aaf842b2928639\u0027:\n  Suppress the recording sound in the recorded video\n"
    },
    {
      "commit": "a4bbc386a05a3d36f7bc9cdc5223adfa1b1f05e4",
      "tree": "c39a748a5bfa6cf22506cdc4e50ebfca576e5021",
      "parents": [
        "f31161a0e71c0446283610e9bf7a11e0be12bd5e",
        "08e10cb404c0f1620ca9db7494ccbb8adcca5ee5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 14:50:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 14:50:00 2011 -0800"
      },
      "message": "Merge \"Seek/Duration support for completed http live streams in NuPlayer.\""
    },
    {
      "commit": "08e10cb404c0f1620ca9db7494ccbb8adcca5ee5",
      "tree": "086fb4cd33084ec2e4df66ec32bfc3a94c1b538d",
      "parents": [
        "2cdee233125a6cc4b00a2962d5a50273d6bb5410"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 12:17:08 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 14:48:31 2011 -0800"
      },
      "message": "Seek/Duration support for completed http live streams in NuPlayer.\n\nChange-Id: I55bbe75d87140c07b1927d14ad24130fce803463\nrelated-to-bug: 3321475\n"
    },
    {
      "commit": "7ca6041ac9c57630ca051c1575760b8f3cb81361",
      "tree": "26c6b4816be1bee16386ba534abaa593e815b431",
      "parents": [
        "ae0238cae5aa3656c4da128c8951cedc902e6092",
        "853f6fdef791382ed0c10660255754107e684a20"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 12:53:13 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 12:53:13 2011 -0800"
      },
      "message": "Merge \"Fixed a typo in the enum for unknown camera error message\""
    },
    {
      "commit": "ac1325bcd394bdc8903b26e8593cc06753d79f29",
      "tree": "e1e4fc40e4f7bc45ca2bcddf0747e2d32e320b0b",
      "parents": [
        "3f476b34049d062942eafcf48396f593e00bd324",
        "5af0b916f850486cff4797355bf9e7dc3352fe00"
      ],
      "author": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Wed Jan 05 11:56:42 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 11:56:42 2011 -0800"
      },
      "message": "Merge \"Add decryption support to MountService.\""
    },
    {
      "commit": "5af0b916f850486cff4797355bf9e7dc3352fe00",
      "tree": "596919e498d72eadbc42b3307ac4f81542d34746",
      "parents": [
        "cf7775a88f8c88fc3a902799fc1d5100f6f7e0d6"
      ],
      "author": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Mon Nov 29 09:05:25 2010 -0600"
      },
      "committer": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Wed Jan 05 12:32:49 2011 -0600"
      },
      "message": "Add decryption support to MountService.\n\n* Implement the decryptStorage() method on the Mount Service.\n  This method makes the calls into vold to decrypt the encrypted\n  volumes and mount them.\n\nChange-Id: I4f6e07a111cf0b36611d590debf9f6579c5ac5f7"
    },
    {
      "commit": "876e44dfb5aabcd34e052a6a8a9f8ba8f07744ba",
      "tree": "357f6ce2426b3e5a717c05aaa39c01e2849e7531",
      "parents": [
        "2cdee233125a6cc4b00a2962d5a50273d6bb5410",
        "a1d2d8f7a5fd956ab82acc641415e09ff6c00a7e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 10:27:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 10:27:55 2011 -0800"
      },
      "message": "Merge \"Use video output if necessary for timelapse video recording\""
    },
    {
      "commit": "853f6fdef791382ed0c10660255754107e684a20",
      "tree": "a8c5ae7ef81c4f80250b02ce2d2077621cb9733d",
      "parents": [
        "ea3c57176b5882b0484d9b8aff67e178118c8b91"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 18:32:16 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 18:46:34 2011 -0800"
      },
      "message": "Fixed a typo in the enum for unknown camera error message\n\nChange-Id: Id9f8432e2ba8e1474ee020438d6456f1f450398a\n"
    },
    {
      "commit": "a7ac739b74428539ad8087a389c9de81081d1a93",
      "tree": "caf165064bd404eb217b1b29a3bc1c70da7321d9",
      "parents": [
        "06fccc325123bf4c9ebd04ac9300b504436724fe"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 17:34:44 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 17:34:44 2011 -0800"
      },
      "message": "Suppress the recording sound in the recorded video\n\nbug - 3309194\n\nChange-Id: Ib8fb248943bc22f963d67537bfdbc6056c5a159b\n"
    },
    {
      "commit": "b4ff35df5c04aec71fce7e90a6d6f9ef7180c2ad",
      "tree": "e4473f1b22e3051a8f82239256148820d4e097d5",
      "parents": [
        "a5af5d6b122b5d7337e6640deabf7886689679eb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jan 02 16:37:43 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jan 04 17:31:24 2011 -0800"
      },
      "message": "Mouse pointer integration.\n\nAdded support for loading the pointer icon from a resource.\n\nMoved the system server related bits of the input manager out\nof libui and into libinput since they do not need to be linked into\napplications.\n\nChange-Id: Iec11e0725b3add2b905c51f8ea2c3b4b0d1a2d67\n"
    },
    {
      "commit": "a1d2d8f7a5fd956ab82acc641415e09ff6c00a7e",
      "tree": "4272cd1b8be49b9f34af0b4e178d72d22f87a62c",
      "parents": [
        "cd7f598122c30b155bd8e18f8e36eff5424e20ef"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 16:09:07 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 16:09:07 2011 -0800"
      },
      "message": "Use video output if necessary for timelapse video recording\n\nChange-Id: I88d0cc824f0fbf8b2f392fbc23c69b5bfefda1b8\n"
    },
    {
      "commit": "cbeaca7a819cc11724f6f34457dabf5bd55a84a1",
      "tree": "d4601ae2e269aa16dfbd5c138c4d6bae285701dd",
      "parents": [
        "08a4186b1f0ca71aac94a24c1dbbdc0a84b8c705"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 04 14:01:29 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 04 14:07:58 2011 -0800"
      },
      "message": "Properly shutdown the decoders on a reset() in NuPlayer\u0027s implementation.\n\nrelated-to-bug: 3321470\nChange-Id: Ida6d2171c5a3a407188d4633602b764f8fe7086a\n"
    },
    {
      "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": "4e345ab7df737592528e99db73612c6b37e34545",
      "tree": "8eded6da95e3c0929209c992c7f0c5db9778508e",
      "parents": [
        "a0f011ff499289c89535c41ebe79c8c642414dff",
        "a2977c383d363e1e88a5b36230b1fa4c312807d2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 14:22:56 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 07 14:22:56 2010 -0800"
      },
      "message": "am a2977c38: Merge changes Ie03796ae,Ide3e980a into gingerbread\n\n* commit \u0027a2977c383d363e1e88a5b36230b1fa4c312807d2\u0027:\n  [3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE)\n  [3171580] Add transform field to native buffers. (DO NOT MERGE)\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": "48e723a0ee9b625825d23642f843b91fa276ab7c",
      "tree": "51c657d5f49e1efee636f2e1aed19b90e22707bd",
      "parents": [
        "e33811512eb061338792dbb0dbd37a1b8e4e1079"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 02 20:57:14 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 03 17:35:07 2010 -0800"
      },
      "message": "[3171580] Add transform field to native buffers. (DO NOT MERGE)\n\nThis field indicate how the content of the buffer\nneeds to be transformed.\n\nChange-Id: Ide3e980a90599e931406135693231276626adbbb\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"
    }
  ],
  "next": "a9d02bf6020e195acc18b16508c62f8be20dc207"
}
