)]}'
{
  "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "ff4a7fa411401910e6e5ac88aeb6e0080a8cc8b1",
      "tree": "807f4f3fc4a792446a9d2905ae30bbcafa8e803a",
      "parents": [
        "8644c14618d30d9e57a69df40ed939986ebf02c4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 28 13:18:14 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 28 15:21:59 2010 -0700"
      },
      "message": "Eliminate the linear cost associated with mSampleSizes.size()\n\n- The linear cost associated with mSampleSizes.size() call causes the\n  CPU load to increase overtime as more and more audio/video samples\n  are recorded.\n\n- Other Lists used in the MP4 file writer may have similar issues, but\n  the size() call is not made for each output audio/video output sample,\n  or the size of the list is bounded (not linear to the total number\n  of audio/video output samples). As for now, we can live with the small\n  cost (tested with 30 minutes long recording).\n\nChange-Id: I23bd93ea4256cb0be0c1649760e39e6809eb4946\n"
    },
    {
      "commit": "8644c14618d30d9e57a69df40ed939986ebf02c4",
      "tree": "24e5c93b81a6bb707e85494d4d2c61b362af85c1",
      "parents": [
        "995cef30f64d4b579a76e15c0b622cd79c461dd8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 28 10:24:39 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 28 12:02:57 2010 -0700"
      },
      "message": "Reduce memory usage by the MP4 file writer\n- Don\u0027t store timestamp for each output sample\n- Don\u0027t store timestamp for statistical data collection if the collection of statistical data is not requested\n\nTODO:\n1. Reduce CPU load by elimnating the list cost associated with List.size() call.\n\nChange-Id: I590bc17176596a65952c982574b82ee3b15b7d1c\n"
    },
    {
      "commit": "995cef30f64d4b579a76e15c0b622cd79c461dd8",
      "tree": "c7213938c8a4c05b829a2b46f6ba0041567c6fdb",
      "parents": [
        "25f4395b932fa9859a6e91ba77c5d20d009da64a",
        "f01528f435e6b1f02d118fcd8305a148c27a89f1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 28 11:58:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 11:58:12 2010 -0700"
      },
      "message": "Merge \"Interleave the audio and video by default - default interleave duration is set to 1 second\" into gingerbread"
    },
    {
      "commit": "f01528f435e6b1f02d118fcd8305a148c27a89f1",
      "tree": "82d72c57f4f99358d361242029396ef133bd2062",
      "parents": [
        "542db5d438988360d491a5add1040a2df9aa90c9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 28 10:08:03 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 28 10:08:03 2010 -0700"
      },
      "message": "Interleave the audio and video by default\n- default interleave duration is set to 1 second\n\nThis can dramatically reduce the memory usage\nby the MP4 file writer.\n\nChange-Id: Ia3ff202cabfcd2d3f183065d31e4596617c2dded\n"
    },
    {
      "commit": "25f4395b932fa9859a6e91ba77c5d20d009da64a",
      "tree": "01098a211d6c782708b840c28ebd396a6eb72a7b",
      "parents": [
        "23e1de74359f4bb1763aef0adfebe073122b032c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 05:40:18 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 05:49:21 2010 -0700"
      },
      "message": "Audio effects: modified command() parameter types.\n\nThe type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command()\nfunction have been modified from int to uint32_t. This is more consistent with their role.\n\nChange-Id: I84d289fc262d6753747910f06f485597dfee6591\n"
    },
    {
      "commit": "23e1de74359f4bb1763aef0adfebe073122b032c",
      "tree": "f7c8a84104ae81d565a867208d606fd3887d47fe",
      "parents": [
        "8b4179f44917ec4845ade406a49a713cd568fe8a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 00:19:11 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 27 00:41:31 2010 -0700"
      },
      "message": "Audio Effects: added methods to effects java classes to store and load current effect settings in\na single call.\n\nAddional changes:\n- Fixed simulator build\n- Use effect interface UUIDs from OpenSL ES includes when available\n- Added cleanspec rules to remove now obsolete test effect libraries\n- Fixed bug in AudioEffect JNI setParameter function.\n\nChange-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b\n"
    },
    {
      "commit": "8b4179f44917ec4845ade406a49a713cd568fe8a",
      "tree": "13662a6378d09363adb73330863a260e77fbd12f",
      "parents": [
        "09d5ca3766d4bab91cdaad7206716a5747ebad77",
        "010ae0dd9eab40a49a840388230d8bb2f97c530e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 10:09:54 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 26 10:09:54 2010 -0700"
      },
      "message": "Merge \"Fixed bug in vlm effect bunde wrapper effect init function.\" into gingerbread"
    },
    {
      "commit": "09d5ca3766d4bab91cdaad7206716a5747ebad77",
      "tree": "e4fe4f3e6fb5b986b42c3625469f54c8937b3eca",
      "parents": [
        "163fbcf84010b98e0374110454d85b804bc8d13b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 09:01:44 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 01:57:36 2010 -0700"
      },
      "message": "LVM release 1.04.\n\nRemaining warnings in the code have been removed\nCore components support seamless insertion in the audio stream at playtime (Enabling / Disabling the effect).\n\nChange-Id: Icae7085305fad663faeb5a94cb673b41cec5a9f1\n"
    },
    {
      "commit": "010ae0dd9eab40a49a840388230d8bb2f97c530e",
      "tree": "b544e3dff585bc48925f4ff667553de49dd7f0e6",
      "parents": [
        "163fbcf84010b98e0374110454d85b804bc8d13b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 01:03:37 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 01:07:38 2010 -0700"
      },
      "message": "Fixed bug in vlm effect bunde wrapper effect init function.\n\nThe status in the command reply field was not initialized by Effect_command() for\nEFFECT_CMD_INIT causing unpredictable failures when initializing an effect.\n\nChange-Id: I7dccb094c9244fad4ed9aea3062a395db295e082\n"
    },
    {
      "commit": "163fbcf84010b98e0374110454d85b804bc8d13b",
      "tree": "be90f2d23071ae29c91a55d659e815fdc0ca332f",
      "parents": [
        "542db5d438988360d491a5add1040a2df9aa90c9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 00:54:58 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 00:54:58 2010 -0700"
      },
      "message": "Audio effects: lvm bundle wrapper update after first integration tests.\n\nChange-Id: I20cb55282833bd6e3a160e0dae1cc1fcb6b1ca30\n"
    },
    {
      "commit": "542db5d438988360d491a5add1040a2df9aa90c9",
      "tree": "2780e2456a9b540e245fa3e3c8e62d60c284b8dc",
      "parents": [
        "348a8eab84f4bba76c04ca83b2f5418467aa1a48"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 21 14:51:35 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 22 14:51:53 2010 -0700"
      },
      "message": "Allows the authoring engine to skip frame.\n\nThis is 1st part of the work to allow audio and video resync if\nwe found out that audio and video are out of sync during authoring\n\n- also fixed a problem in AACEncoder::read() where the buffer acquired\n  from the buffer group does not release when error out at\n  reading from source.\n\nChange-Id: I8a2740097fcfdf85e6178869afeb9f3687a99118\n"
    },
    {
      "commit": "348a8eab84f4bba76c04ca83b2f5418467aa1a48",
      "tree": "b75461fcab7782b8029426e9976b8d805a3b1fd3",
      "parents": [
        "66d6f1fcd9cb80a603b833e93779eb0dfb5e67ee"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 22 09:20:13 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 22 09:21:05 2010 -0700"
      },
      "message": "Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes.\n\nChange-Id: I110e19d5ce33e597add3ffbd3e3ff3815862396d\n"
    },
    {
      "commit": "ef3f986ebeee48af0e8cbfa651260974bbd1ed4d",
      "tree": "fd724e069bae865cd2f21eb877772f71586084f3",
      "parents": [
        "2beeb50b1bba9e92f6cacfeca37fe9fa9d36ead1",
        "abd1f4f870925d6776dbe4b930b759a1ab6595ca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 21 10:36:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 21 10:36:08 2010 -0700"
      },
      "message": "Merge \"Support finer seek control on MediaSources.\" into gingerbread"
    },
    {
      "commit": "abd1f4f870925d6776dbe4b930b759a1ab6595ca",
      "tree": "1b86ec19a16a2a340afecfd6207b1fd8236228b9",
      "parents": [
        "3108231d90e8aa324923fd8864ca2477948c5d25"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jul 20 15:04:28 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 21 08:51:29 2010 -0700"
      },
      "message": "Support finer seek control on MediaSources.\n\nrelated-to-bug: 2858448\n\nChange-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1\n"
    },
    {
      "commit": "2beeb50b1bba9e92f6cacfeca37fe9fa9d36ead1",
      "tree": "ce966d62f6fbb94178763ec53760f6961ffffd58",
      "parents": [
        "3108231d90e8aa324923fd8864ca2477948c5d25"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 16 07:43:46 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 21 06:28:01 2010 -0700"
      },
      "message": "Added support for auxiliary audio effects to AudioTrack and MediaPlayer.\n\nAdded methods to AudioTrack and MediaPlayer java classes to enable use of\nauxiliary audio effects. The effect can be attached and detached by specifying its\nID and the send level controlled.\n\nChange-Id: Ie74ff54a453096a742688476f612ce355543b6f3\n"
    },
    {
      "commit": "3108231d90e8aa324923fd8864ca2477948c5d25",
      "tree": "30ceda3e1126c4d57284fd1f866d78935ebade6f",
      "parents": [
        "24ecd378305a3bf6fde74c8773bca09d0fd06c58",
        "faed5cd124a54b8db3429f4c26b3220bbec4c8bb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 20 14:29:39 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 20 14:29:39 2010 -0700"
      },
      "message": "Merge \"Progress status notification\" into gingerbread"
    },
    {
      "commit": "24ecd378305a3bf6fde74c8773bca09d0fd06c58",
      "tree": "33785e7ef2a38a0c6b1818b717c03f932aaeadf3",
      "parents": [
        "3c3ddfa39635a2d39f4ee7c966fb9403fe1ec9d8",
        "de070137f11d346fba77605bd76a44c040a618fc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 20 11:25:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 20 11:25:35 2010 -0700"
      },
      "message": "Merge \"Audio policy manager changes for audio effects\" into gingerbread"
    }
  ],
  "next": "de070137f11d346fba77605bd76a44c040a618fc"
}
