)]}'
{
  "log": [
    {
      "commit": "db130fbd3ccd37e247e49494a84f8a9841ecd593",
      "tree": "eddfcd84debc055e78baa446fafb3e88032577e4",
      "parents": [
        "856990b491d84b7ed4fefe337485c8997ba9dd02"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 03 17:18:19 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 03 17:18:19 2011 -0800"
      },
      "message": "Bug 3366885 Remove LVMX switch\n\nChange-Id: I0bf98c6f85f00b3296874571e1c049dcc4e2fcca\n"
    },
    {
      "commit": "856990b491d84b7ed4fefe337485c8997ba9dd02",
      "tree": "1f0630295fd40c55a6826dd562dee0d346767a10",
      "parents": [
        "31c52e7c8c01e1db6ff9bcf66135c72544b1235a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 13 11:17:00 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 03 13:39:10 2011 -0800"
      },
      "message": "Bug 1804058 FLAC extractor\n\nNote: dependent on external/flac for libFLAC\n\nImplemented and tested:\n * FLAC container\n * mono and stereo\n * standard sample rates\n * standard bit depths\n * sniffer\n * media scanner\n * Vorbis comment metadata including album art\n * random access seeking with \"torture test\"\n * web browser integration for audio/flac (not audio/x-flac), but\n   note that most web servers don\u0027t correctly report the MIME type\n\nNot implemented:\n * 24-bit to 16-bit dither or noise shaping in AudioFlinger\n * 96 kHz to 44.1 or 48 kHz downsampling low pass filter in AudioFlinger\n * replay gain is better done in AudioFlinger\n * multi-channel, would need AudioFlinger support\n * Ogg container, does not seem to be very popular yet\n\nChange-Id: I300873e8c0cfc2e95403d9adb5064d16a2923f17\n"
    },
    {
      "commit": "31c52e7c8c01e1db6ff9bcf66135c72544b1235a",
      "tree": "d109f977a229623a0a907130bf354721378cd6e1",
      "parents": [
        "c36c7addb22cecfbe467b58ce219cd1f6db21a44"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 02 13:43:55 2011 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 02 14:07:10 2011 -0800"
      },
      "message": "Fix some memory leaks found in static analysis\n\nChange-Id: Icd630009793c51acfaed45763ef50489ead40024\n"
    },
    {
      "commit": "c36c7addb22cecfbe467b58ce219cd1f6db21a44",
      "tree": "c47f9d6b3d1f438dad9404a395e398569e11c52b",
      "parents": [
        "72a807dc64c5a967f43116dd84893e2213c5b6e3",
        "80f68ce02c91f188bb0cb0019fd25df2b8115f18"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 01 10:35:10 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 01 10:35:10 2011 -0800"
      },
      "message": "Merge \"- Support comfort noise in AMRExtractor - Support duration and seeking in AMRExtractor for different bit rates\""
    },
    {
      "commit": "80f68ce02c91f188bb0cb0019fd25df2b8115f18",
      "tree": "7aed51afe76694e2a91a4b8c651dab09e64d2cb7",
      "parents": [
        "f41ef0ee0da4c497352df42d09c3d89940c25e14"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jan 27 16:57:12 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 01 10:05:59 2011 -0800"
      },
      "message": "- Support comfort noise in AMRExtractor\n- Support duration and seeking in AMRExtractor for different bit rates\n\nBug 2530101\n\nChange-Id: I12beffea73cea0ec056f0e0cf51a4a8d46d897b8\n"
    },
    {
      "commit": "72a807dc64c5a967f43116dd84893e2213c5b6e3",
      "tree": "eec1ffb3b031505d3a4fbf65807450260fa586a8",
      "parents": [
        "8d08c5aeee05425357b6603a22fa73fd6e095a47",
        "4e5391cf782ddff9a1c0d9b8211f1252521ca598"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 31 18:38:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 31 18:38:07 2011 -0800"
      },
      "message": "am b450d96b: am 537fa17f: Merge \"Disconnect HTTP live sessions as soon as the request comes in.\" into honeycomb\n\n* commit \u0027b450d96b3d13cd341ef7aa4483c2223ddfecce3c\u0027:\n  Disconnect HTTP live sessions as soon as the request comes in.\n"
    },
    {
      "commit": "4e5391cf782ddff9a1c0d9b8211f1252521ca598",
      "tree": "0d36ce09202327164ea83f383ad479238ccb91d4",
      "parents": [
        "ed5ba112bc2229c68916ada8eb0d783ba66df9e1",
        "ab8a0badb8fb1e294dacf2eb6a891439f348aff9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 31 18:31:05 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 31 18:31:05 2011 -0800"
      },
      "message": "am 537fa17f: Merge \"Disconnect HTTP live sessions as soon as the request comes in.\" into honeycomb\n\n* commit \u0027537fa17f21390fcb4a8d4b24f1cc80ca147ccce0\u0027:\n  Disconnect HTTP live sessions as soon as the request comes in.\n"
    },
    {
      "commit": "ab8a0badb8fb1e294dacf2eb6a891439f348aff9",
      "tree": "bfc9f30b9e0e31e85637ca12801913c368d71723",
      "parents": [
        "1f6c6b785f90f6c074c7d401f9fa537a4fb9f110"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 31 16:18:49 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 31 16:18:49 2011 -0800"
      },
      "message": "Disconnect HTTP live sessions as soon as the request comes in.\n\nInstead of waiting until pending events have been processed.\n\nChange-Id: Id758f5508a514561e18aade82175d69e9156965e\nrelated-to-bug: 3409681\n"
    },
    {
      "commit": "8d08c5aeee05425357b6603a22fa73fd6e095a47",
      "tree": "e3f9b8aef2c2f1b1564d177b1b828edcf15e691b",
      "parents": [
        "1331f07d4400a25b9c8d2d4a1a913150ae05c5f7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 31 16:44:44 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 31 17:11:24 2011 -0500"
      },
      "message": "MTP: Use ro.product.manufacturer system property value for MTP manufacturer name\n\nPreviously it was hard coded to \"Google, Inc.\"\n\nBUG: 3405965\n\nChange-Id: I5f962d474814c22e990c39b501c0f01da9e8dc6d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1331f07d4400a25b9c8d2d4a1a913150ae05c5f7",
      "tree": "2e8a393fe19a343c8aa470ae33f5cc0f64dc44ad",
      "parents": [
        "6ce1c4e6f6c96cee1d799d774e803d048d808834",
        "ed5ba112bc2229c68916ada8eb0d783ba66df9e1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jan 30 12:54:18 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jan 30 12:54:18 2011 -0800"
      },
      "message": "am 5f773b9f: Reconcile gingerbread-plus-aosp and honeycomb\n\n* commit \u00275f773b9f72367ed8046df257d20881fd96f86929\u0027:\n  resolved conflicts for merge of a314f32b to honeycomb-merge\n"
    },
    {
      "commit": "ed5ba112bc2229c68916ada8eb0d783ba66df9e1",
      "tree": "699025e929ec01e6188363e025a53e02d569ad10",
      "parents": [
        "ece0d5639c085b8b237bd0d39b2ac9fc3b205177",
        "1f6c6b785f90f6c074c7d401f9fa537a4fb9f110"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jan 30 12:40:39 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jan 30 12:40:39 2011 -0800"
      },
      "message": "Reconcile gingerbread-plus-aosp and honeycomb\n\nChange-Id: I7ca5acfee971105e3f3d6a674f82da0e890b0434\n"
    },
    {
      "commit": "1f6c6b785f90f6c074c7d401f9fa537a4fb9f110",
      "tree": "28dd76dedc3af1644ad7b181b93c3adcead88cd5",
      "parents": [
        "db207461a16ebcab38b52906ef88228393efca41",
        "e091b1cabc49d46d3afbba4f015f2bffa2934053"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jan 30 12:40:32 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jan 30 12:40:38 2011 -0800"
      },
      "message": "Mass merge from gingerbread - do not merge\n\nChange-Id: I45dc3596bf4211d8f91c64f2d1d00588878df629\n"
    },
    {
      "commit": "e091b1cabc49d46d3afbba4f015f2bffa2934053",
      "tree": "39e315f0abd398d2e8d5d444fad30031468326a9",
      "parents": [
        "2a30be33a39b07bf4f945d9506ffda0fd076e6c2",
        "4635eba3507750ed57817f244e84084d06df5b2c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sat Jan 29 11:16:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 11:16:07 2011 -0800"
      },
      "message": "am b6c2e2b4: (-s ours) DO NOT MERGE: More robust parsing of NPT time ranges in RTSP.\n\n* commit \u0027b6c2e2b46c574a90450438cccfb6cb97b7edc20f\u0027:\n  DO NOT MERGE: More robust parsing of NPT time ranges in RTSP.\n"
    },
    {
      "commit": "2a30be33a39b07bf4f945d9506ffda0fd076e6c2",
      "tree": "39e315f0abd398d2e8d5d444fad30031468326a9",
      "parents": [
        "6386eb945fddbd82e421013f76bbd537b92d6669",
        "5092d8c066a1a98343bbc16e33a6753e577b5e7f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jan 29 11:03:55 2011 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jan 29 11:04:41 2011 -0800"
      },
      "message": "Merge 0ef57993 from gingerbread\n\nChange-Id: If10fee1ae387a8130356dd62fe678495402d5edf\n"
    },
    {
      "commit": "6386eb945fddbd82e421013f76bbd537b92d6669",
      "tree": "1e0b03164753ed7a9a5fb5e98a5cd900288a6580",
      "parents": [
        "41cce7b013ec77852b43c8ae3a4b61ff10f75ad9",
        "97a38b4f1be201bbbfa23d298bb779fffd624a3d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sat Jan 29 09:55:13 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 09:55:13 2011 -0800"
      },
      "message": "am 2dce338e: (-s ours) DO NOT MERGE: This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n\n* commit \u00272dce338e01678620db0734fc3d84bcb3f2512d62\u0027:\n  DO NOT MERGE: This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n"
    },
    {
      "commit": "41cce7b013ec77852b43c8ae3a4b61ff10f75ad9",
      "tree": "1e0b03164753ed7a9a5fb5e98a5cd900288a6580",
      "parents": [
        "91e7b0562dfb9def27be42761057614d41234206",
        "bfa2f13fd3f463dbceea4d3a18c3124e70df0a05"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Jan 29 09:54:41 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 09:54:41 2011 -0800"
      },
      "message": "am 2ba92c71: (-s ours) do not merge bug 3370834 Cherrypick from master\n\n* commit \u00272ba92c71b5684dce700cf848bf157153c156df1d\u0027:\n  do not merge bug 3370834 Cherrypick from master\n"
    },
    {
      "commit": "91e7b0562dfb9def27be42761057614d41234206",
      "tree": "1e0b03164753ed7a9a5fb5e98a5cd900288a6580",
      "parents": [
        "cce3a1107ef5bf9c8c8dbbaf922a2b33f24abfe6",
        "b1d099197a9385f3afc9411da32a341546991d85"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Jan 29 09:40:51 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 09:40:51 2011 -0800"
      },
      "message": "am 239fd805: (-s ours) Merge \"fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\" into gingerbread\n\n* commit \u0027239fd805ef7c0e4116b0a89e20caaf287e91f017\u0027:\n  fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\n"
    },
    {
      "commit": "cce3a1107ef5bf9c8c8dbbaf922a2b33f24abfe6",
      "tree": "1e0b03164753ed7a9a5fb5e98a5cd900288a6580",
      "parents": [
        "6dfc223e20e65b9938c2903fe47a51cc9a02a71e",
        "47f44fb9b85ac555e5b84b2f5ca8536a85659c3e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sat Jan 29 09:32:05 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 09:32:05 2011 -0800"
      },
      "message": "am c929677e: Merge \"Increase the number of useful bits in the spectrum.\" into gingerbread\n\n* commit \u0027c929677e017759047d94599faa1b80ebe278fefb\u0027:\n  Increase the number of useful bits in the spectrum.\n"
    },
    {
      "commit": "6ce1c4e6f6c96cee1d799d774e803d048d808834",
      "tree": "2e8a393fe19a343c8aa470ae33f5cc0f64dc44ad",
      "parents": [
        "144f78906f1eefaf8cbde9298a1422fcea094447",
        "ece0d5639c085b8b237bd0d39b2ac9fc3b205177"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sat Jan 29 09:00:38 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 09:00:38 2011 -0800"
      },
      "message": "am c2bee3ae: (-s ours) am 70888c00: (-s ours) am b6c2e2b4: DO NOT MERGE: More robust parsing of NPT time ranges in RTSP.\n\n* commit \u0027c2bee3ae2d6cebdaf588a102ff64499717e43cc7\u0027:\n  DO NOT MERGE: More robust parsing of NPT time ranges in RTSP.\n"
    },
    {
      "commit": "144f78906f1eefaf8cbde9298a1422fcea094447",
      "tree": "2e8a393fe19a343c8aa470ae33f5cc0f64dc44ad",
      "parents": [
        "02235c39040120295314a402841b17f68752ec99",
        "2ef89309d41daac3d69fa78b31cd09cb2c262ca1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jan 29 08:57:47 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 08:57:47 2011 -0800"
      },
      "message": "am 4eeb1047: Merge 13212f83 from gingerbread-plus-aosp\n\n* commit \u00274eeb10470ffafe8c508027f363ac66b58da5bf00\u0027:\n  Fix issue 2988031.\n"
    },
    {
      "commit": "ece0d5639c085b8b237bd0d39b2ac9fc3b205177",
      "tree": "699025e929ec01e6188363e025a53e02d569ad10",
      "parents": [
        "2ef89309d41daac3d69fa78b31cd09cb2c262ca1",
        "5c009b036e01d2a351b02c47b8f20f384aa663fd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sat Jan 29 08:57:21 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 08:57:21 2011 -0800"
      },
      "message": "am 70888c00: (-s ours) am b6c2e2b4: DO NOT MERGE: More robust parsing of NPT time ranges in RTSP.\n\n* commit \u002770888c00a0371692a07132f0dd94208456dd44c1\u0027:\n  DO NOT MERGE: More robust parsing of NPT time ranges in RTSP.\n"
    },
    {
      "commit": "2ef89309d41daac3d69fa78b31cd09cb2c262ca1",
      "tree": "699025e929ec01e6188363e025a53e02d569ad10",
      "parents": [
        "60e91863e185f84ec36fa3293e57ac9aa8500749",
        "c812fd3e5a35f09b0d5d6e4cafb40d21b75053ac"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jan 29 08:54:06 2011 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jan 29 08:54:06 2011 -0800"
      },
      "message": "Merge 13212f83 from gingerbread-plus-aosp\n\nChange-Id: I9a8ee0c7e7896aea85e7a7c18ee82927091cb670\n"
    },
    {
      "commit": "6dfc223e20e65b9938c2903fe47a51cc9a02a71e",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "4a70d449ae8a7945ffcf26d1e8e4d70a5c6a8c4e",
        "05b22175a0d186d964694a5162892b6b3476c562"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Sat Jan 29 07:30:57 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 07:30:57 2011 -0800"
      },
      "message": "am efebdf4b: (-s ours) DO NOT MERGE: Support non-multiple-of-16 dimensions in MPEG4/H.263 software decoder\n\n* commit \u0027efebdf4bd4da35bc50c7d81450c8473697f6654a\u0027:\n  DO NOT MERGE: Support non-multiple-of-16 dimensions in MPEG4/H.263 software decoder\n"
    },
    {
      "commit": "02235c39040120295314a402841b17f68752ec99",
      "tree": "7a1fc3fdd42c5092939253c204dc26511522622a",
      "parents": [
        "54f533e7a1c0753d52595eb4d42295d654fd1a97",
        "60e91863e185f84ec36fa3293e57ac9aa8500749"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 11:53:50 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 28 11:53:50 2011 -0800"
      },
      "message": "am 35a1f771: am 79c46485: Merge \"Revert \"Make AwesomePlayer\\\u0027s reset process more verbose to track down ANRs (again)\"\" into honeycomb\n\n* commit \u002735a1f771759459fc6c9b355d548c5b97cd50e110\u0027:\n  Revert \"Make AwesomePlayer\u0027s reset process more verbose to track down ANRs (again)\"\n"
    },
    {
      "commit": "60e91863e185f84ec36fa3293e57ac9aa8500749",
      "tree": "5332c17b87c4f58880d82fce11b252bb4e12aa4d",
      "parents": [
        "391bf6f06111983d9618764068ecc189dc7abd79",
        "db207461a16ebcab38b52906ef88228393efca41"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 11:51:16 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 28 11:51:16 2011 -0800"
      },
      "message": "am 79c46485: Merge \"Revert \"Make AwesomePlayer\\\u0027s reset process more verbose to track down ANRs (again)\"\" into honeycomb\n\n* commit \u002779c4648597dab2b7786c8f067896ab66abe190de\u0027:\n  Revert \"Make AwesomePlayer\u0027s reset process more verbose to track down ANRs (again)\"\n"
    },
    {
      "commit": "5c009b036e01d2a351b02c47b8f20f384aa663fd",
      "tree": "7ebb9b4760b3b379513603002019969693e21ead",
      "parents": [
        "c812fd3e5a35f09b0d5d6e4cafb40d21b75053ac",
        "4635eba3507750ed57817f244e84084d06df5b2c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 10:42:10 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 28 10:42:10 2011 -0800"
      },
      "message": "am b6c2e2b4: DO NOT MERGE: More robust parsing of NPT time ranges in RTSP.\n\n* commit \u0027b6c2e2b46c574a90450438cccfb6cb97b7edc20f\u0027:\n  DO NOT MERGE: More robust parsing of NPT time ranges in RTSP.\n"
    },
    {
      "commit": "db207461a16ebcab38b52906ef88228393efca41",
      "tree": "86d83f092feb3e0b671bc8a5e3454d3a323431be",
      "parents": [
        "783e5cd85d4bd40b1a04dfdfed256c5dcb2525cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 10:30:47 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 10:30:56 2011 -0800"
      },
      "message": "Revert \"Make AwesomePlayer\u0027s reset process more verbose to track down ANRs (again)\"\n\nThis reverts commit aac2e9e1566a3bb0ef811ebd3a56b538324c95c1.\n\nChange-Id: Ic84dfa829981fdc1a1330ccfe6b9dccf64a80719\nrelated-to-bug: 3392386\n"
    },
    {
      "commit": "4635eba3507750ed57817f244e84084d06df5b2c",
      "tree": "232fbbb3958cced25d8e0336a819ad4c2eb1af3b",
      "parents": [
        "5092d8c066a1a98343bbc16e33a6753e577b5e7f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 09:19:12 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 09:58:11 2011 -0800"
      },
      "message": "DO NOT MERGE: More robust parsing of NPT time ranges in RTSP.\n\nChange-Id: If5a00f1e29dbc12956e1fb000dac859706d19791\nrelated-to-bug: 3217210\n"
    },
    {
      "commit": "54f533e7a1c0753d52595eb4d42295d654fd1a97",
      "tree": "5088f67360c17f3bb13a7a3eb0696c0396d925a0",
      "parents": [
        "f41ef0ee0da4c497352df42d09c3d89940c25e14",
        "391bf6f06111983d9618764068ecc189dc7abd79"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 09:43:37 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 28 09:43:37 2011 -0800"
      },
      "message": "am 970436ee: am b0eb8bb7: Merge \"More robust parsing of NPT time ranges in RTSP.\" into honeycomb\n\n* commit \u0027970436ee42bad03940a73666f8150a28c5789713\u0027:\n  More robust parsing of NPT time ranges in RTSP.\n"
    },
    {
      "commit": "391bf6f06111983d9618764068ecc189dc7abd79",
      "tree": "a8e8ef2376b7253520da49e072da724d91342fb8",
      "parents": [
        "d0c95bd79476e06110c47caea854199a736047a7",
        "783e5cd85d4bd40b1a04dfdfed256c5dcb2525cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 09:41:11 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 28 09:41:11 2011 -0800"
      },
      "message": "am b0eb8bb7: Merge \"More robust parsing of NPT time ranges in RTSP.\" into honeycomb\n\n* commit \u0027b0eb8bb76c585e5e9d426fa8b8f4df17a240e6c4\u0027:\n  More robust parsing of NPT time ranges in RTSP.\n"
    },
    {
      "commit": "783e5cd85d4bd40b1a04dfdfed256c5dcb2525cc",
      "tree": "e546386b0c906212ec677e3c039671d1bcf1a0d1",
      "parents": [
        "8ce64ddc2828f74704a6473c4b934de16c0e3bd1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 09:19:12 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 28 09:36:38 2011 -0800"
      },
      "message": "More robust parsing of NPT time ranges in RTSP.\n\nChange-Id: I3674501d2fd66aaface805c0a8678c74671a6dd3\nrelated-to-bug: 3217210\n"
    },
    {
      "commit": "4a70d449ae8a7945ffcf26d1e8e4d70a5c6a8c4e",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "b40fce634c87bdc46b7ff825a7b036aa5673a1c4",
        "b517e006b51c95db9c44bf5f104f562d431ae597"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 27 21:21:04 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 27 21:21:04 2011 -0800"
      },
      "message": "am c5694ebd: (-s ours) Merge \"do not merge - Fix issue 3371096.\" into gingerbread\n\n* commit \u0027c5694ebda9a50be391ef9cfaa7f93e9efb04b6c5\u0027:\n  do not merge - Fix issue 3371096.\n"
    },
    {
      "commit": "b40fce634c87bdc46b7ff825a7b036aa5673a1c4",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "00332ee3b3e2c779d17fe034d25a076b921f7f6c",
        "6e3edc2dffb0d424b02ac57b55114b0d13163f56"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu Jan 27 19:49:59 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 27 19:49:59 2011 -0800"
      },
      "message": "am 65d39eeb: (-s ours) Merge \"DO NOT MERGE: Prefill the cache before trying to instantiate the media extractor.\" into gingerbread\n\n* commit \u002765d39eeb9b032e5507a01daa25afff62b29bffe4\u0027:\n  DO NOT MERGE: Prefill the cache before trying to instantiate the media extractor.\n"
    },
    {
      "commit": "c812fd3e5a35f09b0d5d6e4cafb40d21b75053ac",
      "tree": "96e4df21896c0eb7d6bbd74fc4741fb2867c1331",
      "parents": [
        "05b8794654688079247c5d1d5b59dd0d288fd436",
        "5092d8c066a1a98343bbc16e33a6753e577b5e7f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 27 18:40:42 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 27 18:40:42 2011 -0800"
      },
      "message": "am 0ef57993: Merge \"Fix issue 2988031.\" into gingerbread\n\n* commit \u00270ef579939e6c96fcd2b42b164c5debf535a6a53b\u0027:\n  Fix issue 2988031.\n"
    },
    {
      "commit": "00332ee3b3e2c779d17fe034d25a076b921f7f6c",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "c63e5259dcb77fc720c23bc2d0c4feeb3d677f71",
        "f4c056aeacad2dac60a83ccd7928bfeaa9d6ddf6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 27 18:38:21 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 27 18:38:21 2011 -0800"
      },
      "message": "am e9a00235: (-s ours) Merge \"DO NOT MERGE: Apparently our native TCP sockets do not return an error from blocking \"connect\"\" into gingerbread\n\n* commit \u0027e9a00235c102d198a702bc665b2ea5b5e8c4bc07\u0027:\n  DO NOT MERGE: Apparently our native TCP sockets do not return an error from blocking \"connect\"\n"
    },
    {
      "commit": "f41ef0ee0da4c497352df42d09c3d89940c25e14",
      "tree": "61b326463ac9122bf55196d354420cf2ca2c5306",
      "parents": [
        "6cfacdf97708bc3a0e3d1ed3e07e71caae9a194e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 27 10:47:40 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 27 16:22:15 2011 -0800"
      },
      "message": "Add support for synchronous bulk USB transfers\n\nChange-Id: Id5de49e4d728a702fa1583ecc24f83f36cc57d21\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "5092d8c066a1a98343bbc16e33a6753e577b5e7f",
      "tree": "5b7cd832cfaab93ec925af9babdd4fdc5eb7f5df",
      "parents": [
        "97a38b4f1be201bbbfa23d298bb779fffd624a3d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 27 11:32:34 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 27 11:32:34 2011 -0800"
      },
      "message": "Fix issue 2988031.\n\nLimit SYSTEM stream volume when a headset is connected and music is playing.\n\nChange-Id: Ieb44ae5bb53ffa9cd5fe8e317798eed279b78df8\n"
    },
    {
      "commit": "c63e5259dcb77fc720c23bc2d0c4feeb3d677f71",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "7bec0b245a514eaccd5df181bb1e10e3d4710876",
        "95304d5488ba465f19cc788f1c7394218c2ea2d1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 27 08:12:36 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 27 08:12:36 2011 -0800"
      },
      "message": "am 83fdc69e: (-s ours) Merge \"Squash commits of the following patches, cherry-picked from other branch - do not merge.\" into gingerbread\n\n* commit \u002783fdc69ea0beb715dd45f0a4285cb5d780f8018a\u0027:\n  Squash commits of the following patches, cherry-picked from other branch - do not merge.\n"
    },
    {
      "commit": "6cfacdf97708bc3a0e3d1ed3e07e71caae9a194e",
      "tree": "f736f52fc83552c870ee5ee6da9608125f91e470",
      "parents": [
        "94172b1f44c1b12f6ee814d9def6a5550663b716",
        "d0c95bd79476e06110c47caea854199a736047a7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 19:08:49 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 19:08:49 2011 -0800"
      },
      "message": "am c296b573: (-s ours) am 586096a9: (-s ours) am 2dce338e: DO NOT MERGE: This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n\n* commit \u0027c296b5738947003c96dfc5b93c86f27b955429ff\u0027:\n  DO NOT MERGE: This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n"
    },
    {
      "commit": "94172b1f44c1b12f6ee814d9def6a5550663b716",
      "tree": "f736f52fc83552c870ee5ee6da9608125f91e470",
      "parents": [
        "d7376cae7aba269dca143b94c3d6736d0ed02213",
        "0152b3345900679b79dff77e88b856016c10cb5b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 19:06:43 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 19:06:43 2011 -0800"
      },
      "message": "am bba92023: am 63b38e31: Merge \"This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\" into honeycomb\n\n* commit \u0027bba92023e55f46e8b4f8b81b3412e663a5e71ceb\u0027:\n  This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n"
    },
    {
      "commit": "d0c95bd79476e06110c47caea854199a736047a7",
      "tree": "9cae663d55ebad2e257d0bcbc67cb90ba7086b7b",
      "parents": [
        "0152b3345900679b79dff77e88b856016c10cb5b",
        "05b8794654688079247c5d1d5b59dd0d288fd436"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 16:58:04 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 16:58:04 2011 -0800"
      },
      "message": "am 586096a9: (-s ours) am 2dce338e: DO NOT MERGE: This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n\n* commit \u0027586096a9575a52ea7fa318f6f8540b47ba2ed2e8\u0027:\n  DO NOT MERGE: This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n"
    },
    {
      "commit": "05b8794654688079247c5d1d5b59dd0d288fd436",
      "tree": "2b2ce6b211a5849d8fae263fb99668b2e400d3c1",
      "parents": [
        "c39aa13da5600571affee13ea8ef3936cc39cbb5",
        "97a38b4f1be201bbbfa23d298bb779fffd624a3d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 16:40:04 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 16:40:04 2011 -0800"
      },
      "message": "am 2dce338e: DO NOT MERGE: This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n\n* commit \u00272dce338e01678620db0734fc3d84bcb3f2512d62\u0027:\n  DO NOT MERGE: This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n"
    },
    {
      "commit": "97a38b4f1be201bbbfa23d298bb779fffd624a3d",
      "tree": "8670ca8035b00d491260ae70d9c5e8397cb2618f",
      "parents": [
        "bfa2f13fd3f463dbceea4d3a18c3124e70df0a05"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 15:40:56 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 16:03:33 2011 -0800"
      },
      "message": "DO NOT MERGE: This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n\nAnd now we\u0027re just ignoring them. Yay standards.\n\nChange-Id: Ia8c0b9161e606152fb681f0dda3ba901954dc749\nrelated-to-bug: 3353752\n"
    },
    {
      "commit": "0152b3345900679b79dff77e88b856016c10cb5b",
      "tree": "9cae663d55ebad2e257d0bcbc67cb90ba7086b7b",
      "parents": [
        "84d3a304c835017cdc530eb9d8e92198021d3e4c",
        "8ce64ddc2828f74704a6473c4b934de16c0e3bd1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 15:52:48 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 15:52:48 2011 -0800"
      },
      "message": "am 63b38e31: Merge \"This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\" into honeycomb\n\n* commit \u002763b38e31aaea5a3e75c7bbe0c9e40e8bdb78ff73\u0027:\n  This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n"
    },
    {
      "commit": "8ce64ddc2828f74704a6473c4b934de16c0e3bd1",
      "tree": "d88da128f80d8254ee92202fa835c5c5e31669c8",
      "parents": [
        "f26fec6212dcada2a1ffb642afe25429d1005aa4",
        "9202cca86e9017cc5ce30970c92a91ab32a0835e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 15:50:04 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 26 15:50:04 2011 -0800"
      },
      "message": "Merge \"This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\" into honeycomb"
    },
    {
      "commit": "9202cca86e9017cc5ce30970c92a91ab32a0835e",
      "tree": "6611163219eccbc6adfaefe5f9cde414f54be9a6",
      "parents": [
        "7757f5010a771fb8824b6fdf9788f588a1577e3f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 15:40:56 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 15:40:56 2011 -0800"
      },
      "message": "This particular RTSP server streams MPEG4-LATM audio with extra trailing bytes.\n\nAnd now we\u0027re just ignoring them. Yay standards.\n\nChange-Id: I76529ad8d585f143d6f99621ff671d179caf7b35\nrelated-to-bug: 3353752\n"
    },
    {
      "commit": "d7376cae7aba269dca143b94c3d6736d0ed02213",
      "tree": "9c658125af8046049b62e6608f990d31e0b0cf2d",
      "parents": [
        "76fd218ca290ffbb33790ae525c494d339da9d28",
        "84d3a304c835017cdc530eb9d8e92198021d3e4c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 26 15:34:15 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 15:34:15 2011 -0800"
      },
      "message": "am bd65c065: am a13732e1: Merge \"MTP: Fix month off by one error in date parsing and formatting code\" into honeycomb\n\n* commit \u0027bd65c065b2dcb54dde563a8a21c9f92da947c7dd\u0027:\n  MTP: Fix month off by one error in date parsing and formatting code\n"
    },
    {
      "commit": "84d3a304c835017cdc530eb9d8e92198021d3e4c",
      "tree": "64b8e12c59245e1cec1f5b7f6b25b5f9010aa42f",
      "parents": [
        "94eda03f76175dee88cf7941fcbdb6aec43a0d5d",
        "f26fec6212dcada2a1ffb642afe25429d1005aa4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 26 15:32:11 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 15:32:11 2011 -0800"
      },
      "message": "am a13732e1: Merge \"MTP: Fix month off by one error in date parsing and formatting code\" into honeycomb\n\n* commit \u0027a13732e17a0f3d69df9c418407985b3ad64b1852\u0027:\n  MTP: Fix month off by one error in date parsing and formatting code\n"
    },
    {
      "commit": "f26fec6212dcada2a1ffb642afe25429d1005aa4",
      "tree": "80ea9d624c25522378dea9e1e068d989a1edbc7a",
      "parents": [
        "7757f5010a771fb8824b6fdf9788f588a1577e3f",
        "ea1db0a716cc937af5371153b959610baa2c6d52"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 26 15:30:07 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 26 15:30:07 2011 -0800"
      },
      "message": "Merge \"MTP: Fix month off by one error in date parsing and formatting code\" into honeycomb"
    },
    {
      "commit": "ea1db0a716cc937af5371153b959610baa2c6d52",
      "tree": "62bfc5c4b552e73d794cff0b8b27dd8274b46a77",
      "parents": [
        "2494373e91399a97ad405f4e42dff6543cc296c7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 26 14:41:45 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 26 15:11:48 2011 -0800"
      },
      "message": "MTP: Fix month off by one error in date parsing and formatting code\n\nBUG: 3379100\n\nChange-Id: Ib386f0def9d611529ce0528b8159cef48df9cd85\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "76fd218ca290ffbb33790ae525c494d339da9d28",
      "tree": "9b2f5f8e5cf69535aa02046cc7a12c7e9b93718d",
      "parents": [
        "70333cca56fd766555e46395e6d9a64c8d82ff49",
        "94eda03f76175dee88cf7941fcbdb6aec43a0d5d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 26 14:49:23 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 14:49:23 2011 -0800"
      },
      "message": "am 8bea1d55: am 7fb232c4: Merge \"Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.\" into honeycomb\n\n* commit \u00278bea1d5585822bb62996e789f59c7629dfd9ac50\u0027:\n  Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.\n"
    },
    {
      "commit": "94eda03f76175dee88cf7941fcbdb6aec43a0d5d",
      "tree": "6916297fd803a1cb1b04d8345d36400e71d058de",
      "parents": [
        "ac571749a577c3575793f870e95012ce6637f977",
        "7757f5010a771fb8824b6fdf9788f588a1577e3f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 26 14:45:41 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 14:45:41 2011 -0800"
      },
      "message": "am 7fb232c4: Merge \"Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.\" into honeycomb\n\n* commit \u00277fb232c40cde91d0958be1694db2d97a126b95f9\u0027:\n  Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.\n"
    },
    {
      "commit": "70333cca56fd766555e46395e6d9a64c8d82ff49",
      "tree": "34b3056aa39e2b0d2b3b50cfbc89c6e92575a180",
      "parents": [
        "78f80beb6bc975fa012a0b190c8bd0130bd44db0",
        "ac571749a577c3575793f870e95012ce6637f977"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 26 14:15:15 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 14:15:15 2011 -0800"
      },
      "message": "am b8efdf7f: (-s ours) am 1155efdc: (-s ours) am 2ba92c71: do not merge bug 3370834 Cherrypick from master\n\n* commit \u0027b8efdf7f80d9aa2cbeff881f22d283cf5045c379\u0027:\n  do not merge bug 3370834 Cherrypick from master\n"
    },
    {
      "commit": "ac571749a577c3575793f870e95012ce6637f977",
      "tree": "4ae50955c496fae48bf6f3a685fac665c4840573",
      "parents": [
        "4fd8374fd8ece64599089895d554be73743e7193",
        "c39aa13da5600571affee13ea8ef3936cc39cbb5"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 26 14:12:45 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 14:12:45 2011 -0800"
      },
      "message": "am 1155efdc: (-s ours) am 2ba92c71: do not merge bug 3370834 Cherrypick from master\n\n* commit \u00271155efdc715413cd7a881e5226b5f5f0b2db8f71\u0027:\n  do not merge bug 3370834 Cherrypick from master\n"
    },
    {
      "commit": "c39aa13da5600571affee13ea8ef3936cc39cbb5",
      "tree": "b0f6ea9ea6e28ddd2cc25d21396a66ffe5336f3f",
      "parents": [
        "1a082f3061c2a444ac6602f321aa334589167f07",
        "bfa2f13fd3f463dbceea4d3a18c3124e70df0a05"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 26 14:05:18 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 14:05:18 2011 -0800"
      },
      "message": "am 2ba92c71: do not merge bug 3370834 Cherrypick from master\n\n* commit \u00272ba92c71b5684dce700cf848bf157153c156df1d\u0027:\n  do not merge bug 3370834 Cherrypick from master\n"
    },
    {
      "commit": "78f80beb6bc975fa012a0b190c8bd0130bd44db0",
      "tree": "34b3056aa39e2b0d2b3b50cfbc89c6e92575a180",
      "parents": [
        "e89f5d9ef38caec9240a74a9da7974ac5253f623",
        "4fd8374fd8ece64599089895d554be73743e7193"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 12:12:33 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 12:12:33 2011 -0800"
      },
      "message": "am 11934aa3: am 373d357a: Merge \"More instrumentation to track down the hardware decoder not shutting down bug.\" into honeycomb\n\n* commit \u002711934aa32102d56ea920b058cb3cc9a455cd2232\u0027:\n  More instrumentation to track down the hardware decoder not shutting down bug.\n"
    },
    {
      "commit": "e89f5d9ef38caec9240a74a9da7974ac5253f623",
      "tree": "d930204fae542b4bac125f3c9361e0f2571e6da2",
      "parents": [
        "87175263c86341c56e4971d3180777800026db66",
        "d0fc955c08ed14ba8e4f0967b4fcef3c10bdcc62"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 12:12:28 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 12:12:28 2011 -0800"
      },
      "message": "am 1a6e6d55: am 6df89fde: Merge \"Ignore errors returned from native_window_set_crop.\" into honeycomb\n\n* commit \u00271a6e6d55b8dd33b3bd2b52849d39ef96b556b52f\u0027:\n  Ignore errors returned from native_window_set_crop.\n"
    },
    {
      "commit": "7757f5010a771fb8824b6fdf9788f588a1577e3f",
      "tree": "a4ba5608184d5141deae9bed5efd3d2b37d7593c",
      "parents": [
        "2494373e91399a97ad405f4e42dff6543cc296c7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 25 16:31:28 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 26 12:11:22 2011 -0800"
      },
      "message": "Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.\n\nThis will fix the stop failure issue where we have to wait n * time_interval before a key frame can be received by the file writer, where\n o n is the actual number of buffers advertised by the video encoder\n o time_interval is the interval settings for timelapse video recording\n   specifying the time distance between neighboring input video frames\n\nThe fix includes two parts:\no OMXCodec will not submit all n buffers at one time, but instead submit one input\n  frame at one time if it become available.\n\no Timelapse camera source made available the first two input frames and do not skip\n  them so that the first compressed output frame data can be received regardless\n  the specified time_interval\n\nbug - 3367659\n\nChange-Id: Ia68cc2cb0d71aa7dc54540e9ad82fae911ad530b\n"
    },
    {
      "commit": "4fd8374fd8ece64599089895d554be73743e7193",
      "tree": "4ae50955c496fae48bf6f3a685fac665c4840573",
      "parents": [
        "d0fc955c08ed14ba8e4f0967b4fcef3c10bdcc62",
        "2494373e91399a97ad405f4e42dff6543cc296c7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 12:10:00 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 12:10:00 2011 -0800"
      },
      "message": "am 373d357a: Merge \"More instrumentation to track down the hardware decoder not shutting down bug.\" into honeycomb\n\n* commit \u0027373d357a8b13dc2cdc82d9e1d6144fb26e3bb202\u0027:\n  More instrumentation to track down the hardware decoder not shutting down bug.\n"
    },
    {
      "commit": "d0fc955c08ed14ba8e4f0967b4fcef3c10bdcc62",
      "tree": "4a5d1146a7208ce4633128c3639e9f932d0346df",
      "parents": [
        "86ba757ddf906a7b59f0dbba9a2197d823650050",
        "fccf727542ac3efa1d75234260db73edb53c76a1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 12:09:56 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 12:09:56 2011 -0800"
      },
      "message": "am 6df89fde: Merge \"Ignore errors returned from native_window_set_crop.\" into honeycomb\n\n* commit \u00276df89fde0db446bb530ab872b373b1faa3ccb06c\u0027:\n  Ignore errors returned from native_window_set_crop.\n"
    },
    {
      "commit": "2494373e91399a97ad405f4e42dff6543cc296c7",
      "tree": "275fad2e3ba96cfbae2696d2755dd4f32d99a576",
      "parents": [
        "fccf727542ac3efa1d75234260db73edb53c76a1",
        "43e5eca7048a3b7b3ee0223b7f3cbd837ed10ae5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 12:08:09 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 26 12:08:09 2011 -0800"
      },
      "message": "Merge \"More instrumentation to track down the hardware decoder not shutting down bug.\" into honeycomb"
    },
    {
      "commit": "fccf727542ac3efa1d75234260db73edb53c76a1",
      "tree": "6a84621e04bbdcac76f169ce8712ecd018b60003",
      "parents": [
        "d3455c0d28c7b663ada8db188aa8dc0a3979e496",
        "6592195d76b12a9823f82d3352245d0a6d459647"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 12:06:39 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 26 12:06:39 2011 -0800"
      },
      "message": "Merge \"Ignore errors returned from native_window_set_crop.\" into honeycomb"
    },
    {
      "commit": "43e5eca7048a3b7b3ee0223b7f3cbd837ed10ae5",
      "tree": "8e838538b225b4e3d7787b4d52d3f3e4f91e5da8",
      "parents": [
        "78fc8fab70411c6863d5f71383061f51290294df"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 25 14:55:00 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 12:04:06 2011 -0800"
      },
      "message": "More instrumentation to track down the hardware decoder not shutting down bug.\n\nChange-Id: I3f31b6fdf5c90b436567bbce578dcbc4666ed7c2\nrelated-to-bug: 3362836\n"
    },
    {
      "commit": "6592195d76b12a9823f82d3352245d0a6d459647",
      "tree": "2a3ad430a712ec218f0e658d6224f033dba8b214",
      "parents": [
        "78fc8fab70411c6863d5f71383061f51290294df"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 12:02:35 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 12:02:35 2011 -0800"
      },
      "message": "Ignore errors returned from native_window_set_crop.\n\nIf the surface is already invalid, we\u0027ll know soon enough.\n\nChange-Id: If360ffb8293817afb47df8c1a75722aea74bb335\nrelated-to-bug: 3394601\n"
    },
    {
      "commit": "87175263c86341c56e4971d3180777800026db66",
      "tree": "4b204ba752193658e6854a7a3e5b06880710ddd0",
      "parents": [
        "270ea87277c1c601ea26db2af469a930cc4272ad",
        "86ba757ddf906a7b59f0dbba9a2197d823650050"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:48:12 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:48:12 2011 -0800"
      },
      "message": "am e328d1c0: am a9f27fa6: Merge \"Protect notification callback parameters with a mutex.\" into honeycomb\n\n* commit \u0027e328d1c0bea62f4dc28210dbcab0da40f4449bf2\u0027:\n  Protect notification callback parameters with a mutex.\n"
    },
    {
      "commit": "270ea87277c1c601ea26db2af469a930cc4272ad",
      "tree": "4e57b61cde9bf70420a5c8fda7040023cf61ebb6",
      "parents": [
        "b9b84ec91ba7b300bc5ab9378448387733b5048e",
        "b7b1486bd55f9fe27f15724452f748045d204fb1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:48:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:48:07 2011 -0800"
      },
      "message": "am 38a1714b: am 7765c65d: Merge \"Linux sockets suck, closing a socket descriptor does not abort pending recv/send calls.\" into honeycomb\n\n* commit \u002738a1714bf79821dad296eeddfda1b6a7ce93ebbd\u0027:\n  Linux sockets suck, closing a socket descriptor does not abort pending recv/send calls.\n"
    },
    {
      "commit": "b9b84ec91ba7b300bc5ab9378448387733b5048e",
      "tree": "5117ced8a7be67fdc66ec9b4e53bc34b6f09dec7",
      "parents": [
        "80458176c35e87358bd8de677e7b32e0af4f8d13",
        "aeb38af82d525015ec4d3f2d51671093cd80a0dc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:48:01 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:48:01 2011 -0800"
      },
      "message": "am 807398e7: am d030359f: Merge \"Instead of not feeding the AudioTrack any data after EOS, play silence instead.\" into honeycomb\n\n* commit \u0027807398e7f0718aaa9e8f53c556d0707c083819cf\u0027:\n  Instead of not feeding the AudioTrack any data after EOS, play silence instead.\n"
    },
    {
      "commit": "86ba757ddf906a7b59f0dbba9a2197d823650050",
      "tree": "2d088df9318bd8fa1746c3d77e4d4e0186fffaa8",
      "parents": [
        "b7b1486bd55f9fe27f15724452f748045d204fb1",
        "d3455c0d28c7b663ada8db188aa8dc0a3979e496"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:44:17 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:44:17 2011 -0800"
      },
      "message": "am a9f27fa6: Merge \"Protect notification callback parameters with a mutex.\" into honeycomb\n\n* commit \u0027a9f27fa631ab21d52c75842ccaacc1cbcd75fca0\u0027:\n  Protect notification callback parameters with a mutex.\n"
    },
    {
      "commit": "b7b1486bd55f9fe27f15724452f748045d204fb1",
      "tree": "2971aa492abde8a8df8c94a98d4cddecaf7f084c",
      "parents": [
        "aeb38af82d525015ec4d3f2d51671093cd80a0dc",
        "78fc8fab70411c6863d5f71383061f51290294df"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:44:11 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:44:11 2011 -0800"
      },
      "message": "am 7765c65d: Merge \"Linux sockets suck, closing a socket descriptor does not abort pending recv/send calls.\" into honeycomb\n\n* commit \u00277765c65dbe1ba8f2229f2fec5a83ba2d1da79733\u0027:\n  Linux sockets suck, closing a socket descriptor does not abort pending recv/send calls.\n"
    },
    {
      "commit": "aeb38af82d525015ec4d3f2d51671093cd80a0dc",
      "tree": "f1785b55e530ed23bf165864126d1d2b0ed8822a",
      "parents": [
        "a0c51bbd0ea4c0266b12c9ffa450ccc297160b19",
        "6e1cc6e6e5477693a279185c372b90863778a10b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:43:50 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:43:50 2011 -0800"
      },
      "message": "am d030359f: Merge \"Instead of not feeding the AudioTrack any data after EOS, play silence instead.\" into honeycomb\n\n* commit \u0027d030359ff10a031c762d4f229d9c1bdfd366cb50\u0027:\n  Instead of not feeding the AudioTrack any data after EOS, play silence instead.\n"
    },
    {
      "commit": "d3455c0d28c7b663ada8db188aa8dc0a3979e496",
      "tree": "d870d47caec0717aeb4b0fdf3ec82ca64b481ee9",
      "parents": [
        "78fc8fab70411c6863d5f71383061f51290294df",
        "01f394247f3d5851f5bb12c2786b5fee265b6357"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:28:01 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 26 11:28:01 2011 -0800"
      },
      "message": "Merge \"Protect notification callback parameters with a mutex.\" into honeycomb"
    },
    {
      "commit": "78fc8fab70411c6863d5f71383061f51290294df",
      "tree": "1ea06af8e5f58e44f11fb6b5fa53a3a4e4966ecd",
      "parents": [
        "6e1cc6e6e5477693a279185c372b90863778a10b",
        "0b967b923f7f608b2faa1820167a4f262a2f0720"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:24:13 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 26 11:24:13 2011 -0800"
      },
      "message": "Merge \"Linux sockets suck, closing a socket descriptor does not abort pending recv/send calls.\" into honeycomb"
    },
    {
      "commit": "01f394247f3d5851f5bb12c2786b5fee265b6357",
      "tree": "8fb13813062b563324f9b47f4f9741897fde7f98",
      "parents": [
        "b656f3592332cebfad8944e8692003cf3688d586"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:19:19 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:20:42 2011 -0800"
      },
      "message": "Protect notification callback parameters with a mutex.\n\nThis avoids the race condition where notifications are dispatched to a NULL receiver\nafter notifications have been disabled.\n\nChange-Id: I6d351ffbee97616e2c35559c132a6c5e6a66948a\nrelated-to-bug: 3394139\n"
    },
    {
      "commit": "bfa2f13fd3f463dbceea4d3a18c3124e70df0a05",
      "tree": "23546faa4e073e21f7a1c4fa026cd81044cc49d0",
      "parents": [
        "b1d099197a9385f3afc9411da32a341546991d85"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 15 12:11:32 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 26 11:20:01 2011 -0800"
      },
      "message": "do not merge bug 3370834 Cherrypick from master\n\nCherripick from master CL 79833, 79417, 78864, 80332, 87500\n\nAdd new audio mode and recording source for audio communications\n other than telelphony.\n\nThe audio mode MODE_IN_CALL signals the system the device a phone\n call is currently underway. There was no way for audio video\n chat or VoIP applications to signal a call is underway, but not\n using the telephony resources. This change introduces a new mode\n to address this. Changes in other parts of the system (java\n and native) are required to take this new mode into account.\nThe generic AudioPolicyManager is updated to not use its phone\n state variable directly, but to use two new convenience methods,\n isInCall() and isStateInCall(int) instead.\n\nAdd a recording source used to designate a recording stream for\nvoice communications such as VoIP.\n\nUpdate the platform-independent audio policy manager to pass the\n nature of the audio recording source to the audio policy client\n interface through the AudioPolicyClientInterface::setParameters()\n method.\n\nSIP calls should set the audio mode to MODE_IN_COMMUNICATION,\n Audio mode MODE_IN_CALL is reserved for telephony.\n\nSIP: Enable built-in echo canceler if available.\n1. Always initialize AudioRecord with VOICE_COMMUNICATION.\n2. If echo canceler is available, disable our echo suppressor.\n\nNote that this CL is intentionally not correcting the\n getAudioSourceMax() return value in MediaRecorder.java as the\n new source is hidden here.\n\nChange-Id: Ie68cd03c50553101aa2ad838fe9459b2cf151bc8\n"
    },
    {
      "commit": "7bec0b245a514eaccd5df181bb1e10e3d4710876",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "56882aecd7b2fc19804ff95bf6f871289c294c78",
        "e49051406baa71cb63d5754d33908ce3df201af1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:02:10 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:02:10 2011 -0800"
      },
      "message": "am 7c615360: Fail to parse duration instead of asserting, if the server response cannot be parsed.\n\n* commit \u00277c6153606cc963191362494c8cb5669749e84326\u0027:\n  Fail to parse duration instead of asserting, if the server response cannot be parsed.\n"
    },
    {
      "commit": "56882aecd7b2fc19804ff95bf6f871289c294c78",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "222de308544d645a6f32399469f98e9ae0a91721",
        "9a0cf4fb7d18e186e06341bde915de234992d969"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:01:50 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:01:50 2011 -0800"
      },
      "message": "am 7e2f9cc8: (-s ours) DO NOT MERGE: Fix Matroska issues\n\n* commit \u00277e2f9cc81da788006790365ff11f06551fc1bc26\u0027:\n  DO NOT MERGE: Fix Matroska issues\n"
    },
    {
      "commit": "222de308544d645a6f32399469f98e9ae0a91721",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "27c1ad15ba787d58ea7b70e4bd3b4e34ec0d646d",
        "0d85990f20106513b6da5a446702aa62ab61397f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:01:14 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:01:14 2011 -0800"
      },
      "message": "am e7fbfb6b: (-s ours) Merge \"DO NOT MERGE: Fix parsing of ntp\u003d PLAY response.\" into gingerbread\n\n* commit \u0027e7fbfb6b745f56eeb394785932451aa0f2aa07d9\u0027:\n  DO NOT MERGE: Fix parsing of ntp\u003d PLAY response.\n"
    },
    {
      "commit": "6e1cc6e6e5477693a279185c372b90863778a10b",
      "tree": "e3c6cca182f6408857b887aeb6b39dcac375c9e5",
      "parents": [
        "b656f3592332cebfad8944e8692003cf3688d586"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 10:41:38 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 10:41:38 2011 -0800"
      },
      "message": "Instead of not feeding the AudioTrack any data after EOS, play silence instead.\n\nChange-Id: I9aa797cf5bb58eefed51d732f4e5d09450551158\nrelated-to-bug: 3347428\n"
    },
    {
      "commit": "0b967b923f7f608b2faa1820167a4f262a2f0720",
      "tree": "a1ab8f69a22fe935ecbfe924dc04ee7b41048e63",
      "parents": [
        "b656f3592332cebfad8944e8692003cf3688d586"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 10:14:38 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 10:14:38 2011 -0800"
      },
      "message": "Linux sockets suck, closing a socket descriptor does not abort pending recv/send calls.\n\nChange-Id: Id53e7831761619f72ddc61f63571230011c93f16\nrelated-to-bug: 3362836\n"
    },
    {
      "commit": "80458176c35e87358bd8de677e7b32e0af4f8d13",
      "tree": "43e400b26ad1fa743924b91adfcbbeb144c3873d",
      "parents": [
        "aa2343eb886835e6cbb80b6f042f1f8a8a6eb5ca",
        "a0c51bbd0ea4c0266b12c9ffa450ccc297160b19"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 16:22:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 16:22:07 2011 -0800"
      },
      "message": "am 9392c41b: (-s ours) am df836892: (-s ours) am 239fd805: Merge \"fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\" into gingerbread\n\n* commit \u00279392c41b99cb136d6c2a058f6bc3ffb83daf5a46\u0027:\n  fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\n"
    },
    {
      "commit": "aa2343eb886835e6cbb80b6f042f1f8a8a6eb5ca",
      "tree": "43e400b26ad1fa743924b91adfcbbeb144c3873d",
      "parents": [
        "e0c2d1574276e7d863d2f600e15f5e837828fd4d",
        "287c34497550ff3f27a5fa3aa15c0049081056d3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 25 16:20:56 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 16:20:56 2011 -0800"
      },
      "message": "am c80daa1b: am f10d9404: Merge \"StagefrightMediaScanner: Close metadata retriever after we are done scanning\" into honeycomb\n\n* commit \u0027c80daa1b05b8f1d2873df23821ae2c5344e76fb8\u0027:\n  StagefrightMediaScanner: Close metadata retriever after we are done scanning\n"
    },
    {
      "commit": "e0c2d1574276e7d863d2f600e15f5e837828fd4d",
      "tree": "ee6ce2cc23b70da11a0b53f705af5e312e63d05b",
      "parents": [
        "f2c71496494409aba6e770a17c0488e25380428e",
        "5895b78183840f3d56a6e50af26a4b9f778a5b14"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 25 16:20:34 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 16:20:34 2011 -0800"
      },
      "message": "am 45800cf9: am 3115dad3: Merge \"Report errors to applications if AudioRecord-\u003estart() fails\" into honeycomb\n\n* commit \u002745800cf939d716a6d6435872f5f876b2cfd2689d\u0027:\n  Report errors to applications if AudioRecord-\u003estart() fails\n"
    },
    {
      "commit": "27c1ad15ba787d58ea7b70e4bd3b4e34ec0d646d",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "a99efc49f3b115b9f58b809b372c50df82a30599",
        "32c8335c6b6eb87a88e9193db1a5aab29175d043"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 25 16:16:32 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 16:16:32 2011 -0800"
      },
      "message": "am 13d1cb56: (-s ours) Merge \"Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge\" into gingerbread\n\n* commit \u002713d1cb56dfdfc89888de6a0389b0fe6cf7e36c27\u0027:\n  Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge\n"
    },
    {
      "commit": "a0c51bbd0ea4c0266b12c9ffa450ccc297160b19",
      "tree": "97f8e7a520a1ccae5a4e97e71a50a2a131db0ce1",
      "parents": [
        "287c34497550ff3f27a5fa3aa15c0049081056d3",
        "1a082f3061c2a444ac6602f321aa334589167f07"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 16:04:48 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 16:04:48 2011 -0800"
      },
      "message": "am df836892: (-s ours) am 239fd805: Merge \"fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\" into gingerbread\n\n* commit \u0027df8368925acd4593a309e06548d7f900bf8d94df\u0027:\n  fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\n"
    },
    {
      "commit": "287c34497550ff3f27a5fa3aa15c0049081056d3",
      "tree": "97f8e7a520a1ccae5a4e97e71a50a2a131db0ce1",
      "parents": [
        "5895b78183840f3d56a6e50af26a4b9f778a5b14",
        "b656f3592332cebfad8944e8692003cf3688d586"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 25 15:48:06 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 15:48:06 2011 -0800"
      },
      "message": "am f10d9404: Merge \"StagefrightMediaScanner: Close metadata retriever after we are done scanning\" into honeycomb\n\n* commit \u0027f10d940413000732f1cd35bcb113c41019c7e3b7\u0027:\n  StagefrightMediaScanner: Close metadata retriever after we are done scanning\n"
    },
    {
      "commit": "b656f3592332cebfad8944e8692003cf3688d586",
      "tree": "aaea72bcd5f1283c6a1b7aba0e08a8644ec2160c",
      "parents": [
        "eaae38445a340c4857c1c5569475879a728e63b7",
        "0a095d09464ba18e288a3f529410af0f1257ac2a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 25 15:46:25 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 25 15:46:25 2011 -0800"
      },
      "message": "Merge \"StagefrightMediaScanner: Close metadata retriever after we are done scanning\" into honeycomb"
    },
    {
      "commit": "5895b78183840f3d56a6e50af26a4b9f778a5b14",
      "tree": "31e2137478b262747aa71e84bfa8b632f96135ad",
      "parents": [
        "47fac46eeb5f522fc964bcaadf27512e29d691fb",
        "eaae38445a340c4857c1c5569475879a728e63b7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 25 15:33:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 15:33:27 2011 -0800"
      },
      "message": "am 3115dad3: Merge \"Report errors to applications if AudioRecord-\u003estart() fails\" into honeycomb\n\n* commit \u00273115dad3fc8493ff510b9f6a46b18d951bf5c162\u0027:\n  Report errors to applications if AudioRecord-\u003estart() fails\n"
    },
    {
      "commit": "eaae38445a340c4857c1c5569475879a728e63b7",
      "tree": "17e8fcf56c9c8d215cd5ba0149f21d63d4576843",
      "parents": [
        "4feffd1a8d95cf3843c06a37160580d30d421d8e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 25 12:37:43 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 25 15:30:34 2011 -0800"
      },
      "message": "Report errors to applications if AudioRecord-\u003estart() fails\n\nbug - 3385198\n\nChange-Id: I86ac8071eb28a538b333e102192193d1b9eda5eb\n"
    },
    {
      "commit": "0a095d09464ba18e288a3f529410af0f1257ac2a",
      "tree": "1c3810dbf07e83724c4d11cb012dd664669a8623",
      "parents": [
        "4feffd1a8d95cf3843c06a37160580d30d421d8e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 25 15:20:04 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 25 15:20:04 2011 -0800"
      },
      "message": "StagefrightMediaScanner: Close metadata retriever after we are done scanning\n\nThis prevents the mediaserver from leaking a file descriptor after\nthe media scanner runs\n\nBUG: 3373546\n\nChange-Id: I82a8bae82306de3da56a5c7da5b03ecf106a4efc\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f2c71496494409aba6e770a17c0488e25380428e",
      "tree": "268cf01651f899b2d626d0e7dfecb20c6133629b",
      "parents": [
        "b29a24c534ca753ae9923bf56943e3a75e82391e",
        "df489b929115ea93a0cf689830fe44400ce3c00f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 25 15:06:20 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 25 15:06:20 2011 -0800"
      },
      "message": "Merge \"Bug 3117154\""
    },
    {
      "commit": "1a082f3061c2a444ac6602f321aa334589167f07",
      "tree": "d7c810889e7658ca0a29d00c0410645e4dea40cf",
      "parents": [
        "958c063ed2b9e255e4b4ffc5c7d5f9939da95c36",
        "b1d099197a9385f3afc9411da32a341546991d85"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 14:46:40 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 14:46:40 2011 -0800"
      },
      "message": "am 239fd805: Merge \"fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\" into gingerbread\n\n* commit \u0027239fd805ef7c0e4116b0a89e20caaf287e91f017\u0027:\n  fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\n"
    },
    {
      "commit": "b1d099197a9385f3afc9411da32a341546991d85",
      "tree": "0ca322a21353cffa9237bad07e9b09f366672c38",
      "parents": [
        "47f44fb9b85ac555e5b84b2f5ca8536a85659c3e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 18 15:51:30 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 14:19:13 2011 -0800"
      },
      "message": "fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\n\nGenerally we never want to lock a buffer for write access if it is at\nthe \"head\" on the surfaceflinger side. The only exception (1) is when\nthe buffer is not currently in use AND there is at least one queued\nbuffer -- in which case, SurfaceFlinger will never use said buffer\nanymore, because on the next composition around, it will be able to\nretire the first queued buffer.\n\nThe logic above relies on SurfaceFlinger always retiring\nand locking a buffer before composition -- unfortunately this\ndidn\u0027t happen during a screenshot.\n\nThis could leave us in a situation where a buffer is locked by the\napplication for write, and used by SurfaceFlinger for texturing,\ncausing a hang.\n\nHere, we fix this issue by never assuming the exception (1), it was\nintended as an optimization allowing ANativeWindow::lockBuffer() to\nreturn sooner and was justified when most of SF composition was\ndone in software. The actual buffer locking is now ensured by\ngralloc. We could have handled screenshots in a similar way to\na regular composition, but it could have caused glitches on screen,\nessentially, taking a screenshot could cause to skip a frame.\n\nnow that we removed the notion of a \"inUse\" buffer in surfaceflinger\na lot of code can be simplified / removed.\n\nnoteworthy, the whole concept of \"unlockClient\" wrt. \"compositionComplete\"\nis also gone.\n"
    },
    {
      "commit": "a99efc49f3b115b9f58b809b372c50df82a30599",
      "tree": "96dcc816650047f9bd54ed5c4dd57b2564997db4",
      "parents": [
        "4feffd1a8d95cf3843c06a37160580d30d421d8e",
        "288fb7e5bd7060cbe9b737500975754c9312e2db"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 25 12:51:41 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 12:51:41 2011 -0800"
      },
      "message": "am ba77a3f9: (-s ours) Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831\n\n* commit \u0027ba77a3f9cb1d68b2ed4813aaae856444578e3a75\u0027:\n  Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831\n"
    },
    {
      "commit": "b29a24c534ca753ae9923bf56943e3a75e82391e",
      "tree": "876d09167c9cc295378fffd44d150035b390276d",
      "parents": [
        "75c4128e01376b271ff35362c34e06c20abc29aa",
        "47fac46eeb5f522fc964bcaadf27512e29d691fb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 25 11:03:39 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 11:03:39 2011 -0800"
      },
      "message": "am 8952df72: am 4b440268: am c929677e: Merge \"Increase the number of useful bits in the spectrum.\" into gingerbread\n\n* commit \u00278952df72402d8edbc60a0285f0dc7e8fce29a96f\u0027:\n  Increase the number of useful bits in the spectrum.\n"
    },
    {
      "commit": "47fac46eeb5f522fc964bcaadf27512e29d691fb",
      "tree": "e8f31b4ad920d3d73cdd2982caffbbf08f1a56c7",
      "parents": [
        "9099343896ff1a1f2444cba372aaab4a0dbb4818",
        "958c063ed2b9e255e4b4ffc5c7d5f9939da95c36"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 25 10:58:56 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 10:58:56 2011 -0800"
      },
      "message": "am 4b440268: am c929677e: Merge \"Increase the number of useful bits in the spectrum.\" into gingerbread\n\n* commit \u00274b44026879723d924ddc306ea1e330a9e87c3a1c\u0027:\n  Increase the number of useful bits in the spectrum.\n"
    },
    {
      "commit": "75c4128e01376b271ff35362c34e06c20abc29aa",
      "tree": "23f38bfe3176b1ffe1ad1aea278fa75221db4695",
      "parents": [
        "4e38fa31abc95e606865e693b1be6180616a4be8",
        "9099343896ff1a1f2444cba372aaab4a0dbb4818"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 25 10:56:38 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 10:56:38 2011 -0800"
      },
      "message": "am a79ec961: (-s ours) am ca1cf59f: (-s ours) am efebdf4b: DO NOT MERGE: Support non-multiple-of-16 dimensions in MPEG4/H.263 software decoder\n\n* commit \u0027a79ec961af59ad754cc338a1d3579f9940246b6f\u0027:\n  DO NOT MERGE: Support non-multiple-of-16 dimensions in MPEG4/H.263 software decoder\n"
    },
    {
      "commit": "df489b929115ea93a0cf689830fe44400ce3c00f",
      "tree": "e34b5e622da00e3f324d44a0ca3b17022d2fcb27",
      "parents": [
        "59556c4909a2b681791f2305bf48b5160edd0ba2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 25 10:53:40 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 25 10:55:35 2011 -0800"
      },
      "message": "Bug 3117154\n\nThe previous default audible behavior was actually NONE (dry), despite\nthe default value of MEDIUMROOM.  Corrected default value to match the\ndefault behavior.\n\nChange-Id: Iadb0d41629a383fd52f03e8a21ba4b74ea24401c\n"
    },
    {
      "commit": "9099343896ff1a1f2444cba372aaab4a0dbb4818",
      "tree": "967bda0cdbd343c683630d676a2a8ac2f1fc54de",
      "parents": [
        "eaf6ab4dcee0c65d06d58e0a3e6f095477a5885c",
        "05adea42e17b0af3b90e51945f800aa26a2d0240"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 25 10:53:46 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 10:53:46 2011 -0800"
      },
      "message": "am ca1cf59f: (-s ours) am efebdf4b: DO NOT MERGE: Support non-multiple-of-16 dimensions in MPEG4/H.263 software decoder\n\n* commit \u0027ca1cf59f495dacb132f2a83cefad41d51141a699\u0027:\n  DO NOT MERGE: Support non-multiple-of-16 dimensions in MPEG4/H.263 software decoder\n"
    },
    {
      "commit": "958c063ed2b9e255e4b4ffc5c7d5f9939da95c36",
      "tree": "394bae7c9db45fd43e2eefe52318f6c53fc12ce3",
      "parents": [
        "05adea42e17b0af3b90e51945f800aa26a2d0240",
        "47f44fb9b85ac555e5b84b2f5ca8536a85659c3e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 25 10:11:09 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 10:11:09 2011 -0800"
      },
      "message": "am c929677e: Merge \"Increase the number of useful bits in the spectrum.\" into gingerbread\n\n* commit \u0027c929677e017759047d94599faa1b80ebe278fefb\u0027:\n  Increase the number of useful bits in the spectrum.\n"
    },
    {
      "commit": "4e38fa31abc95e606865e693b1be6180616a4be8",
      "tree": "23f38bfe3176b1ffe1ad1aea278fa75221db4695",
      "parents": [
        "59556c4909a2b681791f2305bf48b5160edd0ba2",
        "61dca6702ce50d937fc764c55bb0842b40dcd0e4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jan 25 10:10:24 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 25 10:10:24 2011 -0800"
      },
      "message": "Merge \"Bug 3376700 Add support in APM for stream-specific volume curves\""
    }
  ],
  "next": "47f44fb9b85ac555e5b84b2f5ca8536a85659c3e"
}
