)]}'
{
  "log": [
    {
      "commit": "d707fcb3e29707ca4a5935c294ef0b38eb5aba5f",
      "tree": "8f223d9d5656ba34a0fdfe2e7ee4992f7a0bf3e3",
      "parents": [
        "9b93478fef2915a1d0cbb1fe17d2788ef8b5b230"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 01 18:48:35 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 01 20:45:39 2010 -0700"
      },
      "message": "Calculate audio media drift time from AudioSource\n\nThe problem was that the time to receive an output buffer\nfrom an audio encoder is different because the encoder does not\nneed to read from the source for all output buffers. This leads\nto large fluctuation in terms of wall clock duration between two\nneighboring audio sample outputs from the audio encoder. As a\nresult, the media time for the video track after adjustment using\nthe drifting changes wildly sometimes.\n\nThis patch addresses this issue by only updating the media drift\ntime when an audio source input buffer is read. the wall clock\nfor the audio track is also calculated at the same time when\nthe input audio buffer is read at AudioSource.\n\nbug - 2959800\n\nChange-Id: I3174aa182f744784b540f0a7198524d4eee8bd7b\n"
    },
    {
      "commit": "9b93478fef2915a1d0cbb1fe17d2788ef8b5b230",
      "tree": "b78dcdc8998a4fd525cc65b507905ce08d1aefe6",
      "parents": [
        "e91b46246305ba233067e06bce8d8a82e6c5b101",
        "c9e894872c298b25fe9d74e68aa1e7287a541ac3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 15:44:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 01 15:44:46 2010 -0700"
      },
      "message": "Merge \"Better support for buffered streaming of rtsp content, if buffer drops below a certain threshold we will temporarily pause playback until we have sufficient data.\" into gingerbread"
    },
    {
      "commit": "e91b46246305ba233067e06bce8d8a82e6c5b101",
      "tree": "c38eb903cce774f8d8c09808c092fa25aaa3109d",
      "parents": [
        "bcbe5af62aad9d1ef64f799fcde58ac9a8adace8",
        "6e20bdf799a6f4efa6c42121a958634ea32ed5cc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 01 15:41:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 01 15:41:10 2010 -0700"
      },
      "message": "Merge \"Make sure that if initialization fails, AudioSource still behaves well.\" into gingerbread"
    },
    {
      "commit": "c9e894872c298b25fe9d74e68aa1e7287a541ac3",
      "tree": "3b5eba501373e765f359e83e3102af109b0ccd1a",
      "parents": [
        "bcbe5af62aad9d1ef64f799fcde58ac9a8adace8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 15:05:28 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 15:05:28 2010 -0700"
      },
      "message": "Better support for buffered streaming of rtsp content, if buffer drops below a certain threshold we will temporarily pause playback until we have sufficient data.\n\nChange-Id: Ice8564e902e48c89c9c00f6651c5504b3c41fcad\nrelated-to-bug: 2556656\n"
    },
    {
      "commit": "6e20bdf799a6f4efa6c42121a958634ea32ed5cc",
      "tree": "9da065250d9569ad9cdb5f89c02f582b778ede57",
      "parents": [
        "5edae619a6ad7337a3d14b53f7665ff17ec3ee84"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 01 14:02:51 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 01 14:11:28 2010 -0700"
      },
      "message": "Make sure that if initialization fails, AudioSource still behaves well.\n\nChange-Id: I16dfc90bcb8a324d6ee9a38a5a1a31cc094c820a\n"
    },
    {
      "commit": "bcbe5af62aad9d1ef64f799fcde58ac9a8adace8",
      "tree": "7f28936b13ecbea2c4a72452f50a3dc2e825b264",
      "parents": [
        "82f7321b03eec1e40af9d681370f754ee0279582",
        "389636ce967af15e72817e2133907a2cb2efd1ae"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 13:39:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 01 13:39:27 2010 -0700"
      },
      "message": "Merge \"Keep gtalk video chat specific code consistent with rtsp changes.\" into gingerbread"
    },
    {
      "commit": "82f7321b03eec1e40af9d681370f754ee0279582",
      "tree": "520cdbd2aba00312799f6dc99cc179bc7f5e5427",
      "parents": [
        "8f45bd725549436eeacd12ee69349e2332ed8da5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 12:22:36 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 12:25:36 2010 -0700"
      },
      "message": "Properly extract all raw_data_blocks from an ADSP mpeg4 audio buffer.\n\nChange-Id: I15e21eae50beb6057024ea42a7e9bf3b8d8a0603\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "389636ce967af15e72817e2133907a2cb2efd1ae",
      "tree": "c498f021d1a1bca46b992c5257f0de71fcb06667",
      "parents": [
        "06124758ff402512f3c7a5fb2b35d8d09a0d6c2e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 09:27:47 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 09:27:47 2010 -0700"
      },
      "message": "Keep gtalk video chat specific code consistent with rtsp changes.\n\nChange-Id: I5f3f46c2150e16b26674432e427f79c04a69cd8e\n"
    },
    {
      "commit": "8f45bd725549436eeacd12ee69349e2332ed8da5",
      "tree": "d1f48f9af5991d462fb22fb37a5dd0a3d7f2251a",
      "parents": [
        "06124758ff402512f3c7a5fb2b35d8d09a0d6c2e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 31 13:50:07 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 31 15:26:23 2010 -0700"
      },
      "message": "Audio Effects: fix problems in volume control.\n\n- Fixed click when re-enabling effect during the turn off phase:\nmake sure the effect states where effect is processed are the same\nwhere volume control is delegated to effect.\n- Fixed click when effect is deleted while still active: do not apply\nvolume ramp if an effect having volume control was just removed from the\neffect chain.\n\nAlso fixed a crash when PCM dump is enabled in effect bundle wrapper.\n\nChange-Id: Ib562f5cf75c69af75df0e862536262e2514493e4\n"
    },
    {
      "commit": "06124758ff402512f3c7a5fb2b35d8d09a0d6c2e",
      "tree": "5c2bf3c826e2ce8da3c80f5eba26ef0f4d868b5b",
      "parents": [
        "69a4f8ba0705e8d22dd5c5ff4ce457240db86d04",
        "4dba3e90f211eb5f5af19b10c5d3fc8c967b0086"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 31 14:54:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 31 14:54:37 2010 -0700"
      },
      "message": "Merge \"Support for RFC3640 - mpeg4-generic RTP packet type, AAC-lbr and AAC-hbr.\" into gingerbread"
    },
    {
      "commit": "69a4f8ba0705e8d22dd5c5ff4ce457240db86d04",
      "tree": "88e37f3c3affdb5a5bc81d350a8773680b09ebd3",
      "parents": [
        "f74c8f9ee26c91b129fe9a1acc254471a9f30cb1",
        "e7d3e90d8761f52a6acfdcd926f0392aca8ebb52"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 31 14:41:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 31 14:41:51 2010 -0700"
      },
      "message": "Merge \"Better detection of connection problems - timeout if no rtcp packets arrive within a certain time, not a final frame (which may take longer)\" into gingerbread"
    },
    {
      "commit": "4dba3e90f211eb5f5af19b10c5d3fc8c967b0086",
      "tree": "5776996375a860f32db14ae23b2f789e598b88e2",
      "parents": [
        "5edae619a6ad7337a3d14b53f7665ff17ec3ee84"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 31 14:25:36 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 31 14:25:36 2010 -0700"
      },
      "message": "Support for RFC3640 - mpeg4-generic RTP packet type, AAC-lbr and AAC-hbr.\n\nChange-Id: Ied92ea8c2448a2cb1a732c72c21c69da1913dbc8\nrelated-to-bug: 2556656\n"
    },
    {
      "commit": "f74c8f9ee26c91b129fe9a1acc254471a9f30cb1",
      "tree": "477533535c7be3bcbd97bb51937f8c0b6e561eb7",
      "parents": [
        "5edae619a6ad7337a3d14b53f7665ff17ec3ee84"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 31 11:46:42 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 31 11:53:54 2010 -0700"
      },
      "message": "Add some encoding parameters for the \"record\" utility\n\n- TODO: remove some of the hard coded values\n\nChange-Id: Ib58bbb8af45fd102176ac49da0a71613a12fa5fc\n"
    },
    {
      "commit": "e7d3e90d8761f52a6acfdcd926f0392aca8ebb52",
      "tree": "fe646be124e6f91f7b5106f06616e7f56e0c99ac",
      "parents": [
        "5edae619a6ad7337a3d14b53f7665ff17ec3ee84"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 31 10:43:47 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 31 11:13:51 2010 -0700"
      },
      "message": "Better detection of connection problems - timeout if no rtcp packets arrive within a certain time, not a final frame (which may take longer)\n\nChange-Id: I3c1ae79bb9342770e959ebdcdc6b748549b76330\nrelated-to-bug: 2556656\n"
    },
    {
      "commit": "5edae619a6ad7337a3d14b53f7665ff17ec3ee84",
      "tree": "8b798b2d81f41ef82b9c1eb701b0243b48e8e822",
      "parents": [
        "5d5f5dfcc16756fe80a7c46cff0949fce9d54fe9"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Aug 31 12:56:01 2010 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Aug 31 12:56:01 2010 +0800"
      },
      "message": "fixedfft: Only includes cpu-features.h when __arm__ is defined.\n\nChange-Id: Ifb6c03b38eff3c94a507ceb5043fcc48b364c25c\n"
    },
    {
      "commit": "5d5f5dfcc16756fe80a7c46cff0949fce9d54fe9",
      "tree": "d786548803486040875eae8a6e270d39ed6a47d1",
      "parents": [
        "e26cd86200df43bb75fb3ff884a64af4eb15bc36",
        "b186054757f4743eb9a6d6e81d262b9c7b36bec7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 16:12:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 30 16:12:46 2010 -0700"
      },
      "message": "Merge \"Recent changes to the rtsp code require every buffer fed to the packet source to have a timestamp, we\u0027re ignoring timestamps for gtalk videochat but we still have to have a placeholder.\" into gingerbread"
    },
    {
      "commit": "b186054757f4743eb9a6d6e81d262b9c7b36bec7",
      "tree": "53211310e277023d7bbf103fa93b61a765cad481",
      "parents": [
        "1c842b26ebbf64d15b6015b9a03d888829b946ef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 16:08:03 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 16:08:03 2010 -0700"
      },
      "message": "Recent changes to the rtsp code require every buffer fed to the packet source to have a timestamp, we\u0027re ignoring timestamps for gtalk videochat but we still have to have a placeholder.\n\nChange-Id: Ib8615ce5a89a9a846ee2f9f96cdfb23462f72c7a\n"
    },
    {
      "commit": "e26cd86200df43bb75fb3ff884a64af4eb15bc36",
      "tree": "522c853b1ea8e2dcf7d90c23effea219eaa31e6a",
      "parents": [
        "44eb0968d0d5042c03007d95544c1b405ff7e121",
        "7aef03379179c109c2547c33c410bfc93c8db576"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 15:43:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 30 15:43:41 2010 -0700"
      },
      "message": "Merge \"Instead of closing the connection altogether if no UDP packets arrive after a certain time, try changing transports (to interleaved TCP). Also properly close the sockets on disconnection.\" into gingerbread"
    },
    {
      "commit": "7aef03379179c109c2547c33c410bfc93c8db576",
      "tree": "8626c3e08eaf9033548d22166af29bc3930eb8cc",
      "parents": [
        "1c842b26ebbf64d15b6015b9a03d888829b946ef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 15:25:35 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 15:25:35 2010 -0700"
      },
      "message": "Instead of closing the connection altogether if no UDP packets arrive after a certain time, try changing transports (to interleaved TCP). Also properly close the sockets on disconnection.\n\nChange-Id: Ie8d6a3865a0477e28d4b76bb9038e468451287b1\nrelated-to-bug: 2556656\n"
    },
    {
      "commit": "44eb0968d0d5042c03007d95544c1b405ff7e121",
      "tree": "f3124d98941e26843511b1a0a669cad17b3c6367",
      "parents": [
        "541d7655d9dc0322eb616e17b6767365bf64e3ed",
        "c1c88e27a6f07a530fca184f515c16d51e46d56f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 30 15:02:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 30 15:02:06 2010 -0700"
      },
      "message": "Merge \"Fix issue 2952766.\" into gingerbread"
    },
    {
      "commit": "541d7655d9dc0322eb616e17b6767365bf64e3ed",
      "tree": "d0ef214330535305569cff32621e1b0f4608cace",
      "parents": [
        "1c842b26ebbf64d15b6015b9a03d888829b946ef"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 27 15:39:46 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Aug 30 13:33:53 2010 -0700"
      },
      "message": "Remove camera metering mode API.\n\nMetering mode is not supported yet.\n\nChange-Id: Id6906d6ab0cd1a9dcbc5c303d8d5081b2cda699e\n"
    },
    {
      "commit": "1c842b26ebbf64d15b6015b9a03d888829b946ef",
      "tree": "704a965d50b56c082c1d62e6795b970fe1f69e96",
      "parents": [
        "384969931fd36e88872953fff25a881641e816b9",
        "a1ffe49c7d537bf2a16fc3eb32b0ecc6d72bdf8a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 13:04:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 30 13:04:21 2010 -0700"
      },
      "message": "Merge \"Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore.\" into gingerbread"
    },
    {
      "commit": "a1ffe49c7d537bf2a16fc3eb32b0ecc6d72bdf8a",
      "tree": "8ea3ebaca6f9020bb8381260e61e6b7633ebb3ca",
      "parents": [
        "e56121bc4cb29c91d736eab181b1f51c4f125e78"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 12:46:12 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 12:46:12 2010 -0700"
      },
      "message": "Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore.\n\nChange-Id: I1ca6bd8faba0185f9694f9dc04d2b3e6a7ab5ac3\nrelated-to-bug: 2370115\n"
    },
    {
      "commit": "384969931fd36e88872953fff25a881641e816b9",
      "tree": "41dcf5c89afb01e363d473b32fbcb1c45652fb98",
      "parents": [
        "e56121bc4cb29c91d736eab181b1f51c4f125e78",
        "d918324d44aa48b3b064ea9b87d0c520c38f15a9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 30 11:39:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 30 11:39:34 2010 -0700"
      },
      "message": "Merge \"LVM release 1.07 delivery.\" into gingerbread"
    },
    {
      "commit": "e56121bc4cb29c91d736eab181b1f51c4f125e78",
      "tree": "e12844f96f5d7a254246587dc01b41c3a8b0eb25",
      "parents": [
        "c01ec02269e3bf1fd57620149085407bf6750447"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 09:53:52 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 10:35:56 2010 -0700"
      },
      "message": "Finetune some rtsp timeout constants.\n\nChange-Id: Ice731c5097c2a2dee8a7f0cd45b547cd34f532c6\n"
    },
    {
      "commit": "c01ec02269e3bf1fd57620149085407bf6750447",
      "tree": "38b18040d9e215c703a1688f52912e98d6f139e2",
      "parents": [
        "824c9ff4a55e86faae4f8f158977329909cbfaf6",
        "a814c1fdc2acf0ed2ee3b175110f6039be7c4873"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 10:28:24 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 30 10:28:24 2010 -0700"
      },
      "message": "Merge \"ALoopers can now be named (useful to distinguish threads).\" into gingerbread"
    },
    {
      "commit": "c1c88e27a6f07a530fca184f515c16d51e46d56f",
      "tree": "0b447693ea5dd115a462a582155ffa086527509a",
      "parents": [
        "14cc6fcf8803ae7289a1e342532c26fe257b3d3f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 27 17:10:36 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 27 17:10:36 2010 -0700"
      },
      "message": "Fix issue 2952766.\n\nThe problem is that the audio policy manager does not handle the input devices\nwhen forced use for telephony is changed.\nThe problem does not appear in a call over PSTN becasue only teh output devices drives the\nrouting of in call audio to/from the base band.\n\nThe fix consists in modifying AudioPolicyManagerBase::setForceUse() to check for active inputs\nand update the input device if needed.\n\nChange-Id: I0d36d1f5eef1cce527929180c29b025439902f10\n"
    },
    {
      "commit": "a814c1fdc2acf0ed2ee3b175110f6039be7c4873",
      "tree": "bdeb2c9b722b0307041d4906961f235a3cfabcbe",
      "parents": [
        "f8860bf3592debe89916aa49b7994a7deeee0df1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 15:21:07 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 15:21:07 2010 -0700"
      },
      "message": "ALoopers can now be named (useful to distinguish threads).\n\nChange-Id: Ieabaddb2e3a9e3a7a5bc36e55cd0721b60dbd50e\n"
    },
    {
      "commit": "824c9ff4a55e86faae4f8f158977329909cbfaf6",
      "tree": "945b5b767cce0533fe3bbf4f01b54de42ca1c305",
      "parents": [
        "352c4683820c31eaad63e52a47d0d442bfe2c193"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 26 19:12:59 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 27 13:59:26 2010 -0700"
      },
      "message": "Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder\nis occasionally too small.\n\nbug - 2882917\n\nChange-Id: Id59d8529084c5689a26f272e0cd3b1e955fd8a30\n"
    },
    {
      "commit": "352c4683820c31eaad63e52a47d0d442bfe2c193",
      "tree": "4df9fbef2930ff8990a10cb47b45b29155cb0532",
      "parents": [
        "f8860bf3592debe89916aa49b7994a7deeee0df1",
        "f1ae1963f5028a670573b50a9c1cfb504fc426b4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 27 13:47:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 27 13:47:06 2010 -0700"
      },
      "message": "Merge \"Suppress the video recording start signal - bug 2950297\" into gingerbread"
    },
    {
      "commit": "f8860bf3592debe89916aa49b7994a7deeee0df1",
      "tree": "49a161d232fab9b4abf7e208f9798c30f553be3c",
      "parents": [
        "165dc4c486b8511402b3be508d5a577a774cdf59",
        "8d342970108926c4ea355c90d26a2a353ec0fd47"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 13:44:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 27 13:44:14 2010 -0700"
      },
      "message": "Merge \"Better support for rtsp (normal play-)time display. Better seek support, timeout if no packets arrive for too long.\" into gingerbread"
    },
    {
      "commit": "165dc4c486b8511402b3be508d5a577a774cdf59",
      "tree": "d35d9d1913a256817b2390d8d4372b10edbf3f4b",
      "parents": [
        "14cc6fcf8803ae7289a1e342532c26fe257b3d3f",
        "cc6adf524c1bb3bfaa5be464b50b8bcca899761c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 13:44:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 27 13:44:07 2010 -0700"
      },
      "message": "Merge \"We accidentally always aborted after 10 secs, even if the connection was fine.\" into gingerbread"
    },
    {
      "commit": "8d342970108926c4ea355c90d26a2a353ec0fd47",
      "tree": "6ff39167defd677f8a31b3d8887481ad65a88b87",
      "parents": [
        "cc6adf524c1bb3bfaa5be464b50b8bcca899761c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 13:29:08 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 13:29:08 2010 -0700"
      },
      "message": "Better support for rtsp (normal play-)time display. Better seek support, timeout if no packets arrive for too long.\n\nChange-Id: Id491541a6ae501604cda815f8e961a3bfe26db7d\nrelated-to-bug: 2556656\n"
    },
    {
      "commit": "d918324d44aa48b3b064ea9b87d0c520c38f15a9",
      "tree": "83632ad570c190d498d18a8e15f8301ae5171ace",
      "parents": [
        "14cc6fcf8803ae7289a1e342532c26fe257b3d3f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 27 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 27 11:54:39 2010 -0700"
      },
      "message": "LVM release 1.07 delivery.\n\n- Virtualizer now uses the correct control parameter, instead of reverberation\n- Volume smoothing for first frame has been added\n- Equalizer_setParameter now returns correct error code\n- Correcting Non-Linear compressor gain step noise during transitions and effect level changes\n- Removed SVN header blocks\n- Memory and MIPS values have been added to the API\n- Reverb uses a more efficient malloc for input PCM\n- Reverb DecayHFRatio now ranges up to 2000\n- Logging has been removed for most volume functions\n\nChange-Id: Ib59e7e331263c3811559231b4ae90c82e34a8421\n"
    },
    {
      "commit": "14cc6fcf8803ae7289a1e342532c26fe257b3d3f",
      "tree": "23c7e13aec0752a60f749971855d4a6e4a81d571",
      "parents": [
        "1b07372a4004fec0ac9ab296741060ac348476ae",
        "d7c43d3d1ec96e3e3a9ed1faf3ccb2edc949b390"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 27 11:47:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 27 11:47:33 2010 -0700"
      },
      "message": "Merge \"fix a race in SF buffer management\" into gingerbread"
    },
    {
      "commit": "cc6adf524c1bb3bfaa5be464b50b8bcca899761c",
      "tree": "6dca3e3b82dfb975889146755bbcca1f74424f20",
      "parents": [
        "1b07372a4004fec0ac9ab296741060ac348476ae"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 10:11:04 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 10:11:04 2010 -0700"
      },
      "message": "We accidentally always aborted after 10 secs, even if the connection was fine.\n\nChange-Id: I3f2ae2f46ae62b84b1e253658d7182c04ee3dfae\n"
    },
    {
      "commit": "d7c43d3d1ec96e3e3a9ed1faf3ccb2edc949b390",
      "tree": "f9b24515784310f4055f3a9cc3e2eec071a9b778",
      "parents": [
        "640a72ecf2feb1ee5152d70234ff48d3be0e5ddf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 26 17:42:27 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 26 17:42:27 2010 -0700"
      },
      "message": "fix a race in SF buffer management\n\nalso remove some unused code.\n\nChange-Id: Iae2c3309b7a08055f3e13a5b866c5c084993e352\n"
    },
    {
      "commit": "f1ae1963f5028a670573b50a9c1cfb504fc426b4",
      "tree": "2d983bc2400e9675c0cab6c06e80cfefadeded4f",
      "parents": [
        "1b07372a4004fec0ac9ab296741060ac348476ae"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 26 16:28:17 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 26 16:56:49 2010 -0700"
      },
      "message": "Suppress the video recording start signal\n- bug 2950297\n\nChange-Id: I0044d07178691feb904cf81e87c1b6d4b714dc1a\n"
    },
    {
      "commit": "1b07372a4004fec0ac9ab296741060ac348476ae",
      "tree": "00572eeceb1fa67783d9dfcdaf6958782a6ec7bb",
      "parents": [
        "640a72ecf2feb1ee5152d70234ff48d3be0e5ddf",
        "0792ce7e0924ebb0dbe7b7cfcd79d12cbdb03ed2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 26 13:47:16 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 26 13:47:16 2010 -0700"
      },
      "message": "Merge \"Support for RTP packets arriving interleaved with RTSP responses.\" into gingerbread"
    },
    {
      "commit": "0792ce7e0924ebb0dbe7b7cfcd79d12cbdb03ed2",
      "tree": "1bfc31dd13c6036b50d3cbec6eac44b114f0b3f3",
      "parents": [
        "f30274368327563021fb20faeb67b5661a0f373c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 26 11:17:32 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 26 11:19:08 2010 -0700"
      },
      "message": "Support for RTP packets arriving interleaved with RTSP responses.\n\nChange-Id: Ib32fba257da32a199134cf8943117cf3eaa07a25\n"
    },
    {
      "commit": "640a72ecf2feb1ee5152d70234ff48d3be0e5ddf",
      "tree": "b38732e2434c84906cb9b56fa040496feda1cc7f",
      "parents": [
        "f30274368327563021fb20faeb67b5661a0f373c",
        "40e9940fadf22daa64c1e766fa8a855c7b149c17"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 26 09:47:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 26 09:47:12 2010 -0700"
      },
      "message": "Merge \"Make sure that timestamp does not go backward in MP4 file writer\" into gingerbread"
    },
    {
      "commit": "f30274368327563021fb20faeb67b5661a0f373c",
      "tree": "6ad5b7d0fa1411e09927f1eaf96cc1503e018b74",
      "parents": [
        "f0bfaa8f56ddcfbebc129ecb45335218c39506f0",
        "ac994dfb88d414aeedf5998aa1c6015c5b47ec01"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 15:35:53 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 25 15:35:53 2010 -0700"
      },
      "message": "Merge \"Fix support for per-frame unsynchronization in ID3V2.4 tags.\" into gingerbread"
    },
    {
      "commit": "f0bfaa8f56ddcfbebc129ecb45335218c39506f0",
      "tree": "36ea6479b63cb81bbea898fcff1272eaf45bd86b",
      "parents": [
        "81ce48911035569c934e6555c2c94c6c19aec968",
        "97344f1d8e8e95fd07d5deee2ae2492a7e4c24b0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 25 15:09:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 25 15:09:10 2010 -0700"
      },
      "message": "Merge \"Added preset reverb.\" into gingerbread"
    },
    {
      "commit": "ac994dfb88d414aeedf5998aa1c6015c5b47ec01",
      "tree": "2b605b059824e41b8072012baab035e4b9585771",
      "parents": [
        "3f71e8bb8f31763e7d6573364313ce3efee83c10"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 14:55:53 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 14:55:53 2010 -0700"
      },
      "message": "Fix support for per-frame unsynchronization in ID3V2.4 tags.\n\nChange-Id: I6874b596f88817347756a375d9fb1c9bff418eca\nrelated-to-bug: 2949149\n"
    },
    {
      "commit": "81ce48911035569c934e6555c2c94c6c19aec968",
      "tree": "63adb5e2758937f9d0ce56741f697f2f90cb8021",
      "parents": [
        "3f71e8bb8f31763e7d6573364313ce3efee83c10",
        "2a4b49bd3863024884a694b454e2e452752e6ea0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 14:54:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 25 14:54:36 2010 -0700"
      },
      "message": "Merge \"Ensure that buffering updates eventually hit 100% after we download everything.\" into gingerbread"
    },
    {
      "commit": "3f71e8bb8f31763e7d6573364313ce3efee83c10",
      "tree": "efff2e6e97c0661665807047a5f93a372a57ef56",
      "parents": [
        "625981ec8417528cbea67c86dcbe32a9e79a79be",
        "5a1c3529e4fa2f8a11054181294e0ce79fff8dd3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 13:10:04 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 25 13:10:04 2010 -0700"
      },
      "message": "Merge \"Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.\" into gingerbread"
    },
    {
      "commit": "5a1c3529e4fa2f8a11054181294e0ce79fff8dd3",
      "tree": "06386bceb568bf27c3fff03139ac0745ec1c4eba",
      "parents": [
        "fce49325d807c278229a594c1cc866e21da0e155"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 11:09:41 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 13:08:38 2010 -0700"
      },
      "message": "Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.\n\nChange-Id: Icb77ae3ee95a69c7da25b4d3b8696c0a2d33028a\nrelated-to-bug: 2948754\n"
    },
    {
      "commit": "2a4b49bd3863024884a694b454e2e452752e6ea0",
      "tree": "cd6465b874e78d80628b0448c1e551686916aff8",
      "parents": [
        "fce49325d807c278229a594c1cc866e21da0e155"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 12:31:48 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 12:31:48 2010 -0700"
      },
      "message": "Ensure that buffering updates eventually hit 100% after we download everything.\n\nChange-Id: I43bb85b1128fa9c1bc8632970d7101006393bcc8\nrelated-to-bug: 2844095\n"
    },
    {
      "commit": "625981ec8417528cbea67c86dcbe32a9e79a79be",
      "tree": "1e76d0c94d1a34ebdfe57a6c2921b5a42c28481b",
      "parents": [
        "fce49325d807c278229a594c1cc866e21da0e155"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 25 10:00:53 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 25 10:00:53 2010 -0700"
      },
      "message": "Fix the simulator build.\n\nFixes the sim build broken by commit 58d3bd08107f44cba79938dd8430e69c0fda4202.\n\nChange-Id: I5a63623363d558783dc5254fdd322080cc2f3525\n"
    },
    {
      "commit": "97344f1d8e8e95fd07d5deee2ae2492a7e4c24b0",
      "tree": "294d749c237f399295fd80ab5e03393c5b9cb160",
      "parents": [
        "afb68fbf65fad41fdd8da333a61278588e735846"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 14:21:57 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 17:32:48 2010 -0700"
      },
      "message": "Added preset reverb.\n\nModified lvm reverb wrapper code to expose a preset reverb interface.\nAlso removed debug log from bundle and reverb wrapper.\n\nChange-Id: If9b95d91e25a6ff834decdfdda34b17df9b46967\n"
    },
    {
      "commit": "fce49325d807c278229a594c1cc866e21da0e155",
      "tree": "d883171c5e6aea0e8a2f457be59f2038311e8255",
      "parents": [
        "094370fa878b5e45d7a8914c51faa456ca9dbfe1",
        "92235649a45e1b84f43e3c906c57eea7886a426c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 24 16:23:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 24 16:23:12 2010 -0700"
      },
      "message": "Merge \"fix [2931513] Add support for setting the orientation of an ANativeWindow\" into gingerbread"
    },
    {
      "commit": "92235649a45e1b84f43e3c906c57eea7886a426c",
      "tree": "38e6a9b92fe3b249553964bd9fb59963b2a4cccf",
      "parents": [
        "01f0908b3e8c759a9fcd565f6bc6cc6c4033678f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 19 17:01:19 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 24 15:40:50 2010 -0700"
      },
      "message": "fix [2931513] Add support for setting the orientation of an ANativeWindow\n\nAlso implement support for cropping.\n\nChange-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280\n"
    },
    {
      "commit": "094370fa878b5e45d7a8914c51faa456ca9dbfe1",
      "tree": "a5de7e974a49dfeb79605c106551d037825d084e",
      "parents": [
        "afb68fbf65fad41fdd8da333a61278588e735846",
        "cce326fe43411855aca2f719e505b051bc4b61b3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 24 15:01:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 24 15:01:14 2010 -0700"
      },
      "message": "Merge \"A first shot at proper support for seeking of rtsp streams.\" into gingerbread"
    },
    {
      "commit": "cce326fe43411855aca2f719e505b051bc4b61b3",
      "tree": "644689041a2ef10ed594dfe6559700d17631acdd",
      "parents": [
        "a1b232493d76bdf5e56fc5aae2a45691d6774369"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 24 14:33:58 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 24 14:33:58 2010 -0700"
      },
      "message": "A first shot at proper support for seeking of rtsp streams.\n\nChange-Id: I9604f2d09feedc0074c0e715be58e719d4483760\nrelated-to-bug: 2556656\n"
    },
    {
      "commit": "40e9940fadf22daa64c1e766fa8a855c7b149c17",
      "tree": "07330937db6955d716c6df77c03c0bff74143e56",
      "parents": [
        "01f0908b3e8c759a9fcd565f6bc6cc6c4033678f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 24 12:28:02 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 24 12:28:02 2010 -0700"
      },
      "message": "Make sure that timestamp does not go backward in MP4 file writer\n\nChange-Id: I90745b9df7f19d61f3ab826bf9d2419fe788554e\n"
    },
    {
      "commit": "afb68fbf65fad41fdd8da333a61278588e735846",
      "tree": "27dee53671b07184d6c639c9ef984a66314d7df7",
      "parents": [
        "a1b232493d76bdf5e56fc5aae2a45691d6774369",
        "c59c6fd7f859b4010d788db89b8d4d76bbb70e57"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 09:50:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 24 09:50:13 2010 -0700"
      },
      "message": "Merge \"LVM release 1.05 delivery\" into gingerbread"
    },
    {
      "commit": "a1b232493d76bdf5e56fc5aae2a45691d6774369",
      "tree": "2fdc3157853e469b8ecc5fd8cfad71e42e08a84a",
      "parents": [
        "01f0908b3e8c759a9fcd565f6bc6cc6c4033678f",
        "e2e6ffa7f15b8ee33448e255edc231a9d01923b2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 23 19:08:27 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 23 19:08:27 2010 -0700"
      },
      "message": "merge -s ours from froyo-release so that upgrading to gingerbread is a git fast-forward\n\nChange-Id: I69ed3eabde3cd32bea57315c0f031839caea4d4e\n"
    },
    {
      "commit": "01f0908b3e8c759a9fcd565f6bc6cc6c4033678f",
      "tree": "2fdc3157853e469b8ecc5fd8cfad71e42e08a84a",
      "parents": [
        "dedf414d3fe2e79ee0aad0f1c82ca16ebd886ff6",
        "1b543242102ef3c28145c6ad50ee8e8ce2fb26d3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 23 12:26:31 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 23 12:26:31 2010 -0700"
      },
      "message": "Merge \"Better handling of rtsp connection and disconnection.\" into gingerbread"
    },
    {
      "commit": "1b543242102ef3c28145c6ad50ee8e8ce2fb26d3",
      "tree": "74b55d34f52ad26a931de1ba7d0229f01d9e7ead",
      "parents": [
        "482482401095d5fc98f89b4a3ce43d41c00fffd7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 23 11:28:34 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 23 11:28:34 2010 -0700"
      },
      "message": "Better handling of rtsp connection and disconnection.\n\nChange-Id: Ib126af6c14c5a212a51a5ee3c4a0a7d1860ad167\n"
    },
    {
      "commit": "dedf414d3fe2e79ee0aad0f1c82ca16ebd886ff6",
      "tree": "c9b53443c9b06bc42ad07d57c701bbf10137bcb7",
      "parents": [
        "482482401095d5fc98f89b4a3ce43d41c00fffd7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 18 03:32:26 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 23 10:34:05 2010 -0700"
      },
      "message": "Runtime dump support for MediaWriter\n\nChange-Id: I10b2c474de612ee4cef4b7c9eae2ee1dd8c2e895\n"
    },
    {
      "commit": "482482401095d5fc98f89b4a3ce43d41c00fffd7",
      "tree": "3b3f4a3094e7c68517cf09c24d3f2fb31426706d",
      "parents": [
        "be6fd201b9a04fe0f8fd409f10595ddb41832591",
        "dbd2b7e4ebfe7a586b1db4459cf6aa032a7f8719"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Aug 22 18:31:15 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 22 18:31:15 2010 -0700"
      },
      "message": "Merge \"Visualizer: replace the FFT implementation with a faster one.\" into gingerbread"
    },
    {
      "commit": "c59c6fd7f859b4010d788db89b8d4d76bbb70e57",
      "tree": "cbdf7a007e63d834652abf8dbdb32a371a59d73c",
      "parents": [
        "3eb2ff224a12b5670f4f62f07a47ffb2fde01548"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 06:33:52 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 20 14:17:41 2010 -0700"
      },
      "message": "LVM release 1.05 delivery\n\n- Click have been removed from the HP filter activation in the BassBosst Effect.\n- SessionId is now stored as a SessionNo\n- Effects now stop being called after a delay\n- Unix EOL fixed for .java and .xml\n- Updated lines limited to 100 characters.\n- Removed the remaining warnings from the wrapper code\n- Added reverb\n\nChange-Id: I03a2b3b5ee2286958f4901acc8d9b0daf9e2d7c6\n"
    },
    {
      "commit": "be6fd201b9a04fe0f8fd409f10595ddb41832591",
      "tree": "d2f5b13ca7fde33c24c488d195fa2483c4d5a271",
      "parents": [
        "3eb2ff224a12b5670f4f62f07a47ffb2fde01548"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Wed Aug 18 15:19:19 2010 -0700"
      },
      "committer": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Aug 20 14:06:48 2010 -0700"
      },
      "message": "setParamMaxFileDurationUs should allow zero time input as per API of setMaxDuration.\n\naccording to MediaRecorder::setMaxDuration documentation we should disable duration limit\nwhen zero or negative time is passed. Currently setParamMaxFileDurationUs was treating\nzero/negative as an error case. Fixed that.\n\nChange-Id: I468c3bcc74cb5a34ee3e172cef5147550d6be096\n"
    },
    {
      "commit": "3eb2ff224a12b5670f4f62f07a47ffb2fde01548",
      "tree": "efb325e8e2f182dda3f8f6f40d01e19f8e49642c",
      "parents": [
        "817afcfe5679ab1251576c478c137488592cf7c2",
        "76c6e8f97cd6030454ebf60db06818e05d449f06"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 20 11:39:29 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 20 11:39:29 2010 -0700"
      },
      "message": "Merge \"Only add 4 bytes offset for the output media buffer when SPS is not received for SW AVC encoder\" into gingerbread"
    },
    {
      "commit": "817afcfe5679ab1251576c478c137488592cf7c2",
      "tree": "b0b3c6558ad0da389cb6d4a3f74ca82d393b2584",
      "parents": [
        "225f65f50561a8cfe588c3caf0ba93a06abd27aa",
        "04379fa9a001934373bf17358978c753c7e4e8b5"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 20 11:19:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 20 11:19:51 2010 -0700"
      },
      "message": "Merge \"Add camera fps range API.\" into gingerbread"
    },
    {
      "commit": "04379fa9a001934373bf17358978c753c7e4e8b5",
      "tree": "c347afbf244a02c356751ba817fd47254ef94e26",
      "parents": [
        "f1cca5ade334859bf23cf8aa5e73bad653681c8c"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Aug 11 16:48:05 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 20 11:14:17 2010 -0700"
      },
      "message": "Add camera fps range API.\n\nOriginal preview frame rate API assumes the frame rate\nis fixed. It does not not work with auto frame rate camera.\n\nChange-Id: I38f7122ac8ec844ffd63558dc0763ffa17b0926a\n"
    },
    {
      "commit": "225f65f50561a8cfe588c3caf0ba93a06abd27aa",
      "tree": "534bfabdf93191b7c5a3f4d538b35b39ac7af1d6",
      "parents": [
        "4f86a980fee1880dca61b828599fa6d76755a485",
        "b7a67942823e8339eb298238f117aaa6d7b63111"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 21:45:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 21:45:46 2010 -0700"
      },
      "message": "Merge \"Handle the camera open failure better.\" into gingerbread"
    },
    {
      "commit": "b7a67942823e8339eb298238f117aaa6d7b63111",
      "tree": "cd07930a4e5c17f61ae9b06f96fbfa4debde66cc",
      "parents": [
        "f1cca5ade334859bf23cf8aa5e73bad653681c8c"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 17 15:45:37 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 21:44:06 2010 -0700"
      },
      "message": "Handle the camera open failure better.\n\nCheck if camera hardware is NULL to avoid mediaserver crash.\n\nChange-Id: Ibde0251f30bdb6b36a5d5380222d7be25ec9449c\n"
    },
    {
      "commit": "76c6e8f97cd6030454ebf60db06818e05d449f06",
      "tree": "9b0eb7866d4063722ea8b11ce0ab4859e421d739",
      "parents": [
        "4f86a980fee1880dca61b828599fa6d76755a485"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 19 20:47:30 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 19 21:13:35 2010 -0700"
      },
      "message": "Only add 4 bytes offset for the output media buffer when SPS is not received for SW AVC encoder\n\nChange-Id: Ia64c2751b6304e5d5891416bf23ff9b8ec54d5ef\n"
    },
    {
      "commit": "4f86a980fee1880dca61b828599fa6d76755a485",
      "tree": "735b8bd0e66173dc90abf256fa68aeef1b60ee22",
      "parents": [
        "690f546b0ee548dbfe997df36418e5302ec2d786"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 19 10:52:39 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 19 18:04:27 2010 -0700"
      },
      "message": "Don\u0027t drop a late frame which may lead to missing I frames in the MP4 file\n\nChange-Id: I8fef1454264230c1369561670236eb0a19ae4e76\n"
    },
    {
      "commit": "690f546b0ee548dbfe997df36418e5302ec2d786",
      "tree": "8811cc0e220174cb6014eaba6dabfe7ccdb3c5df",
      "parents": [
        "e0b77ce97ef84c47ae408e92f2afb7509a5051b6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 19 13:52:47 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 19 14:04:04 2010 -0700"
      },
      "message": "Return error from MPEG4Writer stop() if the check on codec specific data failed\n\nChange-Id: Icbd08eec9b4201facbad56ff2040f0830cfb0115\n"
    },
    {
      "commit": "e0b77ce97ef84c47ae408e92f2afb7509a5051b6",
      "tree": "eba2d88824104a7ca484dd713a6511855ea2ac6e",
      "parents": [
        "ab62ba6fb493fe35e11400ddda68450047d167df",
        "37187916a486504acaf83bea30147eb5fbf46ae5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 19 13:59:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 13:59:32 2010 -0700"
      },
      "message": "Merge \"Make MediaWriter stop and pause return errors if necessary\" into gingerbread"
    },
    {
      "commit": "37187916a486504acaf83bea30147eb5fbf46ae5",
      "tree": "b011eba352b6e60ae459f88ef590b45b2e351110",
      "parents": [
        "34c9ad88d3d827cca0c7b5f2fb1b0d4a1a20a2d1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 18 19:10:39 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 19 13:33:13 2010 -0700"
      },
      "message": "Make MediaWriter stop and pause return errors if necessary\n\no Make the API consistent with SF framework, which the MediaSource\n  provides a return status for stop\n\no Also, helps to convey errors that occurred right when a\n  premature stop() is called, leading to a potentially\n  mal-formed output file.\n\nChange-Id: I52a932345f38570fdf8ea04d67d73dd94ccd30ef\n"
    },
    {
      "commit": "ab62ba6fb493fe35e11400ddda68450047d167df",
      "tree": "9395ed2b079bfbc190b0cb46df528ef3b80b9815",
      "parents": [
        "f1cca5ade334859bf23cf8aa5e73bad653681c8c",
        "62cb04d23642a2ea7c005f050494c8ef3c370dd3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 19 11:19:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 11:19:51 2010 -0700"
      },
      "message": "Merge \"Support for MP4V-ES packetization format according to RFC3016.\" into gingerbread"
    },
    {
      "commit": "62cb04d23642a2ea7c005f050494c8ef3c370dd3",
      "tree": "bfdb74407e1203c04d360896f5c530c7ee830800",
      "parents": [
        "c0f7ec8134eca61752d23c10596dd211745642d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 19 10:56:15 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 19 11:18:35 2010 -0700"
      },
      "message": "Support for MP4V-ES packetization format according to RFC3016.\n\nChange-Id: I5e182936c52f9eb80cdcf6132ead03705ee32d61\n"
    },
    {
      "commit": "f1cca5ade334859bf23cf8aa5e73bad653681c8c",
      "tree": "e63499d71ba5811c0b7d28dd83d51e652ba1b16a",
      "parents": [
        "3ac620a0ab90dd5e4a8bcd93ab596c848f29bbbf",
        "e44607eacd044362d3debf5d95abc93ca36a9274"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 11:08:39 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 11:08:39 2010 -0700"
      },
      "message": "Merge \"Adding getSupportedPreviewSizes to CameraParameters.DO NOT MERGE\" into gingerbread"
    },
    {
      "commit": "3ac620a0ab90dd5e4a8bcd93ab596c848f29bbbf",
      "tree": "af1178fe966bf2655cc82f5b5045cd801af8c9d9",
      "parents": [
        "c0f7ec8134eca61752d23c10596dd211745642d9",
        "34c91a321c297c1a7518ec4f10ae5993904034dd"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 11:08:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 11:08:36 2010 -0700"
      },
      "message": "Merge \"Adding getSupportedPictureSizes to CameraParameters.DO NOT MERGE\" into gingerbread"
    },
    {
      "commit": "c0f7ec8134eca61752d23c10596dd211745642d9",
      "tree": "3f78b658c1158b2f700982a17b2d95112ac14ce7",
      "parents": [
        "4478c01924a107991284a0265472b85f3dcab5b1",
        "85f12e9b9062402d6110df3f7099707912040edb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 19 10:54:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 10:54:21 2010 -0700"
      },
      "message": "Merge \"In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data.\" into gingerbread"
    },
    {
      "commit": "4478c01924a107991284a0265472b85f3dcab5b1",
      "tree": "ad518b26cb1eff1972e6e76524baf643c0423607",
      "parents": [
        "34c9ad88d3d827cca0c7b5f2fb1b0d4a1a20a2d1",
        "7fa8a0ec14781a50695cf8c9dd2a85a5e8a3c3f0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 19 10:42:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 10:42:36 2010 -0700"
      },
      "message": "Merge \"Audio Effects: fixed \"strength supported\" parameter size.\" into gingerbread"
    },
    {
      "commit": "85f12e9b9062402d6110df3f7099707912040edb",
      "tree": "7336723f61d09c2a72b36cf752c717c24a2d9ff6",
      "parents": [
        "34c9ad88d3d827cca0c7b5f2fb1b0d4a1a20a2d1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 19 10:39:47 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 19 10:39:47 2010 -0700"
      },
      "message": "In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data.\n\nChange-Id: I98c4194593c7e6e24f6fc339c862245111800293\n"
    },
    {
      "commit": "e44607eacd044362d3debf5d95abc93ca36a9274",
      "tree": "1222ad945154bbcadee75af52253d5c1bf60bdf3",
      "parents": [
        "34c91a321c297c1a7518ec4f10ae5993904034dd"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Wed Aug 04 14:04:07 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 09:59:18 2010 -0700"
      },
      "message": "Adding getSupportedPreviewSizes to CameraParameters.DO NOT MERGE\n\nMoved functionality to parse string of sizes from getSupportedPictureSizes\nto parseSizesList.\nAdded getSupportedPreviewSizes which returns a list of supported preview sizes.\n\nChange-Id: I41d4f62f9f1641e9e9258aa2ebaeda13ba846c02\n"
    },
    {
      "commit": "34c91a321c297c1a7518ec4f10ae5993904034dd",
      "tree": "4ab2943804b3d534da5539037c8c8957648684b1",
      "parents": [
        "186c38766c030b15135e7e8484d2d6b83464513a"
      ],
      "author": {
        "name": "Nipun Kwatra",
        "email": "nkwatra@google.com",
        "time": "Fri Jul 30 13:40:14 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 09:59:11 2010 -0700"
      },
      "message": "Adding getSupportedPictureSizes to CameraParameters.DO NOT MERGE\n\nAlso added a struct \u0027Size\u0027 containing a width and a height field.\nModified parse_size to optionally set an end pointer pointing to the\ncharacter after the found size.\n\nChange-Id: I0c95ebf1ad4684721b32165f363db7d4d15a1b19\n"
    },
    {
      "commit": "34c9ad88d3d827cca0c7b5f2fb1b0d4a1a20a2d1",
      "tree": "e004f5714ef2292cd3343c0e4f575d55939ad5d6",
      "parents": [
        "cf351eeb8b6977e1130b808c6b57b8a7040c81c9",
        "ef7af7fec702db2fde72b16dedf9064585e6db77"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 19 09:09:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 09:09:12 2010 -0700"
      },
      "message": "Merge \"Better support for rtsp streamed through VLC. Temporarily make the socket blocking to read all of the session description.\" into gingerbread"
    },
    {
      "commit": "cf351eeb8b6977e1130b808c6b57b8a7040c81c9",
      "tree": "2a4cd2b86acff3d065e1e1094d129730a156f21c",
      "parents": [
        "186c38766c030b15135e7e8484d2d6b83464513a",
        "25cbe0ecd6df8be7e40537c5d85c82f105038479"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 19 08:49:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 08:49:20 2010 -0700"
      },
      "message": "Merge \"Fix issue 2929440\" into gingerbread"
    },
    {
      "commit": "25cbe0ecd6df8be7e40537c5d85c82f105038479",
      "tree": "f2c3888144a92d90f8f3c92756ffef99b1c1bd63",
      "parents": [
        "c059860c73678a202bfa33062723e8f82fb779d9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 18 18:13:17 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 19 08:15:08 2010 -0700"
      },
      "message": "Fix issue 2929440\n\nFixed regression introduced by change a54d7d3d7dd691334189aab20d23c65710092869 in audioflinger mixer thread:\nWhen the output stream is suspended, the sleep time between two writes must match the actual duration\nof one output stream buffer otherwise the playback rate is not respected.\n\nChange-Id: Ic5bebe890290d1f44aeff9dd3c142d18e26fff2a\n"
    },
    {
      "commit": "dbd2b7e4ebfe7a586b1db4459cf6aa032a7f8719",
      "tree": "bc9a06e98f9142ff531a62892b0685f75040f685",
      "parents": [
        "e259531ce59ab1f31de5a23124b22536f6a5a767"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Aug 19 15:34:10 2010 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Aug 19 16:05:32 2010 +0800"
      },
      "message": "Visualizer: replace the FFT implementation with a faster one.\n\nThis implementation uses fixed points instead of floating points. It\nis slightly inaccurate compared to the old one but still perfect for\nvisualization purpose. It runs 40% faster on passion, 5 times faster\non sholes, and of course 14 times faster on sapphire.\n\nChange-Id: I1e868417bcffda091becf106a7b941d02813faec\n"
    },
    {
      "commit": "7fa8a0ec14781a50695cf8c9dd2a85a5e8a3c3f0",
      "tree": "e25fd604bb57f98f2de0628c91478eaeafe08cb3",
      "parents": [
        "c059860c73678a202bfa33062723e8f82fb779d9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 18 14:31:25 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 18 14:31:25 2010 -0700"
      },
      "message": "Audio Effects: fixed \"strength supported\" parameter size.\n\nThe \"strength supported\" parameter for bass boost and virtualizer effect was incorrectly using a\nshort value whereas it should be an int. This is to comply to the definition of boolean type in OpenSL ES\nthat is uint32.\n\nChange-Id: I74ccb61dcc70fc9d390524a1ca5bbbd8b13ab1af\n"
    },
    {
      "commit": "186c38766c030b15135e7e8484d2d6b83464513a",
      "tree": "01ff27457bdba81715dc09efe081cce4614d9ecf",
      "parents": [
        "d6831054e0c6995749ccc09e8241a478ccadb9c8",
        "85b6e1681e32162676d81f4c762bdb19927beeac"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Aug 18 10:19:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 18 10:19:45 2010 -0700"
      },
      "message": "Merge \"Document that autoFocus must be called in auto and macro mode.\" into gingerbread"
    },
    {
      "commit": "ef7af7fec702db2fde72b16dedf9064585e6db77",
      "tree": "ecc3cad303e91e61d716d829ef3cbdab181625f8",
      "parents": [
        "c059860c73678a202bfa33062723e8f82fb779d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 18 10:17:18 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 18 10:17:18 2010 -0700"
      },
      "message": "Better support for rtsp streamed through VLC. Temporarily make the socket blocking to read all of the session description.\n\nChange-Id: Ibe71f5941485660510e24d714da3865b9c6f89a2\n"
    },
    {
      "commit": "d6831054e0c6995749ccc09e8241a478ccadb9c8",
      "tree": "d5a1764a36f6b922e47e190ef20d427836df4aba",
      "parents": [
        "a65ccbff6e8eb301c0d325b2ec080aeda8df2024",
        "3e8843e8db702c8c9c97df2b4a31b66ea12961e6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 18 10:10:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 18 10:10:14 2010 -0700"
      },
      "message": "Merge \"Make the OggExtractor less verbose.\" into gingerbread"
    },
    {
      "commit": "a65ccbff6e8eb301c0d325b2ec080aeda8df2024",
      "tree": "e76792164c0e05971b5d922b266121a54286a8fa",
      "parents": [
        "c059860c73678a202bfa33062723e8f82fb779d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 18 09:58:30 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 18 09:58:30 2010 -0700"
      },
      "message": "Be more lenient when validating ESDS information in mp4 audio tracks. Allow the absence of any codec specific data and assume that the mpeg4 headers are not lying to us.\n\nChange-Id: Ia29b967cbee9eabb21c6c26508b27b379ff9ba17\n"
    },
    {
      "commit": "e2e6ffa7f15b8ee33448e255edc231a9d01923b2",
      "tree": "991c1defd88ebf571e0e9e7ede4753bc19ed143d",
      "parents": [
        "bc809bab8786592be01821f363419d53ccbd3543"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jul 20 09:44:34 2010 -0700"
      },
      "committer": {
        "name": "android-build SharedAccount",
        "email": "android-build@sekiwake.mtv.corp.google.com",
        "time": "Tue Aug 17 23:53:34 2010 -0700"
      },
      "message": "Squashed commit of the following:\n\ncommit 4abf16bb04dc9695fedf4007a84f903074312ccd\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Jul 20 09:21:17 2010 -0700\n\n    Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we\u0027ll still play it back correctly.\n\n    Change-Id: Icc790122744745e9a88099788d4818ca1e265a82\n    related-to-bug: 2826841\n\ncommit 09c74da63e6ad5cb5dafb70f62696d75d2978967\nAuthor: James Dong \u003cjdong@google.com\u003e\nDate:   Sun Jul 18 17:57:01 2010 -0700\n\n    Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.\n\n    Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8\n\ncommit f672bf2a782dc7d5fb6325d611a7fe17045dfe9a\nAuthor: James Dong \u003cjdong@google.com\u003e\nDate:   Thu Jul 8 20:56:13 2010 -0700\n\n    Enable the support for decoding audio with AAC+ and eAAC+ features\n\n    bug - 282684\n\n    Change-Id: I73c8377af3cc4edd3ee7cea86dc3b1c369fbd78b\n\nChange-Id: I012f1179e933b6d1345d2368f357576c722485f7\n"
    },
    {
      "commit": "85b6e1681e32162676d81f4c762bdb19927beeac",
      "tree": "55a718a2dc022c6750afee0c03a530bf9e65e356",
      "parents": [
        "c059860c73678a202bfa33062723e8f82fb779d9"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 17 13:44:35 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 17 13:44:35 2010 -0700"
      },
      "message": "Document that autoFocus must be called in auto and macro mode.\n\nChange-Id: Ia52f8bc8a75a7473edff50326a4a0467f4295e6a\n"
    },
    {
      "commit": "3e8843e8db702c8c9c97df2b4a31b66ea12961e6",
      "tree": "f0d3c020e3c9e353b66973c8f73dfa24daf06391",
      "parents": [
        "c059860c73678a202bfa33062723e8f82fb779d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 16 14:11:40 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 16 14:11:40 2010 -0700"
      },
      "message": "Make the OggExtractor less verbose.\n\nChange-Id: Ieea5f3fa98d93ca6ad8fa7dcd23054e1cd0b6338\n"
    },
    {
      "commit": "c059860c73678a202bfa33062723e8f82fb779d9",
      "tree": "94b5887059eabda7d8fabe686eba50f5c7963f94",
      "parents": [
        "e259531ce59ab1f31de5a23124b22536f6a5a767"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 13 14:16:26 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 16 10:38:35 2010 -0700"
      },
      "message": "Change the default time scale for audio/video track during recording\nand reduce rounding errors in calculating the sample duration\n\n- Default time scale for tracks other than audio is set to 90000.\n- Audio track by default uses the audio sampling rate as the time scale.\n- Default movie time scale remains to be 1000.\n- The default time scale values will be overwritten by a user-supplied value if exits.\n\nChange-Id: I81b40ed0626ea45e9fd24a89e21a2c5a4a2c3415\n"
    },
    {
      "commit": "e259531ce59ab1f31de5a23124b22536f6a5a767",
      "tree": "2639bd5aa4057811c3199836cb945e98feb70ac4",
      "parents": [
        "3053dd2785648c65f558d7e6d3a74a1599409059"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 02 19:13:40 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 13 18:12:48 2010 -0700"
      },
      "message": "Use audio clock as the reference media clock\n\no Only do this for realtime applications\no Adjust other track clock based on audio clock\no Assume other track uses wall clock as the media clock\no Use some heuristics to reduce the size of stts box by 2/3.\n\n- also\no Remove one unused key from MetaData.h\n\nChange-Id: Ib9432842627b61795b533508158c25258a527332\n"
    },
    {
      "commit": "3053dd2785648c65f558d7e6d3a74a1599409059",
      "tree": "f8937582f1afbf508b99277364a7fa8ed113c373",
      "parents": [
        "abfedebe61a010bcce16a0d920c132dfe4ad5c31",
        "571d49c1c316f5e07b74ed7b5df6bdec7cbc1a14"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 13 08:00:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 13 08:00:14 2010 -0700"
      },
      "message": "Merge \"Fix issue 2909189: System property ro.audio.silent no longer mutes system.\" into gingerbread"
    },
    {
      "commit": "abfedebe61a010bcce16a0d920c132dfe4ad5c31",
      "tree": "3d8471d51432251efbac298239f93ef80c896f3d",
      "parents": [
        "b9299d167f48f2562540cab8b0cf5959a7645503"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 12 15:41:11 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 12 16:47:17 2010 -0700"
      },
      "message": "Mainly fix two mistakes that I made:\n\n1. When the ERROR_END_OF_STREAM is returned from read, the input buffer is not initialized\n   release it would lead to crash\n\n2. The mPrevTimestampUs is not initialized and thus fail in the CHECK(mPrevTimestampUs, timeUs)\n\nChange-Id: Id1e51575fb8b3ca48e80547efd3a3a82dfac773b\n"
    },
    {
      "commit": "b9299d167f48f2562540cab8b0cf5959a7645503",
      "tree": "53ba97ff02c06e46c9259406f21445206c054ca3",
      "parents": [
        "60d77eb19ddcb283b947e5dfd34b9a8e9ee6686f",
        "1aa4fed23595d45b0ad0af86c9e839196172abe5"
      ],
      "author": {
        "name": "Mike Dodd",
        "email": "mdodd@google.com",
        "time": "Thu Aug 12 16:45:19 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 12 16:45:19 2010 -0700"
      },
      "message": "Merge \"Support getting codec, width, and height in URL for gtalk playback.\" into gingerbread"
    },
    {
      "commit": "60d77eb19ddcb283b947e5dfd34b9a8e9ee6686f",
      "tree": "813013948dd08d92f7dccbf97cc3a252823ef695",
      "parents": [
        "c6e88fddc0c37eaa7d1b514b48ca61e4a4b615d3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 12 15:14:24 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 12 16:14:29 2010 -0700"
      },
      "message": "Fix software avc encoder crash at EOS.\n\nChange-Id: I738dc24556e41ce518b67babeff16cd934c2d1b1\n"
    }
  ],
  "next": "1aa4fed23595d45b0ad0af86c9e839196172abe5"
}
