)]}'
{
  "log": [
    {
      "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": "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": "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"
    },
    {
      "commit": "1aa4fed23595d45b0ad0af86c9e839196172abe5",
      "tree": "a76e32cd86a993f49a6effaed2a2a86336333c92",
      "parents": [
        "c6e88fddc0c37eaa7d1b514b48ca61e4a4b615d3"
      ],
      "author": {
        "name": "Mike Dodd",
        "email": "mdodd@google.com",
        "time": "Thu Aug 12 16:04:35 2010 -0700"
      },
      "committer": {
        "name": "Mike Dodd",
        "email": "mdodd@google.com",
        "time": "Thu Aug 12 16:04:35 2010 -0700"
      },
      "message": "Support getting codec, width, and height in URL for gtalk playback.\n\nFormat is rtsp://gtalk/codec/width/height\n\nFor example:\n  rtsp://gtalk/H263-1998/320/200\n\nChange-Id: If7c73fea1e1d0de89b22a8f0d12acba1c862d6fe\n"
    },
    {
      "commit": "c6e88fddc0c37eaa7d1b514b48ca61e4a4b615d3",
      "tree": "46e360790e900c585cd289acc0e71774497b8aa4",
      "parents": [
        "d1753e3dc21df38cb0fbe73b43ceda3ea555d102"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 05 11:50:25 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 12 14:00:14 2010 -0700"
      },
      "message": "Improve camera documentation.\n\nChange-Id: I3c9e5e6de5ce64b8d7d892483930238fa9cc247c\n"
    },
    {
      "commit": "d1753e3dc21df38cb0fbe73b43ceda3ea555d102",
      "tree": "f78f7dcc1d7a8b21ed6db387ae227e47650efee5",
      "parents": [
        "9089ba65b7592c1719d8bcec2efbfe6744322767",
        "a6238a1e5b603ca2ccf3b2297c9bc8a141cf8559"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 12 11:02:17 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 12 11:02:17 2010 -0700"
      },
      "message": "Merge \"Fix the h.263 assembler to properly subset a buffer\u0027s range if it already has a range applied.\" into gingerbread"
    },
    {
      "commit": "9089ba65b7592c1719d8bcec2efbfe6744322767",
      "tree": "0c9dc9f0fb8293f8df5819203aeef4f5d3cdd913",
      "parents": [
        "5328abe1e36a39b1d4617a74ac82c201b8c14c43",
        "6dc387a8c3f031f9f17d1138295368946563f7a5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 12 11:02:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 12 11:02:06 2010 -0700"
      },
      "message": "Merge \"APacketSource is too verbose.\" into gingerbread"
    },
    {
      "commit": "a6238a1e5b603ca2ccf3b2297c9bc8a141cf8559",
      "tree": "0dadd73439109d568374ac1c83b45407f1f480cd",
      "parents": [
        "6dc387a8c3f031f9f17d1138295368946563f7a5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 12 10:58:24 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 12 10:58:24 2010 -0700"
      },
      "message": "Fix the h.263 assembler to properly subset a buffer\u0027s range if it already has a range applied.\n\nChange-Id: I7cc468a3095537347d86803579001458b62fcadb\n"
    },
    {
      "commit": "5328abe1e36a39b1d4617a74ac82c201b8c14c43",
      "tree": "99661b4d62fce7c687e6afd1bc44056b29016df9",
      "parents": [
        "bef4b56250b7c9bd4cc34c5fad49fec7b57d4526"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 11 17:29:09 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 12 10:40:58 2010 -0700"
      },
      "message": "Don\u0027t send late frames to software encoders for encoding\n\no Document on what frames will be rejected and what frames will be accepted\n\nChange-Id: I5a5d489ad3d2b50dbb40a0f6e01529312ce81c54\n"
    },
    {
      "commit": "bef4b56250b7c9bd4cc34c5fad49fec7b57d4526",
      "tree": "9ef64bb62f30929139da8849eb93c2c9678eb3dc",
      "parents": [
        "7704377e3f3daf5a7940ac759ff96e5e166f7cb3",
        "47204e1806da9f849464d0cef936851d7e561607"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 12 10:07:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 12 10:07:51 2010 -0700"
      },
      "message": "Merge \"Handle large audio lost\" into gingerbread"
    },
    {
      "commit": "7704377e3f3daf5a7940ac759ff96e5e166f7cb3",
      "tree": "3ecc066c4f5eae23ceca5a496c2135cb25a004a2",
      "parents": [
        "910a17f43ba2eb586ec6cca5ab0e9b5155c5df94",
        "a37923e9a57d489e7bed2129369219039fa5f12c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 12 10:07:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 12 10:07:38 2010 -0700"
      },
      "message": "Merge \"Fix a crash due to unnecessary check on the codec config data for H263 video track\" into gingerbread"
    },
    {
      "commit": "910a17f43ba2eb586ec6cca5ab0e9b5155c5df94",
      "tree": "0c13e4db55b5e1a3436ece05e5efe559a726ab84",
      "parents": [
        "4d074e81e8a8b3b057d31adcb64a088acad6d15c",
        "25d83125cee222993673d3ba261ae1186bcad8c2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 12 09:13:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 12 09:13:14 2010 -0700"
      },
      "message": "Merge \"Fix all fd leaks in authoring engine\" into gingerbread"
    },
    {
      "commit": "6dc387a8c3f031f9f17d1138295368946563f7a5",
      "tree": "dd3311a6001f71556f11337c5ee01757c5420fa2",
      "parents": [
        "4d074e81e8a8b3b057d31adcb64a088acad6d15c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 12 09:06:01 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 12 09:07:20 2010 -0700"
      },
      "message": "APacketSource is too verbose.\n\nChange-Id: I48ca7b070d89e43405d05e5f41e650db587e12b4\n"
    },
    {
      "commit": "25d83125cee222993673d3ba261ae1186bcad8c2",
      "tree": "ff9cb1abe9343695635b261a2c24906baba9794f",
      "parents": [
        "eaf0e0786c4c21d6c63d8f1f4515cb2a5311493b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 11 17:12:39 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 11 17:18:30 2010 -0700"
      },
      "message": "Fix all fd leaks in authoring engine\n\nChange-Id: I17798543f9dd41cc8bef6f6086e66932f9f97be8\n"
    },
    {
      "commit": "a37923e9a57d489e7bed2129369219039fa5f12c",
      "tree": "d8b2174bb50d77ba24a6f8f7a1bee5e2bafea6f4",
      "parents": [
        "eaf0e0786c4c21d6c63d8f1f4515cb2a5311493b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 11 15:58:59 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 11 15:58:59 2010 -0700"
      },
      "message": "Fix a crash due to unnecessary check on the codec config data for H263 video track\n\nChange-Id: I00e8b65d25731153e4d9be6a443eeed91c8fb605\n"
    },
    {
      "commit": "4d074e81e8a8b3b057d31adcb64a088acad6d15c",
      "tree": "ff4e6d511759318b7f8af71cecb712469d1805dc",
      "parents": [
        "eaf0e0786c4c21d6c63d8f1f4515cb2a5311493b",
        "56223b96c2f6de5998496fac9d6703f06adc1dca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 11 13:20:59 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 13:20:59 2010 -0700"
      },
      "message": "Merge \"This code in CameraSource really should hold the lock.\" into gingerbread"
    },
    {
      "commit": "56223b96c2f6de5998496fac9d6703f06adc1dca",
      "tree": "b62362142b689dde3c98df42ff7763c72b91e9aa",
      "parents": [
        "701019013dfd15745abf245449c3e17d78bd9570"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 11 12:34:32 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 11 12:34:32 2010 -0700"
      },
      "message": "This code in CameraSource really should hold the lock.\n\nChange-Id: I349520a14776bb83b7edb23fc62052b487246d9a\n"
    },
    {
      "commit": "571d49c1c316f5e07b74ed7b5df6bdec7cbc1a14",
      "tree": "1d9ea67e8cb754435b6b9e262f90b52010287e9e",
      "parents": [
        "def871da284aa51f129943a86d44ba9ee9d68d28"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 11 05:20:11 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 11 05:20:11 2010 -0700"
      },
      "message": "Fix issue 2909189: System property ro.audio.silent no longer mutes system.\n\nFixed regression introduced by commit 2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee:\nmaster mute was not working if no effect chains were present on session 0.\n\nChange-Id: I66d107e045d159cb94d29c7476fa1e12d92f2ae7\n"
    },
    {
      "commit": "47204e1806da9f849464d0cef936851d7e561607",
      "tree": "e6e50095f13c53c283001bb78ed4ab61ec0c5d3d",
      "parents": [
        "eaf0e0786c4c21d6c63d8f1f4515cb2a5311493b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 10 18:57:43 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 10 19:59:04 2010 -0700"
      },
      "message": "Handle large audio lost\n\nChange-Id: I2687ad855aac758946954d0b3fe7aff9f7b5ae7c\n"
    },
    {
      "commit": "eaf0e0786c4c21d6c63d8f1f4515cb2a5311493b",
      "tree": "4c75657b1f941e304c07482510d3c3bf1c5bf53e",
      "parents": [
        "701019013dfd15745abf245449c3e17d78bd9570"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 10 13:00:52 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 10 13:48:53 2010 -0700"
      },
      "message": "Remove some obsolete code.\n\nChange-Id: Ic4d21afe3721173d48db44b8ee4f836deee017ad\n"
    },
    {
      "commit": "701019013dfd15745abf245449c3e17d78bd9570",
      "tree": "f102238ae54ca1e0ce1f3a0ab041c2e0422f2936",
      "parents": [
        "8aacc475f8ad4392740ff5be505d58ea713d4110",
        "db004e1c9ff995381e204135583c06758ba8f2a3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 10 13:27:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 10 13:27:09 2010 -0700"
      },
      "message": "Merge \"Add input buffer size check for software video encoders\" into gingerbread"
    },
    {
      "commit": "8aacc475f8ad4392740ff5be505d58ea713d4110",
      "tree": "1d2cbf1b2da96f5bb8a035b5a99d6bd46f094a2a",
      "parents": [
        "ab68c7f0c835a0b6906e65d683c452cf352e30f7",
        "f8ca90452ff3e252f20de38f1c3eee524c808c3e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 10 12:59:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 10 12:59:27 2010 -0700"
      },
      "message": "Merge \"We\u0027re now going to ignore timestamps completely in gtalk video conferencing, playing video as soon as it comes in. We also make up fake timestamps in the rtp code, ignoring rtcp SR information to enable early startup.\" into gingerbread"
    },
    {
      "commit": "ab68c7f0c835a0b6906e65d683c452cf352e30f7",
      "tree": "4219774a4f0af3dd218b45f16a692db8fe3ce26d",
      "parents": [
        "51dfe6d646ddcc5fc252aa4c19c9936d32af8ad7",
        "2097f5347b77861fe2559f8d76d7d455dc857f53"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 10 11:39:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 10 11:39:38 2010 -0700"
      },
      "message": "Merge \"Many, many developers misread or don\u0027t read the http specs and terminate lines with \u0027\\n\u0027 instead of CRLF \u0027\\r\\n\u0027 as required. Enable the workaround for this by default. Also increase the socket read timeout to 30 secs.\" into gingerbread"
    },
    {
      "commit": "f8ca90452ff3e252f20de38f1c3eee524c808c3e",
      "tree": "f750ba5ede661ba693e727f9de8b88e4d0d6bb41",
      "parents": [
        "def871da284aa51f129943a86d44ba9ee9d68d28"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 10 11:18:36 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 10 11:38:18 2010 -0700"
      },
      "message": "We\u0027re now going to ignore timestamps completely in gtalk video conferencing, playing video as soon as it comes in. We also make up fake timestamps in the rtp code, ignoring rtcp SR information to enable early startup.\n\nChange-Id: Idc3df74b42000f7a6aa3eae090718dc9d9c4186f\n"
    },
    {
      "commit": "db004e1c9ff995381e204135583c06758ba8f2a3",
      "tree": "670cda51b7df54d89d729a532add38188d1c97cb",
      "parents": [
        "51dfe6d646ddcc5fc252aa4c19c9936d32af8ad7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 09 17:45:29 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 10 10:46:11 2010 -0700"
      },
      "message": "Add input buffer size check for software video encoders\n\nChange-Id: I03953a1245060ed6656a965e1a8a61386126c441\n"
    },
    {
      "commit": "51dfe6d646ddcc5fc252aa4c19c9936d32af8ad7",
      "tree": "0ea7ee80b5aacdff8e5b2ddf3aed9f8d919e422a",
      "parents": [
        "def871da284aa51f129943a86d44ba9ee9d68d28"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Aug 08 08:56:48 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 10 10:20:15 2010 -0700"
      },
      "message": "Only check the codec specific data when the output buffer contains kKeyIsCodecConfig in MP4 writer\n\no Assume there is only a single output buffer containing such information.\n  This simplifies the logic in MP4 file writer\n\no Output SPS and PPS in the very first buffer for software AVC encoder\n  This is to make AVC encoder work with the MP4 file writer\n\no Add timestamp value for codec config data\n\nChange-Id: Iad27a04579e6028332429cd0bebd30976041e997\n"
    },
    {
      "commit": "2097f5347b77861fe2559f8d76d7d455dc857f53",
      "tree": "abd6ff0cbca8b0897b09f7448fec7bebc26dc43b",
      "parents": [
        "def871da284aa51f129943a86d44ba9ee9d68d28"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 10 10:10:40 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 10 10:10:40 2010 -0700"
      },
      "message": "Many, many developers misread or don\u0027t read the http specs and terminate lines with \u0027\\n\u0027 instead of CRLF \u0027\\r\\n\u0027 as required. Enable the workaround for this by default. Also increase the socket read timeout to 30 secs.\n\nChange-Id: I51df3b8139b3009565b2271611050700a23cf1d7\n"
    },
    {
      "commit": "def871da284aa51f129943a86d44ba9ee9d68d28",
      "tree": "e86fadbf5e4c4ffacd12369ccd4b42874ffa69db",
      "parents": [
        "e758febfb429e610c5a68fde55cd2b3bae589eaa",
        "3266b2c04867f687e1e1b7b86088d6eb83077fd0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 09 13:35:54 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 09 13:35:54 2010 -0700"
      },
      "message": "Merge \"Support multiple PPS and SPS in avcC box\" into gingerbread"
    },
    {
      "commit": "3266b2c04867f687e1e1b7b86088d6eb83077fd0",
      "tree": "da7a229507b4a899017948a982e223252a349197",
      "parents": [
        "c5f0c714dc4225cd2ec305d5ddd297964a3dd3dc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 06 00:29:03 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 09 12:04:30 2010 -0700"
      },
      "message": "Support multiple PPS and SPS in avcC box\n\n- Also\no do not use the hard-coded profile and levels.\n  Instead, we are using the profile and level found in the codec config data\no we are not supporting FRExt profile and levels for now, which requires\n  additional seq parameter set extension for instance.\n\nChange-Id: If695b4c996d073d8e48aa45fdd7001e9f016f375\n"
    },
    {
      "commit": "e758febfb429e610c5a68fde55cd2b3bae589eaa",
      "tree": "e980b5fbddab8ea9689e82daf0c390268c65988b",
      "parents": [
        "8569f0d3bf4c6787707e348a7cf73b9c4199cb32",
        "42d66f25af9cb8089a93c6796876a6bc16e36cea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 09 11:30:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 09 11:30:34 2010 -0700"
      },
      "message": "Merge \"Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.\" into gingerbread"
    },
    {
      "commit": "42d66f25af9cb8089a93c6796876a6bc16e36cea",
      "tree": "5db576e682def943eaf39ada08c3c10235fd4d31",
      "parents": [
        "8bf59e735760af0b6a85747fd90bf8cf1e5388d7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 09 09:54:59 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 09 10:01:26 2010 -0700"
      },
      "message": "Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.\n\nChange-Id: I92685d09456c220b8c09842defb721bd55b0b9f6\nrelated-to-bug: 2900021\n"
    },
    {
      "commit": "8569f0d3bf4c6787707e348a7cf73b9c4199cb32",
      "tree": "6e2ce2c28fe5fba3b8cafd9375244bc6f658632d",
      "parents": [
        "8bf59e735760af0b6a85747fd90bf8cf1e5388d7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 29 23:43:43 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 09 05:48:20 2010 -0700"
      },
      "message": "Fixed several audio effects problems.\n\n- Fixed constant inversions in AudioEffect.java\n- Do not return error when enabling an already enabled effect\n- Update cached effect state in native AudioEffect class when effect is enabled/disabled by command() method\n- Remove click when restarting effect during disable sequence\n- Fixed problem in master mute management when volume control is delegated to effect.\n\nChange-Id: I6df4ce9fcc54fdc7345df858f639d20d802d6712\n"
    },
    {
      "commit": "8bf59e735760af0b6a85747fd90bf8cf1e5388d7",
      "tree": "e5225adeb9422fffd7eeee833315f1c4a979a446",
      "parents": [
        "2500c2d6ff55c26452ccba925a9f8b86b926f43e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 06 14:13:10 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 06 15:46:17 2010 -0700"
      },
      "message": "Support for communicating if a buffer read from the _extractor_ is a sync sample or not.\n\nChange-Id: Ie71506224d937cfff1fa1273bfac31c47db8845f\nrelated-to-bug: 2900534\n"
    },
    {
      "commit": "2500c2d6ff55c26452ccba925a9f8b86b926f43e",
      "tree": "04d90df171f3dd9a7399bc84eb8245f1b2da569d",
      "parents": [
        "af799e10a29e2ffbe09f9cead0c583221e8b2d0d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 06 15:02:54 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 06 15:02:54 2010 -0700"
      },
      "message": "Properly skip the \u0027skip\u0027 chunk in mpeg4 files.\n\nChange-Id: I6795347f91f24d5379e8dc80a24ae016a9629c9c\nrelated-to-bug: 2901311\n"
    },
    {
      "commit": "af799e10a29e2ffbe09f9cead0c583221e8b2d0d",
      "tree": "d6bf48c064c0587be750152a12321059da6293b9",
      "parents": [
        "c5f0c714dc4225cd2ec305d5ddd297964a3dd3dc",
        "299766cdbf93fba14634e364b177b7f4d5811453"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 05 15:10:03 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 05 15:10:03 2010 -0700"
      },
      "message": "Merge \"Use the target color format from the camera source if possible\" into gingerbread"
    },
    {
      "commit": "299766cdbf93fba14634e364b177b7f4d5811453",
      "tree": "4cb3f2fe756d43164ce2268cbed23ed28354388b",
      "parents": [
        "cf168132b4e4ac8d9c29d02d8dfed89c33d06e9a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 03 17:19:23 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 05 13:47:01 2010 -0700"
      },
      "message": "Use the target color format from the camera source if possible\n\n- If the target color format is unavailable, the default\n  platform-dependent color format will be used.\n\n- Also add some logic to prevent looping forever if the\n  omx component is buggy supporting color format enumeration.\n\nChange-Id: I119a78f0d6201b4c3621235cca2f523ec14e24e3\n"
    },
    {
      "commit": "c5f0c714dc4225cd2ec305d5ddd297964a3dd3dc",
      "tree": "039fd01063a8290ffbe405dd36e4b1884f40aaed",
      "parents": [
        "cf168132b4e4ac8d9c29d02d8dfed89c33d06e9a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 05 10:46:13 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 05 10:46:13 2010 -0700"
      },
      "message": "Fix an issue where the track duration does not include the last sample duration\n\nChange-Id: Ib6e01c1c84ad9b7404536f9c40bf90a13340ae53\n"
    },
    {
      "commit": "cf168132b4e4ac8d9c29d02d8dfed89c33d06e9a",
      "tree": "6719d42f3ffc01d6209e826e6a2286295366be95",
      "parents": [
        "ecaccb9f82dd07b29aa32ce36e8d15862dfdf547",
        "ff53123821a3ec2e71fdb1a971ea2cbae3119826"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 05 10:11:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 05 10:11:28 2010 -0700"
      },
      "message": "Merge \"Better support for fake timestamps in RTP, H.263 video now also requests FIR.\" into gingerbread"
    },
    {
      "commit": "ecaccb9f82dd07b29aa32ce36e8d15862dfdf547",
      "tree": "b981bd94a1437fe5aa45539be2e84c05ac7b9483",
      "parents": [
        "9cf3ce33d626543bd749241d0280f3900d5b8ed3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 05 10:00:10 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 05 10:00:10 2010 -0700"
      },
      "message": "A better fix for the OggExtractor referring to the sample rate while it hasn\u0027t been initialized yet.\n\nChange-Id: I001fa36d3f5bf385b9f9d086c802673071c65db9\nrelated-to-bug: 2896814\n"
    },
    {
      "commit": "ff53123821a3ec2e71fdb1a971ea2cbae3119826",
      "tree": "eb3f1beeaa35d012d2566567c119e825a3de0c47",
      "parents": [
        "9cf3ce33d626543bd749241d0280f3900d5b8ed3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 05 09:22:25 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 05 09:28:17 2010 -0700"
      },
      "message": "Better support for fake timestamps in RTP, H.263 video now also requests FIR.\n\nChange-Id: I2385461887197fe4062d329086e0204f6d6620fc\n"
    },
    {
      "commit": "9cf3ce33d626543bd749241d0280f3900d5b8ed3",
      "tree": "12b2c8ee6fef000a80e4c0fd06f7a0fd90da7eaf",
      "parents": [
        "f196d3ed76f38b131a89390bec12ff0152fb3727",
        "33a8457868eb00b94b37b53321a80d9307202a9d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 05 09:18:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 05 09:18:38 2010 -0700"
      },
      "message": "Merge \"Specification of codec specific data as part of the session description is now optional.\" into gingerbread"
    },
    {
      "commit": "f196d3ed76f38b131a89390bec12ff0152fb3727",
      "tree": "001eb9d9652649169f8d178f9f1c7a67affaacd0",
      "parents": [
        "979c6c9720d8861375570b81222e55c43bb2838d",
        "e8c07d18201ac6d3a5458a2e15e5129159a1429e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 04 15:37:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 04 15:37:37 2010 -0700"
      },
      "message": "Merge \"Fix divide by zero.\" into gingerbread"
    },
    {
      "commit": "e8c07d18201ac6d3a5458a2e15e5129159a1429e",
      "tree": "124628b57d23541fe7511461d96c3bf52d9f746a",
      "parents": [
        "60e182437228312cc28469a5b0dfde77ac848e1a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 04 15:29:26 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 04 15:29:26 2010 -0700"
      },
      "message": "Fix divide by zero.\n\nChange-Id: I3113234aa5936965424dde5b24e448df1be0b603\n"
    },
    {
      "commit": "979c6c9720d8861375570b81222e55c43bb2838d",
      "tree": "439273d62401b78354d6723dcaed780b5de354f1",
      "parents": [
        "39ddf8e0f18766f7ba1e3246b774aa6ebd93eea8",
        "2b3b9b2237468db96d9bb49dccd2b2a1eb8ae2db"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 04 14:16:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 04 14:16:20 2010 -0700"
      },
      "message": "Merge \"Don\u0027t return a decoder error if the encoded stream does not start with SPS/PPS.\" into gingerbread"
    },
    {
      "commit": "2b3b9b2237468db96d9bb49dccd2b2a1eb8ae2db",
      "tree": "a75fb0b7590aaf90c0a3ae8a6b947871c6ffdc28",
      "parents": [
        "610959a52fe22a88e50d158f5f5f492fee4f1921"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 04 13:04:46 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 04 14:08:14 2010 -0700"
      },
      "message": "Don\u0027t return a decoder error if the encoded stream does not start with SPS/PPS.\n\nChange-Id: I960ada0c53f8ffe413ecd07c2c754a996841f592\n"
    },
    {
      "commit": "33a8457868eb00b94b37b53321a80d9307202a9d",
      "tree": "14b61a611704672d721ad6da2834a9006862a679",
      "parents": [
        "39ddf8e0f18766f7ba1e3246b774aa6ebd93eea8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 04 14:04:31 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 04 14:04:31 2010 -0700"
      },
      "message": "Specification of codec specific data as part of the session description is now optional.\n\nChange-Id: Ie1953909e1d241381add3cc82a7a1f7d7d1540f2\n"
    },
    {
      "commit": "39ddf8e0f18766f7ba1e3246b774aa6ebd93eea8",
      "tree": "87f5d0d68c1779f113843e939c41440ff6b00389",
      "parents": [
        "610959a52fe22a88e50d158f5f5f492fee4f1921"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 04 10:14:30 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 04 11:49:24 2010 -0700"
      },
      "message": "Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.\n\nChange-Id: I95b8dd487061add9bade15749e563b01cd99d9a6\n"
    },
    {
      "commit": "610959a52fe22a88e50d158f5f5f492fee4f1921",
      "tree": "eadcbb991b13055cdee86dc3b482b8e8dce098d1",
      "parents": [
        "48f6ce0e17297c575dcbb25671a7bee80ba13061",
        "3b26844e60f8487388e7e62709faf0dada86e7e1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 10:03:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 04 10:03:36 2010 -0700"
      },
      "message": "Merge \"Fix issue 2876124.\" into gingerbread"
    },
    {
      "commit": "3b26844e60f8487388e7e62709faf0dada86e7e1",
      "tree": "2a6ed3d8b121bfb1dd5bd443ae46e268dfbfd438",
      "parents": [
        "a5740924c0a71871f2697139effd43b137750597"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 03 07:49:49 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 05:38:56 2010 -0700"
      },
      "message": "Fix issue 2876124.\n\nAllow calls to MediaPlayer::notify() in idle state to signal errors from JNI.\n\nChange-Id: I1515fe69766f0a926b76e15c4971317da2acd6a0\n"
    },
    {
      "commit": "48f6ce0e17297c575dcbb25671a7bee80ba13061",
      "tree": "b504aa0ba02ef80fd83ba7dba5e27eea72a10aeb",
      "parents": [
        "26ab7ab7f543a03b65735a41de8496c54d3e490e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 03 15:29:20 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 03 15:29:20 2010 -0700"
      },
      "message": "Replace CHECK with a failure return value when mCamera-\u003esetParameters() fails\nif the camera is locked by someone else.\n\nbug - 2827892\n\nChange-Id: I217d4a00f04ebd57b557d3faef28787c14f23ea0\n"
    },
    {
      "commit": "26ab7ab7f543a03b65735a41de8496c54d3e490e",
      "tree": "769f80090d1ddb44bf7873043d6b2574b7983b6c",
      "parents": [
        "a5740924c0a71871f2697139effd43b137750597",
        "1c9747a4653aec1395c2bd6896c9b87cb5447837"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 03 10:35:55 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 03 10:35:55 2010 -0700"
      },
      "message": "Merge \"File writer has a designated writer thread now\" into gingerbread"
    },
    {
      "commit": "a5740924c0a71871f2697139effd43b137750597",
      "tree": "b12b930a75b06deeb67e4ee53ebc1773d7935ce0",
      "parents": [
        "901335c2f0ce73a78277d90eb77807dcd1d65c95",
        "46292fb347d72a314d985e34e5e3743d846cb9b6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 02 18:13:54 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 02 18:13:54 2010 -0700"
      },
      "message": "Merge \"Add lost frame handling in AudioSource\" into gingerbread"
    },
    {
      "commit": "1c9747a4653aec1395c2bd6896c9b87cb5447837",
      "tree": "b92985a7f54cc988d6485862088c5a440f744fb5",
      "parents": [
        "901335c2f0ce73a78277d90eb77807dcd1d65c95"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 30 17:41:22 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 02 18:08:02 2010 -0700"
      },
      "message": "File writer has a designated writer thread now\n\n+ This reduces the file I/O block time for audio/video track processing\n- Since the file writer is buffering some output samples, the memory\n  usage would go up, depending on how many output samples are buffered.\n\nChange-Id: I780cc5b26f4b53a5efbd643fcf9505dfc19cd4cd\n"
    },
    {
      "commit": "901335c2f0ce73a78277d90eb77807dcd1d65c95",
      "tree": "7d2b4dcf1bf6094b847b1c0971943a43e28a02fe",
      "parents": [
        "489d78dcde35ef7ecaed5fac5b777fabfcd0525b",
        "5aff464f67322cd13dc8ed165806971cfff2e4d5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 30 14:49:23 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 30 14:49:23 2010 -0700"
      },
      "message": "Merge \"Added damr box for AMR (NB and WB) sample entry\" into gingerbread"
    },
    {
      "commit": "46292fb347d72a314d985e34e5e3743d846cb9b6",
      "tree": "a949b30281f740309113e150132aa4eae6bd10e4",
      "parents": [
        "5caff27f4683d5e444f327a5beec15d9b8c7f252"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 29 18:06:08 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 30 14:35:37 2010 -0700"
      },
      "message": "Add lost frame handling in AudioSource\n\n- Also collect stats on lost audio frames instead of time spent on reading\n\nChange-Id: I6380b143e4fbdcd894491aaae523331e90d0f04f\n"
    },
    {
      "commit": "489d78dcde35ef7ecaed5fac5b777fabfcd0525b",
      "tree": "a0a617a80f6eb19cb4f406dbdf3b26b5803f4b8a",
      "parents": [
        "9da2070b6d6d20550de7da61478c325f0928d020",
        "e4fc55de48241c5fb4c4b9d652fd2d4cd0b71138"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 30 14:28:26 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 30 14:28:26 2010 -0700"
      },
      "message": "Merge \"Lower the lower bound for max file duration check\" into gingerbread"
    },
    {
      "commit": "5aff464f67322cd13dc8ed165806971cfff2e4d5",
      "tree": "e3305ab43aebe9cb2dc6d9c62d8e9b0bcc554d7f",
      "parents": [
        "5caff27f4683d5e444f327a5beec15d9b8c7f252"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 30 13:48:46 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 30 13:55:18 2010 -0700"
      },
      "message": "Added damr box for AMR (NB and WB) sample entry\n\n- Some players, like QT, sometimes are picky about the missing sample entry\n\nChange-Id: Ia32d78e48ac9fd8af8285dbc67f0d69142ba98b4\n"
    },
    {
      "commit": "e4fc55de48241c5fb4c4b9d652fd2d4cd0b71138",
      "tree": "25ec9aaddfc632f3ccb86b889a1a647da4c6d1d1",
      "parents": [
        "5caff27f4683d5e444f327a5beec15d9b8c7f252"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 30 12:41:59 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 30 12:41:59 2010 -0700"
      },
      "message": "Lower the lower bound for max file duration check\n\n- This fixed a CTS test where 200 ms is being used\n\nChange-Id: Ib598b7b94be54e98a96703c58c5f244bc379cf7d\n"
    },
    {
      "commit": "9da2070b6d6d20550de7da61478c325f0928d020",
      "tree": "f1548891fab33ca03923f70cf25a2ffeab50be82",
      "parents": [
        "3be9523784cc4038f601e510faee595117cdacb3",
        "efe6039f71e9bac2138003b3287e94a7ab7e5c55"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 12:08:31 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 12:08:31 2010 -0700"
      },
      "message": "resolved conflicts for merge of 27eecb70 to gingerbread\n\nChange-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1\n"
    },
    {
      "commit": "3be9523784cc4038f601e510faee595117cdacb3",
      "tree": "bab6f83881aab994b68acc959ed83485d35d1f2b",
      "parents": [
        "5caff27f4683d5e444f327a5beec15d9b8c7f252"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 30 09:12:51 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 30 09:12:51 2010 -0700"
      },
      "message": "Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.\n\nModified types of some arguments and returned values of the Equalizer class from int to short\nto match those defined by OpenSL ES SLEqualizerItf interface.\n\nAlso fixed a problem with set properties in equalizer engine implementation.\n\nChange-Id: I75894bad0cb67b01c18ca5e22f9687e75ee491b8\n"
    },
    {
      "commit": "efe6039f71e9bac2138003b3287e94a7ab7e5c55",
      "tree": "7c7545aef44e4ee356f61b0379210f61b2a83691",
      "parents": [
        "3cc219dfc67b866e10828f0c17641668d47c1cd8",
        "68335fdd6e9c1d622384612605d6952503cb7fd0"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 29 17:45:56 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 29 17:45:56 2010 -0700"
      },
      "message": "Merge branch \u0027froyo\u0027 of git://android.git.kernel.org/platform/frameworks/base into HEAD\n"
    },
    {
      "commit": "68335fdd6e9c1d622384612605d6952503cb7fd0",
      "tree": "94e9982f93be7339bde4d8b9336f9968f5509efd",
      "parents": [
        "e32283b15bbd60179424bdc740a4e4932da4c61e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:35:37 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:41:35 2010 -0700"
      },
      "message": "fix inaccurate copyrights\n\nChange-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd\n"
    },
    {
      "commit": "5caff27f4683d5e444f327a5beec15d9b8c7f252",
      "tree": "af12a11401e2ca3ab56b74032922ab1df8cdb835",
      "parents": [
        "60e182437228312cc28469a5b0dfde77ac848e1a",
        "3cc219dfc67b866e10828f0c17641668d47c1cd8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 29 11:07:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 11:07:49 2010 -0700"
      },
      "message": "am 16263d9f: Squashed commit of the following:\n\nMerge commit \u002716263d9f8cc01392c2f3678b381ce897647c8c81\u0027 into gingerbread\n\n* commit \u002716263d9f8cc01392c2f3678b381ce897647c8c81\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "3cc219dfc67b866e10828f0c17641668d47c1cd8",
      "tree": "991c1defd88ebf571e0e9e7ede4753bc19ed143d",
      "parents": [
        "e32283b15bbd60179424bdc740a4e4932da4c61e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jul 20 09:44:34 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 29 09:45:06 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"
    }
  ],
  "next": "60e182437228312cc28469a5b0dfde77ac848e1a"
}
