)]}'
{
  "log": [
    {
      "commit": "a07e29a31b0c118158ba421e7c40984dda2279de",
      "tree": "52c4e2221b77e871639a668808806b55af4f9e50",
      "parents": [
        "d95fdc569d82cdb850d3e6c701098e4bfc757fce",
        "5dc2812abddde309234edc786a541d251c4f820a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 14 17:44:42 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 14 17:44:42 2011 -0700"
      },
      "message": "am 1318864f: Merge \"Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\"\n\n* commit \u00271318864fa7ce6c85aaf629b1db08c79e4d0cf41e\u0027:\n  Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\n"
    },
    {
      "commit": "5dc2812abddde309234edc786a541d251c4f820a",
      "tree": "f4c077a42c5577d4fc9b098583a021f67382ba3e",
      "parents": [
        "6de6b48237423a65ec041288c90e3f78fd3fce48",
        "9a5e04438df742c297c5dbcdb60e6fd4d8f8321d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "message": "Merge \"Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\""
    },
    {
      "commit": "d95fdc569d82cdb850d3e6c701098e4bfc757fce",
      "tree": "868468bff77468e3e4d84d4bed23414f1a3b1006",
      "parents": [
        "ff2ccd20c782918dd603b3cf53c3bf38d664bbde",
        "6de6b48237423a65ec041288c90e3f78fd3fce48"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 18:24:16 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 18:24:16 2011 -0700"
      },
      "message": "resolved conflicts for merge of 3f0c8217 to ics-aah\n\nChange-Id: I6c72eae0add896919f06bf7e0172ddd7fc47e630\n"
    },
    {
      "commit": "6de6b48237423a65ec041288c90e3f78fd3fce48",
      "tree": "0a0b9ca39948d670140233001a2b3bb7d0e6e8ac",
      "parents": [
        "3a1dccab5f3be394572445f418a2f17f005db25e",
        "cfe2ba6b01a258e39f9c215ffc7b750e0b68f708"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "message": "Merge \"Issue 5298399: Lost speech after a crash in gTalk.\""
    },
    {
      "commit": "cfe2ba6b01a258e39f9c215ffc7b750e0b68f708",
      "tree": "c4a213cfc30955cc61a8c9673e032caff41a0947",
      "parents": [
        "98afd841e8f0803a00d1970e4a28ea8999e9c498"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 15:04:17 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:33:29 2011 -0700"
      },
      "message": "Issue 5298399: Lost speech after a crash in gTalk.\n\nFixed problem in AudioTrack::restoreTrack_l() causing a permanent\nfailure if the IAudioTrack interface to AudioFlinger could not be\nrestored at the first attempt.\n\nChange-Id: I039d4fe2dca8d3baf71f1a6c51119f27a67b6611\n"
    },
    {
      "commit": "9a22e68daf4bbc14a5382c3f064b8c14172768ac",
      "tree": "ce0ac1e90476678a9e8e3d78813c5fb3d73889a1",
      "parents": [
        "0670646877c9fb407d7e6ffe6fab4c7076cd40d5",
        "bf5db10436c0d194086237b3a90bb46b359ba688"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:38:31 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 13 11:38:31 2011 -0700"
      },
      "message": "am bf208ec9: Merge \"Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\"\n\n* commit \u0027bf208ec91ec80fd2a3c2474c236b09b37c1a02c4\u0027:\n  Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\n"
    },
    {
      "commit": "bf5db10436c0d194086237b3a90bb46b359ba688",
      "tree": "ba958c8a2d3faae29e2c741ebe6cad8c6757cec8",
      "parents": [
        "714aa7b7c52ce07d5fb44870c0853b4d8e5a758e",
        "7de73f4eb68f3aa478e19ba05a13bc84296f9894"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:37:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 11:37:22 2011 -0700"
      },
      "message": "Merge \"Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\""
    },
    {
      "commit": "7de73f4eb68f3aa478e19ba05a13bc84296f9894",
      "tree": "358aaff9893f6676069c1ea0ac6f3df995e6f622",
      "parents": [
        "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:12:57 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:12:57 2011 -0700"
      },
      "message": "Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\n\nAssume for now that all chunks are the same size, i.e. have the same number of\nsamples.\n\nChange-Id: Ib8a7dfeb16cc3e5be199ff9d98b68dd0b9c23eb8\nrelated-to-bug: 5279872\n"
    },
    {
      "commit": "9a5e04438df742c297c5dbcdb60e6fd4d8f8321d",
      "tree": "8c9ae8e852283e296194f4b06f3a2ca41d046113",
      "parents": [
        "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 12 19:56:23 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 13 11:00:17 2011 -0700"
      },
      "message": "Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\n\nChange-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb\nrelated-to-bug: 5300618\n"
    },
    {
      "commit": "0670646877c9fb407d7e6ffe6fab4c7076cd40d5",
      "tree": "6cdc908e1af8cc75180dcc33f74d6f040ad46b99",
      "parents": [
        "bbdeb975603e0186e202ac34c891554b500f6d13",
        "714aa7b7c52ce07d5fb44870c0853b4d8e5a758e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 10:18:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 13 10:18:39 2011 -0700"
      },
      "message": "am fa6dfdcf: Don\\\u0027t post position updates too frequently\n\n* commit \u0027fa6dfdcfd741980ba1c1d1971b69fc6f8a34dfeb\u0027:\n  Don\u0027t post position updates too frequently\n"
    },
    {
      "commit": "714aa7b7c52ce07d5fb44870c0853b4d8e5a758e",
      "tree": "57b8bef529101db2340303e0d6c5a842f2cd9aaf",
      "parents": [
        "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 08:28:38 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 09:48:22 2011 -0700"
      },
      "message": "Don\u0027t post position updates too frequently\n\ni.e. don\u0027t hog my message queue.\n\nrelated-to-bug: 5284760\nChange-Id: I8e2d36a11dbee1567b18ed13dc5257a65c6eeda7\n"
    },
    {
      "commit": "bbdeb975603e0186e202ac34c891554b500f6d13",
      "tree": "ebbba3f81d10968cb0095c432421d63166748bb6",
      "parents": [
        "9245f7c6228675cde441b561742ee0d21cb420af",
        "aacf4e980181edab0c03e1c96fe1e6b0aa1f0493"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Mon Sep 12 17:06:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 12 17:06:44 2011 -0700"
      },
      "message": "Merge \"Hold the AAHDecoderPump ThreadWrapper in a ref-counting pointer\" into ics-aah"
    },
    {
      "commit": "aacf4e980181edab0c03e1c96fe1e6b0aa1f0493",
      "tree": "8866a6fab74811be0caf103134af3d12dc43f9b5",
      "parents": [
        "2140f4a1b8dd603d74624c758d6864fb92c7cb1e"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Mon Sep 12 16:58:07 2011 -0700"
      },
      "committer": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Mon Sep 12 16:58:07 2011 -0700"
      },
      "message": "Hold the AAHDecoderPump ThreadWrapper in a ref-counting pointer\n\nChange-Id: I8929905a7bf07a751b5deb4c74875172a33d874d\n"
    },
    {
      "commit": "9245f7c6228675cde441b561742ee0d21cb420af",
      "tree": "cceebd4d63d39afd3507f3aa1397dd9905403120",
      "parents": [
        "4d84f47e734a6904ef9b96a851701a615aacb039",
        "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:23:25 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 12 14:23:25 2011 -0700"
      },
      "message": "am 7fc8f515: Merge \"Turn an another assertion into a runtime error in ACodec\\\u0027s implementation\"\n\n* commit \u00277fc8f515a0add6837d525b4f2b4baa7ebe37fc7f\u0027:\n  Turn an another assertion into a runtime error in ACodec\u0027s implementation\n"
    },
    {
      "commit": "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86",
      "tree": "ee1509ee703b1903d33e69fef639dfdf4a2779c9",
      "parents": [
        "c6c4572cd35f739bfac2aa439b3664032e03dcd8",
        "cc54fbaa69c0b69929467449d2c19192f15b5039"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:21:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 12 14:21:42 2011 -0700"
      },
      "message": "Merge \"Turn an another assertion into a runtime error in ACodec\u0027s implementation\""
    },
    {
      "commit": "cc54fbaa69c0b69929467449d2c19192f15b5039",
      "tree": "d0f0aaade0935a827e7dca1ba5659afd64c68417",
      "parents": [
        "fb6f03425a791dcc4188462c860becf6ca6be4ea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "message": "Turn an another assertion into a runtime error in ACodec\u0027s implementation\n\nChange-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd\nrelated-to-bug: 5284760\n"
    },
    {
      "commit": "4d84f47e734a6904ef9b96a851701a615aacb039",
      "tree": "e44ae64dcce27b5247a44e2991784da5ec0f5abb",
      "parents": [
        "781a1b4fbd3fd56147e0bb4ed843f1b1bb0cb485",
        "c6c4572cd35f739bfac2aa439b3664032e03dcd8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:00:54 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 12 14:00:54 2011 -0700"
      },
      "message": "am 465d42ef: Merge \"Increase the avi extractor\\\u0027s confidence slighly over mp3\\\u0027s\"\n\n* commit \u0027465d42ef781db15a603427115bd66341eb907c31\u0027:\n  Increase the avi extractor\u0027s confidence slighly over mp3\u0027s\n"
    },
    {
      "commit": "c6c4572cd35f739bfac2aa439b3664032e03dcd8",
      "tree": "d9148324e4afde473c7986a14b8f8ef0ae1b4af4",
      "parents": [
        "fb6f03425a791dcc4188462c860becf6ca6be4ea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 13:49:00 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 13:49:00 2011 -0700"
      },
      "message": "Increase the avi extractor\u0027s confidence slighly over mp3\u0027s\n\nSo that we don\u0027t accidentally identify a .avi file containing an mp3 track as\nan mp3 file.\n\nChange-Id: I73495b80cbb5bc1007bf810f2db453c9f175171b\nrelated-to-bug: 5288189\n"
    },
    {
      "commit": "781a1b4fbd3fd56147e0bb4ed843f1b1bb0cb485",
      "tree": "e80248b57199866e9bc590af77d4f875f7acbf47",
      "parents": [
        "2792afe3bc679c6f4784e5963898a947468704f6",
        "fb6f03425a791dcc4188462c860becf6ca6be4ea"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Sep 09 15:41:18 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 09 15:41:18 2011 -0700"
      },
      "message": "am 973f553b: Make MediaScanner skip certain directories\n\n* commit \u0027973f553be4aabf9656d6c1596b47767896677b0a\u0027:\n  Make MediaScanner skip certain directories\n"
    },
    {
      "commit": "fb6f03425a791dcc4188462c860becf6ca6be4ea",
      "tree": "e21afb360622f19748a874f609d8c09a3804d809",
      "parents": [
        "618b58c4237359328b06371d9d6e855d2e6ac42c"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Sep 07 23:55:27 2011 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Sep 09 15:36:42 2011 -0700"
      },
      "message": "Make MediaScanner skip certain directories\n\nThe list of directories to skip are configurable via setprop.\nThe main motivation is that some test data folder takes long time\nto scan, and media scanner may compete for CPU time against perf\ntests therefore skewing the results.\n\nBug: 5263115\nChange-Id: I568213e2a4babf6033021c1d336ef0347c0e3315\n"
    },
    {
      "commit": "2792afe3bc679c6f4784e5963898a947468704f6",
      "tree": "7207f883dd3848c99ad184a88ecd8abe1036c81a",
      "parents": [
        "a3bc6a944d5dadfa709c9f100eb14b8afcb7a6ba",
        "618b58c4237359328b06371d9d6e855d2e6ac42c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 14:59:09 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 09 14:59:09 2011 -0700"
      },
      "message": "am 6f84da50: Merge \"Don\\\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\"\n\n* commit \u00276f84da50ad9a9fa044543fa5dde197f609b01a8f\u0027:\n  Don\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\n"
    },
    {
      "commit": "618b58c4237359328b06371d9d6e855d2e6ac42c",
      "tree": "2f502d28789410d95d604eca7cfe987e5c83b7d3",
      "parents": [
        "98afd841e8f0803a00d1970e4a28ea8999e9c498",
        "8edb8e82fa886564ee8e72178a1969e2437dd525"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 14:56:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 14:56:30 2011 -0700"
      },
      "message": "Merge \"Don\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\""
    },
    {
      "commit": "8edb8e82fa886564ee8e72178a1969e2437dd525",
      "tree": "2b5c5bfbe6df89cf5200193992cf66cce868e5fc",
      "parents": [
        "d6e27296206b9f897401107f1c46f4ac2947be85"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 13:19:59 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 13:27:27 2011 -0700"
      },
      "message": "Don\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\n\nChange-Id: Iee9b18449bce9d7565ab5cc7f9e999484051196c\nrelated-to-bug: 5233843\n"
    },
    {
      "commit": "a3bc6a944d5dadfa709c9f100eb14b8afcb7a6ba",
      "tree": "0a15a6b85c240ea87b9cd685d0ebf1aad70d01c5",
      "parents": [
        "86e9c5c3e0007ca3d415f9d827e00cf9a6e89d5a",
        "98afd841e8f0803a00d1970e4a28ea8999e9c498"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 09 09:03:16 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 09 09:03:16 2011 -0700"
      },
      "message": "am 11e2e5de: Merge \"AudioTrack: extend callback thread sleep time\"\n\n* commit \u002711e2e5dece7a92f50b73240dc0300343a7b495bf\u0027:\n  AudioTrack: extend callback thread sleep time\n"
    },
    {
      "commit": "86e9c5c3e0007ca3d415f9d827e00cf9a6e89d5a",
      "tree": "67a8538baa525910d8dedc7d9931bde58ce13f6f",
      "parents": [
        "aa7ced607f2fd4da6d4b99737499fb39320c71b8",
        "7280088b2315b6c2eccd39f0f0363d498ec82f0d"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Sep 09 09:02:16 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 09 09:02:16 2011 -0700"
      },
      "message": "am 5303254c: Merge \"Always set geometry in queuebuffer\"\n\n* commit \u00275303254cc944449d08c8489caf288516445f7af0\u0027:\n  Always set geometry in queuebuffer\n"
    },
    {
      "commit": "98afd841e8f0803a00d1970e4a28ea8999e9c498",
      "tree": "88529696fc561e932a7d109b9dda779903d873d9",
      "parents": [
        "7280088b2315b6c2eccd39f0f0363d498ec82f0d",
        "2267ba18d0d2b2d4bd7f5411821ad89ac2659a88"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 08 16:07:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 16:07:40 2011 -0700"
      },
      "message": "Merge \"AudioTrack: extend callback thread sleep time\""
    },
    {
      "commit": "7280088b2315b6c2eccd39f0f0363d498ec82f0d",
      "tree": "99130d99c527c29e2819002421f077f338cb3a7a",
      "parents": [
        "f7eade99250520f2c9c8366a20a9256c4b34abc1",
        "7dc9b309f1ce01308bcfde9948ebfece32dc2870"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 08 15:33:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 15:33:31 2011 -0700"
      },
      "message": "Merge \"Always set geometry in queuebuffer\""
    },
    {
      "commit": "2267ba18d0d2b2d4bd7f5411821ad89ac2659a88",
      "tree": "3339791f7085faf94b891071826d8a1be5d1cb17",
      "parents": [
        "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 07 11:13:23 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 08 15:18:37 2011 -0700"
      },
      "message": "AudioTrack: extend callback thread sleep time\n\nDo not force wake up the AudioTrack thread every 10ms if no timed\nevents (loop, markers..) have to be processed.\nThis will help reduce power consumption.\n\nChange-Id: Icb425b13800690008dd07c27ffac84739e3dbba3\n"
    },
    {
      "commit": "7dc9b309f1ce01308bcfde9948ebfece32dc2870",
      "tree": "cab0dce5adff7873717bb50aa4efbd99ad1e4d31",
      "parents": [
        "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 08 14:15:00 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 08 14:16:55 2011 -0700"
      },
      "message": "Always set geometry in queuebuffer\n\nThe queuebuffer could return early due to timestamp issues. Need to set\nthe geometry even in that case.\n\nChange-Id: I04d7cd1df3996d640c269285398c0042923ba920\n"
    },
    {
      "commit": "aa7ced607f2fd4da6d4b99737499fb39320c71b8",
      "tree": "715173ddc66b4763daa14a32aaa35a49695c307c",
      "parents": [
        "8a667a2242eb4cebaf1b4262a68e1879e0446613",
        "f7eade99250520f2c9c8366a20a9256c4b34abc1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 11:41:05 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 08 11:41:05 2011 -0700"
      },
      "message": "am 13561602: Merge \"Audio player must not be used as a timesource before it\\\u0027s started.\"\n\n* commit \u0027135616025f06dfdfff3d6bed51885ef8de5f49b5\u0027:\n  Audio player must not be used as a timesource before it\u0027s started.\n"
    },
    {
      "commit": "f7eade99250520f2c9c8366a20a9256c4b34abc1",
      "tree": "b60360cfaa7a504d564810dc0aedc96ee34f7066",
      "parents": [
        "41610c37763fcea076cce18de9f5b4c7d9c30ea6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 11:33:47 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 11:33:47 2011 -0700"
      },
      "message": "Audio player must not be used as a timesource before it\u0027s started.\n\nOtherwise it\u0027ll trigger a division-by-zero exception since the audio sample rate\nis as yet unknown.\n\nChange-Id: I0793aa7c1c348ffa2611272bb646eff6ecf6ff53\nrelated-to-bug: 5242451\n"
    },
    {
      "commit": "8a667a2242eb4cebaf1b4262a68e1879e0446613",
      "tree": "92ffcc3fc091ab95e222316aff973d66d54f84fe",
      "parents": [
        "e9d447ff54dab886f7bc449f7db847402a26edb1",
        "41610c37763fcea076cce18de9f5b4c7d9c30ea6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:58:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 14:58:39 2011 -0700"
      },
      "message": "am 65e7815d: Merge \"Bug 5270905 fix MediaPlayer with IStreamSource\"\n\n* commit \u002765e7815dd49a836e410bfa2817d9d48576547a9a\u0027:\n  Bug 5270905 fix MediaPlayer with IStreamSource\n"
    },
    {
      "commit": "41610c37763fcea076cce18de9f5b4c7d9c30ea6",
      "tree": "bcd154f48a74e0c21c46100e633203bc248cd24f",
      "parents": [
        "3991f099c643b718e78e0d938745ef2c5c431544",
        "8d65510a2e9ff7b64f2f35bfe3cd745a717c9533"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:56:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 14:56:47 2011 -0700"
      },
      "message": "Merge \"Bug 5270905 fix MediaPlayer with IStreamSource\""
    },
    {
      "commit": "8d65510a2e9ff7b64f2f35bfe3cd745a717c9533",
      "tree": "f0c15ae37b71e36d332fc1666ff6d86f1b0aa0f3",
      "parents": [
        "d6e27296206b9f897401107f1c46f4ac2947be85"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:40:23 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:42:37 2011 -0700"
      },
      "message": "Bug 5270905 fix MediaPlayer with IStreamSource\n\nChange-Id: Ia8a6381a6c88b4a0a1378aab03f5275f0fa1125a\n"
    },
    {
      "commit": "e9d447ff54dab886f7bc449f7db847402a26edb1",
      "tree": "642864d07f8295fe61d7dba244d4b50ecae7d2de",
      "parents": [
        "0f00a1030e82826d2aa4dd3787c1491965276e4f",
        "3991f099c643b718e78e0d938745ef2c5c431544"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Sep 07 14:20:28 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 14:20:28 2011 -0700"
      },
      "message": "am 166c1b2e: Merge \"Fixing bug in SurfaceMediaSource_test\"\n\n* commit \u0027166c1b2e7a1a48a39ecd2400b94f9f21c9868810\u0027:\n  Fixing bug in SurfaceMediaSource_test\n"
    },
    {
      "commit": "3991f099c643b718e78e0d938745ef2c5c431544",
      "tree": "2f3f4199ece39d20df417a83060a067701818303",
      "parents": [
        "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6",
        "31292d99f62a812af691e67e8e732c6ae582ee08"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Sep 07 14:18:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 14:18:41 2011 -0700"
      },
      "message": "Merge \"Fixing bug in SurfaceMediaSource_test\""
    },
    {
      "commit": "0f00a1030e82826d2aa4dd3787c1491965276e4f",
      "tree": "3d5376d11a67a8134f8510010645d7a9b4a67a3e",
      "parents": [
        "a6ca3b6e53877abb8987899adf0e0260d6702bfb",
        "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 11:21:30 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 11:21:30 2011 -0700"
      },
      "message": "am 6a39c020: Merge \"Apparently keyframe status in audio tracks of .webm/.mkv files is unreliable\"\n\n* commit \u00276a39c0201ca72d6ccbc63e5fec75949a08fcb043\u0027:\n  Apparently keyframe status in audio tracks of .webm/.mkv files is unreliable\n"
    },
    {
      "commit": "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6",
      "tree": "93fe5add97af3833cef442cf499c8eb3d501edf2",
      "parents": [
        "aa9dfd5d07534c29337b5c72022f7dfecd85deea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 11:05:43 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 11:05:43 2011 -0700"
      },
      "message": "Apparently keyframe status in audio tracks of .webm/.mkv files is unreliable\n\nfortunately in all our supported audio encodings we can treat every frame as\na keyframe.\n\nChange-Id: I32f21d0077bbae7ef9efe725dd351baf531179e2\nrelated-to-bug: 5263837\n"
    },
    {
      "commit": "a6ca3b6e53877abb8987899adf0e0260d6702bfb",
      "tree": "eb1f35b862d166816967c2d8ba94828f77d3d49b",
      "parents": [
        "7d60c64c6eceac310a173e04f4c3539bfd4be7d6",
        "aa9dfd5d07534c29337b5c72022f7dfecd85deea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 09:06:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 09:06:46 2011 -0700"
      },
      "message": "am 01dba603: Merge \"Stop metadata retriever from dereferencing a NULL pointer if\"\n\n* commit \u002701dba603d7c74756126297b843aca0befed8810c\u0027:\n  Stop metadata retriever from dereferencing a NULL pointer if\n"
    },
    {
      "commit": "aa9dfd5d07534c29337b5c72022f7dfecd85deea",
      "tree": "be9c30397e3f4e7eaaadacc5d2af410ee58f48e9",
      "parents": [
        "d6e27296206b9f897401107f1c46f4ac2947be85",
        "e7484f36061a60aadadb01143d84964d931aa837"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 09:05:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 09:05:04 2011 -0700"
      },
      "message": "Merge \"Stop metadata retriever from dereferencing a NULL pointer if\""
    },
    {
      "commit": "7d60c64c6eceac310a173e04f4c3539bfd4be7d6",
      "tree": "e80a9875b8aee6734b962accf50c52fc9177dcc1",
      "parents": [
        "764f47d976cab9d2302ae8802f6f27d1ae221015",
        "d6e27296206b9f897401107f1c46f4ac2947be85"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Sep 07 04:01:23 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 04:01:23 2011 -0700"
      },
      "message": "am a57c639f: Merge \"Revert \"To make SniffMP3() more concrete so that we can remove false-positve responses from MPEG-PS streams.\"\"\n\n* commit \u0027a57c639fa7639d80ad29b5b876934f46851dcc69\u0027:\n  Revert \"To make SniffMP3() more concrete so that we can remove false-positve responses from MPEG-PS streams.\"\n"
    },
    {
      "commit": "d6e27296206b9f897401107f1c46f4ac2947be85",
      "tree": "1c86967dc53b99661fdf4272d89f8ed681364dc2",
      "parents": [
        "a4f73a9e0e0863a567cc06defa0d9e0269388d4e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 06 19:18:43 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 06 19:18:43 2011 -0700"
      },
      "message": "Revert \"To make SniffMP3() more concrete so that we can remove false-positve responses from MPEG-PS streams.\"\n\nThis reverts commit 983ab88e117fcbda9370b8f4ba94271d37149672.\n\nrelated-to-bug: 5231309\n"
    },
    {
      "commit": "e7484f36061a60aadadb01143d84964d931aa837",
      "tree": "9b1fc82f1e573b3bc65a62b33a2dee31031034ba",
      "parents": [
        "2e3319a62be898e1f0405025d24962fc6a1a3f07"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 06 16:05:02 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 06 16:05:02 2011 -0700"
      },
      "message": "Stop metadata retriever from dereferencing a NULL pointer if\n\nthe media extractor failed to initialize (malformed or unsupported content)\n\nChange-Id: Icfad4e9eeb8d6713ad12eee7979ab30b696c06e0\nrelated-to-bug: 5263840\n"
    },
    {
      "commit": "764f47d976cab9d2302ae8802f6f27d1ae221015",
      "tree": "7cb6cae7020e91e849400b3a6d59ad97f96076dd",
      "parents": [
        "2002f94ab433bece8b5055105d504da8386b9c70",
        "a4f73a9e0e0863a567cc06defa0d9e0269388d4e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 06 14:56:14 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 06 14:56:14 2011 -0700"
      },
      "message": "am b6738fc6: Merge \"Issue 5247986: Battery drain due to audio wakelock\"\n\n* commit \u0027b6738fc6a5ab08c23ecc7c0d84316f5fa5e05064\u0027:\n  Issue 5247986: Battery drain due to audio wakelock\n"
    },
    {
      "commit": "a4f73a9e0e0863a567cc06defa0d9e0269388d4e",
      "tree": "464d68e33f1351796c60a2a0ff43ec696eb69e7b",
      "parents": [
        "2e3319a62be898e1f0405025d24962fc6a1a3f07",
        "408b8dc3c0a364c6f6b4991d15da9e6bcc2b8008"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 06 14:53:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 06 14:53:59 2011 -0700"
      },
      "message": "Merge \"Issue 5247986: Battery drain due to audio wakelock\""
    },
    {
      "commit": "408b8dc3c0a364c6f6b4991d15da9e6bcc2b8008",
      "tree": "f5f9885d8b86fc8073678962a8d38eec4ebef2a4",
      "parents": [
        "3a13fad63af40a8364fce796b1a54a8f0a2fbf32"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 06 12:36:15 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 06 14:37:20 2011 -0700"
      },
      "message": "Issue 5247986: Battery drain due to audio wakelock\n\nThe problem occurs when activating or deactivating A2DP connection\nwhile SoudPool has a channel active. This can happen quite frequently now\nthat the UI sound effects are enabled by default.\nIf PCM data is remaining in the AudioTrack buffer when it is restroyed and\nre-created on the new AudioFlinger output thread, this data is flushed.\nAs a consequence, no underrun or request for new data callback is sent to\nSoundPool and the sound channel remains active for ever as the end of the\nsample is never detected.\n\nChange-Id: I13e0c11e4ce3f83bff7f58d347ca814b6a86712b\n"
    },
    {
      "commit": "2002f94ab433bece8b5055105d504da8386b9c70",
      "tree": "7f8d75bb7e043fed9f4a2b15cf3ff0147f886546",
      "parents": [
        "2140f4a1b8dd603d74624c758d6864fb92c7cb1e",
        "2e3319a62be898e1f0405025d24962fc6a1a3f07"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Sep 06 13:08:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 06 13:08:07 2011 -0700"
      },
      "message": "am f12abaf4: Merge \"Handle setDataSource failures properly. #5261671\"\n\n* commit \u0027f12abaf40588615fa418fb711a4d754098b589f3\u0027:\n  Handle setDataSource failures properly. #5261671\n"
    },
    {
      "commit": "2e3319a62be898e1f0405025d24962fc6a1a3f07",
      "tree": "160e7bf7076d06d64f9f00ada5ff1d2ce24234e3",
      "parents": [
        "adc857e80a1045897ebad85e691dc04451d364e3",
        "0662067b06658a4a56a8416c676f6cce8ccddb53"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Sep 06 13:06:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 06 13:06:20 2011 -0700"
      },
      "message": "Merge \"Handle setDataSource failures properly. #5261671\""
    },
    {
      "commit": "0662067b06658a4a56a8416c676f6cce8ccddb53",
      "tree": "5a1ed2dc243f4bd4727635a57153bfb0e65422ea",
      "parents": [
        "71b63e3ef687c379368be6b02e70bd2feb0b6b8d"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Sep 06 20:39:47 2011 +0100"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Sep 06 20:39:47 2011 +0100"
      },
      "message": "Handle setDataSource failures properly. #5261671\n\nChange-Id: Iea0aa474d1939db23da9aabdfae2081e834f30d9\n"
    },
    {
      "commit": "2140f4a1b8dd603d74624c758d6864fb92c7cb1e",
      "tree": "8a382c00c29445219034e0ca1fbf39ea40661d41",
      "parents": [
        "f6cf82b0e1ca335e2c4c2d5f0098ef401abb2532",
        "adc857e80a1045897ebad85e691dc04451d364e3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 06 09:56:13 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 06 09:56:13 2011 -0700"
      },
      "message": "am 351f44af: Merge \"Don\\\u0027t overwrite pending port setting change if there are more than one port setting change event.\"\n\n* commit \u0027351f44af54f001ee67908f9e1f601f8ffa7905d2\u0027:\n  Don\u0027t overwrite pending port setting change if there are more than one port setting change event.\n"
    },
    {
      "commit": "adc857e80a1045897ebad85e691dc04451d364e3",
      "tree": "a0fe509045d916e8c7dd853f63d3e8a72ade9f79",
      "parents": [
        "71b63e3ef687c379368be6b02e70bd2feb0b6b8d",
        "97857479de48fda4c33bb415b2fbb15193f768e8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 06 09:54:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 06 09:54:43 2011 -0700"
      },
      "message": "Merge \"Don\u0027t overwrite pending port setting change if there are more than one port setting change event.\""
    },
    {
      "commit": "31292d99f62a812af691e67e8e732c6ae582ee08",
      "tree": "908e6109ab6ae0b6d3bf79f6964aab1005b751d3",
      "parents": [
        "71b63e3ef687c379368be6b02e70bd2feb0b6b8d"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Sep 02 17:56:35 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Sep 02 17:56:35 2011 -0700"
      },
      "message": "Fixing bug in SurfaceMediaSource_test\n\nThe test was making EGL calls once disconnected. Instead of calling\n\"disconnect\" directly on the Surface, and EGL calls should be made to that\neffect.\n\nChange-Id: I21468ac8cbc2cb3145a49269e32a884736cd452e\n"
    },
    {
      "commit": "f6cf82b0e1ca335e2c4c2d5f0098ef401abb2532",
      "tree": "7cb31c06daf81adf49e1562e0d32766e3c419d42",
      "parents": [
        "6a27e5cc0fec8aec44d5888e9b2298d3510d5aa5",
        "71b63e3ef687c379368be6b02e70bd2feb0b6b8d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 02 16:42:26 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 02 16:42:26 2011 -0700"
      },
      "message": "am 929827b8: Merge \"Fix issue 5252593: any app can restart the runtime\"\n\n* commit \u0027929827b819415101d526ff68fb0b2c8adb885132\u0027:\n  Fix issue 5252593: any app can restart the runtime\n"
    },
    {
      "commit": "71b63e3ef687c379368be6b02e70bd2feb0b6b8d",
      "tree": "999224e0be6a519fea200fb1f637d611e1e89d4c",
      "parents": [
        "3a13fad63af40a8364fce796b1a54a8f0a2fbf32"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 02 14:20:56 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 02 15:59:50 2011 -0700"
      },
      "message": "Fix issue 5252593: any app can restart the runtime\n\nReplace null device address string by empty sting.\n\nChange-Id: I285c35f3345334e6d2190493b1a8a5aca1a361a4\n"
    },
    {
      "commit": "6a27e5cc0fec8aec44d5888e9b2298d3510d5aa5",
      "tree": "1ff8b878a9df682c5b79e7a2aee0aecb309b5190",
      "parents": [
        "cce1c2bd3308934f7c207bc291ccb089189666b0",
        "3a13fad63af40a8364fce796b1a54a8f0a2fbf32"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 02 09:45:37 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 02 09:45:37 2011 -0700"
      },
      "message": "am 69a5f6c3: Properly serialize access to FileSource::getSize by acquiring the mutex\n\n* commit \u002769a5f6c3e04aa0f3f87eed7578a32782c97bd48f\u0027:\n  Properly serialize access to FileSource::getSize by acquiring the mutex\n"
    },
    {
      "commit": "3a13fad63af40a8364fce796b1a54a8f0a2fbf32",
      "tree": "a99d1e91d87550a46a523acfc0734a72f56db917",
      "parents": [
        "d681bbb1767bed09415e050ba78975df214bcd68"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 02 09:34:51 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 02 09:34:51 2011 -0700"
      },
      "message": "Properly serialize access to FileSource::getSize by acquiring the mutex\n\nBoth ::getSize and ::read call into lseek64, if this happens simultaneously\nfrom multiple threads the results are undefined if not properly serialized.\n\nChange-Id: I737cafebd836f3d8eb702beac557b4731f69c6f6\nrelated-to-bug: 5196490\n"
    },
    {
      "commit": "cce1c2bd3308934f7c207bc291ccb089189666b0",
      "tree": "aaa863313ddeb8abe8011a16b0bd92f5eb5fcbcd",
      "parents": [
        "95d2213d9c19e7c6044b9498ff198a784594c834",
        "d681bbb1767bed09415e050ba78975df214bcd68"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Sep 02 03:32:31 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 02 03:32:31 2011 -0700"
      },
      "message": "am 1d477c53: Merge \"Require INTERNET permission for network-based content. Bug #1870981\"\n\n* commit \u00271d477c53bf2f389813d04d5163d210fccf00ceb9\u0027:\n  Require INTERNET permission for network-based content. Bug #1870981\n"
    },
    {
      "commit": "d681bbb1767bed09415e050ba78975df214bcd68",
      "tree": "2030c617c61bbf7b6cd8c6bafab601a99b1ac83d",
      "parents": [
        "d942202ee0c92608c648735c3ad0f1bab4312420"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Aug 30 14:39:17 2011 +0100"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Sep 02 11:26:59 2011 +0100"
      },
      "message": "Require INTERNET permission for network-based content.\nBug #1870981\n\nChange-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f\n"
    },
    {
      "commit": "97857479de48fda4c33bb415b2fbb15193f768e8",
      "tree": "c17c7c6fc443508a0a34db15e9ef566e02463a56",
      "parents": [
        "d942202ee0c92608c648735c3ad0f1bab4312420"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 01 19:31:01 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 01 19:39:18 2011 -0700"
      },
      "message": "Don\u0027t overwrite pending port setting change if there are more than one port setting change event.\n\nChange-Id: I3413f5235b191031252aa3785f5aaef00caef1ce\nrelated-to-bug: 5122512\n"
    },
    {
      "commit": "95d2213d9c19e7c6044b9498ff198a784594c834",
      "tree": "81e754774f762a95b9bb53c6bf00a3ab1ce6eab0",
      "parents": [
        "1e2e3cc0ab5bb11e19879b54e1eb67e6d48fa32f",
        "d942202ee0c92608c648735c3ad0f1bab4312420"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 13:28:57 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 01 13:28:57 2011 -0700"
      },
      "message": "am ae510085: Merge \"Guard the audio notifications with a separate lock to avoid deadlocks during reset.\"\n\n* commit \u0027ae51008564a7a32199a144544a4ab57b976ffa9d\u0027:\n  Guard the audio notifications with a separate lock to avoid deadlocks during reset.\n"
    },
    {
      "commit": "1e2e3cc0ab5bb11e19879b54e1eb67e6d48fa32f",
      "tree": "b5d432f16febb7deaa27a33d6c1ff14bc2b70951",
      "parents": [
        "ac220500953f75d64d611bbed5e47cffc6467cfa",
        "5403129e2a2f44620f2ac8109889e5a61be08732"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 13:27:52 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 01 13:27:52 2011 -0700"
      },
      "message": "am 7f5ea61b: Merge \"Signal an error when encountering a malformed .ts stream.\"\n\n* commit \u00277f5ea61b0f0ac479f836c0c47b8b212d73486a0d\u0027:\n  Signal an error when encountering a malformed .ts stream.\n"
    },
    {
      "commit": "d942202ee0c92608c648735c3ad0f1bab4312420",
      "tree": "9408506e1e119d84dec3661c0894fbcea3d2359e",
      "parents": [
        "5403129e2a2f44620f2ac8109889e5a61be08732",
        "02f6e988107bc13ebe4828b734ea0fc3d9d11ae0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 12:20:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 01 12:20:24 2011 -0700"
      },
      "message": "Merge \"Guard the audio notifications with a separate lock to avoid deadlocks during reset.\""
    },
    {
      "commit": "02f6e988107bc13ebe4828b734ea0fc3d9d11ae0",
      "tree": "33ae71e49d527dba2905559879002be3d48a580b",
      "parents": [
        "a8e409f8f9b40737d0b03355894b5e141d0aff6b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 11:39:11 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 11:39:11 2011 -0700"
      },
      "message": "Guard the audio notifications with a separate lock to avoid deadlocks during reset.\n\nChange-Id: I9a97372e1f777d1cbd6774cac2ed34b4b8cd9392\nrelated-to-bug: 5179827\n"
    },
    {
      "commit": "5403129e2a2f44620f2ac8109889e5a61be08732",
      "tree": "7d4d6e9ccde89e3c3087d9a0d92ac8eea31024b9",
      "parents": [
        "a8e409f8f9b40737d0b03355894b5e141d0aff6b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 11:04:43 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 11:04:43 2011 -0700"
      },
      "message": "Signal an error when encountering a malformed .ts stream.\n\nChange-Id: I3ab0215419214b652573945403eb45eb09d41aff\nrelated-to-bug: 5114811\n"
    },
    {
      "commit": "740d70412e859b250d2fcb9b3e04f5cc81b38cb9",
      "tree": "5c01a476b1e6484a7e9dae22ac6dc36dd65c0d00",
      "parents": [
        "9a09daedb81cb470dbb5ad8b9f4d17fbfdfdf350",
        "aec548b979f3d64712e8aa84cffdc4b7f094a798"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:47:40 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 16:47:40 2011 -0700"
      },
      "message": "am 9100473a: Merge \"I have one HLS stream that switches stream PIDs from one bandwidth to the next\"\n\n* commit \u00279100473a7e908c7292008140f76ca5009a4335d4\u0027:\n  I have one HLS stream that switches stream PIDs from one bandwidth to the next\n"
    },
    {
      "commit": "9a09daedb81cb470dbb5ad8b9f4d17fbfdfdf350",
      "tree": "a45ef6d63883e7ed1807be91ff9179d5b388d447",
      "parents": [
        "1afe4059bc821a2e09103589c6714e1204a55f13",
        "ef96bbce63da03bc0f0ad86174567cfdd5990c1b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:47:37 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 16:47:37 2011 -0700"
      },
      "message": "am afbb70b4: Merge \"Discontinuities are only signalled on streams that have been identified, i.e.\"\n\n* commit \u0027afbb70b48e348410279816639eeb61f8a33064d2\u0027:\n  Discontinuities are only signalled on streams that have been identified, i.e.\n"
    },
    {
      "commit": "aec548b979f3d64712e8aa84cffdc4b7f094a798",
      "tree": "db85875efd52fd8893b9a033b5bb529d79ccdeba",
      "parents": [
        "ef96bbce63da03bc0f0ad86174567cfdd5990c1b",
        "06528d7f18ad01377357d337eaa3e875a242bd2d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:44:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 16:44:49 2011 -0700"
      },
      "message": "Merge \"I have one HLS stream that switches stream PIDs from one bandwidth to the next\""
    },
    {
      "commit": "ef96bbce63da03bc0f0ad86174567cfdd5990c1b",
      "tree": "a7998dbad6111fc7e4c2bf2ae6940f5df5ca3bf9",
      "parents": [
        "c6b551541a6abd68bc3f3add07c196be4badccf3",
        "18ac5407da14dad9731f40ffc9a56bee73830019"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:44:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 16:44:43 2011 -0700"
      },
      "message": "Merge \"Discontinuities are only signalled on streams that have been identified, i.e.\""
    },
    {
      "commit": "06528d7f18ad01377357d337eaa3e875a242bd2d",
      "tree": "c08f45ba206b07b864f7a153f65fc739ae51fe1c",
      "parents": [
        "18ac5407da14dad9731f40ffc9a56bee73830019"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:29:05 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:29:05 2011 -0700"
      },
      "message": "I have one HLS stream that switches stream PIDs from one bandwidth to the next\n\nthis change intends to support its very limited case and signals an error in\nall other cases of unexpected PID changes that we cannot recover from.\n\nChange-Id: Icbfdf9fe7461969e2a8781ed416f54d891dd789a\n"
    },
    {
      "commit": "18ac5407da14dad9731f40ffc9a56bee73830019",
      "tree": "f7574b9ebd7cd610f873d064a0dee23a32b16a4b",
      "parents": [
        "935456794a8d572368ebe942d13451f7d71a9f4e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 15:04:25 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 15:35:49 2011 -0700"
      },
      "message": "Discontinuities are only signalled on streams that have been identified, i.e.\n\nthose that have a queue. This ensures that the player doesn\u0027t observe discontinuities\nthat don\u0027t match up across streams.\n\nAlso, make sure output buffers arriving from the decoder to be rendered are sent\nback to the decoder if we started flushing.\n\nFinally, don\u0027t parse TS packets for streams we don\u0027t support. And don\u0027t allocate\nmemory for them.\n\nChange-Id: I708e0de4cba8110a62e4c8ceb1e5702430d5d2bb\n"
    },
    {
      "commit": "1afe4059bc821a2e09103589c6714e1204a55f13",
      "tree": "d752444d8da119542a9bd0140ca8d7648cb3b776",
      "parents": [
        "236d9fdbe9b292c4c3195dbb7fd00ef48d9227b6",
        "c6b551541a6abd68bc3f3add07c196be4badccf3"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 31 15:10:54 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 15:10:54 2011 -0700"
      },
      "message": "am d318b73e: Merge \"Update SurfaceMediaSource_test to not use pbuffer configs\"\n\n* commit \u0027d318b73e8e7832f257797ce08b3eea02780b7909\u0027:\n  Update SurfaceMediaSource_test to not use pbuffer configs\n"
    },
    {
      "commit": "c6b551541a6abd68bc3f3add07c196be4badccf3",
      "tree": "4ec2977ddb7f547186869772b2b882b96d2a1732",
      "parents": [
        "f11b37bc9c92380cafadad7c8988f170687b8dfe",
        "21fcf0830c8b4fb544a09467bc96a8d0463ad966"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 31 15:09:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 15:09:26 2011 -0700"
      },
      "message": "Merge \"Update SurfaceMediaSource_test to not use pbuffer configs\""
    },
    {
      "commit": "236d9fdbe9b292c4c3195dbb7fd00ef48d9227b6",
      "tree": "86954e3c623c2ed5fdd39b23850eed9e9c21afa0",
      "parents": [
        "877fd3c7c5bbb4187ff9df2479a1af25be3124a5",
        "f11b37bc9c92380cafadad7c8988f170687b8dfe"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 31 14:20:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 14:20:39 2011 -0700"
      },
      "message": "am e3fb1cb1: Merge \"Fix a crash where the EOS was signalled but some output buffer were still pending.\"\n\n* commit \u0027e3fb1cb1b1f333aadc780c85de0735143ad864b4\u0027:\n  Fix a crash where the EOS was signalled but some output buffer were still pending.\n"
    },
    {
      "commit": "f11b37bc9c92380cafadad7c8988f170687b8dfe",
      "tree": "f7a13b041ec50ecb7dfc50be4f850e6fb03660eb",
      "parents": [
        "af6764da53c022768290e735bbcc3088bec333d8",
        "e8eb2f4f0f8eff0313a27892ab8514223553d943"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 31 14:17:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 14:17:18 2011 -0700"
      },
      "message": "Merge \"Fix a crash where the EOS was signalled but some output buffer were still pending.\""
    },
    {
      "commit": "877fd3c7c5bbb4187ff9df2479a1af25be3124a5",
      "tree": "b350a9516762c8ecb28a95023c64bfa36962bdab",
      "parents": [
        "c6e29ec11ac23e763ef886e709ca1ad66128348e",
        "af6764da53c022768290e735bbcc3088bec333d8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 31 13:43:05 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 13:43:05 2011 -0700"
      },
      "message": "am b2c4f0bf: Merge \"Fix SurfaceMediaSource timestamp handling.\"\n\n* commit \u0027b2c4f0bf11f38fd31d80f1256c89b9db043a2929\u0027:\n  Fix SurfaceMediaSource timestamp handling.\n"
    },
    {
      "commit": "af6764da53c022768290e735bbcc3088bec333d8",
      "tree": "9b98de8360b386d35e90f14fb256875aac963361",
      "parents": [
        "e31f4f78729f66b3a90f51671ad557b551ed0bea",
        "df4a59c61103e7e0e9332e167a0be67da5d82ff3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 31 13:41:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 13:41:06 2011 -0700"
      },
      "message": "Merge \"Fix SurfaceMediaSource timestamp handling.\""
    },
    {
      "commit": "c6e29ec11ac23e763ef886e709ca1ad66128348e",
      "tree": "ea704aaa1ac5ebb2acc7fee63586fefeb2d5ee51",
      "parents": [
        "9b153bee7ae11a7dc3857df02038abae1a6e53e5",
        "e31f4f78729f66b3a90f51671ad557b551ed0bea"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 31 10:39:35 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 10:39:35 2011 -0700"
      },
      "message": "am 3727e3d8: Merge \"Stop the AudioSource in reset() of AwesomePlayer if AudioSource is not NULL and AudioPlayer was not started. Fix for 5236419.\"\n\n* commit \u00273727e3d80d37fc8004ddaa4ec589bd8d9c304fad\u0027:\n  Stop the AudioSource in reset() of AwesomePlayer if AudioSource is not NULL and AudioPlayer was not started. Fix for 5236419.\n"
    },
    {
      "commit": "e31f4f78729f66b3a90f51671ad557b551ed0bea",
      "tree": "349610917fc80daee815b848e58a0ae5cf3fefae",
      "parents": [
        "935456794a8d572368ebe942d13451f7d71a9f4e",
        "5b75fdc8fbc026453888cbb2d3fe31345394618b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 31 10:37:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 10:37:48 2011 -0700"
      },
      "message": "Merge \"Stop the AudioSource in reset() of AwesomePlayer if AudioSource is not NULL and AudioPlayer was not started. Fix for 5236419.\""
    },
    {
      "commit": "5b75fdc8fbc026453888cbb2d3fe31345394618b",
      "tree": "64023538fcbc1dcee5a89bbdf70db6d63c600d7b",
      "parents": [
        "b76e90de3c64626fe07a68469d0a59a31c8efb6b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 31 10:24:18 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 31 10:24:18 2011 -0700"
      },
      "message": "Stop the AudioSource in reset() of AwesomePlayer if AudioSource is not NULL\nand AudioPlayer was not started.\nFix for 5236419.\n\nChange-Id: I5eadd069118c3533a19b5d6f6dca2ce16d8505fb\n"
    },
    {
      "commit": "9b153bee7ae11a7dc3857df02038abae1a6e53e5",
      "tree": "87d230e47f6c6626810880db005fde827d82495b",
      "parents": [
        "c0bcf75243267e7f6af4f3f7d45cb97c31d99abc"
      ],
      "author": {
        "name": "Mike J. Chen",
        "email": "mjchen@google.com",
        "time": "Mon Aug 15 13:24:13 2011 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 31 10:05:05 2011 -0700"
      },
      "message": "MediaPlayer changes for Tungsten/Android@Home.\n\nSquashed merge from master-tungsten of the following changes:\n\ncommit e8b156c6b224f0fe5b6a81d5f92bade36275027c\nAuthor: Jason Simmons \u003cjsimmons@google.com\u003e\nDate:   Fri Aug 12 10:28:48 2011 -0700\n\n    Add a null check to handle failure of android::createPlayer\n\n    Change-Id: Iacbbc90369a825838d4374b1f774c8880b25753b\n\ncommit 43be3231034ff8537fdd84422a7954780038671f\nAuthor: John Grossman \u003cjohngro@google.com\u003e\nDate:   Mon Jun 27 18:59:12 2011 -0700\n\n    Move libaah_rtp over from the vendor directory.\n\n    Also move factor PipeEvent out into utils.\n\n    Change-Id: Id3877c66efe22d771cf3ef4877107e431b828e37\n\ncommit 17526eb3148c9c3d4365b6d5b47e8dc13bca71b6\nAuthor: John Grossman \u003cjohngro@google.com\u003e\nDate:   Mon Jun 27 17:06:49 2011 -0700\n\n    Name changes for the TRTP Players s/tungsten/aah/g\n\n    Change-Id: I55e9ad13003f6aa6a36955b54426a7efbe31ac51\n\ncommit cbf2903ab6893b6e662514e2f6d670e268a419df\nAuthor: John Grossman \u003cjohngro@google.com\u003e\nDate:   Fri Apr 15 09:27:54 2011 -0700\n\n    Migrate Tungsten code from the HC-Tungsten to the Master-Tungsten branch.\n\n    Change-Id: I95372d913a0761d90168edb4016f5ece0ea74502\n\nChange-Id: Ic8fd28b1bbd85e86a325f99013e7aa0c763f5f05\nSigned-off-by: Mike J. Chen \u003cmjchen@google.com\u003e\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "c0bcf75243267e7f6af4f3f7d45cb97c31d99abc",
      "tree": "78e11a1eeb8351a5056f5d405d50a5b3d5903d4e",
      "parents": [
        "b6ac2bf63da6eedb0027e5670c16a528a4ceb01d"
      ],
      "author": {
        "name": "Mike J. Chen",
        "email": "mjchen@google.com",
        "time": "Mon Aug 15 11:26:02 2011 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 31 10:05:05 2011 -0700"
      },
      "message": "Add media/libaah_rtp\n\nRTP library used to broadcast media from one device to a collection\nof listeners.  Handles failures/retries/etc.\n\nThis is a squashed merge from master-tungsten of the following changes:\n\ncommit e1a5101fe627d71739a7c4263bb3a65c7bc44385\nAuthor: Jason Simmons \u003cjsimmons@google.com\u003e\nDate:   Fri Aug 12 13:24:21 2011 -0700\n\n    Hold ThreadWrapper in a ref-counting pointer\n\n    Change-Id: Iaf3343182e37bcc0ca99fbaf8f9bbb8c4984072a\n\ncommit 89b90d62e164ff3db27c9cba85255fc476d2dd96\nAuthor: Jason Simmons \u003cjsimmons@google.com\u003e\nDate:   Wed Aug 10 13:08:25 2011 -0700\n\n    Update the Tungsten TX player to use HTTPBase\n\n    Change-Id: I9f7ecf1b4b496cec1815284dbcdb958a43284169\n\ncommit 43be3231034ff8537fdd84422a7954780038671f\nAuthor: John Grossman \u003cjohngro@google.com\u003e\nDate:   Mon Jun 27 18:59:12 2011 -0700\n\n    Move libaah_rtp over from the vendor directory.\n\n    Also move factor PipeEvent out into utils.\n\n    Change-Id: Id3877c66efe22d771cf3ef4877107e431b828e37\n\nChange-Id: I190ecddf1dc919761c2e4ec740c2f3b2c9541156\nSigned-off-by: Mike J. Chen \u003cmjchen@google.com\u003e\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\nSigned-off-by: Jason Simmons \u003cjsimmons@google.com\u003e\n"
    },
    {
      "commit": "b6ac2bf63da6eedb0027e5670c16a528a4ceb01d",
      "tree": "58b96456a0262958ab4eb10372776ab221ab3fda",
      "parents": [
        "5603988205785a2efd7b6a288edac4c037ee4d7e",
        "935456794a8d572368ebe942d13451f7d71a9f4e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 09:48:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 09:48:07 2011 -0700"
      },
      "message": "am 49fb943d: Merge \"ATSParser now supports a mode in which PTS is considered to be absolute time\"\n\n* commit \u002749fb943db85c748fc7dd4f5ee4a461d7489fb1b0\u0027:\n  ATSParser now supports a mode in which PTS is considered to be absolute time\n"
    },
    {
      "commit": "935456794a8d572368ebe942d13451f7d71a9f4e",
      "tree": "28f8cdfb4d2a1be1086d9b13adc4970128625ede",
      "parents": [
        "c3d8f74cda26197ec9066374fe31abe9ee77c1b1",
        "c4c17d47b674b425fb6c399822c0ab3258543c0a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 09:44:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 09:44:57 2011 -0700"
      },
      "message": "Merge \"ATSParser now supports a mode in which PTS is considered to be absolute time\""
    },
    {
      "commit": "21fcf0830c8b4fb544a09467bc96a8d0463ad966",
      "tree": "5ebd613fe21d3b020126fe248f699f05fef2b362",
      "parents": [
        "790332a3170f967d58cee5d89cc92be8205d9aa3"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Tue Aug 30 19:10:54 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Tue Aug 30 22:36:41 2011 -0700"
      },
      "message": "Update SurfaceMediaSource_test to not use pbuffer configs\n\nSurfaceMediaSource_test now does not use pbuffer configs\nto create a surface. Always uses a window config.\nAlso, cleaned up the test a bit.\n\nChange-Id: Idda40dcb8474249eccaa8d2dad20ee840d2dd484\n"
    },
    {
      "commit": "e8eb2f4f0f8eff0313a27892ab8514223553d943",
      "tree": "e876f82be05fd6d783301ca9a31f2157c6a79127",
      "parents": [
        "13e6dfbd77a6e2c2832cbfe6dc66f3db8716538b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 30 17:06:10 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 30 17:06:10 2011 -0700"
      },
      "message": "Fix a crash where the EOS was signalled but some output buffer were still pending.\n\nChange-Id: Ide111264501441b51bb10629ae2021accf9e1fb5\nrelated-to-bug: 5234126\n"
    },
    {
      "commit": "c4c17d47b674b425fb6c399822c0ab3258543c0a",
      "tree": "7e41c2ed3db28d1c61ddd28175b19c2d954f3549",
      "parents": [
        "13e6dfbd77a6e2c2832cbfe6dc66f3db8716538b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 30 16:06:28 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 30 16:06:28 2011 -0700"
      },
      "message": "ATSParser now supports a mode in which PTS is considered to be absolute time\n\ni.e. PTS 0 \u003c\u003d\u003e media time 0\n\nChange-Id: If10a0f98c129b95e8430dc419664b1def92e547e\n"
    },
    {
      "commit": "fd07e4e40fa914a6d89b4aece3a04342d7a17701",
      "tree": "8db41d225d5a27d10abb60788130c384784c7e68",
      "parents": [
        "96c0b20f989a61c3b54cb41c83e73df4a8b5d590",
        "b76e90de3c64626fe07a68469d0a59a31c8efb6b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 30 10:53:47 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 30 10:53:47 2011 -0700"
      },
      "message": "am 0e35c78d: Merge \"226483: A2DP connected, but music out to speaker\"\n\n* commit \u00270e35c78d25a8df8b3bde566ad6c474f9df242ea4\u0027:\n  226483: A2DP connected, but music out to speaker\n"
    },
    {
      "commit": "b76e90de3c64626fe07a68469d0a59a31c8efb6b",
      "tree": "b8ced112fa7e83a34898679552a26744610ce0e1",
      "parents": [
        "1619f3d3428e9d502dc477d31e0681fe1cd12b89",
        "9f6530f53ae9eda43f4e7c1cb30d2379db00aa00"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 30 10:51:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 30 10:51:54 2011 -0700"
      },
      "message": "Merge \"226483: A2DP connected, but music out to speaker\""
    },
    {
      "commit": "df4a59c61103e7e0e9332e167a0be67da5d82ff3",
      "tree": "2f87a701a3c76fc553c4383d1c913ba867d0bcfa",
      "parents": [
        "1b5a697dc5435c76447eb5a2de373f5acdda119e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 29 18:16:03 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 30 10:49:15 2011 -0700"
      },
      "message": "Fix SurfaceMediaSource timestamp handling.\n\nWas not basing timestamps on startTimeUs.\nNow synchronizes properly with audio.\n\nBug: 4510826\nChange-Id: I613db0aa91e51fc75d120e65540e742d8ab2ae43\n"
    },
    {
      "commit": "9f6530f53ae9eda43f4e7c1cb30d2379db00aa00",
      "tree": "663430f29fec8c038ad2770e2640c9480c0e2251",
      "parents": [
        "d2824a9a392e02a09929a34f0a3dad41ac1faacf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 30 10:18:54 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 30 10:19:38 2011 -0700"
      },
      "message": "226483: A2DP connected, but music out to speaker\n\nWhen the A2DP headset is connected, there is a possible\nrace condition when the audio tracks are moved from\nthe mixer thread attached to the speaker output to the thread\nattached to A2DP output.\nAs the request to clear the stream type to output mapping cache in\nthe client process is asynchronous, it is possible that the flag\nindicating to the client audio track to re-create the IAudioTrack\non the new thread is processed before the cache is invalidated.\nIn this case, the track will be attached to the old thread and\nmusic will continue playing over the device speaker instead of being\nredirected to A2DP headset.\n\nChange-Id: Ib2ce1eb5320eaff83287b93779061bf4e7a330df\n"
    },
    {
      "commit": "96c0b20f989a61c3b54cb41c83e73df4a8b5d590",
      "tree": "d23f4b5d8b8d591b77afb7894533dfb13f1a38bf",
      "parents": [
        "ca426b4bff9840b3dc3c523d893185debf487efd",
        "1619f3d3428e9d502dc477d31e0681fe1cd12b89"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 30 09:08:02 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 30 09:08:02 2011 -0700"
      },
      "message": "am c5d0fac0: Merge \"Bug 5156756 Fix AAC ADTS header size computation\"\n\n* commit \u0027c5d0fac081c4c496b29586bff79dfff05755b716\u0027:\n  Bug 5156756 Fix AAC ADTS header size computation\n"
    },
    {
      "commit": "1619f3d3428e9d502dc477d31e0681fe1cd12b89",
      "tree": "61b0a9c48624ecad9b03a2512ac484f1c660a8d8",
      "parents": [
        "13e6dfbd77a6e2c2832cbfe6dc66f3db8716538b",
        "bf4c48bc678c8f531f39f0b48755967d844ad581"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 30 09:06:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 30 09:06:36 2011 -0700"
      },
      "message": "Merge \"Bug 5156756 Fix AAC ADTS header size computation\""
    },
    {
      "commit": "bf4c48bc678c8f531f39f0b48755967d844ad581",
      "tree": "8b48c85ea1bb59a7c6833135f77d723330e150da",
      "parents": [
        "1b5a697dc5435c76447eb5a2de373f5acdda119e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Aug 29 14:06:51 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Aug 29 18:56:55 2011 -0700"
      },
      "message": "Bug 5156756 Fix AAC ADTS header size computation\n\nThis previous frame size computation code had two incorrect\n assumptions:\n 1/ the ADTS frame length value already contains the header size\n 2/ the ADTS header is not of fixed size: it is 2 bytes bigger\n  if it contains the CRC value.\nFor 1/, the code worked because when the header size was added\n to the frame size, the + operator is of stronger precedence\n than the ? operator, so the size added was always 0 (instead\n of ADTS_HEADER_LENGTH.\nFor 2/, the code worked as long as there was no CRC in the ADTS\n data.\n\nThe fix consists in:\n - documenting what the frame length computation code returns\n - fixing the frame length computation\n - when computing the frame length, also returning the header\n  size so the correct data can be sent to the decoder.\n\nChange-Id: I92df72a9e531f594f762e63d62f9dee7b0109904\n"
    },
    {
      "commit": "1ae9d3b64102e317fbf32584a81e8be96db8ce64",
      "tree": "3e37270ff0b76d453e0d73d91a6f409636de8492",
      "parents": [
        "dcdbcc5cacf8a60edec0a8202ff6380816625eb4",
        "63970b42f101c87db7cfd26d43b0d300260b1582"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 29 15:18:26 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 29 15:18:26 2011 -0700"
      },
      "message": "am 499f3658: Merge \"Return an error to the client instead of asserting if decoder instantiation fails\"\n\n* commit \u0027499f36581c63579f24c3d9bbf95c7f8677cd1191\u0027:\n  Return an error to the client instead of asserting if decoder instantiation fails\n"
    },
    {
      "commit": "63970b42f101c87db7cfd26d43b0d300260b1582",
      "tree": "5e358f4f34709bc1663723fc094b7d888b7a86d9",
      "parents": [
        "1b5a697dc5435c76447eb5a2de373f5acdda119e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 29 13:01:23 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 29 13:01:23 2011 -0700"
      },
      "message": "Return an error to the client instead of asserting if decoder instantiation fails\n\nafter a surface change.\n\nChange-Id: Ic7758cbeb107032db68a1c3b8e2984710a12dd8b\nrelated-to-bug: 5212725\n"
    },
    {
      "commit": "71c19fd4078b026dbe1c528c40e670a09893eff2",
      "tree": "ead28113f74683d33f5afef17a36d6814a5a01b2",
      "parents": [
        "a6fd64b2f3370a4dc6622107f534fa225954d89f",
        "1b5a697dc5435c76447eb5a2de373f5acdda119e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 29 08:13:47 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 29 08:13:47 2011 -0700"
      },
      "message": "am b3c084af: Merge \"Signal errors to the client instead of asserting in ACodec.\"\n\n* commit \u0027b3c084af16dfd50c20c10320bf2b1e8d4d0cc5b8\u0027:\n  Signal errors to the client instead of asserting in ACodec.\n"
    },
    {
      "commit": "1b5a697dc5435c76447eb5a2de373f5acdda119e",
      "tree": "1e773337b864ca9dc065a94b65a5278dffe858a4",
      "parents": [
        "c7de3f6bbaa6c1b8b334574fad34d583e3a67f5d",
        "cb67cd1b51ff9ab221e3124cf7e546515fef3c87"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 29 08:10:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 08:10:56 2011 -0700"
      },
      "message": "Merge \"Signal errors to the client instead of asserting in ACodec.\""
    },
    {
      "commit": "a6fd64b2f3370a4dc6622107f534fa225954d89f",
      "tree": "2ec1c2093736550c100d8c2644be48e0aa4f2435",
      "parents": [
        "bfbd3eb5826d42febe4b1e2bd220ab444d368a4b",
        "c7de3f6bbaa6c1b8b334574fad34d583e3a67f5d"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Sun Aug 28 14:42:33 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Aug 28 14:42:33 2011 -0700"
      },
      "message": "am 3451df1a: Merge \"Default W, H allowed in SurfaceMediaSource dequeue\"\n\n* commit \u00273451df1a5cc1547fe1061a482a50a639fcc0e8e4\u0027:\n  Default W, H allowed in SurfaceMediaSource dequeue\n"
    },
    {
      "commit": "c7de3f6bbaa6c1b8b334574fad34d583e3a67f5d",
      "tree": "3dce6ee437fc2372ff1d1787d2bd7b6dbfd3bea9",
      "parents": [
        "6004f2dc9af4088e34cc72b1ac3c4a3c5cd4ae14",
        "f76e1672c674620cb056f338a25ee4826d55dfcb"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Sun Aug 28 14:40:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 28 14:40:26 2011 -0700"
      },
      "message": "Merge \"Default W, H allowed in SurfaceMediaSource dequeue\""
    },
    {
      "commit": "3c1f8da74209676d9df4c26d3ea1346b927fd0bb",
      "tree": "36d86e917acb81aaef23d0a0972577a4295727ca",
      "parents": [
        "535235cf879728dca680279c21b37d5b0be5b10f",
        "f4b25b1dca4f1798c6f3f989be0738258d6504de"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Aug 26 20:03:09 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 26 20:03:09 2011 -0700"
      },
      "message": "am 2b9c5d8a: Merge \"Fixing small syntax error in MPEG4 logging\"\n\n* commit \u00272b9c5d8a89065ab18e58d79ae65a81267b248e1c\u0027:\n  Fixing small syntax error in MPEG4 logging\n"
    }
  ],
  "next": "f4b25b1dca4f1798c6f3f989be0738258d6504de"
}
