)]}'
{
  "log": [
    {
      "commit": "41b3d3be18b54e72a44813cbdd180aae7e77b444",
      "tree": "a4ae478674f82a29aec053aec047caccbde2976a",
      "parents": [
        "8980847d149cfca1d0564d9454c262764b6ee164"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 14 11:32:29 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 14 17:59:51 2011 -0700"
      },
      "message": "Bug 4016329 do full string comparisons\n\nUse full string comparisons instead of partial for\n  file extension and MIME type.\nDo case-insensitive comparison of MIME type and file extensions.\nFix error in comment for String8::getPathExtension.\nRemove dead code -- StringTokenizer is unused.\n\nChange-Id: I322be6235abbdaab5f7eafa48926dbb2cf46dc29\n"
    },
    {
      "commit": "8980847d149cfca1d0564d9454c262764b6ee164",
      "tree": "7f3f680a4f3d57a2ee3fc97b5bf926147ef75647",
      "parents": [
        "56d083457b55dc20e2b0f1aef89fc9e05d4ea3c8",
        "3d74457b66533b170606347e60628e55a2af255e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 09:43:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 09:43:14 2011 -0700"
      },
      "message": "Merge \"MtpDevice: Handle zero length packets in readResponse()\" into honeycomb-mr1"
    },
    {
      "commit": "56d083457b55dc20e2b0f1aef89fc9e05d4ea3c8",
      "tree": "214852db923be5de2b2cb7303095a1426afc546d",
      "parents": [
        "33bde8d8c4fc71fb3cdd8356fd0df70ffb44fcd7",
        "0e0a5f9e0b7a7ca618e8a1f7ccecc57a17e0d1e2"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 09:32:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 09:32:58 2011 -0700"
      },
      "message": "Merge \"- Some change on the DrmManager in order to support feature request 4082089.     In DrmManager, we currently lock both processDrmInfo() and onInfo() which is     ok for now since processDrmInfo() is async call, and it will return without     waiting for onInfo() call. However, if we send an event in processDrmInfo(),     we will got deadlock here because we need to invoke onInf() which will wait     for processDrmInfo() to release the lock. Use different lock for onInfo(). - Remove some redundent mutex lock.\" into honeycomb-mr1"
    },
    {
      "commit": "3d74457b66533b170606347e60628e55a2af255e",
      "tree": "959f5d6628976454dad2f3c5580b56ee4544cd84",
      "parents": [
        "33bde8d8c4fc71fb3cdd8356fd0df70ffb44fcd7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 10:33:22 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 10:33:22 2011 -0400"
      },
      "message": "MtpDevice: Handle zero length packets in readResponse()\n\nBug: 3509060\n\nChange-Id: I291eefeaa667688c9e6e75da74ec3025b84065e9\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "33bde8d8c4fc71fb3cdd8356fd0df70ffb44fcd7",
      "tree": "faa52dddeecce0fc9585f19d4165af0e938b33d6",
      "parents": [
        "2eb62955eb84b97695e8a7e56e14310cbb86412b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 12 14:03:23 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 12 14:03:23 2011 -0500"
      },
      "message": "MTP host: Fix problems reading large data packets\n\nFixes problem reading large thumbnails via PTP\n\nBug: 4065217\n\nChange-Id: I643672512829c93ab0827091f39103dbb1918071\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0e0a5f9e0b7a7ca618e8a1f7ccecc57a17e0d1e2",
      "tree": "8ad3203ba726da5b28d63f25d16c1c761cc97885",
      "parents": [
        "2eb62955eb84b97695e8a7e56e14310cbb86412b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 11 14:07:21 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 11 14:54:23 2011 -0800"
      },
      "message": "- Some change on the DrmManager in order to support feature request 4082089.\n    In DrmManager, we currently lock both processDrmInfo() and onInfo() which is\n    ok for now since processDrmInfo() is async call, and it will return without\n    waiting for onInfo() call. However, if we send an event in processDrmInfo(),\n    we will got deadlock here because we need to invoke onInf() which will wait\n    for processDrmInfo() to release the lock. Use different lock for onInfo().\n- Remove some redundent mutex lock.\n\nChange-Id: I59c794f95ba1693425723224114fa975cf9b235f\n"
    },
    {
      "commit": "2eb62955eb84b97695e8a7e56e14310cbb86412b",
      "tree": "fd19d4d6f069a06d5094fe85dda6b632f5c80d4e",
      "parents": [
        "8862028032790fe2ec3f6114de6b2e98a296e6df"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 28 12:37:51 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 10 19:16:40 2011 -0800"
      },
      "message": "Bug 3012968 DRM output control\n\nModifies Stagefright to verify that there is a hardware-protected path\nto video sink for DRM content.\n\nChange-Id: I18b8741390e803a05a88c7f180b860a24ba88a10\n"
    },
    {
      "commit": "8862028032790fe2ec3f6114de6b2e98a296e6df",
      "tree": "b3d1834f069a2f90dbdc33154cc2ea97f7ea38e9",
      "parents": [
        "1703cdfee717b1b312bf8979816a9e2f16a82e5d",
        "6b610a3d31a225adfc5867223df25dba16637bd9"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 09 16:05:59 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 16:05:59 2011 -0800"
      },
      "message": "Merge \"- Change level of some LOGs from LOGE to LOGV because those logs   are not error logs from non-DRMed content\u0027s point of view. - Add more mutex lock to avoid crash by multi-thread calls. - Fix for bug 4050039\" into honeycomb-mr1"
    },
    {
      "commit": "6b610a3d31a225adfc5867223df25dba16637bd9",
      "tree": "76e9cebbc53f536838cbf5502d1cbc1649f64a12",
      "parents": [
        "4f46fed004b76d462ef859aa94a3c056b0e79b60"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 04 14:45:03 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 09 15:51:46 2011 -0800"
      },
      "message": "- Change level of some LOGs from LOGE to LOGV because those logs\n  are not error logs from non-DRMed content\u0027s point of view.\n- Add more mutex lock to avoid crash by multi-thread calls.\n- Fix for bug 4050039\n\nChange-Id: I52fed22069f0cda6c4ac6a5363469168c797a33b\n"
    },
    {
      "commit": "1703cdfee717b1b312bf8979816a9e2f16a82e5d",
      "tree": "eb9d3cfe8ffebe45679de91af6f9ffd676ca5067",
      "parents": [
        "fbb1909036ba7de3d9fb8738daba60b357881153"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 07 14:52:59 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 08 16:33:15 2011 -0800"
      },
      "message": "Fix issue 3439872: video chat and bluetooth SCO\n\nThis change fixes the stability problems experienced when using\na bluetooth headset supporting both A2DP and SCO. Problems occur\nwhen starting the video chat at which time the A2DP output is being\nstopped to start SCO. At that time, active AudioTracks are invalidated\nby AudioFlinger so that a new AudioTrack binder interface can be\nrecreated by the client process on the new mixer thread with correct parameters.\nThe problem was that the process to restore the binder interface was not\nprotected against concurrent requests which caused 2 binder interfaces\nto be created sometimes. This could lead to permanent client deadlock\nif one of the client threads was waiting for a condition of the first\ncreated binder interface while the second one was created (as the AudioFlinger\nwould only signal conditions on the last one created).\nThis concurrent request situation is more likely to happen when a client\nuses the JAVA AudioTrack as the JNI implementation uses simultaneously the\nnative AudioTrack callback and write push mechanisms. By doing so, the code\nthat checks if the binder interface should be restored (in obtainBuffer()) is\nmuch more likely to be called concurrently from two different threads.\n\nThe fix consists in protecting the critical binder interface restore phase\nwith a flag in the AudioTrack control block. The first thread acting upon the binder\ninterface restore request will raise the flag and the second thread will just wait for\na condition to be signaled when the restore process is complete.\n\nAlso protected all accesses to the AudioTrack control block by a mutex to prevent\naccess while the track is being destroyed and restored. If a mutex cannot be held\n(e.g because we call a callback function), acquire a strong reference on the IAudioTrack\nto prevent its destruction while the cblk is being accessed.\n\nModified AudioTrack JNI to use GetByteArrayElements() instead of\nGetPrimitiveArrayCritical() when writing audio buffers. Entering a critical section would\ncause the JNI to abort if a mediaserver crash occurs during a write due to the AudioSystem\ncallback being called during the critical section when media server process restarts.\nAnyway with current JNI implementation, either versions do not copy data most of the times\nand the criticial version does not guaranty no data copy.\n\nThe same modifications have been made to AudioRecord.\n\nChange-Id: Idc5aa711a04c3eee180cdd03f44fe17f3c4dcb52\n"
    },
    {
      "commit": "fbb1909036ba7de3d9fb8738daba60b357881153",
      "tree": "f5036359f46e2ebfe4dc95c9a14e452782fcc845",
      "parents": [
        "73870c96dc3d652b64b74b023f3df67edf7d08c0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Mar 05 06:01:44 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 07 14:34:05 2011 -0800"
      },
      "message": "Add missing copyright headers to a couple of files\n\nbug - 4025673\n\nChange-Id: Ie1c4cf18c06032f9b89cc08e5be25d38c0f76aa1\n"
    },
    {
      "commit": "73870c96dc3d652b64b74b023f3df67edf7d08c0",
      "tree": "e81a37be8550affe40677225ca7bce0d3d855a62",
      "parents": [
        "2eb6a47b58c5b36f887a372e89f3d70f5d40812c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 04 16:24:07 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 04 16:30:37 2011 -0800"
      },
      "message": "Fix a leak from AACEncoder.cpp\n\nbug - 3470617\n\nChange-Id: I328e92bc1b2aca72e5856703dae00f957f40bc27\n"
    },
    {
      "commit": "2eb6a47b58c5b36f887a372e89f3d70f5d40812c",
      "tree": "0790af432dfa32b214f56365de220d9083f557c3",
      "parents": [
        "4f46fed004b76d462ef859aa94a3c056b0e79b60"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 04 11:25:17 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 04 11:28:50 2011 -0800"
      },
      "message": "Do not enforce the rule in MP3Extractor that all audio frames in an mp3 file must have the same mode\n\nFor some mp3 files, the mode can be changed from one audio frame to another. Without\nthe capability to switch modes, the decoded audio may have lots of artifacts.\n\nbug - 3253310\n\nChange-Id: Id57bb1f204642d15e38a800c72214f6794cfaa37\n"
    },
    {
      "commit": "4f46fed004b76d462ef859aa94a3c056b0e79b60",
      "tree": "afd68cec4f63a8576a539064a48b80dbe7ff92e4",
      "parents": [
        "9a5f9b7dbe9ecdebfbd9e8f96452c42213b08a31",
        "9ee159b79022b2e1a050acb3890ce948e99e9ccb"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 19:51:04 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 19:51:04 2011 -0800"
      },
      "message": "Merge \"- To track the usage of all audio output devices - To track the currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData()\""
    },
    {
      "commit": "9ee159b79022b2e1a050acb3890ce948e99e9ccb",
      "tree": "3f8c908cd6d5a69f1f6c5eb7c4e0a833890107e9",
      "parents": [
        "5f5354e35ab3b2a0cb4cabb6d0aa5a160225ccc8"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Feb 24 14:51:45 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 16:53:24 2011 -0800"
      },
      "message": "- To track the usage of all audio output devices\n- To track the currently used audio device\n- The devices are separated as speaker and other audio devices\n- Provide the collected data to battery application through pullBatteryData()\n\nChange-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc\n"
    },
    {
      "commit": "9a5f9b7dbe9ecdebfbd9e8f96452c42213b08a31",
      "tree": "1acbbf96751320d217d292dd4b65a802be4aa68e",
      "parents": [
        "8b17ba3296340dd556d5c00b322be42b9490b4e0",
        "258d4e3aef7984574b0972a66871afc8a13d8e4e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Mar 02 16:44:51 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 16:44:51 2011 -0800"
      },
      "message": "Merge \"Stagefright: Use the ANW min undequeued bufs query.\""
    },
    {
      "commit": "8b17ba3296340dd556d5c00b322be42b9490b4e0",
      "tree": "5a868c835aae79c9590af717f354fe7ba6abff5d",
      "parents": [
        "c3369fd756f015b06fe5824766e618160fe079f5",
        "7f89d09c0f4a47119834ba15789260b933123ea5"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 16:26:18 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 16:26:18 2011 -0800"
      },
      "message": "Merge \"To support DRM files without file extension\""
    },
    {
      "commit": "c3369fd756f015b06fe5824766e618160fe079f5",
      "tree": "decc34854dec22ec59d55ecaf957117bcaa86009",
      "parents": [
        "43a7e77206090d5a301dea224347a01a59fb2dfc",
        "3e57322b332214e3cb1874e67a5704c9b2b5f6ec"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 16:22:20 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 16:22:20 2011 -0800"
      },
      "message": "Merge \"Resize internal PES buffers dynamically instead of relying on a fixed maximum size.\""
    },
    {
      "commit": "3e57322b332214e3cb1874e67a5704c9b2b5f6ec",
      "tree": "d459fd8434a1357d0041dfbca03f6b16ffff387b",
      "parents": [
        "32f3cefa373cd55e63deda36ca9d07c7fe22eaaf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 16:18:33 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 16:18:33 2011 -0800"
      },
      "message": "Resize internal PES buffers dynamically instead of relying on a fixed maximum size.\n\nChange-Id: Ibe720e6148799e32d039ccdb4b269659bc779952\n"
    },
    {
      "commit": "43a7e77206090d5a301dea224347a01a59fb2dfc",
      "tree": "6a669591201e33d6a516e6eef823e7a5efa0f225",
      "parents": [
        "1c4967155109ab083a4149347596f7ebd3662a67",
        "32f3cefa373cd55e63deda36ca9d07c7fe22eaaf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 16:11:01 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 16:11:01 2011 -0800"
      },
      "message": "Merge \"Allow optional specification of a PTS timestamp when signalling a discontinuity.\""
    },
    {
      "commit": "32f3cefa373cd55e63deda36ca9d07c7fe22eaaf",
      "tree": "b8ff788f27c04b39b7959783a53e7a138cdff3e6",
      "parents": [
        "3fd91baee812919f53a85c5c05f32606313f8334"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 15:34:46 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 15:38:32 2011 -0800"
      },
      "message": "Allow optional specification of a PTS timestamp when signalling a discontinuity.\n\nIf present, rendering will be suppressed until reaching the timestamp.\n\nChange-Id: Ic64bdf4225063c5a4d042ea9809960b843a46d19\nrelated-to-bug: 3489454\n"
    },
    {
      "commit": "1c4967155109ab083a4149347596f7ebd3662a67",
      "tree": "c8370b3f11ca492ed2896afcb14a9cae881171d1",
      "parents": [
        "f96ebc66c0feb441733da6d08bca6d8de96cd9f0",
        "532492cd60a3ee2613cd3d664c9f4581d9929bc5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 02 15:19:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 15:19:38 2011 -0800"
      },
      "message": "Merge \"Fix issue 3388775.\""
    },
    {
      "commit": "f96ebc66c0feb441733da6d08bca6d8de96cd9f0",
      "tree": "c8f968cc41015354621c2344fd9c79ba7978aa4b",
      "parents": [
        "3fd91baee812919f53a85c5c05f32606313f8334",
        "ebdc652a891659d83386c3f92715ad6c70c8ba2d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 02 14:00:56 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 14:00:56 2011 -0800"
      },
      "message": "Merge \"PV\u0027s mp3 decoder mistreated inputBufferCurrentLength in unit of bytes as in unit of bits\""
    },
    {
      "commit": "7f89d09c0f4a47119834ba15789260b933123ea5",
      "tree": "69a8676dad50967012b6abe98bdd7e1f859ecce9",
      "parents": [
        "5f5354e35ab3b2a0cb4cabb6d0aa5a160225ccc8"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 12:33:00 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 12:33:00 2011 -0800"
      },
      "message": "To support DRM files without file extension\n\nChange-Id: Ie7701048d0dbd51bf358364014a1b41c894b664c\n"
    },
    {
      "commit": "ebdc652a891659d83386c3f92715ad6c70c8ba2d",
      "tree": "6aa8964f4c963e717a00d65afceedb6d12a68f2c",
      "parents": [
        "5f5354e35ab3b2a0cb4cabb6d0aa5a160225ccc8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 02 09:42:45 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 02 12:26:14 2011 -0800"
      },
      "message": "PV\u0027s mp3 decoder mistreated inputBufferCurrentLength in unit of bytes as in unit of bits\n\nbug - 3464899\n\nChange-Id: Idef81a1bd3846d60fc5e4a40c11ce1ba78ebaa23\n"
    },
    {
      "commit": "3fd91baee812919f53a85c5c05f32606313f8334",
      "tree": "24783b0ba138d001b58f6a718a1e45df8063bf73",
      "parents": [
        "5f5354e35ab3b2a0cb4cabb6d0aa5a160225ccc8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 11:10:10 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 11:14:44 2011 -0800"
      },
      "message": "Provide better duration and seek accuracy if playing vorbis audio from a non-streaming source.\n\nChange-Id: Ib823c2dd28e84f4c49e3676f4e4962a6e006b166\nrelated-to-bug: 3107013\n"
    },
    {
      "commit": "5f5354e35ab3b2a0cb4cabb6d0aa5a160225ccc8",
      "tree": "7244e5a590df555a0e5ffb3fcf209e36dc76ef57",
      "parents": [
        "2a21ff5f51f74d98fcdee96dff1da658da8da84b",
        "196855ed4eb4681c4d3504438706caf6b505c9d6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 01 20:08:07 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 20:08:07 2011 -0800"
      },
      "message": "Merge \"Add support for up to 32 buffers per Surface\""
    },
    {
      "commit": "2a21ff5f51f74d98fcdee96dff1da658da8da84b",
      "tree": "0d8f8f977cbcb98439b5d9b3454db877e62e31da",
      "parents": [
        "d71a0e1ac517cf312b9a96fe5ba9de04f2b9ffd4",
        "2a7e0a1eb29306982fd77bdc64d324464a48a2b9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 01 17:11:26 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 17:11:26 2011 -0800"
      },
      "message": "Merge \"Get rid of redundant media profiles\""
    },
    {
      "commit": "2a7e0a1eb29306982fd77bdc64d324464a48a2b9",
      "tree": "394731f4a2cfb40c76de91decce1520c0a705dac",
      "parents": [
        "c0bff9b96152179650dc9508799a38e35ef2a321"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 28 21:07:39 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 01 15:58:59 2011 -0800"
      },
      "message": "Get rid of redundant media profiles\n\nbug - 3330679\n\nChange-Id: Idc55aea32746c0c57552c5e15a289681421aa859\n"
    },
    {
      "commit": "196855ed4eb4681c4d3504438706caf6b505c9d6",
      "tree": "918f3e894052911861838533796705c962712e13",
      "parents": [
        "6fa83fbad4bf779c6677d525d434f0738726465e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 28 18:09:43 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 01 14:09:06 2011 -0800"
      },
      "message": "Add support for up to 32 buffers per Surface\n\nBug: 3488016\n\nChange-Id: Ie5536ad77d42a4d0e8270e0fd87ecb73471bcbbc\n"
    },
    {
      "commit": "d71a0e1ac517cf312b9a96fe5ba9de04f2b9ffd4",
      "tree": "110dc24af6e6f8120738656436f1e20bdd5e8f0d",
      "parents": [
        "c0bff9b96152179650dc9508799a38e35ef2a321"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 12:18:41 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 12:35:18 2011 -0800"
      },
      "message": "Fix issue 3499926.\n\nMake sure that NumberEffectsEnabled is decremented at the same time as\nSamplesToExitCountBb reaches 0 in Effect_process(). Not doing so\ncauses NumberEffectsEnabled not being decremented if Effect_setEnabled()\nis called after SamplesToExitCountBb reaches 0 and before next Effect_process() is called.\n\nChange-Id: Id827a301f93a5a09ecd9995a0c7d731ef526711a\n"
    },
    {
      "commit": "c0bff9b96152179650dc9508799a38e35ef2a321",
      "tree": "711b978cd32555fe181cb36260f702753c19396e",
      "parents": [
        "59e7879a8482284a434268d51b4b438f0625d1be",
        "243f5f91755c01614a8cafe90b0806396e22d553"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 11:46:15 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 11:46:15 2011 -0800"
      },
      "message": "Merge \"Fix issue 3479042.\""
    },
    {
      "commit": "532492cd60a3ee2613cd3d664c9f4581d9929bc5",
      "tree": "b53c6be95d7d54e1fa4ef0369ec38bcccd844055",
      "parents": [
        "d2d38d5c937c552555aec8aa2eb9822a19b2476b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 10:28:01 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 11:42:43 2011 -0800"
      },
      "message": "Fix issue 3388775.\n\nDo not select A2DP output for media strategy when it is suspended because\nBT SCO is active. Media audio will be routed to speakers or SCO HS\n(depending on phone state and activity on stream VOICE_CALL) which is less\nconfusing than not hearing anything while music progress bar is moving.\n\nChange-Id: Iff8cc1ea9bf9bde0b33035c4d91398db0934b836\n"
    },
    {
      "commit": "59e7879a8482284a434268d51b4b438f0625d1be",
      "tree": "8538fc40ac0fbea7a45b8db3e90c005adc8f077c",
      "parents": [
        "e13e24b6e8a7c2d0244ba575e309fb1254119a82",
        "3c14b9745c4afc88cec247d9dd0b003e087cbb52"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 01 11:41:29 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 11:41:29 2011 -0800"
      },
      "message": "Merge \"Stagefright: Query buffer usage from the component.\""
    },
    {
      "commit": "e13e24b6e8a7c2d0244ba575e309fb1254119a82",
      "tree": "6cdccfa869301126e7f8f88db4453bcb81ea8aad",
      "parents": [
        "d2d38d5c937c552555aec8aa2eb9822a19b2476b",
        "e2ce6458659c6e1bad420357b61dc10cd8bbe2ab"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 01 10:25:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 10:25:38 2011 -0800"
      },
      "message": "Merge \"Add an OMX IL API for querying buffer usage flags.\""
    },
    {
      "commit": "d2d38d5c937c552555aec8aa2eb9822a19b2476b",
      "tree": "0c7c0d4c4e3a65f83fd44fbfbe825d927676d6c6",
      "parents": [
        "6fa83fbad4bf779c6677d525d434f0738726465e",
        "74006804065941841883c4b46ee785070164023f"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 01 10:24:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 10:24:55 2011 -0800"
      },
      "message": "Merge \"Fix error recovery in Stagefright init.\""
    },
    {
      "commit": "243f5f91755c01614a8cafe90b0806396e22d553",
      "tree": "d6f4e9f1593f468967f75a82f21d8058a93c5ed1",
      "parents": [
        "8ddeebb93cb41e7a8e9fe763afb6c6016b21fa61"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 28 16:52:51 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 28 16:52:51 2011 -0800"
      },
      "message": "Fix issue 3479042.\n\nThe problem is that when an AudioRecord using the resampler is restarted,\nthe resampler state is not reset (as there is no reset function in the resampler).\nThe consequence is that the first time the record thread loop runs, it calls the resampler\nwhich consumes the remaining data in the input buffer and when this buffer is released\nthe input index is incremented over the limit.\n\nThe fix consists in implementing a reset function in the resampler.\n\nA similar problem was also present for playback but unoticed because the track buffer is always\ndrained by the mixer when a track stops. The only problem for playback was that the initial\nphase fraction was wrong when restarting a track after stop (it was correct after a pause).\n\nChange-Id: Ifc2585d685f4402d29f4afc63f6efd1d69265de3\n"
    },
    {
      "commit": "258d4e3aef7984574b0972a66871afc8a13d8e4e",
      "tree": "e43f95881328489ac23c72a3a58830a963223289",
      "parents": [
        "3911a720270fc0326accfa4a3df427a649a45487"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Feb 27 15:10:34 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 28 12:53:31 2011 -0800"
      },
      "message": "Stagefright: Use the ANW min undequeued bufs query.\n\nThis change modifies Stagefright\u0027s ANativeWindow initialization to use\nthe new MIN_UNDEQUEUED_BUFFERS query on the ANativeWindow.\n\nChange-Id: I62565945e90ac40de326de77adcfa5577ed89975\nRelated-Bug: 3356050\n"
    },
    {
      "commit": "74006804065941841883c4b46ee785070164023f",
      "tree": "7ad683fcf66330919b9015c5ff7d44bb8fb7d220",
      "parents": [
        "633b4c8cc1f41370576aa43e6c5a70e4865a36df"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Feb 22 18:33:06 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 28 12:23:23 2011 -0800"
      },
      "message": "Fix error recovery in Stagefright init.\n\nThis change fixes the error path of\nOMXCodec::allocateOutputBuffersFromNativeWindow so that it cancels the\ncorrect number of buffers if a dequeueBuffer operation fails.\n\nChange-Id: Ib7cdcdf24f1718bc070ad218a5980949c0e942eb\n"
    },
    {
      "commit": "3c14b9745c4afc88cec247d9dd0b003e087cbb52",
      "tree": "41a11dc48c86b3eb0352f35d3ff389ec14bced8c",
      "parents": [
        "e2ce6458659c6e1bad420357b61dc10cd8bbe2ab"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Feb 24 12:48:17 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 28 12:12:58 2011 -0800"
      },
      "message": "Stagefright: Query buffer usage from the component.\n\nThis change makes Stagefright query the gralloc buffer usage flags from\nthe OMX IL component and passing those flags on to the ANativeWindow.\n\nChange-Id: Ic9af8a9e6df9ff4aadc7355890324d68841bc488\nRelated-Bug: 3479027\n"
    },
    {
      "commit": "e2ce6458659c6e1bad420357b61dc10cd8bbe2ab",
      "tree": "89a59a1cef847dc359dbf013f0c76d94f6363918",
      "parents": [
        "3911a720270fc0326accfa4a3df427a649a45487"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Feb 23 19:01:28 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 28 12:12:20 2011 -0800"
      },
      "message": "Add an OMX IL API for querying buffer usage flags.\n\nThis change defines an OpenMAX IL API for querying from the IL component\nthe gralloc buffer usage flags that should be used to allocate the\nbuffers.  It also adds the Stagefright plumbing for using the new OMX IL\nAPI.\n\nChange-Id: I046b5e7be70ce61e2a921dcdc6e3aa9324d19ea6\nRelated-Bug: 3479027\n"
    },
    {
      "commit": "6fa83fbad4bf779c6677d525d434f0738726465e",
      "tree": "99e9ee8cd5ef6b7d652faae11e5d9771d59d33ab",
      "parents": [
        "3911a720270fc0326accfa4a3df427a649a45487",
        "ff98976e40459e910cfd1a7693bb08cff4dabd42"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 28 11:27:09 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 11:27:09 2011 -0800"
      },
      "message": "Merge \"The color conversion from YUV420Planar to RGB only requires the image width to be a multiple of 2, not 4.\""
    },
    {
      "commit": "3911a720270fc0326accfa4a3df427a649a45487",
      "tree": "e98e8af175fed14bdafc771ca74f46471c969fd6",
      "parents": [
        "4855ea69d520613cba4ca67d622020c264845b83",
        "c83d4f56f9dd45f71c0f4673737f0ad1cce60abb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Feb 28 10:40:28 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 10:40:28 2011 -0800"
      },
      "message": "Merge \"Add the option \u0027-S\u0027 to use surface allocated buffers in the stagefright cmdline tool.\""
    },
    {
      "commit": "4855ea69d520613cba4ca67d622020c264845b83",
      "tree": "4a6fe2a08945db6fafd8ac38df346bfea5ce9219",
      "parents": [
        "8ddeebb93cb41e7a8e9fe763afb6c6016b21fa61",
        "043b22dbe3b98a8fdd6b0ea77df4089ff44b6539"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 28 09:33:59 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 09:33:59 2011 -0800"
      },
      "message": "Merge \"Fix bug 3376700 Volume too loud at lowest setting\""
    },
    {
      "commit": "c83d4f56f9dd45f71c0f4673737f0ad1cce60abb",
      "tree": "8f2165d47809c353c37976fe92b389cfec225c23",
      "parents": [
        "60181854194007eef9471c2774a9912ce8c42cfa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Feb 28 09:23:13 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Feb 28 09:23:13 2011 -0800"
      },
      "message": "Add the option \u0027-S\u0027 to use surface allocated buffers in the stagefright cmdline tool.\n\nChange-Id: Ic84eeed1679d6bf68c92de0e20d30e7a3c4d410f\n"
    },
    {
      "commit": "8ddeebb93cb41e7a8e9fe763afb6c6016b21fa61",
      "tree": "808255cd5bf6a072306cc1c2d203b01baf7b46e6",
      "parents": [
        "60181854194007eef9471c2774a9912ce8c42cfa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 21 09:37:13 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 28 08:39:13 2011 -0800"
      },
      "message": "Bug 3447027 Limit previews for DRM video\n\nChange-Id: I5b15cf6a15623cf73f007c59143ab5e3fa5a07e8\n"
    },
    {
      "commit": "043b22dbe3b98a8fdd6b0ea77df4089ff44b6539",
      "tree": "89c89d943b159a8f9d6c1c98379ff54f42767337",
      "parents": [
        "60181854194007eef9471c2774a9912ce8c42cfa"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Feb 27 16:41:21 2011 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Feb 27 16:41:21 2011 -0800"
      },
      "message": "Fix bug 3376700 Volume too loud at lowest setting\n\nChange volume attenuation curve to provide more attenuation at\n low volume settings, and finer steps at high volume.\nSee bug entry for link to doc with curve values.\n\nChange-Id: I750548b2161a4c550ef982ba793156e4518119e8\n"
    },
    {
      "commit": "60181854194007eef9471c2774a9912ce8c42cfa",
      "tree": "9232fad7dac365eeaad84efbbdd973cb0f0b851a",
      "parents": [
        "c3def8f37854be6af6e3936a210399a59267a49e",
        "5f19885a4e25270d842423483e41c19656decccc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 26 13:33:16 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Feb 26 13:33:16 2011 -0800"
      },
      "message": "am fbd67fec: (-s ours) am 0600fff9: DO NOT MERGE: MTP: Add support for dynamically adding and removing storage units\n\n* commit \u0027fbd67fec87e425cfbbd80926cec8cd345d134b4c\u0027:\n  DO NOT MERGE: MTP: Add support for dynamically adding and removing storage units\n"
    },
    {
      "commit": "5f19885a4e25270d842423483e41c19656decccc",
      "tree": "5ff0930a8bad87f7ed284c296cc3e7f5a53b135a",
      "parents": [
        "02b959962097577bcebfb31206fba1fe84fe2ed2",
        "512493119d8fcebe33bf8cf0becde6b398307d10"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 26 13:21:23 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Feb 26 13:21:23 2011 -0800"
      },
      "message": "am 0600fff9: DO NOT MERGE: MTP: Add support for dynamically adding and removing storage units\n\n* commit \u00270600fff9149df3af01e90d4996b70dbc1ee7c135\u0027:\n  DO NOT MERGE: MTP: Add support for dynamically adding and removing storage units\n"
    },
    {
      "commit": "512493119d8fcebe33bf8cf0becde6b398307d10",
      "tree": "9e34f5aeff1924f0e6cf00d529e0d6d608d7cc3a",
      "parents": [
        "34d1115f15d2ca6a39a7e2d39988c6353d3d6438"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Feb 18 09:07:14 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 26 14:32:45 2011 -0500"
      },
      "message": "DO NOT MERGE: MTP: Add support for dynamically adding and removing storage units\n\nBUG: 3402847\n\nChange-Id: I46e90f546a8d72c273cd7f2de2d086bb6dbdc1b8\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c3def8f37854be6af6e3936a210399a59267a49e",
      "tree": "9232fad7dac365eeaad84efbbdd973cb0f0b851a",
      "parents": [
        "633b4c8cc1f41370576aa43e6c5a70e4865a36df",
        "02b959962097577bcebfb31206fba1fe84fe2ed2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 25 15:43:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 25 15:43:07 2011 -0800"
      },
      "message": "am cd6828e8: (-s ours) am 2332cd8c: Merge \"DO NOT MERGE: Cherry picked hacks to better hide A/V sync issues.\" into honeycomb\n\n* commit \u0027cd6828e84220c6bdf92bbca12fcd88a8da76387c\u0027:\n  DO NOT MERGE: Cherry picked hacks to better hide A/V sync issues.\n"
    },
    {
      "commit": "02b959962097577bcebfb31206fba1fe84fe2ed2",
      "tree": "d81c975c47f9b0dba899d5deaec9bfdc9f2f53e4",
      "parents": [
        "d3ce2e8677a6fcf1ea0dae3efb5d74b8718b2819",
        "34d1115f15d2ca6a39a7e2d39988c6353d3d6438"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 25 15:38:06 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 25 15:38:06 2011 -0800"
      },
      "message": "am 2332cd8c: Merge \"DO NOT MERGE: Cherry picked hacks to better hide A/V sync issues.\" into honeycomb\n\n* commit \u00272332cd8c675628f3bdd6e46a8dd6da639bd7f76e\u0027:\n  DO NOT MERGE: Cherry picked hacks to better hide A/V sync issues.\n"
    },
    {
      "commit": "633b4c8cc1f41370576aa43e6c5a70e4865a36df",
      "tree": "9232fad7dac365eeaad84efbbdd973cb0f0b851a",
      "parents": [
        "18eb42eca6949158e630eae38a70db8f837c17c8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 24 21:16:54 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 25 11:19:40 2011 -0800"
      },
      "message": "mp4a box contains mp3 audio when the object type indication is 0x6b\n\nIn this case, the MediaExtractor returns ERROR_UNSUPPORTED since our\nsoftware MP3 audio decoder may not be able to handle packetized\nMP3 audio.\n\nbug - 3377570\n\nChange-Id: I8bb6b3813716b5fa019e318842e8e1908b3c8bf8\n"
    },
    {
      "commit": "34d1115f15d2ca6a39a7e2d39988c6353d3d6438",
      "tree": "ec4162dc14c666fef282a0baa98538094f12d66d",
      "parents": [
        "eda6c364c253ba97ee45a3adeb8c2b45db1f81db"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 25 09:13:53 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 25 09:13:53 2011 -0800"
      },
      "message": "DO NOT MERGE: Cherry picked hacks to better hide A/V sync issues.\n\nSquashed commit of the following:\n\ncommit b1732e9b8bfea4c99bd07907c9aac9fcf1e8b264\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Feb 24 12:05:40 2011 -0800\n\n    DO NOT MERGE: Alternate patch for late video issue: seek only the video ahead to the next\n\n    syncframe after the current audio media position, leave audio untouched.\n\n    Change-Id: I4f6eb4e577147bc12ed2e998bea299f4bcfaf936\n    related-to-bug: 3375737\n\ncommit 5e7282cf0b5c7a613da5e65fd6c8cb33a1058f8e\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Feb 11 13:09:36 2011 -0800\n\n    DO NOT MERGE: Start playing (and decoding) audio only after the first video frame has been decoded.\n\n    if there\u0027s both audio and video content. This gives the video decoder an opportunity\n    to fill its internal buffer queue at the start of playback.\n\n    Change-Id: If17c4243546b1c27c8e5ee43941654d0e36f5ee5\n    related-to-bug: 3431702\n\nChange-Id: Ic3a6be467ff7ad09da04b1d2bb1a692ee38002b4\n"
    },
    {
      "commit": "18eb42eca6949158e630eae38a70db8f837c17c8",
      "tree": "6cff1251a9dccc1e6238bc0a5f0d77e9b48be5cf",
      "parents": [
        "827b55c5f3409b68ef57816208220d8804693e44",
        "64bb6983690bf994d904591145a3cdd6373bdbe6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 16:26:14 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 16:26:14 2011 -0800"
      },
      "message": "Merge \"Alternate patch for late video issue: seek only the video ahead to the next\""
    },
    {
      "commit": "827b55c5f3409b68ef57816208220d8804693e44",
      "tree": "65876f2b881d52f6a3fec94564a0baf0d0802627",
      "parents": [
        "72feaa5df1f7b15b18e30592653dc511dc0b8c51",
        "7314fa17093d514199fedcb55ac41136a1b31cb3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 14:49:10 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 14:49:10 2011 -0800"
      },
      "message": "Merge \"Suppress the logging of URLs when in incognito mode.\""
    },
    {
      "commit": "7314fa17093d514199fedcb55ac41136a1b31cb3",
      "tree": "87378f5d573dd94da744bdecf42f011dad05abea",
      "parents": [
        "9287abf2657bee9464965c37bdaa866d023c9d89"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 14:42:48 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 14:42:48 2011 -0800"
      },
      "message": "Suppress the logging of URLs when in incognito mode.\n\nChange-Id: Ib951b495eae15669e160ef54686eab0eeb9b366a\nrelated-to-bug: 3336575\n"
    },
    {
      "commit": "64bb6983690bf994d904591145a3cdd6373bdbe6",
      "tree": "ea4ad0c189bb08a23db52880f21867a769189e22",
      "parents": [
        "9287abf2657bee9464965c37bdaa866d023c9d89"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 12:05:40 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 13:32:38 2011 -0800"
      },
      "message": "Alternate patch for late video issue: seek only the video ahead to the next\n\nsyncframe after the current audio media position, leave audio untouched.\n\nChange-Id: Ia9fa8e205467e5460c8219afd396bddd09fcfb46\nrelated-to-bug: 3375737\n"
    },
    {
      "commit": "72feaa5df1f7b15b18e30592653dc511dc0b8c51",
      "tree": "11ddd737877c1e9f93cf9ad5a7ac9b5403d5f934",
      "parents": [
        "e23da615c0b1721fe7d9d2e06e82e43b9bd89df3",
        "1173118eace0e9e347cb007f0da817cee87579ed"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 24 12:37:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 12:37:02 2011 -0800"
      },
      "message": "Merge \"Bug 3438258 Add SurfaceTexture as MediaPlayer sink\""
    },
    {
      "commit": "e23da615c0b1721fe7d9d2e06e82e43b9bd89df3",
      "tree": "fcf91d4d01dbd2f1edd3ec7d63c458f4060d6f86",
      "parents": [
        "9287abf2657bee9464965c37bdaa866d023c9d89"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 24 09:16:43 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 24 10:10:32 2011 -0800"
      },
      "message": "Fix MP3Extractor\n\nWhen the temp buffer wraps around, the next read position should start\nfrom what have been read to avoid reading the same remaining bytes in\nthe buffer again.\n\no also fix some of the formatting string for logging\n\nbug - 3482444\n\nChange-Id: Ie0b56f4691ff9e80a48a57f1b7d0d28c78cfb313\n"
    },
    {
      "commit": "9287abf2657bee9464965c37bdaa866d023c9d89",
      "tree": "034cc54bc1e61082510c588d5d76529a96cb3e55",
      "parents": [
        "6f7a293c1bbf993ff712927e3e14af0d195cf1c1",
        "8c8f24dce1dfc2d1eed8f7856ffceaa349afa2a6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 24 08:17:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 08:17:02 2011 -0800"
      },
      "message": "Merge \"Don\u0027t crash when parsing DRM MIME types\""
    },
    {
      "commit": "6f7a293c1bbf993ff712927e3e14af0d195cf1c1",
      "tree": "7aa567d3e1209295b495de91e7160e362a918ddc",
      "parents": [
        "17e89b555a41aa591f1a01ecd51a7cb5a7bcfc0e",
        "d42c6e8904f1648a7dedcd1dc27b926951f8ff28"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Feb 24 02:51:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 02:51:17 2011 -0800"
      },
      "message": "Merge \"Add YV12 preview format to camera parameter constants.\""
    },
    {
      "commit": "d42c6e8904f1648a7dedcd1dc27b926951f8ff28",
      "tree": "840c0ee7b94dfb325a2e20e3cfb0af099c3213f7",
      "parents": [
        "1de41a66e3e7b548ee44e6654580e5f6f7265b11"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Feb 22 15:49:25 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Feb 24 18:19:48 2011 +0800"
      },
      "message": "Add YV12 preview format to camera parameter constants.\n\nbug:3463624\nChange-Id: I8f2992dadfd3fb9e3c9d67743e52da7f3212827e\n"
    },
    {
      "commit": "17e89b555a41aa591f1a01ecd51a7cb5a7bcfc0e",
      "tree": "1f8962490e2d9d7b88e8b2b2806c83849b8ca63b",
      "parents": [
        "676ae7591c5260869f89efe2380afaacb79bacc9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 23 17:07:49 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 23 17:11:41 2011 -0800"
      },
      "message": "d263 may contain optional bitr box, and thus its size can be up to 23 bytes\n\nbug - 3482703\n\nChange-Id: Id6fdf9d1f4a304954c018b67d50bd79a07164687\n"
    },
    {
      "commit": "676ae7591c5260869f89efe2380afaacb79bacc9",
      "tree": "740653e1a3b85e7e3fd20950be7b11cdc4c1126f",
      "parents": [
        "7e20422fb3b0c11b18ae142f3be08f9bf65bfd4b",
        "95d7e994c73c17b27c7134ba3cc3acbb5889aa87"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 23 15:23:13 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 23 15:23:13 2011 -0800"
      },
      "message": "Merge \"Remove RefBase.h dependency on TextOutput.h\""
    },
    {
      "commit": "1173118eace0e9e347cb007f0da817cee87579ed",
      "tree": "d2d23b2120010097d1edda29cd0adffd938105c3",
      "parents": [
        "f7f3e824a8cb2b38355db8e4f99e43b90ee71ce4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 08 17:26:17 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 23 15:02:56 2011 -0800"
      },
      "message": "Bug 3438258 Add SurfaceTexture as MediaPlayer sink\n\nThis change enables the use of a SurfaceTexture in place of a Surface\nas the video sink for an android.media.MediaPlayer. The new API\nMediaPlayer.setTexture is currently hidden.\n\nThis includes:\n - New Java and C++ interfaces\n - C++ plumbing and implementation (JNI, Binder)\n - Stagefright AwesomePlayer and NuPlayer use ANativeWindow\n   (either Surface or SurfaceTextureClient)\n\nChange-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51\n"
    },
    {
      "commit": "7e20422fb3b0c11b18ae142f3be08f9bf65bfd4b",
      "tree": "1a0c01e50ec0c7c17c19f3fa319bb8b330fee1c4",
      "parents": [
        "f7f3e824a8cb2b38355db8e4f99e43b90ee71ce4",
        "75b0b5473c7b43f8c5972db7e6e8930988ead751"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 23 14:12:33 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 23 14:12:33 2011 -0800"
      },
      "message": "Merge \"To collect the total usage time of encoders in the media recorder\""
    },
    {
      "commit": "75b0b5473c7b43f8c5972db7e6e8930988ead751",
      "tree": "d4372d334eb5784028647ee37a984e374e8e7c63",
      "parents": [
        "51b9a8b53eaa1a0188be95d4d6a749424787e0d6"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 23 11:47:34 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 23 13:20:21 2011 -0800"
      },
      "message": "To collect the total usage time of encoders in the media recorder\n\nChange-Id: I94c9c94dec6bd714a3ebf96b4465b94f069e55b8\n"
    },
    {
      "commit": "f7f3e824a8cb2b38355db8e4f99e43b90ee71ce4",
      "tree": "a94990fc4beef239ce5f44f9eb196df926a872fd",
      "parents": [
        "51b9a8b53eaa1a0188be95d4d6a749424787e0d6",
        "e468ac57f6e8afc6078c76d4eb1ac327112a3de0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 23 10:38:21 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 23 10:38:21 2011 -0800"
      },
      "message": "Merge \"Application-managed callback buffer support for raw image\""
    },
    {
      "commit": "51b9a8b53eaa1a0188be95d4d6a749424787e0d6",
      "tree": "098b73dc47ef13b88c0598493b1b4bec3ea451aa",
      "parents": [
        "8e0e1979f0f41487b0f18aa5b9c8c52a39ca27f4",
        "7cf180c9bff69e5cc4a2f4e53b432db45ebbebab"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 23 09:58:33 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 23 09:58:33 2011 -0800"
      },
      "message": "Merge \"- Add method in MediaPlayerService to collect and pull   codec usage (duration) for the battery app - Collect MediaPlayer decoding usage data\""
    },
    {
      "commit": "7cf180c9bff69e5cc4a2f4e53b432db45ebbebab",
      "tree": "05d25862b1e1f30ffc31fe2ca2128ff68810df1b",
      "parents": [
        "1de41a66e3e7b548ee44e6654580e5f6f7265b11"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Sat Feb 19 18:37:57 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 22 22:42:05 2011 -0800"
      },
      "message": "- Add method in MediaPlayerService to collect and pull\n  codec usage (duration) for the battery app\n- Collect MediaPlayer decoding usage data\n\nChange-Id: I0ef4e32b6a041ba1fe73c19f9c67185c61d03965\n"
    },
    {
      "commit": "e468ac57f6e8afc6078c76d4eb1ac327112a3de0",
      "tree": "b6f657aa11261327f5f4743dd54f796e73ec328b",
      "parents": [
        "8e0e1979f0f41487b0f18aa5b9c8c52a39ca27f4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 17 16:38:06 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 20:48:15 2011 -0800"
      },
      "message": "Application-managed callback buffer support for raw image\n\nbug - 3292153\n\nChange-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2\n"
    },
    {
      "commit": "95d7e994c73c17b27c7134ba3cc3acbb5889aa87",
      "tree": "c28723f5f8601c5000bb4f5499abf8e91da6d879",
      "parents": [
        "8e0e1979f0f41487b0f18aa5b9c8c52a39ca27f4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 16 15:23:08 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 22 18:08:58 2011 -0800"
      },
      "message": "Remove RefBase.h dependency on TextOutput.h\n\nChange-Id: I72cd6b98ef82b4868fe1c8ec87862cf43fb4ee73\n"
    },
    {
      "commit": "8e0e1979f0f41487b0f18aa5b9c8c52a39ca27f4",
      "tree": "c572654ad4f22a50890f3a64edec67bba1d8a3f8",
      "parents": [
        "fcea8f7a7d178e5426aa06586cff54726e18d1f6",
        "c498a2747314b1e863eab6a22aaf7323642ba62a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 16:52:12 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 22 16:52:12 2011 -0800"
      },
      "message": "Merge \"Remove mkvparser code from /frameworks/base\""
    },
    {
      "commit": "c498a2747314b1e863eab6a22aaf7323642ba62a",
      "tree": "ac6837ea83c9cece69630a62734d7c6e12058478",
      "parents": [
        "1de41a66e3e7b548ee44e6654580e5f6f7265b11"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 15:12:15 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 16:33:50 2011 -0800"
      },
      "message": "Remove mkvparser code from /frameworks/base\n\nbug - 3322129\n\nChange-Id: I94dca6234ce57c9a32290aa7ac4885b0a2f566a9\n"
    },
    {
      "commit": "fcea8f7a7d178e5426aa06586cff54726e18d1f6",
      "tree": "3ceea0c1696a4d69305fa101200186525962d2aa",
      "parents": [
        "a849440ca96e93f700d62c6e41d48905b4d405b6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 16:25:00 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 16:25:00 2011 -0800"
      },
      "message": "Support for PCMA and PCMU raw audio data in RTP/RTSP.\n\nChange-Id: Icb87bdfa7cf572c572e2a86c46fa072d9fad18f6\nrelated-to-bug: 3084183\n"
    },
    {
      "commit": "a849440ca96e93f700d62c6e41d48905b4d405b6",
      "tree": "4df33307f6d972f4465c542390dd7ef3606eea58",
      "parents": [
        "39a5f1bbf88c124dc24b34d718a2d95f577b5bf1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Feb 18 09:07:14 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 22 13:57:23 2011 -0800"
      },
      "message": "MTP: Add support for dynamically adding and removing storage units\n\nBUG: 3402847\n\nChange-Id: I7da266061d949abcb6bb11c6faaa47b5e4a2a977\n"
    },
    {
      "commit": "39a5f1bbf88c124dc24b34d718a2d95f577b5bf1",
      "tree": "7bc473fd2c339d63d8ea1ca52b9d8fef2f75aaf2",
      "parents": [
        "f1d985081cff2a6aa2397c5341da8432db753211",
        "55e26193c885b7d5acdae9978848e6587987790f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 13:51:22 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 22 13:51:22 2011 -0800"
      },
      "message": "Merge \"Support more MPEG4-LATM audio functionality.\""
    },
    {
      "commit": "55e26193c885b7d5acdae9978848e6587987790f",
      "tree": "292e5adc85140f3e19c264c922fac3c04c8877a3",
      "parents": [
        "1de41a66e3e7b548ee44e6654580e5f6f7265b11"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 11:46:35 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 13:21:38 2011 -0800"
      },
      "message": "Support more MPEG4-LATM audio functionality.\n\nrelated-to-bug: 3474610\n\nChange-Id: I6dab40e8b465922c62be9ee7f168718822c6caac\nNow skipping extra header that the spec claimed shouldn\u0027t be present in LATM...\n"
    },
    {
      "commit": "f1d985081cff2a6aa2397c5341da8432db753211",
      "tree": "35be45778b79efba7e591ca58ff58890cc5a3574",
      "parents": [
        "1de41a66e3e7b548ee44e6654580e5f6f7265b11"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 12:34:02 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 12:34:02 2011 -0800"
      },
      "message": "Check file descriptor before passing it through binder calls\n\nbug - 3476613\n\nChange-Id: I858933fd2fe4c095c0bd58bf50344c47fc104be9\n"
    },
    {
      "commit": "1de41a66e3e7b548ee44e6654580e5f6f7265b11",
      "tree": "83cd99f5e978752330b7a29a66eea8c35d9f436d",
      "parents": [
        "d4366e89e46317673a97516ee2d25768038dc444"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Feb 18 22:42:26 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Feb 18 22:42:26 2011 -0800"
      },
      "message": "Move all Widevine code which have dependency on vendor modules to vendor/widevine\n\nChange-Id: If75bce539bae02117fb4f628be64e3a7363375e9\n"
    },
    {
      "commit": "d4366e89e46317673a97516ee2d25768038dc444",
      "tree": "d166ef7e7cfaf4bfbb215c9fb8b2c21b36c2ddb0",
      "parents": [
        "0e10ea4e9773fc9c6c391b5b391a95e29edf29e4"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 15 10:34:26 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Feb 18 16:10:53 2011 -0800"
      },
      "message": "- Update from Widevine\n- Bug fixes\n\nChange-Id: I494cfe145e7aad36f3d8c68841cab847487dd85b\n"
    },
    {
      "commit": "8c8f24dce1dfc2d1eed8f7856ffceaa349afa2a6",
      "tree": "d682a1fe8dd3cfbf04ca9dda91fcd07e5e4addf9",
      "parents": [
        "0e10ea4e9773fc9c6c391b5b391a95e29edf29e4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 18 15:42:25 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 18 15:42:25 2011 -0800"
      },
      "message": "Don\u0027t crash when parsing DRM MIME types\n\nChange-Id: I414897c911a6588061ddbb5f05c574e78162dca9\n"
    },
    {
      "commit": "0e10ea4e9773fc9c6c391b5b391a95e29edf29e4",
      "tree": "83cd99f5e978752330b7a29a66eea8c35d9f436d",
      "parents": [
        "a472613aec322e25891abf5c77bf3f7e3c244920",
        "8cb0c4168bf4b678e4a6edfcf409247016be20d5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 17 14:52:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 17 14:52:38 2011 -0800"
      },
      "message": "Merge \"Experimental support for https transfers in stagefright.\""
    },
    {
      "commit": "a472613aec322e25891abf5c77bf3f7e3c244920",
      "tree": "2b8aa12e87fff0c143d50022f9f413305dc7882f",
      "parents": [
        "f71eb135c28dd7b305b7030776ef0d44fac732c4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 16 12:28:26 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 17 14:43:16 2011 -0800"
      },
      "message": "A/V synchronization at the beginning of a recording session\n\no do not use edts/elst boxes since these optional boxes are ignored\no manipulate the first video/audio frame duration to make sure that the rest\n  of the audio/video is in sync (ideally, we should only manipulate\n  the vidoe frame duration, not the audio)\no reduce the initial audio mute/suppression period, which is used to\n  eliminate the \"recording\" sound.\n\nbug - 3405882 and 3362703\n\nChange-Id: Ib0acfb4f3843b365157288951dc122b006299c18\n"
    },
    {
      "commit": "8cb0c4168bf4b678e4a6edfcf409247016be20d5",
      "tree": "d3a274bc9913bacca91d58456697823b31bbaf93",
      "parents": [
        "f71eb135c28dd7b305b7030776ef0d44fac732c4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 17 13:35:08 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 17 14:30:05 2011 -0800"
      },
      "message": "Experimental support for https transfers in stagefright.\n\nChange-Id: If1bd0f265dda136c7c34b53317f64383023b53a3\n"
    },
    {
      "commit": "f71eb135c28dd7b305b7030776ef0d44fac732c4",
      "tree": "8b93bdfc03c17a45fd469d080e256a443f209c2a",
      "parents": [
        "4fd9736c7719ea121f9717b331b771bef798ee64",
        "d3ce2e8677a6fcf1ea0dae3efb5d74b8718b2819"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 14:31:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 16 14:31:27 2011 -0800"
      },
      "message": "am 09b18c2f: (-s ours) am 79a97489: (-s ours) am dbe09da6: DO NOT MERGE: Respond to RTSP server-\u003eclient requests.\n\n* commit \u002709b18c2f1d5ca6cf25352ae633f2121556a516ab\u0027:\n  DO NOT MERGE: Respond to RTSP server-\u003eclient requests.\n"
    },
    {
      "commit": "d3ce2e8677a6fcf1ea0dae3efb5d74b8718b2819",
      "tree": "17e548e1a86710ac25d23c141cba4d429f822f89",
      "parents": [
        "b03353f45ff2aa588370b773332a4dd70e910517",
        "b8dc45f224232e6ff64c1528b9e549b5a348fcd3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 14:28:01 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 16 14:28:01 2011 -0800"
      },
      "message": "am 79a97489: (-s ours) am dbe09da6: DO NOT MERGE: Respond to RTSP server-\u003eclient requests.\n\n* commit \u002779a97489494deb8bdae85696f612ec7acda54240\u0027:\n  DO NOT MERGE: Respond to RTSP server-\u003eclient requests.\n"
    },
    {
      "commit": "b8dc45f224232e6ff64c1528b9e549b5a348fcd3",
      "tree": "8ad228cdb1f9835979aae05d4463cf1437beefaa",
      "parents": [
        "6d91a2069f58ed054889371cbce3a294f3207338",
        "917429960b0e0d0c363e849f482f6aeb11c9b7d7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 14:24:53 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 16 14:24:53 2011 -0800"
      },
      "message": "am dbe09da6: DO NOT MERGE: Respond to RTSP server-\u003eclient requests.\n\n* commit \u0027dbe09da6ac4d1e9e78e5c8f33fbc6d32822ba7ed\u0027:\n  DO NOT MERGE: Respond to RTSP server-\u003eclient requests.\n"
    },
    {
      "commit": "917429960b0e0d0c363e849f482f6aeb11c9b7d7",
      "tree": "57c91cb610d3802f798e2de85333d3b8afb8e65a",
      "parents": [
        "b81c1b65e58186b5e7abf8f894c9b0f2f317ec09"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 13:20:02 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 13:37:19 2011 -0800"
      },
      "message": "DO NOT MERGE: Respond to RTSP server-\u003eclient requests.\n\nEven if it\u0027s just to tell them that we don\u0027t support any (this is optional).\n\nChange-Id: Iee50b4020f28a47dfbe5d56f1732fe044b3b3655\nrelated-to-bug: 3353752\n"
    },
    {
      "commit": "4fd9736c7719ea121f9717b331b771bef798ee64",
      "tree": "8b93bdfc03c17a45fd469d080e256a443f209c2a",
      "parents": [
        "6b61f4355db1974cd0f0dfaa4effdd7117b9f09b",
        "5ef152132b477a07fa31b2ddd39f4cf7a29f68b4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 13:27:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 16 13:27:02 2011 -0800"
      },
      "message": "Merge \"Respond to RTSP server-\u003eclient requests.\""
    },
    {
      "commit": "5ef152132b477a07fa31b2ddd39f4cf7a29f68b4",
      "tree": "1628c6bc356cc5901abafab0a523d51e6b0344c4",
      "parents": [
        "b5377f908fc3649b490406e3db34601dca2f7ac3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 13:20:02 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 13:21:35 2011 -0800"
      },
      "message": "Respond to RTSP server-\u003eclient requests.\n\nEven if it\u0027s just to tell them that we don\u0027t support any (this is optional).\n\nChange-Id: I557865ac00d0fb65ffa69363eb1eceaabe522a1a\nrelated-to-bug: 3353752\n"
    },
    {
      "commit": "6b61f4355db1974cd0f0dfaa4effdd7117b9f09b",
      "tree": "245a116df537b42dcff6eb66b4675cc07908d892",
      "parents": [
        "b5377f908fc3649b490406e3db34601dca2f7ac3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 15 10:08:07 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 16 11:23:21 2011 -0800"
      },
      "message": "Decouple AudioRecord read and audio encoding\n\nbug - 3313754\n\nChange-Id: I951dd0e21e34aa1412c391f003bc32103d0424b0\n"
    },
    {
      "commit": "b5377f908fc3649b490406e3db34601dca2f7ac3",
      "tree": "e38162fe54457b3b943eb7e049dfd122822aa3fe",
      "parents": [
        "81dbe9e509a494437bc18ad54d95c8383fcc0e4c",
        "ed8d14f6a934072cd012992c4ef16990a54baa9a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 10:12:11 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 16 10:12:11 2011 -0800"
      },
      "message": "Merge \"Remove legacy, AwesomePlayer-based http live implementation.\""
    },
    {
      "commit": "81dbe9e509a494437bc18ad54d95c8383fcc0e4c",
      "tree": "4fc9513c98046b9eaf99e1951c990938a9c231aa",
      "parents": [
        "d48a6044fddc910f17e67650f280e91e7aaf5e65",
        "b03353f45ff2aa588370b773332a4dd70e910517"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 09:23:11 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 16 09:23:11 2011 -0800"
      },
      "message": "am 0bbf9667: (-s ours) am 16d94f58: (-s ours) am 8db7a7bf: Merge \"DO NOT MERGE: Derive the Transport \"source\" attribute from the RTSP endpoint address if necessary\" into gingerbread\n\n* commit \u00270bbf96675783758b6ffdff8996d7166ae1dec15b\u0027:\n  DO NOT MERGE: Derive the Transport \"source\" attribute from the RTSP endpoint address if necessary\n"
    },
    {
      "commit": "ed8d14f6a934072cd012992c4ef16990a54baa9a",
      "tree": "e38162fe54457b3b943eb7e049dfd122822aa3fe",
      "parents": [
        "d48a6044fddc910f17e67650f280e91e7aaf5e65"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 09:05:38 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 09:19:40 2011 -0800"
      },
      "message": "Remove legacy, AwesomePlayer-based http live implementation.\n\nChange-Id: I455d0faa5612dcd4d2bb6f2b3c7b64a1caaabf69\n"
    },
    {
      "commit": "b03353f45ff2aa588370b773332a4dd70e910517",
      "tree": "17e548e1a86710ac25d23c141cba4d429f822f89",
      "parents": [
        "9b8bc08b1a991b88d29fb94cf67706e0e331bec5",
        "6d91a2069f58ed054889371cbce3a294f3207338"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 09:10:19 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 16 09:10:19 2011 -0800"
      },
      "message": "am 16d94f58: (-s ours) am 8db7a7bf: Merge \"DO NOT MERGE: Derive the Transport \"source\" attribute from the RTSP endpoint address if necessary\" into gingerbread\n\n* commit \u002716d94f580a50dafbe4dda3e9fe2ef47897ac1fe5\u0027:\n  DO NOT MERGE: Derive the Transport \"source\" attribute from the RTSP endpoint address if necessary\n"
    },
    {
      "commit": "6d91a2069f58ed054889371cbce3a294f3207338",
      "tree": "c26ebe28ac486d442a5e2536b3692eed33f4a746",
      "parents": [
        "69686c47220cf6c85b91d741fc3a08eb46887ad1",
        "b81c1b65e58186b5e7abf8f894c9b0f2f317ec09"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 16 09:02:08 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 16 09:02:08 2011 -0800"
      },
      "message": "am 8db7a7bf: Merge \"DO NOT MERGE: Derive the Transport \"source\" attribute from the RTSP endpoint address if necessary\" into gingerbread\n\n* commit \u00278db7a7bfadc7bdfa30f60bb06063f91b19234096\u0027:\n  DO NOT MERGE: Derive the Transport \"source\" attribute from the RTSP endpoint address if necessary\n"
    },
    {
      "commit": "d48a6044fddc910f17e67650f280e91e7aaf5e65",
      "tree": "4fc9513c98046b9eaf99e1951c990938a9c231aa",
      "parents": [
        "43270a821f418f57140220b4c78c559d880850ef",
        "50c44c79d2d7dd6cd1485d9d939f67f80b8da1ca"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 15 17:22:01 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 15 17:22:01 2011 -0800"
      },
      "message": "Merge \"Add AAC extractor\""
    },
    {
      "commit": "50c44c79d2d7dd6cd1485d9d939f67f80b8da1ca",
      "tree": "61d66fea96dd44389fc80833c7d033b696c9b000",
      "parents": [
        "727a6f859841a1d421b680f56d4d4ca5ff8c6e4b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 02 14:12:49 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 15 17:16:22 2011 -0800"
      },
      "message": "Add AAC extractor\n\nChange-Id: Iedb08525ac72e65ba98e5c791734da0720a0e3f6\n"
    }
  ],
  "next": "43270a821f418f57140220b4c78c559d880850ef"
}
