)]}'
{
  "log": [
    {
      "commit": "b4ff90196e0bff3d80bb922933cd646381c2d1b4",
      "tree": "f0433f593bfc135e69753a49579b7d3f6aae1ca3",
      "parents": [
        "3ec866c1ea1a9b254bb41383311887b53dc418d4",
        "0dcd837af4169bdb6fb2a0c384722dc4f57433c6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 15:55:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 15:55:44 2010 -0700"
      },
      "message": "am beffefa2: Merge \"RTSP seeking is now asynchronous, MediaPlayer is not notified that the seek is complete until it actually is. Ignore seek requests on live streams.\" into gingerbread\n\nMerge commit \u0027beffefa24f398b610d58dd583d9f5613dc529c28\u0027 into gingerbread-plus-aosp\n\n* commit \u0027beffefa24f398b610d58dd583d9f5613dc529c28\u0027:\n  RTSP seeking is now asynchronous, MediaPlayer is not notified that the seek is complete until it actually is. Ignore seek requests on live streams.\n"
    },
    {
      "commit": "0dcd837af4169bdb6fb2a0c384722dc4f57433c6",
      "tree": "44e53d1d603e1d52315add06cc998c2e9fbecc7b",
      "parents": [
        "c68a48c474f609df3eeb7d9738675d6ac8835e0a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 15:21:08 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 15:25:19 2010 -0700"
      },
      "message": "RTSP seeking is now asynchronous, MediaPlayer is not notified that the seek is complete until it actually is. Ignore seek requests on live streams.\n\nChange-Id: Ie61230cd60dd6c682baf72529100369ad6291189\nrelated-to-bug: 3073955\n"
    },
    {
      "commit": "3ec866c1ea1a9b254bb41383311887b53dc418d4",
      "tree": "2a1035c99a0e1592e7df08bf2ab536f47e533c55",
      "parents": [
        "abc40fd3f7effc025ccad91d05f5d6bb2a4c857c",
        "c68a48c474f609df3eeb7d9738675d6ac8835e0a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 12:54:32 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 12:54:32 2010 -0700"
      },
      "message": "am 0fd4e216: Merge \"Refactor some more h.264 utility code out into avc_utils. Work around a hardware decoder issue by making sure the first access unit submitted to a decoder at startup or after seek is an IDR.\" into gingerbread\n\nMerge commit \u00270fd4e216e7d6045528d5d1010f8b5f01581efb10\u0027 into gingerbread-plus-aosp\n\n* commit \u00270fd4e216e7d6045528d5d1010f8b5f01581efb10\u0027:\n  Refactor some more h.264 utility code out into avc_utils. Work around a hardware decoder issue by making sure the first access unit submitted to a decoder at startup or after seek is an IDR.\n"
    },
    {
      "commit": "c68a48c474f609df3eeb7d9738675d6ac8835e0a",
      "tree": "4513bc3b15dc583bbca45db9c67f4d0aba8b1172",
      "parents": [
        "6f3cba53efdd985ab13734c7ad90eb373ae9b9f7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 12:06:27 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 12:06:27 2010 -0700"
      },
      "message": "Refactor some more h.264 utility code out into avc_utils. Work around a hardware decoder issue by making sure the first access unit submitted to a decoder at startup or after seek is an IDR.\n\nChange-Id: I61936601e55df7e4c23a8c13087579a4f85bd6e6\n"
    },
    {
      "commit": "abc40fd3f7effc025ccad91d05f5d6bb2a4c857c",
      "tree": "91a79c33daecf61915236eb503fcaa8ceb39c7b5",
      "parents": [
        "c7e61d5e67a8218d33835a1b5ca0256b30699ae7",
        "6f3cba53efdd985ab13734c7ad90eb373ae9b9f7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 11:18:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 11:18:03 2010 -0700"
      },
      "message": "am f72dd019: Merge \"Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\" into gingerbread\n\nMerge commit \u0027f72dd0190ee64914161d361be1213eda8cab7b90\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f72dd0190ee64914161d361be1213eda8cab7b90\u0027:\n  Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\n"
    },
    {
      "commit": "6f3cba53efdd985ab13734c7ad90eb373ae9b9f7",
      "tree": "7cc426c49690a424cb2aa9dcbe9bfbe50e0c93a3",
      "parents": [
        "e6d26450e5a01be5b7f1343578e7237e68db7737",
        "70f521de2675ce6eedf4b22beed94ea1289b0f38"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 11:16:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 11:16:07 2010 -0700"
      },
      "message": "Merge \"Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\" into gingerbread"
    },
    {
      "commit": "c7e61d5e67a8218d33835a1b5ca0256b30699ae7",
      "tree": "ea075851f690c181dcc312227aa317e40e5c5d2e",
      "parents": [
        "6a3bc8ca890fae9019c668c9f6262403f0769d44",
        "e6d26450e5a01be5b7f1343578e7237e68db7737"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 11:05:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 11:05:10 2010 -0700"
      },
      "message": "am b9bf5457: Merge \"Respect the cropping rectangle when extracting the video dimensions from the sequence parameter set of H.264 streams.\" into gingerbread\n\nMerge commit \u0027b9bf545774b1f1dbd35c34c4060a6ebdd2bc843c\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b9bf545774b1f1dbd35c34c4060a6ebdd2bc843c\u0027:\n  Respect the cropping rectangle when extracting the video dimensions from the sequence parameter set of H.264 streams.\n"
    },
    {
      "commit": "e6d26450e5a01be5b7f1343578e7237e68db7737",
      "tree": "cba10f376c16c13bb5008a5511ad3e9e83e36ca5",
      "parents": [
        "cb71fba37c51352d6e980bfe1f3e93ff803d550e",
        "2d511ff0eb4c6127659795b642825c55879a15bc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:59:52 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 10:59:52 2010 -0700"
      },
      "message": "Merge \"Respect the cropping rectangle when extracting the video dimensions from the sequence parameter set of H.264 streams.\" into gingerbread"
    },
    {
      "commit": "2d511ff0eb4c6127659795b642825c55879a15bc",
      "tree": "5cfaf37477930356da3fd16015bba54d731cc28d",
      "parents": [
        "f4ea1f92bc56a8ffceddba0dbd3979fe0219b13c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:38:39 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:38:39 2010 -0700"
      },
      "message": "Respect the cropping rectangle when extracting the video dimensions from the sequence parameter set of H.264 streams.\n\nChange-Id: Id7f21d5ab8533b4e17ceaa8619a39c27f0306150\n"
    },
    {
      "commit": "6a3bc8ca890fae9019c668c9f6262403f0769d44",
      "tree": "15bd69f77212fde2d20868c3ea0b28fa097c01d2",
      "parents": [
        "a5412b0431a22e52a4cc1623b92eb48fcd4d985c",
        "cb71fba37c51352d6e980bfe1f3e93ff803d550e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 08 10:35:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 10:35:57 2010 -0700"
      },
      "message": "am 6dcdfdb4: Merge \"Name the writer threads\" into gingerbread\n\nMerge commit \u00276dcdfdb42a562747dceb1e9fb2aa10c67d18959f\u0027 into gingerbread-plus-aosp\n\n* commit \u00276dcdfdb42a562747dceb1e9fb2aa10c67d18959f\u0027:\n  Name the writer threads\n"
    },
    {
      "commit": "a5412b0431a22e52a4cc1623b92eb48fcd4d985c",
      "tree": "8a145c9978c5a22510c967ea53df92751d94736b",
      "parents": [
        "74684081846ee6e68325fa5aba5c45b7447fd368",
        "80d41229f6207602b298cb3de89af2ee5e776bee"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:35:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 10:35:53 2010 -0700"
      },
      "message": "am c5912acc: Merge \"Disable the access unit timeout temporarily while a seek operation is in progress.\" into gingerbread\n\nMerge commit \u0027c5912acc04226a8f9377d1aad50de8d3f883854c\u0027 into gingerbread-plus-aosp\n\n* commit \u0027c5912acc04226a8f9377d1aad50de8d3f883854c\u0027:\n  Disable the access unit timeout temporarily while a seek operation is in progress.\n"
    },
    {
      "commit": "70f521de2675ce6eedf4b22beed94ea1289b0f38",
      "tree": "fe477ecc5b9fbec01d41a458cc17bcf867f9809d",
      "parents": [
        "f4ea1f92bc56a8ffceddba0dbd3979fe0219b13c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:16:24 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:16:24 2010 -0700"
      },
      "message": "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\n\nChange-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2\nrelated-to-bug: 3073955\n"
    },
    {
      "commit": "cb71fba37c51352d6e980bfe1f3e93ff803d550e",
      "tree": "d211ba305a4dd96e0fe9b4e3f8c3910f0b84aa05",
      "parents": [
        "80d41229f6207602b298cb3de89af2ee5e776bee",
        "a6f61fc8e3d06373c17f0a38ff600e2b71c414fa"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 08 10:06:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 10:06:22 2010 -0700"
      },
      "message": "Merge \"Name the writer threads\" into gingerbread"
    },
    {
      "commit": "80d41229f6207602b298cb3de89af2ee5e776bee",
      "tree": "0722c18deebdca1ff04449e4b313905eef57b92d",
      "parents": [
        "bea16187c176837d35e7294f1f14ac195c5d5cad",
        "a9d9dd2425c32f6868c35f49a3e8f29aafba931a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:01:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 10:01:37 2010 -0700"
      },
      "message": "Merge \"Disable the access unit timeout temporarily while a seek operation is in progress.\" into gingerbread"
    },
    {
      "commit": "a9d9dd2425c32f6868c35f49a3e8f29aafba931a",
      "tree": "9afebd98b75d4fda40c7f79c7f6c7a81989d161d",
      "parents": [
        "f4ea1f92bc56a8ffceddba0dbd3979fe0219b13c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 09:04:25 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 09:04:25 2010 -0700"
      },
      "message": "Disable the access unit timeout temporarily while a seek operation is in progress.\n\nChange-Id: I116cb76342aae4168f34ebae49ecb2301702a0ea\nrelated-to-bug: 3073955\n"
    },
    {
      "commit": "74684081846ee6e68325fa5aba5c45b7447fd368",
      "tree": "4f2710d354acd31694fd8bbbaa07fade7f254cc6",
      "parents": [
        "4b43c1f169ab29b2d4dd058573668f7f4ffb8ca1",
        "bea16187c176837d35e7294f1f14ac195c5d5cad"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 08 08:30:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 08:30:03 2010 -0700"
      },
      "message": "am b37fcbfd: Merge \"Added getter for session Id to AudioSink\" into gingerbread\n\nMerge commit \u0027b37fcbfd7f9d65b90b43e0242903030c5a6517b5\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b37fcbfd7f9d65b90b43e0242903030c5a6517b5\u0027:\n  Added getter for session Id to AudioSink\n"
    },
    {
      "commit": "bea16187c176837d35e7294f1f14ac195c5d5cad",
      "tree": "6a64df89a04c9530a512d2523a9d1560db620de5",
      "parents": [
        "f4ea1f92bc56a8ffceddba0dbd3979fe0219b13c",
        "8c563ed9ca8a863a66965330b5d14bb4b4ab59d4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 08 08:28:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 08:28:08 2010 -0700"
      },
      "message": "Merge \"Added getter for session Id to AudioSink\" into gingerbread"
    },
    {
      "commit": "4b43c1f169ab29b2d4dd058573668f7f4ffb8ca1",
      "tree": "8846045a48cee8a846bb8e830a0e5975d817772d",
      "parents": [
        "fbc504d6a8ec1204b5fa203924f8324ff4aa0e74",
        "f4ea1f92bc56a8ffceddba0dbd3979fe0219b13c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 08:17:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 08:17:54 2010 -0700"
      },
      "message": "am bb245d35: Merge \"Increase scratch buffers sizes in mp3 software decoder, this integrates a PV master/opensource patch.\" into gingerbread\n\nMerge commit \u0027bb245d35b6e81d750a91815543973b0a5976352b\u0027 into gingerbread-plus-aosp\n\n* commit \u0027bb245d35b6e81d750a91815543973b0a5976352b\u0027:\n  Increase scratch buffers sizes in mp3 software decoder, this integrates a PV master/opensource patch.\n"
    },
    {
      "commit": "a6f61fc8e3d06373c17f0a38ff600e2b71c414fa",
      "tree": "0199c90919fe72ea0166d8b4a40aeb5d5e073171",
      "parents": [
        "2a4d22d79e927f2245537921e10fc5fda1c47a29"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 07 20:20:59 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 07 20:20:59 2010 -0700"
      },
      "message": "Name the writer threads\n\nChange-Id: I51461c3800ac5850e21ff398e80eb20b562264b3\n"
    },
    {
      "commit": "8c563ed9ca8a863a66965330b5d14bb4b4ab59d4",
      "tree": "b2d2e571aa8618456b27e1cb67a717ca80340e3e",
      "parents": [
        "2a4d22d79e927f2245537921e10fc5fda1c47a29"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 07 18:23:03 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 07 18:23:03 2010 -0700"
      },
      "message": "Added getter for session Id to AudioSink\n\nAdded a method to expose the audio session id at AudioSink interface\nso that the AudioPlayer in stagefright can retrieve it.\n\nAlso:\n- Fixed audio effect send level not being initialized in mediaplayer.\n- Fixed compilation error when LOGV is enabled in mediaplayer JNI\n\nChange-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb\n"
    },
    {
      "commit": "f4ea1f92bc56a8ffceddba0dbd3979fe0219b13c",
      "tree": "8f0773e9d8a4cee272ec1efbdd6dfa41679af9d3",
      "parents": [
        "2a4d22d79e927f2245537921e10fc5fda1c47a29"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 16:48:50 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 16:52:42 2010 -0700"
      },
      "message": "Increase scratch buffers sizes in mp3 software decoder, this integrates a PV master/opensource patch.\n\nChange-Id: I5a637f1b380e44c94040ec507843d58a1f5a9b61\nrelated-to-bug: 3065605\n"
    },
    {
      "commit": "fbc504d6a8ec1204b5fa203924f8324ff4aa0e74",
      "tree": "c4e6adc37469742e2288bbf902b3059cb926c48a",
      "parents": [
        "da91f0b87bded1e4ebc9cc1a1712c7a0d44fba84",
        "2272ee27d9022d173b6eab45c409b3c3f57f30ec"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Oct 07 15:27:17 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Oct 07 15:27:17 2010 -0700"
      },
      "message": "resolved conflicts for merge of e6ad0e47 to gingerbread-plus-aosp\n\nChange-Id: I63b00932b0f8b975da31aa9a010369db2d49fd76\n"
    },
    {
      "commit": "da91f0b87bded1e4ebc9cc1a1712c7a0d44fba84",
      "tree": "6345839c3d83daea788ff7ed31d5e0469bcfcc49",
      "parents": [
        "712a002fa3a507158c9ae3435b843edd3a69d7e8",
        "2a4d22d79e927f2245537921e10fc5fda1c47a29"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 14:02:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 14:02:26 2010 -0700"
      },
      "message": "am 949f7d90: Merge \"Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\" into gingerbread\n\nMerge commit \u0027949f7d9066e09768e570686a5695aaba4a1dafd0\u0027 into gingerbread-plus-aosp\n\n* commit \u0027949f7d9066e09768e570686a5695aaba4a1dafd0\u0027:\n  Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\n"
    },
    {
      "commit": "712a002fa3a507158c9ae3435b843edd3a69d7e8",
      "tree": "c8e6f853f8baf4d9466c1979efc85d127c8c2370",
      "parents": [
        "8746c2cf3192033237b465a2834817bf473b9583",
        "2b82e9652ba049e754c2cc74e381282f231d5fbf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 14:02:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 14:02:01 2010 -0700"
      },
      "message": "am 02654f01: Merge \"On this particular device the hardware video decoder spits out buffers that don\\\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\" into gingerbread\n\nMerge commit \u002702654f01bc6bd2e581b4a1d2409ecea217294fa2\u0027 into gingerbread-plus-aosp\n\n* commit \u002702654f01bc6bd2e581b4a1d2409ecea217294fa2\u0027:\n  On this particular device the hardware video decoder spits out buffers that don\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\n"
    },
    {
      "commit": "2a4d22d79e927f2245537921e10fc5fda1c47a29",
      "tree": "1452ec4c157a5f701d4aea84f2107477d5324d94",
      "parents": [
        "2b82e9652ba049e754c2cc74e381282f231d5fbf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 08 14:32:20 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 11:41:43 2010 -0700"
      },
      "message": "Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\n\nChange-Id: I7150e5e7342e1117c524856b204aadcb763e06ed\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "2b82e9652ba049e754c2cc74e381282f231d5fbf",
      "tree": "8b4d7249f6a0ae009088918f19d17be00d36ea10",
      "parents": [
        "0bcae473ba1cd1d72e7cef8fbab449db060dc8d7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 06 16:43:57 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 09:19:25 2010 -0700"
      },
      "message": "On this particular device the hardware video decoder spits out buffers that don\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\n\nChange-Id: I1b8fe68c1766299844fe84ebbff49cb8b3e4cc7c\nrelated-to-bug: 3070094\n"
    },
    {
      "commit": "8746c2cf3192033237b465a2834817bf473b9583",
      "tree": "d5a9c667ab9ea782f20b3c53ac9b989790c884b7",
      "parents": [
        "a782d22f3eacd337c135feb12362934fc0adb6ca",
        "0bcae473ba1cd1d72e7cef8fbab449db060dc8d7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 05 17:10:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 05 17:10:59 2010 -0700"
      },
      "message": "am 37947afe: Merge \"Fixed AudioFlinger not always pausing tracks\" into gingerbread\n\nMerge commit \u002737947afe904220bdf0a1a85a22824d8619be8e36\u0027 into gingerbread-plus-aosp\n\n* commit \u002737947afe904220bdf0a1a85a22824d8619be8e36\u0027:\n  Fixed AudioFlinger not always pausing tracks\n"
    },
    {
      "commit": "0bcae473ba1cd1d72e7cef8fbab449db060dc8d7",
      "tree": "6ce584158c0eb6cf4b5bc956e976f7c40f26eb39",
      "parents": [
        "b2e3954c94717e43b3dc9b880564f166cfbbc0a2",
        "af59ce2407fa4e6e5d8f1664a4df2daf1badd407"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 05 17:06:16 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 05 17:06:16 2010 -0700"
      },
      "message": "Merge \"Fixed AudioFlinger not always pausing tracks\" into gingerbread"
    },
    {
      "commit": "af59ce2407fa4e6e5d8f1664a4df2daf1badd407",
      "tree": "6a7eacbbcc46026be5fa06535c80e3de357c4e79",
      "parents": [
        "50817931e4cb4ae0019fd13c831a2839349834c5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 05 14:41:42 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 05 14:41:42 2010 -0700"
      },
      "message": "Fixed AudioFlinger not always pausing tracks\n\nIf the pause request is received before the AudioTrack buffer was\ncompletelly filled and the track ready for mixing, the pause is\nnot executed: the track just underruns and stays in pausing state.\n\nThe fix consists in considering the track ready for mixing immediately\nif pausing.\n\nChange-Id: Ia6cb4703fee2126e41011a6400ea8eeb3a3e5456\n"
    },
    {
      "commit": "a782d22f3eacd337c135feb12362934fc0adb6ca",
      "tree": "73939ca570485beda8d81191f3f44637ce019bc6",
      "parents": [
        "b0ade8a64d3b3bee75b544313d2047efbb9604f7",
        "b2e3954c94717e43b3dc9b880564f166cfbbc0a2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 14:13:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 05 14:13:16 2010 -0700"
      },
      "message": "am 17bc4f65: Merge \"Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\" into gingerbread\n\nMerge commit \u002717bc4f65324a823598e7671256c815bf32ddcc95\u0027 into gingerbread-plus-aosp\n\n* commit \u002717bc4f65324a823598e7671256c815bf32ddcc95\u0027:\n  Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\n"
    },
    {
      "commit": "b2e3954c94717e43b3dc9b880564f166cfbbc0a2",
      "tree": "3ebd2a7b944856cd2048a05aec0c11b4e639a9ee",
      "parents": [
        "50817931e4cb4ae0019fd13c831a2839349834c5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 10:25:34 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 13:53:39 2010 -0700"
      },
      "message": "Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\n\nChange-Id: Id574a0203efcb5e565f1b0fe77869fc33b9a9d56\n"
    },
    {
      "commit": "b0ade8a64d3b3bee75b544313d2047efbb9604f7",
      "tree": "f486e2888984afdbab713ba0ae3cd8b660e00633",
      "parents": [
        "11e69dea99ca2ace7bf8eb56ce6f6528fc906813",
        "50817931e4cb4ae0019fd13c831a2839349834c5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 04 20:21:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 20:21:14 2010 -0700"
      },
      "message": "am f4619308: Merge \"fix [2835280] Add support for cancelling buffers to ANativeWindow\" into gingerbread\n\nMerge commit \u0027f461930872beb4362998642c115691bdd2e94617\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f461930872beb4362998642c115691bdd2e94617\u0027:\n  fix [2835280] Add support for cancelling buffers to ANativeWindow\n"
    },
    {
      "commit": "50817931e4cb4ae0019fd13c831a2839349834c5",
      "tree": "1492e3966d068becf59073b25ab7c23366dbbdeb",
      "parents": [
        "a007e8229fb2be4866c483f9cd6c4af238a2da5e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 01 16:22:41 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 04 20:10:11 2010 -0700"
      },
      "message": "fix [2835280] Add support for cancelling buffers to ANativeWindow\n\nThere is a new ANativeWindow::cancelBuffer() API that can be used to\ncancel any dequeued buffer, BEFORE it\u0027s been enqueued. The buffer is\nreturned to the list of availlable buffers. dequeue and cancel are not\nmutually thread safe, they must be called from the same thread or\nexternal synchronization must be used.\n\nChange-Id: I86cc7985bace8b6a93ad2c75d2bef5c3c2cb4d61\n"
    },
    {
      "commit": "11e69dea99ca2ace7bf8eb56ce6f6528fc906813",
      "tree": "2153c97b42fad60828fa79a30bcbf3a53751689d",
      "parents": [
        "deed343476e45165ed176c036c8f77b170bacfeb",
        "a007e8229fb2be4866c483f9cd6c4af238a2da5e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 18:39:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 18:39:52 2010 -0700"
      },
      "message": "am 6f1c7bda: Merge \"Fixed an issue where the reserved free space in the file writer was larger than intended\" into gingerbread\n\nMerge commit \u00276f1c7bda39774fe3a1febf72b03c8ad481c1ea54\u0027 into gingerbread-plus-aosp\n\n* commit \u00276f1c7bda39774fe3a1febf72b03c8ad481c1ea54\u0027:\n  Fixed an issue where the reserved free space in the file writer was larger than intended\n"
    },
    {
      "commit": "a007e8229fb2be4866c483f9cd6c4af238a2da5e",
      "tree": "48ef6f33a27a4cdba76218932db8ade197ae190e",
      "parents": [
        "3754a7901b6bed448eaecfbd29a4705b30a6b656"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 16:41:53 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 16:54:59 2010 -0700"
      },
      "message": "Fixed an issue where the reserved free space in the file writer was larger than intended\n\nThe problem was that even though user does not explicitly request the max file size\nlimit via MediaRecorder.setMaxFileSize(), the file writer sets an implicit file\nsize limit if 32-bit file offset is used on user\u0027s behalf. The reserved free space\nis estimated based on the file size, if the file size limit is set by the user.\n\nThe fix is to add an extra bool to tell the difference between an\nexplit requested file size and an implicit file limit and use that\nto set the estimated moov box size accordingly.\n\nChange-Id: I731aca6c7833aa764ed7b905edb77721577471b3\n"
    },
    {
      "commit": "deed343476e45165ed176c036c8f77b170bacfeb",
      "tree": "28cdb014b5126c76b3f3e9638370e077628d2dc4",
      "parents": [
        "8b62c6ae868e01f4c5783566fe2fa20408b61caf",
        "3754a7901b6bed448eaecfbd29a4705b30a6b656"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 15:48:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 15:48:59 2010 -0700"
      },
      "message": "am b99f0c7e: Merge \"Resilent media time stamp adjustment\" into gingerbread\n\nMerge commit \u0027b99f0c7eae365f788a21944fef28de580c7f5f92\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b99f0c7eae365f788a21944fef28de580c7f5f92\u0027:\n  Resilent media time stamp adjustment\n"
    },
    {
      "commit": "3754a7901b6bed448eaecfbd29a4705b30a6b656",
      "tree": "41cb42b8bd8be0d6c8368c77982786307cba7070",
      "parents": [
        "83977eb230d829cfe520f55d7977037a904ce548",
        "872a481558350634a3fd5cb67939de288af00ecb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 15:35:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 04 15:35:40 2010 -0700"
      },
      "message": "Merge \"Resilent media time stamp adjustment\" into gingerbread"
    },
    {
      "commit": "872a481558350634a3fd5cb67939de288af00ecb",
      "tree": "8b3f5ec0bfa93323084e677dd1aa715e3e1b7d64",
      "parents": [
        "1fd01cbce6edb54334579f89e49a679207204619"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Oct 03 10:59:26 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 15:11:19 2010 -0700"
      },
      "message": "Resilent media time stamp adjustment\n\nChange-Id: I13ab87c05f26bb11a3cc9bf8559f98e6ea0752db\n"
    },
    {
      "commit": "8b62c6ae868e01f4c5783566fe2fa20408b61caf",
      "tree": "267d82161d660a6622be0ae6abc538d4e7d5d106",
      "parents": [
        "66e3c30dc6c6e46bd56cb3dcd9fbd732c517a887",
        "83977eb230d829cfe520f55d7977037a904ce548"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 04 11:47:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 11:47:52 2010 -0700"
      },
      "message": "am aa1a694d: Merge \"Make sure to finish the preparation phase even EOS occurs before we consider the cache to be completely filled up.\" into gingerbread\n\nMerge commit \u0027aa1a694dc78e5201fc83fe3d710a6e43eb62831a\u0027 into gingerbread-plus-aosp\n\n* commit \u0027aa1a694dc78e5201fc83fe3d710a6e43eb62831a\u0027:\n  Make sure to finish the preparation phase even EOS occurs before we consider the cache to be completely filled up.\n"
    },
    {
      "commit": "83977eb230d829cfe520f55d7977037a904ce548",
      "tree": "e22b71a92ede66fbf60655026135ba5a02e10f7a",
      "parents": [
        "6954535ba64374e4e941cd83019a7af53edfb098"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 04 11:36:39 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 04 11:36:39 2010 -0700"
      },
      "message": "Make sure to finish the preparation phase even EOS occurs before we consider the cache to be completely filled up.\n\nChange-Id: I29143e357fb6ea7b860636100e010f2ea7436798\nrelated-to-bug: 3037389\n"
    },
    {
      "commit": "66e3c30dc6c6e46bd56cb3dcd9fbd732c517a887",
      "tree": "17d1636681fa6a294ad4f06dcacc8217378b321c",
      "parents": [
        "97b4b6461f61f14f19cee147531de619816b11a7",
        "6954535ba64374e4e941cd83019a7af53edfb098"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 04 11:22:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 11:22:22 2010 -0700"
      },
      "message": "am 7fa69374: Merge \"Don\\\u0027t retrieve metadata unless necessary for ogg-vorbis ringtone auto-looping.\" into gingerbread\n\nMerge commit \u00277fa693740756123fa9d05e62fb47aae5d703c71d\u0027 into gingerbread-plus-aosp\n\n* commit \u00277fa693740756123fa9d05e62fb47aae5d703c71d\u0027:\n  Don\u0027t retrieve metadata unless necessary for ogg-vorbis ringtone auto-looping.\n"
    },
    {
      "commit": "6954535ba64374e4e941cd83019a7af53edfb098",
      "tree": "a0466610752a3c3807e6d3f06ba302cb17b99013",
      "parents": [
        "1fd01cbce6edb54334579f89e49a679207204619"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 04 11:09:31 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 04 11:09:31 2010 -0700"
      },
      "message": "Don\u0027t retrieve metadata unless necessary for ogg-vorbis ringtone auto-looping.\n\nChange-Id: Iaf5880bb3376f9cbf22aefe198878eaf6f3f08c7\nrelated-to-bug: 3037389\n"
    },
    {
      "commit": "2272ee27d9022d173b6eab45c409b3c3f57f30ec",
      "tree": "42fd86597781bdf6b3795907ec1d086b0b549a5c",
      "parents": [
        "0335b70c6cdbe96650d4bed817f9233cd8db1c6d"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Sep 20 23:40:41 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Oct 04 22:14:53 2010 +0900"
      },
      "message": "Update of DRM framework.\n\n  - Change \"void\" type of return value to \"int\" for returning status.\n  - Add some of overloaded Java APIs which accept database Uri as input.\n  - Add asynchronous APIs\n  - Add OnEventListener and OnErrorListener for asynchronous APIs\n  - Disable debug log\n  - Change decrypt() API to accept an optional buffer needed by some of DRM schemes\n\nChanges are incorporated by Sony Corporation.\n\nChange-Id: I414a165e22cc79be6ea7cd28041788aa2b6b8f7c\n"
    },
    {
      "commit": "97b4b6461f61f14f19cee147531de619816b11a7",
      "tree": "87ba0e44fe1e0c5a7bbe72cc91c5c49a17ba7205",
      "parents": [
        "555e9dc7439d89846f4d76046d45b628e2d7499e",
        "1fd01cbce6edb54334579f89e49a679207204619"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 01 17:32:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 17:32:16 2010 -0700"
      },
      "message": "am 6c609b6a: Merge \"Turn off media time adjustment by default\" into gingerbread\n\nMerge commit \u00276c609b6a60e533a93c6d0088222bd8da209b9953\u0027 into gingerbread-plus-aosp\n\n* commit \u00276c609b6a60e533a93c6d0088222bd8da209b9953\u0027:\n  Turn off media time adjustment by default\n"
    },
    {
      "commit": "1fd01cbce6edb54334579f89e49a679207204619",
      "tree": "df63ec3344863f107d9105353d466197079cd9c9",
      "parents": [
        "a49c0d09653da20a7194d96fa43b230b2580ba75",
        "d0ea545d8357e7d86ad5f19cb2c6499c91786473"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 01 17:27:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 01 17:27:51 2010 -0700"
      },
      "message": "Merge \"Turn off media time adjustment by default\" into gingerbread"
    },
    {
      "commit": "d0ea545d8357e7d86ad5f19cb2c6499c91786473",
      "tree": "19fcb23a99680467103c95f5891a8a3740339340",
      "parents": [
        "44d9848d6656777a18019223e0d35f2fcc67719a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 01 17:14:23 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Oct 01 17:14:23 2010 -0700"
      },
      "message": "Turn off media time adjustment by default\n\nChange-Id: I1f8021d605d0fd896e0639607a84e3f7c459612e\n"
    },
    {
      "commit": "555e9dc7439d89846f4d76046d45b628e2d7499e",
      "tree": "142a8171dac4eef595557a60f83241f14b1aef06",
      "parents": [
        "c0c726a34f2a35623e0451315d86bead0dcc8f2e",
        "a49c0d09653da20a7194d96fa43b230b2580ba75"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 11:37:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 11:37:44 2010 -0700"
      },
      "message": "am e619a9da: Merge \"Start playing live streams from the start, no the middle...\" into gingerbread\n\nMerge commit \u0027e619a9da44e4c00f9034917aef67f86da0bc207f\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e619a9da44e4c00f9034917aef67f86da0bc207f\u0027:\n  Start playing live streams from the start, no the middle...\n"
    },
    {
      "commit": "a49c0d09653da20a7194d96fa43b230b2580ba75",
      "tree": "299bae8c244fda62a15accb97d08941680c89de6",
      "parents": [
        "caf5a483b16c2d123eddcf28241ad71131568033",
        "6466853f05e3f3b050de210490cc0fc855e60bb7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 11:35:17 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 01 11:35:17 2010 -0700"
      },
      "message": "Merge \"Start playing live streams from the start, no the middle...\" into gingerbread"
    },
    {
      "commit": "6466853f05e3f3b050de210490cc0fc855e60bb7",
      "tree": "b3d88697f2ee371f5fc3490850d40199810e3fdd",
      "parents": [
        "6a63a939601645404fd98f58c19cc38ca818d99e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 11:28:44 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 11:28:44 2010 -0700"
      },
      "message": "Start playing live streams from the start, no the middle...\n\nChange-Id: Ie01ba1250b51155cb1fb32fc3340189a16c01476\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "c0c726a34f2a35623e0451315d86bead0dcc8f2e",
      "tree": "de1d395d04e87dff3dfd8d80bbd2bed2fd0dc6b3",
      "parents": [
        "32d34824b2bad653ec5e9ef767e50f13a8c182d7",
        "caf5a483b16c2d123eddcf28241ad71131568033"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 11:25:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 11:25:57 2010 -0700"
      },
      "message": "am 469b8033: Merge \"Remove development-only code.\" into gingerbread\n\nMerge commit \u0027469b80336368bef3742e97c15e9017c1f2d404ae\u0027 into gingerbread-plus-aosp\n\n* commit \u0027469b80336368bef3742e97c15e9017c1f2d404ae\u0027:\n  Remove development-only code.\n"
    },
    {
      "commit": "caf5a483b16c2d123eddcf28241ad71131568033",
      "tree": "db423639f9bb1df17bf58a899c39f91449dc4e52",
      "parents": [
        "6a63a939601645404fd98f58c19cc38ca818d99e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 11:19:26 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 11:19:26 2010 -0700"
      },
      "message": "Remove development-only code.\n\nChange-Id: Ic2ca0efb631eb779ca157fb01b02aa19a1222c06\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "32d34824b2bad653ec5e9ef767e50f13a8c182d7",
      "tree": "37e84bda3973a55ff84c5878d6d3911561a9d21c",
      "parents": [
        "b3788b6d0f5a003d3d3e621ad605e2f3f4cb11e8",
        "6a63a939601645404fd98f58c19cc38ca818d99e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 11:03:47 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 11:03:47 2010 -0700"
      },
      "message": "am d1398db3: Merge \"Squashed commit of the following:\" into gingerbread\n\nMerge commit \u0027d1398db35cb2e4d918fc631dda35cacb8540b187\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d1398db35cb2e4d918fc631dda35cacb8540b187\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "6a63a939601645404fd98f58c19cc38ca818d99e",
      "tree": "55a39e29f7b618aabd33ef77c03c8b48c7a1e351",
      "parents": [
        "44d9848d6656777a18019223e0d35f2fcc67719a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 10:51:41 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 01 10:51:41 2010 -0700"
      },
      "message": "Squashed commit of the following:\n\ncommit 46744c7697f29aec71aed8de3c95ce035c284d97\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Sep 30 16:44:57 2010 -0700\n\n    better separation of access units\n\n    Change-Id: I5a9e2138aed341f0bcf22cfe368a15ca5ea5a73c\n\ncommit d34952ac0feb1ae722ff65824d7353335502219b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Sep 30 15:35:01 2010 -0700\n\n    Support for ES packets that do not start on PES packet boundaries.\n\n    Change-Id: I2cf012833948eddfb20b16a1901206cf22ce71e4\n    related-to-bug: 2368598\n\nChange-Id: Ib9329bd6bb7149b5a6e2483788a96b1b158952fc\n"
    },
    {
      "commit": "b3788b6d0f5a003d3d3e621ad605e2f3f4cb11e8",
      "tree": "9a482922a4ad3cbceb79b2646a505e2f03fe5d7c",
      "parents": [
        "1720ba0dd73f807cd9b6d90ffbfa581e18b6de08",
        "44d9848d6656777a18019223e0d35f2fcc67719a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 17:47:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 17:47:07 2010 -0700"
      },
      "message": "am 220ab887: Merge \"Issue 3032913: improve AudioTrack recovery time\" into gingerbread\n\nMerge commit \u0027220ab8877b234e6807b7f6d9028ba55d23220301\u0027 into gingerbread-plus-aosp\n\n* commit \u0027220ab8877b234e6807b7f6d9028ba55d23220301\u0027:\n  Issue 3032913: improve AudioTrack recovery time\n"
    },
    {
      "commit": "44d9848d6656777a18019223e0d35f2fcc67719a",
      "tree": "fe71003d3400dcbdfe078f8d8fad1b1fde960b2c",
      "parents": [
        "922855214d0e8ae4159794d7f751f780b3243552"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 16:12:31 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 17:21:23 2010 -0700"
      },
      "message": "Issue 3032913: improve AudioTrack recovery time\n\nThis issue showed that when an AudioTrack underruns during a too long period\nof time and is therefore disabled by audioflinger mixer, it takes an additional\ndelay of up to 3 seconds to recover.\nThis fix adds a simple mechanism to recover immediately when the client application\nis ready to write data again in the AudioTrack buffer\n\nAlso throttle warnings on record overflows\n\nChange-Id: I8b2c71578dd134b9e60a15ee4d91b70f3799cb3d\n"
    },
    {
      "commit": "1720ba0dd73f807cd9b6d90ffbfa581e18b6de08",
      "tree": "6c56d4f43a4a07a4fc18183103db1391969a1d4d",
      "parents": [
        "307e7f5295fefe8e21113dabebf434cac0d71e6d",
        "922855214d0e8ae4159794d7f751f780b3243552"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 28 21:13:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 21:13:54 2010 -0700"
      },
      "message": "am d6877fa4: Merge \"AMRNB: use Frame_Type_3GPP defined in frame_type_3gpp.h instead.\" into gingerbread\n\nMerge commit \u0027d6877fa4971710150de20453bf4ba54dca863429\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d6877fa4971710150de20453bf4ba54dca863429\u0027:\n  AMRNB: use Frame_Type_3GPP defined in frame_type_3gpp.h instead.\n"
    },
    {
      "commit": "922855214d0e8ae4159794d7f751f780b3243552",
      "tree": "3f5eba57ff2dbec100cf4102b53a2afe27d939fa",
      "parents": [
        "dac69110ed1073bf0a9827a3f78698896dd05d97",
        "88cfb59fde78a07ac8797008cf79b22193e983d9"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 28 21:11:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 21:11:27 2010 -0700"
      },
      "message": "Merge \"AMRNB: use Frame_Type_3GPP defined in frame_type_3gpp.h instead.\" into gingerbread"
    },
    {
      "commit": "88cfb59fde78a07ac8797008cf79b22193e983d9",
      "tree": "7dab8f17fe3cb83e5124a85eed0ab792dc4cc56f",
      "parents": [
        "4a73f3da3501db6e95473a4a653d6319c6d618e2"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Sep 29 11:41:14 2010 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Sep 29 12:00:18 2010 +0800"
      },
      "message": "AMRNB: use Frame_Type_3GPP defined in frame_type_3gpp.h instead.\n\nThis allows gsmamr_enc.h and gsmamr_dec.h to be included in the same\nfile without conflict definition.\n\nChange-Id: I1c8dac235c122735ba14a1af2fda48c0f8d9f87b\n"
    },
    {
      "commit": "307e7f5295fefe8e21113dabebf434cac0d71e6d",
      "tree": "3d21a56f9b46fc696edc830af4d687f1f8c697d4",
      "parents": [
        "f4d14086206af57fa2d0144e94124fa73be84968",
        "dac69110ed1073bf0a9827a3f78698896dd05d97"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 28 16:42:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 16:42:14 2010 -0700"
      },
      "message": "am aeb2c62e: Merge \"Fix several audio effects problems.\" into gingerbread\n\nMerge commit \u0027aeb2c62e7669f004512c42ad8572d1fdd2c25f68\u0027 into gingerbread-plus-aosp\n\n* commit \u0027aeb2c62e7669f004512c42ad8572d1fdd2c25f68\u0027:\n  Fix several audio effects problems.\n"
    },
    {
      "commit": "dac69110ed1073bf0a9827a3f78698896dd05d97",
      "tree": "db990d1cf1867854ffbf39585c0ce19e436c56b9",
      "parents": [
        "036fad5034d05beecae19da6da46e1ce7be78e64"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 28 14:09:57 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 28 14:23:39 2010 -0700"
      },
      "message": "Fix several audio effects problems.\n\nFixed the following issues in LVM effect bundle wrapper:\n- memory leaks in EffectCreate() in case effect creation fails at various stages\n- Added saturation when accumulating to output buffer\n- Fixed problems with enabled effects count when an effect is released while enabled\n- Do not allocate temporary buffer for accumulation each time process() is called\n\nFixed the following issues in effects framework (AudioFlinger)\n- Release effect synchronously in the library when deleted from effect chain\n- Do not call the effect process function if no tracks are present in the same\naudio session\n\nChange-Id: Ifbd80a163415cfb3c0a337c12082853ea45d9c91\n"
    },
    {
      "commit": "f4d14086206af57fa2d0144e94124fa73be84968",
      "tree": "45f5aad814ca406b0d5eec12b8f10d1852111351",
      "parents": [
        "10d64915079bfb316a3949fe7fa35dca37a92af4",
        "036fad5034d05beecae19da6da46e1ce7be78e64"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 13:26:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 13:26:26 2010 -0700"
      },
      "message": "am 88a995ed: Merge \"Properly flush the AudioTrack/AudioSink on a seek request and make sure that both the mp3 decoder and aac software decoders start fresh after a seek without any dependency on previously decoded content.\" into gingerbread\n\nMerge commit \u002788a995edcf3c371845cb32aed8bcddb7509bf875\u0027 into gingerbread-plus-aosp\n\n* commit \u002788a995edcf3c371845cb32aed8bcddb7509bf875\u0027:\n  Properly flush the AudioTrack/AudioSink on a seek request and make sure that both the mp3 decoder and aac software decoders start fresh after a seek without any dependency on previously decoded content.\n"
    },
    {
      "commit": "036fad5034d05beecae19da6da46e1ce7be78e64",
      "tree": "b39d7bbc2bd8ebab9c90d35bd1f9b1c9debc248a",
      "parents": [
        "6fd2b44b156c4ef28e131183f0fe8f7dcecfcc6e",
        "c7d368d990303dc5369c7c61579f88c5059dc8d7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 13:23:26 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 13:23:26 2010 -0700"
      },
      "message": "Merge \"Properly flush the AudioTrack/AudioSink on a seek request and make sure that both the mp3 decoder and aac software decoders start fresh after a seek without any dependency on previously decoded content.\" into gingerbread"
    },
    {
      "commit": "c7d368d990303dc5369c7c61579f88c5059dc8d7",
      "tree": "b14a6f51fc145d8f63bfbda1124f4b1b944bbdd8",
      "parents": [
        "ed54ad0f8619ae416b0968ade6248894cbfc4dba"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 13:13:38 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 13:13:38 2010 -0700"
      },
      "message": "Properly flush the AudioTrack/AudioSink on a seek request and make sure that both the mp3 decoder and aac software decoders start fresh after a seek without any dependency on previously decoded content.\n\nChange-Id: I4909fdf19518dbabb6c340e2a31b50dfe6c5b067\nrelated-to-bug: 3029947\n"
    },
    {
      "commit": "10d64915079bfb316a3949fe7fa35dca37a92af4",
      "tree": "daf0a730f42ffefdb1d811f197c11a7e9d30f3f4",
      "parents": [
        "668549b81b97fe706d15d5f6d4b767f63796e022",
        "6fd2b44b156c4ef28e131183f0fe8f7dcecfcc6e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 12:05:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 12:05:08 2010 -0700"
      },
      "message": "am be045061: Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread\n\nMerge commit \u0027be0450619528e65eebfa1d7eab78fde757d094cc\u0027 into gingerbread-plus-aosp\n\n* commit \u0027be0450619528e65eebfa1d7eab78fde757d094cc\u0027:\n  Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n"
    },
    {
      "commit": "6fd2b44b156c4ef28e131183f0fe8f7dcecfcc6e",
      "tree": "d5313827aae770a8d4cef80b43c7030d8cb1f159",
      "parents": [
        "8211da9eabe28037ebcc23bbfbbe20cb21cb0cdc",
        "ed54ad0f8619ae416b0968ade6248894cbfc4dba"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "message": "Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread"
    },
    {
      "commit": "ed54ad0f8619ae416b0968ade6248894cbfc4dba",
      "tree": "87a03bed454558ee3dee7826b9fb7e30fdf707b7",
      "parents": [
        "db6222212528637d8f2afa7f49fc3c8c915bafbe"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "message": "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n\nChange-Id: I43875b6adaf96d4e982ef3dfc3d6c8f7034ac51d\nrelated-to-bug: 3036592\n"
    },
    {
      "commit": "668549b81b97fe706d15d5f6d4b767f63796e022",
      "tree": "d0d7ba4f6fb3477b81dc3f5664f0151f482fb699",
      "parents": [
        "cdcd43b47c881aa34b3a6c396e91d0c1b4f3674a",
        "8211da9eabe28037ebcc23bbfbbe20cb21cb0cdc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:48:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 11:48:44 2010 -0700"
      },
      "message": "am 4769f579: Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread\n\nMerge commit \u00274769f57948455277d0670ef18f64824ca5d894c1\u0027 into gingerbread-plus-aosp\n\n* commit \u00274769f57948455277d0670ef18f64824ca5d894c1\u0027:\n  Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n"
    },
    {
      "commit": "8211da9eabe28037ebcc23bbfbbe20cb21cb0cdc",
      "tree": "49209f72516de17d917d978856ffb43321c71bf7",
      "parents": [
        "640d660f03b2dd52969ebcdf57d1d4b371581781",
        "db6222212528637d8f2afa7f49fc3c8c915bafbe"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "message": "Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread"
    },
    {
      "commit": "cdcd43b47c881aa34b3a6c396e91d0c1b4f3674a",
      "tree": "611c3087db722f8f01cd04cb48de6fcba629fea6",
      "parents": [
        "2658b3f8736a378ad5956aefed069387808d8cd3",
        "640d660f03b2dd52969ebcdf57d1d4b371581781"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:35:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 11:35:22 2010 -0700"
      },
      "message": "am 3a9cc8ce: Merge \"Squashed commit of the following:\" into gingerbread\n\nMerge commit \u00273a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7\u0027 into gingerbread-plus-aosp\n\n* commit \u00273a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "640d660f03b2dd52969ebcdf57d1d4b371581781",
      "tree": "549c81284c9d7c4515b9e97f337321ede5d6341c",
      "parents": [
        "02fa834249a01144d6f23137951538600aa5d611",
        "0da4dab0a45a2bc1d95cbc6ef6a4850ed2569584"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:27:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:27:33 2010 -0700"
      },
      "message": "Merge \"Squashed commit of the following:\" into gingerbread"
    },
    {
      "commit": "db6222212528637d8f2afa7f49fc3c8c915bafbe",
      "tree": "b60b0bc64fb9e028a566002cd61e614e593f4618",
      "parents": [
        "02fa834249a01144d6f23137951538600aa5d611"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 09:16:21 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:26:03 2010 -0700"
      },
      "message": "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n\nrelated-to-bug: 3036592\nChange-Id: Ib142b171c829ed74156c0281d9d4543fcc96c802\n"
    },
    {
      "commit": "2658b3f8736a378ad5956aefed069387808d8cd3",
      "tree": "f7e1b608356faf03218138ce0c57d88f3700b29a",
      "parents": [
        "2c423a4dc0988e3195c781d56f119514789b604b",
        "02fa834249a01144d6f23137951538600aa5d611"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Sep 28 08:52:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 08:52:23 2010 -0700"
      },
      "message": "am 269dea1c: Merge \"Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669. The dump function whitelists several directories as filters to the output. The mount point changed for SD card in Froyo, and we started filtering files that were open on t\n\nMerge commit \u0027269dea1c48640ec2bf5a4e9de851cac2dbfbafd1\u0027 into gingerbread-plus-aosp\n\n* commit \u0027269dea1c48640ec2bf5a4e9de851cac2dbfbafd1\u0027:\n  Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669.\n"
    },
    {
      "commit": "02fa834249a01144d6f23137951538600aa5d611",
      "tree": "8cfc2546431c46811d988c8976679fbc75143e0e",
      "parents": [
        "4a73f3da3501db6e95473a4a653d6319c6d618e2"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Sep 27 16:55:18 2010 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Sep 27 17:04:05 2010 -0700"
      },
      "message": "Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669.\nThe dump function whitelists several directories as filters to the output.\nThe mount point changed for SD card in Froyo, and we started filtering files\nthat were open on the SD card. This fix changes the filter for the SD card,\nand adds the directory for data files as well.\n\nChange-Id: I61b67c3d11d93dbd530e8b3566000e79bc037137\n"
    },
    {
      "commit": "2c423a4dc0988e3195c781d56f119514789b604b",
      "tree": "80df7f901484353f66195cbd5970c104cd498ef7",
      "parents": [
        "eb4caf47783c4c06042b9bbe5d1526e8e859a8be",
        "4a73f3da3501db6e95473a4a653d6319c6d618e2"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 27 14:12:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 14:12:49 2010 -0700"
      },
      "message": "am 83ea6389: Merge \"The old overlay should be destroyed if orientation changes.\" into gingerbread\n\nMerge commit \u002783ea6389097570e8526a0b612051bb591186f165\u0027 into gingerbread-plus-aosp\n\n* commit \u002783ea6389097570e8526a0b612051bb591186f165\u0027:\n  The old overlay should be destroyed if orientation changes.\n"
    },
    {
      "commit": "0da4dab0a45a2bc1d95cbc6ef6a4850ed2569584",
      "tree": "4150ff394b0a10838310b9b228a8e378d64b1a88",
      "parents": [
        "676570f3c6b41e8b854cb31e8ceaa370980eb6fc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 12:04:43 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 12:04:43 2010 -0700"
      },
      "message": "Squashed commit of the following:\n\ncommit 29a4d3effb05a2e074cb0693316ab1977baeb0b6\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 12:01:32 2010 -0700\n\n    Fully working implementation of MPEG2TSWriter (for AAC and AVC sources).\n\n    Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84\n\ncommit f4dec4c3899f3be393508e180d6c07e249d3335e\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 10:36:31 2010 -0700\n\n    More reliable identification of MPEG2 transport streams. Don\u0027t keep scanning forever in case the stream does not have both audio and video tracks.\n\n    Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7\n\ncommit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 08:23:39 2010 -0700\n\n    test code\n\n    Change-Id: I16560a17661407d06497f99ff88230724bb898af\n\ncommit 64d988b24f49f179a90fa677be11c823959e734b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Sep 23 14:42:52 2010 -0700\n\n    First shot at supporting writing to an MPEG2 transport stream.\n\n    Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74\n\nChange-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc\n"
    },
    {
      "commit": "4a73f3da3501db6e95473a4a653d6319c6d618e2",
      "tree": "0083cf53310b1a1ebf15563cf2782c350afcfd3d",
      "parents": [
        "e2dc4aa0578dea9ab8c13ea4b69b7e6d0d1711d8"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 23 17:17:43 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 27 11:49:56 2010 -0700"
      },
      "message": "The old overlay should be destroyed if orientation changes.\n\nPreviously the orientation was wrong after suspend and resume.\nWhen the camera app is resumed behide the lock screen, it\norinteation is portrait. When users slide to unlock the screen,\nsurfaceChanged is called and the orientation is landscape.\nThe camera app stops the preview, sets the display orientation,\nand starts the preview. Overlay should be destroyed if the\norientation has changed.\n\nbug:3031640\nChange-Id: I38b527f9ea78c91b538463292152c023383b4695\n"
    },
    {
      "commit": "eb4caf47783c4c06042b9bbe5d1526e8e859a8be",
      "tree": "924faaf1ad5596d0ae45b9510f6830d159ff62a8",
      "parents": [
        "bcce675910251fcfd2467ffe0784bc2858b3b85a",
        "e2dc4aa0578dea9ab8c13ea4b69b7e6d0d1711d8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 27 10:13:04 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 10:13:04 2010 -0700"
      },
      "message": "am bf47092e: Merge \"Fix track duration calculation if the start timestamp is non-zero\" into gingerbread\n\nMerge commit \u0027bf47092e1e76224474745b6919febd3aa9df5bcf\u0027 into gingerbread-plus-aosp\n\n* commit \u0027bf47092e1e76224474745b6919febd3aa9df5bcf\u0027:\n  Fix track duration calculation if the start timestamp is non-zero\n"
    },
    {
      "commit": "e2dc4aa0578dea9ab8c13ea4b69b7e6d0d1711d8",
      "tree": "687685891d8210afe7a76e700cf737ce2dc82a83",
      "parents": [
        "676570f3c6b41e8b854cb31e8ceaa370980eb6fc",
        "8428af5381e835cc783b7ecb0d71cb60961c99c2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 27 10:08:52 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 10:08:52 2010 -0700"
      },
      "message": "Merge \"Fix track duration calculation if the start timestamp is non-zero\" into gingerbread"
    },
    {
      "commit": "8428af5381e835cc783b7ecb0d71cb60961c99c2",
      "tree": "01a16296e44c13ccb692bfe12bbfe3763bc4d3fc",
      "parents": [
        "76e2c7be04aeff55f3e6a473ff1cd6d9ec2d620c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 24 10:01:29 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 27 10:02:15 2010 -0700"
      },
      "message": "Fix track duration calculation if the start timestamp is non-zero\n\no Updated the comments in the patch\no Added some additional checks on the timestamp\n\nChange-Id: I8ad81eb6bfe358c1db5245cbb52efc905cdc234c\n"
    },
    {
      "commit": "bcce675910251fcfd2467ffe0784bc2858b3b85a",
      "tree": "ce00daa91ac687c2d36022296be776b4dd8d72fb",
      "parents": [
        "da4b9bdd4682fb3a20964908cb18d02c943b7f35",
        "676570f3c6b41e8b854cb31e8ceaa370980eb6fc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 09:24:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 09:24:18 2010 -0700"
      },
      "message": "am abaabb2c: Merge \"Support other kinds of HTTP redirect in NuHTTPDataSource\" into gingerbread\n\nMerge commit \u0027abaabb2c7994e5a5026c2e2bd860d7f21eed0451\u0027 into gingerbread-plus-aosp\n\n* commit \u0027abaabb2c7994e5a5026c2e2bd860d7f21eed0451\u0027:\n  Support other kinds of HTTP redirect in NuHTTPDataSource\n"
    },
    {
      "commit": "676570f3c6b41e8b854cb31e8ceaa370980eb6fc",
      "tree": "ba178c1b6db22f7ed836b00445a5ee3b33656d66",
      "parents": [
        "0fa449cc475580d995e9d56756c3da5507d2b6f6",
        "7539a0594204c3436571bacabe50a14c78dedf5f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 09:20:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 09:20:58 2010 -0700"
      },
      "message": "Merge \"Support other kinds of HTTP redirect in NuHTTPDataSource\" into gingerbread"
    },
    {
      "commit": "7539a0594204c3436571bacabe50a14c78dedf5f",
      "tree": "36a19f92e7cc6f8eef863fac2c19d79453bb4c84",
      "parents": [
        "76e2c7be04aeff55f3e6a473ff1cd6d9ec2d620c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 08:17:40 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 09:16:44 2010 -0700"
      },
      "message": "Support other kinds of HTTP redirect in NuHTTPDataSource\n\nChange-Id: I3268a94cfb48cee9caa8914804d7907ff91d8a8e\nrelated-to-bug: 3037686\n"
    },
    {
      "commit": "da4b9bdd4682fb3a20964908cb18d02c943b7f35",
      "tree": "4061ce1b067a277da67a141a5d2e9cb98e68041c",
      "parents": [
        "2207a10949a7f3fe7ebf5a52974c45221d8acc46",
        "0fa449cc475580d995e9d56756c3da5507d2b6f6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 27 08:45:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 08:45:07 2010 -0700"
      },
      "message": "am 9627847d: Merge \"Fix error in AudioEffect command status reporting.\" into gingerbread\n\nMerge commit \u00279627847d588cd969f60dcc79d165209184a90069\u0027 into gingerbread-plus-aosp\n\n* commit \u00279627847d588cd969f60dcc79d165209184a90069\u0027:\n  Fix error in AudioEffect command status reporting.\n"
    },
    {
      "commit": "0fa449cc475580d995e9d56756c3da5507d2b6f6",
      "tree": "1e344eefa5847ad1e8ea3fc508e0d63ba5334c13",
      "parents": [
        "76e2c7be04aeff55f3e6a473ff1cd6d9ec2d620c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 24 11:52:04 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 24 15:24:54 2010 -0700"
      },
      "message": "Fix error in AudioEffect command status reporting.\n\nAudioEffect::command() should not interpret the status\nreturned in pReplyData unless the command is ENABLE or\nDISABLE.\n\nAlso fixed:\n- bug in Visualizer::getWAveForm() status reporting.\n- wrong initialization value for capture buffer in visualizer engine.\n\nChange-Id: I60fb0011f9dba96ee74661dec1e8ef441edcaf35\n"
    },
    {
      "commit": "2207a10949a7f3fe7ebf5a52974c45221d8acc46",
      "tree": "99cbe51ad13a80c59ad321e81088b1076848e4c2",
      "parents": [
        "7bfa78d39ecdc39eeccdbc07f3bb9538176f4209",
        "76e2c7be04aeff55f3e6a473ff1cd6d9ec2d620c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 24 11:09:33 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 11:09:33 2010 -0700"
      },
      "message": "am 6d8fae72: Merge \"Instead of just writing one track to the .mp4 file, write all of them (at most 1 video and 1 audio track). Also support httplive URIs in the stagefright commandline tool.\" into gingerbread\n\nMerge commit \u00276d8fae722cfb2833dd542b2a5e613582a9096fc6\u0027 into gingerbread-plus-aosp\n\n* commit \u00276d8fae722cfb2833dd542b2a5e613582a9096fc6\u0027:\n  Instead of just writing one track to the .mp4 file, write all of them (at most 1 video and 1 audio track). Also support httplive URIs in the stagefright commandline tool.\n"
    },
    {
      "commit": "76e2c7be04aeff55f3e6a473ff1cd6d9ec2d620c",
      "tree": "30716de0189f366d1fc2d692e9754a15a9f757e3",
      "parents": [
        "35dd00b82892c39351ab674ea5626e8065d18a2f",
        "ea314ac049884b31c5a2a4fecc42e8a50f928a33"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 24 10:44:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 24 10:44:01 2010 -0700"
      },
      "message": "Merge \"Instead of just writing one track to the .mp4 file, write all of them (at most 1 video and 1 audio track). Also support httplive URIs in the stagefright commandline tool.\" into gingerbread"
    },
    {
      "commit": "ea314ac049884b31c5a2a4fecc42e8a50f928a33",
      "tree": "3caff691497fd004d2d1ad37a723091d71b4feca",
      "parents": [
        "bbc38312e4521cfd4299203591ef366b7624f043"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 24 09:35:49 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 24 10:09:00 2010 -0700"
      },
      "message": "Instead of just writing one track to the .mp4 file, write all of them (at most 1 video and 1 audio track). Also support httplive URIs in the stagefright commandline tool.\n\nChange-Id: I67b287cf76546191f398939aabe4480d9e79a948\n"
    },
    {
      "commit": "7bfa78d39ecdc39eeccdbc07f3bb9538176f4209",
      "tree": "e7f4104514ddf3c0be71cecc52b74022a98e1b4f",
      "parents": [
        "cbbf994c26c62bda411af5743d9b898cf6a0fd27",
        "35dd00b82892c39351ab674ea5626e8065d18a2f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 24 09:49:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 09:49:07 2010 -0700"
      },
      "message": "am 880dfe4f: Merge \"Fix issue 3007862\" into gingerbread\n\nMerge commit \u0027880dfe4f675128188f8d598f2025a417ccabd1bf\u0027 into gingerbread-plus-aosp\n\n* commit \u0027880dfe4f675128188f8d598f2025a417ccabd1bf\u0027:\n  Fix issue 3007862\n"
    },
    {
      "commit": "35dd00b82892c39351ab674ea5626e8065d18a2f",
      "tree": "47297fe1e1836ec590750ac34527ea8670d9e289",
      "parents": [
        "bbc38312e4521cfd4299203591ef366b7624f043",
        "84e9a10fde8a4ae3da4f88d7911c154933aa457f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 24 09:43:24 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 24 09:43:24 2010 -0700"
      },
      "message": "Merge \"Fix issue 3007862\" into gingerbread"
    },
    {
      "commit": "84e9a10fde8a4ae3da4f88d7911c154933aa457f",
      "tree": "f6d4eb3c73c82ac83000f11049ebda3f19fd9dc3",
      "parents": [
        "1f78badb5398c17526be021e3c9e3c4aa24536ec"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 23 16:10:16 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 24 09:32:40 2010 -0700"
      },
      "message": "Fix issue 3007862\n\nRemoved a cross deadlock condition between audioflinger and audio policy\nservice mutexes.\nAudioflinger::createEffect() locks audioflinger mutex and then calls\nAudioSystem::getOutputForEffect() which ends up in\nAudioPolicyService::getOutputForEffect() which locks audio policy service\nmutex. If at the same time, the command thread in audio policy service is\nprocessing a command(set volume, set route...), the mutex is locked and the\ncommand will call one audioflinger method which in turn will attempt to\nlock audioflinger mutex.\nThe fix consists in releasing audioflinger mutex before calling\ngetOutputForEffect().\n\nChange-Id: Id44e7feb36e0a295731f6aa97cf32d022edd34d0\n"
    },
    {
      "commit": "cbbf994c26c62bda411af5743d9b898cf6a0fd27",
      "tree": "5b76830af066b826709cd4cccedd0aff5c07285f",
      "parents": [
        "7504187b46abb91df54539c569840b4c3f0ae1ce",
        "bbc38312e4521cfd4299203591ef366b7624f043"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 24 08:27:33 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 08:27:33 2010 -0700"
      },
      "message": "am 37155854: Merge \"Proper sync-frame detection for sources that don\\\u0027t already provide it.\" into gingerbread\n\nMerge commit \u002737155854b4d9ca405e5c41c4ab271006a4716193\u0027 into gingerbread-plus-aosp\n\n* commit \u002737155854b4d9ca405e5c41c4ab271006a4716193\u0027:\n  Proper sync-frame detection for sources that don\u0027t already provide it.\n"
    },
    {
      "commit": "bbc38312e4521cfd4299203591ef366b7624f043",
      "tree": "b834fe43bffe9a76027cf8a58a2d1d929fd7536a",
      "parents": [
        "1f78badb5398c17526be021e3c9e3c4aa24536ec"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 23 15:01:30 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 23 15:03:57 2010 -0700"
      },
      "message": "Proper sync-frame detection for sources that don\u0027t already provide it.\n\nChange-Id: Iafeee847b015c5cf6bec6dd5fac22a8d3e8cb78e\n"
    },
    {
      "commit": "7504187b46abb91df54539c569840b4c3f0ae1ce",
      "tree": "608e7e4979258756955adeecdc0cde06596fb3a0",
      "parents": [
        "5257d874dd68bf67b75c316f44e32e18ede0b469",
        "1f78badb5398c17526be021e3c9e3c4aa24536ec"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 23 14:20:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 23 14:20:08 2010 -0700"
      },
      "message": "am 7b2ed5d7: Merge \"Depending on our preference to write 2-byte or 4-byte NALs, patch the codec specific data \\\u0027avcC\\\u0027 accordingly.\" into gingerbread\n\nMerge commit \u00277b2ed5d7d607e435b88ea75db3a1a43a00a86275\u0027 into gingerbread-plus-aosp\n\n* commit \u00277b2ed5d7d607e435b88ea75db3a1a43a00a86275\u0027:\n  Depending on our preference to write 2-byte or 4-byte NALs, patch the codec specific data \u0027avcC\u0027 accordingly.\n"
    },
    {
      "commit": "1f78badb5398c17526be021e3c9e3c4aa24536ec",
      "tree": "c8630919d6d4522b169fc0c56d6fcf97669d90c0",
      "parents": [
        "59f63db5d1cdc91336a2b82e195e0000091cd6e3",
        "95fcef25b48e35b625899288971ab628efbf8584"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 23 14:16:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 23 14:16:48 2010 -0700"
      },
      "message": "Merge \"Depending on our preference to write 2-byte or 4-byte NALs, patch the codec specific data \u0027avcC\u0027 accordingly.\" into gingerbread"
    },
    {
      "commit": "95fcef25b48e35b625899288971ab628efbf8584",
      "tree": "6d7636d9fe63d2a2135d6bd0ac28632a9492e850",
      "parents": [
        "fac4895de4ae63928ff0cf2ccece106eb6d33f72"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 23 14:08:32 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 23 14:08:32 2010 -0700"
      },
      "message": "Depending on our preference to write 2-byte or 4-byte NALs, patch the codec specific data \u0027avcC\u0027 accordingly.\n\nChange-Id: I1423923fafbcac6911218277e2bbfa068e49dcc6\n"
    },
    {
      "commit": "5257d874dd68bf67b75c316f44e32e18ede0b469",
      "tree": "f8b25abaae9dc09e75dd3c424031ee1408bba6b3",
      "parents": [
        "bf0025d50700fa9693b56035f72a99d0fd23aa9a",
        "59f63db5d1cdc91336a2b82e195e0000091cd6e3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 23 10:21:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 23 10:21:26 2010 -0700"
      },
      "message": "am 903fc221: Ignore errors from correction parameter query and config for M4v and H263 encoders\n\nMerge commit \u0027903fc221068d02bdb53ba2a48f86339caf405259\u0027 into gingerbread-plus-aosp\n\n* commit \u0027903fc221068d02bdb53ba2a48f86339caf405259\u0027:\n  Ignore errors from correction parameter query and config for M4v and H263 encoders\n"
    },
    {
      "commit": "bf0025d50700fa9693b56035f72a99d0fd23aa9a",
      "tree": "5acd8295576f58d0445acb76f609a9944ef7ccb9",
      "parents": [
        "8fe26ff7c76fb0c80c41c603b384d63814da97f7",
        "97e0fcc0cb69692a6c518e2bfaf9892a164e7f58"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 23 10:17:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 23 10:17:30 2010 -0700"
      },
      "message": "am 697bd76e: Merge \"Use the advertised profile and level from M4V and H263 video encoders\" into gingerbread\n\nMerge commit \u0027697bd76e427f00584a0e026ceca2f4d39215cd0d\u0027 into gingerbread-plus-aosp\n\n* commit \u0027697bd76e427f00584a0e026ceca2f4d39215cd0d\u0027:\n  Use the advertised profile and level from M4V and H263 video encoders\n"
    },
    {
      "commit": "59f63db5d1cdc91336a2b82e195e0000091cd6e3",
      "tree": "3581231507eab89595979a6b986e4dcfe34f864d",
      "parents": [
        "97e0fcc0cb69692a6c518e2bfaf9892a164e7f58"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 22 17:37:42 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 23 10:12:45 2010 -0700"
      },
      "message": "Ignore errors from correction parameter query and config for M4v and H263 encoders\n\nThis feature is not essential for camcorder application\n\nChange-Id: Id560632207dcf24fe361280ebe8178ea7332f22d\n"
    },
    {
      "commit": "97e0fcc0cb69692a6c518e2bfaf9892a164e7f58",
      "tree": "6ed5e2ec5f7659ee97c13dffd856bab5d1a7a15a",
      "parents": [
        "fac4895de4ae63928ff0cf2ccece106eb6d33f72"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 22 17:42:09 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 22 17:42:09 2010 -0700"
      },
      "message": "Use the advertised profile and level from M4V and H263 video encoders\n\nThis is already the case for AVC video encoder\n\nChange-Id: I9cc97a03ab457b4bd0b21832c09f6d0aa7f5fc39\n"
    },
    {
      "commit": "8fe26ff7c76fb0c80c41c603b384d63814da97f7",
      "tree": "4e661116ce6dd0e598925fff3fc7bc90ad85617a",
      "parents": [
        "325bc94e89e786ab1e44bc33428fd5f9382c4e34",
        "fac4895de4ae63928ff0cf2ccece106eb6d33f72"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 22 16:05:37 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 22 16:05:37 2010 -0700"
      },
      "message": "am 08959c63: Merge \"Request permission for global audio effects.\" into gingerbread\n\nMerge commit \u002708959c6396b8a52194554f961ae8fd874c994e4e\u0027 into gingerbread-plus-aosp\n\n* commit \u002708959c6396b8a52194554f961ae8fd874c994e4e\u0027:\n  Request permission for global audio effects.\n"
    }
  ],
  "next": "fac4895de4ae63928ff0cf2ccece106eb6d33f72"
}
