)]}'
{
  "log": [
    {
      "commit": "08adfd29ae3634b554cfe184ab82f112ef934d7b",
      "tree": "4c18050f552689c88684288af75588b81c8c5c8c",
      "parents": [
        "c40fc87147baffa2a71d66550a0f99ca2524f4b9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Jan 16 11:30:13 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 08:33:07 2011 -0800"
      },
      "message": "Fix the presentation video resolution when it is different from the actual image resolution of the video.\n\nbug - 3352413\n\nChange-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2\n"
    },
    {
      "commit": "3b3cddccc105a7eaade4bb98f0eead3d3d3a2cc9",
      "tree": "36b8fb5fa189c1b20f057e095d554454571a3fe5",
      "parents": [
        "981df1d9931c1bd48dbb735437823b92db51e1a1"
      ],
      "author": {
        "name": "Dharmaray Kundargi",
        "email": "dharmaray@google.com",
        "time": "Sun Jan 16 16:43:20 2011 -0800"
      },
      "committer": {
        "name": "Dharmaray Kundargi",
        "email": "dharmaray@google.com",
        "time": "Sun Jan 16 16:43:20 2011 -0800"
      },
      "message": "integrate videoeditor preview player.\n\nChange-Id: I83084f494605c8e6f4d198afa8c36f9e29579667\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "21e941bf43362ddc6639a9f2d0828053360f53d7",
      "tree": "686b10bd26b899198a744c6e38d4ffa6585714b7",
      "parents": [
        "879ed85598800bd2d87b7fe96d0a763d9b954a6e"
      ],
      "author": {
        "name": "Praveen Bharathi",
        "email": "pbharathi@motorola.com",
        "time": "Wed Oct 06 15:23:14 2010 -0500"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 01 18:41:19 2010 -0700"
      },
      "message": "Added support for dock headset observer\n\nChange-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292\nSigned-off-by: Praveen Bharathi \u003cpbharathi@motorola.com\u003e\n"
    },
    {
      "commit": "044ace6bde97eb71ca5a5cae12a93c5b101c55f3",
      "tree": "53993cc2a5d93df92d6ef1580bf1a9349b4d8d65",
      "parents": [
        "3521e2202d76141c1c5b6db75bcc4d3cf32b4217"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 29 15:19:29 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 01 16:54:01 2010 -0700"
      },
      "message": "Stop using OMX_COLOR_FormatAndroidPrivateStart.\n\nThis removes the use (and definition) of the Android-private range of\nOMX color formats from Stagefright.  Instead we will just be\ninterpreting the video color format of an OMX port as an Android pixel\nformat if the port is in native buffer mode.\n\nChange-Id: I3ea50703336a88249e7563bc7022dfedbeac506e\n"
    },
    {
      "commit": "69b8d69aadbf0e795f1a1e1adc82c78cf0b9959f",
      "tree": "6b48f22c3e0bd47427e97b13502e5f8cadcb0b90",
      "parents": [
        "7b9652b66b76b90fd95952c42a4f82965ed80d72"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 29 12:00:20 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 29 13:20:06 2010 -0700"
      },
      "message": "Squashed commit of the following:\n\ncommit 0d5694ba2d399dd0869532a4d6256448185a1be0\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Oct 29 11:59:23 2010 -0700\n\n    suspend() and resume() methods on VideoView are back but don\u0027t do anything.\n\n    They need to be back because they were public before.\n\n    Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425\n\ncommit 16192891ed7d349ee97e47d1729d20a2d0d247b8\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Oct 29 11:47:05 2010 -0700\n\n    Revert \"New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming.\"\n\n    This reverts commit 2e1818a4d16c3309660f27286c77d8d1eee95a25.\n\n    Conflicts:\n\n    \tapi/current.xml\n\n    Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5\n\ncommit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Oct 29 11:44:16 2010 -0700\n\n    Revert \"Release mediaplayer if the current state is not suspending. Fix for bug 2480093.\"\n\n    This reverts commit efb882cf75eef39ecaf9f8920ed302a019fa629f.\n\ncommit f2ed03550887986f39d36b5dabcd9e919949c7cf\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Oct 29 11:44:08 2010 -0700\n\n    Revert \"Release MediaPlayer if suspend() returns false.\"\n\n    This reverts commit 047212fd4ea360675e94d3ce83c7f5544f65b268.\n\ncommit 441ecce678bd24e9660a72c8627b5bd94433ff8b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Oct 29 11:40:46 2010 -0700\n\n    manually.\n\n    Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87\n\nChange-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89\n"
    },
    {
      "commit": "170a929648b9f5c6efbf6dcbec4f1bc73593cbde",
      "tree": "59a0780c0c0ac6dbbdb1cf0ce03be8d6dc40c33b",
      "parents": [
        "fc6d54ea074aa1f6a177b031e6b2814368ac7583"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 22 17:28:15 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 25 18:21:55 2010 -0700"
      },
      "message": "Add two creation flags to OMXCodec::Create()\n\no This allows to force to use software codecs or hardware codecs\no If request cannot be fullfilled, Create() returns NULL.\n\nChange-Id: I02b56a9229abb56d49703fe80ac18571d33f3748\n"
    },
    {
      "commit": "cbb053c3c97677c4795ca814dcc749e3d8513ed9",
      "tree": "5a1d5492c661ddb1c4eb4744b8f4a95fa40644ab",
      "parents": [
        "657dbfaedb288a6bf8900961a0a64f0bc20165df",
        "965f960ecacfa7528854d8371ecf309b46fc6ebb"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 16:56:49 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 16:56:49 2010 -0700"
      },
      "message": "resolved conflicts for merge of 965f960e to master\n\nChange-Id: I63cec8ffb3593216da1de03428134d89e75b9338\n"
    },
    {
      "commit": "b8791479af814d530a3810d0516ef5628958a8d0",
      "tree": "512aa5507bf60631597c06e77ff58a2e2d99b76b",
      "parents": [
        "67bb6741965c0b9f3bf6b4caf2647efc564e287e",
        "9084631dba8938942ddd8d4cb1e0f9149965ae8e"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 15:23:04 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 16:11:18 2010 -0700"
      },
      "message": "resolved conflicts for merge of 9084631d to gingerbread-plus-aosp\n\nChange-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472\n"
    },
    {
      "commit": "d5770917a50a828cb4337c2a392b3e4a375624b9",
      "tree": "0ba25dd389bab286b27c178e9598cea45cd1cbe6",
      "parents": [
        "c5371fadf2753d074ef117685fed05b0140d6864"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 22 13:55:38 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 12:16:56 2010 -0700"
      },
      "message": "DRM framework support:\n- add a sniffer for DRM files\n- add DRMSource and DRMExtractor for es_based DRM\n- add pread in FileSource.cpp for container_based DRM\n- add native DRM framework API calls in the player for\n  DRM audio/video playback\n\nChange-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f\n"
    },
    {
      "commit": "2351e69a13e8b9372cc4a33d28c1fd230f51faa3",
      "tree": "22d0d65011668acd4383e4eae09e0ba032a6d0c2",
      "parents": [
        "2191b4b22f4bb497ec08f503c37d112428968afe",
        "387e38dd87ae9c04ef79ebe06ea798762916ff5c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 22 14:07:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 22 14:07:41 2010 -0700"
      },
      "message": "Merge \"OMX extension to support storing meta data in video input buffers during recording\""
    },
    {
      "commit": "387e38dd87ae9c04ef79ebe06ea798762916ff5c",
      "tree": "225fb403082a511eb43ad1d4c799bc2689ffbbe3",
      "parents": [
        "cf8918874dc446f34bbc2a93a6b20235c30a7645"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 20 17:38:41 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 21 14:06:17 2010 -0700"
      },
      "message": "OMX extension to support storing meta data in video input buffers during recording\n\nbug - 3042125\n\nChange-Id: I7543809fa4ff61d48da35eec6c2bd5eaa7e8cead\n"
    },
    {
      "commit": "9165145342de3e62145da89cfa832a695f74a0be",
      "tree": "8b352e561ab1c8f2dc21b96d6853ae9646a94065",
      "parents": [
        "55d7bca71ce62248d4d41ba3e1680b9c627971f4",
        "8ad6335d2c22900de5b46460473495b5bcea9f99"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 21 13:49:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 13:49:00 2010 -0700"
      },
      "message": "am 8ad6335d: am fa7a87fb: Merge \"File writer size estimation improvement\" into gingerbread\n\nMerge commit \u00278ad6335d2c22900de5b46460473495b5bcea9f99\u0027\n\n* commit \u00278ad6335d2c22900de5b46460473495b5bcea9f99\u0027:\n  File writer size estimation improvement\n"
    },
    {
      "commit": "58a36adac1bb3294cd9f2d516d52c6358987687a",
      "tree": "3fcc1ee79198a96785c07394dd6833a3dc31275c",
      "parents": [
        "9532677ad89df530248f8b0debe2afdb442187ba"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Oct 07 14:08:38 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 20 11:03:30 2010 -0700"
      },
      "message": "Add decode-to-ANativeWindow support to Stagefright.\n\nThis change adds support to Stagefright for doing OMX video decoding directly\ninto buffers dequeued from an ANativeWindow.  It does this by registering the\ndequeued buffers with the OMX component using an Android-specific OMX\nextension, and then exchanging buffers between the OMX component and the\nANativeWindow.\n\nChange-Id: Ida66f836503255a68d378c6903d96dfe9747ce87\n"
    },
    {
      "commit": "ab79d1febcb6d0bfaaf5e8bfb75f4c641c00a2fb",
      "tree": "8a5a5009232345d0ada22cc70f9a055e6d40f97c",
      "parents": [
        "382f7a140ea25d892831de9d467952db0f68064f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 18 21:42:27 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 19 23:11:29 2010 -0700"
      },
      "message": "Make camera source ready for handling meta-data video buffers.\n\nbug - 3042125\n\nChange-Id: I877b265c6bf8e0593121c8d5a95ae5599cdc6fb9\n"
    },
    {
      "commit": "22b37fa6e0d7abbfa373e5fdf057fc6dcb2474ff",
      "tree": "06082fbe3f4c1c8f08aedbb01ad538d206e3f918",
      "parents": [
        "f4cd9be0390135269e22e42fd2e1fe61fdcf9863"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 19 21:28:47 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 19 22:59:22 2010 -0700"
      },
      "message": "File writer size estimation improvement\n\no Do not count the reserved space for moov if the meta data size is small\no Do not count the extra 1KB disturbing small file estimation.\no Reduce the default minimum reserved space from 4 KB to 3 KB.\no Estimate the moov size based on both duration AND file size limit is set\n  and set it to the smaller estimated value.\n\nlow risk change\n\nbug - 3111983\n\nChange-Id: I6ac2adb979d8cc12d6b4f1813d000c989add0199\n"
    },
    {
      "commit": "c46b2a7b591a02bb6beeb2f62c7e571588ca6aa9",
      "tree": "06da129c6dc614d7a3fd9d8b2e52c9a1a35bb7f8",
      "parents": [
        "3222df8d835c23ceaefc7e4782bb2d5146bb4112",
        "9b2f18df2436b6c2d9735e65119b92f320bb57e2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 19 09:52:25 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 19 09:52:25 2010 -0700"
      },
      "message": "am 9b2f18df: am bc96c284: Merge \"For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.\" into gingerbread\n\nMerge commit \u00279b2f18df2436b6c2d9735e65119b92f320bb57e2\u0027\n\n* commit \u00279b2f18df2436b6c2d9735e65119b92f320bb57e2\u0027:\n  For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.\n"
    },
    {
      "commit": "5a40e394f1e6b0511542e171eaf4c3e5927efc13",
      "tree": "d83620f903022c1bc2b0087d71c2b257dd5a0719",
      "parents": [
        "d1f7f4a68375f879671d300510f23d3ee78a500e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 18 09:57:42 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 18 10:16:08 2010 -0700"
      },
      "message": "For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.\n\nrelated-to-bug: 3106534\nChange-Id: Ie28d72af2f9e93818d1840ac83aa7bc11fa57b3b\n"
    },
    {
      "commit": "5b9fd116f9b63e06fa431a57a1c2e4e5bc03f3fc",
      "tree": "8dc337794ab727e50fbd3842ecb1f058e73c2804",
      "parents": [
        "875ecaa511ce36c8044ccdf48ee2a3e69dd633fe",
        "746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 18 08:05:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 08:05:09 2010 -0700"
      },
      "message": "am 746c6a1c: am ff7a7a45: Merge \"Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.\" into gingerbread\n\nMerge commit \u0027746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4\u0027\n\n* commit \u0027746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4\u0027:\n  Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.\n"
    },
    {
      "commit": "6ac35f059726cf60a364c1efd783a99c901f2d9d",
      "tree": "99b503aaf16306f2860d51037c014bfb5050e380",
      "parents": [
        "e1f3976bb4eab0d7c46bc8596679d4d00695148c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 15 13:30:27 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 15 13:30:27 2010 -0700"
      },
      "message": "Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.\n\nChange-Id: Ie2ecf9558d4ee80cb5a2bbe66ad49f2165a7b09c\nrelated-to-bug: 3101573\n"
    },
    {
      "commit": "4a90f93781622e5cbca52b962cfe5325a29ec28e",
      "tree": "2215799c3d6212b9e9ad26521fdcbc447a80bc78",
      "parents": [
        "e449fceaa4b1e1c76d95a4255d23ac508bd75751",
        "a127c07c42b8961881f460eb8e6a6b722139e3b9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 14 23:58:41 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 14 23:58:41 2010 -0700"
      },
      "message": "resolved conflicts for merge of a127c07c to master\n\nChange-Id: Ifdfc6681cba00f36456eaf7a97f34a75b9d0c086\n"
    },
    {
      "commit": "e449fceaa4b1e1c76d95a4255d23ac508bd75751",
      "tree": "8b31fb1768f6a13521faefe47d6bdd6b439944ce",
      "parents": [
        "af95d12b12056b4f88cbb35e61209a953739009b",
        "28b93967d0e702304c7edec854a29d5ab88bfce0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 14 23:22:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 14 23:22:21 2010 -0700"
      },
      "message": "am 28b93967: am 165c6579: Merge \"HTTP Live content that are tagged as complete are now seekable.\" into gingerbread\n\nMerge commit \u002728b93967d0e702304c7edec854a29d5ab88bfce0\u0027\n\n* commit \u002728b93967d0e702304c7edec854a29d5ab88bfce0\u0027:\n  HTTP Live content that are tagged as complete are now seekable.\n"
    },
    {
      "commit": "312644cdbb39522fe9cac028b15b907ce0e8e0f7",
      "tree": "97dd25e42b1a0ccc607cdbbc60368b833c44a71e",
      "parents": [
        "165c6579660c22edafb61fee2a0cf39334a2a905",
        "9adf466021d37a5062d7d3361e14bfd9e7ffeba6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 13 09:14:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 09:14:40 2010 -0700"
      },
      "message": "Merge \"Support for writing to MPEG2 transport stream files.\" into gingerbread"
    },
    {
      "commit": "9adf466021d37a5062d7d3361e14bfd9e7ffeba6",
      "tree": "32065c7763d46863e76d9f78ba4c76f0117ff2dc",
      "parents": [
        "a7c76d8307a3b49bf5b8fdda3543455b0e5dd64c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 14:17:45 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 16:05:23 2010 -0700"
      },
      "message": "Support for writing to MPEG2 transport stream files.\n\nChange-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97\n"
    },
    {
      "commit": "54d09724e3ea2af4e08dff47d7ade92a95784127",
      "tree": "6cc008b4a8acb1ee7f47e3748baa2826257e61ce",
      "parents": [
        "a7c76d8307a3b49bf5b8fdda3543455b0e5dd64c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 11:34:37 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 14:32:10 2010 -0700"
      },
      "message": "HTTP Live content that are tagged as complete are now seekable.\n\nChange-Id: I9d0d2f009f883e5baf3e9de8c5c0aa05760e4bde\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "37de60c179449a706ea41fea8384063723b0cb63",
      "tree": "61d5bc5effb307f88ae74ed970a3e1667ba49c30",
      "parents": [
        "cb4e40768096412c7d068a9cf27b1f5155ddfa94",
        "2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sun Oct 10 17:14:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 17:14:53 2010 -0700"
      },
      "message": "am 2b4f1f4c: am f72dd019: Merge \"Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\" into gingerbread\n\nMerge commit \u00272b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7\u0027\n\n* commit \u00272b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7\u0027:\n  Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\n"
    },
    {
      "commit": "329430a54e152ad1f5e0003194728988661788bb",
      "tree": "0a77d3d71fc858ae611319eefd27a08e7c9ed2c3",
      "parents": [
        "438a17292a3edf779eb7aef5966c8c9e034235a8",
        "4f21e517d09b9d793d20d64547df330fba705b3c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Oct 10 16:06:04 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 16:06:04 2010 -0700"
      },
      "message": "am 4f21e517: am b37fcbfd: Merge \"Added getter for session Id to AudioSink\" into gingerbread\n\nMerge commit \u00274f21e517d09b9d793d20d64547df330fba705b3c\u0027\n\n* commit \u00274f21e517d09b9d793d20d64547df330fba705b3c\u0027:\n  Added getter for session Id to AudioSink\n"
    },
    {
      "commit": "06dfa35e3c5f379b14d2acbc584c8d8cb2e822c7",
      "tree": "6f85385f03eb1ec1dda1f6127145a054eac2a79d",
      "parents": [
        "22b379ad178fe256bbfe706e32f611466f656fd9",
        "bb70837397e3fb437b7b4443b37d7a83c11e6e43"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sun Oct 10 11:25:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 11:25:54 2010 -0700"
      },
      "message": "am bb708373: am 949f7d90: Merge \"Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\" into gingerbread\n\nMerge commit \u0027bb70837397e3fb437b7b4443b37d7a83c11e6e43\u0027\n\n* commit \u0027bb70837397e3fb437b7b4443b37d7a83c11e6e43\u0027:\n  Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\n"
    },
    {
      "commit": "72662b1abe7e76f5d880ffc44c561b3af63f89ad",
      "tree": "b2ecf72154e1d23fcb1d96b75c9affdd44ead4b4",
      "parents": [
        "7a2eff1fc79f3594ea4ef0f1c6aaa7a1d914dd1b",
        "45bd1159fa34b51ba077e0cde760d171ca092552"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sun Oct 10 11:16:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 11:16:01 2010 -0700"
      },
      "message": "am 45bd1159: am 02654f01: Merge \"On this particular device the hardware video decoder spits out buffers that don\\\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\" into gingerbread\n\nMerge commit \u002745bd1159fa34b51ba077e0cde760d171ca092552\u0027\n\n* commit \u002745bd1159fa34b51ba077e0cde760d171ca092552\u0027:\n  On this particular device the hardware video decoder spits out buffers that don\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\n"
    },
    {
      "commit": "997eaa2c7c6f7c59d145dab3e93431ea2e2a7dc7",
      "tree": "e2c981c36bfad2f95a0ab9f8be4b5ee8d3a4e9d8",
      "parents": [
        "4c0c81a30733ba677c16db14a54349d80c642b5b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Oct 09 01:16:58 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Oct 09 01:21:20 2010 -0700"
      },
      "message": "0-memcpy video recording framework\n\nPart III: Move startRecording() call earlier, asking camera hal\nto allocate video buffers before CameraSource.start() is called.\n\nChange-Id: I3f1d7d5636ca2644fe52af61f297d48c6b1ce89d\n"
    },
    {
      "commit": "0c128b67f066b2e691348d5375c2da47b84f69ac",
      "tree": "1ad86cd5d3bba568535b8e6c79a0585c50e58157",
      "parents": [
        "54ca811b29ceea6595b7e3d607a89ee625f0184c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 08 11:59:32 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 08 18:32:43 2010 -0700"
      },
      "message": "Move Camera specific logic out from StagefrightRecorder to CameraSource\n\no updated comments and streamlined the logic in\n  checkVideoSize() and checkFrameRate() as suggested\n\nChange-Id: I49d04ac7998d4a215997aa63555dfb6e814e38d3\n"
    },
    {
      "commit": "f72dd0190ee64914161d361be1213eda8cab7b90",
      "tree": "7d3193050b07d2c017ec6df20278038b02119f7b",
      "parents": [
        "b9bf545774b1f1dbd35c34c4060a6ebdd2bc843c",
        "10b9b3f3fe47cea0833fe2c7d5ed08a1185f9006"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 11:16:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 11:16:07 2010 -0700"
      },
      "message": "Merge \"Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\" into gingerbread"
    },
    {
      "commit": "10b9b3f3fe47cea0833fe2c7d5ed08a1185f9006",
      "tree": "db45ecb6b04d3acaf38d3cd8871ed70ef8c5bbe9",
      "parents": [
        "bb245d35b6e81d750a91815543973b0a5976352b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:16:24 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:16:24 2010 -0700"
      },
      "message": "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\n\nChange-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2\nrelated-to-bug: 3073955\n"
    },
    {
      "commit": "b3bdf3f0086f1d921720f6dc92cabc7b6f2ab63e",
      "tree": "21f02868e4a39ef36117dc7e0724e0ad5adf1247",
      "parents": [
        "36a182870527f1d71f482e9a280bc818a4609cb6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 07 18:23:03 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 07 18:23:03 2010 -0700"
      },
      "message": "Added getter for session Id to AudioSink\n\nAdded a method to expose the audio session id at AudioSink interface\nso that the AudioPlayer in stagefright can retrieve it.\n\nAlso:\n- Fixed audio effect send level not being initialized in mediaplayer.\n- Fixed compilation error when LOGV is enabled in mediaplayer JNI\n\nChange-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb\n"
    },
    {
      "commit": "a458719bb6ebbcce99d4dba43af4bd51c5a06216",
      "tree": "6749676e32e62171ac2ae40dea62ad5ac2303981",
      "parents": [
        "c5610a4c1308e2d52108131fbdef35e432a414b6",
        "56ee1080f004110bff622e5b60c243d9cabfe120"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 12:21:33 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 12:21:33 2010 -0700"
      },
      "message": "am 56ee1080: am 17bc4f65: Merge \"Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\" into gingerbread\n\nMerge commit \u002756ee1080f004110bff622e5b60c243d9cabfe120\u0027\n\n* commit \u002756ee1080f004110bff622e5b60c243d9cabfe120\u0027:\n  Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\n"
    },
    {
      "commit": "4c19bf9833f59f58a9aaea566f0eb98a7fb7e2ea",
      "tree": "98365cbdcad2ebb3095dcb71afdece89fc13ed07",
      "parents": [
        "02654f01bc6bd2e581b4a1d2409ecea217294fa2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 08 14:32:20 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 11:41:43 2010 -0700"
      },
      "message": "Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\n\nChange-Id: I7150e5e7342e1117c524856b204aadcb763e06ed\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "1e1941638398e5e3e1d7b9ad88e66f574576bcfa",
      "tree": "e6c89a82b8298503ff96a891e706a55d48c0d574",
      "parents": [
        "f8d2acdc57fd747278bb909c9e15b959e07d63b6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 06 16:43:57 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 09:19:25 2010 -0700"
      },
      "message": "On this particular device the hardware video decoder spits out buffers that don\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\n\nChange-Id: I1b8fe68c1766299844fe84ebbff49cb8b3e4cc7c\nrelated-to-bug: 3070094\n"
    },
    {
      "commit": "8c4a042984ce9132810f6e79da732ea89e467d6f",
      "tree": "16d37ccdeb9fd09a0ca5711a23c4c602bc40b119",
      "parents": [
        "664d035829acd35f75fa82826d960efd72da3578",
        "a86a6c4e326bfdfc351dacca95b23bb78f78efbe"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 06 16:17:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 06 16:17:14 2010 -0700"
      },
      "message": "am a86a6c4e: am 6f1c7bda: Merge \"Fixed an issue where the reserved free space in the file writer was larger than intended\" into gingerbread\n\nMerge commit \u0027a86a6c4e326bfdfc351dacca95b23bb78f78efbe\u0027\n\n* commit \u0027a86a6c4e326bfdfc351dacca95b23bb78f78efbe\u0027:\n  Fixed an issue where the reserved free space in the file writer was larger than intended\n"
    },
    {
      "commit": "c743f4506f88a14189449c719a6ec1cfe5f0f812",
      "tree": "f69dfc65287acea092d8769ca3e6f907567a4b6b",
      "parents": [
        "78d15acfb20269ce263ce19514a2c0e7a98409e2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 10:25:34 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 13:53:39 2010 -0700"
      },
      "message": "Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\n\nChange-Id: Id574a0203efcb5e565f1b0fe77869fc33b9a9d56\n"
    },
    {
      "commit": "6a9e39ac55b32a2847546ef1784c2d6c91863a55",
      "tree": "62d33aedf7875659cd5cea087c563e50a3afd065",
      "parents": [
        "a29643a6455df7d3d615cdc45e11c437fe4b6cee"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 16:41:53 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 16:54:59 2010 -0700"
      },
      "message": "Fixed an issue where the reserved free space in the file writer was larger than intended\n\nThe problem was that even though user does not explicitly request the max file size\nlimit via MediaRecorder.setMaxFileSize(), the file writer sets an implicit file\nsize limit if 32-bit file offset is used on user\u0027s behalf. The reserved free space\nis estimated based on the file size, if the file size limit is set by the user.\n\nThe fix is to add an extra bool to tell the difference between an\nexplit requested file size and an implicit file limit and use that\nto set the estimated moov box size accordingly.\n\nChange-Id: I731aca6c7833aa764ed7b905edb77721577471b3\n"
    },
    {
      "commit": "ce635b55043dbc498ab1ef712b226922818cfe53",
      "tree": "a3569f04c5fc4f2c20b840b0500f445560e350fd",
      "parents": [
        "3bf613b2687d0cce13ce70a7a6650832f9656cfd",
        "d6c30e8c1521bc584f33500b8ee897dafdfec023"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 14:01:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 14:01:14 2010 -0700"
      },
      "message": "am d6c30e8c: am be045061: Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread\n\nMerge commit \u0027d6c30e8c1521bc584f33500b8ee897dafdfec023\u0027\n\n* commit \u0027d6c30e8c1521bc584f33500b8ee897dafdfec023\u0027:\n  Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n"
    },
    {
      "commit": "3bf613b2687d0cce13ce70a7a6650832f9656cfd",
      "tree": "fa65b2bad5497a059a5f8a87e085fdeb748a0fb9",
      "parents": [
        "1a3038586a3a46d0cdc487fea40ba4f7712d677d",
        "c889bbfa965f4ba90636f561c5e1353289d4cb06"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 14:00:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 14:00:36 2010 -0700"
      },
      "message": "am c889bbfa: am 4769f579: Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread\n\nMerge commit \u0027c889bbfa965f4ba90636f561c5e1353289d4cb06\u0027\n\n* commit \u0027c889bbfa965f4ba90636f561c5e1353289d4cb06\u0027:\n  Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n"
    },
    {
      "commit": "1a3038586a3a46d0cdc487fea40ba4f7712d677d",
      "tree": "d48a9261dcd7157a2b33f364be2e8074b45922f1",
      "parents": [
        "e8fd1952089b98e63410e85f734b2727eeee1450",
        "9d59186068891834272c2e3ee6f9c4228af24656"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 13:59:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 13:59:26 2010 -0700"
      },
      "message": "am 9d591860: am 3a9cc8ce: Merge \"Squashed commit of the following:\" into gingerbread\n\nMerge commit \u00279d59186068891834272c2e3ee6f9c4228af24656\u0027\n\n* commit \u00279d59186068891834272c2e3ee6f9c4228af24656\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "be0450619528e65eebfa1d7eab78fde757d094cc",
      "tree": "08bd4cd3f2b9784e6fcbfb0ae0c6590f48534fd1",
      "parents": [
        "4769f57948455277d0670ef18f64824ca5d894c1",
        "2b359ed5b5ba4775609c13408b2cf1336c2cc45b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "message": "Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread"
    },
    {
      "commit": "2b359ed5b5ba4775609c13408b2cf1336c2cc45b",
      "tree": "4d8d85f3ab02bf47e197f645470e48340ce806c7",
      "parents": [
        "38ae220bb7c06e3cc82f96dada769c6b12a79d09"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "message": "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n\nChange-Id: I43875b6adaf96d4e982ef3dfc3d6c8f7034ac51d\nrelated-to-bug: 3036592\n"
    },
    {
      "commit": "4769f57948455277d0670ef18f64824ca5d894c1",
      "tree": "956dafaf01e32a7cc1e350263bb2a41eaeb7edf5",
      "parents": [
        "3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7",
        "38ae220bb7c06e3cc82f96dada769c6b12a79d09"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "message": "Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread"
    },
    {
      "commit": "38ae220bb7c06e3cc82f96dada769c6b12a79d09",
      "tree": "c411755233d0b39b4ffc97dadf0c6a6bcb8eff83",
      "parents": [
        "a16682b5e8ed635910eada23272ba6548922c02e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 09:16:21 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:26:03 2010 -0700"
      },
      "message": "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n\nrelated-to-bug: 3036592\nChange-Id: Ib142b171c829ed74156c0281d9d4543fcc96c802\n"
    }
  ],
  "next": "c751eccad38cf46d7478eca85beefecd2c2b4c3b"
}
